/*! For license information please see closable.5cead650.js.LICENSE.txt */ (()=>{var U={33:(U,F,Q)=>{"use strict";var B=Q(20704);U.exports=B&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},244:(U,F,Q)=>{"use strict";var B=Q(60471);function R(U){var F="https://react.dev/errors/"+U;if(1{"use strict";U.exports=function(U){return null===U||void 0===U}},465:U=>{"use strict";U.exports=ReferenceError},498:(U,F,Q)=>{"use strict";var B=Array.prototype.slice,R=Q(60718),V=Object.keys,n=V?function(U){return V(U)}:Q(78602),l=Object.keys;n.shim=function(){if(Object.keys){var U=function(){var U=Object.keys(arguments);return U&&U.length===arguments.length}(1,2);U||(Object.keys=function(U){return R(U)?l(B.call(U)):l(U)})}else Object.keys=n;return Object.keys||n},U.exports=n},880:(U,F,Q)=>{"use strict";var B="undefined"!==typeof Symbol&&Symbol,R=Q(76690);U.exports=function(){return"function"===typeof B&&("function"===typeof Symbol&&("symbol"===typeof B("foo")&&("symbol"===typeof Symbol("bar")&&R())))}},1035:(U,F)=>{"use strict";var Q=Symbol.for("react.transitional.element"),B=Symbol.for("react.portal"),R=Symbol.for("react.fragment"),V=Symbol.for("react.strict_mode"),n=Symbol.for("react.profiler");Symbol.for("react.provider");var l=Symbol.for("react.consumer"),d=Symbol.for("react.context"),J=Symbol.for("react.forward_ref"),N=Symbol.for("react.suspense"),Z=Symbol.for("react.suspense_list"),W=Symbol.for("react.memo"),S=Symbol.for("react.lazy"),E=Symbol.for("react.view_transition"),k=Symbol.for("react.client.reference");function t(U){if("object"===typeof U&&null!==U){var F=U.$$typeof;switch(F){case Q:switch(U=U.type){case R:case n:case V:case N:case Z:case E:return U;default:switch(U=U&&U.$$typeof){case d:case J:case S:case W:case l:return U;default:return F}}case B:return F}}}F.vM=J,F.lD=W},1276:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>R});var B=Q(26899),R=(Q(65320),Q(33048),Q(60471),B.A.bind(null));["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"].forEach(function(U){R[U]=R(U)})},1360:(U,F,Q)=>{"use strict";var B=Q(33784),R=Q(29546);function V(U){this.then=function(F){return"function"!==typeof F?this:new B(function(Q,B){R(function(){try{Q(F(U))}catch(R){B(R)}})})}}U.exports=B,V.prototype=B.prototype;var n=new V(!0),l=new V(!1),d=new V(null),J=new V(void 0),N=new V(0),Z=new V("");B.resolve=function(U){if(U instanceof B)return U;if(null===U)return d;if(void 0===U)return J;if(!0===U)return n;if(!1===U)return l;if(0===U)return N;if(""===U)return Z;if("object"===typeof U||"function"===typeof U)try{var F=U.then;if("function"===typeof F)return new B(F.bind(U))}catch(Q){return new B(function(U,F){F(Q)})}return new V(U)},B.all=function(U){var F=Array.prototype.slice.call(U);return new B(function(U,Q){if(0===F.length)return U([]);var B=F.length;function R(V,n){try{if(n&&("object"===typeof n||"function"===typeof n)){var l=n.then;if("function"===typeof l)return void l.call(n,function(U){R(V,U)},Q)}F[V]=n,0===--B&&U(F)}catch(d){Q(d)}}for(var V=0;V{"use strict";U.exports=Math.abs},2280:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>B});const B=Q(40544).A},2349:(U,F,Q)=>{"use strict";var B=Q(90139),R=Q(15137),V=Q(89263),n=B(B.bind);U.exports=function(U,F){return R(U),void 0===F?U:V?n(U,F):function(){return U.apply(F,arguments)}}},2428:U=>{"use strict";var F="object"==typeof document&&document.all;U.exports="undefined"==typeof F&&void 0!==F?function(U){return"function"==typeof U||U===F}:function(U){return"function"==typeof U}},2784:(U,F,Q)=>{"use strict";var B=Q(42433),R=Q(95362),V=Q(79569),n=Object,l=B("".split);U.exports=R(function(){return!n("z").propertyIsEnumerable(0)})?function(U){return"String"===V(U)?l(U,""):n(U)}:n},2969:(U,F,Q)=>{"use strict";var B=Q(9326),R=function(){return!!B};R.hasArrayLengthDefineBug=function(){if(!B)return null;try{return 1!==B([],"length",{value:1}).length}catch(U){return!0}},U.exports=R},3118:(U,F,Q)=>{"use strict";Q(81452)("observable")},3230:U=>{"use strict";var F=Math.ceil,Q=Math.floor;U.exports=Math.trunc||function(U){var B=+U;return(B>0?Q:F)(B)}},3431:(U,F,Q)=>{"use strict";function B(U){return B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(U){return typeof U}:function(U){return U&&"function"==typeof Symbol&&U.constructor===Symbol&&U!==Symbol.prototype?"symbol":typeof U},B(U)}function R(U,F){for(var Q=0;Q1?Q-1:0),R=1;R1?Q-1:0),R=1;R1?Q-1:0),R=1;R1?Q-1:0),R=1;R{"use strict";Q.d(F,{A:()=>B});const B=function(U){return"string"===typeof U}},3896:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>n});var B=Q(43500),R=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,V=new RegExp(R.source,"g");function n(U,F){var Q,n,l,d=R.lastIndex=V.lastIndex=0,J=-1,N=[],Z=[];for(U+="",F+="";(Q=R.exec(U))&&(n=V.exec(F));)(l=n.index)>d&&(l=F.slice(d,l),N[J]?N[J]+=l:N[++J]=l),(Q=Q[0])===(n=n[0])?N[J]?N[J]+=n:N[++J]=n:(N[++J]=null,Z.push({i:J,x:(0,B.A)(Q,n)})),d=V.lastIndex;return d{"use strict";var F=Object.getOwnPropertySymbols,Q=Object.prototype.hasOwnProperty,B=Object.prototype.propertyIsEnumerable;U.exports=function(){try{if(!Object.assign)return!1;var U=new String("abc");if(U[5]="de","5"===Object.getOwnPropertyNames(U)[0])return!1;for(var F={},Q=0;Q<10;Q++)F["_"+String.fromCharCode(Q)]=Q;if("0123456789"!==Object.getOwnPropertyNames(F).map(function(U){return F[U]}).join(""))return!1;var B={};return"abcdefghijklmnopqrst".split("").forEach(function(U){B[U]=U}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},B)).join("")}catch(R){return!1}}()?Object.assign:function(U,R){for(var V,n,l=function(U){if(null===U||void 0===U)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(U)}(U),d=1;d{"use strict";var B=Q(96714);F.f=B},4920:U=>{"use strict";U.exports=EvalError},5112:(U,F,Q)=>{"use strict";Q.d(F,{C:()=>Z,E:()=>D,T:()=>S,a:()=>t,c:()=>e,h:()=>a,u:()=>E,w:()=>W});var B=Q(60471),R=Q(42895),V=Q(68102),n=function(U){var F=new WeakMap;return function(Q){if(F.has(Q))return F.get(Q);var B=U(Q);return F.set(Q,B),B}},l=Q(75190),d=Q(65320),J=Q(33048),N=B.createContext("undefined"!==typeof HTMLElement?(0,R.A)({key:"css"}):null),Z=N.Provider,W=function(U){return(0,B.forwardRef)(function(F,Q){var R=(0,B.useContext)(N);return U(F,R,Q)})},S=B.createContext({}),E=function(){return B.useContext(S)},k=n(function(U){return n(function(F){return function(U,F){return"function"===typeof F?F(U):(0,V.A)({},U,F)}(U,F)})}),t=function(U){var F=B.useContext(S);return U.theme!==F&&(F=k(F)(U.theme)),B.createElement(S.Provider,{value:F},U.children)};var a={}.hasOwnProperty,T="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",e=function(U,F){var Q={};for(var B in F)a.call(F,B)&&(Q[B]=F[B]);return Q[T]=U,Q},C=function(U){var F=U.cache,Q=U.serialized,B=U.isStringTag;return(0,l.SF)(F,Q,B),(0,J.s)(function(){return(0,l.sk)(F,Q,B)}),null},D=W(function(U,F,Q){var R=U.css;"string"===typeof R&&void 0!==F.registered[R]&&(R=F.registered[R]);var V=U[T],n=[R],J="";"string"===typeof U.className?J=(0,l.Rk)(F.registered,n,U.className):null!=U.className&&(J=U.className+" ");var N=(0,d.J)(n,void 0,B.useContext(S));J+=F.key+"-"+N.name;var Z={};for(var W in U)a.call(U,W)&&"css"!==W&&W!==T&&(Z[W]=U[W]);return Z.className=J,Q&&(Z.ref=Q),B.createElement(B.Fragment,null,B.createElement(C,{cache:F,serialized:N,isStringTag:"string"===typeof V}),B.createElement(V,Z))})},5162:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>T});var B=Q(49257),R=Q(68102),V=Q(60471),n=Q(15714),l=Q(93350),d=Q(19166),J=Q(34315);const N=U=>{let F;return F=U<1?5.11916*U**2:4.5*Math.log(U+1)+2,(F/100).toFixed(2)};var Z=Q(43946),W=Q(16840),S=Q(85656);function E(U){return(0,S.Ay)("MuiPaper",U)}(0,W.A)("MuiPaper",["root","rounded","outlined","elevation","elevation0","elevation1","elevation2","elevation3","elevation4","elevation5","elevation6","elevation7","elevation8","elevation9","elevation10","elevation11","elevation12","elevation13","elevation14","elevation15","elevation16","elevation17","elevation18","elevation19","elevation20","elevation21","elevation22","elevation23","elevation24"]);var k=Q(23759);const t=["className","component","elevation","square","variant"],a=(0,J.Ay)("div",{name:"MuiPaper",slot:"Root",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[F.root,F[Q.variant],!Q.square&&F.rounded,"elevation"===Q.variant&&F[`elevation${Q.elevation}`]]}})(U=>{let{theme:F,ownerState:Q}=U;var B;return(0,R.A)({backgroundColor:(F.vars||F).palette.background.paper,color:(F.vars||F).palette.text.primary,transition:F.transitions.create("box-shadow")},!Q.square&&{borderRadius:F.shape.borderRadius},"outlined"===Q.variant&&{border:`1px solid ${(F.vars||F).palette.divider}`},"elevation"===Q.variant&&(0,R.A)({boxShadow:(F.vars||F).shadows[Q.elevation]},!F.vars&&"dark"===F.palette.mode&&{backgroundImage:`linear-gradient(${(0,d.X4)("#fff",N(Q.elevation))}, ${(0,d.X4)("#fff",N(Q.elevation))})`},F.vars&&{backgroundImage:null==(B=F.vars.overlays)?void 0:B[Q.elevation]}))}),T=V.forwardRef(function(U,F){const Q=(0,Z.b)({props:U,name:"MuiPaper"}),{className:V,component:d="div",elevation:J=1,square:N=!1,variant:W="elevation"}=Q,S=(0,B.A)(Q,t),T=(0,R.A)({},Q,{component:d,elevation:J,square:N,variant:W}),e=(U=>{const{square:F,elevation:Q,variant:B,classes:R}=U,V={root:["root",B,!F&&"rounded","elevation"===B&&`elevation${Q}`]};return(0,l.A)(V,E,R)})(T);return(0,k.jsx)(a,(0,R.A)({as:d,ownerState:T,className:(0,n.A)(e.root,V),ref:F},S))})},5275:(U,F,Q)=>{"use strict";function B(U,F){const Q=this;if(Q.vars&&"function"===typeof Q.getColorSchemeSelector){const B=Q.getColorSchemeSelector(U).replace(/(\[[^\]]+\])/,"*:where($1)");return{[B]:F}}return Q.palette.mode===U?F:{}}Q.d(F,{A:()=>B})},5379:function(U,F,Q){!function(U){"use strict";var F=function(){try{if(U.URLSearchParams&&"bar"===new U.URLSearchParams("foo=bar").get("foo"))return U.URLSearchParams}catch(F){}return null}(),Q=F&&"a=1"===new F({a:1}).toString(),B=F&&"+"===new F("s=%2B").get("s"),R=F&&"size"in F.prototype,V="__URLSearchParams__",n=!F||function(){var U=new F;return U.append("s"," &"),"s=+%26"===U.toString()}(),l=W.prototype,d=!(!U.Symbol||!U.Symbol.iterator);if(!(F&&Q&&B&&n&&R)){l.append=function(U,F){a(this[V],U,F)},l.delete=function(U){delete this[V][U]},l.get=function(U){var F=this[V];return this.has(U)?F[U][0]:null},l.getAll=function(U){var F=this[V];return this.has(U)?F[U].slice(0):[]},l.has=function(U){return e(this[V],U)},l.set=function(U,F){this[V][U]=[""+F]},l.toString=function(){var U,F,Q,B,R=this[V],n=[];for(F in R)for(Q=S(F),U=0,B=R[F];U{"use strict";Q.d(F,{uV:()=>W,s_:()=>o});var B=Q(54206),R=Q(53281);function V(U){return((U=Math.exp(U))+1/U)/2}const n=function U(F,Q,B){function R(U,R){var n,l,d=U[0],J=U[1],N=U[2],Z=R[0],W=R[1],S=R[2],E=Z-d,k=W-J,t=E*E+k*k;if(t<1e-12)l=Math.log(S/N)/F,n=function(U){return[d+U*E,J+U*k,N*Math.exp(F*U*l)]};else{var a=Math.sqrt(t),T=(S*S-N*N+B*t)/(2*N*Q*a),e=(S*S-N*N-B*t)/(2*S*Q*a),C=Math.log(Math.sqrt(T*T+1)-T),D=Math.log(Math.sqrt(e*e+1)-e);l=(D-C)/F,n=function(U){var B=U*l,R=V(C),n=N/(Q*a)*(R*function(U){return((U=Math.exp(2*U))-1)/(U+1)}(F*B+C)-function(U){return((U=Math.exp(U))-1/U)/2}(C));return[d+n*E,J+n*k,N*R/V(F*B+C)]}}return n.duration=1e3*l*F/Math.SQRT2,n}return R.rho=function(F){var Q=Math.max(.001,+F),B=Q*Q;return U(Q,B,B*B)},R}(Math.SQRT2,2,4);var l=Q(85154),d=Q(11188),J=Q(54929);const N=U=>()=>U;function Z(U,F){let{sourceEvent:Q,target:B,transform:R,dispatch:V}=F;Object.defineProperties(this,{type:{value:U,enumerable:!0,configurable:!0},sourceEvent:{value:Q,enumerable:!0,configurable:!0},target:{value:B,enumerable:!0,configurable:!0},transform:{value:R,enumerable:!0,configurable:!0},_:{value:V}})}function W(U,F,Q){this.k=U,this.x=F,this.y=Q}W.prototype={constructor:W,scale:function(U){return 1===U?this:new W(this.k*U,this.x,this.y)},translate:function(U,F){return 0===U&0===F?this:new W(this.k,this.x+this.k*U,this.y+this.k*F)},apply:function(U){return[U[0]*this.k+this.x,U[1]*this.k+this.y]},applyX:function(U){return U*this.k+this.x},applyY:function(U){return U*this.k+this.y},invert:function(U){return[(U[0]-this.x)/this.k,(U[1]-this.y)/this.k]},invertX:function(U){return(U-this.x)/this.k},invertY:function(U){return(U-this.y)/this.k},rescaleX:function(U){return U.copy().domain(U.range().map(this.invertX,this).map(U.invert,U))},rescaleY:function(U){return U.copy().domain(U.range().map(this.invertY,this).map(U.invert,U))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var S=new W(1,0,0);function E(U){U.stopImmediatePropagation()}function k(U){U.preventDefault(),U.stopImmediatePropagation()}function t(U){return(!U.ctrlKey||"wheel"===U.type)&&!U.button}function a(){var U=this;return U instanceof SVGElement?(U=U.ownerSVGElement||U).hasAttribute("viewBox")?[[(U=U.viewBox.baseVal).x,U.y],[U.x+U.width,U.y+U.height]]:[[0,0],[U.width.baseVal.value,U.height.baseVal.value]]:[[0,0],[U.clientWidth,U.clientHeight]]}function T(){return this.__zoom||S}function e(U){return-U.deltaY*(1===U.deltaMode?.05:U.deltaMode?1:.002)*(U.ctrlKey?10:1)}function C(){return navigator.maxTouchPoints||"ontouchstart"in this}function D(U,F,Q){var B=U.invertX(F[0][0])-Q[0][0],R=U.invertX(F[1][0])-Q[1][0],V=U.invertY(F[0][1])-Q[0][1],n=U.invertY(F[1][1])-Q[1][1];return U.translate(R>B?(B+R)/2:Math.min(0,B)||Math.max(0,R),n>V?(V+n)/2:Math.min(0,V)||Math.max(0,n))}function o(){var U,F,Q,V=t,o=a,p=D,h=e,c=C,r=[0,1/0],m=[[-1/0,-1/0],[1/0,1/0]],M=250,i=n,b=(0,B.A)("start","zoom","end"),v=0,G=10;function s(U){U.property("__zoom",T).on("wheel.zoom",H,{passive:!1}).on("mousedown.zoom",x).on("dblclick.zoom",u).filter(c).on("touchstart.zoom",w).on("touchmove.zoom",j).on("touchend.zoom touchcancel.zoom",I).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function X(U,F){return(F=Math.max(r[0],Math.min(r[1],F)))===U.k?U:new W(F,U.x,U.y)}function Y(U,F,Q){var B=F[0]-Q[0]*U.k,R=F[1]-Q[1]*U.k;return B===U.x&&R===U.y?U:new W(U.k,B,R)}function y(U){return[(+U[0][0]+ +U[1][0])/2,(+U[0][1]+ +U[1][1])/2]}function z(U,F,Q,B){U.on("start.zoom",function(){O(this,arguments).event(B).start()}).on("interrupt.zoom end.zoom",function(){O(this,arguments).event(B).end()}).tween("zoom",function(){var U=this,R=arguments,V=O(U,R).event(B),n=o.apply(U,R),l=null==Q?y(n):"function"===typeof Q?Q.apply(U,R):Q,d=Math.max(n[1][0]-n[0][0],n[1][1]-n[0][1]),J=U.__zoom,N="function"===typeof F?F.apply(U,R):F,Z=i(J.invert(l).concat(d/J.k),N.invert(l).concat(d/N.k));return function(U){if(1===U)U=N;else{var F=Z(U),Q=d/F[2];U=new W(Q,l[0]-F[0]*Q,l[1]-F[1]*Q)}V.zoom(null,U)}})}function O(U,F,Q){return!Q&&U.__zooming||new L(U,F)}function L(U,F){this.that=U,this.args=F,this.active=0,this.sourceEvent=null,this.extent=o.apply(U,F),this.taps=0}function H(U){for(var F=arguments.length,Q=new Array(F>1?F-1:0),B=1;B1?F-1:0),n=1;nv}Z.event(U).zoom("mouse",p(Y(Z.that.__zoom,Z.mouse[0]=(0,d.A)(U,N),Z.mouse[1]),Z.extent,m))},!0).on("mouseup.zoom",function(U){W.on("mousemove.zoom mouseup.zoom",null),(0,R.y)(U.view,Z.moved),k(U),Z.event(U).end()},!0),S=(0,d.A)(U,N),t=U.clientX,a=U.clientY;(0,R.A)(U.view),E(U),Z.mouse=[S,this.__zoom.invert(S)],(0,J.G)(this),Z.start()}}function u(U){for(var F=arguments.length,Q=new Array(F>1?F-1:0),B=1;B0?(0,l.A)(this).transition().duration(M).call(z,Z,n,U):(0,l.A)(this).call(s.transform,Z,n,U)}}function w(Q){for(var B=arguments.length,R=new Array(B>1?B-1:0),n=1;n1?F-1:0),B=1;B1?B-1:0),V=1;V{"use strict";var B=Q(11810);function R(){}var V=null,n={};function l(U){if("object"!==typeof this)throw new TypeError("Promises must be constructed via new");if("function"!==typeof U)throw new TypeError("Promise constructor's argument is not a function");this._x=0,this._y=0,this._z=null,this._A=null,U!==R&&S(U,this)}function d(U,F){for(;3===U._y;)U=U._z;if(l._B&&l._B(U),0===U._y)return 0===U._x?(U._x=1,void(U._A=F)):1===U._x?(U._x=2,void(U._A=[U._A,F])):void U._A.push(F);!function(U,F){B(function(){var Q=1===U._y?F.onFulfilled:F.onRejected;if(null!==Q){var B=function(U,F){try{return U(F)}catch(Q){return V=Q,n}}(Q,U._z);B===n?N(F.promise,V):J(F.promise,B)}else 1===U._y?J(F.promise,U._z):N(F.promise,U._z)})}(U,F)}function J(U,F){if(F===U)return N(U,new TypeError("A promise cannot be resolved with itself."));if(F&&("object"===typeof F||"function"===typeof F)){var Q=function(U){try{return U.then}catch(F){return V=F,n}}(F);if(Q===n)return N(U,V);if(Q===U.then&&F instanceof l)return U._y=3,U._z=F,void Z(U);if("function"===typeof Q)return void S(Q.bind(F),U)}U._y=1,U._z=F,Z(U)}function N(U,F){U._y=2,U._z=F,l._C&&l._C(U,F),Z(U)}function Z(U){if(1===U._x&&(d(U,U._A),U._A=null),2===U._x){for(var F=0;F{"use strict";Q.d(F,{A:()=>B});const B=Q(24300).A},6303:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>S});var B=Q(68102),R=Q(49257),V=Q(26904),n=Q(23793);const l={borderRadius:4};var d=Q(99255);var J=Q(17176),N=Q(27213),Z=Q(5275);const W=["breakpoints","palette","spacing","shape"];const S=function(){let U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{breakpoints:F={},palette:Q={},spacing:S,shape:E={}}=U,k=(0,R.A)(U,W),t=(0,n.A)(F),a=function(){let U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:8;if(U.mui)return U;const F=(0,d.LX)({spacing:U}),Q=function(){for(var U=arguments.length,Q=new Array(U),B=0;B{const Q=F(U);return"number"===typeof Q?`${Q}px`:Q}).join(" ")};return Q.mui=!0,Q}(S);let T=(0,V.A)({breakpoints:t,direction:"ltr",components:{},palette:(0,B.A)({mode:"light"},Q),spacing:a,shape:(0,B.A)({},l,E)},k);T.applyStyles=Z.A;for(var e=arguments.length,C=new Array(e>1?e-1:0),D=1;D(0,V.A)(U,F),T),T.unstable_sxConfig=(0,B.A)({},N.A,null==k?void 0:k.unstable_sxConfig),T.unstable_sx=function(U){return(0,J.A)({sx:U,theme:this})},T}},7203:(U,F,Q)=>{"use strict";var B=Q(16280),R=Math.max,V=Math.min;U.exports=function(U,F){var Q=B(U);return Q<0?R(Q+F,0):V(Q,F)}},7257:(U,F,Q)=>{"use strict";U.exports=Q(79980)},7265:(U,F,Q)=>{"use strict";Object.defineProperty(F,"__esModule",{value:!0});var B=Q(40453),R=Q(18821),V=Q(58155),n=Q(39805),l=Q(40989),d=Q(85707),J=Q(61790),N=Q(10650);function Z(U){return U&&"object"===typeof U&&"default"in U?U:{default:U}}var W,S,E,k=Z(B),t=Z(R),a=Z(V),T=Z(n),e=Z(l),C=Z(d),D=Z(J);function o(){}function p(){p.init.call(this)}function h(U){return void 0===U._maxListeners?p.defaultMaxListeners:U._maxListeners}function c(U,F,Q,B){var R,V,n;if("function"!==typeof Q)throw new TypeError('"listener" argument must be a function');if((V=U._events)?(V.newListener&&(U.emit("newListener",F,Q.listener?Q.listener:Q),V=U._events),n=V[F]):(V=U._events=new o,U._eventsCount=0),n){if("function"===typeof n?n=V[F]=B?[Q,n]:[n,Q]:B?n.unshift(Q):n.push(Q),!n.warned&&(R=h(U))&&R>0&&n.length>R){n.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+n.length+" "+F+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=U,l.type=F,l.count=n.length,function(U){"function"===typeof console.warn?console.warn(U):console.log(U)}(l)}}else n=V[F]=Q,++U._eventsCount;return U}function r(U,F,Q){var B=!1;function R(){U.removeListener(F,R),B||(B=!0,Q.apply(U,arguments))}return R.listener=Q,R}function m(U){var F=this._events;if(F){var Q=F[U];if("function"===typeof Q)return 1;if(Q)return Q.length}return 0}function M(U,F){for(var Q=new Array(F);F--;)Q[F]=U[F];return Q}!function(U){U[U.Info=0]="Info",U[U.Convert=1]="Convert",U[U.Layout=2]="Layout",U[U.Clean=3]="Clean",U[U.Aromatize=4]="Aromatize",U[U.Dearomatize=5]="Dearomatize",U[U.CalculateCip=6]="CalculateCip",U[U.Automap=7]="Automap",U[U.Check=8]="Check",U[U.Calculate=9]="Calculate",U[U.GenerateImageAsBase64=10]="GenerateImageAsBase64",U[U.GetInChIKey=11]="GetInChIKey",U[U.ExplicitHydrogens=12]="ExplicitHydrogens",U[U.CalculateMacromoleculeProperties=13]="CalculateMacromoleculeProperties"}(W||(W={})),function(U){U.Info="info",U.Convert="convert",U.Layout="layout",U.Clean="clean",U.Aromatize="aromatize",U.Dearomatize="dearomatize",U.CalculateCip="calculateCip",U.Automap="automap",U.Check="check",U.Calculate="calculate",U.GenerateImageAsBase64="generateImageAsBase64",U.GetInChIKey="getInChIKey",U.ExplicitHydrogens="convert_explicit_hydrogens",U.CalculateMacromoleculeProperties="calculateMacroProperties"}(S||(S={})),function(U){U.Rxn="rxnfile",U.Mol="molfile",U.Smiles="smiles",U.Smarts="smarts",U.CML="cml",U.InChI="inchi",U.InChIAuxInfo="inchi-aux",U.InChIKey="inchi-key",U.Ket="ket",U.CDX="cdx",U.CDXML="cdxml",U.SDF="sdf",U.FASTA="fasta",U.SEQUENCE="sequence",U.SEQUENCE_3_LETTER="peptide-sequence-3-letter",U.IDT="idt",U.AXOLABS="axo-labs",U.HELM="helm",U.BILN="biln",U.RDF="rdf",U.MonomerLibrary="monomer-library"}(E||(E={})),o.prototype=Object.create(null),p.EventEmitter=p,p.usingDomains=!1,p.prototype.domain=void 0,p.prototype._events=void 0,p.prototype._maxListeners=void 0,p.defaultMaxListeners=10,p.init=function(){this.domain=null,p.usingDomains&&undefined.active,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new o,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},p.prototype.setMaxListeners=function(U){if("number"!==typeof U||U<0||isNaN(U))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=U,this},p.prototype.getMaxListeners=function(){return h(this)},p.prototype.emit=function(U){var F,Q,B,R,V,n,l,d="error"===U;if(n=this._events)d=d&&null==n.error;else if(!d)return!1;if(l=this.domain,d){if(F=arguments[1],!l){if(F instanceof Error)throw F;var J=new Error('Uncaught, unspecified "error" event. ('+F+")");throw J.context=F,J}return F||(F=new Error('Uncaught, unspecified "error" event')),F.domainEmitter=this,F.domain=l,F.domainThrown=!1,l.emit("error",F),!1}if(!(Q=n[U]))return!1;var N="function"===typeof Q;switch(B=arguments.length){case 1:!function(U,F,Q){if(F)U.call(Q);else for(var B=U.length,R=M(U,B),V=0;V0;)if(Q[V]===F||Q[V].listener&&Q[V].listener===F){n=Q[V].listener,R=V;break}if(R<0)return this;if(1===Q.length){if(Q[0]=void 0,0===--this._eventsCount)return this._events=new o,this;delete B[U]}else!function(U,F){for(var Q=F,B=Q+1,R=U.length;B0?Reflect.ownKeys(this._events):[]};var i="struct-service-no-render-initialized",b="struct-service-initialized";function v(U,F,Q){var B=void 0===F?null:F,R=function(U,F){var Q=atob(U);if(F){for(var B=new Uint8Array(Q.length),R=0,V=Q.length;R1&&void 0!==arguments[1]?arguments[1]:{outputFormat:"png",backgroundColor:""},B=Q.outputFormat,R=Q.backgroundColor,V=k.default(Q,X);return new Promise(function(Q,n){var l=y(y({},F.getStandardServerOptions(V)),{},{"render-label-mode":F.ketcherId?N.getLabelRenderModeForIndigo(F.ketcherId):void 0,"render-coloring":V["render-coloring"],"render-font-size":V["render-font-size"],"render-font-size-unit":V["render-font-size-unit"],"render-font-size-sub":V["render-font-size-sub"],"render-font-size-sub-unit":V["render-font-size-sub-unit"],"image-resolution":V["image-resolution"],"bond-length-unit":V["bond-length-unit"],"bond-length":V["bond-length"],"render-bond-thickness":V["render-bond-thickness"],"render-bond-thickness-unit":V["render-bond-thickness-unit"],"render-bond-spacing":V["render-bond-spacing"],"render-stereo-bond-width":V["render-stereo-bond-width"],"render-stereo-bond-width-unit":V["render-stereo-bond-width-unit"],"render-stereo-style":V["render-stereo-style"],"render-hash-spacing":V["render-hash-spacing"],"render-hash-spacing-unit":V["render-hash-spacing-unit"],"render-output-sheet-width":V["render-output-sheet-width"],"render-output-sheet-height":V["render-output-sheet-height"]}),d={struct:U,outputFormat:B||"png",backgroundColor:R,options:l},J={type:W.GenerateImageAsBase64,data:d};F.EE.once(S.GenerateImageAsBase64,function(F){var B=F.data;B.inputData===U&&(B.hasError?n(new Error(B.error)):Q(B.payload))}),F.worker.postMessage(J)})}},{key:"toggleExplicitHydrogens",value:function(U,F){var Q=this,B=U.struct,R=z(U.output_format);return new Promise(function(U,V){var n=L(U,V),l={struct:B,format:R,mode:"auto",options:Q.getStandardServerOptions(F)},d={type:W.ExplicitHydrogens,data:l};Q.EE.once(S.ExplicitHydrogens,n),Q.worker.postMessage(d)})}},{key:"calculateMacromoleculeProperties",value:function(U,F){var Q=this,B=U.struct;return new Promise(function(U,R){var V={struct:B,options:y(y({},Q.getStandardServerOptions(F)),{},{upc:null===F||void 0===F?void 0:F.upc,nac:null===F||void 0===F?void 0:F.nac})},n={type:W.CalculateMacromoleculeProperties,data:V};Q.EE.once(S.CalculateMacromoleculeProperties,function(F){var Q=F.data;Q.hasError?R(new Error(Q.error)):U(JSON.parse(Q.payload))}),Q.worker.postMessage(n)})}},{key:"destroy",value:function(){this.worker.terminate(),this.worker.onmessage=null}}]),U}(),x=function(){function U(){T.default(this,U),C.default(this,"mode","standalone")}return e.default(U,[{key:"createStructService",value:function(U){return new H(U)}}]),U}();F.STRUCT_SERVICE_INITIALIZED_EVENT=b,F.STRUCT_SERVICE_NO_RENDER_INITIALIZED_EVENT=i,F.StandaloneStructService=H,F.StandaloneStructServiceProvider=x},7276:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>d});Q(60471);var B=Q(51333),R=Q(44393),V=Q(45859),n=Q(23759);function l(U){const F=(0,B.internal_serializeStyles)(U);return U!==F&&F.styles?(F.styles.match(/^@layer\s+[^{]*$/)||(F.styles=`@layer global{${F.styles}}`),F):U}const d=function(U){let{styles:F,themeId:Q,defaultTheme:B={}}=U;const d=(0,V.A)(B),J=Q&&d[Q]||d;let N="function"===typeof F?F(J):F;return J.modularCssLayers&&(N=Array.isArray(N)?N.map(U=>l("function"===typeof U?U(J):U)):l(N)),(0,n.jsx)(R.A,{styles:N})}},7705:(U,F,Q)=>{"use strict";var B=Q(73396),R=Q(82170),V=Q(65877),n=Q(63719);U.exports=function(U){if(U.length<1||"function"!==typeof U[0])throw new R("a function is required");return n(B,V,U)}},7950:(U,F,Q)=>{"use strict";Q.r(F),Q.d(F,{default:()=>B.A,isPlainObject:()=>B.Q});var B=Q(26904)},8281:(U,F,Q)=>{"use strict";Q.r(F),Q.d(F,{default:()=>B.A,private_createBreakpoints:()=>R.A,unstable_applyStyles:()=>V.A});var B=Q(6303),R=Q(23793),V=Q(5275)},8399:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>N,I:()=>J});var B=Q(68102),R=Q(49257),V=Q(60471),n=Q(23759);const l=["value"],d=V.createContext();const J=()=>{const U=V.useContext(d);return null!=U&&U},N=function(U){let{value:F}=U,Q=(0,R.A)(U,l);return(0,n.jsx)(d.Provider,(0,B.A)({value:null==F||F},Q))}},8406:(U,F,Q)=>{"use strict";var B=Q(58349),R=Q(95362),V=Q(12438);U.exports=!B&&!R(function(){return 7!==Object.defineProperty(V("div"),"a",{get:function(){return 7}}).a})},8422:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>n,E:()=>V});var B=Q(16840),R=Q(85656);function V(U){return(0,R.Ay)("MuiTooltip",U)}const n=(0,B.A)("MuiTooltip",["popper","popperInteractive","popperArrow","popperClose","tooltip","tooltipArrow","touch","tooltipPlacementLeft","tooltipPlacementRight","tooltipPlacementTop","tooltipPlacementBottom","arrow"])},8500:(U,F)=>{"use strict";var Q=F.ValidationError=function(U,F,Q,B,R,V){if(Array.isArray(B)?(this.path=B,this.property=B.reduce(function(U,F){return U+J(F)},"instance")):void 0!==B&&(this.property=B),U&&(this.message=U),Q){var n=Q.$id||Q.id;this.schema=n||Q}void 0!==F&&(this.instance=F),this.name=R,this.argument=V,this.stack=this.toString()};Q.prototype.toString=function(){return this.property+" "+this.message};var B=F.ValidatorResult=function(U,F,Q,B){this.instance=U,this.schema=F,this.options=Q,this.path=B.path,this.propertyPath=B.propertyPath,this.errors=[],this.throwError=Q&&Q.throwError,this.throwFirst=Q&&Q.throwFirst,this.throwAll=Q&&Q.throwAll,this.disableFormat=Q&&!0===Q.disableFormat};function R(U,F){return F+": "+U.toString()+"\n"}function V(U){"function"===typeof Error.captureStackTrace&&Error.captureStackTrace(this,V),this.instance=U.instance,this.schema=U.schema,this.options=U.options,this.errors=U.errors}B.prototype.addError=function(U){var F;if("string"==typeof U)F=new Q(U,this.instance,this.schema,this.path);else{if(!U)throw new Error("Missing error detail");if(!U.message)throw new Error("Missing error message");if(!U.name)throw new Error("Missing validator type");F=new Q(U.message,this.instance,this.schema,this.path,U.name,U.argument)}if(this.errors.push(F),this.throwFirst)throw new V(this);if(this.throwError)throw F;return F},B.prototype.importErrors=function(U){"string"==typeof U||U&&U.validatorType?this.addError(U):U&&U.errors&&(this.errors=this.errors.concat(U.errors))},B.prototype.toString=function(U){return this.errors.map(R).join("")},Object.defineProperty(B.prototype,"valid",{get:function(){return!this.errors.length}}),U.exports.ValidatorResultError=V,V.prototype=new Error,V.prototype.constructor=V,V.prototype.name="Validation Error";var n=F.SchemaError=function U(F,Q){this.message=F,this.schema=Q,Error.call(this,F),"function"===typeof Error.captureStackTrace&&Error.captureStackTrace(this,U)};n.prototype=Object.create(Error.prototype,{constructor:{value:n,enumerable:!1},name:{value:"SchemaError",enumerable:!1}});var l=F.SchemaContext=function(U,F,Q,B,R){this.schema=U,this.options=F,Array.isArray(Q)?(this.path=Q,this.propertyPath=Q.reduce(function(U,F){return U+J(F)},"instance")):this.propertyPath=Q,this.base=B,this.schemas=R};l.prototype.resolve=function(U){return(()=>k(this.base,U))()},l.prototype.makeChild=function(U,F){var Q=void 0===F?this.path:this.path.concat([F]),B=U.$id||U.id;let R=(()=>k(this.base,B||""))();var V=new l(U,this.options,Q,R,Object.create(this.schemas));return B&&!V.schemas[R]&&(V.schemas[R]=U),V};var d=F.FORMAT_REGEXPS={"date-time":/^\d{4}-(?:0[0-9]{1}|1[0-2]{1})-(3[01]|0[1-9]|[12][0-9])[tT ](2[0-4]|[01][0-9]):([0-5][0-9]):(60|[0-5][0-9])(\.\d+)?([zZ]|[+-]([0-5][0-9]):(60|[0-5][0-9]))$/,date:/^\d{4}-(?:0[0-9]{1}|1[0-2]{1})-(3[01]|0[1-9]|[12][0-9])$/,time:/^(2[0-4]|[01][0-9]):([0-5][0-9]):(60|[0-5][0-9])$/,duration:/P(T\d+(H(\d+M(\d+S)?)?|M(\d+S)?|S)|\d+(D|M(\d+D)?|Y(\d+M(\d+D)?)?)(T\d+(H(\d+M(\d+S)?)?|M(\d+S)?|S))?|\d+W)/i,email:/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!\.)){0,61}[a-zA-Z0-9]?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!$)){0,61}[a-zA-Z0-9]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/,"idn-email":/^("(?:[!#-\[\]-\u{10FFFF}]|\\[\t -\u{10FFFF}])*"|[!#-'*+\-/-9=?A-Z\^-\u{10FFFF}](?:\.?[!#-'*+\-/-9=?A-Z\^-\u{10FFFF}])*)@([!#-'*+\-/-9=?A-Z\^-\u{10FFFF}](?:\.?[!#-'*+\-/-9=?A-Z\^-\u{10FFFF}])*|\[[!-Z\^-\u{10FFFF}]*\])$/u,"ip-address":/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,ipv6:/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,uri:/^[a-zA-Z][a-zA-Z0-9+.-]*:[^\s]*$/,"uri-reference":/^(((([A-Za-z][+\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~]|[/?])|\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|([A-Za-z][+\-.0-9A-Za-z]*:?)?)|([A-Za-z][+\-.0-9A-Za-z]*:)?\/((%[0-9A-Fa-f]{2}|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|(\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?)?))#(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|(([A-Za-z][+\-.0-9A-Za-z]*)?%[0-9A-Fa-f]{2}|[!$&-.0-9;=@_~]|[A-Za-z][+\-.0-9A-Za-z]*[!$&-*,;=@_~])(%[0-9A-Fa-f]{2}|[!$&-.0-9;=@-Z_a-z~])*((([/?](%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*)?#|[/?])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*)?|([A-Za-z][+\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~]|[/?])|\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|([A-Za-z][+\-.0-9A-Za-z]*:)?\/((%[0-9A-Fa-f]{2}|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+(:\d*)?|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?:\d*|\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\])?)?|[A-Za-z][+\-.0-9A-Za-z]*:?)?$/,iri:/^[a-zA-Z][a-zA-Z0-9+.-]*:[^\s]*$/,"iri-reference":/^(((([A-Za-z][+\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~-\u{10FFFF}]|[/?])|\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|([A-Za-z][+\-.0-9A-Za-z]*:?)?)|([A-Za-z][+\-.0-9A-Za-z]*:)?\/((%[0-9A-Fa-f]{2}|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~-\u{10FFFF}])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~-\u{10FFFF}])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|(\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~-\u{10FFFF}])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?)?))#(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|(([A-Za-z][+\-.0-9A-Za-z]*)?%[0-9A-Fa-f]{2}|[!$&-.0-9;=@_~-\u{10FFFF}]|[A-Za-z][+\-.0-9A-Za-z]*[!$&-*,;=@_~-\u{10FFFF}])(%[0-9A-Fa-f]{2}|[!$&-.0-9;=@-Z_a-z~-\u{10FFFF}])*((([/?](%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*)?#|[/?])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*)?|([A-Za-z][+\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~-\u{10FFFF}]|[/?])|\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|([A-Za-z][+\-.0-9A-Za-z]*:)?\/((%[0-9A-Fa-f]{2}|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~-\u{10FFFF}])+|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?)(:\d*)?[/?]|[!$&-.0-;=?-Z_a-z~-\u{10FFFF}])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\u{10FFFF}])*|\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~-\u{10FFFF}])+(:\d*)?|(\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?:\d*|\[(([Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~-\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\])?)?|[A-Za-z][+\-.0-9A-Za-z]*:?)?$/u,uuid:/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i,"uri-template":/(%[0-9a-f]{2}|[!#$&(-;=?@\[\]_a-z~]|\{[!#&+,./;=?@|]?(%[0-9a-f]{2}|[0-9_a-z])(\.?(%[0-9a-f]{2}|[0-9_a-z]))*(:[1-9]\d{0,3}|\*)?(,(%[0-9a-f]{2}|[0-9_a-z])(\.?(%[0-9a-f]{2}|[0-9_a-z]))*(:[1-9]\d{0,3}|\*)?)*\})*/iu,"json-pointer":/^(\/([\x00-\x2e0-@\[-}\x7f]|~[01])*)*$/iu,"relative-json-pointer":/^\d+(#|(\/([\x00-\x2e0-@\[-}\x7f]|~[01])*)*)$/iu,hostname:/^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\.?$/,"host-name":/^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\.?$/,"utc-millisec":function(U){return"string"===typeof U&&parseFloat(U)===parseInt(U,10)&&!isNaN(U)},regex:function(U){var F=!0;try{new RegExp(U)}catch(Q){F=!1}return F},style:/[\r\n\t ]*[^\r\n\t ][^:]*:[\r\n\t ]*[^\r\n\t ;]*[\r\n\t ]*;?/,color:/^(#?([0-9A-Fa-f]{3}){1,2}\b|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|(rgb\(\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*\))|(rgb\(\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*\)))$/,phone:/^\+(?:[0-9] ?){6,14}[0-9]$/,alpha:/^[a-zA-Z]+$/,alphanumeric:/^[a-zA-Z0-9]+$/};d.regexp=d.regex,d.pattern=d.regex,d.ipv4=d["ip-address"],F.isFormat=function(U,F,Q){if("string"===typeof U&&void 0!==d[F]){if(d[F]instanceof RegExp)return d[F].test(U);if("function"===typeof d[F])return d[F](U)}else if(Q&&Q.customFormats&&"function"===typeof Q.customFormats[F])return Q.customFormats[F](U);return!0};var J=F.makeSuffix=function(U){return(U=U.toString()).match(/[.\s\[\]]/)||U.match(/^[\d]/)?U.match(/^\d+$/)?"["+U+"]":"["+JSON.stringify(U)+"]":"."+U};function N(U,F,Q,B){"object"===typeof Q?F[B]=S(U[B],Q):-1===U.indexOf(Q)&&F.push(Q)}function Z(U,F,Q){F[Q]=U[Q]}function W(U,F,Q,B){"object"===typeof F[B]&&F[B]&&U[B]?Q[B]=S(U[B],F[B]):Q[B]=F[B]}function S(U,F){var Q=Array.isArray(F),B=Q&&[]||{};return Q?(U=U||[],B=B.concat(U),F.forEach(N.bind(null,U,B))):(U&&"object"===typeof U&&Object.keys(U).forEach(Z.bind(null,U,B)),Object.keys(F).forEach(W.bind(null,U,F,B))),B}function E(U){return"/"+encodeURIComponent(U).replace(/~/g,"%7E")}F.deepCompareStrict=function U(F,Q){if(typeof F!==typeof Q)return!1;if(Array.isArray(F))return!!Array.isArray(Q)&&(F.length===Q.length&&F.every(function(B,R){return U(F[R],Q[R])}));if("object"===typeof F){if(!F||!Q)return F===Q;var B=Object.keys(F),R=Object.keys(Q);return B.length===R.length&&B.every(function(B){return U(F[B],Q[B])})}return F===Q},U.exports.deepMerge=S,F.objectGetPath=function(U,F){for(var Q,B=F.split("/").slice(1);"string"==typeof(Q=B.shift());){var R=decodeURIComponent(Q.replace(/~0/,"~").replace(/~1/g,"/"));if(!(R in U))return;U=U[R]}return U},F.encodePath=function(U){return U.map(E).join("")},F.getDecimalPlaces=function(U){var F=0;if(isNaN(U))return F;"number"!==typeof U&&(U=Number(U));var Q=U.toString().split("e");if(2===Q.length){if("-"!==Q[1][0])return F;F=Number(Q[1].slice(1))}var B=Q[0].split(".");return 2===B.length&&(F+=B[1].length),F},F.isSchema=function(U){return"object"===typeof U&&U||"boolean"===typeof U};var k=F.resolveUrl=function(U,F){const Q=new URL(F,new URL(U,"resolve://"));if("resolve:"===Q.protocol){const{pathname:U,search:F,hash:B}=Q;return U+F+B}return Q.toString()}},8628:(U,F,Q)=>{"use strict";var B=Q(8500);function R(U,F){this.id=U,this.ref=F}U.exports.S=function(U,F){function Q(U,F){if(!F||"object"!=typeof F)return;if(F.$ref){let Q=B.resolveUrl(U,F.$ref);return void(d[Q]=d[Q]?d[Q]+1:0)}var R=F.$id||F.id;let J=B.resolveUrl(U,R);var N=R?J:U;if(N){if(N.indexOf("#")<0&&(N+="#"),l[N]){if(!B.deepCompareStrict(l[N],F))throw new Error("Schema <"+N+"> already exists with different definition");return l[N]}l[N]=F,"#"==N[N.length-1]&&(l[N.substring(0,N.length-1)]=F)}V(N+"/items",Array.isArray(F.items)?F.items:[F.items]),V(N+"/extends",Array.isArray(F.extends)?F.extends:[F.extends]),Q(N+"/additionalItems",F.additionalItems),n(N+"/properties",F.properties),Q(N+"/additionalProperties",F.additionalProperties),n(N+"/definitions",F.definitions),n(N+"/patternProperties",F.patternProperties),n(N+"/dependencies",F.dependencies),V(N+"/disallow",F.disallow),V(N+"/allOf",F.allOf),V(N+"/anyOf",F.anyOf),V(N+"/oneOf",F.oneOf),Q(N+"/not",F.not)}function V(U,F){if(Array.isArray(F))for(var B=0;B{"use strict";Q.d(F,{A:()=>B});const B=Q(60471).createContext({})},8782:(U,F,Q)=>{"use strict";var B,R=Q(60471),V=(B=R)&&"object"===typeof B&&"default"in B?B.default:B,n=Q(18535),l=new n,d=l.getBrowser(),J=l.getCPU(),N=l.getDevice(),Z=l.getEngine(),W=l.getOS(),S=l.getUA(),E=function(U){return l.setUA(U)},k=function(U){if(U){var F=new n(U);return{UA:F,browser:F.getBrowser(),cpu:F.getCPU(),device:F.getDevice(),engine:F.getEngine(),os:F.getOS(),ua:F.getUA(),setUserAgent:function(U){return F.setUA(U)}}}console.error("No userAgent string was provided")},t=Object.freeze({ClientUAInstance:l,browser:d,cpu:J,device:N,engine:Z,os:W,ua:S,setUa:E,parseUserAgent:k});function a(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function T(U){return T="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(U){return typeof U}:function(U){return U&&"function"===typeof Symbol&&U.constructor===Symbol&&U!==Symbol.prototype?"symbol":typeof U},T(U)}function e(U,F){for(var Q=0;Q=0||(R[Q]=U[Q]);return R}(U,F);if(Object.getOwnPropertySymbols){var V=Object.getOwnPropertySymbols(U);for(B=0;B=0||Object.prototype.propertyIsEnumerable.call(U,Q)&&(R[Q]=U[Q])}return R}function c(U){if(void 0===U)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return U}function r(U,F){return function(U){if(Array.isArray(U))return U}(U)||function(U,F){var Q=null==U?null:"undefined"!==typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(null==Q)return;var B,R,V=[],n=!0,l=!1;try{for(Q=Q.call(U);!(n=(B=Q.next()).done)&&(V.push(B.value),!F||V.length!==F);n=!0);}catch(d){l=!0,R=d}finally{try{n||null==Q.return||Q.return()}finally{if(l)throw R}}return V}(U,F)||function(U,F){if(!U)return;if("string"===typeof U)return m(U,F);var Q=Object.prototype.toString.call(U).slice(8,-1);"Object"===Q&&U.constructor&&(Q=U.constructor.name);if("Map"===Q||"Set"===Q)return Array.from(U);if("Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q))return m(U,F)}(U,F)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=new Array(F);Q1&&void 0!==arguments[1]?arguments[1]:"none")},L=function(){return!("undefined"===typeof window||!window.navigator&&!navigator)&&(window.navigator||navigator)},H=function(U){var F=L();return F&&F.platform&&(-1!==F.platform.indexOf(U)||"MacIntel"===F.platform&&F.maxTouchPoints>1&&!window.MSStream)},x=function(U,F,Q,B){return function(U){for(var F=1;F1)&&!window.MSStream},cU=function(){return H("iPad")},rU=function(){return H("iPhone")},mU=function(){return H("iPod")},MU=function(U){return O(U)};function iU(U){var F=U||t,Q=F.device,B=F.browser,R=F.os,V=F.engine,n=F.ua;return{isSmartTV:I(Q),isConsole:g(Q),isWearable:f(Q),isEmbedded:P(Q),isMobileSafari:WU(B)||cU(),isChromium:dU(B),isMobile:j(Q)||cU(),isMobileOnly:u(Q),isTablet:w(Q)||cU(),isBrowser:K(Q),isDesktop:K(Q),isAndroid:$(R),isWinPhone:QU(R),isIOS:BU(R)||cU(),isChrome:nU(B),isFirefox:lU(B),isSafari:ZU(B),isOpera:SU(B),isIE:EU(B),osVersion:RU(R),osName:VU(R),fullBrowserVersion:aU(B),browserVersion:TU(B),browserName:eU(B),mobileVendor:A(Q),mobileModel:q(Q),engineName:CU(V),engineVersion:DU(V),getUA:MU(n),isEdge:JU(B)||pU(n),isYandex:NU(B),deviceType:_(Q),isIOS13:hU(),isIPad13:cU(),isIPhone13:rU(),isIPod13:mU(),isElectron:oU(),isEdgeChromium:pU(n),isLegacyEdge:JU(B)&&!pU(n),isWindows:UU(R),isMacOs:FU(R),isMIUI:kU(B),isSamsungBrowser:tU(B)}}var bU=I(N),vU=g(N),GU=f(N),sU=P(N),XU=WU(d)||cU(),YU=dU(d),yU=j(N)||cU(),zU=u(N),OU=w(N)||cU(),LU=K(N),HU=K(N),xU=$(W),uU=QU(W),wU=BU(W)||cU(),jU=nU(d),IU=lU(d),KU=ZU(d),fU=SU(d),gU=EU(d),PU=RU(W),AU=VU(W),qU=aU(d),_U=TU(d),$U=eU(d),UF=A(N),FF=q(N),QF=CU(Z),BF=DU(Z),RF=MU(S),VF=JU(d)||pU(S),nF=NU(d),lF=_(N),dF=hU(),JF=cU(),NF=rU(),ZF=mU(),WF=oU(),SF=pU(S),EF=JU(d)&&!pU(S),kF=UU(W),tF=FU(W),aF=kU(d),TF=tU(d);function eF(U){var F=U||window.navigator.userAgent;return k(F)}F.lT=gU,F.Ue=tF},8919:U=>{var F={};U.exports=F,F.createElement=function(U){return document.createElement(U)},F.createText=function(U){return document.createTextNode(U)},F.style=function(U,F){U.style.cssText=F},F.append=function(U,F){U.appendChild(F)},F.remove=function(U,F){U.removeChild(F)}},9326:U=>{"use strict";var F=Object.defineProperty||!1;if(F)try{F({},"a",{value:1})}catch(Q){F=!1}U.exports=F},9535:(U,F,Q)=>{var B=Q(89736);function R(){var F,Q,V="function"==typeof Symbol?Symbol:{},n=V.iterator||"@@iterator",l=V.toStringTag||"@@toStringTag";function d(U,R,V,n){var l=R&&R.prototype instanceof N?R:N,d=Object.create(l.prototype);return B(d,"_invoke",function(U,B,R){var V,n,l,d=0,N=R||[],Z=!1,W={p:0,n:0,v:F,a:S,f:S.bind(F,4),d:function(U,Q){return V=U,n=0,l=F,W.n=Q,J}};function S(U,B){for(n=U,l=B,Q=0;!Z&&d&&!R&&Q3?(R=E===B)&&(l=V[(n=V[4])?5:(n=3,3)],V[4]=V[5]=F):V[0]<=S&&((R=U<2&&SB||B>E)&&(V[4]=U,V[5]=B,W.n=E,n=0))}if(R||U>1)return J;throw Z=!0,B}return function(R,N,E){if(d>1)throw TypeError("Generator is already running");for(Z&&1===N&&S(N,E),n=N,l=E;(Q=n<2?F:l)||!Z;){V||(n?n<3?(n>1&&(W.n=-1),S(n,l)):W.n=l:W.v=l);try{if(d=2,V){if(n||(R="next"),Q=V[R]){if(!(Q=Q.call(V,l)))throw TypeError("iterator result is not an object");if(!Q.done)return Q;l=Q.value,n<2&&(n=0)}else 1===n&&(Q=V.return)&&Q.call(V),n<2&&(l=TypeError("The iterator does not provide a '"+R+"' method"),n=1);V=F}else if((Q=(Z=W.n<0)?l:U.call(B,W))!==J)break}catch(Q){V=F,n=1,l=Q}finally{d=1}}return{value:Q,done:Z}}}(U,V,n),!0),d}var J={};function N(){}function Z(){}function W(){}Q=Object.getPrototypeOf;var S=[][n]?Q(Q([][n]())):(B(Q={},n,function(){return this}),Q),E=W.prototype=N.prototype=Object.create(S);function k(U){return Object.setPrototypeOf?Object.setPrototypeOf(U,W):(U.__proto__=W,B(U,l,"GeneratorFunction")),U.prototype=Object.create(E),U}return Z.prototype=W,B(E,"constructor",W),B(W,"constructor",Z),Z.displayName="GeneratorFunction",B(W,l,"GeneratorFunction"),B(E),B(E,l,"Generator"),B(E,n,function(){return this}),B(E,"toString",function(){return"[object Generator]"}),(U.exports=R=function(){return{w:d,m:k}},U.exports.__esModule=!0,U.exports.default=U.exports)()}U.exports=R,U.exports.__esModule=!0,U.exports.default=U.exports},9913:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>r});var B=Q(49257),R=Q(68102),V=Q(60471),n=Q(15714),l=Q(93350),d=Q(19166),J=Q(34315),N=Q(35423),Z=Q(43946),W=Q(60479),S=Q(82144),E=Q(6057),k=Q(90245),t=Q(95118),a=Q(16840);const T=(0,a.A)("MuiListItemIcon",["root","alignItemsFlexStart"]);var e=Q(74552),C=Q(85656);function D(U){return(0,C.Ay)("MuiMenuItem",U)}const o=(0,a.A)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]);var p=Q(23759);const h=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex","className"],c=(0,J.Ay)(S.A,{shouldForwardProp:U=>(0,N.A)(U)||"classes"===U,name:"MuiMenuItem",slot:"Root",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[F.root,Q.dense&&F.dense,Q.divider&&F.divider,!Q.disableGutters&&F.gutters]}})(U=>{let{theme:F,ownerState:Q}=U;return(0,R.A)({},F.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!Q.disableGutters&&{paddingLeft:16,paddingRight:16},Q.divider&&{borderBottom:`1px solid ${(F.vars||F).palette.divider}`,backgroundClip:"padding-box"},{"&:hover":{textDecoration:"none",backgroundColor:(F.vars||F).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${o.selected}`]:{backgroundColor:F.vars?`rgba(${F.vars.palette.primary.mainChannel} / ${F.vars.palette.action.selectedOpacity})`:(0,d.X4)(F.palette.primary.main,F.palette.action.selectedOpacity),[`&.${o.focusVisible}`]:{backgroundColor:F.vars?`rgba(${F.vars.palette.primary.mainChannel} / calc(${F.vars.palette.action.selectedOpacity} + ${F.vars.palette.action.focusOpacity}))`:(0,d.X4)(F.palette.primary.main,F.palette.action.selectedOpacity+F.palette.action.focusOpacity)}},[`&.${o.selected}:hover`]:{backgroundColor:F.vars?`rgba(${F.vars.palette.primary.mainChannel} / calc(${F.vars.palette.action.selectedOpacity} + ${F.vars.palette.action.hoverOpacity}))`:(0,d.X4)(F.palette.primary.main,F.palette.action.selectedOpacity+F.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:F.vars?`rgba(${F.vars.palette.primary.mainChannel} / ${F.vars.palette.action.selectedOpacity})`:(0,d.X4)(F.palette.primary.main,F.palette.action.selectedOpacity)}},[`&.${o.focusVisible}`]:{backgroundColor:(F.vars||F).palette.action.focus},[`&.${o.disabled}`]:{opacity:(F.vars||F).palette.action.disabledOpacity},[`& + .${t.A.root}`]:{marginTop:F.spacing(1),marginBottom:F.spacing(1)},[`& + .${t.A.inset}`]:{marginLeft:52},[`& .${e.A.root}`]:{marginTop:0,marginBottom:0},[`& .${e.A.inset}`]:{paddingLeft:36},[`& .${T.root}`]:{minWidth:36}},!Q.dense&&{[F.breakpoints.up("sm")]:{minHeight:"auto"}},Q.dense&&(0,R.A)({minHeight:32,paddingTop:4,paddingBottom:4},F.typography.body2,{[`& .${T.root} svg`]:{fontSize:"1.25rem"}}))}),r=V.forwardRef(function(U,F){const Q=(0,Z.b)({props:U,name:"MuiMenuItem"}),{autoFocus:d=!1,component:J="li",dense:N=!1,divider:S=!1,disableGutters:t=!1,focusVisibleClassName:a,role:T="menuitem",tabIndex:e,className:C}=Q,o=(0,B.A)(Q,h),r=V.useContext(W.A),m=V.useMemo(()=>({dense:N||r.dense||!1,disableGutters:t}),[r.dense,N,t]),M=V.useRef(null);(0,E.A)(()=>{d&&M.current&&M.current.focus()},[d]);const i=(0,R.A)({},Q,{dense:m.dense,divider:S,disableGutters:t}),b=(U=>{const{disabled:F,dense:Q,divider:B,disableGutters:V,selected:n,classes:d}=U,J={root:["root",Q&&"dense",F&&"disabled",!V&&"gutters",B&&"divider",n&&"selected"]},N=(0,l.A)(J,D,d);return(0,R.A)({},d,N)})(Q),v=(0,k.A)(M,F);let G;return Q.disabled||(G=void 0!==e?e:-1),(0,p.jsx)(W.A.Provider,{value:m,children:(0,p.jsx)(c,(0,R.A)({ref:v,role:T,tabIndex:G,component:J,focusVisibleClassName:(0,n.A)(b.focusVisible,a),className:(0,n.A)(b.root,C)},o,{ownerState:i,classes:b}))})})},10400:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>N});var B=Q(68102),R=Q(49257),V=Q(85514),n=Q(85810),l=Q(72668),d=Q(25576);const J=["elementType","externalSlotProps","ownerState","skipResolvingSlotProps"];const N=function(U){var F;const{elementType:Q,externalSlotProps:N,ownerState:Z,skipResolvingSlotProps:W=!1}=U,S=(0,R.A)(U,J),E=W?{}:(0,d.A)(N,Z),{props:k,internalRef:t}=(0,l.A)((0,B.A)({},S,{externalSlotProps:E})),a=(0,V.A)(t,null==E?void 0:E.ref,null==(F=U.additionalProps)?void 0:F.ref);return(0,n.A)(Q,(0,B.A)({},k,{ref:a}),Z)}},10564:U=>{function F(Q){return U.exports=F="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(U){return typeof U}:function(U){return U&&"function"==typeof Symbol&&U.constructor===Symbol&&U!==Symbol.prototype?"symbol":typeof U},U.exports.__esModule=!0,U.exports.default=U.exports,F(Q)}U.exports=F,U.exports.__esModule=!0,U.exports.default=U.exports},10650:(U,F,Q)=>{"use strict";Q.r(F),Q.d(F,{ARROW_MAX_SNAPPING_ANGLE:()=>ue,Action:()=>BD,AlignDescriptors:()=>rT,AmbiguousMonomer:()=>Vn,AmbiguousMonomerRenderer:()=>BJ,AssignAttachmentAtomOperation:()=>fC,AssignLeavingGroupAtomOperation:()=>IC,Atom:()=>uQ,AtomAdd:()=>lT,AtomAttr:()=>ZT,AtomDelete:()=>JT,AtomLabel:()=>v,AtomList:()=>MU,AtomMove:()=>ST,AttachmentPointHoverOperation:()=>vl,AttachmentPointName:()=>BR,AttachmentPoints:()=>sQ,Axis:()=>wB,BILN_ALIAS_FORMAT_ERROR_MESSAGE:()=>aF,BackBoneBondSequenceRenderer:()=>NN,BackBoneSequenceNode:()=>Gn,BaseMonomer:()=>cV,BaseMonomerRenderer:()=>Wd,BaseRenderer:()=>dd,BaseSequenceItemRenderer:()=>YJ,BaseSequenceRenderer:()=>GJ,BlobTypes:()=>Ec,Bond:()=>fQ,BondAdd:()=>tT,BondAttr:()=>CT,BondDelete:()=>TT,BondMove:()=>oT,Box2Abs:()=>IF,CREATE_MONOMER_TOOL_NAME:()=>CU,CalcImplicitH:()=>AT,CanonicalModifiersOrder:()=>KU,CanvasLoad:()=>hT,Chain:()=>cn,ChainsCollection:()=>vn,Chem:()=>XV,ChemRenderer:()=>ad,ChemSequenceItemRenderer:()=>xJ,ChemicalMimeType:()=>FF,Command:()=>PV,CoordinateTransformation:()=>tk,Coordinates:()=>VQ,CoreAtom:()=>un,CoreEditor:()=>Lh,DEFAULT_LAYOUT_MODE:()=>Wt,DEFAULT_VARIANT_MONOMER_LABEL:()=>Bn,DefaultStructServiceOptions:()=>jc,EditorClassName:()=>sh,EditorHistory:()=>Nt,EditorType:()=>Sp,ElementColor:()=>L,Elements:()=>u,EmptySequenceItemRenderer:()=>PJ,EmptySequenceNode:()=>Dn,EnhancedFlagClear:()=>GT,EnhancedFlagMove:()=>bT,Entities:()=>VR,FixedPrecisionCoordinates:()=>PQ,FlexMode:()=>wh,FlipMonomerOperation:()=>yl,FormatterFactory:()=>BT,Fragment:()=>UB,FragmentAdd:()=>OT,FragmentAddStereoAtom:()=>jT,FragmentDelete:()=>HT,FragmentDeleteStereoAtom:()=>KT,FragmentSetProperties:()=>uT,FragmentStereoFlag:()=>gT,FunctionalGroup:()=>zQ,FunctionalGroupsProvider:()=>PF,Generics:()=>w,HAS_CONTENT_LAYOUT_MODE:()=>St,HELM_ALIAS_FORMAT_ERROR_MESSAGE:()=>tF,HELM_ALIAS_LENGTH_ERROR_MESSAGE:()=>eF,HELM_ALIAS_MAX_LENGTH:()=>TF,HYDROGEN_BOND_ATTACHMENT_POINT:()=>hV,HalfBond:()=>FB,HalfMonomerSize:()=>oU,Highlight:()=>CV,HydrogenBond:()=>RR,IDT_ALIAS_LENGTH_ERROR_MESSAGE:()=>oF,IDT_ALIAS_LENGTH_MAX:()=>DF,IDT_ALIAS_SLASH_ERROR_MESSAGE:()=>CF,IMAGE_KEY:()=>q,IMAGE_SERIALIZE_KEY:()=>_,Image:()=>tV,ImageDelete:()=>Ne,ImageMove:()=>Ue,ImageResize:()=>ne,ImageUpsert:()=>Je,IsChainCycled:()=>Qn,KETCHER_MACROMOLECULES_ROOT_NODE_SELECTOR:()=>Xh,KETCHER_SAVED_OPTIONS_KEY:()=>LU,KETCHER_SAVED_SETTINGS_KEY:()=>OU,KetAmbiguousMonomerTemplateSubType:()=>fB,KetConnectionType:()=>IB,KetMonomerClass:()=>WU,KetMonomerGroupTemplateClass:()=>gB,KetNodeType:()=>jB,KetSerializer:()=>qS,KetTemplateType:()=>KB,Ketcher:()=>Hc,KetcherAsyncEvents:()=>vU,KetcherBuilder:()=>Kc,KetcherLogger:()=>GU,KeyCodePrefixes:()=>IU,KeyboardModifiers:()=>jU,LayerMap:()=>Ml,LinkerSequenceNode:()=>on,LogLevel:()=>mU,Loop:()=>QB,LoopMove:()=>_T,MACROMOLECULES_BOND_TYPES:()=>fl,MONOMER_CLASS_TO_CONSTRUCTOR:()=>Rn,MONOMER_CONST:()=>eU,MONOMER_GROUP_TEMPLATE_NAME_MAX_LENGTH:()=>pF,MONOMER_GROUP_TEMPLATE_NAME_MAX_LENGTH_ERROR_MESSAGE:()=>hF,MULTITAIL_ARROW_KEY:()=>RU,MULTITAIL_ARROW_SERIALIZE_KEY:()=>nU,MULTITAIL_ARROW_TOOL_NAME:()=>VU,MacromoleculesConverter:()=>fS,MarkAsRnaComponentOperation:()=>qC,MeasurementUnits:()=>ud,ModeTypes:()=>Sc,ModifiersRegex:()=>fU,MolSerializer:()=>Nk,MonomerAddOperation:()=>zl,MonomerCodeToGroup:()=>hQ,MonomerCreationAttachmentPointClickEvent:()=>gC,MonomerCreationComponentStructureUpdateEvent:()=>PC,MonomerDeleteOperation:()=>Ol,MonomerGroupCodes:()=>TQ,MonomerGroups:()=>aQ,MonomerHoverOperation:()=>VJ,MonomerItemModifyOperation:()=>nJ,MonomerMicromolecule:()=>DB,MonomerMoveOperation:()=>lJ,MonomerSequenceNode:()=>tn,MonomerSize:()=>DU,MonomerToAtomBond:()=>dR,MultitailArrow:()=>eV,MultitailArrowAddTail:()=>Se,MultitailArrowDelete:()=>he,MultitailArrowMove:()=>te,MultitailArrowMoveHeadTail:()=>Te,MultitailArrowRefName:()=>LS,MultitailArrowRemoveTail:()=>Ee,MultitailArrowResizeTailHead:()=>Ce,MultitailArrowUpsert:()=>pe,NATURAL_AMINO_ACID_MODIFICATION_TYPE:()=>Yh,NO_NATURAL_ANALOGUE:()=>TU,Nucleoside:()=>Wn,NucleosideSequenceItemRenderer:()=>qJ,Nucleotide:()=>Sn,NucleotideSequenceItemRenderer:()=>fJ,OperationPriority:()=>Gl,OperationType:()=>Xl,Peptide:()=>bV,PeptideRenderer:()=>od,PeptideSequenceItemRenderer:()=>LJ,Phosphate:()=>IV,PhosphateRenderer:()=>md,PhosphateSequenceItemRenderer:()=>wJ,Pile:()=>xF,PolymerBond:()=>kR,PolymerBondSequenceRenderer:()=>dN,Pool:()=>eB,RGroup:()=>BB,RGroupAttachmentPoint:()=>nB,RGroupAttachmentPointAdd:()=>ve,RGroupAttachmentPointRemove:()=>ye,RGroupAttr:()=>re,RGroupFragment:()=>Me,RNABase:()=>uV,RNABaseRenderer:()=>Gd,RNASequenceItemRenderer:()=>IJ,RNA_DNA_NON_MODIFIED_PART:()=>I,ReAtom:()=>bW,ReBond:()=>uW,ReEnhancedFlag:()=>QS,ReFrag:()=>RS,ReImage:()=>sS,ReMultitailArrow:()=>HS,ReObject:()=>wZ,ReRGroup:()=>dS,ReRGroupAttachmentPoint:()=>MS,ReRxnArrow:()=>ES,ReRxnPlus:()=>tS,ReSGroup:()=>DW,ReSimpleObject:()=>CS,ReStruct:()=>jS,ReText:()=>rS,ReassignAttachmentPointOperation:()=>$C,ReassignLeavingAtomOperation:()=>QD,ReinitializeModeOperation:()=>ZN,RemoteStructService:()=>va,RemoteStructServiceProvider:()=>Ga,RemoveAttachmentPointOperation:()=>jC,Render:()=>fk,RenderStruct:()=>_k,RenderersManager:()=>ha,RestoreDescriptorsPosition:()=>MT,RestoreIfThen:()=>yT,RestoreSequenceCaretPositionOperation:()=>WN,RnaDnaBaseNames:()=>f,RnaDnaNaturalAnaloguesEnum:()=>K,RotateMonomerOperation:()=>JJ,RxnArrow:()=>dB,RxnArrowAdd:()=>$e,RxnArrowDelete:()=>UC,RxnArrowMode:()=>VB,RxnArrowMove:()=>Oe,RxnArrowResize:()=>we,RxnArrowRotate:()=>He,RxnPlus:()=>ZB,RxnPlusAdd:()=>Pe,RxnPlusDelete:()=>Ae,RxnPlusMove:()=>Ke,SCROLL_POSITION:()=>$F,SGroup:()=>MQ,SGroupAddToHierarchy:()=>CC,SGroupAtomAdd:()=>ZC,SGroupAtomRemove:()=>WC,SGroupAttachmentPoint:()=>DV,SGroupAttachmentPointAdd:()=>hC,SGroupAttachmentPointRemove:()=>cC,SGroupAttr:()=>kC,SGroupBracketParams:()=>mQ,SGroupCreate:()=>bC,SGroupDataMove:()=>aC,SGroupDelete:()=>vC,SGroupForest:()=>WB,SGroupRemoveFromHierarchy:()=>DC,STRAND_TYPE:()=>j,SUPERATOM_CLASS:()=>pQ,SaltsAndSolventsProvider:()=>AF,Scale:()=>fF,ScrollbarContainer:()=>jk,SdfSerializer:()=>Wk,SelectBase:()=>wp,SelectFragment:()=>Pp,SelectLasso:()=>fp,SelectRectangle:()=>Ip,SequenceMode:()=>qh,SequenceNodeRendererFactory:()=>nN,SequenceRenderer:()=>cN,SequenceType:()=>Fn,SetEditorLineLengthAction:()=>xU,SettingsManager:()=>uU,SgContexts:()=>CQ,ShiftMonomerOperation:()=>ZJ,ShowHydrogenLabelNames:()=>iW,ShowHydrogenLabels:()=>xZ,SimpleObject:()=>kB,SimpleObjectAdd:()=>BC,SimpleObjectDelete:()=>RC,SimpleObjectMode:()=>NB,SimpleObjectMove:()=>VC,SimpleObjectResize:()=>lC,SnakeLayoutCellWidth:()=>hU,SnakeMode:()=>pt,StandardAmbiguousPeptide:()=>P,StandardAmbiguousRnaBase:()=>g,StandardBondLength:()=>pU,StereoColoringType:()=>il,StereoFlag:()=>gQ,StereoLabel:()=>XQ,StereoLabelStyleType:()=>bl,StereoValidator:()=>gF,Struct:()=>xB,Sugar:()=>HV,SugarRenderer:()=>zd,SupportedFormat:()=>Zt,SupportedFormatProperties:()=>sa,Text:()=>PB,TextCommand:()=>HB,TextCreate:()=>XC,TextDelete:()=>YC,TextMove:()=>LC,TextUpdate:()=>zC,ToolName:()=>Kl,UnresolvedMonomer:()=>kn,UnresolvedMonomerRenderer:()=>Hd,UnresolvedMonomerSequenceItemRenderer:()=>$J,UnsplitNucleotide:()=>_V,UnsplitNucleotideRenderer:()=>fd,UnsplitNucleotideSequenceItemRenderer:()=>FN,UpdateIfThen:()=>XT,UsageInMacromolecule:()=>wd,Vec2:()=>zF,Visel:()=>uZ,ZoomTool:()=>RQ,atomForNewBond:()=>ED,atomGetAttr:()=>nD,atomGetDegree:()=>lD,atomGetPos:()=>JD,atomGetSGroups:()=>dD,attachmentPointNames:()=>nR,b64toBlob:()=>XU,blurActiveElement:()=>XF,bondChangingAction:()=>lo,buildRnaPresetConnections:()=>$p,canModifyAminoAcid:()=>fR,checkAtomValence:()=>MD,checkIsR2R1Connection:()=>cR,checkIsSmartPropertiesExist:()=>yW,checkOverlapping:()=>SB,compareByTitleWithNaturalFirst:()=>xh,compareStringsWithNaturalFirst:()=>Hh,convertDraftToLexical:()=>Wl,defaultBondThickness:()=>oQ,deleteAllEntitiesOnCanvas:()=>Mc,editorEvents:()=>Pl,ensureString:()=>SF,expandSGroupWithMultipleAttachmentPoint:()=>OD,fillNaturalAnalogueForPhosphateAndSugar:()=>lV,findStereoAtoms:()=>ND,flipBonds:()=>go,formatProperties:()=>Xa,formatSelection:()=>SD,fromAromaticTemplateOnBond:()=>RD,fromArrowAddition:()=>uo,fromArrowDeletion:()=>jo,fromArrowResizing:()=>wo,fromAtomAddition:()=>pD,fromAtomMerge:()=>qD,fromAtomsAttrs:()=>hD,fromAtomsFragmentAttr:()=>cD,fromBondAddition:()=>Qo,fromBondFlipping:()=>Vo,fromBondStereoUpdate:()=>DD,fromBondsAttrs:()=>Bo,fromBondsMerge:()=>Ro,fromChain:()=>Zo,fromDescriptorsAlign:()=>$D,fromFlip:()=>fo,fromFragmentDeletion:()=>io,fromFragmentSplit:()=>oo,fromHighlightClear:()=>Tp,fromHighlightCreate:()=>ap,fromImageCreation:()=>vo,fromImageDeletion:()=>Go,fromImageMove:()=>so,fromImageResize:()=>Xo,fromItemsFuse:()=>to,fromMultipleMove:()=>Co,fromMultitailArrowCreation:()=>Yo,fromMultitailArrowDeletion:()=>yo,fromMultitailArrowHeadTailMove:()=>xo,fromMultitailArrowHeadTailsResize:()=>Ho,fromMultitailArrowMove:()=>zo,fromMultitailArrowTailAdd:()=>Oo,fromMultitailArrowTailRemove:()=>Lo,fromNewCanvas:()=>_D,fromOneAtomDeletion:()=>ro,fromOneBondDeletion:()=>Mo,fromPaste:()=>bo,fromPlusAddition:()=>Io,fromPlusDeletion:()=>Ko,fromRGroupAttachmentPointAddition:()=>ho,fromRGroupAttachmentPointDeletion:()=>co,fromRGroupAttachmentPointUpdate:()=>po,fromRGroupAttrs:()=>aD,fromRGroupFragment:()=>TD,fromRotate:()=>Po,fromSeveralSgroupAddition:()=>XD,fromSgroupAction:()=>uD,fromSgroupAddition:()=>xD,fromSgroupAttachmentPointAddition:()=>fD,fromSgroupAttachmentPointRemove:()=>gD,fromSgroupAttrs:()=>YD,fromSgroupDeletion:()=>HD,fromSimpleObjectAddition:()=>qo,fromSimpleObjectDeletion:()=>Ao,fromSimpleObjectResizing:()=>_o,fromStereoAtomAttrs:()=>CD,fromStereoFlagUpdate:()=>Do,fromTemplateOnAtom:()=>Vp,fromTemplateOnBondAction:()=>np,fromTemplateOnCanvas:()=>Rp,fromTextCreation:()=>dp,fromTextDeletion:()=>Np,fromTextUpdating:()=>Jp,fromUpdateIfThen:()=>eD,generateMenuShortcuts:()=>QF,genericsList:()=>A,getAllConnectedMonomersRecursively:()=>KR,getAminoAcidsToModify:()=>gR,getAtomCustomQuery:()=>zW,getAtomType:()=>YW,getAttachmentPointLabel:()=>kQ,getAttachmentPointLabelWithBinaryShift:()=>SQ,getAttachmentPointNumberFromLabel:()=>tQ,getColorFromStereoLabel:()=>vW,getFormatMimeTypeByFileName:()=>Oa,getHELMClassByKetMonomerClass:()=>nV,getHoverToFuse:()=>To,getItemsToFuse:()=>ao,getKetRef:()=>RV,getLabelRenderModeForIndigo:()=>ca,getMonomerTemplateRefFromMonomerItem:()=>VV,getMonomerUniqueKey:()=>hR,getNextFreeAttachmentPoint:()=>eQ,getNextMonomerInChain:()=>iR,getNodeWithInvertedYCoord:()=>_R,getOptionsWithConvertedUnits:()=>gZ,getPhosphateFromSugar:()=>sR,getPreviousMonomerInChain:()=>MR,getPropertiesByFormat:()=>za,getPropertiesByImgFormat:()=>ya,getRelSGroupsBySelection:()=>kD,getRenderedStructuresBbox:()=>Dt,getRnaBaseFromSugar:()=>bR,getRnaPresetPhosphatePosition:()=>_p,getSelectionFromStruct:()=>WD,getSnappedArrowVector:()=>je,getStructStringFromClipboardData:()=>lF,getStructure:()=>vc,getSugarFromRnaBase:()=>vR,getSvgFromDrawnStructures:()=>WF,getTooLongIdtAliasEntries:()=>iF,hotkeysConfiguration:()=>Qd,identifyStructFormat:()=>at,ifDef:()=>iU,imageReferencePositionToCursor:()=>BU,initHotKeys:()=>_U,isAmbiguousMonomerLibraryItem:()=>OR,isAttachmentBond:()=>tD,isBaseTool:()=>Vh,isBondBetweenSugarAndBaseOfRna:()=>GR,isClipboardAPIAvailable:()=>BF,isControlKey:()=>PU,isEditableInputTarget:()=>YF,isHelmCompatible:()=>PR,isLibraryItemRnaPreset:()=>LR,isMonomerBeginningOfChain:()=>XR,isMonomerConnectedToR2RnaBase:()=>mR,isMonomerItemPhosphate:()=>aR,isMonomerItemSugar:()=>tR,isMonomerSgroupWithAttachmentPoints:()=>sF,isNodeRestrictedForHydrogenBondCreation:()=>jh,isPeptideOrAmbiguousPeptide:()=>xR,isPhosphateOrAmbiguousPhosphate:()=>wR,isR2R1ConnectionFromRnaBase:()=>rR,isRnaBaseApplicableForAntisense:()=>IR,isRnaBaseOrAmbiguousRnaBase:()=>uR,isRnaBaseVariantMonomer:()=>zR,isSingleRGroupAttachmentPoint:()=>EQ,isSugarOrAmbiguousSugar:()=>jR,isTwoStrandedNodeRestrictedForHydrogenBondCreation:()=>Ih,isValidBilnAlias:()=>vF,isValidHelmAlias:()=>bF,isValidHelmAliasLength:()=>GF,isValidIdtAlias:()=>mF,isValidIdtAliasLength:()=>MF,isValidNucleoside:()=>yR,isValidNucleotide:()=>YR,ketcherProvider:()=>Jt,keyNorm:()=>AU,legacyCopy:()=>RF,legacyPaste:()=>VF,libraryItemHasR1AttachmentPoint:()=>HR,macromoleculesFilesInputFormats:()=>RT,makeCircleFromEllipse:()=>dC,mergeFragmentsIfNeeded:()=>rD,mergeMapOfItemsToSet:()=>eo,mergeSgroups:()=>mD,modifyTransformation:()=>JV,monomerFactory:()=>RJ,multitailArrowReferenceLinesToCursor:()=>ZU,multitailReferencePositionToCursor:()=>NU,normalizeError:()=>kF,normalizeMonomerAtomsPositions:()=>AR,notifyCopyCut:()=>nF,notifyItemsToMergeInitializationComplete:()=>BQ,notifyRenderComplete:()=>QQ,notifyRequestCompleted:()=>YU,paperPathFromSVGElement:()=>CW,parseAndAddMacromoleculesOnCanvas:()=>ic,parseStruct:()=>mc,peptideAmbiguousSymbols:()=>kU,peptideNaturalAnalogues:()=>aU,pickStandardServerOptions:()=>ba,populateStructWithSelection:()=>NV,prepareStructToRender:()=>cc,provideEditorInstance:()=>KV,provideEditorSettings:()=>_F,radicalElectrons:()=>wQ,removeAtomFromSgroupIfNeeded:()=>jD,removeAttachmentPointFromSuperatom:()=>Jo,removeInfoLabelFromAtoms:()=>No,removeSgroupIfNeeded:()=>ID,renderersEvents:()=>_l,replaceMonomer:()=>Yn,resetEditorEvents:()=>Al,resetEditorInstance:()=>gV,rnaDnaAmbiguousSymbols:()=>EU,rnaDnaNaturalAnalogues:()=>SU,runAsyncAction:()=>sU,sGroupAttributeAction:()=>LD,safelyGetMimeType:()=>JF,selectionKeys:()=>DQ,setAmbiguousMonomerPrefix:()=>BV,setAmbiguousMonomerTemplatePrefix:()=>QV,setEditorInstance:()=>fV,setExpandMonomerSGroup:()=>zD,setExpandSGroup:()=>yD,setMonomerGroupTemplatePrefix:()=>FV,setMonomerPrefix:()=>UV,setMonomerTemplatePrefix:()=>$R,shortcutStr:()=>UF,structSelection:()=>ZD,switchIntoChemistryCoordSystem:()=>dV,toFixed:()=>bU,toolsMap:()=>nh,unknownNaturalAnalogues:()=>tU,vectorUtils:()=>_h});var B=Q(94300),R=Q(97850),V=Q(92099),n=Q(48183),l=Q(42912),d=Q(74572),J=Q(72367),N=Q(50171),Z=Q(41705),W=Q(3431),S=Q.n(W),E=Q(45841),k=Q(61790),t=Q.n(k),a=Q(40694),T=Q(8782),e=Q(91576);function C(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(C=function(){return!!U})()}function D(U){var F="function"==typeof Map?new Map:void 0;return D=function(U){if(null===U||!function(U){try{return-1!==Function.toString.call(U).indexOf("[native code]")}catch(F){return"function"==typeof U}}(U))return U;if("function"!=typeof U)throw new TypeError("Super expression must either be null or a function");if(void 0!==F){if(F.has(U))return F.get(U);F.set(U,Q)}function Q(){return function(U,F,Q){if(C())return Reflect.construct.apply(null,arguments);var B=[null];B.push.apply(B,F);var R=new(U.bind.apply(U,B));return Q&&(0,e.A)(R,Q.prototype),R}(U,arguments,(0,d.A)(this).constructor)}return Q.prototype=Object.create(U.prototype,{constructor:{value:Q,enumerable:!1,writable:!0,configurable:!0}}),(0,e.A)(Q,U)},D(U)}var o=Q(94044),p=Q.n(o),h=(Q(56046),Q(11393)),c=Q(55972),r=Q(66033),m=(Q(54929),Q(5794)),M=Q(68459),i=Q(22353);function b(){return b="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(U,F,Q){var B=function(U,F){for(;!{}.hasOwnProperty.call(U,F)&&null!==(U=(0,d.A)(U)););return U}(U,F);if(B){var R=Object.getOwnPropertyDescriptor(B,F);return R.get?R.get.call(arguments.length<3?U:Q):R.value}},b.apply(null,arguments)}var v,G=Q(81515),s=Q(7257),X=Q.n(s),Y=Q(29079),y=Q.n(Y),z=Q(31916),O=Q(10694),L={H:"#000000",He:"#89a1a1",Li:"#bd77ed",Be:"#8fbc00",B:"#c18989",C:"#000000",N:"#304ff7",O:"#ff0d0d",F:"#78bc42",Ne:"#80a2af",Na:"#ab5cf2",Mg:"#6fcd00",Al:"#a99393",Si:"#b29478",P:"#ff8000",S:"#c99a19",Cl:"#1fd01f",Ar:"#69acba",K:"#8f40d4",Ca:"#38e900",Sc:"#999999",Ti:"#979a9e",V:"#99999e",Cr:"#8a99c7",Mn:"#9c7ac7",Fe:"#e06633",Co:"#d37e8e",Ni:"#4ece4e",Cu:"#c78033",Zn:"#7d80b0",Ga:"#bc8b8b",Ge:"#668f8f",As:"#b87ddd",Se:"#e59100",Br:"#a62929",Kr:"#59b1c9",Rb:"#702eb0",Sr:"#00ff00",Y:"#66afaf",Zr:"#71abab",Nb:"#67aeb4",Mo:"#54b5b5",Tc:"#3b9e9e",Ru:"#248f8f",Rh:"#0a7d8c",Pd:"#006985",Ag:"#9a9a9a",Cd:"#b29764",In:"#a67573",Sn:"#668080",Sb:"#9e63b5",Te:"#d47a00",I:"#940094",Xe:"#429eb0",Cs:"#57178f",Ba:"#00c900",La:"#5caed1",Ce:"#9d9d7b",Pr:"#8ca581",Nd:"#84a984",Pm:"#71b18a",Sm:"#66b68e",Eu:"#4ac298",Gd:"#37cb9e",Tb:"#28d1a4",Dy:"#1bd7a8",Ho:"#00e98f",Er:"#00e675",Tm:"#00d452",Yb:"#00bf38",Lu:"#00ab24",Hf:"#47b3ec",Ta:"#4da6ff",W:"#2194d6",Re:"#267dab",Os:"#266696",Ir:"#175487",Pt:"#9898a3",Au:"#c19e1c",Hg:"#9797ac",Tl:"#a6544d",Pb:"#575961",Bi:"#9e4fb5",Po:"#ab5c00",At:"#754f45",Rn:"#428296",Fr:"#420066",Ra:"#007d00",Ac:"#6aa2ec",Th:"#00baff",Pa:"#00a1ff",U:"#008fff",Np:"#0080ff",Pu:"#006bff",Am:"#545cf2",Cm:"#785ce3",Bk:"#8a4fe3",Cf:"#a136d4",Es:"#b31fd4",Fm:"#000000",Md:"#000000",No:"#000000",Lr:"#000000",Rf:"#47b3ec",Db:"#4da6ff",Sg:"#2194d6",Bh:"#267dab",Hs:"#266696",Mt:"#175487",Ds:"#9898a3",Rg:"#c19e1c",Cn:"#9797ac",Nh:"#000000",Fl:"#000000",Mc:"#000000",Lv:"#000000",Ts:"#000000",Og:"#000000"},H=[{number:1,label:"H",period:1,group:1,title:"Hydrogen",state:"gas",origin:"primordial",type:"other-nonmetal",mass:1.00794},{number:2,label:"He",period:1,group:8,title:"Helium",state:"gas",origin:"primordial",type:"noble",mass:4.0026022},{number:3,label:"Li",period:2,group:1,title:"Lithium",state:"solid",origin:"primordial",type:"alkali",mass:6.94},{number:4,label:"Be",period:2,group:2,title:"Beryllium",state:"solid",origin:"primordial",type:"alkaline-earth",mass:9.01218315},{number:5,label:"B",period:2,group:3,title:"Boron",state:"solid",origin:"primordial",type:"metalloid",mass:10.81},{number:6,label:"C",period:2,group:4,title:"Carbon",state:"solid",origin:"primordial",type:"other-nonmetal",mass:12.011},{number:7,label:"N",period:2,group:5,title:"Nitrogen",state:"gas",origin:"primordial",type:"other-nonmetal",mass:14.007},{number:8,label:"O",period:2,group:6,leftH:!0,title:"Oxygen",state:"gas",origin:"primordial",type:"other-nonmetal",mass:15.999},{number:9,label:"F",period:2,group:7,leftH:!0,title:"Fluorine",state:"gas",origin:"primordial",type:"halogen",mass:18.9984031636},{number:10,label:"Ne",period:2,group:8,title:"Neon",state:"gas",origin:"primordial",type:"noble",mass:20.17976},{number:11,label:"Na",period:3,group:1,title:"Sodium",state:"solid",origin:"primordial",type:"alkali",mass:22.989769282},{number:12,label:"Mg",period:3,group:2,title:"Magnesium",state:"solid",origin:"primordial",type:"alkaline-earth",mass:24.305},{number:13,label:"Al",period:3,group:3,title:"Aluminium",state:"solid",origin:"primordial",type:"post-transition",mass:26.98153857},{number:14,label:"Si",period:3,group:4,title:"Silicon",state:"solid",origin:"primordial",type:"metalloid",mass:28.085},{number:15,label:"P",period:3,group:5,title:"Phosphorus",state:"solid",origin:"primordial",type:"other-nonmetal",mass:30.9737619985},{number:16,label:"S",period:3,group:6,leftH:!0,title:"Sulfur",state:"solid",origin:"primordial",type:"other-nonmetal",mass:32.06},{number:17,label:"Cl",period:3,group:7,leftH:!0,title:"Chlorine",state:"gas",origin:"primordial",type:"halogen",mass:35.45},{number:18,label:"Ar",period:3,group:8,title:"Argon",state:"gas",origin:"primordial",type:"noble",mass:39.9481},{number:19,label:"K",period:4,group:1,title:"Potassium",state:"solid",origin:"primordial",type:"alkali",mass:39.09831},{number:20,label:"Ca",period:4,group:2,title:"Calcium",state:"solid",origin:"primordial",type:"alkaline-earth",mass:40.0784},{number:21,label:"Sc",period:4,group:3,title:"Scandium",state:"solid",origin:"primordial",type:"transition",mass:44.9559085},{number:22,label:"Ti",period:4,group:4,title:"Titanium",state:"solid",origin:"primordial",type:"transition",mass:47.8671},{number:23,label:"V",period:4,group:5,title:"Vanadium",state:"solid",origin:"primordial",type:"transition",mass:50.94151},{number:24,label:"Cr",period:4,group:6,title:"Chromium",state:"solid",origin:"primordial",type:"transition",mass:51.99616},{number:25,label:"Mn",period:4,group:7,title:"Manganese",state:"solid",origin:"primordial",type:"transition",mass:54.9380443},{number:26,label:"Fe",period:4,group:8,title:"Iron",state:"solid",origin:"primordial",type:"transition",mass:55.8452},{number:27,label:"Co",period:4,group:8,title:"Cobalt",state:"solid",origin:"primordial",type:"transition",mass:58.9331944},{number:28,label:"Ni",period:4,group:8,title:"Nickel",state:"solid",origin:"primordial",type:"transition",mass:58.69344},{number:29,label:"Cu",period:4,group:1,title:"Copper",state:"solid",origin:"primordial",type:"transition",mass:63.5463},{number:30,label:"Zn",period:4,group:2,title:"Zinc",state:"solid",origin:"primordial",type:"transition",mass:65.382},{number:31,label:"Ga",period:4,group:3,title:"Gallium",state:"solid",origin:"primordial",type:"post-transition",mass:69.7231},{number:32,label:"Ge",period:4,group:4,title:"Germanium",state:"solid",origin:"primordial",type:"metalloid",mass:72.6308},{number:33,label:"As",period:4,group:5,title:"Arsenic",state:"solid",origin:"primordial",type:"metalloid",mass:74.9215956},{number:34,label:"Se",period:4,group:6,leftH:!0,title:"Selenium",state:"solid",origin:"primordial",type:"other-nonmetal",mass:78.9718},{number:35,label:"Br",period:4,group:7,leftH:!0,title:"Bromine",state:"liquid",origin:"primordial",type:"halogen",mass:79.904},{number:36,label:"Kr",period:4,group:8,title:"Krypton",state:"gas",origin:"primordial",type:"noble",mass:83.7982},{number:37,label:"Rb",period:5,group:1,title:"Rubidium",state:"solid",origin:"primordial",type:"alkali",mass:85.46783},{number:38,label:"Sr",period:5,group:2,title:"Strontium",state:"solid",origin:"primordial",type:"alkaline-earth",mass:87.621},{number:39,label:"Y",period:5,group:3,title:"Yttrium",state:"solid",origin:"primordial",type:"transition",mass:88.905842},{number:40,label:"Zr",period:5,group:4,title:"Zirconium",state:"solid",origin:"primordial",type:"transition",mass:91.2242},{number:41,label:"Nb",period:5,group:5,title:"Niobium",state:"solid",origin:"primordial",type:"transition",mass:92.906372},{number:42,label:"Mo",period:5,group:6,title:"Molybdenum",state:"solid",origin:"primordial",type:"transition",mass:95.951},{number:43,label:"Tc",period:5,group:7,title:"Technetium",state:"solid",origin:"decay",type:"transition",mass:98},{number:44,label:"Ru",period:5,group:8,title:"Ruthenium",state:"solid",origin:"primordial",type:"transition",mass:101.072},{number:45,label:"Rh",period:5,group:8,title:"Rhodium",state:"solid",origin:"primordial",type:"transition",mass:102.905502},{number:46,label:"Pd",period:5,group:8,title:"Palladium",state:"solid",origin:"primordial",type:"transition",mass:106.421},{number:47,label:"Ag",period:5,group:1,title:"Silver",state:"solid",origin:"primordial",type:"transition",mass:107.86822},{number:48,label:"Cd",period:5,group:2,title:"Cadmium",state:"solid",origin:"primordial",type:"transition",mass:112.4144},{number:49,label:"In",period:5,group:3,title:"Indium",state:"solid",origin:"primordial",type:"post-transition",mass:114.8181},{number:50,label:"Sn",period:5,group:4,title:"Tin",state:"solid",origin:"primordial",type:"post-transition",mass:118.7107},{number:51,label:"Sb",period:5,group:5,title:"Antimony",state:"solid",origin:"primordial",type:"metalloid",mass:121.7601},{number:52,label:"Te",period:5,group:6,title:"Tellurium",state:"solid",origin:"primordial",type:"metalloid",mass:127.603},{number:53,label:"I",period:5,group:7,leftH:!0,title:"Iodine",state:"solid",origin:"primordial",type:"halogen",mass:126.904473},{number:54,label:"Xe",period:5,group:8,title:"Xenon",state:"gas",origin:"primordial",type:"noble",mass:131.2936},{number:55,label:"Cs",period:6,group:1,title:"Caesium",state:"solid",origin:"primordial",type:"alkali",mass:132.905451966},{number:56,label:"Ba",period:6,group:2,title:"Barium",state:"solid",origin:"primordial",type:"alkaline-earth",mass:137.3277},{number:57,label:"La",period:6,group:3,title:"Lanthanum",state:"solid",origin:"primordial",type:"transition",mass:138.905477},{number:58,label:"Ce",period:6,group:3,title:"Cerium",state:"solid",origin:"primordial",type:"lanthanide",mass:140.1161},{number:59,label:"Pr",period:6,group:3,title:"Praseodymium",state:"solid",origin:"primordial",type:"lanthanide",mass:140.907662},{number:60,label:"Nd",period:6,group:3,title:"Neodymium",state:"solid",origin:"primordial",type:"lanthanide",mass:144.2423},{number:61,label:"Pm",period:6,group:3,title:"Promethium",state:"solid",origin:"decay",type:"lanthanide",mass:145},{number:62,label:"Sm",period:6,group:3,title:"Samarium",state:"solid",origin:"primordial",type:"lanthanide",mass:150.362},{number:63,label:"Eu",period:6,group:3,title:"Europium",state:"solid",origin:"primordial",type:"lanthanide",mass:151.9641},{number:64,label:"Gd",period:6,group:3,title:"Gadolinium",state:"solid",origin:"primordial",type:"lanthanide",mass:157.253},{number:65,label:"Tb",period:6,group:3,title:"Terbium",state:"solid",origin:"primordial",type:"lanthanide",mass:158.925352},{number:66,label:"Dy",period:6,group:3,title:"Dysprosium",state:"solid",origin:"primordial",type:"lanthanide",mass:162.5001},{number:67,label:"Ho",period:6,group:3,title:"Holmium",state:"solid",origin:"primordial",type:"lanthanide",mass:164.930332},{number:68,label:"Er",period:6,group:3,title:"Erbium",state:"solid",origin:"primordial",type:"lanthanide",mass:167.2593},{number:69,label:"Tm",period:6,group:3,title:"Thulium",state:"solid",origin:"primordial",type:"lanthanide",mass:168.934222},{number:70,label:"Yb",period:6,group:3,title:"Ytterbium",state:"solid",origin:"primordial",type:"lanthanide",mass:173.0451},{number:71,label:"Lu",period:6,group:3,title:"Lutetium",state:"solid",origin:"primordial",type:"lanthanide",mass:174.96681},{number:72,label:"Hf",period:6,group:4,title:"Hafnium",state:"solid",origin:"primordial",type:"transition",mass:178.492},{number:73,label:"Ta",period:6,group:5,title:"Tantalum",state:"solid",origin:"primordial",type:"transition",mass:180.947882},{number:74,label:"W",period:6,group:6,title:"Tungsten",state:"solid",origin:"primordial",type:"transition",mass:183.841},{number:75,label:"Re",period:6,group:7,title:"Rhenium",state:"solid",origin:"primordial",type:"transition",mass:186.2071},{number:76,label:"Os",period:6,group:8,title:"Osmium",state:"solid",origin:"primordial",type:"transition",mass:190.233},{number:77,label:"Ir",period:6,group:8,title:"Iridium",state:"solid",origin:"primordial",type:"transition",mass:192.2173},{number:78,label:"Pt",period:6,group:8,title:"Platinum",state:"solid",origin:"primordial",type:"transition",mass:195.0849},{number:79,label:"Au",period:6,group:1,title:"Gold",state:"solid",origin:"primordial",type:"transition",mass:196.9665695},{number:80,label:"Hg",period:6,group:2,title:"Mercury",state:"liquid",origin:"primordial",type:"transition",mass:200.5923},{number:81,label:"Tl",period:6,group:3,title:"Thallium",state:"solid",origin:"primordial",type:"post-transition",mass:204.38},{number:82,label:"Pb",period:6,group:4,title:"Lead",state:"solid",origin:"primordial",type:"post-transition",mass:207.21},{number:83,label:"Bi",period:6,group:5,title:"Bismuth",state:"solid",origin:"primordial",type:"post-transition",mass:208.980401},{number:84,label:"Po",period:6,group:6,title:"Polonium",state:"solid",origin:"decay",type:"metalloid",mass:209},{number:85,label:"At",period:6,group:7,title:"Astatine",state:"solid",origin:"decay",type:"halogen",mass:210},{number:86,label:"Rn",period:6,group:8,title:"Radon",state:"gas",origin:"decay",type:"noble",mass:222},{number:87,label:"Fr",period:7,group:1,title:"Francium",state:"solid",origin:"decay",type:"alkali",mass:223},{number:88,label:"Ra",period:7,group:2,title:"Radium",state:"solid",origin:"decay",type:"alkaline-earth",mass:226},{number:89,label:"Ac",period:7,group:3,title:"Actinium",state:"solid",origin:"decay",type:"transition",mass:227},{number:90,label:"Th",period:7,group:3,title:"Thorium",state:"solid",origin:"primordial",type:"actinide",mass:232.03774},{number:91,label:"Pa",period:7,group:3,title:"Protactinium",state:"solid",origin:"decay",type:"actinide",mass:231.035882},{number:92,label:"U",period:7,group:3,title:"Uranium",state:"solid",origin:"primordial",type:"actinide",mass:238.028913},{number:93,label:"Np",period:7,group:3,title:"Neptunium",state:"solid",origin:"decay",type:"actinide",mass:237},{number:94,label:"Pu",period:7,group:3,title:"Plutonium",state:"solid",origin:"decay",type:"actinide",mass:244},{number:95,label:"Am",period:7,group:3,title:"Americium",state:"solid",origin:"synthetic",type:"actinide",mass:243},{number:96,label:"Cm",period:7,group:3,title:"Curium",state:"solid",origin:"synthetic",type:"actinide",mass:247},{number:97,label:"Bk",period:7,group:3,title:"Berkelium",state:"solid",origin:"synthetic",type:"actinide",mass:247},{number:98,label:"Cf",period:7,group:3,title:"Californium",state:"solid",origin:"synthetic",type:"actinide",mass:251},{number:99,label:"Es",period:7,group:3,title:"Einsteinium",state:"solid",origin:"synthetic",type:"actinide",mass:252},{number:100,label:"Fm",period:7,group:3,title:"Fermium",origin:"synthetic",type:"actinide",mass:257},{number:101,label:"Md",period:7,group:3,title:"Mendelevium",origin:"synthetic",type:"actinide",mass:258},{number:102,label:"No",period:7,group:3,title:"Nobelium",origin:"synthetic",type:"actinide",mass:259},{number:103,label:"Lr",period:7,group:3,title:"Lawrencium",origin:"synthetic",type:"actinide",mass:266},{number:104,label:"Rf",period:7,group:4,title:"Rutherfordium",origin:"synthetic",type:"transition",mass:267},{number:105,label:"Db",period:7,group:5,title:"Dubnium",origin:"synthetic",type:"transition",mass:268},{number:106,label:"Sg",period:7,group:6,title:"Seaborgium",origin:"synthetic",type:"transition",mass:269},{number:107,label:"Bh",period:7,group:7,title:"Bohrium",origin:"synthetic",type:"transition",mass:270},{number:108,label:"Hs",period:7,group:8,title:"Hassium",origin:"synthetic",type:"transition",mass:269},{number:109,label:"Mt",period:7,group:8,title:"Meitnerium",origin:"synthetic",type:"transition",mass:278},{number:110,label:"Ds",period:7,group:8,title:"Darmstadtium",origin:"synthetic",type:"transition",mass:281},{number:111,label:"Rg",period:7,group:1,title:"Roentgenium",origin:"synthetic",type:"transition",mass:282},{number:112,label:"Cn",period:7,group:2,title:"Copernicium",origin:"synthetic",type:"transition",mass:285},{number:113,label:"Nh",period:7,group:3,title:"Nihonium",origin:"synthetic",type:"post-transition",mass:286},{number:114,label:"Fl",period:7,group:4,title:"Flerovium",origin:"synthetic",type:"post-transition",mass:289},{number:115,label:"Mc",period:7,group:5,title:"Moscovium",origin:"synthetic",type:"post-transition",mass:289},{number:116,label:"Lv",period:7,group:6,title:"Livermorium",origin:"synthetic",type:"post-transition",mass:293},{number:117,label:"Ts",period:7,group:7,title:"Tennessine",origin:"synthetic",type:"halogen",mass:294},{number:118,label:"Og",period:7,group:8,title:"Oganesson",origin:"synthetic",type:"noble",mass:294}],x=H.reduce(function(U,F){return U.set(F.label,F),U.set(F.number,F),U},new Map),u={get:function(U){return x.get(U)},filter:function(U){return H.filter(U)},getAll:function(){return[].concat(H)}};!function(U){U.Ac="Ac",U.Ag="Ag",U.Al="Al",U.Am="Am",U.Ar="Ar",U.As="As",U.At="At",U.Au="Au",U.B="B",U.Ba="Ba",U.Be="Be",U.Bh="Bh",U.Bi="Bi",U.Bk="Bk",U.Br="Br",U.C="C",U.Ca="Ca",U.Cd="Cd",U.Ce="Ce",U.Cf="Cf",U.Cl="Cl",U.Cm="Cm",U.Cn="Cn",U.Co="Co",U.Cr="Cr",U.Cs="Cs",U.Cu="Cu",U.Db="Db",U.Ds="Ds",U.Dy="Dy",U.Er="Er",U.Es="Es",U.Eu="Eu",U.F="F",U.Fe="Fe",U.Fl="Fl",U.Fm="Fm",U.Fr="Fr",U.Ga="Ga",U.Gd="Gd",U.Ge="Ge",U.H="H",U.He="He",U.Hf="Hf",U.Hg="Hg",U.Ho="Ho",U.Hs="Hs",U.I="I",U.In="In",U.Ir="Ir",U.K="K",U.Kr="Kr",U.La="La",U.Li="Li",U.Lr="Lr",U.Lu="Lu",U.Lv="Lv",U.Mc="Mc",U.Md="Md",U.Mg="Mg",U.Mn="Mn",U.Mo="Mo",U.Mt="Mt",U.N="N",U.Na="Na",U.Nb="Nb",U.Nd="Nd",U.Ne="Ne",U.Nh="Nh",U.Ni="Ni",U.No="No",U.Np="Np",U.O="O",U.Og="Og",U.Os="Os",U.P="P",U.Pa="Pa",U.Pb="Pb",U.Pd="Pd",U.Pm="Pm",U.Po="Po",U.Pr="Pr",U.Pt="Pt",U.Pu="Pu",U.Ra="Ra",U.Rb="Rb",U.Re="Re",U.Rf="Rf",U.Rg="Rg",U.Rh="Rh",U.Rn="Rn",U.Ru="Ru",U.S="S",U.Sb="Sb",U.Sc="Sc",U.Se="Se",U.Sg="Sg",U.Si="Si",U.Sm="Sm",U.Sn="Sn",U.Sr="Sr",U.Ta="Ta",U.Tb="Tb",U.Tc="Tc",U.Te="Te",U.Th="Th",U.Ti="Ti",U.Tl="Tl",U.Tm="Tm",U.Ts="Ts",U.U="U",U.V="V",U.W="W",U.Xe="Xe",U.Y="Y",U.Yb="Yb",U.Zn="Zn",U.Zr="Zr",U.D="D",U.T="T"}(v||(v={}));var w={"atoms-gen":{title:"Atom Generics",itemSets:[{displayName:"any atom",items:[{label:"A",description:"Any atom except hydrogen"},{label:"AH",description:"Any atom, including hydrogen"}]},{displayName:"except C or H",items:[{label:"Q",description:"Any heteroatom (any atom except C or H)"},{label:"QH",description:"Any atom except C"}]},{displayName:"any metal",items:[{label:"M",description:"Any metal"},{label:"MH",description:"Any metal or hydrogen"}]},{displayName:"any halogen",items:[{label:"X",description:"Any halogen"},{label:"XH",description:"Any halogen or hydrogen"}]}]},"special-nodes":{title:"Special Nodes",itemSets:[{items:[{label:"H+",description:"Proton"},{label:"D",description:"Deuterium"},{label:"T",description:"Tritium"},{label:"R",description:"Pseudoatom"},{label:"Pol",description:"Polymer Bead"},{label:"*",description:"Any atom, including hydrogen"}]}]},"group-gen":{title:"Group Generics",itemSets:[{items:[{label:"G",description:"Any group"},{label:"GH",description:"Any group or hydrogen"}]},{items:[{label:"G*",description:"Any group with a ring closure"},{label:"GH*",description:"Any group with a ring closure or hydrogen"}]}],subGroups:{"group-acyclic":{title:"Acyclic",itemSets:[{items:[{label:"ACY",description:"Acyclic group"},{label:"ACH",description:"Acyclic group or hydrogen"}]}],subGroups:{"acyclic-carbo":{title:"Acyclic Carbo",itemSets:[{items:[{label:"ABC",description:"Carbocyclic"},{label:"ABH",description:"Carbocyclic of hydrogen"}]},{displayName:"alkynyl",items:[{label:"AYL",description:"Alkynyl"},{label:"AYH",description:"Alkynyl or hydrogen"}]},{displayName:"alkyl",items:[{label:"ALK",description:"Alkyl"},{label:"ALH",description:"Alkyl or hydrogen"}]},{displayName:"alkenyl",items:[{label:"AEL",description:"Alkenyl"},{label:"AEH",description:"Alkenyl or hydrogen"}]}]},"acyclic-hetero":{title:"Acyclic Hetero",itemSets:[{items:[{label:"AHC",description:"Heteroacyclic"},{label:"AHH",description:"Heterocyclic or hydrogen"}]},{items:[{label:"AOX",description:"Alkoxy"},{label:"AOH",description:"Alkoxy or hydrogen"}]}]}}},"group-cyclic":{title:"Cyclic",itemSets:[{items:[{label:"CYC",description:"Cyclic group"},{label:"CYH",description:"Cyclic group or hydrogen"}]},{displayName:"no carbon",items:[{label:"CXX",description:"Cyclic group with no Carbon atoms"},{label:"CXH",description:"Cyclic group with no Carbon atoms or hydrogen"}]}],subGroups:{"cyclic-carbo":{title:"Cyclic Carbo",itemSets:[{items:[{label:"CBC",description:"Carbocyclic derivatives"},{label:"CBH",description:"Carbocyclic derivatives or hydrogen"}]},{displayName:"aryl",items:[{label:"ARY",description:"Any aryl group"},{label:"ARH",description:"Any aryl group or hydrogen"}]},{displayName:"cycloalkyl",items:[{label:"CAL",description:"Any cycloalkyl group"},{label:"CAH",description:"Any cycloalkyl group or hydrogen"}]},{displayName:"cycloalkenyl",items:[{label:"CEL",description:"Any cyloalkenyl group"},{label:"CEH",description:"Any cyloalkenyl group or hydrogen"}]}]},"cyclic-hetero":{title:"Cyclic Hetero",itemSets:[{items:[{label:"CHC",description:"Heterocyclic group"},{label:"CHH",description:"Heterocyclic group or hydrogen"}]},{displayName:"hetero aryl",items:[{label:"HAR",description:"Heteroaryl group"},{label:"HAH",description:"Heteroaryl group or hydrogen"}]}]}}}}}};var j,I,K,f,g,P,A=function U(F){var Q;if(!Array.isArray(F)||null!==(Q=F[0])&&void 0!==Q&&Q.items){for(var R=[],V=0,n=Object.values(F);V=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function rU(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q=U}}]),U}();!function(U){U.LOADING="LOADING",U.SUCCESS="SUCCESS",U.FAILURE="FAILURE"}(vU||(vU={}));var sU=function(){var U=(0,E.A)(t().mark(function U(F,Q){var B;return t().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:return Q.emit(vU.LOADING),U.prev=1,U.next=4,F();case 4:return B=U.sent,Q.emit(vU.SUCCESS),U.abrupt("return",B);case 9:return U.prev=9,U.t0=U.catch(1),GU.error("runAsyncAction.ts::runAsyncAction",U.t0),Q.emit(vU.FAILURE),U.abrupt("return",void 0);case 14:case"end":return U.stop()}},U,null,[[1,9]])}));return function(F,Q){return U.apply(this,arguments)}}();function XU(U){for(var F=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",Q=arguments.length>2&&void 0!==arguments[2]?arguments[2]:512,B=window.atob(U),R=[],V=0;V0?B:"");case 7:return U.prev=7,U.t0=U.catch(0),U.abrupt("return","");case 10:case"end":return U.stop()}},U,null,[[0,7]])}))).apply(this,arguments)}!function(U){U.Mol="chemical/x-mdl-molfile",U.Rxn="chemical/x-mdl-rxnfile",U.DaylightSmiles="chemical/x-daylight-smiles",U.ExtendedSmiles="chemical/x-chemaxon-cxsmiles",U.DaylightSmarts="chemical/x-daylight-smarts",U.InChI="chemical/x-inchi",U.InChIAuxInfo="chemical/x-inchi-aux",U.InChIKey="chemical/x-inchi-key",U.CDX="chemical/x-cdx",U.CDXML="chemical/x-cdxml",U.CML="chemical/x-cml",U.KET="chemical/x-indigo-ket",U.UNKNOWN="chemical/x-unknown",U.SDF="chemical/x-sdf",U.FASTA="chemical/x-fasta",U.SEQUENCE="chemical/x-sequence",U.PeptideSequenceThreeLetter="chemical/x-peptide-sequence-3-letter",U.RNA="chemical/x-rna-sequence",U.DNA="chemical/x-dna-sequence",U.PEPTIDE="chemical/x-peptide-sequence",U.IDT="chemical/x-idt",U.AXOLABS="chemical/x-axo-labs",U.HELM="chemical/x-helm",U.BILN="chemical/x-biln",U.RDF="chemical/x-rdf",U.MonomerLibrary="chemical/x-monomer-library"}(FF||(FF={}));const ZF="http://www.w3.org/2000/svg",WF=(U,F,Q={horizontal:10,vertical:10})=>{const B="number"===typeof Q?{horizontal:Q,vertical:Q}:{horizontal:10+Q.horizontal,vertical:10+Q.vertical};let R=U?.innerHTML||"";const V=document.createElementNS(ZF,"svg");V.innerHTML=R,V.querySelector("#rectangle-selection-area")?.remove(),V.querySelectorAll(".dynamic-element")?.forEach(U=>U.remove()),V.querySelectorAll("text")?.forEach(U=>U.setAttribute("cursor","default")),V.querySelectorAll("rect")?.forEach(U=>{"text"===U.getAttribute("cursor")&&U.removeAttribute("cursor")}),V.querySelectorAll("g")?.forEach(U=>{U.hasAttribute("opacity")&&U.removeAttribute("opacity")}),R=V.innerHTML,R=R?.replace(/\bcursor:\s*pointer;\s*/g,"");const n=U?.getElementsByClassName("drawn-structures")[0].getBoundingClientRect();if(!n||!R){const U="Cannot get drawn structures!";return void GU.error(U)}const l=n.x-50-B.horizontal,d=n.y-54-B.vertical,J=n.width+2*B.horizontal,N=n.height+2*B.vertical,Z=`${l} ${d} ${J} ${N}`;return"preview"===F?`${R}`:"file"===F?`${R}`:``};function SF(U){return"string"===typeof U?U:JSON.stringify(U)}var EF,kF=function(U){if(U instanceof Error)return U;if("string"===typeof U)return new Error(U);try{return new Error(JSON.stringify(U))}catch(F){return new Error(String(U))}},tF="The HELM alias must consist only of uppercase and lowercase letters, numbers, underscores (_), asterisks (*), square brackets ([]), parentheses (()), dots (.), and hyphens (-), spaces prohibited.",aF="The BILN alias must consist only of uppercase and lowercase letters, numbers, hyphens (`-`), underscores (`_`), and asterisks (`*`).",TF=23,eF="The HELM alias must be no more than ".concat(TF," symbols long."),CF="The slashes (`/`) can only be the first and last character of an IDT alias.",DF=10,oF="The maximum number of characters of an IDT alias without slashes (/) is ".concat(DF,"."),pF=200,hF="The monomer group template name must not exceed ".concat(pF," characters."),cF=/^(?!.*\s)[A-Za-z0-9_*.[\]()-]+$/,rF=/^[A-Za-z0-9_*-]+$/;function mF(U){return!U||!U.slice(1,-1).includes("/")}function MF(U){return!U||U.replace(/^\//,"").replace(/\/$/,"").length<=DF}function iF(U){var F=U.base,Q=U.modifications;return[{alias:"base",value:F},{alias:"endpoint3",value:null===Q||void 0===Q?void 0:Q.endpoint3},{alias:"endpoint5",value:null===Q||void 0===Q?void 0:Q.endpoint5},{alias:"internal",value:null===Q||void 0===Q?void 0:Q.internal}].filter(function(U){return Boolean(U.value)}).filter(function(U){return!MF(U.value)})}function bF(U){return cF.test(U)}function vF(U){return rF.test(U)}function GF(U){return U.length<=TF}function sF(U){var F=U.monomerItem.struct.sgroups;return U.monomerItem.props.isMicromoleculeFragment&&F.some(function(U){return U.isSuperatomWithoutLabel})}function XF(){var U;null===(U=document.activeElement)||void 0===U||U.blur()}function YF(U){return U instanceof HTMLElement&&(!U.hasAttribute("data-cliparea")&&("INPUT"===U.nodeName||"TEXTAREA"===U.nodeName||U.isContentEditable))}function yF(U){return"number"===typeof U?U:parseFloat(U)}var zF=function(){function U(){for(var F=arguments.length,Q=new Array(F),B=0;BQ!==J>Q&&F<(d-n)*(Q-l)/(J-l)+n&&(B=!B)}return B}},{key:"calculateDistanceToLine",value:function(F){var Q=U.diff(F[1],F[0]),B=U.diff(this,F[0]),R=U.dist(F[0],F[1]),V=Q.normalized(),n=U.dot(V,B),l=Math.max(0,Math.min(R,n)),d=U.sum(F[0],V.scaled(l));return U.dist(d,this)}},{key:"oxAngle",value:function(){return Math.atan2(this.y,this.x)}}],[{key:"dist",value:function(F,Q){return U.diff(F,Q).length()}},{key:"max",value:function(F,Q){return new U(Math.max(F.x,Q.x),Math.max(F.y,Q.y),Math.max(F.z,Q.z))}},{key:"min",value:function(F,Q){return new U(Math.min(F.x,Q.x),Math.min(F.y,Q.y),Math.min(F.z,Q.z))}},{key:"sum",value:function(F,Q){return new U(F.x+Q.x,F.y+Q.y,F.z+Q.z)}},{key:"dot",value:function(U,F){return U.x*F.x+U.y*F.y}},{key:"cross",value:function(U,F){return U.x*F.y-U.y*F.x}},{key:"angle",value:function(F,Q){return Math.atan2(U.cross(F,Q),U.dot(F,Q))}},{key:"diff",value:function(F,Q){return new U(F.x-Q.x,F.y-Q.y,F.z-Q.z)}},{key:"lc",value:function(){for(var F=arguments.length,Q=new Array(F),B=0;B=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function LF(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q0?(Q=!0,B=!0,U.union(F)):U});return B||R.push(F),R},new Array);return Q?F.unionIntersections(B):B}}]),F}(D(Set)),uF="invalid",wF=function(){function U(F){(0,V.A)(this,U),this.initiallySelected=F}return(0,n.A)(U,[{key:"getInitiallySelected",value:function(){if(this.initiallySelected===uF)throw new Error("this field is used only for serialization/deserialization");return this.initiallySelected}},{key:"setInitiallySelected",value:function(U){if(this.initiallySelected===uF)throw new Error("this field is used only for serialization/deserialization");this.initiallySelected=U}},{key:"resetInitiallySelected",value:function(U){this.initiallySelected=U?uF:void 0}}]),U}();function jF(U,F,Q){return function(U,F,Q){if("function"==typeof U?U===F:U.has(F))return arguments.length<3?F:Q;throw new TypeError("Private element is not present on this object")}(F,U),Q}var IF=function(){function U(){(0,V.A)(this,U);for(var F=arguments.length,Q=new Array(F),B=0;B1&&void 0!==arguments[1]?arguments[1]:0;return S()(null!=U),U.x>=this.p0.x-F&&U.x<=this.p1.x+F&&U.y>=this.p0.y-F&&U.y<=this.p1.y+F}},{key:"translate",value:function(F){return new U(this.p0.add(F),this.p1.add(F))}},{key:"transform",value:function(F,Q){return S()("function"===typeof F),new U(F(this.p0,Q),F(this.p1,Q))}},{key:"sz",value:function(){return this.p1.sub(this.p0)}},{key:"centre",value:function(){return zF.centre(this.p0,this.p1)}},{key:"pos",value:function(){return this.p0}},{key:"hasZeroArea",value:function(){var U=this.sz();return 0===U.x&&0===U.y}}],[{key:"fromRelBox",value:function(F){return new U(F.x,F.y,F.x+F.width,F.y+F.height)}},{key:"union",value:function(F,Q){return new U(zF.min(F.p0,Q.p0),zF.max(F.p1,Q.p1))}},{key:"segmentIntersection",value:function(F,Q,B,R){var V=(F.x-B.x)*(Q.y-B.y)-(F.y-B.y)*(Q.x-B.x),n=(F.x-R.x)*(Q.y-R.y)-(F.y-R.y)*(Q.x-R.x),l=(B.x-F.x)*(R.y-F.y)-(B.y-F.y)*(R.x-F.x),d=(B.x-Q.x)*(R.y-Q.y)-(B.y-Q.y)*(R.x-Q.x);return 0===V&&0===n&&0===l&&0===d?jF(U,U,KF).call(U,F,Q,B)||jF(U,U,KF).call(U,F,Q,R)||jF(U,U,KF).call(U,B,R,F)||jF(U,U,KF).call(U,B,R,Q):V*n<0&&l*d<0}}]),U}();function KF(U,F,Q){var B=Math.min(U.x,F.x),R=Math.max(U.x,F.x),V=Math.min(U.y,F.y),n=Math.max(U.y,F.y);return Q.x>=B&&Q.x<=R&&Q.y>=V&&Q.y<=n}var fF={canvasToModel:function(U,F){return U.scaled(1/F.microModeScale)},modelToCanvas:function(U,F){return U.scaled(F.microModeScale)}};var gF={isCorrectStereoCenter:function(U,F,Q,B){var R,V=B.atoms.get(U.begin),n=NaN;return 2===(null===Q||void 0===Q?void 0:Q.length)&&(n=Q[0].aid===U.begin?Q[1].aid:Q[0].aid),U.stereo>0&&((1!==(null===Q||void 0===Q?void 0:Q.length)||2!==(null===F||void 0===F?void 0:F.length)||Number(null===V||void 0===V?void 0:V.implicitH)%2!==0)&&((2!==(null===Q||void 0===Q?void 0:Q.length)||2!==(null===F||void 0===F?void 0:F.length)||Number(null===V||void 0===V?void 0:V.implicitH)%2!==0||1!==(null===(R=B.atomGetNeighbors(n))||void 0===R?void 0:R.length))&&1!==(null===F||void 0===F?void 0:F.length)))}},PF=function(){function U(){(0,V.A)(this,U),this.functionalGroupsList=[]}return(0,n.A)(U,[{key:"getFunctionalGroupsList",value:function(){return this.functionalGroupsList}},{key:"setFunctionalGroupsList",value:function(U){this.functionalGroupsList=U}},{key:"addToFunctionalGroupsList",value:function(U){this.functionalGroupsList=[].concat((0,B.A)(this.functionalGroupsList),(0,B.A)(U))}}],[{key:"getInstance",value:function(){return U.instance||(U.instance=new U),U.instance}}]),U}(),AF=function(){function U(){(0,V.A)(this,U),this.saltsAndSolventsList=[]}return(0,n.A)(U,[{key:"getSaltsAndSolventsList",value:function(){return this.saltsAndSolventsList}},{key:"setSaltsAndSolventsList",value:function(U){this.saltsAndSolventsList=U}}],[{key:"getInstance",value:function(){return U.instance||(U.instance=new U),U.instance}}]),U}(),qF={microModeScale:40,macroModeScale:40};function _F(){return qF}var $F,UQ="#polymer-editor-canvas",FQ=".drawn-structures",QQ=p().debounce(function(){var U=new Event("renderComplete");window.dispatchEvent(U)},250),BQ=function(){var U=new Event("itemsToMergeInitializationComplete");window.dispatchEvent(U)};!function(U){U.CENTER="CENTER",U.BOTTOM="BOTTOM"}($F||($F={}));var RQ=function(){function U(F){var Q=this;(0,V.A)(this,U),(0,Z.A)(this,"resizeObserver",null),(0,Z.A)(this,"zoomEventHandlers",[]),(0,Z.A)(this,"COLOR","#a5afb9"),(0,Z.A)(this,"MIN_LENGTH",40),(0,Z.A)(this,"RADIUS",2),(0,Z.A)(this,"MARGIN",5),(0,Z.A)(this,"HORIZONTAL_DIST_TO_EDGE",16),(0,Z.A)(this,"VERTICAL_DIST_TO_EDGE",4),(0,Z.A)(this,"WIDTH",4),(0,Z.A)(this,"MINZOOMSCALE",.2),(0,Z.A)(this,"MAXZOOMSCALE",4),(0,Z.A)(this,"dragged",function(U){return function(F){var B,R;"horizontal"===U?null===(B=Q.zoom)||void 0===B||B.translateBy(Q.canvasWrapper,-F.dx,0):null===(R=Q.zoom)||void 0===R||R.translateBy(Q.canvasWrapper,0,-F.dy)}}),(0,Z.A)(this,"observeCanvasResize",function(){Q.resizeObserver=new ResizeObserver(function(){Q.drawScrollBars()}),Q.resizeObserver.observe(Q.canvasWrapper.node())}),this.canvasWrapper=(0,c.Lt)(UQ),this.canvas=(0,c.Lt)(FQ),this.zoomLevel=1,this._zoomTransform=new m.uV(1,0,0),this.drawingEntitiesManager=F,this.initActions()}return(0,n.A)(U,[{key:"initActions",value:function(){var U=this;this.zoom=(0,m.s_)().scaleExtent([this.MINZOOMSCALE,this.MAXZOOMSCALE]).wheelDelta(this.defaultWheelDelta).filter(function(U){return U.preventDefault(),!(!U.ctrlKey||"wheel"!==U.type)}).on("zoom",this.zoomAction.bind(this)).on("end",function(){QQ()}),this.canvasWrapper.call(this.zoom),this.canvasWrapper.on("wheel",function(F){F.ctrlKey?F.preventDefault():U.mouseWheeled(F)})}},{key:"setZoomLevel",value:function(U){this.zoomLevel=U}},{key:"getZoomLevel",value:function(){return this.zoomLevel}},{key:"setZoomTransform",value:function(U){this._zoomTransform=U}},{key:"zoomTransform",get:function(){return this._zoomTransform}},{key:"zoomAction",value:function(U){var F=this,Q=U.transform;this.canvas.attr("transform",Q),this.zoomLevel=Q.k,this._zoomTransform=Q,this.drawScrollBars(),requestAnimationFrame(function(){F.dispatchZoomEventHandlers(Q)})}},{key:"subscribeOnZoomEvent",value:function(U){this.zoomEventHandlers.push(U)}},{key:"unsubscribeOnZoomEvent",value:function(U){this.zoomEventHandlers=this.zoomEventHandlers.filter(function(F){return F!==U})}},{key:"dispatchZoomEventHandlers",value:function(U){this.zoomEventHandlers.forEach(function(F){F(U)})}},{key:"drawScrollBars",value:function(){var U=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.canvas.node()&&this.canvasWrapper.node()&&(this.initScrollBars(),this.renderScrollBar(this.scrollBars.horizontal,U),this.renderScrollBar(this.scrollBars.vertical,U))}},{key:"renderScrollBar",value:function(U){var F,Q=arguments.length>1&&void 0!==arguments[1]&&arguments[1];(U.offsetStart<0||U.offsetEnd<0)&&!Q?U.bar?this.updateScrollBarAttrs(U):this.drawScrollBar(U):(null===(F=U.bar)||void 0===F||F.remove(),U.bar=void 0)}},{key:"drawScrollBar",value:function(U){var F;U.bar=this.canvasWrapper.append("rect");var Q=(0,h.$E)().on("drag",this.dragged(U.name).bind(this));null===(F=U.bar)||void 0===F||F.call(Q),this.updateScrollBarAttrs(U)}},{key:"updateScrollBarAttrs",value:function(U){var F,Q,B,R=this.calculateDynamicAttr(U),V=R.start,n=R.length;"horizontal"===U.name?null===(Q=U.bar)||void 0===Q||Q.attr("x",V).attr("y",U.maxHeight-this.HORIZONTAL_DIST_TO_EDGE).attr("width",n).attr("height",this.WIDTH):null===(B=U.bar)||void 0===B||B.attr("x",U.maxHeight-this.VERTICAL_DIST_TO_EDGE).attr("y",V).attr("width",this.WIDTH).attr("height",n);null===(F=U.bar)||void 0===F||F.attr("rx",this.RADIUS).attr("draggable",!0).attr("cursor","pointer").attr("stroke",this.COLOR).attr("fill",this.COLOR).attr("data-testid",U.name+"-bar").attr("class","dynamic-element")}},{key:"calculateDynamicAttr",value:function(U){var F=(0,o.clamp)(-U.offsetStart,this.MARGIN,U.maxWidth-this.MIN_LENGTH-this.MARGIN),Q=U.maxWidth-(0,o.clamp)(-U.offsetEnd,this.MARGIN,U.maxWidth);return{start:F,length:Math.max(Q-F,this.MIN_LENGTH)}}},{key:"scrollTo",value:function(U){var F,Q,B,R,V,n,l,d=arguments.length>1&&void 0!==arguments[1]&&arguments[1],J=arguments.length>2?arguments[2]:void 0,N=arguments.length>3?arguments[3]:void 0,Z=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],W=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],S=(null===(F=this.canvasWrapper.node())||void 0===F?void 0:F.height.baseVal.value)||0,E=(null===(Q=this.canvasWrapper.node())||void 0===Q?void 0:Q.width.baseVal.value)||0;(0,o.isNumber)(J)&&!Z?n=J:n=E*((0,o.isNumber)(J)?J:10)/100;(0,o.isNumber)(N)&&!Z?l=N:l=S*((0,o.isNumber)(N)?N:10)/100;var k,t=new zF(E/2-n,S/2-l),a=null!==(B=null===(R=this._zoomTransform)||void 0===R?void 0:R.y)&&void 0!==B?B:0;if(W){var T=d?-1:1;k=U.y+this.unzoomValue(t.y*T)}else k=this.unzoomValue(S/2-a);null===(V=this.zoom)||void 0===V||V.translateTo(this.canvasWrapper,U.x+this.unzoomValue(t.x),k)}},{key:"scrollBy",value:function(U,F){var Q;null===(Q=this.zoom)||void 0===Q||Q.translateBy(this.canvasWrapper,this.unzoomValue(U),this.unzoomValue(F))}},{key:"scrollToVerticalCenter",value:function(U){var F,Q=this.drawingEntitiesManager.getCurrentCenterPointOfCanvas().y-U;null===(F=this.zoom)||void 0===F||F.translateBy(this.canvasWrapper,0,Q)}},{key:"scrollToVerticalBottom",value:function(){var U;(this.drawScrollBars(),this.scrollBars.vertical.offsetEnd<0)&&(null===(U=this.zoom)||void 0===U||U.translateBy(this.canvasWrapper,0,this.scrollBars.vertical.offsetEnd/this.zoomLevel))}},{key:"mouseWheeled",value:function(U){var F=U.shiftKey;if(this.canvasWrapper.node()&&(U.deltaX||U.deltaY)){var Q,B,R=-U.deltaX/this.zoomLevel,V=-U.deltaY/this.zoomLevel;if(F)null===(Q=this.zoom)||void 0===Q||Q.translateBy(this.canvasWrapper,R-V,0);else null===(B=this.zoom)||void 0===B||B.translateBy(this.canvasWrapper,R,V)}}},{key:"initScrollBars",value:function(){var U,F,Q,B,R,V,n=null===(U=this.canvas.node())||void 0===U?void 0:U.getBoundingClientRect(),l=null===(F=this.canvasWrapper.node())||void 0===F?void 0:F.getBoundingClientRect(),d=(null===(Q=this.canvasWrapper.node())||void 0===Q?void 0:Q.height.baseVal.value)||0,J=(null===(B=this.canvasWrapper.node())||void 0===B?void 0:B.width.baseVal.value)||0;this.scrollBars={horizontal:{name:"horizontal",offsetStart:n.left-l.left,offsetEnd:l.width-n.right,maxWidth:J,maxHeight:d,bar:null===(R=this.scrollBars)||void 0===R||null===(R=R.horizontal)||void 0===R?void 0:R.bar},vertical:{name:"vertical",offsetStart:n.top-l.top,offsetEnd:l.height-n.bottom,maxWidth:d,maxHeight:J,bar:null===(V=this.scrollBars)||void 0===V||null===(V=V.vertical)||void 0===V?void 0:V.bar}}}},{key:"zoomStep",get:function(){return.1}},{key:"zoomIn",value:function(){var U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.zoomStep;this.zoomToLeftTopCorner(this.zoomLevel+U)}},{key:"zoomOut",value:function(){var U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.zoomStep;this.zoomToLeftTopCorner(this.zoomLevel-U)}},{key:"zoomToLeftTopCorner",value:function(U){var F,Q=U;Q=Math.min(Q,this.MAXZOOMSCALE),Q=Math.max(Q,this.MINZOOMSCALE);var B=this._zoomTransform,R=B.x,V=B.y,n=Q/this.zoomLevel,l=R*n,d=V*n;null===(F=this.zoom)||void 0===F||F.transform(this.canvasWrapper,new m.uV(Q,l,d))}},{key:"zoomTo",value:function(U){this.zoomToLeftTopCorner(U)}},{key:"resetZoom",value:function(){var U,F,Q=this.canvasWrapper.node();null!==Q&&void 0!==Q&&null!==(U=Q.transform)&&void 0!==U&&U.baseVal&&(null===(F=this.zoom)||void 0===F||F.transform(this.canvasWrapper,new m.uV(1,0,0)))}},{key:"defaultWheelDelta",value:function(U){var F=.002;return 1===U.deltaMode?F=.05:U.deltaMode&&(F=1),-U.deltaY*F}},{key:"scaleCoordinates",value:function(U){var F=this._zoomTransform.applyX(U.x),Q=this._zoomTransform.applyY(U.y);return new zF(F,Q)}},{key:"invertZoom",value:function(U){var F=this._zoomTransform.invertX(U.x),Q=this._zoomTransform.invertY(U.y);return new zF(F,Q)}},{key:"unzoomValue",value:function(U){return U/this.zoomLevel}},{key:"zoomValue",value:function(U){return U*this.zoomLevel}},{key:"destroy",value:function(){var U,F,Q;null===(U=this.scrollBars)||void 0===U||null===(U=U.horizontal)||void 0===U||null===(U=U.bar)||void 0===U||U.remove(),null===(F=this.scrollBars)||void 0===F||null===(F=F.vertical)||void 0===F||null===(F=F.bar)||void 0===F||F.remove(),null===(Q=this.resizeObserver)||void 0===Q||Q.disconnect(),this.resizeObserver=null,this.zoom=null,this.zoomEventHandlers=[]}},{key:"isFitToCanvasHeight",value:function(U){var F=this.canvasWrapperHeight;return U=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function lQ(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q>>0;return 0===(F&F-1)}function kQ(U){return"R".concat(U)}function tQ(U){return Number(U.replace("R",""))}var aQ,TQ,eQ=function(U){var F,Q=arguments.length>1&&void 0!==arguments[1]&&arguments[1]?3:1,B=nQ(U.map(tQ).sort(function(U,F){return U-F}));try{for(B.s();!(F=B.n()).done;){if(F.value!==Q)break;Q++}}catch(R){B.e(R)}finally{B.f()}if(Q>8)throw new Error("Cannot assign more than 8 attachment points");return kQ(Q)},CQ={Fragment:"Fragment",Multifragment:"Multifragment",Bond:"Bond",Atom:"Atom",Group:"Group"},DQ=["atoms","bonds","frags","sgroups","rgroups","rgroupAttachmentPoints","rxnArrows","rxnPluses","simpleObjects","texts",q,RU],oQ=2;!function(U){U.SUGARS="Sugars",U.BASES="Bases",U.PHOSPHATES="Phosphates",U.PEPTIDES="Amino Acids",U.NUCLEOTIDES="Nucleotides"}(aQ||(aQ={})),function(U){U.R="R",U.A="A",U.C="C",U.G="G",U.T="T",U.U="U",U.X="X",U.P="P"}(TQ||(TQ={}));var pQ,hQ={R:aQ.SUGARS,A:aQ.BASES,C:aQ.BASES,G:aQ.BASES,T:aQ.BASES,U:aQ.BASES,X:aQ.BASES,P:aQ.PHOSPHATES};function cQ(U,F){var Q="undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(!Q){if(Array.isArray(U)||(Q=function(U,F){if(U){if("string"==typeof U)return rQ(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?rQ(U,F):void 0}}(U))||F&&U&&"number"==typeof U.length){Q&&(U=Q);var B=0,R=function(){};return{s:R,n:function(){return B>=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function rQ(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q=1}},{key:"addAttachmentPoint",value:function(U){var F=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.attachmentPoints.some(function(F){var Q=F.atomId,B=F.leaveAtomId;return U.atomId===Q&&U.leaveAtomId===B})&&F)throw new Error("The same attachment point cannot be added to an S-group more than once");this.attachmentPoints.push(U)}},{key:"addAttachmentPoints",value:function(U){var F,Q=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],B=cQ(U);try{for(B.s();!(F=B.n()).done;){var R=F.value;this.addAttachmentPoint(R,Q)}}catch(V){B.e(V)}finally{B.f()}}},{key:"removeAttachmentPoint",value:function(U){var F=this.attachmentPoints.indexOf(U);return-1!==F&&(this.attachmentPoints.splice(F,1),!0)}},{key:"getAttachmentPoints",value:function(){return this.attachmentPoints}},{key:"getConnectionPointsCount",value:function(U){var F,Q=new Set,B=cQ(this.atoms);try{for(B.s();!(F=B.n()).done;){var R,V,n=F.value,l=cQ(null!==(R=U.atomGetNeighbors(n))&&void 0!==R?R:[]);try{for(l.s();!(V=l.n()).done;){var d=V.value.aid;if(!this.atoms.includes(d)){Q.add(n);break}}}catch(J){l.e(J)}finally{l.f()}}}catch(J){B.e(J)}finally{B.f()}return Q.size}},{key:"isNotContractible",value:function(U){return this.getConnectionPointsCount(U)>1}},{key:"getAttachmentAtomId",value:function(){var U;return null===(U=this.attachmentPoints[0])||void 0===U?void 0:U.atomId}},{key:"getContractedPosition",value:function(U){var F,Q,B=this,R=null===(F=this.attachmentPoints[0])||void 0===F?void 0:F.atomId,V=U.atoms.get(R);V||(U.bonds.forEach(function(U){var F=-1!==B.atoms.indexOf(U.begin),R=-1!==B.atoms.indexOf(U.end);F&&!R?Q=U.begin:R&&!F&&(Q=U.end)}),R=(0,o.isNumber)(Q)?Q:this.atoms[0],V=U.atoms.get(R));return S()(null!=V),{atomId:R,position:V.pp}}},{key:"cloneAttachmentPoints",value:function(U){return this.attachmentPoints.map(function(F){return F.clone(U)})}},{key:"isSuperatomWithoutLabel",get:function(){return this.type===U.TYPES.SUP&&!this.data.name&&!this.data.class}},{key:"isMonomer",get:function(){return!1}}],[{key:"getOffset",value:function(U){return null!==U&&void 0!==U&&U.pp&&U.bracketBox?zF.diff(U.pp,U.bracketBox.p1):null}},{key:"isSaltOrSolvent",value:function(U){return AF.getInstance().getSaltsAndSolventsList().some(function(F){var Q=F.name,B=F.abbreviation;return Q===U||U===B})}},{key:"isAtomInSaltOrSolvent",value:function(U,F){var Q=this;return F.filter(function(U){return Q.isSaltOrSolvent(U.data.name)}).some(function(F){return F.atoms.some(function(F){return F===U})})}},{key:"isBondInSaltOrSolvent",value:function(U,F){var Q=this;return F.filter(function(U){return Q.isSaltOrSolvent(U.data.name)}).some(function(F){return F.bonds.some(function(F){return F===U})})}},{key:"filterAtoms",value:function(U,F){var Q,B=[],R=cQ(U);try{for(R.s();!(Q=R.n()).done;){var V=Q.value;"number"!==typeof F[V]?B.push(V):F[V]>=0?B.push(F[V]):B.push(-1)}}catch(n){R.e(n)}finally{R.f()}return B}},{key:"removeNegative",value:function(U){var F,Q=[],B=cQ(U);try{for(B.s();!(F=B.n()).done;){var R=F.value;R>=0&&Q.push(R)}}catch(V){B.e(V)}finally{B.f()}return Q}},{key:"filter",value:function(F,Q,B){Q.atoms=U.removeNegative(U.filterAtoms(Q.atoms,B))}},{key:"clone",value:function(F,Q){var B=new U(F.type);return Object.keys(F.data).forEach(function(U){B.data[U]=F.data[U]}),B.atoms=F.atoms.map(function(U){return Q.get(U)}),B.pp=F.pp,B.bracketBox=F.bracketBox,B.patoms=null,B.bonds=null,B.allAtoms=F.allAtoms,B.data.expanded=F.data.expanded,B.addAttachmentPoints(F.cloneAttachmentPoints(Q)),B}},{key:"addAtom",value:function(U,F,Q){U.atoms.push(F),U.isNotContractible(Q)&&U.setAttr("expanded",!0)}},{key:"removeAtom",value:function(U,F){if(U){var Q=U.atoms.indexOf(F);-1!==Q&&U.atoms.splice(Q,1)}}},{key:"getCrossBonds",value:function(U,F){var Q={};return U.bonds.forEach(function(U,B){F.has(U.begin)&&!F.has(U.end)?(Q[U.begin]||(Q[U.begin]=[]),Q[U.begin].push(B)):F.has(U.end)&&!F.has(U.begin)&&(Q[U.end]||(Q[U.end]=[]),Q[U.end].push(B))}),Q}},{key:"bracketPos",value:function(F,Q,B,R){var V=new zF(.05*3,.05*3),n=U.isCOPGroup(F)?new zF(1.2,1.2):new zF(.2,.4),l=F.atoms,d=null,J=[];F.bracketDirection=new zF(1,0),l.forEach(function(U){var F=function(U){return B&&R?B.atoms.get(U):Q.atoms.get(U)}(U);if(F){var n,l=null;"getVBoxObj"in F&&R?l=F.getVBoxObj(R):F.pp&&(n=new zF(F.pp),l=new IF(n,n)),l&&J.push(l.extend(V,V))}}),J.forEach(function(U){d=d?IF.union(d,U):U}),R||(R=window.ketcher.editor.render);var N=R.ctab.getRGroupAttachmentPointsVBoxByAtomIds(l);N=N?N.extend(V,V):N,(d=N&&d?IF.union(d,N):d)&&(d=d.extend(n,n)),F.bracketBox=d}},{key:"getBracketParameters",value:function(U,F,Q,B,R,V){var n=[],l=Object.values(F),d=l.flat();return d.length<2?function(){R=R||new zF(1,0),V=V||R.rotateSC(1,0);var U=Math.min(.25,.3*B.sz().x),F=zF.lc2(R,B.p0.x,V,.5*(B.p0.y+B.p1.y)),Q=zF.lc2(R,B.p1.x,V,.5*(B.p0.y+B.p1.y)),l=B.sz().y;n.push(new mQ(F,R.negated(),U,l),new mQ(Q,R,U,l))}():2===d.length&&2===l.length?function(){var F=U.bonds.get(d[0]),Q=U.bonds.get(d[1]),B=F.getCenter(U),R=Q.getCenter(U),V=zF.diff(R,B).normalized(),l=V.negated();n.push(new mQ(B.addScaled(l,0),l,.25,1.5),new mQ(R.addScaled(V,0),V,.25,1.5))}():function(){var F,B=cQ(d);try{for(B.s();!(F=B.n()).done;){var R=F.value,V=U.bonds.get(R),l=V.getCenter(U),J=Q.has(V.begin)?V.getDir(U):V.getDir(U).negated();n.push(new mQ(l,J,.2,1))}}catch(N){B.e(N)}finally{B.f()}}(),n}},{key:"getObjBBox",value:function(U,F){var Q,B=arguments.length>2&&void 0!==arguments[2]&&arguments[2],R=null===(Q=F.atoms.get(U[0]))||void 0===Q?void 0:Q.pp;S()(R);var V,n=new IF(R,R),l=cQ(U.slice(1));try{for(l.s();!(V=l.n()).done;){var d=V.value,J=F.atoms.get(d);S()(J);var N=J.sgs.values().next().value,Z=(0,o.isNumber)(N)?F.sgroups.get(N):void 0,W=B&&Z&&!Z.isExpanded()?Z.getContractedPosition(F).position:J.pp;n=n.include(W)}}catch(E){l.e(E)}finally{l.f()}return n}},{key:"getAtoms",value:function(U,F){if(F&&!F.allAtoms)return F.atoms;var Q=[];return U.atoms.forEach(function(U,F){Q.push(F)}),Q}},{key:"getBonds",value:function(F,Q){var B=U.getAtoms(F,Q),R=[];return F.bonds.forEach(function(U,F){B.indexOf(U.begin)>=0&&B.indexOf(U.end)>=0&&R.push(F)}),R}},{key:"prepareMulForSaving",value:function(U,F){U.atoms.sort(function(U,F){return U-F}),U.atomSet=new xF(U.atoms),U.parentAtomSet=new xF(U.atomSet);var Q=[],B=[];if(F.bonds.forEach(function(F,R){U.parentAtomSet.has(F.begin)&&U.parentAtomSet.has(F.end)?Q.push(R):(U.parentAtomSet.has(F.begin)||U.parentAtomSet.has(F.end))&&B.push(R)}),0!==B.length&&2!==B.length)throw Error("Unsupported cross-bonds number");var R=-1,V=-1,n=null;if(2===B.length){var l=F.bonds.get(B[0]);R=U.parentAtomSet.has(l.begin)?l.begin:l.end;var d=F.bonds.get(B[1]);V=U.parentAtomSet.has(d.begin)?d.begin:d.end,n=d}for(var J=V,N=[],Z=function(){var B={};if(U.atoms.forEach(function(Q){var R=F.atoms.get(Q),V=F.atoms.add(R.clone());N.push(V),U.atomSet.add(V),B[Q]=V}),Q.forEach(function(U){var Q=F.bonds.get(U).clone();Q.begin=B[Q.begin],Q.end=B[Q.end],F.bonds.add(Q)}),null!==n){var l=n.clone();l.begin=J,l.end=B[R],F.bonds.add(l),J=B[V]}},W=0;W=0){var S=F.bonds.get(B[1]);S.begin===V?S.begin=J:S.end=J}U.bonds=B,N.forEach(function(Q){F.sGroupForest.getPathToRoot(U.id).reverse().forEach(function(U){F.atomAddToSGroup(U,Q)})})}},{key:"getMassCentre",value:function(U,F){var Q,B=new zF,R=cQ(F);try{for(R.s();!(Q=R.n()).done;){var V=Q.value;B=B.addScaled(U.atoms.get(V).pp,1/F.length)}}catch(n){R.e(n)}finally{R.f()}return B}},{key:"isBondInContractedSGroup",value:function(U,F){return(0,B.A)(F.values()).some(function(F){var Q="item"in F?F.item:F,B=null===Q||void 0===Q?void 0:Q.atoms;return(null===Q||void 0===Q?void 0:Q.isContracted())&&B.includes(null===U||void 0===U?void 0:U.begin)&&B.includes(null===U||void 0===U?void 0:U.end)})}},{key:"isSuperAtom",value:function(F){return!!F&&(null===F||void 0===F?void 0:F.type)===U.TYPES.SUP}},{key:"isDataSGroup",value:function(F){return F.type===U.TYPES.DAT}},{key:"isQuerySGroup",value:function(F){return F.type===U.TYPES.queryComponent}},{key:"isSRUSGroup",value:function(F){return F.type===U.TYPES.SRU}},{key:"isMulSGroup",value:function(F){return F.type===U.TYPES.MUL}},{key:"isCOPGroup",value:function(F){return F.type===U.TYPES.COP}}]),U}();function iQ(U,F){return U.some(function(U){if(!U.pp)return!1;var Q=U.pp.add(new zF(.5,.5)),B=F.add(new zF(.5,.5));return IF.segmentIntersection(U.pp,Q,F,B)})}function bQ(U,F){var Q="undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(!Q){if(Array.isArray(U)||(Q=function(U,F){if(U){if("string"==typeof U)return vQ(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?vQ(U,F):void 0}}(U))||F&&U&&"number"==typeof U.length){Q&&(U=Q);var B=0,R=function(){};return{s:R,n:function(){return B>=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function vQ(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q2&&void 0!==arguments[2]&&arguments[2];if(0===U.size)return null;var B,R=bQ(U.values());try{for(R.s();!(B=R.n()).done;){var V=B.value;if((!Q||this.isFunctionalGroup(V.relatedSGroup))&&V.relatedSGroup.atoms.includes(F))return F}}catch(n){R.e(n)}finally{R.f()}return null}},{key:"bondsInFunctionalGroup",value:function(U,F,Q){if(0===F.size)return null;var B,R=bQ(F.values());try{for(R.s();!(B=R.n()).done;){var V=B.value;if(YQ(U,V.relatedSGroup).includes(Q))return Q}}catch(n){R.e(n)}finally{R.f()}return null}},{key:"isRGroupAttachmentPointInsideFunctionalGroup",value:function(F,Q){var B=F.rgroupAttachmentPoints.get(Q);S()(null!=B);var R=B.atomId;return U.atomsInFunctionalGroup(F.functionalGroups,R)}},{key:"findFunctionalGroupByAtom",value:function(U,F,Q){var B,R=bQ(U.values());try{for(R.s();!(B=R.n()).done;){var V=B.value;if(!V.relatedSGroup.isSuperatomWithoutLabel&&V.relatedSGroup.atoms.includes(F))return Q?V:V.relatedSGroupId}}catch(n){R.e(n)}finally{R.f()}return null}},{key:"findFunctionalGroupByBond",value:function(U,F,Q,B){var R,V=bQ(F.values());try{for(V.s();!(R=V.n()).done;){var n=R.value,l=YQ(U,n.relatedSGroup);if(null!==Q&&!n.relatedSGroup.isSuperatomWithoutLabel&&l.includes(Q))return B?n:n.relatedSGroupId}}catch(d){V.e(d)}finally{V.f()}return null}},{key:"findFunctionalGroupBySGroup",value:function(U,F){var Q=U.find(function(U,Q){return Q.relatedSGroupId===(null===F||void 0===F?void 0:F.id)});return null!==Q?U.get(Q):void 0}},{key:"clone",value:function(F){return new U((0,M.A)(F,yQ))}},{key:"isAtomInContractedFunctionalGroup",value:function(F,Q,R){return(0,B.A)(F.sgs.values()).some(function(F){var B=Q.get(F);return!!B&&U.isContractedFunctionalGroup("item"in B?B.item:B,R)})}},{key:"isBondInContractedFunctionalGroup",value:function(F,Q,R){return(0,B.A)(Q.values()).some(function(Q){var B="item"in Q?null===Q||void 0===Q?void 0:Q.item:Q,V=null===B||void 0===B?void 0:B.atoms;return U.isContractedFunctionalGroup(B,R)&&V.includes(F.begin)&&V.includes(F.end)})}},{key:"isHalfBondInContractedFunctionalGroup",value:function(U,F){var Q=F.bonds.get(U.bid);return S()(null!=Q),this.isBondInContractedFunctionalGroup(Q,F.sgroups,F.functionalGroups)}},{key:"isContractedFunctionalGroup",value:function(U,F){var Q=!1,B=!1;return U instanceof MQ?U.functionalGroup&&(Q=!0,B=U.functionalGroup.isExpanded):F.forEach(function(F){F.relatedSGroupId===U&&(Q=!0,B=F.isExpanded)}),!B&&Q}}]),U}();function OQ(U,F){var Q="undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(!Q){if(Array.isArray(U)||(Q=function(U,F){if(U){if("string"==typeof U)return LQ(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?LQ(U,F):void 0}}(U))||F&&U&&"number"==typeof U.length){Q&&(U=Q);var B=0,R=function(){};return{s:R,n:function(){return B>=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function LQ(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q=1?{valence:3,hydrogenCount:3-R-B}:{valence:2,hydrogenCount:2-R-B-V};if("S"===F||"Se"===F||"Po"===F)return 1===Q?B<=3?{valence:3,hydrogenCount:3-R-B}:{valence:5,hydrogenCount:5-R-B}:B+R+V<=2?{valence:2,hydrogenCount:2-R-B-V}:B+R+V<=4?{valence:4,hydrogenCount:4-R-B-V}:{valence:6,hydrogenCount:6-R-B-V};if("Te"===F){var n=B,l=0;return(-1===Q||0===Q||2===Q)&&B<=2?(n=2,l=2-R-B-V):0!==Q&&2!==Q||(B<=4?(n=4,l=4-R-B-V):0===Q&&B<=6?(n=6,l=6-R-B-V):l=-1),{valence:n,hydrogenCount:l}}return{valence:B,hydrogenCount:0}}},{key:"calculateGroup7Valence",value:function(U){var F=U.label,Q=U.charge,B=U.connectionCount,R=U.radicalCount,V=U.absCharge;if("F"===F)return{valence:1,hydrogenCount:1-R-B-V};if("Cl"===F||"Br"===F||"I"===F||"At"===F)if(1===Q){if(B<=2)return{valence:2,hydrogenCount:2-R-B};if(3===B||5===B||B>=7)return{valence:B,hydrogenCount:-1}}else if(0===Q){if(B<=1)return{valence:1,hydrogenCount:1-R-B};if(2===B||4===B||6===B)return 1===R?{valence:B,hydrogenCount:0}:{valence:B,hydrogenCount:-1};if(B>7)return{valence:B,hydrogenCount:-1}}return{valence:B,hydrogenCount:0}}},{key:"calculateGroup8Valence",value:function(U){var F=U.label,Q=U.connectionCount,B=U.radicalCount,R=U.absCharge;return"Pt"===F?Q+B+R<=2?{valence:2,hydrogenCount:2-B-Q-R}:Q+B+R<=4?{valence:4,hydrogenCount:4-B-Q-R}:{valence:Q,hydrogenCount:-1}:Q+B+R===0?{valence:1,hydrogenCount:0}:{valence:Q,hydrogenCount:-1}}},{key:"overrideHydrogenCountIfNeeded",value:function(U){return null!==this.implicitHCount?this.implicitHCount:U}},{key:"applyValenceResult",value:function(U,F,Q){return this.valence=U,this.implicitH=F,!(this.implicitH<0)||(this.valence=Q,this.implicitH=0,this.badConn=!0,!1)}},{key:"calcValenceMinusHyd",value:function(U){var F,Q=null!==(F=this.charge)&&void 0!==F?F:0,B=this.label,R=u.get(this.label);if(!R)return this.implicitH=0,0;var V=R.group,n=wQ(this.radical);if(3===V){if(("B"===B||"Al"===B||"Ga"===B||"In"===B)&&-1===Q&&n+U<=4)return n+U}else if(5===V){if(("N"===B||"P"===B||"Sb"===B||"Bi"===B||"As"===B)&&(1===Q||2===Q))return n+U}else if(6===V){if("O"===B){if(Q>=1)return n+U}else if(("S"===B||"Se"===B||"Po"===B)&&1===Q)return n+U}else if(7===V&&("Cl"===B||"Br"===B||"I"===B||"At"===B)&&1===Q)return n+U;return n+U+Math.abs(Q)}}],[{key:"getConnectedBondIds",value:function(U,F){var Q,B=[],V=OQ(U.bonds.entries());try{for(V.s();!(Q=V.n()).done;){var n=(0,R.A)(Q.value,2),l=n[0],d=n[1];d.begin!==F&&d.end!==F||B.push(l)}}catch(J){V.e(J)}finally{V.f()}return B}},{key:"getAttrHash",value:function(U){var Q={};for(var B in F.attrlist)"undefined"!==typeof U[B]&&(Q[B]=U[B]);return Q}},{key:"attrGetDefault",value:function(U){if(U in F.attrlist)return F.attrlist[U]}},{key:"isHeteroAtom",value:function(U){return"C"!==U&&"H"!==U}},{key:"isInAromatizedRing",value:function(U,Q){var B=U.atoms.get(Q);if(B&&F.isHeteroAtom(B.label)){var V,n=OQ(U.loops);try{for(n.s();!(V=n.n()).done;){var l=(0,R.A)(V.value,2),d=(l[0],l[1]),J=d.hbs;if(d.aromatic){var N,Z=OQ(J);try{for(Z.s();!(N=Z.n()).done;){var W=N.value,S=U.halfBonds.get(W);if(!S)return!1;var E=S.begin,k=S.end;if(E===Q||k===Q)return!0}}catch(t){Z.e(t)}finally{Z.f()}}}}catch(t){n.e(t)}finally{n.f()}}return!1}},{key:"getSuperAtomAttachmentPointByAttachmentAtom",value:function(U,F){var Q=arguments.length>2&&void 0!==arguments[2]&&arguments[2]?U.getGroupFromAtomIdBySgroups(F):U.getGroupFromAtomId(F);return null===Q||void 0===Q?void 0:Q.getAttachmentPoints().find(function(U){return U.atomId===F})}},{key:"getSuperAtomAttachmentPointByLeavingGroup",value:function(U,Q){var B,R=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return null===(B=F.isSGroup(U)?U:R?U.getGroupFromAtomIdBySgroups(Q):U.getGroupFromAtomId(Q))||void 0===B?void 0:B.getAttachmentPoints().find(function(U){return U.leaveAtomId===Q})}},{key:"isSuperatomLeavingGroupAtom",value:function(U,Q){var B=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return void 0!==Q&&Boolean(F.getSuperAtomAttachmentPointByLeavingGroup(U,Q,B))}},{key:"isSuperatomAttachmentAtom",value:function(U,Q){return void 0!==Q&&Boolean(F.getSuperAtomAttachmentPointByAttachmentAtom(U,Q))}},{key:"getAttachmentAtomExternalConnections",value:function(U,Q,B){var R=arguments.length>3&&void 0!==arguments[3]&&arguments[3],V=U.bonds,n=(0,o.isNumber)(Q)?Q:B,l=U.atoms.get(n),d=(0,o.isNumber)(Q)?F.getSuperAtomAttachmentPointByAttachmentAtom(U,n,R):F.getSuperAtomAttachmentPointByLeavingGroup(U,n,R),J=d?V.filter(function(U,F){return F.begin===d.atomId&&F.end!==d.leaveAtomId||F.end===d.atomId&&F.begin!==d.leaveAtomId}):void 0;return null===J||void 0===J?void 0:J.filter(function(F,Q){var B=U.atoms.get(Q.begin),R=U.atoms.get(Q.end);return Q.isExternalBondBetweenMonomers(U)||(null===B||void 0===B?void 0:B.fragment)!==(null===l||void 0===l?void 0:l.fragment)||(null===R||void 0===R?void 0:R.fragment)!==(null===l||void 0===l?void 0:l.fragment)})}},{key:"isHiddenLeavingGroupAtom",value:function(U,Q){var B=arguments.length>2&&void 0!==arguments[2]&&arguments[2],R=arguments.length>3&&void 0!==arguments[3]&&arguments[3],V=U.atoms.get(Q);if(V&&!R&&zQ.isAtomInContractedFunctionalGroup(V,U.sgroups,U.functionalGroups))return!1;var n=F.getAttachmentAtomExternalConnections(U,void 0,Q,B),l=F.getSuperAtomAttachmentPointByLeavingGroup(U,Q),d=B?U.getGroupFromAtomIdBySgroups(Q):U.getGroupFromAtomId(Q),J=null===d||void 0===d?void 0:d.isMonomer;return!(!d||!(J||null!==d&&void 0!==d&&d.isSuperatomWithoutLabel))&&Boolean(F.isSuperatomLeavingGroupAtom(U,Q,B)&&null!==(null===n||void 0===n?void 0:n.find(function(U,F){return F.begin===(null===l||void 0===l?void 0:l.atomId)?F.beginSuperatomAttachmentPointNumber===(null===l||void 0===l?void 0:l.attachmentPointNumber):F.endSuperatomAttachmentPointNumber===(null===l||void 0===l?void 0:l.attachmentPointNumber)})))}},{key:"isSGroup",value:function(U){return U instanceof MQ}}]),F}(wF);function wQ(U){var F=Number(U);return F===uQ.PATTERN.RADICAL.DOUPLET?1:F===uQ.PATTERN.RADICAL.SINGLET||F===uQ.PATTERN.RADICAL.TRIPLET?2:0}function jQ(U,F){return"undefined"!==typeof U?U:F}function IQ(U){return!u.get(U)&&"L"!==U&&"L#"!==U&&"R#"!==U}function KQ(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(KQ=function(){return!!U})()}(0,Z.A)(uQ,"PATTERN",{RADICAL:{NONE:0,SINGLET:1,DOUPLET:2,TRIPLET:3},STEREO_PARITY:{NONE:0,ODD:1,EVEN:2,EITHER:3}}),(0,Z.A)(uQ,"attrlist",{alias:null,label:"C",isotope:null,radical:0,cip:null,charge:null,explicitValence:-1,ringBondCount:0,substitutionCount:0,unsaturatedAtom:0,hCount:0,queryProperties:{aromaticity:null,ringMembership:null,ringSize:null,connectivity:null,chirality:null,customQuery:null},atomList:null,invRet:0,exactChangeFlag:0,rglabel:null,attachmentPoints:null,aam:0,isPreview:!1,stereoLabel:null,stereoParity:0,implicitHCount:null});var fQ=function(U){function F(U){var Q,B,R;return(0,V.A)(this,F),(R=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,KQ()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[U.initiallySelected])).begin=U.begin,R.end=U.end,R.type=U.type,R.xxx=null!==(Q=U.xxx)&&void 0!==Q?Q:"",R.stereo=F.PATTERN.STEREO.NONE,R.topology=F.PATTERN.TOPOLOGY.EITHER,R.customQuery=null,R.reactingCenterStatus=0,R.cip=null!==(B=U.cip)&&void 0!==B?B:null,R.len=0,R.sb=0,R.sa=0,R.angle=0,R.isPreview=!1,R.beginSuperatomAttachmentPointNumber=U.beginSuperatomAttachmentPointNumber,R.endSuperatomAttachmentPointNumber=U.endSuperatomAttachmentPointNumber,U.stereo&&(R.stereo=U.stereo),U.topology&&(R.topology=U.topology),U.customQuery&&(R.customQuery=U.customQuery,R.type=F.PATTERN.TYPE.ANY,R.reactingCenterStatus=null,R.topology=null),U.reactingCenterStatus&&(R.reactingCenterStatus=U.reactingCenterStatus),R.center=new zF,R}return(0,N.A)(F,U),(0,n.A)(F,[{key:"isQuery",value:function(){var U=F.PATTERN.TYPE,Q=[U.ANY,U.SINGLE_OR_DOUBLE,U.SINGLE_OR_AROMATIC,U.DOUBLE_OR_AROMATIC,U.AROMATIC];return null!==this.customQuery||Q.includes(this.type)||U.SINGLE===this.type&&this.stereo===F.PATTERN.STEREO.EITHER}},{key:"hasRxnProps",value:function(){return!!this.reactingCenterStatus}},{key:"getCenter",value:function(U){var F=U.atoms.get(this.begin).pp,Q=U.atoms.get(this.end).pp;return zF.lc2(F,.5,Q,.5)}},{key:"getDir",value:function(U){var F=U.atoms.get(this.begin).pp;return U.atoms.get(this.end).pp.sub(F).normalized()}},{key:"clone",value:function(U){var Q=new F(this);return U&&(Q.begin=U.get(Q.begin),Q.end=U.get(Q.end)),Q}},{key:"getAttachedSGroups",value:function(U){var F,Q,B,R,V=null!==(F=null===(Q=U.atoms.get(this.begin))||void 0===Q?void 0:Q.sgs)&&void 0!==F?F:new xF,n=null!==(B=null===(R=U.atoms.get(this.end))||void 0===R?void 0:R.sgs)&&void 0!==B?B:new xF;return null===V||void 0===V?void 0:V.intersection(n)}},{key:"isExternalBondBetweenMonomers",value:function(U){if(!U.isBondFromMacromolecule(this))return!1;var F=U.getGroupFromAtomId(this.begin),Q=U.getGroupFromAtomId(this.end);return!(!F||!Q)&&F!==Q}}],[{key:"getAttrHash",value:function(U){var Q={};for(var B in F.attrlist)(U[B]||"stereo"===B)&&(Q[B]=U[B]);return Q}},{key:"getBondNeighbourIds",value:function(U,F){var Q=U.bonds.get(F),B=Q.begin,R=Q.end,V=uQ.getConnectedBondIds(U,B).filter(function(U){return U!==F}),n=uQ.getConnectedBondIds(U,R).filter(function(U){return U!==F});return{beginBondIds:V,endBondIds:n}}},{key:"getFusingConditions",value:function(U,F,Q){var B=this.PATTERN.TYPE,R=B.DOUBLE,V=B.SINGLE,n=F.type===V&&U.type===R&&Q.type===V;return{isFusingToSingleBond:F.type===R&&U.type===V&&Q.type===R,isFusingToDoubleBond:n,isFusingDoubleSingleSingle:F.type===R&&U.type===V&&Q.type===V,isFusingSingleSingleDouble:F.type===V&&U.type===V&&Q.type===R,isAllSingle:F.type===V&&U.type===V&&Q.type===V}}},{key:"getBenzeneConnectingBondType",value:function(U,Q,B){var R=this.PATTERN.TYPE,V=R.DOUBLE,n=R.SINGLE,l=F.getFusingConditions(U,Q,B),d=l.isFusingToSingleBond;return l.isFusingToDoubleBond?V:d?n:null}},{key:"getCyclopentadieneFusingBondType",value:function(U,Q,B){var R=this.PATTERN.TYPE,V=R.DOUBLE,n=R.SINGLE,l=F.getFusingConditions(U,Q,B),d=l.isFusingToSingleBond,J=l.isFusingToDoubleBond,N=l.isFusingDoubleSingleSingle,Z=l.isAllSingle;return J?V:d||Z||N?n:null}},{key:"getCyclopentadieneDoubleBondIndexes",value:function(U,Q,B){var R=F.getFusingConditions(U,Q,B),V=R.isFusingToSingleBond,n=R.isFusingToDoubleBond,l=R.isFusingDoubleSingleSingle;return V||n?[3]:l?[2,4]:[1,3]}},{key:"attrGetDefault",value:function(U){if(U in F.attrlist)return F.attrlist[U]}},{key:"isBondToHiddenLeavingGroup",value:function(U,F){var Q=arguments.length>2&&void 0!==arguments[2]&&arguments[2],B=uQ.getSuperAtomAttachmentPointByLeavingGroup(U,F.begin),R=uQ.getSuperAtomAttachmentPointByLeavingGroup(U,F.end);return B&&uQ.isHiddenLeavingGroupAtom(U,F.begin,!1,Q)&&F.end===B.atomId||R&&uQ.isHiddenLeavingGroupAtom(U,F.end,!1,Q)&&F.begin===R.atomId}},{key:"isBondToExpandedMonomer",value:function(U,F){return(0,B.A)(U.sgroups.values()).some(function(U){return(U.atoms.includes(F.begin)&&!U.atoms.includes(F.end)||U.atoms.includes(F.end)&&!U.atoms.includes(F.begin))&&U.isExpanded()&&U.isMonomer})}}]),F}(wF);xQ=fQ,(0,Z.A)(fQ,"PATTERN",{TYPE:{SINGLE:1,DOUBLE:2,TRIPLE:3,AROMATIC:4,SINGLE_OR_DOUBLE:5,SINGLE_OR_AROMATIC:6,DOUBLE_OR_AROMATIC:7,ANY:8,DATIVE:9,HYDROGEN:10},STEREO:{NONE:0,UP:1,EITHER:4,DOWN:6,CIS_TRANS:3},TOPOLOGY:{EITHER:0,RING:1,CHAIN:2},REACTING_CENTER:{NOT_CENTER:-1,UNMARKED:0,CENTER:1,UNCHANGED:2,MADE_OR_BROKEN:4,ORDER_CHANGED:8,MADE_OR_BROKEN_AND_CHANGED:12}}),(0,Z.A)(fQ,"attrlist",{type:xQ.PATTERN.TYPE.SINGLE,stereo:xQ.PATTERN.STEREO.NONE,topology:xQ.PATTERN.TOPOLOGY.EITHER,reactingCenterStatus:xQ.PATTERN.REACTING_CENTER.UNMARKED,cip:null,customQuery:null});var gQ,PQ=function(){function U(F){(0,V.A)(this,U),this.value=F instanceof U?F.value:F}return(0,n.A)(U,[{key:"add",value:function(F){return new U(this.value+F.value)}},{key:"sub",value:function(F){return new U(this.value-F.value)}},{key:"multiply",value:function(F){var Q=F instanceof U,B=Q?F.value:F,R=this.value*B;return new U(Math.round(Q?R/U.MULTIPLIER:R))}},{key:"divide",value:function(F){var Q=F instanceof U,B=Q?F.value:F,R=this.value/B;return new U(Math.round(Q?R*U.MULTIPLIER:R))}},{key:"getFloatingPrecision",value:function(){return this.value/U.MULTIPLIER}}],[{key:"fromFloatingPrecision",value:function(F){return new U(Math.round(F*U.MULTIPLIER))}}]),U}();function AQ(U,F,Q){(function(U,F){if(F.has(U))throw new TypeError("Cannot initialize the same private elements twice on an object")})(U,F),F.set(U,Q)}function qQ(U,F){if(F&&0!==F.length){var Q=F.map(function(F){return U.atoms.get(F)}).filter(function(U){return null===U||void 0===U?void 0:U.stereoLabel});if(Q.length){var B,R=Q[0].stereoLabel,V=Q.some(function(U){return(null===U||void 0===U?void 0:U.stereoLabel)!==R});if(V)B=gQ.Mixed;else{var n,l=null===(n=R.match(/\D+/g))||void 0===n?void 0:n[0];switch(l){case XQ.Abs:B=gQ.Abs;break;case XQ.And:B=gQ.And;break;case XQ.Or:B=gQ.Or;break;default:throw new Error("Unsupported stereo label: ".concat(l,"."))}}return B}}}(0,Z.A)(PQ,"MULTIPLIER",Math.pow(10,5)),function(U){U.Mixed="MIXED",U.Abs="ABS",U.And="AND",U.Or="OR"}(gQ||(gQ={}));var _Q=new WeakMap,$Q=new WeakMap,UB=function(){function U(){var F=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],Q=arguments.length>1?arguments[1]:void 0,B=arguments.length>2?arguments[2]:void 0;(0,V.A)(this,U),AQ(this,_Q,{writable:!0,value:void 0}),AQ(this,$Q,{writable:!0,value:void 0}),Q&&(this.stereoFlagPosition=new zF(Q)),B&&(this.properties=B),(0,i.A)(this,$Q,F)}return(0,n.A)(U,[{key:"stereoAtoms",get:function(){return(0,B.A)((0,M.A)(this,$Q))}},{key:"enhancedStereoFlag",get:function(){return(0,M.A)(this,_Q)}},{key:"clone",value:function(F){var Q=new U((0,M.A)(this,$Q).map(function(U){return F.get(U)}),this.stereoFlagPosition,this.properties);return(0,i.A)(Q,_Q,(0,M.A)(this,_Q)),Q}},{key:"updateStereoFlag",value:function(U){return(0,i.A)(this,_Q,qQ(U,this.stereoAtoms)),(0,M.A)(this,_Q)}},{key:"updateStereoAtom",value:function(U,F,Q,B){var R;B&&!(0,M.A)(this,$Q).includes(F)&&(0,M.A)(this,$Q).push(F),B||(null===(R=U.atoms.get(F))||void 0===R?void 0:R.fragment)===Q&&Array.from(U.bonds.values()).filter(function(U){return U.stereo&&U.type!==fQ.PATTERN.TYPE.DOUBLE}).some(function(U){return U.begin===F})||(0,i.A)(this,$Q,this.stereoAtoms.filter(function(U){return U!==F})),(0,i.A)(this,_Q,qQ(U,this.stereoAtoms))}},{key:"addStereoAtom",value:function(U){return!(0,M.A)(this,$Q).includes(U)&&(this.stereoAtoms.push(U),!0)}},{key:"deleteStereoAtom",value:function(U,F,Q){var B;return((null===(B=U.atoms.get(Q))||void 0===B?void 0:B.fragment)!==F||!Array.from(U.bonds.values()).filter(function(U){return U.stereo&&U.type!==fQ.PATTERN.TYPE.DOUBLE}).some(function(U){return U.begin===Q}))&&((0,i.A)(this,$Q,(0,M.A)(this,$Q).filter(function(U){return U!==Q})),!0)}}],[{key:"getDefaultStereoFlagPosition",value:function(U,F){var Q=U.getFragment(F);if(Q){var B=Q.getCoordBoundingBox();return new zF(B.max.x,B.min.y-1)}}}]),U}(),FB=(0,n.A)(function U(F,Q,B){(0,V.A)(this,U),S()(3===arguments.length,"Invalid parameter number."),this.begin=F,this.end=Q,this.bid=B,this.dir=new zF,this.norm=new zF,this.ang=0,this.p=new zF,this.loop=-1,this.contra=-1,this.next=-1,this.leftSin=0,this.leftCos=0,this.leftNeighbor=0,this.rightSin=0,this.rightCos=0,this.rightNeighbor=0}),QB=(0,n.A)(function U(F,Q,B){var R=this;(0,V.A)(this,U),this.hbs=F,this.dblBonds=0,this.aromatic=!0,this.convex=B||!1,F.forEach(function(U){var F=Q.bonds.get(Q.halfBonds.get(U).bid);F.type!==fQ.PATTERN.TYPE.AROMATIC&&(R.aromatic=!1),F.type===fQ.PATTERN.TYPE.DOUBLE&&R.dblBonds++})}),BB=function(){function U(F){var Q,B,R,n;(0,V.A)(this,U),this.frags=new xF,this.resth=null!==(Q=null===F||void 0===F?void 0:F.resth)&&void 0!==Q&&Q,this.range=null!==(B=null===F||void 0===F?void 0:F.range)&&void 0!==B?B:"",this.ifthen=null!==(R=null===F||void 0===F?void 0:F.ifthen)&&void 0!==R?R:0,this.index=null!==(n=null===F||void 0===F?void 0:F.index)&&void 0!==n?n:-1}return(0,n.A)(U,[{key:"getAttrs",value:function(){return{resth:this.resth,range:this.range,ifthen:this.ifthen,index:this.index}}},{key:"clone",value:function(F){var Q=new U(this);return this.frags.forEach(function(U){F&&!F.has(U)||Q.frags.add(F?F.get(U):U)}),Q}}],[{key:"findRGroupByFragment",value:function(U,F){return U.find(function(U,Q){return Q.frags.has(F)})}}]),U}();function RB(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(RB=function(){return!!U})()}var VB,nB=function(U){function F(U,Q,B){var R;return(0,V.A)(this,F),(R=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,RB()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[B])).atomId=U,R.type=Q,R}return(0,N.A)(F,U),(0,n.A)(F,[{key:"clone",value:function(U){var Q=null===U||void 0===U?void 0:U.get(this.atomId);return new F(null!==Q&&void 0!==Q?Q:this.atomId,this.type,this.initiallySelected)}}]),F}(wF);function lB(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(lB=function(){return!!U})()}!function(U){U.OpenAngle="open-angle",U.FilledTriangle="filled-triangle",U.FilledBow="filled-bow",U.DashedOpenAngle="dashed-open-angle",U.Failed="failed",U.Retrosynthetic="retrosynthetic",U.BothEndsFilledTriangle="both-ends-filled-triangle",U.EquilibriumFilledTriangle="equilibrium-filled-triangle",U.EquilibriumFilledHalfBow="equilibrium-filled-half-bow",U.EquilibriumOpenAngle="equilibrium-open-angle",U.UnbalancedEquilibriumFilledHalfBow="unbalanced-equilibrium-filled-half-bow",U.UnbalancedEquilibriumOpenHalfAngle="unbalanced-equilibrium-open-half-angle",U.UnbalancedEquilibriumLargeFilledHalfBow="unbalanced-equilibrium-large-filled-half-bow",U.UnbalancedEquilibriumFilledHalfTriangle="unbalanced-equilibrium-filled-half-triangle",U.EllipticalArcFilledBow="elliptical-arc-arrow-filled-bow",U.EllipticalArcFilledTriangle="elliptical-arc-arrow-filled-triangle",U.EllipticalArcOpenAngle="elliptical-arc-arrow-open-angle",U.EllipticalArcOpenHalfAngle="elliptical-arc-arrow-open-half-angle"}(VB||(VB={}));var dB=function(U){function F(U){var Q;if((0,V.A)(this,F),(Q=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,lB()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[null===U||void 0===U?void 0:U.initiallySelected])).pos=[],Q.arrowId=U.arrowId,U.pos)for(var B=0;B0;){var Q=F.shift();if("number"!==typeof Q)break;var B=this.children.get(Q);if("undefined"===typeof B)break;B.forEach(function(U){F.push(U)}),U.push(Q)}return U}},{key:"getAtomSetRelations",value:function(U,F){var Q=this,B=new Map,R=new Map;this.atomSets.delete(U),this.atomSets.forEach(function(U,Q){R.set(Q,U.isSuperset(F)),B.set(Q,F.isSuperset(U)&&!U.equals(F))});var V=Array.from(this.atomSets.keys()).filter(function(U){if(!R.get(U))return!1;var F=Q.children.get(U);return F&&F.findIndex(function(U){return R.get(U)})<0}),n=Array.from(this.atomSets.keys()).filter(function(U){return B.get(U)&&!B.get(Q.parent.get(U))});return{children:n,parent:0===V.length?-1:V[0]}}},{key:"getPathToRoot",value:function(U){for(var F=[],Q=U;Q>=0;Q=this.parent.get(Q))F.push(Q);return F}},{key:"insert",value:function(U,F,Q){var B,R=this,V=U.id,n=U.atoms;if(S()(!this.parent.has(V),"sgid already present in the forest"),S()(!this.children.has(V),"sgid already present in the forest"),!F||!Q){var l=this.getAtomSetRelations(V,new xF(n));F=l.parent,Q=l.children}return Q.forEach(function(U){R.resetParentLink(U,V)}),this.children.set(V,Q.filter(function(U){return R.parent.get(U)})),this.parent.set(V,F),null===(B=this.children.get(F))||void 0===B||B.push(V),this.atomSets.set(V,new xF(n)),{parent:F,children:Q}}},{key:"resetParentLink",value:function(U,F){var Q=this.parent.get(U);if("undefined"!==typeof Q){var B=this.children.get(Q);if(B){var R=B.indexOf(U);B.splice(R,1),this.parent.set(U,F)}}}},{key:"remove",value:function(U){var F,Q=this;try{S()(this.parent.has(U),"sgid is not in the forest"),S()(this.children.has(U),"sgid is not in the forest")}catch(n){GU.error("sgroupForest.ts::SGroupForest::remove",n)}var B=this.parent.get(U);if("undefined"!==typeof B){var R=this.children.get(B);if(R){null===(F=this.children.get(U))||void 0===F||F.forEach(function(U){var F;Q.parent.set(U,B),null===(F=Q.children.get(B))||void 0===F||F.push(U)});var V=R.indexOf(U);R.splice(V,1),this.children.delete(U),this.parent.delete(U),this.atomSets.delete(U)}}}}]),U}();function SB(U,F){var Q=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],B={common:function(F){var B=U.sgroups.get(F);if("DAT"===(null===B||void 0===B?void 0:B.type))return!1;var R=MQ.getAtoms(U,B);return R.length=0:Q.findIndex(function(U){return-1===R.indexOf(U)})>=0},queryComponent:function(F){var B=U.sgroups.get(F);if("queryComponent"!==(null===B||void 0===B?void 0:B.type))return!1;var R=MQ.getAtoms(U,B);return Q.some(function(U){return R.includes(U)})}},R=Q.reduce(function(F,Q){var B=U.atoms.get(Q);return B?F.union(B.sgs):F},new xF);return Array.from(R).some(B[F])}function EB(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(EB=function(){return!!U})()}!function(U){U.ellipse="ellipse",U.rectangle="rectangle",U.line="line"}(NB||(NB={}));var kB=function(U){function F(U){var Q,B;if((0,V.A)(this,F),(B=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,EB()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[null===U||void 0===U?void 0:U.initiallySelected])).pos=[],null!==U&&void 0!==U&&U.pos)for(var R=0;R=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function aB(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q2&&void 0!==arguments[2]&&arguments[2],R=new F(U.type,U.monomer);return R.pp=U.pp,R.atoms=Q?U.atoms.map(function(U){return Q.get(U)}):U.atoms,R.data.expanded=U.isExpanded(),R.data.name=U.data.name,B&&Q&&R.addAttachmentPoints(U.cloneAttachmentPoints(Q),!1),R}}]),F}(MQ);function oB(U,F,Q){F.includes(Q)||U.set(Q,{stereoParity:uQ.PATTERN.STEREO_PARITY.NONE,stereoLabel:null})}function pB(U,F,Q){var B=new Map,R=[];return F.forEach(function(F){if(F){var Q=U.atomGetNeighbors(F.begin),V=U.atomGetNeighbors(F.end);if(gF.isCorrectStereoCenter(F,Q,V,U)){var n,l,d=null===(n=U.atoms.get(F.begin))||void 0===n?void 0:n.stereoLabel;null!=d&&null!=(null===(l=B.get(F.begin))||void 0===l?void 0:l.stereoLabel)||B.set(F.begin,{stereoParity:hB(F.stereo),stereoLabel:null!==d&&void 0!==d?d:"".concat(XQ.Abs)}),R.push(F.begin)}else oB(B,R,F.begin),oB(B,R,F.end)}}),Q&&(oB(B,R,Q.begin),oB(B,R,Q.end)),B}function hB(U){var F=null;switch(U){case fQ.PATTERN.STEREO.UP:F=uQ.PATTERN.STEREO_PARITY.ODD;break;case fQ.PATTERN.STEREO.EITHER:F=uQ.PATTERN.STEREO_PARITY.EITHER;break;case fQ.PATTERN.STEREO.DOWN:F=uQ.PATTERN.STEREO_PARITY.EVEN}return F}var cB=Math.PI/12;function rB(U,F){var Q=zF.diff(F,U);return Math.atan2(Q.y,Q.x)}function mB(U,F){return F&&(U=rB(U,F)),Math.round(U/cB)*cB}function MB(U){var F=Math.round(U/Math.PI*180);return F>180?F-=360:F<=-180&&(F+=360),F}var iB=function(U,F,Q){var B=U.sub(F);return(B=B.rotate(Q)).add_(F),B.sub(U)},bB=function(U,F,Q){var B=new zF;return"horizontal"===Q?B.x=F.x>U.x?2*(F.x-U.x):-2*(U.x-F.x):B.y=F.y>U.y?2*(F.y-U.y):-2*(U.y-F.y),B},vB={calcAngle:rB,fracAngle:mB,degrees:MB,setFracAngle:function(U){cB=Math.PI/180*U},mergeBondsParams:function(U,F,Q,B){var R=U.atoms.get(F.begin),V=Q.atoms.get(B.begin),n=U.atoms.get(F.end),l=Q.atoms.get(B.end),d=rB(R.pp,n.pp)-rB(V.pp,l.pp),J=Math.abs(MB(d)%180),N=zF.dist(R.pp,n.pp)/zF.dist(V.pp,l.pp);return{merged:!(0,o.inRange)(J,10,170)&&(0,o.inRange)(N,.8,1.2),angle:d,scale:N,cross:Math.abs(MB(d))>90}},calcNewAtomPos:function(U,F,Q){var B=new zF(1,0).rotate(Q?rB(U,F):mB(U,F));return B.add_(U),B}};function GB(U,F){var Q="undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(!Q){if(Array.isArray(U)||(Q=function(U,F){if(U){if("string"==typeof U)return sB(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?sB(U,F):void 0}}(U))||F&&U&&"number"==typeof U.length){Q&&(U=Q);var B=0,R=function(){};return{s:R,n:function(){return B>=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function sB(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q=V.length)return null;var J=V[d];if(!J)return null;var N=J.attachmentAtom,Z=null===(Q=J.leavingGroup)||void 0===Q?void 0:Q.atoms;if(void 0===N||!Z||0===Z.length)return null;var W,S=GB(Z);try{for(S.s();!(W=S.n()).done;){var E=W.value,k=R.findBondId(E,N);if(null!==k){var t=R.bonds.get(k);if(t)if((t.stereo===fQ.PATTERN.STEREO.UP||t.stereo===fQ.PATTERN.STEREO.DOWN)&&t.begin===N)return t.stereo}}}catch(a){S.e(a)}finally{S.f()}return null}function YB(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function yB(U){for(var F=1;F=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function OB(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q=1}},{key:"hasMultitailArrow",value:function(){return this.multitailArrows.size>=1}},{key:"hasRxnPluses",value:function(){return this.rxnPluses.size>0}},{key:"isRxn",value:function(){return this.hasRxnArrow()||this.hasRxnPluses()}},{key:"isBlank",value:function(){return 0===this.atoms.size&&0===this.rxnArrows.size&&0===this.rxnPluses.size&&0===this.simpleObjects.size&&0===this.texts.size&&0===this.images.size&&0===this.multitailArrows.size}},{key:"isSingleGroup",value:function(){if(!this.sgroups.size||this.sgroups.size>1)return!1;var U=this.sgroups.values().next().value;return void 0!==U&&this.atoms.size===U.atoms.length}},{key:"clone",value:function(F,Q,B,R,V,n,l,d,J,N){var Z=arguments.length>10&&void 0!==arguments[10]&&arguments[10],W=this.mergeInto(new U,F,Q,B,!1,R,V,n,l,d,J,N,Z);return W.findConnectedComponents(),W.setImplicitHydrogen(void 0,!0),W.setStereoLabelsToAtoms(),W.markFragments(),W}},{key:"getScaffold",value:function(){var U=this,F=new xF;return this.atoms.forEach(function(U,Q){F.add(Q)}),this.rgroups.forEach(function(Q){Q.frags.forEach(function(Q,B){U.atoms.forEach(function(U,Q){U.fragment===B&&F.delete(Q)})})}),this.clone(F)}},{key:"getFragmentIds",value:function(U){var F=new xF,Q=Array.isArray(U)?U:[U];return this.atoms.forEach(function(U,B){Q.includes(U.fragment)&&F.add(B)}),F}},{key:"getFragment",value:function(U,F){return this.clone(this.getFragmentIds(U),null,!0,F)}},{key:"getFragmentOnly",value:function(U,F){return this.clone(this.getFragmentIds(U),null,!0,F,new xF,new xF,new xF,new xF,new xF)}},{key:"mergeInto",value:function(U,F,Q,B,R,V,n,l,d,J,N,Z){var W=this,E=arguments.length>12&&void 0!==arguments[12]&&arguments[12],k=null!==F&&void 0!==F?F:new xF(this.atoms.keys()),t=null!==Q&&void 0!==Q?Q:new xF(this.bonds.keys()),a=null!==n&&void 0!==n?n:new xF(this.simpleObjects.keys()),T=null!==l&&void 0!==l?l:new xF(this.texts.keys()),e=null!==J&&void 0!==J?J:new xF(this.images.keys()),C=null!==N&&void 0!==N?N:new xF(this.multitailArrows.keys()),D=null!==d&&void 0!==d?d:new xF(this.rgroupAttachmentPoints.keys()),o=null!==V&&void 0!==V?V:new Map,p=null!==Z&&void 0!==Z?Z:new Map;t=t.filter(function(U){var F=W.bonds.get(U);return k.has(F.begin)&&k.has(F.end)});var h=new xF;this.atoms.forEach(function(U,F){k.has(F)&&h.add(U.fragment)});var c=new Map;this.frags.forEach(function(F,Q){h.has(Q)&&c.set(Q,U.frags.add(null))});var r=[];this.rgroups.forEach(function(F,Q){var B=R;if(B||(F.frags.forEach(function(U,F){r.push(F),h.has(F)&&(B=!0)}),B)){var V=U.rgroups.get(Q);V?F.frags.forEach(function(U,F){r.push(F),h.has(F)&&V.frags.add(c.get(F))}):U.rgroups.set(Q,F.clone(c))}}),this.atoms.forEach(function(F,Q){k.has(Q)&&-1===r.indexOf(F.fragment)&&o.set(Q,U.atoms.add(F.clone(c)))}),this.atoms.forEach(function(F,Q){k.has(Q)&&-1!==r.indexOf(F.fragment)&&o.set(Q,U.atoms.add(F.clone(c)))}),c.forEach(function(F,Q){var B=W.frags.get(Q);B&&B instanceof UB&&U.frags.set(F,W.frags.get(Q).clone(o))}),this.bonds.forEach(function(F,Q){t.has(Q)&&p.set(Q,U.bonds.add(F.clone(o)))});var m={};return this.sgroups.forEach(function(F,Q){if(!F.atoms.some(function(U){return!k.has(U)})){var B=F;F=B instanceof DB?DB.clone(B,o,E):MQ.clone(F,o);var R=U.sgroups.add(F);F.id=R,m[Q]=R,F.atoms.forEach(function(F){var Q=U.atoms.get(F);Q&&Q.sgs.add(R)}),"DAT"===F.type?U.sGroupForest.insert(F,-1,[]):U.sGroupForest.insert(F)}}),this.functionalGroups.forEach(function(F){if(!F.relatedSGroup.atoms.some(function(U){return!k.has(U)})){var Q=U.sgroups.get(m[F.relatedSGroupId]);F=Q?new zQ(Q):zQ.clone(F),U.functionalGroups.add(F)}}),a.forEach(function(F){U.simpleObjects.add(W.simpleObjects.get(F).clone())}),T.forEach(function(F){U.texts.add(W.texts.get(F).clone())}),e.forEach(function(F){U.images.add(W.images.get(F).clone())}),C.forEach(function(F){U.addMultitailArrow(W.multitailArrows.get(F).clone())}),D.forEach(function(F){var Q=W.rgroupAttachmentPoints.get(F);S()(null!=Q),U.rgroupAttachmentPoints.add(Q.clone(o))}),B||(U.isReaction=this.isReaction,this.rxnArrows.forEach(function(F){U.addRxnArrow(F.clone())}),this.rxnPluses.forEach(function(F){U.rxnPluses.add(F.clone())})),U.name=this.name,U}},{key:"prepareLoopStructure",value:function(){this.initHalfBonds(),this.initNeighbors(),this.updateHalfBonds(Array.from(this.atoms.keys())),this.sortNeighbors(Array.from(this.atoms.keys())),this.findLoops()}},{key:"atomAddToSGroup",value:function(U,F){MQ.addAtom(this.sgroups.get(U),F,this),this.atoms.get(F).sgs.add(U)}},{key:"calcConn",value:function(U){var F,Q=arguments.length>1&&void 0!==arguments[1]&&arguments[1],B=0,R=zB(U.neighbors);try{for(R.s();!(F=R.n()).done;){var V=F.value,n=this.halfBonds.get(V),l=this.bonds.get(n.bid);if(!fQ.isBondToHiddenLeavingGroup(this,l,Q))switch(l.type){case fQ.PATTERN.TYPE.SINGLE:B+=1;break;case fQ.PATTERN.TYPE.DOUBLE:B+=2;break;case fQ.PATTERN.TYPE.TRIPLE:B+=3;break;case fQ.PATTERN.TYPE.DATIVE:case fQ.PATTERN.TYPE.HYDROGEN:break;case fQ.PATTERN.TYPE.AROMATIC:return 1===U.neighbors.length?[-1,!0]:[U.neighbors.length,!0];default:return[-1,!1]}}}catch(d){R.e(d)}finally{R.f()}return[B,!1]}},{key:"findBondId",value:function(U,F){return this.bonds.find(function(Q,B){return B.begin===U&&B.end===F||B.begin===F&&B.end===U})}},{key:"initNeighbors",value:function(){var U=this;this.atoms.forEach(function(U){U.neighbors=[]}),this.bonds.forEach(function(F){var Q=U.atoms.get(F.begin),B=U.atoms.get(F.end);Q.neighbors.push(F.hb1),B.neighbors.push(F.hb2)})}},{key:"bondInitHalfBonds",value:function(U,F){var Q;(F=null!==(Q=F)&&void 0!==Q?Q:this.bonds.get(U)).hb1=2*U,F.hb2=2*U+1,this.halfBonds.set(F.hb1,new FB(F.begin,F.end,U)),this.halfBonds.set(F.hb2,new FB(F.end,F.begin,U));var B=this.halfBonds.get(F.hb1),R=this.halfBonds.get(F.hb2);B.contra=F.hb2,R.contra=F.hb1}},{key:"halfBondUpdate",value:function(U){var F,Q,B=this.halfBonds.get(U),R=this.getGroupFromAtomId(B.begin),V=this.getGroupFromAtomId(B.end);if(R instanceof DB&&R!==V)F=R.isContracted()?R.pp:this.atoms.get(B.begin).pp;else if(R&&R!==V&&R.isContracted()){var n;F=null!==(n=R.getContractedPosition(this).position)&&void 0!==n?n:this.atoms.get(B.begin).pp}else F=this.atoms.get(B.begin).pp;if(V instanceof DB&&R!==V)Q=V.isContracted()?V.pp:this.atoms.get(B.end).pp;else if(V&&V!==R&&V.isContracted()){var l;Q=null!==(l=V.getContractedPosition(this).position)&&void 0!==l?l:this.atoms.get(B.end).pp}else Q=this.atoms.get(B.end).pp;var d=zF.diff(Q,F).normalized();B.dir=zF.dist(Q,F)>1e-4?d:new zF(1,0),B.norm=B.dir.turnLeft(),B.ang=B.dir.oxAngle(),B.loop<0&&(B.loop=-1)}},{key:"initHalfBonds",value:function(){var U=this;this.halfBonds.clear(),this.bonds.forEach(function(F,Q){U.bondInitHalfBonds(Q,F)})}},{key:"setHbNext",value:function(U,F){this.halfBonds.get(this.halfBonds.get(U).contra).next=F}},{key:"halfBondSetAngle",value:function(U,F){var Q=this.halfBonds.get(U),B=this.halfBonds.get(F);B.rightCos=zF.dot(B.dir,Q.dir),Q.leftCos=zF.dot(B.dir,Q.dir),B.rightSin=zF.cross(B.dir,Q.dir),Q.leftSin=zF.cross(B.dir,Q.dir),Q.leftNeighbor=F,B.rightNeighbor=U}},{key:"atomAddNeighbor",value:function(U){var F,Q=this.halfBonds.get(U),B=this.atoms.get(Q.begin);for(F=0;FQ.ang);++F);B.neighbors.splice(F,0,U);var R=B.neighbors[(F+1)%B.neighbors.length],V=B.neighbors[(F+B.neighbors.length-1)%B.neighbors.length];this.setHbNext(V,U),this.setHbNext(U,R),this.halfBondSetAngle(U,V),this.halfBondSetAngle(R,U)}},{key:"atomSortNeighbors",value:function(U){var F=this,Q=this.atoms.get(U),B=this.halfBonds;Q.neighbors.sort(function(U,F){return B.get(U).ang-B.get(F).ang}),Q.neighbors.forEach(function(U,B){var R=Q.neighbors[(B+1)%Q.neighbors.length];F.halfBonds.get(F.halfBonds.get(U).contra).next=R,F.halfBondSetAngle(R,U)})}},{key:"sortNeighbors",value:function(U){var F=this;U?U.forEach(function(U){F.atomSortNeighbors(U)}):this.atoms.forEach(function(U,Q){F.atomSortNeighbors(Q)})}},{key:"atomUpdateHalfBonds",value:function(U){var F=this;this.atoms.get(U).neighbors.forEach(function(U){F.halfBondUpdate(U),F.halfBondUpdate(F.halfBonds.get(U).contra)})}},{key:"updateHalfBonds",value:function(U){var F=this;U?U.forEach(function(U){F.atomUpdateHalfBonds(U)}):this.atoms.forEach(function(U,Q){F.atomUpdateHalfBonds(Q)})}},{key:"sGroupsRecalcCrossBonds",value:function(){var U=this;this.sgroups.forEach(function(U){U.xBonds=[],U.neiAtoms=[]}),this.bonds.forEach(function(F,Q){var B=U.atoms.get(F.begin),R=U.atoms.get(F.end);B.sgs.forEach(function(B){if(!R.sgs.has(B)){var V=U.sgroups.get(B);V.xBonds.push(Q),LB(V.neiAtoms,F.end)}}),R.sgs.forEach(function(R){if(!B.sgs.has(R)){var V=U.sgroups.get(R);V.xBonds.push(Q),LB(V.neiAtoms,F.begin)}})})}},{key:"sGroupDelete",value:function(U){var F=this;this.sgroups.get(U).atoms.forEach(function(Q){F.atoms.get(Q).sgs.delete(U)}),this.sGroupForest.remove(U),this.sgroups.delete(U)}},{key:"atomSetPos",value:function(U,F){this.atoms.get(U).pp=F}},{key:"rxnPlusSetPos",value:function(U,F){this.rxnPluses.get(U).pp=F}},{key:"rxnArrowSetPos",value:function(U,F){var Q=this.rxnArrows.get(U);Q&&(Q.pos=F)}},{key:"simpleObjectSetPos",value:function(U,F){this.simpleObjects.get(U).pos=F}},{key:"textSetPosition",value:function(U,F){var Q=this.texts.get(U);Q&&(Q.position=F)}},{key:"getCoordBoundingBox",value:function(U){var F=null;function Q(U){F?U instanceof Array?U.forEach(function(U){F.min=zF.min(F.min,U),F.max=zF.max(F.max,U)}):(F.min=zF.min(F.min,U),F.max=zF.max(F.max,U)):F={min:U,max:U}}var B=!U||0===U.size;return this.atoms.forEach(function(F,R){(B||U.has(R))&&Q(F.pp)}),B&&(this.rxnPluses.forEach(function(U){Q(U.pp)}),this.rxnArrows.forEach(function(U){Q(U.pos)}),this.simpleObjects.forEach(function(U){Q(U.pos)}),this.texts.forEach(function(U){Q(U.position)})),!F&&B&&(F={min:new zF(0,0),max:new zF(1,1)}),F}},{key:"getCoordBoundingBoxObj",value:function(){var U=null;return this.atoms.forEach(function(F){var Q;Q=F.pp,U?(U.min=zF.min(U.min,Q),U.max=zF.max(U.max,Q)):U={min:new zF(Q),max:new zF(Q)}}),U}},{key:"getBondLengthData",value:function(){var U=this,F=0,Q=0;return this.bonds.forEach(function(B){F+=zF.dist(U.atoms.get(B.begin).pp,U.atoms.get(B.end).pp),Q++}),{cnt:Q,totalLength:F}}},{key:"getAvgBondLength",value:function(){var U=this.getBondLengthData();return U.cnt>0?U.totalLength/U.cnt:-1}},{key:"getAvgClosestAtomDistance",value:function(){var U,F,Q,B=0,R=0,V=Array.from(this.atoms.keys());for(F=0;FR)&&(U=R));B+=U}return V.length>0?B/V.length:-1}},{key:"checkBondExists",value:function(U,F){return void 0!==this.bonds.find(function(Q,B){return B.begin===U&&B.end===F||B.end===U&&B.begin===F})}},{key:"findConnectedComponent",value:function(U){for(var F=this,Q=[U],B=new xF;Q.length>0;){var R=Q.pop(),V=this.atoms.get(R);this.isAtomFromMacromolecule(R)||(B.add(R),V.neighbors.forEach(function(U){var R=F.halfBonds.get(U).end;B.has(R)||Q.push(R)}))}return B}},{key:"findConnectedComponents",value:function(U){var F=this;this.halfBonds.size||(this.initHalfBonds(),this.initNeighbors(),this.updateHalfBonds(Array.from(this.atoms.keys())),this.sortNeighbors(Array.from(this.atoms.keys())));var Q=new xF,B=[];return this.atoms.forEach(function(R,V){if((U||R.fragment<0)&&!Q.has(V)&&!F.isAtomFromMacromolecule(V)){var n=F.findConnectedComponent(V);B.push(n),Q=Q.union(n)}}),B}},{key:"markFragment",value:function(U,F){var Q=this,B=new UB([],void 0,F),R=this.frags.add(B);U.forEach(function(U){var F=Q.atoms.get(U);F.stereoLabel&&B.updateStereoAtom(Q,U,R,!0),F.fragment=R})}},{key:"clearFragments",value:function(){this.atoms.forEach(function(U){U.fragment=-1}),this.frags.clear()}},{key:"markFragments",value:function(U){var F=this;this.findConnectedComponents().forEach(function(Q){var B=(0,R.A)(Q,1)[0];F.getGroupFromAtomId(B)instanceof DB||F.markFragment(Q,U)})}},{key:"scale",value:function(U){1!==U&&(this.atoms.forEach(function(F){F.pp=F.pp.scaled(U)}),this.rxnPluses.forEach(function(F){F.pp=F.pp.scaled(U)}),this.rxnArrows.forEach(function(F){F.pos=F.pos.map(function(F){return F.scaled(U)})}),this.sgroups.forEach(function(F){var Q,B;F instanceof DB||(F.pp=null!==(Q=null===(B=F.pp)||void 0===B?void 0:B.scaled(U))&&void 0!==Q?Q:null)}),this.texts.forEach(function(F){F.pos=F.pos.map(function(F){return F.scaled(U)}),F.position=F.position.scaled(U)}),this.simpleObjects.forEach(function(F){F.pos=F.pos.map(function(F){return F.scaled(U)})}),this.images.forEach(function(F){return F.rescaleSize(U)}),this.multitailArrows.forEach(function(F){return F.rescaleSize(U)}))}},{key:"rescale",value:function(){var U=this.getAvgBondLength();if(!(U<=0)){U<.001&&(U=1);var F=1/U;this.scale(F)}}},{key:"loopHasSelfIntersections",value:function(U){var F,Q=zB(U.entries());try{for(Q.s();!(F=Q.n()).done;){var B,V=(0,R.A)(F.value,2),n=V[0],l=V[1],d=this.halfBonds.get(l),J=this.atoms.get(d.begin).pp,N=this.atoms.get(d.end).pp,Z=new xF([d.begin,d.end]),W=zB(U.slice(n+2));try{for(W.s();!(B=W.n()).done;){var S=B.value,E=this.halfBonds.get(S);if(!Z.has(E.begin)&&!Z.has(E.end)){var k=this.atoms.get(E.begin).pp,t=this.atoms.get(E.end).pp;if(IF.segmentIntersection(J,N,k,t))return!0}}}catch(a){W.e(a)}finally{W.f()}}}catch(a){Q.e(a)}finally{Q.f()}return!1}},{key:"partitionLoop",value:function(U){for(var F=[],Q=!0;Q;){var B={};Q=!1;var V,n=zB(U.entries());try{for(n.s();!(V=n.n()).done;){var l=(0,R.A)(V.value,2),d=l[0],J=l[1],N=this.halfBonds.get(J).begin,Z=this.halfBonds.get(J).end;if(Z in B){var W=B[Z],S=U.slice(W,d+1);F.push(S),d0&&U===d){R.partitionLoop(Q).forEach(function(U){var F;R.loopIsInner(U)&&!R.loopHasSelfIntersections(U)?(F=Math.min.apply(Math,(0,B.A)(U)),R.loops.set(F,new QB(U,R,R.loopIsConvex(U)))):F=-2,U.forEach(function(U){R.halfBonds.get(U).loop=F,n.add(R.halfBonds.get(U).bid)}),F>=0&&V.push(F)});break}Q.push(U)}}),{newLoops:V,bondsToMark:Array.from(n)}}},{key:"calcImplicitHydrogen",value:function(U){var F,Q=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!uQ.isHiddenLeavingGroupAtom(this,U)){var B=this.atoms.get(U),V=null!==(F=B.charge)&&void 0!==F?F:0,n=this.calcConn(B,Q),l=(0,R.A)(n,2),d=l[0],J=l[1],N=d;if(B.badConn=!1,J)if("C"===B.label&&0===V){if(3===d)return void(B.implicitH=-wQ(B.radical));if(2===d)return void(B.implicitH=1-wQ(B.radical))}else{if("O"===B.label&&0===V||"N"===B.label&&0===V&&3===d||"N"===B.label&&1===V&&3===d||"S"===B.label&&0===V&&3===d||!B.implicitH)return void(B.implicitH=0);B.hasImplicitH||N++}if(N<0||B.isQuery()||B.attachmentPoints)B.implicitH=0;else if(B.explicitValence>=0){var Z=u.get(B.label);B.implicitH=Z?B.explicitValence-B.calcValenceMinusHyd(N):0,B.implicitH<0&&(B.implicitH=0,B.badConn=!0)}else B.calcValence(N)}}},{key:"setImplicitHydrogen",value:function(U){var F=this,Q=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.sgroups.forEach(function(U){"MRV_IMPLICIT_H"===U.data.fieldName&&(F.atoms.get(U.atoms[0]).hasImplicitH=!0)}),U?U.forEach(function(U){F.atoms.get(U)&&F.calcImplicitHydrogen(U,Q)}):this.atoms.forEach(function(U,B){F.calcImplicitHydrogen(B,Q)})}},{key:"setStereoLabelsToAtoms",value:function(){var U=this,F=pB(this,Array.from(this.bonds.values()));this.atoms.forEach(function(Q,B){var R;if(0===(null===U||void 0===U||null===(R=U.atomGetNeighbors(B))||void 0===R?void 0:R.length))Q.stereoLabel=null,Q.stereoParity=0;else{var V=F.get(B);V&&(Q.stereoLabel=V.stereoLabel,Q.stereoParity=V.stereoParity)}})}},{key:"atomGetNeighbors",value:function(U){var F,Q=this;return null===(F=this.atoms.get(U))||void 0===F?void 0:F.neighbors.map(function(U){var F=Q.halfBonds.get(U);return{aid:F.end,bid:F.bid}})}},{key:"getComponents",value:function(){var U=this,F=this.findConnectedComponents(!0),Q=[],B=null;this.rxnArrows.forEach(function(U){B=U.center().x}),this.rxnPluses.forEach(function(U){Q.push(U.pp.x)}),null!==B&&Q.push(B),Q.sort(function(U,F){return U-F});var R=[];F.forEach(function(F){for(var B,V=U.getCoordBoundingBox(F),n=zF.lc2(V.min,.5,V.max,.5),l=0;n.x>Q[l];)++l;R[l]=null!==(B=R[l])&&void 0!==B?B:new xF,R[l]=R[l].union(F)});var V=[],n=[];return R.forEach(function(F){var Q;F&&(1===U.defineRxnFragmentTypeForAtomset(F,null!==(Q=B)&&void 0!==Q?Q:0)?V.push(F):n.push(F))}),{reactants:V,products:n}}},{key:"defineRxnFragmentTypeForAtomset",value:function(U,F){var Q=this.getCoordBoundingBox(U);return zF.lc2(Q.min,.5,Q.max,.5).x=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function qB(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q0&&void 0!==arguments[0]?arguments[0]:new zF(0,0),B=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{generateId:!0};(0,V.A)(this,U),(0,Z.A)(this,"selected",!1),(0,Z.A)(this,"hovered",!1),(0,Z.A)(this,"id",0),this._position=Q,this.config=B,this._position=Q||new zF(0,0),!0===(null===(F=this.config)||void 0===F?void 0:F.generateId)&&(this.id=_B,_B++)}return(0,n.A)(U,[{key:"moveRelative",value:function(U){this._position.x+=U.x,this._position.y+=U.y}},{key:"moveAbsolute",value:function(U){this._position=U}},{key:"position",get:function(){return this._position}},{key:"turnOnHover",value:function(){this.hovered=!0}},{key:"turnOffHover",value:function(){this.hovered=!1}},{key:"turnOnSelection",value:function(){this.selected=!0}},{key:"turnOffSelection",value:function(){this.selected=!1}},{key:"selectIfLocatedInRectangle",value:function(U,F){var Q=arguments.length>2&&void 0!==arguments[2]&&arguments[2],B=arguments.length>3&&void 0!==arguments[3]&&arguments[3];S()(this.baseRenderer);var R=this.selected,V=this.baseRenderer.selectionPoints||[VQ.modelToCanvas(this.center)],n=!1;return V.forEach(function(R){var V=F.x>R.x&&F.y>R.y&&U.x1&&void 0!==arguments[1]&&arguments[1],B=arguments.length>2&&void 0!==arguments[2]&&arguments[2];S()(this.baseRenderer);var R=this.selected,V=this.baseRenderer.selectionPoints||[VQ.modelToCanvas(this.center)],n=!1;return V.forEach(function(R){var V=F.isPointInPolygon(U,R);n=B&&Q||V}),n?this.turnOnSelection():this.turnOffSelection(),R!==this.selected}},{key:"isPointInPolygon",value:function(U,F){var Q,B=new zF(0,1),R=B.rotate(Math.PI/2),V=zF.diff(U[U.length-1],F),n=zF.dot(R,V),l=zF.dot(B,V),d=new zF(0,0),J=0,N=1e-5,Z=!1,W=!1,S=AB(U);try{for(S.s();!(Q=S.n()).done;){var E=Q.value,k=zF.diff(E,F),t=zF.diff(k,V),a=zF.dot(R,k),T=zF.dot(B,k);Z=!1,a*n<0&&(T*l>-N?l>-N&&(Z=!0):(Math.abs(n)*Math.abs(T)-Math.abs(a)*Math.abs(l))*T>0&&(Z=!0)),Z&&W&&zF.dot(t,R)*zF.dot(d,R)>=0&&(Z=!1),Z&&J++,V=k,n=a,l=T,d=t,W=Z}}catch(e){S.e(e)}finally{S.f()}return J%2!==0}},{key:"setBaseRenderer",value:function(U){this.baseRenderer=U}}]),U}();function UR(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(UR=function(){return!!U})()}var FR=function(U){function F(){var U;(0,V.A)(this,F);for(var Q=arguments.length,B=new Array(Q),R=0;R1&&void 0!==arguments[1]?arguments[1]:BR.R1;return LR(U)?Boolean(null===(F=U.sugar)||void 0===F||null===(F=F.props)||void 0===F||null===(F=F.MonomerCaps)||void 0===F?void 0:F[B]):OR(U)?U.monomers.every(function(U){return U.isAttachmentPointExistAndFree(BR[B])}):null===(Q=U.props.MonomerCaps)||void 0===Q?void 0:Q[B]};function xR(U){return DR(U,WU.AminoAcid)||CR(U)&&U.monomerClass===WU.AminoAcid}function uR(U){return DR(U,WU.Base)||CR(U)&&U.monomerClass===WU.Base}function wR(U){return DR(U,WU.Phosphate)||CR(U)&&U.monomerClass===WU.Phosphate}function jR(U){return DR(U,WU.Sugar)||CR(U)&&U.monomerClass===WU.Sugar}function IR(U){return DR(U,WU.RNA)||uR(U)&&Boolean(vR(U))}function KR(U){for(var F=[U],Q=new Set,B=[],R=function(){var U=F.pop();if(!U||Q.has(U))return 1;Q.add(U),B.push(U),U.forEachBond(function(B){if(B instanceof kR||B instanceof RR){var R=B.getAnotherMonomer(U);R&&!Q.has(R)&&F.push(R)}})};F.length>0;)R();return B}var fR=function(U,F){var Q,B;return(U.isAttachmentPointExistAndFree(BR.R1)||(null===(Q=F.props.MonomerCaps)||void 0===Q?void 0:Q.R1))&&(U.isAttachmentPointExistAndFree(BR.R2)||(null===(B=F.props.MonomerCaps)||void 0===B?void 0:B.R2))},gR=function(U,F,Q){var B=new Map,R=new Map;return Q.forEach(function(U){var Q;if(null!==(Q=U.props)&&void 0!==Q&&null!==(Q=Q.modificationTypes)&&void 0!==Q&&Q.includes(F)){var R=U.props.MonomerNaturalAnalogCode;R&&B.set(R,U)}}),U.forEach(function(U){var F=U.monomerItem.props.MonomerNaturalAnalogCode,Q=B.get(F);Q&&U.label!==Q.label&&fR(U,Q)&&R.set(U,Q)}),R},PR=function(U,F){return U.map(function(U){return F.find(function(F){var Q;return OR(F)?F.id===U.monomerItem.props.id:(null===(Q=F.props)||void 0===Q?void 0:Q.id)===U.monomerItem.props.id})}).every(function(U){return Boolean(null===U||void 0===U?void 0:U.props.aliasHELM)})},AR=function(U){var F={x:99999,y:-99999,x2:-9999,y2:9999};U.forEach(function(U){U.location[0]F.x2&&(F.x2=U.location[0]),U.location[1]>F.y&&(F.y=U.location[1]),U.location[1]2&&void 0!==arguments[2]&&arguments[2];return F?(Object.keys(F).forEach(function(B){var R,V=F[B];null===(R=U[B])||void 0===R||R.forEach(function(U,F){"function"===typeof U.setInitiallySelected&&(Q?U.setInitiallySelected(V.includes(F)||void 0):V.includes(F)&&U.setInitiallySelected(!0))})}),U):U},ZV=["width","height"];function WV(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function SV(U){for(var F=1;FU.distance?F:U},{distance:0,center:0})}},{key:"getTailCoordinate",value:function(U){return this.tailsYOffset.get(U)}},{key:"addTail",value:function(U,Q){if("number"===typeof U&&Q)return this.tailsYOffset.set(U,Q),U;var B=this.getTailsMaxDistance(),R=B.center,V=B.distance;if(!F.canAddTail(V))throw new Error("Cannot add tail because no minimal distance found");var n=PQ.fromFloatingPrecision(R);return"number"===typeof U?(this.tailsYOffset.set(U,n),U):this.tailsYOffset.add(n)}},{key:"removeTail",value:function(U){this.tailsYOffset.delete(U)}},{key:"center",value:function(){return zF.centre(new zF(this.spineTopX.sub(this.tailLength).getFloatingPrecision(),this.spineTopY.getFloatingPrecision()),new zF(this.spineTopX.add(this.headOffsetX).getFloatingPrecision(),this.spineTopY.add(this.height).getFloatingPrecision()))}},{key:"clone",value:function(){return new F(this.spineTopX,this.spineTopY,this.height,this.headOffsetX,this.headOffsetY,this.tailLength,this.tailsYOffset,this.arrowId)}},{key:"rescaleSize",value:function(U){var F=this;this.spineTopX=this.spineTopX.multiply(U),this.spineTopY=this.spineTopY.multiply(U),this.headOffsetX=this.headOffsetX.multiply(U),this.headOffsetY=this.headOffsetY.multiply(U),this.height=this.height.multiply(U),this.tailLength=this.tailLength.multiply(U),this.tailsYOffset.forEach(function(Q,B){F.tailsYOffset.set(B,Q.multiply(U))})}},{key:"resizeHead",value:function(U){var Q=PQ.fromFloatingPrecision(U),B=new PQ(Math.max(this.headOffsetX.add(Q).value,F.MIN_HEAD_LENGTH.value)),R=B.sub(this.headOffsetX);return this.headOffsetX=B,R.getFloatingPrecision()}},{key:"moveHead",value:function(U){var Q=PQ.fromFloatingPrecision(U),B=new PQ(Math.min(Math.max(F.MIN_TOP_BOTTOM_OFFSET.value,this.headOffsetY.add(Q).value),this.height.sub(F.MIN_TOP_BOTTOM_OFFSET).value)),R=B.sub(this.headOffsetY);return this.headOffsetY=B,R.getFloatingPrecision()}},{key:"resizeTails",value:function(U){var Q=PQ.fromFloatingPrecision(U),B=new PQ(Math.max(this.tailLength.sub(Q).value,F.MIN_TAIL_LENGTH.value)),R=this.tailLength.sub(B);return this.tailLength=B,R.getFloatingPrecision()}},{key:"normalizeTailPosition",value:function(U,Q){var B=U.getFloatingPrecision(),V=function(U){return Math.abs(U.center-B)-U.distance/2},n=Array.from(this.tailsYOffset.entries()).filter(function(U){return(0,R.A)(U,1)[0]!==Q}).map(function(U){var F=(0,R.A)(U,2);return F[0],F[1]}),l=this.getTailsDistance(n).filter(function(U){return F.canAddTail(U.distance)});l.sort(function(U,F){return V(U)-V(F)});var d=l.at(0);if(!d)return null;var J=PQ.fromFloatingPrecision(d.center),N=PQ.fromFloatingPrecision(d.distance).divide(2).sub(F.MIN_TAIL_DISTANCE);if(Math.abs(J.sub(U).value)>=N.value){var Z=J.value>U.value?N.multiply(-1):N;return J.add(Z)}return U}},{key:"moveTail",value:function(U,Q,B){var R=PQ.fromFloatingPrecision(U),V=new PQ(Math.max(F.MIN_TAIL_DISTANCE.multiply(this.tailsYOffset.size+1).value,F.MIN_HEIGHT.value)),n=Array.from(this.tailsYOffset.values());n.sort(function(U,F){return U.value-F.value});var l=n.at(-1)||new PQ(0),d=n.at(0)||new PQ(1/0),J=new PQ(Math.min(d.sub(F.MIN_TAIL_DISTANCE).value,this.headOffsetY.sub(F.MIN_TOP_BOTTOM_OFFSET).value)),N=new PQ(Math.max(l.add(F.MIN_TAIL_DISTANCE).value,this.headOffsetY.add(F.MIN_TOP_BOTTOM_OFFSET).value));if("number"===typeof Q){var Z=this.tailsYOffset.get(Q),W=new PQ(Math.max(F.MIN_TAIL_DISTANCE.value,Math.min(Z.add(R).value,this.height.sub(F.MIN_TAIL_DISTANCE).value)));if(B){var S=this.normalizeTailPosition(W,Q);if(null===S)return Z.getFloatingPrecision();W=S}var E=W.sub(Z);return this.tailsYOffset.set(Q,W),E.getFloatingPrecision()}if(Q===F.BOTTOM_TAIL_NAME){var k=new PQ(Math.max(V.value,this.height.add(R).value,N.value)),t=k.sub(this.height);return this.height=k,t.getFloatingPrecision()}var a=new PQ(Math.min(R.value,J.value,this.height.sub(V).value));if(0!==a.value){this.spineTopY=this.spineTopY.add(a),this.headOffsetY=this.headOffsetY.sub(a),this.height=this.height.sub(a);var T=this.tailsYOffset.clone();T.forEach(function(U,F){T.set(F,U.sub(a))}),this.tailsYOffset=T}return a.getFloatingPrecision()}},{key:"move",value:function(U){this.spineTopX=this.spineTopX.add(PQ.fromFloatingPrecision(U.x)),this.spineTopY=this.spineTopY.add(PQ.fromFloatingPrecision(U.y))}},{key:"toKetNode",value:function(){return F.getParametersForKetNode(this.spineTopX,this.spineTopY,this.headOffsetX,this.headOffsetY,this.tailLength,this.tailsYOffset,this.height,this.center(),this.getInitiallySelected())}}],[{key:"canAddTail",value:function(U){return U>=F.MIN_TAIL_DISTANCE.multiply(2).getFloatingPrecision()}},{key:"fromTwoPoints",value:function(U,Q){var B=zF.centre(U,Q),R=PQ.fromFloatingPrecision(Math.max((Q.x-U.x)/3,F.MIN_TAIL_LENGTH.getFloatingPrecision())),V=PQ.fromFloatingPrecision(U.x).add(R),n=PQ.fromFloatingPrecision(U.y),l=PQ.fromFloatingPrecision(Math.max(Q.y-U.y,F.MIN_HEIGHT.getFloatingPrecision()));return new F(V,n,l,PQ.fromFloatingPrecision(Q.x).sub(V),PQ.fromFloatingPrecision(B.y).sub(n),R,new eB)}},{key:"validateKetNode",value:function(U){var Q,B,V=U.head,n=U.spine,l=U.tails,d=(0,R.A)(n.pos,2),J=d[0],N=d[1],Z=PQ.fromFloatingPrecision(J.x),W=PQ.fromFloatingPrecision(J.y),S=PQ.fromFloatingPrecision(N.x),E=PQ.fromFloatingPrecision(N.y),k=PQ.fromFloatingPrecision(V.position.x),t=PQ.fromFloatingPrecision(V.position.y),a=l.pos.map(function(U){return{x:PQ.fromFloatingPrecision(U.x),y:PQ.fromFloatingPrecision(U.y)}});if(a.sort(function(U,F){return F.y.value-U.y.value}),Z.value!==S.value||W.valueW.value)return kV.INCORRECT_HEAD;if((null===(Q=a.at(0))||void 0===Q?void 0:Q.y.value)!==W.value||(null===(B=a.at(-1))||void 0===B?void 0:B.y.value)!==E.value)return kV.INCORRECT_TAILS;var T=a[0].x;return T.value>Z.sub(F.KET_MIN_DISTANCE).value?kV.INCORRECT_TAILS:a.every(function(U,Q,B){return!(Q>0&&B[Q-1].y.value=E.value&&U.y.value<=W.value)})?null:kV.INCORRECT_TAILS}},{key:"getConstructorParamsFromKetNode",value:function(U){var F=_R(U.data),Q=(0,R.A)(F.spine.pos,2),V=Q[0],n=Q[1],l=F.head.position,d=PQ.fromFloatingPrecision(V.x),J=PQ.fromFloatingPrecision(V.y),N=PQ.fromFloatingPrecision(n.y).sub(J),Z=PQ.fromFloatingPrecision(l.x).sub(d),W=PQ.fromFloatingPrecision(l.y).sub(J),S=new eB,E=(0,B.A)(F.tails.pos);E.sort(function(U,F){return U.y-F.y});var k=d.sub(PQ.fromFloatingPrecision(E[0].x));return E.slice(1,-1).forEach(function(U){S.add(PQ.fromFloatingPrecision(U.y).sub(J))}),{spineTopX:d,spineTopY:J,height:N,headOffsetX:Z,headOffsetY:W,tailsLength:k,tailsYOffset:S}}},{key:"fromKetNode",value:function(U){var Q=F.getConstructorParamsFromKetNode(U);return new F(Q.spineTopX,Q.spineTopY,Q.height,Q.headOffsetX,Q.headOffsetY,Q.tailsLength,Q.tailsYOffset)}},{key:"fromFloatingPointCoordinates",value:function(U,Q,B,R,V){var n=V.clone();return n.forEach(function(U,F,Q){Q.set(F,PQ.fromFloatingPrecision(U))}),new F(PQ.fromFloatingPrecision(U.x),PQ.fromFloatingPrecision(U.y),PQ.fromFloatingPrecision(Q),PQ.fromFloatingPrecision(B.x),PQ.fromFloatingPrecision(B.y),PQ.fromFloatingPrecision(R),n)}},{key:"getReferencePositions",value:function(U,F,Q,B,R,V,n){var l=U.sub(V),d=F.add(Q),J=new eB;return n.forEach(function(U,Q){J.set(Q,new zF(l.getFloatingPrecision(),F.add(U).getFloatingPrecision()))}),{head:new zF(U.add(B).getFloatingPrecision(),F.add(R).getFloatingPrecision()),topTail:new zF(l.getFloatingPrecision(),F.getFloatingPrecision()),bottomTail:new zF(l.getFloatingPrecision(),d.getFloatingPrecision()),topSpine:new zF(U.getFloatingPrecision(),F.getFloatingPrecision()),bottomSpine:new zF(U.getFloatingPrecision(),d.getFloatingPrecision()),tails:J}}},{key:"getParametersForKetNode",value:function(U,F,Q,B,R,V,n,l,d){var J=new zF(U.add(Q).getFloatingPrecision(),F.add(B).getFloatingPrecision()),N=F.add(n),Z=[new zF(U.getFloatingPrecision(),F.getFloatingPrecision()),new zF(U.getFloatingPrecision(),N.getFloatingPrecision())],W=U.sub(R),S=Array.from(V.values()).map(function(U){return F.add(U)}),E=[F].concat(S).concat(N).map(function(U){return new zF(W.getFloatingPrecision(),U.getFloatingPrecision())});return{type:nU,center:l,selected:d,data:_R({head:{position:J},spine:{pos:Z},tails:{pos:E},zOrder:0})}}}]),F}(wF);(0,Z.A)(eV,"KET_MIN_DISTANCE",PQ.fromFloatingPrecision(.01)),(0,Z.A)(eV,"MIN_TAIL_DISTANCE",PQ.fromFloatingPrecision(.35)),(0,Z.A)(eV,"MIN_HEAD_LENGTH",PQ.fromFloatingPrecision(.5)),(0,Z.A)(eV,"MIN_TAIL_LENGTH",PQ.fromFloatingPrecision(.4)),(0,Z.A)(eV,"MIN_TOP_BOTTOM_OFFSET",PQ.fromFloatingPrecision(.15)),(0,Z.A)(eV,"MIN_HEIGHT",PQ.fromFloatingPrecision(.5)),(0,Z.A)(eV,"TOP_TAIL_NAME","topTail"),(0,Z.A)(eV,"BOTTOM_TAIL_NAME","bottomTail"),(0,Z.A)(eV,"TAILS_NAME","tails");var CV=(0,n.A)(function U(F){(0,V.A)(this,U);var Q=F.atoms,B=F.bonds,R=F.rgroupAttachmentPoints,n=F.color;this.color=n,this.atoms=Q,this.bonds=B,this.rgroupAttachmentPoints=R}),DV=function(){function U(F,Q,B,R){(0,V.A)(this,U),this.atomId=F,this.leaveAtomId=Q,this.attachmentId=B,this.attachmentPointNumber=R}return(0,n.A)(U,[{key:"clone",value:function(F){var Q=F.get(this.atomId);return S()(null!=Q),new U(Q,F.get(this.leaveAtomId),this.attachmentId,this.attachmentPointNumber)}},{key:"convertToRGroupAttachmentPointForDisplayPurpose",value:function(U){return new nB(U,"primary")}}]),U}();function oV(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function pV(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(pV=function(){return!!U})()}var hV="hydrogen",cV=function(U){function F(U,Q,B){var R,n;return(0,V.A)(this,F),n=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,pV()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Q,B]),(0,Z.A)((0,J.A)(n),"renderer",void 0),(0,Z.A)((0,J.A)(n),"attachmentPointsToBonds",{}),(0,Z.A)((0,J.A)(n),"potentialAttachmentPointsToBonds",{}),(0,Z.A)((0,J.A)(n),"attachmentPointsVisible",!1),(0,Z.A)((0,J.A)(n),"hydrogenBonds",[]),n.monomerItem=function(U){for(var F=1;FU&&(U=B)}}return U}},{key:"R1AttachmentPoint",get:function(){if(null===this.attachmentPointsToBonds.R1)return BR.R1}},{key:"R2AttachmentPoint",get:function(){if(null===this.attachmentPointsToBonds.R2)return BR.R2}},{key:"hasFreeAttachmentPoint",get:function(){return Boolean(this.firstFreeAttachmentPoint)}},{key:"isAttachmentPointExistAndFree",value:function(U){return this.hasAttachmentPoint(U)&&!this.isAttachmentPointUsed(U)}},{key:"setRenderer",value:function(U){b((0,d.A)(F.prototype),"setBaseRenderer",this).call(this,U),this.renderer=U}},{key:"forEachBond",value:function(U){for(var F in this.attachmentPointsToBonds)this.attachmentPointsToBonds[F]&&U(this.attachmentPointsToBonds[F],F);this.hydrogenBonds.forEach(function(F){U(F,BR.HYDROGEN)})}},{key:"setBond",value:function(U,F){F instanceof RR?this.hydrogenBonds.includes(F)||this.hydrogenBonds.push(F):this.attachmentPointsToBonds[U]=F}},{key:"unsetBond",value:function(U,F){F instanceof RR?this.hydrogenBonds=this.hydrogenBonds.filter(function(U){return U!==F}):U&&(this.attachmentPointsToBonds[U]=null)}},{key:"covalentBonds",get:function(){return(0,o.compact)((0,o.values)(this.attachmentPointsToBonds))}},{key:"polymerBonds",get:function(){return this.covalentBonds.filter(function(U){return U instanceof kR})}},{key:"monomerToAtomBonds",get:function(){return this.bonds.filter(function(U){return U instanceof dR})}},{key:"bonds",get:function(){return[].concat((0,B.A)(this.covalentBonds),(0,B.A)(this.hydrogenBonds))}},{key:"bondsSortedByLength",get:function(){return(0,B.A)(this.bonds).sort(function(U,F){var Q,B;return U.secondEndEntity&&F.secondEndEntity?zF.diff(U.firstEndEntity.position,null===(Q=U.secondEndEntity)||void 0===Q?void 0:Q.position).length()-zF.diff(F.firstEndEntity.position,null===(B=F.secondEndEntity)||void 0===B?void 0:B.position).length():0})}},{key:"polymerBondsSortedByLength",get:function(){return this.bondsSortedByLength.filter(function(U){return!(U instanceof dR)})}},{key:"hasBonds",get:function(){var U=!1;for(var F in this.attachmentPointsToBonds)this.attachmentPointsToBonds[F]&&(U=!0);return U||this.hydrogenBonds.length>0}},{key:"hasHydrogenBondWithMonomer",value:function(U){return this.hydrogenBonds.find(function(F){return F.firstMonomer===U||F.secondMonomer===U})}},{key:"hasPotentialBonds",value:function(){return Object.values(this.potentialAttachmentPointsToBonds).some(function(U){return!!U})}},{key:"getPotentialBond",value:function(U){return this.potentialAttachmentPointsToBonds[U]}},{key:"removeBond",value:function(U){var F=this.getAttachmentPointByBond(U);F&&this.unsetBond(F)}},{key:"removePotentialBonds",value:function(){var U=arguments.length>0&&void 0!==arguments[0]&&arguments[0];for(var F in U&&(this.chosenFirstAttachmentPointForBond=null,this.chosenSecondAttachmentPointForBond=null,this.potentialSecondAttachmentPointForBond=null),this.potentialAttachmentPointsToBonds)this.potentialAttachmentPointsToBonds[F]=null}},{key:"availableAttachmentPointForBondEnd",get:function(){return this.chosenSecondAttachmentPointForBond?this.chosenSecondAttachmentPointForBond:this.firstFreeAttachmentPoint}},{key:"hasAttachmentPoint",value:function(U){return void 0!==this.attachmentPointsToBonds[U]}},{key:"isPhosphate",get:function(){return aR(this.monomerItem)}},{key:"isSugar",get:function(){return tR(this.monomerItem)}},{key:"usedAttachmentPointsNamesList",get:function(){var U=this,F=[];return this.listOfAttachmentPoints.forEach(function(Q){U.isAttachmentPointUsed(Q)&&F.push(Q)}),F}},{key:"unUsedAttachmentPointsNamesList",get:function(){var U=this,F=[];return this.listOfAttachmentPoints.forEach(function(Q){U.isAttachmentPointUsed(Q)||F.push(Q)}),F}},{key:"getBondByAttachmentPoint",value:function(U){return this.attachmentPointsToBonds[U]}},{key:"getPotentialBondByAttachmentPoint",value:function(U){return this.potentialAttachmentPointsToBonds[U]}},{key:"isAttachmentPointUsed",value:function(U){return Boolean(this.getBondByAttachmentPoint(U))}},{key:"isAttachmentPointPotentiallyUsed",value:function(U){return Boolean(this.getPotentialBondByAttachmentPoint(U))}},{key:"getAttachmentPointDict",value:function(){return this.monomerItem.attachmentPoints?F.getAttachmentPointDictFromMonomerDefinition(this.monomerItem.attachmentPoints).attachmentPointDictionary:this.getAttachmentPointDictFromAtoms()}},{key:"attachmentPointNumberToType",get:function(){return{1:"left",2:"right",moreThanTwo:"side"}}},{key:"getMonomerDefinitionAttachmentPoints",value:function(){var U=this,F=[];return this.superatomAttachmentPoints.forEach(function(Q){var B;(0,o.isNumber)(Q.attachmentPointNumber)&&(U.monomerItem.struct.bonds.filter(function(U,F){return F.begin===Q.leaveAtomId||F.end===Q.leaveAtomId}).size>1||F.push({attachmentAtom:Q.atomId,leavingGroup:{atoms:0===Q.leaveAtomId||Q.leaveAtomId?[Q.leaveAtomId]:[]},type:null!==(B=U.attachmentPointNumberToType[Q.attachmentPointNumber])&&void 0!==B?B:U.attachmentPointNumberToType.moreThanTwo}))}),F}},{key:"superatomAttachmentPoints",get:function(){var U,F=null===(U=this.monomerItem.struct.sgroups.filter(function(U,F){return F.isSuperatomWithoutLabel}))||void 0===U?void 0:U.get(0);return F?F.getAttachmentPoints():[]}},{key:"getAttachmentPointDictFromAtoms",value:function(){var U=this,F={};return this.superatomAttachmentPoints.forEach(function(Q){if((0,o.isNumber)(Q.attachmentPointNumber)){var B=kQ(Q.attachmentPointNumber),R=Q.leaveAtomId;U.monomerItem.struct.bonds.filter(function(U,F){return F.begin===R||F.end===R}).size>1||(F[B]=null)}}),F}},{key:"startBondAttachmentPoint",get:function(){return this.chosenFirstAttachmentPointForBond?this.chosenFirstAttachmentPointForBond:null===this.attachmentPointsToBonds.R2?BR.R2:null===this.attachmentPointsToBonds.R1?BR.R1:this.firstFreeAttachmentPoint}},{key:"isMonomerTypeDifferentForChaining",value:function(U){return this.SubChainConstructor!==U.SubChainConstructor}},{key:"isModification",get:function(){var U=this.monomerItem.props.MonomerNaturalAnalogThreeLettersCode,F=this.monomerItem.props.MonomerNaturalAnalogCode,Q=[this.label,this.monomerItem.props.MonomerName],R=[].concat((0,B.A)(U?[U]:[]),[F]);return Q.every(function(U){if(R.includes(U))return!1;var F=U.replace(/\*$/,"");return!R.includes(F)})}},{key:"sideConnections",get:function(){var U=[];return this.forEachBond(function(F){F instanceof dR||!F.isSideChainConnection||U.push(F)}),U}},{key:"monomerCaps",get:function(){return this.monomerItem.props.MonomerCaps}},{key:"recalculateAttachmentPoints",value:function(){var U=this.attachmentPointsToBonds;for(var F in this.attachmentPointsToBonds=this.getAttachmentPointDict(),this.attachmentPointsToBonds)U[F]&&(this.attachmentPointsToBonds[F]=U[F]);this.potentialAttachmentPointsToBonds=this.getAttachmentPointDict()}}],[{key:"getAttachmentPointDictFromMonomerDefinition",value:function(U){var F={},Q=[];return U.forEach(function(U,B){var R,V,n=B+1;V=U.type?"left"===U.type?1:"right"===U.type?2:"side"===U.type?n+("R1"in F?0:1)+("R2"in F?0:1):n:n;var l=null!==(R=U.label)&&void 0!==R?R:"R".concat(V);F[l]=null,Q.push(l)}),{attachmentPointDictionary:F,attachmentPointsList:Q}}}]),F}($B),rV=function(){function U(){(0,V.A)(this,U),(0,Z.A)(this,"nodes",[]),(0,Z.A)(this,"bonds",[]),(0,Z.A)(this,"modified",!0)}return(0,n.A)(U,[{key:"lastNode",get:function(){return this.nodes[this.nodes.length-1]}},{key:"firstNode",get:function(){return this.nodes[0]}},{key:"add",value:function(U){this.nodes.push(U),this.modified=!0}},{key:"addBond",value:function(U){this.bonds.push(U),this.modified=!0}},{key:"length",get:function(){return this.nodes.length}}]),U}();function mV(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(mV=function(){return!!U})()}var MV=function(U){function F(){return(0,V.A)(this,F),function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,mV()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,arguments)}return(0,N.A)(F,U),(0,n.A)(F)}(rV);function iV(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(iV=function(){return!!U})()}var bV=function(U){function F(){return(0,V.A)(this,F),function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,iV()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,arguments)}return(0,N.A)(F,U),(0,n.A)(F,[{key:"getValidSourcePoint",value:function(U){return this.chosenFirstAttachmentPointForBond?this.chosenFirstAttachmentPointForBond:1===this.unUsedAttachmentPointsNamesList.length?this.unUsedAttachmentPointsNamesList[0]:null!==U&&void 0!==U&&U.potentialSecondAttachmentPointForBond?(null===U||void 0===U?void 0:U.potentialSecondAttachmentPointForBond)===BR.R1&&this.isAttachmentPointExistAndFree(BR.R2)?BR.R2:(null===U||void 0===U?void 0:U.potentialSecondAttachmentPointForBond)===BR.R2&&this.isAttachmentPointExistAndFree(BR.R1)?BR.R1:void 0:U&&!U.isAttachmentPointExistAndFree(BR.R1)||!this.isAttachmentPointExistAndFree(BR.R2)?this.isAttachmentPointExistAndFree(BR.R1)&&null!==U&&void 0!==U&&U.isAttachmentPointExistAndFree(BR.R2)?BR.R1:void 0:BR.R2}},{key:"getValidTargetPoint",value:function(U){return this.potentialSecondAttachmentPointForBond?this.potentialSecondAttachmentPointForBond:1===this.unUsedAttachmentPointsNamesList.length?this.unUsedAttachmentPointsNamesList[0]:null!==U&&void 0!==U&&U.chosenFirstAttachmentPointForBond?(null===U||void 0===U?void 0:U.chosenFirstAttachmentPointForBond)===BR.R1&&this.isAttachmentPointExistAndFree(BR.R2)?BR.R2:(null===U||void 0===U?void 0:U.chosenFirstAttachmentPointForBond)===BR.R2&&this.isAttachmentPointExistAndFree(BR.R1)?BR.R1:void 0:this.isAttachmentPointExistAndFree(BR.R1)&&U.isAttachmentPointExistAndFree(BR.R2)?BR.R1:U.isAttachmentPointExistAndFree(BR.R1)&&this.isAttachmentPointExistAndFree(BR.R2)?BR.R2:void 0}},{key:"SubChainConstructor",get:function(){return MV}},{key:"isMonomerTypeDifferentForChaining",value:function(U){return![MV].includes(U.SubChainConstructor)}}]),F}(cV);function vV(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(vV=function(){return!!U})()}var GV=function(U){function F(){return(0,V.A)(this,F),function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,vV()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,arguments)}return(0,N.A)(F,U),(0,n.A)(F)}(rV);function sV(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(sV=function(){return!!U})()}var XV=function(U){function F(){return(0,V.A)(this,F),function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,sV()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,arguments)}return(0,N.A)(F,U),(0,n.A)(F,[{key:"getValidSourcePoint",value:function(U){return bV.prototype.getValidSourcePoint.call(this,U)}},{key:"getValidTargetPoint",value:function(U){return bV.prototype.getValidTargetPoint.call(this,U)}},{key:"SubChainConstructor",get:function(){return GV}},{key:"isMonomerTypeDifferentForChaining",value:function(U){return![GV].includes(U.SubChainConstructor)}}]),F}(cV);function YV(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(YV=function(){return!!U})()}var yV=function(U){function F(){return(0,V.A)(this,F),function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,YV()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,arguments)}return(0,N.A)(F,U),(0,n.A)(F)}(rV);function zV(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(zV=function(){return!!U})()}var OV=function(U){function F(){return(0,V.A)(this,F),function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,zV()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,arguments)}return(0,N.A)(F,U),(0,n.A)(F)}(rV);function LV(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(LV=function(){return!!U})()}var HV=function(U){function F(){return(0,V.A)(this,F),function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,LV()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,arguments)}return(0,N.A)(F,U),(0,n.A)(F,[{key:"getValidSourcePoint",value:function(U){return U?F.getValidPoint(this,U,U.potentialSecondAttachmentPointForBond):this.firstFreeAttachmentPoint}},{key:"getValidTargetPoint",value:function(U){return U?F.getValidPoint(this,U,U.chosenFirstAttachmentPointForBond):this.firstFreeAttachmentPoint}},{key:"SubChainConstructor",get:function(){return yV}},{key:"isMonomerTypeDifferentForChaining",value:function(U){return![OV,yV].includes(U.SubChainConstructor)}},{key:"isPartOfRNA",get:function(){var U=this.attachmentPointsToBonds.R3;return U instanceof kR&&uR(null===U||void 0===U?void 0:U.getAnotherMonomer(this))}}],[{key:"getValidPoint",value:function(U,F,Q){return U.chosenFirstAttachmentPointForBond?U.chosenFirstAttachmentPointForBond:U.potentialSecondAttachmentPointForBond?U.potentialSecondAttachmentPointForBond:1===U.unUsedAttachmentPointsNamesList.length?U.unUsedAttachmentPointsNamesList[0]:wR(F)||uR(F)?uR(F)?U.isAttachmentPointExistAndFree(BR.R3)?BR.R3:void 0:Q?Q===BR.R1&&U.isAttachmentPointExistAndFree(BR.R2)?BR.R2:Q!==BR.R1&&U.isAttachmentPointExistAndFree(BR.R1)?BR.R1:void 0:F.isAttachmentPointExistAndFree(BR.R1)&&U.isAttachmentPointExistAndFree(BR.R2)?BR.R2:F.isAttachmentPointExistAndFree(BR.R2)&&U.isAttachmentPointExistAndFree(BR.R1)||!F.isAttachmentPointExistAndFree(BR.R1)&&U.isAttachmentPointExistAndFree(BR.R1)?BR.R1:void 0:void 0}}]),F}(cV);function xV(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(xV=function(){return!!U})()}var uV=function(U){function F(){return(0,V.A)(this,F),function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,xV()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,arguments)}return(0,N.A)(F,U),(0,n.A)(F,[{key:"getValidSourcePoint",value:function(){return this.chosenFirstAttachmentPointForBond?this.chosenFirstAttachmentPointForBond:this.firstFreeAttachmentPoint}},{key:"getValidTargetPoint",value:function(){return this.potentialSecondAttachmentPointForBond?this.potentialSecondAttachmentPointForBond:this.firstFreeAttachmentPoint}},{key:"SubChainConstructor",get:function(){return GV}},{key:"sideConnections",get:function(){var U=this,F=[];return this.forEachBond(function(Q,B){Q instanceof dR||B===BR.R1&&vR(U)||F.push(Q)}),F}}]),F}(cV);function wV(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(wV=function(){return!!U})()}var jV,IV=function(U){function F(U,Q){return(0,V.A)(this,F),function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,wV()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[U,Q])}return(0,N.A)(F,U),(0,n.A)(F,[{key:"getValidSourcePoint",value:function(U){return U?F.getValidPoint(this,U,U.potentialSecondAttachmentPointForBond):this.firstFreeAttachmentPoint}},{key:"getValidTargetPoint",value:function(U){return U?F.getValidPoint(this,U,U.chosenFirstAttachmentPointForBond):this.firstFreeAttachmentPoint}},{key:"isMonomerTypeDifferentForChaining",value:function(U){return![OV,yV].includes(U.SubChainConstructor)}},{key:"SubChainConstructor",get:function(){return OV}}],[{key:"getValidPoint",value:function(U,F,Q){return U.chosenFirstAttachmentPointForBond?U.chosenFirstAttachmentPointForBond:U.potentialSecondAttachmentPointForBond?U.potentialSecondAttachmentPointForBond:1===U.unUsedAttachmentPointsNamesList.length?U.unUsedAttachmentPointsNamesList[0]:jR(F)?Q?Q===BR.R2&&U.isAttachmentPointExistAndFree(BR.R1)?BR.R1:Q!==BR.R2&&U.isAttachmentPointExistAndFree(BR.R2)?BR.R2:void 0:F.isAttachmentPointExistAndFree(BR.R2)&&U.isAttachmentPointExistAndFree(BR.R1)?BR.R1:!F.isAttachmentPointExistAndFree(BR.R2)&&U.isAttachmentPointExistAndFree(BR.R2)?BR.R2:void 0:void 0}}]),F}(cV);function KV(){return jV}function fV(U){jV=U}function gV(){jV=void 0}var PV=function(){function U(){(0,V.A)(this,U),(0,Z.A)(this,"operations",[]),(0,Z.A)(this,"undoOperationReverse",!1),(0,Z.A)(this,"setUndoOperationByPriority",!1)}return(0,n.A)(U,[{key:"addOperation",value:function(U){this.operations.push(U)}},{key:"merge",value:function(U){var F;(F=this.operations).push.apply(F,(0,B.A)(U.operations)),this.setUndoOperationByPriority=U.setUndoOperationByPriority}},{key:"setUndoOperationReverse",value:function(){this.undoOperationReverse=!0}},{key:"setUndoOperationsByPriority",value:function(){this.setUndoOperationByPriority=!0}},{key:"invert",value:function(U){var F=this.undoOperationReverse?this.operations.slice().reverse():(0,B.A)(this.operations);this.setUndoOperationByPriority&&F.sort(function(U,F){var Q,B;return(null!==(Q=U.priority)&&void 0!==Q?Q:0)-(null!==(B=F.priority)&&void 0!==B?B:0)}),F.forEach(function(F){return F.invert(U)}),U.reinitializeViewModel(),this.invertAfterAllOperations(U,F),U.runPostRenderMethods()}},{key:"execute",value:function(U){this.operations.forEach(function(F){return F.execute(U)}),U.reinitializeViewModel(),this.executeAfterAllOperations(U),U.runPostRenderMethods()}},{key:"executeAfterAllOperations",value:function(U){(arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.operations).forEach(function(F){F.executeAfterAllOperations&&F.executeAfterAllOperations(U)})}},{key:"invertAfterAllOperations",value:function(U){(arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.operations).forEach(function(F){F.invertAfterAllOperations&&F.invertAfterAllOperations(U)})}},{key:"clear",value:function(){this.operations=[]}}]),U}(),AV=function(U){return U.props.MonomerClass===WU.RNA||U.props.MonomerClass===WU.DNA?WU.RNA:U.props.MonomerClass===WU.AminoAcid||U.props.MonomerType===eU.PEPTIDE?WU.AminoAcid:U.props.MonomerClass===WU.Sugar||U.props.MonomerType===eU.RNA&&U.props.MonomerNaturalAnalogCode===eU.R?WU.Sugar:U.props.MonomerClass===WU.Phosphate||U.props.MonomerType===eU.RNA&&U.props.MonomerNaturalAnalogCode===eU.P?WU.Phosphate:U.props.MonomerClass===WU.Base||U.props.MonomerType===eU.RNA&&[].concat((0,B.A)(SU),(0,B.A)(tU)).includes(U.props.MonomerNaturalAnalogCode)?WU.Base:WU.CHEM};function qV(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(qV=function(){return!!U})()}var _V=function(U){function F(){return(0,V.A)(this,F),function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,qV()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,arguments)}return(0,N.A)(F,U),(0,n.A)(F,[{key:"getValidSourcePoint",value:function(U){return bV.prototype.getValidSourcePoint.call(this,U)}},{key:"getValidTargetPoint",value:function(U){return bV.prototype.getValidTargetPoint.call(this,U)}},{key:"SubChainConstructor",get:function(){return yV}},{key:"isMonomerTypeDifferentForChaining",value:function(U){return![yV].includes(U.SubChainConstructor)}}]),F}(cV);function $V(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function Un(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(Un=function(){return!!U})()}var Fn,Qn,Bn="%",Rn=(0,Z.A)((0,Z.A)((0,Z.A)((0,Z.A)((0,Z.A)((0,Z.A)({},WU.CHEM,XV),WU.AminoAcid,bV),WU.Phosphate,IV),WU.Sugar,HV),WU.Base,uV),WU.RNA,_V),Vn=function(U){function F(U,Q){var B,R,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];(0,V.A)(this,F);var J=U.subtype===fB.MIXTURE||(null===(B=U.label)||void 0===B?void 0:B.length)>1?Bn:U.label;return(R=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,Un()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[{label:J,props:{MonomerNaturalAnalogCode:"",MonomerName:J,Name:J},attachmentPoints:F.getAttachmentPoints(U.monomers),struct:new xB,isAmbiguous:!0},Q,{generateId:n}])).variantMonomerItem=U,R.monomers=U.monomers,R.monomerClass=F.getMonomerClass(U.monomers),R.subtype=U.subtype,R}return(0,N.A)(F,U),(0,n.A)(F,[{key:"monomerCaps",get:function(){var U;return this.monomers.forEach(function(F){if(F.monomerItem.props.MonomerCaps)if(U)for(var Q=0,B=Object.entries(F.monomerItem.props.MonomerCaps);Q3&&void 0!==arguments[3]&&arguments[3];return U.monomersLibrary.find(function(U){return OR(U)?(!Q||Vn.getMonomerClass(U.monomers)===Q)&&(U.label===F&&U.options.every(function(U){return B?U.templateId.includes(f.THYMINE)||!U.templateId.includes(f.URACIL):U.templateId.includes(f.URACIL)||!U.templateId.includes(f.THYMINE)})):(!Q||U.props.MonomerClass===Q)&&U.props.MonomerName===F})}function ln(U){switch(U){case Fn.DNA:return I.SUGAR_DNA;case Fn.RNA:return I.SUGAR_RNA;default:return}}!function(U){U.RNA="RNA",U.DNA="DNA",U.PEPTIDE="PEPTIDE"}(Fn||(Fn={})),function(U){U[U.NOT_CYCLED=0]="NOT_CYCLED",U[U.CYCLED=1]="CYCLED"}(Qn||(Qn={}));var dn={width:0,height:0};function Jn(){return dn}function Nn(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function Zn(U){for(var F=1;F1&&void 0!==arguments[1])||arguments[1]){S()(yR(F),"Created nucleoside is not valid. Please check nucleotide parts connections.");var Q=YR(F);S()(!Q,"Created nucleoside is nucleotide.")}return new U(F,bR(F))}},{key:"createOnCanvas",value:function(F,Q){var B=arguments.length>2&&void 0!==arguments[2]?arguments[2]:I.SUGAR_RNA,R=arguments.length>3&&void 0!==arguments[3]&&arguments[3],V=KV(),n=B===I.SUGAR_DNA,l=nn(V,F,WU.Base,n),d=nn(V,B,WU.Sugar);S()(d),S()(l);var J=Q,N=Q.add(VQ.canvasToModel(new zF(0,hU+Jn().height))),Z=new PV;Z.merge(V.drawingEntitiesManager.addMonomer(Zn(Zn({},d),{},{isAntisense:R}),R?N:J)),Z.merge(V.drawingEntitiesManager.addMonomer(Zn(Zn({},l),{},{isAntisense:R}),R?J:N));var W=Z.operations[0].monomer,E=Z.operations[1].monomer;return Z.merge(V.drawingEntitiesManager.createPolymerBond(W,E,BR.R3,BR.R1)),{modelChanges:Z,node:U.fromSugar(W,!1)}}}]),U}(),Sn=function(){function U(F,Q,B){(0,V.A)(this,U),(0,Z.A)(this,"monomersCache",[]),this.sugar=F,this.rnaBase=Q,this.phosphate=B,this.monomersCache=[F,Q,B]}return(0,n.A)(U,[{key:"toString",value:function(){return"sugar: ".concat(this.sugar.constructor.name,", ")+"rnaBase: ".concat(this.rnaBase.constructor.name,", ")+"phosphate: ".concat(this.phosphate.constructor.name)}},{key:"isMonomerTypeDifferentForChaining",value:function(U){return this.sugar.isMonomerTypeDifferentForChaining(U)}},{key:"SubChainConstructor",get:function(){return this.sugar.SubChainConstructor}},{key:"monomer",get:function(){return this.firstMonomerInNode}},{key:"monomers",get:function(){return this.monomersCache}},{key:"firstMonomerInNode",get:function(){return this.isFiveEndPhosphate?this.phosphate:this.sugar}},{key:"lastMonomerInNode",get:function(){return this.isFiveEndPhosphate?this.sugar:this.phosphate}},{key:"renderer",get:function(){return this.monomer.renderer}},{key:"modified",get:function(){return this.rnaBase.isModification||this.sugar.isModification||this.phosphate.isModification}},{key:"isFiveEndPhosphate",get:function(){var U,F;return(null===(U=this.sugar.attachmentPointsToBonds.R1)||void 0===U?void 0:U.getAnotherEntity(this.sugar))===this.phosphate&&(null===(F=this.phosphate.attachmentPointsToBonds.R2)||void 0===F?void 0:F.getAnotherEntity(this.phosphate))===this.sugar}}],[{key:"fromSugar",value:function(F){if(!(arguments.length>1&&void 0!==arguments[1])||arguments[1]){S()(YR(F),"Nucleotide is not valid. Please check nucleotide parts connections.");var Q=yR(F);S()(!Q,"Nucleotide is nucleoside because it is a last sugar+base of rna chain")}return new U(F,bR(F),sR(F))}},{key:"createOnCanvas",value:function(F,Q){var B=arguments.length>2&&void 0!==arguments[2]?arguments[2]:I.SUGAR_RNA,R=KV(),V=B===I.SUGAR_DNA,n=nn(R,F,WU.Base,V),l=nn(R,I.PHOSPHATE),d=nn(R,B,WU.Sugar);S()(d),S()(n),S()(l);var J=Q,N=Q.add(VQ.canvasToModel(new zF(0,hU+Jn().height))),Z=R.drawingEntitiesManager.addRnaPreset({sugar:d,sugarPosition:J,rnaBase:n,rnaBasePosition:N,phosphate:l,phosphatePosition:J.add(VQ.canvasToModel(new zF(hU,0)))}),W=Z.command,E=Z.monomers.find(function(U){return U instanceof HV});return{modelChanges:W,node:U.fromSugar(E,!1)}}}]),U}();function En(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(En=function(){return!!U})()}var kn=function(U){function F(){return(0,V.A)(this,F),function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,En()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,arguments)}return(0,N.A)(F,U),(0,n.A)(F,[{key:"getValidSourcePoint",value:function(U){return U?bV.prototype.getValidSourcePoint.call(this,U):this.firstFreeAttachmentPoint}},{key:"getValidTargetPoint",value:function(U){return U?bV.prototype.getValidTargetPoint.call(this,U):this.firstFreeAttachmentPoint}},{key:"SubChainConstructor",get:function(){return GV}},{key:"isMonomerTypeDifferentForChaining",value:function(U){return![MV,GV].includes(U.SubChainConstructor)}}]),F}(cV),tn=function(){function U(F){(0,V.A)(this,U),(0,Z.A)(this,"monomersCache",[]),this.monomer=F,this.monomersCache=[F]}return(0,n.A)(U,[{key:"SubChainConstructor",get:function(){return this.monomer.SubChainConstructor}},{key:"firstMonomerInNode",get:function(){return this.monomer}},{key:"lastMonomerInNode",get:function(){return this.monomer}},{key:"monomers",get:function(){return this.monomersCache}},{key:"renderer",get:function(){return this.monomer.renderer}},{key:"modified",get:function(){return this.monomer.isModification}}]),U}();function an(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(an=function(){return!!U})()}var Tn=function(U){function F(){return(0,V.A)(this,F),function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,an()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,arguments)}return(0,N.A)(F,U),(0,n.A)(F)}(rV);function en(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(en=function(){return!!U})()}var Cn=function(U){function F(){return(0,V.A)(this,F),function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,en()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[{label:"",struct:new xB,props:{MonomerNaturalAnalogCode:"",MonomerName:"",Name:""}},void 0,{generateId:!1}])}return(0,N.A)(F,U),(0,n.A)(F,[{key:"getValidSourcePoint",value:function(){}},{key:"getValidTargetPoint",value:function(){}},{key:"SubChainConstructor",get:function(){return Tn}},{key:"isMonomerTypeDifferentForChaining",value:function(){return!0}}]),F}(cV),Dn=function(){function U(){(0,V.A)(this,U),(0,Z.A)(this,"renderer",void 0),(0,Z.A)(this,"monomer",new Cn),(0,Z.A)(this,"monomersCache",[this.monomer])}return(0,n.A)(U,[{key:"SubChainConstructor",get:function(){return Tn}},{key:"firstMonomerInNode",get:function(){return this.monomer}},{key:"lastMonomerInNode",get:function(){return this.monomer}},{key:"hovered",get:function(){return!1}},{key:"selected",get:function(){return!1}},{key:"monomerItem",get:function(){return{props:{MonomerNaturalAnalogCode:null}}}},{key:"monomers",get:function(){return this.monomersCache}},{key:"setRenderer",value:function(U){this.renderer=U,this.monomer.setRenderer(U)}},{key:"modified",get:function(){return!1}}]),U}(),on=function(){function U(F,Q){(0,V.A)(this,U),this.monomer=F,this.firstMonomerInChain=Q}return(0,n.A)(U,[{key:"SubChainConstructor",get:function(){return this.monomer.SubChainConstructor}},{key:"firstMonomerInNode",get:function(){return this.monomer}},{key:"lastMonomerInNode",get:function(){return this.monomers[this.monomers.length-1]}},{key:"monomers",get:function(){for(var F=[this.firstMonomerInNode],Q=this.firstMonomerInNode,B=iR(this.firstMonomerInNode);B!==this.firstMonomerInChain&&U.isValidPartForLinker(B);)F.push(B),B=iR(B,Q);return F}},{key:"renderer",get:function(){return this.monomer.renderer}},{key:"modified",get:function(){return!1}}],[{key:"isValidPartForLinker",value:function(U){return U instanceof XV||U instanceof IV||U instanceof uV||U instanceof HV&&!YR(U)&&!yR(U)||U instanceof Vn&&(U.monomerClass===WU.CHEM||U.monomerClass===WU.Sugar||U.monomerClass===WU.Phosphate||U.monomerClass===WU.Base)}},{key:"isPartOfLinker",value:function(F){if(!F)return!1;var Q=MR(F),B=iR(F);return U.isValidPartForLinker(F)&&(U.isValidPartForLinker(Q)||U.isValidPartForLinker(B))}}]),U}(),pn=function(){function U(F){(0,V.A)(this,U),this.monomer=F}return(0,n.A)(U,[{key:"SubChainConstructor",get:function(){return this.monomer.SubChainConstructor}},{key:"firstMonomerInNode",get:function(){return this.monomer}},{key:"lastMonomerInNode",get:function(){return this.monomer}},{key:"monomers",get:function(){return[this.monomer]}},{key:"renderer",get:function(){return this.monomer.renderer}},{key:"modified",get:function(){return this.monomer.isModification}}]),U}(),hn=0,cn=function(){function U(F,Q){(0,V.A)(this,U),(0,Z.A)(this,"subChains",[]),(0,Z.A)(this,"isCyclic",!1),(0,Z.A)(this,"nodesChanged",!0),(0,Z.A)(this,"nodesCache",[]),(0,Z.A)(this,"monomersCache",[]),(0,Z.A)(this,"bondsCache",[]),this.id=hn++,F&&(this.firstMonomer=F,this.fillSubChains(F)),Q&&(this.isCyclic=Q)}return(0,n.A)(U,[{key:"recalculateNodes",value:function(){(this.nodesChanged||this.subChains.some(function(U){return U.modified}))&&(this.nodesCache=this.subChains.flatMap(function(U){return U.nodes}),this.monomersCache=this.nodesCache.flatMap(function(U){return U.monomers}),this.bondsCache=this.subChains.flatMap(function(U){return U.bonds}),this.nodesChanged=!1,this.subChains.forEach(function(U){U.modified=!1}))}},{key:"createSubChainIfNeed",value:function(U){var F;(!(null!==(F=this.lastNode)&&void 0!==F&&F.monomer)||U.isMonomerTypeDifferentForChaining(this.lastNode.monomer))&&this.subChains.push(new U.SubChainConstructor)}},{key:"tryAddAsNucleosideOrNucleotide",value:function(U){return yR(U,this.firstMonomer)?(this.lastSubChain.add(Wn.fromSugar(U,!1)),!0):!!YR(U,this.firstMonomer)&&(this.lastSubChain.add(Sn.fromSugar(U,!1)),!0)}},{key:"addAmbiguousMonomer",value:function(U){U.monomerClass===WU.Sugar&&this.tryAddAsNucleosideOrNucleotide(U)||(on.isPartOfLinker(U)?this.lastSubChain.add(new on(U)):this.lastSubChain.add(new pn(U)))}},{key:"add",value:function(U){if(this.nodesChanged=!0,this.createSubChainIfNeed(U),U instanceof bV||U instanceof _V||U instanceof kn)this.lastSubChain.add(new tn(U));else if(U instanceof Vn)this.addAmbiguousMonomer(U);else if(!(U instanceof HV&&this.tryAddAsNucleosideOrNucleotide(U))){var F=iR(U);U instanceof IV&&(!this.lastNode||this.lastNode instanceof Wn||this.lastNode.lastMonomerInNode instanceof _V)&&(!F||F instanceof HV&&(YR(F)||yR(F))||F instanceof bV)?this.lastSubChain.add(new tn(U)):this.lastSubChain.add(new on(U,this.firstMonomer))}}},{key:"addNode",value:function(U){return this.createSubChainIfNeed(U.monomer),this.lastSubChain.add(U),this.nodesChanged=!0,this}},{key:"fillSubChains",value:function(U){var F;U&&(this.add(U),this.fillSubChains(iR(null===(F=this.lastNode)||void 0===F?void 0:F.lastMonomerInNode,this.firstMonomer)))}},{key:"lastSubChain",get:function(){return this.subChains[this.subChains.length-1]}},{key:"nodes",get:function(){return this.recalculateNodes(),this.nodesCache}},{key:"lastNode",get:function(){var U;return null===(U=this.lastSubChain)||void 0===U?void 0:U.lastNode}},{key:"lastNonEmptyNode",get:function(){if(this.lastNode instanceof Dn){var U=this.nodes;return U[U.length-2]}return this.lastNode}},{key:"firstSubChain",get:function(){return this.subChains[0]}},{key:"firstNode",get:function(){var U;return null===(U=this.firstSubChain)||void 0===U?void 0:U.firstNode}},{key:"length",get:function(){var U=0;return this.subChains.forEach(function(F){U+=F.length}),U}},{key:"isEmpty",get:function(){return 1===this.subChains.length&&1===this.subChains[0].nodes.length&&this.subChains[0].nodes[0]instanceof Dn}},{key:"isAntisense",get:function(){return this.nodes.some(function(U){return U.monomer.monomerItem.isAntisense})}},{key:"forEachNode",value:function(U){var F=0;this.subChains.forEach(function(Q){Q.nodes.forEach(function(B){U({node:B,subChain:Q,nodeIndex:F}),F++})})}},{key:"forEachNodeReversed",value:function(U){for(var F=this.length-1,Q=this.subChains.length-1;Q>=0;Q--)for(var B=this.subChains[Q].nodes.length-1;B>=0;B--)U({node:this.subChains[Q].nodes[B],subChain:this.subChains[Q],nodeIndex:F}),F--}},{key:"isNewSequenceChain",get:function(){return 1===this.length&&this.firstNode instanceof Dn}},{key:"monomers",get:function(){return this.recalculateNodes(),this.monomersCache}},{key:"bonds",get:function(){return this.recalculateNodes(),this.bondsCache}}],[{key:"createChainWithEmptyNode",value:function(){var F=new U,Q=new Dn,B=new Tn;return B.add(Q),F.subChains.push(B),{emptyChain:F,emptySubChain:B,emptySequenceNode:Q}}}]),U}();function rn(U,F){var Q="undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(!Q){if(Array.isArray(U)||(Q=function(U,F){if(U){if("string"==typeof U)return mn(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?mn(U,F):void 0}}(U))||F&&U&&"number"==typeof U.length){Q&&(U=Q);var B=0,R=function(){};return{s:R,n:function(){return B>=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function mn(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q.01*(null===(R=U.firstNode)||void 0===R?void 0:R.monomer.position.x)+(null===(V=U.firstNode)||void 0===V?void 0:V.monomer.position.y)?-1:1});var U=new Set,F=this.monomerToChain;this.chains.forEach(function(Q){U.add(Q),Q.forEachNode(function(Q){Q.node.monomers.forEach(function(Q){var B=Q.sideConnections;B.length&&B.forEach(function(B){var R=B.getAnotherMonomer(Q),V=R&&F.get(R);V&&!U.has(V)&&U.add(V)})})})}),this.chains=(0,B.A)(U.values()),this.reorderChainsPutSenseChainOrderInAccordanceAntisenseConnection()}},{key:"add",value:function(U){return this.chains.push(U),this}},{key:"firstNode",get:function(){var U;return null===(U=this.chains[0])||void 0===U||null===(U=U.subChains[0])||void 0===U?void 0:U.nodes[0]}},{key:"lastNode",get:function(){return this.chains[0].lastSubChain.lastNode}},{key:"length",get:function(){return this.chains.reduce(function(U,F){return U+F.length},0)}},{key:"forEachNode",value:function(U){var F=0;this.chains.forEach(function(Q,B){Q.subChains.forEach(function(R,V){R.nodes.forEach(function(n,l){U({chainIndex:B,subChainIndex:V,nodeIndex:l,nodeIndexOverall:F,node:n,subChain:R,chain:Q}),F++})})})}},{key:"getFirstComplimentaryMonomer",value:function(U){var F=U.hydrogenBonds[0];if(F)return{monomer:U,complimentaryMonomer:F.getAnotherMonomer(U)}}},{key:"findCycledComplimentaryChains",value:function(U,F,Q){var R=this,V=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new Set;if(V.has(U))return[];V.add(U);var n=this.getComplimentaryChainsWithData(U);return 0===n.length?[]:n.find(function(U){var B=U.complimentaryChain;return B!==Q&&B===F})?[U]:n.reduce(function(n,l){var d=l.complimentaryChain;return d===F||d===Q?n:[].concat((0,B.A)(n),(0,B.A)(R.findCycledComplimentaryChains(d,F,U,V)))},[])}},{key:"getComplimentaryChainIfNucleotide",value:function(U,F,Q){var B,R=rn(U.monomers);try{for(R.s();!(B=R.n()).done;){var V=B.value,n=this.getFirstComplimentaryMonomer(V)||{},l=n.monomer,d=n.complimentaryMonomer,J=d&&Q.get(d),N=d&&F.get(d);if(J&&N){var Z=IR(l),W=IR(d);if(Z&&W)return{complimentaryChain:N,complimentaryNode:J}}}}catch(S){R.e(S)}finally{R.f()}return{complimentaryChain:undefined,complimentaryNode:undefined}}},{key:"reorderChainsPutSenseChainOrderInAccordanceAntisenseConnection",value:function(){var U=this,F=new Set,Q=this.monomerToChain,B=this.monomerToNode,R=new Array(this.chains.length);this.chains.forEach(function(V){F.has(V)||(R[F.size]=V,F.add(V)),V.isAntisense||V.forEachNode(function(n){var l,d=n.node,J=null!==(l=U.getComplimentaryChainIfNucleotide(d,Q,B))&&void 0!==l?l:{},N=J.complimentaryChain,Z=J.complimentaryNode;if(N){var W=!1;N.forEachNode(function(n){var l=n.node;if(l===Z&&(W=!0),!W){var d,J=(null!==(d=U.getComplimentaryChainIfNucleotide(l,Q,B))&&void 0!==d?d:{}).complimentaryChain;if(J&&!F.has(J)){for(var N=J,S=R.findIndex(function(U){return U===V});SS){T=!0;break}}if(V.add(k),!T){var c={chain:k,group:Number(!d)};Q.push(c),R.push(c)}}})};Q.length;)d();return R}},{key:"getComplimentaryChainsWithData",value:function(U){var F=this,Q=[],B=new Set,R=this.monomerToNode,V=this.monomerToChain;return U.forEachNode(function(n){var l=n.node,d=n.nodeIndex;l.monomers.forEach(function(n){var J=(F.getFirstComplimentaryMonomer(n)||{}).complimentaryMonomer,N=J&&R.get(J),Z=J&&V.get(J);N&&Z&&!B.has(Z)&&(B.add(Z),Q.push({complimentaryChain:Z,chain:U,firstConnectedNode:l,firstConnectedComplimentaryNode:N,chainIdxConnection:d}))})}),Q}}],[{key:"fromMonomers",value:function(F){var Q=new U,B=F.filter(function(U){return!U.monomerItem.props.isMicromoleculeFragment||sF(U)});if(0===B.length)return Q;var V=this.getFirstMonomersInChains(B),n=(0,R.A)(V,2),l=n[0],d=n[1];l.forEach(function(U){Q.add(new cn(U))}),d.forEach(function(U){Q.add(new cn(U,!!Qn.CYCLED))});var J=this.getFirstMonomersInMiddleOfChains(B);return J.length&&J.forEach(function(U){Q.add(new cn(U))}),Q}},{key:"getFirstMonomersInChains",value:function(U){var F=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[bV,XV,IV,HV,uV,kn,_V,Vn],Q=U.filter(function(U){return F.some(function(F){return U instanceof F})}),B=[],R=this.getFirstMonomersInRegularChains(Q),V=this.getFirstMonomersInCycledChains(Q);return B.push(R,V),B}},{key:"getFirstMonomersInMiddleOfChains",value:function(U){var F=new Set(U),Q=new Set,B=[];return U.forEach(function(U){if(!Q.has(U)){Q.add(U);for(var R=MR(U);R&&!Q.has(R)&&!F.has(R);){var V=MR(R);Q.add(R),V?R=V:B.push(R)}}}),B}},{key:"getFirstMonomersInRegularChains",value:function(U){return U.filter(function(U){var F=U.attachmentPointsToBonds.R1;if(F instanceof dR)return!0;var Q=!F||F.isSideChainConnection,B=null===F||void 0===F?void 0:F.getAnotherMonomer(U),R=uR(U)&&B instanceof HV&&bR(B)===U;return(Q||mR(U))&&!R})}},{key:"getFirstMonomersInCycledChains",value:function(U){var F=this,Q=new Set,B=[];return U.forEach(function(U){if(!Q.has(U)){var F=new Set;F.add(U),Q.add(U);for(var R=iR(U);R&&!Q.has(R);)F.add(R),Q.add(R),R=iR(R);U===R&&B.push(Array.from(F))}}),B.map(function(U){return F.getMonomerWithLowerCoordsFromMonomerList(U)})}},{key:"getMonomerWithLowerCoordsFromMonomerList",value:function(U){var F=U.slice();return F.sort(function(U,F){return F.position.x+F.position.y>U.position.x+U.position.y?-1:1}),F[0]}}]),U}(),Gn=function(){function U(F,Q){(0,V.A)(this,U),(0,Z.A)(this,"renderer",void 0),(0,Z.A)(this,"monomer",new Cn),this.firstConnectedNode=F,this.secondConnectedNode=Q}return(0,n.A)(U,[{key:"SubChainConstructor",get:function(){return Tn}},{key:"firstMonomerInNode",get:function(){return this.firstConnectedNode.firstMonomerInNode}},{key:"lastMonomerInNode",get:function(){return this.firstConnectedNode.lastMonomerInNode}},{key:"hovered",get:function(){return!1}},{key:"selected",get:function(){return!1}},{key:"monomerItem",get:function(){return{props:{MonomerNaturalAnalogCode:null}}}},{key:"monomers",get:function(){return[this.monomer]}},{key:"setRenderer",value:function(U){this.renderer=U,this.monomer.setRenderer(U)}},{key:"modified",get:function(){return!1}}]),U}();function sn(U,F){var Q="undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(!Q){if(Array.isArray(U)||(Q=function(U,F){if(U){if("string"==typeof U)return Xn(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?Xn(U,F):void 0}}(U))||F&&U&&"number"==typeof U.length){Q&&(U=Q);var B=0,R=function(){};return{s:R,n:function(){return B>=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function Xn(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q3&&void 0!==arguments[3]?arguments[3]:Mn.Single,N=arguments.length>4&&void 0!==arguments[4]?arguments[4]:bn.None,W=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null;return(0,V.A)(this,F),R=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,yn()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[U.position]),(0,Z.A)((0,J.A)(R),"endPosition",new zF),(0,Z.A)((0,J.A)(R),"renderer",void 0),R.firstAtom=U,R.secondAtom=Q,R.bondIdInMicroMode=B,R.type=n,R.stereo=N,R.cip=W,R.endPosition=Q.position,R}return(0,N.A)(F,U),(0,n.A)(F,[{key:"setRenderer",value:function(U){b((0,d.A)(F.prototype),"setBaseRenderer",this).call(this,U),this.renderer=U}},{key:"startPosition",get:function(){return this.position}},{key:"center",get:function(){return zF.centre(this.startPosition,this.endPosition)}},{key:"moveBondStartAbsolute",value:function(U,F){this.moveAbsolute(new zF(U,F))}},{key:"moveBondEndAbsolute",value:function(U,F){this.endPosition=new zF(U,F)}},{key:"moveToLinkedAtoms",value:function(){var U=this.firstAtom.position,F=this.secondAtom.position;this.moveBondStartAbsolute(U.x,U.y),F&&this.moveBondEndAbsolute(F.x,F.y)}},{key:"moveToLinkedEntities",value:function(){this.moveToLinkedAtoms()}}]),F}($B);function Ln(U,F){var Q="undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(!Q){if(Array.isArray(U)||(Q=function(U,F){if(U){if("string"==typeof U)return Hn(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?Hn(U,F):void 0}}(U))||F&&U&&"number"==typeof U.length){Q&&(U=Q);var B=0,R=function(){};return{s:R,n:function(){return B>=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function Hn(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q4&&void 0!==arguments[4]?arguments[4]:{};return(0,V.A)(this,F),n=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,xn()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[U]),(0,Z.A)((0,J.A)(n),"bonds",[]),(0,Z.A)((0,J.A)(n),"renderer",void 0),n.monomer=Q,n.atomIdInMicroMode=B,n.label=R,n.properties=N,n}return(0,N.A)(F,U),(0,n.A)(F,[{key:"center",get:function(){return this.position}},{key:"addBond",value:function(U){this.bonds.includes(U)||this.bonds.push(U)}},{key:"deleteBond",value:function(U){this.bonds=this.bonds.filter(function(F){return F.id!==U})}},{key:"setRenderer",value:function(U){this.renderer=U,b((0,d.A)(F.prototype),"setBaseRenderer",this).call(this,U)}},{key:"isCarbon",get:function(){return this.label===v.C}},{key:"calculateConnections",value:function(){var U,F=0,Q=Ln(this.bonds);try{for(Q.s();!(U=Q.n()).done;){var B=U.value;if(B instanceof dR)F+=1;else switch(B.type){case Mn.Single:F+=1;break;case Mn.Double:F+=2;break;case Mn.Triple:F+=3;break;case Mn.Dative:case Mn.Hydrogen:break;case Mn.Aromatic:return 1===this.bonds.length?-1:this.bonds.length;default:return-1}}}catch(R){Q.e(R)}finally{Q.f()}return F}},{key:"hasAlias",get:function(){return Boolean(this.properties.alias)}},{key:"hasRadical",get:function(){return(0,o.isNumber)(this.properties.radical)&&0!==this.properties.radical}},{key:"hasCharge",get:function(){return(0,o.isNumber)(this.properties.charge)&&0!==this.properties.charge}},{key:"hasExplicitValence",get:function(){return(0,o.isNumber)(this.properties.explicitValence)&&-1!==this.properties.explicitValence}},{key:"hasExplicitIsotope",get:function(){return(0,o.isNumber)(this.properties.isotope)&&this.properties.isotope>=0}},{key:"hasBadValence",get:function(){return this.calculateValence().hydrogenAmount<0}},{key:"hasStereoLabel",get:function(){return Boolean(this.properties.stereoLabel)}},{key:"radicalAmount",get:function(){switch(this.properties.radical){case zn.Single:case zn.Triplet:return 2;case zn.Doublet:return 1;default:return 0}}},{key:"valenceWithoutHydrogen",get:function(){var U,F=null!==(U=this.properties.charge)&&void 0!==U?U:0,Q=this.label,B=u.get(this.label),R=null===B||void 0===B?void 0:B.group,V=this.radicalAmount,n=this.calculateConnections(),l=Math.abs(F);if(3===R){if((Q===v.B||Q===v.Al||Q===v.Ga||Q===v.In)&&-1===F&&V+n<=4)return V+n}else if(5===R){if((Q===v.N||Q===v.P||Q===v.Sb||Q===v.Bi||Q===v.As)&&(1===F||2===F))return V+n}else if(6===R){if(Q===v.O){if(F>=1)return V+n}else if((Q===v.S||Q===v.Se||Q===v.Po)&&1===F)return V+n}else if(7===R&&(Q===v.Cl||Q===v.Br||Q===v.I||Q===v.At)&&1===F)return V+n;return V+n+l}},{key:"calculateValence",value:function(){var U;if(this.hasExplicitValence){var F=this.properties.explicitValence;return{valence:F,hydrogenAmount:F-this.valenceWithoutHydrogen}}var Q=this.label,B=u.get(Q),R=null===B||void 0===B?void 0:B.group,V=this.calculateConnections(),n=this.radicalAmount,l=null!==(U=this.properties.charge)&&void 0!==U?U:0,d=Math.abs(l),J=V,N=0;return-1===V||(void 0===R?Q!==v.D&&Q!==v.T||(J=1,N=1-n-V-d):1===R?Q!==v.H&&Q!==v.Li&&Q!==v.Na&&Q!==v.K&&Q!==v.Rb&&Q!==v.Cs&&Q!==v.Fr||(J=1,N=1-n-V-d):2===R?V+n+d===2||V+n+d===0?J=2:N=-1:3===R?Q===v.B||Q===v.Al||Q===v.Ga||Q===v.In?-1===l?(J=4,N=4-n-V):(J=3,N=3-n-V-d):Q===v.Tl&&(-1===l?n+V<=2?(J=2,N=2-n-V):(J=4,N=4-n-V):-2===l?n+V<=3?(J=3,N=3-n-V):(J=5,N=5-n-V):n+V+d<=1?(J=1,N=1-n-V-d):(J=3,N=3-n-V-d)):4===R?Q===v.C||Q===v.Si||Q===v.Ge?(J=4,N=4-n-V-d):Q!==v.Sn&&Q!==v.Pb||(V+n+d<=2?(J=2,N=2-n-V-d):(J=4,N=4-n-V-d)):5===R?Q===v.N||Q===v.P?1===l?(J=4,N=4-n-V):2===l?(J=3,N=3-n-V):n+V+d<=3?(J=3,N=3-n-V-d):(J=5,N=5-n-V-d):Q!==v.Bi&&Q!==v.Sb&&Q!==v.As||(1===l?n+V<=2&&Q!==v.As?(J=2,N=2-n-V):(J=4,N=4-n-V):2===l?(J=3,N=3-n-V):n+V<=3?(J=3,N=3-n-V-d):(J=5,N=5-n-V-d)):6===R?Q===v.O?l>=1?(J=3,N=3-n-V):(J=2,N=2-n-V-d):Q===v.S||Q===v.Se||Q===v.Po?1===l?V<=3?(J=3,N=3-n-V):(J=5,N=5-n-V):V+n+d<=2?(J=2,N=2-n-V-d):V+n+d<=4?(J=4,N=4-n-V-d):(J=6,N=6-n-V-d):Q===v.Te&&(-1===l?V<=2&&(J=2,N=2-n-V-d):0!==l&&2!==l||(V<=2?(J=2,N=2-n-V-d):V<=4?(J=4,N=4-n-V-d):0===l&&V<=6?(J=6,N=6-n-V-d):N=-1)):7===R?Q===v.F?(J=1,N=1-n-V-d):Q!==v.Cl&&Q!==v.Br&&Q!==v.I&&Q!==v.At||(1===l?V<=2?(J=2,N=2-n-V):(3===V||5===V||V>=7)&&(N=-1):0===l&&(V<=1?(J=1,N=1-n-V):2===V||4===V||6===V?1===n?J=V:N=-1:V>7&&(N=-1))):8===R&&(Q===v.Pt?V+n+d<=2?(J=2,N=2-n-V-d):V+n+d<=4?(J=4,N=4-n-V-d):N=-1:V+n+d===0?J=1:N=-1)),{valence:J,hydrogenAmount:N}}}]),F}($B);function wn(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function jn(U,F){var Q={atoms:Array.from(U.atoms.values()).map(function(U){return"R#"!==U.label||F?function(U,F){var Q={};if("L#"!==U.label){var B;iU(Q,"label","R#"===U.label&&F?null===(B=F.monomerItem.props.MonomerCaps)||void 0===B?void 0:B[SQ(U.rglabel)]:U.label),iU(Q,"mapping",parseInt(U.aam),0)}else U.atomList&&(Q.type="atom-list",iU(Q,"elements",U.atomList.labelList()),iU(Q,"notList",U.atomList.notList,!1));iU(Q,"alias",U.alias);var R=dV(new zF(U.pp.x,U.pp.y,U.pp.z));iU(Q,"location",[R.x,R.y,R.z]),iU(Q,"charge",U.charge),iU(Q,"explicitValence",U.explicitValence,-1),iU(Q,"isotope",U.isotope),iU(Q,"radical",U.radical,0),iU(Q,"attachmentPoints",U.attachmentPoints,0),iU(Q,"cip",U.cip,""),iU(Q,"selected",U.getInitiallySelected()),iU(Q,"stereoLabel",U.stereoLabel,null),iU(Q,"stereoParity",U.stereoCare,0),iU(Q,"weight",U.weight,0),iU(Q,"ringBondCount",U.ringBondCount,0),iU(Q,"substitutionCount",U.substitutionCount,0),iU(Q,"unsaturatedAtom",!!U.unsaturatedAtom,!1),iU(Q,"hCount",U.hCount,0),Object.values(U.queryProperties).some(function(U){return null!==U})&&(Q.queryProperties={},Object.keys(U.queryProperties).forEach(function(F){iU(Q.queryProperties,F,U.queryProperties[F])}));return iU(Q,"invRet",U.invRet,0),iU(Q,"exactChangeFlag",!!U.exactChangeFlag,!1),iU(Q,"implicitHCount",U.implicitHCount),Q}(U,F):function(U){var F={type:"rg-label"},Q=dV(new zF(U.pp.x,U.pp.y,U.pp.z));iU(F,"location",[Q.x,Q.y,Q.z]),iU(F,"attachmentPoints",U.attachmentPoints,0);var B=function(U){var F,Q,B=[];for(F=0;F<32;F++)U&1<1&&void 0!==arguments[1]?arguments[1]:0,Q={};iU(Q,"type",U.type),iU(Q,"topology",U.topology),iU(Q,"reactingCenterStatus",U.center),iU(Q,"stereo",U.stereo),iU(Q,"cip",U.cip),iU(Q,"customQuery",U.customQuery),iU(Q,"begin",U.atoms[0]+F),iU(Q,"end",U.atoms[1]+F),iU(Q,"initiallySelected",U.selected);var B=new fQ(Q);return B.setInitiallySelected(U.selected),B}function Pn(U){var F=function(U,F){var Q=0;return U.fragments&&U.fragments.forEach(function(U){var B,R,V,n;null===(B=U.atoms)||void 0===B||B.forEach(function(U){return F.atoms.add(fn(U))}),null===(R=U.bonds)||void 0===R||R.forEach(function(U){return F.bonds.add(gn(U,Q))}),Q+=null!==(V=null===(n=U.atoms)||void 0===n?void 0:n.length)&&void 0!==V?V:0}),F}(U,new xB);return U.atoms&&U.atoms.forEach(function(U){var Q=null;"rg-label"===U.type&&(Q=F.atoms.add(function(U){var F={label:"R#"};iU(F,"pp",{x:U.location[0],y:-U.location[1],z:U.location[2]||0}),iU(F,"attachmentPoints",U.attachmentPoints);var Q=function(U){var F=0;return U.forEach(function(U){F|=1<=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function qn(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q0&&(R.style=V.join("; ")),null!==(Q=U.font)&&void 0!==Q&&Q.family&&(R.font=U.font.family),R}),direction:"ltr",format:"",indent:0,type:"paragraph",version:1,textFormat:0,textStyle:""};return U.alignment&&(F.format=U.alignment),F}),direction:"ltr",format:"",indent:0,type:"root",version:1}};return{position:{x:B,y:R,z:V},pos:d,content:JSON.stringify(J)}}(U);Q=_R(B)}else if((Q=_R(U.data))&&Q.content)try{var R="string"===typeof Q.content?JSON.parse(Q.content):Q.content;if(R&&Array.isArray(R.blocks)){var V=Wl(R);Q.content=JSON.stringify(V)}}catch(l){}var n=new PB(Q);return n.setInitiallySelected(U.selected),F.texts.add(n),F}function kl(U,F){return F.images.add(tV.fromKetNode(U)),F}function tl(U,F){return F.addMultitailArrow(eV.fromKetNode(U)),F}function al(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function Tl(U){for(var F=1;F1&&void 0!==arguments[1]?arguments[1]:0;(0,V.A)(this,U),this.type=F,this.priority=Q}return(0,n.A)(U,[{key:"execute",value:function(U){throw new Error("Operation.execute() is not implemented")}},{key:"perform",value:function(U){return this.execute(U),this._inverted||(this._inverted=this.invert(),this._inverted._inverted=this),this._inverted}},{key:"invert",value:function(){throw new Error("Operation.invert() is not implemented")}},{key:"isDummy",value:function(U){return!1}}],[{key:"invalidateAtom",value:function(F,Q,B){var R=F.atoms.get(Q);if(R){F.markAtom(Q,B?1:0);var V=F.molecule.halfBonds;R.a.neighbors.forEach(function(Q){if(V.has(Q)){var R=V.get(Q);R&&(F.markBond(R.bid,1),F.markAtom(R.end,0),B&&U.invalidateLoop(F,R.bid))}});var n=R.a.fragment,l=F.render.options.stereoLabelStyle;F.atoms.forEach(function(U,Q){l!==bl.IUPAC&&l!==bl.Classic||U.a.fragment===n&&F.markAtom(Q,0)})}}},{key:"invalidateLoop",value:function(U,F){var Q=U.bonds.get(F);if(null!==Q&&void 0!==Q&&Q.b.hb1&&Q.b.hb2){var B=U.molecule.halfBonds.get(Q.b.hb1),R=U.molecule.halfBonds.get(Q.b.hb2),V=null===B||void 0===B?void 0:B.loop;void 0!==V&&V>=0&&U.loopRemove(V);var n=null===R||void 0===R?void 0:R.loop;void 0!==n&&n>=0&&U.loopRemove(n)}}},{key:"invalidateBond",value:function(F,Q){U.invalidateLoop(F,Q);var B=F.bonds.get(Q);B&&(U.invalidateAtom(F,B.b.begin,0),U.invalidateAtom(F,B.b.end,0))}},{key:"invalidateItem",value:function(F,Q,B,R){if("atoms"!==Q)return"bonds"===Q?(U.invalidateBond(F,B),void(R>0&&U.invalidateLoop(F,B))):void F.markItem(Q,B,R);U.invalidateAtom(F,B,R)}},{key:"invalidateEnhancedFlag",value:function(F,Q){U.invalidateItem(F,"enhancedFlags",Q,1)}}]),U}(),Xl=Object.freeze({ATOM_ADD:"Add atom",ATOM_DELETE:"Delete atom",ATOM_ATTR:"Set atom attribute",ATOM_MOVE:"Move atom",CALC_IMPLICIT_H:"Calculate implicit hydrogen",BOND_ADD:"Add bond",BOND_DELETE:"Delete bond",BOND_ATTR:"Set bond attribute",BOND_MOVE:"Move bond",LOOP_MOVE:"Move loop",S_GROUP_ATTACHMENT_POINT_ADD:"Add attachment point to s-group",S_GROUP_ATTACHMENT_POINT_REMOVE:"Remove attachment point from s-group",S_GROUP_ATOM_ADD:"Add atom to s-group",S_GROUP_ATOM_REMOVE:"Remove atom from s-group",S_GROUP_ATTR:"Set s-group attribute",S_GROUP_CREATE:"Create s-group",S_GROUP_DELETE:"Delete s-group",S_GROUP_ADD_TO_HIERACHY:"Add s-group to hierarchy",S_GROUP_REMOVE_FROM_HIERACHY:"Delete s-group from hierarchy",R_GROUP_ATTR:"Set r-group attribute",R_GROUP_FRAGMENT:"R-group fragment",R_GROUP_ATTACHMENT_POINT_ADD:"Add R-group attachment point",R_GROUP_ATTACHMENT_POINT_REMOVE:"Remove R-group attachment point",UPDATE_IF_THEN:"Update",RESTORE_IF_THEN:"Restore",RXN_ARROW_ADD:"Add rxn arrow",RXN_ARROW_DELETE:"Delete rxn arrow",RXN_ARROW_MOVE:"Move rxn arrow",RXN_ARROW_ROTATE:"Rotate rxn arrow",RXN_ARROW_RESIZE:"Resize rxn arrow",RXN_PLUS_ADD:"Add rxn plus",RXN_PLUS_DELETE:"Delete rxn plus",RXN_PLUS_MOVE:"Move rxn plus",S_GROUP_DATA_MOVE:"Move s-group data",CANVAS_LOAD:"Load canvas",ALIGN_DESCRIPTORS:"Align descriptors",SIMPLE_OBJECT_ADD:"Add simple object",SIMPLE_OBJECT_DELETE:"Delete simple object",SIMPLE_OBJECT_MOVE:"Move simple object",SIMPLE_OBJECT_RESIZE:"Resize simple object",RESTORE_DESCRIPTORS_POSITION:"Restore descriptors position",FRAGMENT_ADD:"Add fragment",FRAGMENT_DELETE:"Delete fragment",FRAGMENT_SET_PROPERTIES:"Set fragment properties",FRAGMENT_STEREO_FLAG:"Add fragment stereo flag",FRAGMENT_ADD_STEREO_ATOM:"Add stereo atom to fragment",FRAGMENT_DELETE_STEREO_ATOM:"Delete stereo atom from fragment",ENHANCED_FLAG_MOVE:"Move enhanced flag",TEXT_CREATE:"Add text",TEXT_UPDATE:"Edit text",TEXT_DELETE:"Delete text",TEXT_MOVE:"Move text",ADD_HIGHLIGHT:"Highlight",UPDATE_HIGHLIGHT:"Update highlight",REMOVE_HIGHLIGHT:"Remove highlight",POLYMER_BOND_ADD:"Add polymer bond",POLYMER_BOND_DELETE:"Remove polymer bond",POLYMER_BOND_MOVE:"Move polymer bond",POLYMER_BOND_FINISH_CREATION:"Finish polymer bond creation",POLYMER_BOND_CANCEL_CREATION:"Cancel polymer bond creation",PEPTIDE_ADD:"Add peptide",PEPTIDE_REMOVE:"Remove peptide",PEPTIDE_MOVE:"Move peptide",PEPTIDE_HOVER:"Hover peptide",DRAWING_ENTITY_SELECT:"Select drawing entity",DRAWING_ENTITY_HOVER:"Hover drawing entity",SHOW_POLYMER_BOND_INFORMATION:"Show polymer bond information",IMAGE_UPSERT:"Upsert image",IMAGE_DELETE:"Delete image",IMAGE_MOVE:"Move image",IMAGE_RESIZE:"Resize image",MULTITAIL_ARROW_UPSERT:"Upsert multitail arrow",MULTITAIL_ARROW_DELETE:"Delete multitail arrow",MULTITAIL_ARROW_MOVE:"Move multitail arrow",MULTITAIL_ARROW_ADD_TAIL:"Add multitail arrow tail",MULTITAIL_ARROW_REMOVE_TAIL:"Remove multitail arrow tail",MULTITAIL_ARROW_RESIZE_HEAD_TAIL:"Resize head tail",MULTITAIL_ARROW_MOVE_HEAD_TAIL:"Move head tail",ROTATE_MONOMER:"Rotate monomer",FLIP_MONOMER:"Flip monomer",SHIFT_MONOMER:"Shift monomer",MONOMER_CREATION_ASSIGN_AA:"Monomer creation :: Assign attachment atom",MONOMER_CREATION_ASSIGN_LGA:"Monomer creation :: Assign leaving atom",MONOMER_CREATION_REASSIGN_AP:"Monomer creation :: Reassign attachment point",MONOMER_CREATION_REASSIGN_LGA:"Monomer creation :: Reassign leaving group atom",MONOMER_CREATION_REMOVE_AP:"Monomer creation :: Remove attachment point",MONOMER_CREATION_MARK_RNA_COMPONENT:"Monomer creation :: Mark as RNA component"});function Yl(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(Yl=function(){return!!U})()}!function(U){U[U.ATOM_ATTR=1]="ATOM_ATTR",U[U.BOND_ADD=1]="BOND_ADD",U[U.R_GROUP_ATTACHMENT_POINT_REMOVE=1]="R_GROUP_ATTACHMENT_POINT_REMOVE",U[U.ATOM_MOVE=2]="ATOM_MOVE",U[U.BOND_ATTR=2]="BOND_ATTR",U[U.BOND_MOVE=2]="BOND_MOVE",U[U.BOND_DELETE=3]="BOND_DELETE",U[U.S_GROUP_ATOM_ADD=3]="S_GROUP_ATOM_ADD",U[U.S_GROUP_ATTACHMENT_POINT_ADD=3]="S_GROUP_ATTACHMENT_POINT_ADD",U[U.R_GROUP_ATTACHMENT_POINT_ADD=3]="R_GROUP_ATTACHMENT_POINT_ADD",U[U.S_GROUP_ATTR=4]="S_GROUP_ATTR",U[U.ATOM_DELETE=5]="ATOM_DELETE",U[U.FRAGMENT_STEREO_FLAG=6]="FRAGMENT_STEREO_FLAG",U[U.CALC_IMPLICIT_H=10]="CALC_IMPLICIT_H",U[U.FRAGMENT_DELETE_STEREO_ATOM=90]="FRAGMENT_DELETE_STEREO_ATOM",U[U.S_GROUP_DELETE=95]="S_GROUP_DELETE",U[U.S_GROUP_ADD_TO_HIERACHY=100]="S_GROUP_ADD_TO_HIERACHY",U[U.FRAGMENT_ADD_STEREO_ATOM=100]="FRAGMENT_ADD_STEREO_ATOM"}(Gl||(Gl={}));var yl=function(U){function F(U){var Q;return(0,V.A)(this,F),Q=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,Yl()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.FLIP_MONOMER]),(0,Z.A)((0,J.A)(Q),"previousValue",null),Q.data=U,Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F,Q,B=U.molecule.sgroups.get(this.data.id);if(B&&B instanceof DB){var R=(F=B.monomer.monomerItem).transformation||(F.transformation={});if(this.previousValue=null!==(Q=R.flip)&&void 0!==Q?Q:null,this.previousRotate=R.rotate,null!==this.data.value){var V,n,l=R.flip,d=this.data.value;if(l&&l!==d)return R.rotate=(null!==(V=this.previousRotate)&&void 0!==V?V:0)+Math.PI,void delete R.flip;if(R.flip=this.data.value,this.data.rotate)R.rotate=(null!==(n=this.previousRotate)&&void 0!==n?n:0)+this.data.rotate}else delete R.flip}}},{key:"invert",value:function(){return new F({id:this.data.id,value:this.previousValue,rotate:this.previousRotate?-this.previousRotate:void 0})}}]),F}(sl),zl=function(){function U(F,Q,B){(0,V.A)(this,U),(0,Z.A)(this,"priority",1),this.addMonomerChangeModel=F,this.deleteMonomerChangeModel=Q,this.callback=B,this.monomer=this.addMonomerChangeModel()}return(0,n.A)(U,[{key:"execute",value:function(U){this.monomer=this.addMonomerChangeModel(this.monomer),U.addMonomer(this.monomer,this.callback)}},{key:"invert",value:function(U){this.monomer&&(this.deleteMonomerChangeModel(this.monomer),U.deleteMonomer(this.monomer))}}]),U}(),Ol=function(){function U(F,Q,B,R){(0,V.A)(this,U),(0,Z.A)(this,"priority",-1),this.addMonomerChangeModel=Q,this.deleteMonomerChangeModel=B,this.callback=R,this.monomer=F}return(0,n.A)(U,[{key:"execute",value:function(U){this.deleteMonomerChangeModel(this.monomer),U.deleteMonomer(this.monomer)}},{key:"invert",value:function(U){this.monomer=this.addMonomerChangeModel(this.monomer),U.addMonomer(this.monomer,this.callback)}}]),U}();function Ll(U,F,Q){this.f=U,this.once=F,this.priority=Q}function Hl(){this.handlers=[]}var xl=Hl;function ul(U,F){for(var Q=0;Q=0;Q--)U[Q].once&&(F||(F=U.slice()),F.splice(Q,1));return F&&(this.handlers=F),U},Hl.prototype.add=function(U,F){ul(this,new Ll(U,!1,F||0))},Hl.prototype.addOnce=function(U,F){ul(this,new Ll(U,!0,F||0))},Hl.prototype.remove=function(U){for(var F=0;F0},Hl.prototype.dispatch=function(){for(var U=this.handlersForDispatch(),F=0;F0||U.drawingEntitiesManager.allEntities.filter(function(U){return(0,R.A)(U,2)[1].hovered}).forEach(function(U){return(0,R.A)(U,2)[1].turnOnSelection()});var F=U.drawingEntitiesManager.selectedEntities.length>0;U.events.selectTool.dispatch([Kl.erase]),F&&U.events.selectTool.dispatch([Kl.selectRectangle])}},bondSingle:{shortcut:"1",handler:function(U){U.isSequenceMode||Fd(U,Kl.bondSingle)}},bondHydrogen:{shortcut:"2",handler:function(U){U.isSequenceMode||Fd(U,Kl.bondHydrogen)}},clear:{shortcut:["Mod+Delete","Mod+Backspace"],handler:function(U){U.events.selectTool.dispatch([Kl.clear]),U.events.selectTool.dispatch([Kl.selectRectangle])}},"zoom-plus":{shortcut:["Mod+Equal","Mod+NumpadAdd"],handler:function(){RQ.instance.zoomIn()}},"zoom-minus":{shortcut:["Mod+Minus","Mod+NumpadSubtract"],handler:function(){RQ.instance.zoomOut()}},"zoom-reset":{shortcut:"Mod+0",handler:function(){RQ.instance.resetZoom()}},"select-all":{shortcut:"Mod+a",handler:function(U){var F=U.drawingEntitiesManager.selectAllDrawingEntities();U.renderersContainer.update(F)}},hand:{shortcut:"Mod+Alt+h",handler:function(U){U.events.selectTool.dispatch([Kl.hand])}},"hide-scrollbars":{shortcut:"Mod+b",handler:function(){RQ.instance.drawScrollBars(!0)}},createRnaAntisenseStrand:{shortcut:["Shift+Alt+r"],handler:function(U){U.events.createAntisenseChain.dispatch(!1)}},createDnaAntisenseStrand:{shortcut:["Shift+Alt+d"],handler:function(U){U.events.createAntisenseChain.dispatch(!0)}},toggleMacromoleculesPropertiesVisibility:{shortcut:"Alt+c",handler:function(U){U.events.toggleMacromoleculesPropertiesVisibility.dispatch()}},arrangeRing:{shortcut:["Shift+Alt+c"],handler:function(U){U.events.layoutCircular.dispatch()}}},Bd="#585858",Rd="#57FF8F",Vd="#CCFFDD",nd=(0,Z.A)((0,Z.A)((0,Z.A)((0,Z.A)((0,Z.A)((0,Z.A)({},WU.AminoAcid,{hover:"#peptide-hover",body:"#peptide",autochainPreview:"#peptide-autochain-preview"}),WU.CHEM,{hover:"#chem-selection",body:"#chem",autochainPreview:"#chem-autochain-preview"}),WU.Sugar,{hover:"#sugar-selection",body:"#sugar",variant:"#sugar-variant",autochainPreview:"#sugar-autochain-preview"}),WU.Base,{hover:"#rna-base-selection",body:"#rna-base",variant:"#rna-base-variant",autochainPreview:"#rna-base-autochain-preview"}),WU.Phosphate,{hover:"#phosphate-selection",body:"#phosphate",variant:"#phosphate-variant",autochainPreview:"#phosphate-autochain-preview"}),WU.RNA,{hover:"#nucleotide-hover",body:"#nucleotide",autochainPreview:"#nucleotide-autochain-preview"}),ld=function(){function U(F,Q){var B,R,n;(0,V.A)(this,U),(0,Z.A)(this,"initialAngle",0),this.rootElement=F.rootElement,this.monomer=F.monomer,this.bodyWidth=F.bodyWidth,this.bodyHeight=F.bodyHeight,this.canvasOffset=(null===(B=F.canvas.node())||void 0===B?void 0:B.getBoundingClientRect())||new DOMRect(0,0,0,0),this.attachmentPointName=F.attachmentPointName,this.centerOfMonomer=null!==(R=null===(n=F.monomer.renderer)||void 0===n?void 0:n.center)&&void 0!==R?R:new zF(0,0,0),this.isSnake=F.isSnake,this.isUsed=F.isUsed,this.initialAngle=F.angle,this.applyZoomForPositionCalculation=F.applyZoomForPositionCalculation,this.editorEvents=Pl,this.attachmentPoint=null,Q||this.appendAttachmentPoint()}return(0,n.A)(U,[{key:"fill",get:function(){return this.monomer.isAttachmentPointPotentiallyUsed(this.attachmentPointName)?U.colors.fillPotentially:this.monomer.isAttachmentPointUsed(this.attachmentPointName)?U.colors.fillUsed:U.colors.fill}},{key:"stroke",get:function(){return this.monomer.isAttachmentPointPotentiallyUsed(this.attachmentPointName)?U.colors.strokePotentially:this.monomer.isAttachmentPointUsed(this.attachmentPointName)?U.colors.strokeUsed:U.colors.stroke}},{key:"removeAttachmentPoint",value:function(){var U;null===(U=this.element)||void 0===U||U.remove()}},{key:"renderAttachmentPointByCoordinates",value:function(F,Q,B){var R=this.fill,V=this.stroke;this.attachmentPoint=this.rootElement.append("g").data([this]).style("pointer-events","none").style("cursor","pointer").attr("class","dynamic-element");var n=this.attachmentPoint.append("g");return n.append("line").attr("x1",F.x).attr("y1",F.y).attr("x2",Q.x).attr("y2",Q.y).attr("stroke",V).attr("stroke-linecap","round").attr("stroke-width","1px"),n.append("circle").attr("r",U.radius).attr("cx",Q.x).attr("cy",Q.y).attr("stroke","white"===R?"#0097A8":"white").attr("stroke-width","1px").attr("data-testid","monomer-attachment-point").attr("data-attachment-point-alias",this.attachmentPointName).attr("data-parent-monomer-id",this.monomer.id).attr("data-monomerid",this.monomer.id).attr("fill",R),this.attachmentPoint.append("text").text(this.attachmentPointName).attr("x",B.x).attr("y",B.y).style("font-size","6px").style("fill","#585858").style("user-select","none"),this.attachmentPoint}},{key:"renderHoverableArea",value:function(F,Q,B,R){var V=this;if(this.element){var n=B+90,l=Math.sqrt(Math.pow(F.x-Q.x,2)+Math.pow(F.y-Q.y,2)),d=[{x:-U.radius,y:U.radius+2},{x:U.radius,y:U.radius+2},{x:8,y:10-l},{x:-8,y:10-l},{x:-U.radius,y:U.radius+2}],J=(0,r.n8)().x(function(U){return U.x}).y(function(U){return U.y}),N=this.element.append("g");return N.append("path").attr("d",J(d)+"z").attr("stroke","black").attr("stroke-width","1px").attr("fill","#0097A8").style("opacity","0").style("pointer-events",R?"none":"auto").attr("transform","translate(".concat(Q.x,",").concat(Q.y,")rotate(").concat(n,")")),N.on("mouseover",function(U){U.attachmentPointName=V.attachmentPointName,V.editorEvents.mouseOverAttachmentPoint.dispatch(U)}).on("mouseleave",function(U){V.editorEvents.mouseLeaveAttachmentPoint.dispatch(U)}).on("mousemove",function(U){V.editorEvents.mouseMoveAttachmentPoint.dispatch(U)}).on("mousedown",function(U){U.attachmentPointName=V.attachmentPointName,V.editorEvents.mouseDownAttachmentPoint.dispatch(U)}).on("mouseup",function(U){U.attachmentPointName=V.attachmentPointName,V.editorEvents.mouseUpAttachmentPoint.dispatch(U)}),N}}},{key:"appendAttachmentPoint",value:function(){var U,F,Q=this.monomer.attachmentPointsToBonds[this.attachmentPointName],B=KV(),V=Q instanceof dR?Q.monomer:null===Q||void 0===Q?void 0:Q.firstMonomer,n=this.monomer.id===(null===V||void 0===V?void 0:V.id),l=this.attachmentPointName===BR.R1,d=this.attachmentPointName===BR.R2;if(Q)if(Q instanceof dR||GR(Q)||!(this.isSnake&&!Q.isHorizontal||"snake-layout-mode"===B.mode.modeName&&Q.isSideChainConnection))F=this.rotateToAngle(Q,n),U=zF.radiansToDegrees(F);else{var J=(null===Q||void 0===Q?void 0:Q.renderer).getSideConnectionEndpointAngle(this.monomer);F=l?2*Math.PI:d?Math.PI:(0,o.isNumber)(J)?J:this.rotateToAngle(Q,n),U=zF.radiansToDegrees(F)}else U=this.initialAngle;var N=this.getCoordinates(U),Z=(0,R.A)(N,3),W=Z[0],S=Z[1],E=Z[2],k=dQ(this.centerOfMonomer,this.centerOfMonomer,this.bodyWidth,this.bodyHeight),t=this.renderAttachmentPointByCoordinates(W,S,E);this.element=t;var a=this.renderHoverableArea(k,S,U,Boolean(Q));return this.hoverableArea=a,t}},{key:"raise",value:function(){var U;null===(U=this.element)||void 0===U||U.raise()}},{key:"updateAttachmentPointStyleForHover",value:function(){var U,F;null===(U=this.attachmentPoint)||void 0===U||U.select("line").style("stroke",this.stroke),null===(F=this.attachmentPoint)||void 0===F||F.select("circle").style("fill",this.fill).attr("stroke","white"===this.fill?"#0097A8":"white")}},{key:"rotateToAngle",value:function(U){return arguments.length>1&&void 0!==arguments[1]&&arguments[1]?zF.oxAngleForVector(U.endPosition,U.position):zF.oxAngleForVector(U.position,U.endPosition)}},{key:"getCoordinates",value:function(U){var F=this.catchThePoint(U),Q=(0,R.A)(F,3),B=Q[0],V=Q[1],n=Q[2];return[dQ(B,this.centerOfMonomer,this.bodyWidth,this.bodyHeight),dQ(V,this.centerOfMonomer,this.bodyWidth,this.bodyHeight),dQ(n,this.centerOfMonomer,this.bodyWidth,this.bodyHeight)]}},{key:"updateCoords",value:function(){var F,Q,B,V,n=this.monomer.attachmentPointsToBonds[this.attachmentPointName];if(n&&!(n instanceof dR)){var l=this.monomer.id===(null===n||void 0===n||null===(F=n.firstMonomer)||void 0===F?void 0:F.id),d=this.rotateToAngle(n,l),J=zF.radiansToDegrees(d),N=this.getCoordinates(J),Z=(0,R.A)(N,3),W=Z[0],S=Z[1],E=Z[2];null===(Q=this.attachmentPoint)||void 0===Q||Q.select("line").attr("x1",W.x).attr("y1",W.y).attr("x2",S.x).attr("y2",S.y),null===(B=this.attachmentPoint)||void 0===B||B.select("circle").attr("cx",S.x).attr("cy",S.y).attr("stroke","white").attr("fill",U.colors.fillPotentially),null===(V=this.attachmentPoint)||void 0===V||V.select("text").attr("x",E.x).attr("y",E.y)}}},{key:"catchThePoint",value:function(F){S()(this.monomer.renderer);var Q={x:this.monomer.renderer.center.x,y:this.monomer.renderer.center.y};this.initialAngle=F;var B,V,n,l=(B=this.initialAngle-180,V=this.canvasOffset,n=this.monomer,function U(F,Q,R){var l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:B,d=zF.degrees_to_radians(l),J=zF.findSecondPoint(F,Q,d),N=zF.diff(new zF(F.x,F.y),new zF(J.x,J.y));if(N.length()<1.01)return J;var Z=Math.round(N.length()/1.4),W={x:J.x,y:J.y},S=R?VQ.canvasToView(new zF(J)):new zF(J),E={x:Math.round(S.x)+V.x,y:Math.round(S.y)+V.y};return U(W,Z,R,document.elementsFromPoint(E.x,E.y).some(function(U){var F;return U===(null===(F=n.renderer)||void 0===F||null===(F=F.bodyElement)||void 0===F?void 0:F.node())})?B:B-180)}),d=this.applyZoomForPositionCalculation,J=l(Q,(this.bodyWidth+this.bodyHeight)/2,d),N=function(U,F,Q,B,R,V){var n=zF.degrees_to_radians(F),l=zF.findSecondPoint(U,Q,n),d={x:l.x-U.x,y:l.y-U.y},J=-d.y/Q,N=d.x/Q,Z=d.x/Q,W=d.y/Q,S=0,E=B+Math.max(R.x,R.y)+1;V&&(F>=-270&&F<=0?S=5:F>=-360&&F<-270&&(S=-5));var k=J*S,t=N*S,a=Z*E,T=W*E;return[{x:l.x+k+a-R.x,y:l.y+t+T+R.y},l]}(J,this.initialAngle-180,U.attachmentPointLength,U.labelOffset,U.labelSize,this.isUsed),Z=(0,R.A)(N,2),W=Z[0];return[J,Z[1],W]}},{key:"getElement",value:function(){return this.element}},{key:"getAttachmentPointName",value:function(){return this.attachmentPointName}},{key:"getHoverableArea",value:function(){return this.hoverableArea}},{key:"getAngle",value:function(){return this.initialAngle<0&&this.isUsed?this.initialAngle+360:this.initialAngle}}]),U}();ql=ld,(0,Z.A)(ld,"attachmentPointVector",6),(0,Z.A)(ld,"attachmentPointLength",Math.hypot(ql.attachmentPointVector,ql.attachmentPointVector)),(0,Z.A)(ld,"labelOffset",3.5),(0,Z.A)(ld,"radius",3),(0,Z.A)(ld,"labelSize",{x:3.5,y:2.5}),(0,Z.A)(ld,"colors",{fillUsed:"#0097A8",fill:"white",fillPotentially:"#167782",strokeUsed:"#0097A8",stroke:"#167782",strokePotentially:"#167782"});var dd=function(){function U(F){var Q,B,R,n;(0,V.A)(this,U),this.drawingEntity=F,this.canvasWrapper=null!==(Q=null===(B=RQ.instance)||void 0===B?void 0:B.canvasWrapper)&&void 0!==Q?Q:(0,c.Lt)(UQ),this.canvas=null!==(R=null===(n=RQ.instance)||void 0===n?void 0:n.canvas)&&void 0!==R?R:(0,c.Lt)(FQ)}return(0,n.A)(U,[{key:"editorSettings",get:function(){return _F()}},{key:"rootBBox",get:function(){var U,F=null===(U=this.rootElement)||void 0===U?void 0:U.node();if(F)return F.getBBox()}},{key:"rootBoundingClientRect",get:function(){var U,F=null===(U=this.rootElement)||void 0===U?void 0:U.node();if(F)return F.getBoundingClientRect()}},{key:"width",get:function(){var U,F;return null!==(U=null===(F=this.rootBBox)||void 0===F?void 0:F.width)&&void 0!==U?U:0}},{key:"height",get:function(){var U,F;return null!==(U=null===(F=this.rootBBox)||void 0===F?void 0:F.height)&&void 0!==U?U:0}},{key:"x",get:function(){var U,F;return null!==(U=null===(F=this.rootBBox)||void 0===F?void 0:F.x)&&void 0!==U?U:0}},{key:"y",get:function(){var U,F;return null!==(U=null===(F=this.rootBBox)||void 0===F?void 0:F.y)&&void 0!==U?U:0}},{key:"selectionPoints",get:function(){}},{key:"remove",value:function(){var U;null===(U=this.rootElement)||void 0===U||U.remove(),this.rootElement=void 0}},{key:"redrawHover",value:function(){if(this.drawingEntity.hovered){var U=this.appendHover(this.hoverAreaElement);U&&(this.hoverElement=U)}else this.removeHover(),this.hoverElement=void 0}},{key:"setVisibility",value:function(U){var F;null===(F=this.rootElement)||void 0===F||F.style("opacity",U?1:0)}},{key:"move",value:function(){}}]),U}();function Jd(U){return OR(U)?[Vn,Vn.getMonomerClass(U.monomers)]:U.props.MonomerClass===WU.RNA||U.props.MonomerClass===WU.DNA?[_V,WU.RNA]:U.props.MonomerClass===WU.AminoAcid||U.props.MonomerType===eU.PEPTIDE?[bV,WU.AminoAcid]:tR(U)?[HV,WU.Sugar]:aR(U)?[IV,WU.Phosphate]:U.props.MonomerClass===WU.Base||U.props.MonomerType===eU.RNA&&[].concat((0,B.A)(SU),(0,B.A)(tU)).includes(U.props.MonomerNaturalAnalogCode)?[uV,WU.Base]:U.props.unresolved?[kn,WU.CHEM]:[XV,WU.CHEM]}function Nd(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(Nd=function(){return!!U})()}var Zd={},Wd=function(U){function F(U,Q,B,R,n){var N,W,S,E,k,t;return(0,V.A)(this,F),k=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,Nd()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[U]),(0,Z.A)((0,J.A)(k),"freeSectorsList",ZQ),(0,Z.A)((0,J.A)(k),"attachmentPoints",[]),(0,Z.A)((0,J.A)(k),"hoveredAttachmentPoint",null),(0,Z.A)((0,J.A)(k),"enumeration",null),(0,Z.A)((0,J.A)(k),"CHAIN_START_TERMINAL_INDICATOR_TEXT",""),(0,Z.A)((0,J.A)(k),"CHAIN_END_TERMINAL_INDICATOR_TEXT",""),k.monomer=U,k.monomerHoveredElementId=Q,k.monomerSymbolElementId=B,k.monomerAutochainPreviewElementId=R,k.scale=n,k.monomer.setRenderer((0,J.A)(k)),k.editorEvents=Pl,k.editor=KV(),k.monomerSymbolElement=document.querySelector("".concat(B," .monomer-body")),k.monomerSize={width:+(null!==(N=null===(W=k.monomerSymbolElement)||void 0===W?void 0:W.getAttribute("data-actual-width"))&&void 0!==N?N:0),height:+(null!==(S=null===(E=k.monomerSymbolElement)||void 0===E?void 0:E.getAttribute("data-actual-height"))&&void 0!==S?S:0)},t=k.monomerSize,dn=t,k}return(0,N.A)(F,U),(0,n.A)(F,[{key:"isSnakeBondForAttachmentPoint",value:function(U){var F,Q=null===(F=this.monomer.attachmentPointsToBonds[U])||void 0===F?void 0:F.renderer;return!!Q&&("isSnake"in Q&&(Q.isSnake&&!Q.polymerBond.isHorizontal))}},{key:"center",get:function(){return new zF(this.scaledMonomerPosition.x+this.monomerSize.width/2,this.scaledMonomerPosition.y+this.monomerSize.height/2)}},{key:"textColor",get:function(){var U,F="white";return null!==(U={D:F,F:F,K:F,Q:F,R:F,W:F,Y:F}[this.monomer.monomerItem.props.MonomerNaturalAnalogCode])&&void 0!==U?U:"black"}},{key:"getMonomerColor",value:function(U){var F,Q;return null!==(F=null===(Q=U.monomer.color[this.monomer.monomerItem.props.MonomerNaturalAnalogCode])||void 0===Q?void 0:Q.regular)&&void 0!==F?F:U.monomer.color.X.regular}},{key:"getPeptideColor",value:function(U){var F,Q=this.monomer.monomerItem.props.MonomerNaturalAnalogCode,B=null===(F=U.peptide.color[Q])||void 0===F?void 0:F.regular;return null!==B&&void 0!==B?B:this.getMonomerColor(U)}},{key:"redrawAttachmentPoints",value:function(){this.hoveredAttachmentPoint=null,this.rootElement&&(this.monomer.attachmentPointsVisible?(this.removeAttachmentPoints(),this.drawAttachmentPoints()):this.removeAttachmentPoints())}},{key:"updateAttachmentPoints",value:function(){this.hoveredAttachmentPoint=null,this.rootElement&&(this.attachmentPoints.length>0?this.attachmentPoints.forEach(function(U){U.updateAttachmentPointStyleForHover()}):this.drawAttachmentPoints())}},{key:"redrawAttachmentPointsCoordinates",value:function(){var U=this.monomer.chosenFirstAttachmentPointForBond,F=this.attachmentPoints.find(function(F){return F.getAttachmentPointName()===U}),Q=null===F||void 0===F?void 0:F.getAngle();if(this.attachmentPoints.map(function(U){return U.getAngle()}).some(function(U){return Q!==U&&"number"===typeof Q&&(Math.abs(Q-U)<20||Math.abs(Q-U)>340)}))this.redrawAttachmentPoints();else{var B=this.attachmentPoints.find(function(F){return F.getAttachmentPointName()===U});S()(B),B.updateCoords()}}},{key:"drawAttachmentPoints",value:function(U){var F=this;if(!this.attachmentPoints.length){var Q=null!==U&&void 0!==U?U:this.appendAttachmentPoint.bind(this);this.monomer.usedAttachmentPointsNamesList.forEach(function(U){var B=Q(U),R=B.getAngle();F.attachmentPoints.push(B);var V=F.freeSectorsList.filter(function(U){return NQ[U].min>R||NQ[U].max<=R});F.freeSectorsList=WQ(V)});var B=[];this.monomer.unUsedAttachmentPointsNamesList.forEach(function(U){var R=JQ[U];if(F.freeSectorsList.includes(R)){var V=Q(U,R);F.attachmentPoints.push(V);var n=F.freeSectorsList.filter(function(U){return U!==R});F.freeSectorsList=WQ(n)}else B.push(U)}),B.forEach(function(U){var B=F.freeSectorsList.shift(),R=Q(U,B);F.attachmentPoints.push(R)})}}},{key:"prepareAttachmentPointsParams",value:function(U,F){var Q;return this.monomer.isAttachmentPointUsed(U)||(Q=JQ[U]),{rootElement:this.rootElement,monomer:this.monomer,bodyWidth:this.monomerSize.width,bodyHeight:this.monomerSize.height,canvas:this.canvasWrapper,attachmentPointName:U,isUsed:this.monomer.isAttachmentPointUsed(U),isPotentiallyUsed:this.monomer.isAttachmentPointPotentiallyUsed(U)||this.hoveredAttachmentPoint===U,angle:null!==F&&void 0!==F?F:Q,applyZoomForPositionCalculation:!0,isSnake:this.isSnakeBondForAttachmentPoint(U)}}},{key:"appendAttachmentPoint",value:function(U,F){var Q=this.prepareAttachmentPointsParams(U,F);return new ld(Q)}},{key:"removeAttachmentPoints",value:function(){this.attachmentPoints.forEach(function(U){U.removeAttachmentPoint()}),this.attachmentPoints=[],this.freeSectorsList=ZQ}},{key:"hoverAttachmentPoint",value:function(U){this.hoveredAttachmentPoint=U}},{key:"raiseAttachmentPoints",value:function(){this.attachmentPoints.forEach(function(U){U.raise()})}},{key:"appendRootElement",value:function(U){var F,Q=this,B="";this.monomer instanceof Vn?B=Vn.getMonomerClass(this.monomer.monomers):this.monomer.monomerItem.props.isMicromoleculeFragment?B="CHEM":this.monomer.monomerItem.props.MonomerClass&&(B=this.monomer.monomerItem.props.MonomerClass);var R=U.append("g").data([this]).attr("class","monomer").attr("transition","transform 0.2s").attr("data-testid","monomer").attr("data-monomertype",B).attr("data-monomeralias",this.monomer.label).attr("data-monomerid",this.monomer.id).attr("data-naturalAnalogue",this.monomer.monomerItem.props.MonomerNaturalAnalogCode).attr("data-number-of-attachment-points",this.monomer.listOfAttachmentPoints.length).attr("data-hydrogen-connection-number",this.monomer.hydrogenBonds.length).attr("transform","translate(".concat(this.scaledMonomerPosition.x,", ").concat(this.scaledMonomerPosition.y,") scale(").concat(null!==(F=this.scale)&&void 0!==F?F:1,")"));return this.monomer.listOfAttachmentPoints.forEach(function(U){R.attr("data-".concat(U),!!Q.monomer.attachmentPointsToBonds[U])}),R}},{key:"appendLabel",value:function(U){var F,Q,B,V,n=U.append("text").text(this.monomer.label).attr("fill",this.textColor).attr("font-size","".concat(6,"px")).attr("line-height","".concat(6,"px")).attr("font-weight","700").style("cursor","pointer").style("user-select","none").attr("pointer-events","none"),l=Jd(this.monomer instanceof Vn?this.monomer.variantMonomerItem:this.monomer.monomerItem),d=(0,R.A)(l,2)[1],J=this.monomer.label+d;if(!Zd[J]){var N=n.node().getBBox();Zd[J]={x:this.width/2-N.width/2,y:this.height/2}}n.attr("x",null!==(F=null===(Q=Zd[J])||void 0===Q?void 0:Q.x)&&void 0!==F?F:0).attr("y",null!==(B=null===(V=Zd[J])||void 0===V?void 0:V.y)&&void 0!==B?B:0),this.scale&&1!==this.scale&&(Zd[J]=void 0)}},{key:"setLabelVisibility",value:function(U){var F;null===(F=this.rootElement)||void 0===F||F.select("text").style("opacity",U?1:0)}},{key:"appendHover",value:function(U){var F,Q="default";return this.hoverElement&&this.hoverElement.remove(),"select-tool"===(null===(F=this.editor.selectedTool)||void 0===F?void 0:F.name)&&(Q="move"),U.style("cursor",Q).append("use").attr("href",this.monomerHoveredElementId).attr("pointer-events","none").attr("class","dynamic-element")}},{key:"removeHover",value:function(){this.hoverElement&&this.hoverElement.remove()}},{key:"scaledMonomerPosition",get:function(){return F.getScaledMonomerPosition(this.monomer.position,this.monomerSize)}},{key:"scaledPosition",get:function(){return this.scaledMonomerPosition}},{key:"appendSelection",value:function(){var U;this.selectionCircle?this.selectionCircle.attr("cx",this.center.x).attr("cy",this.center.y):this.selectionCircle=null===(U=this.canvas)||void 0===U?void 0:U.insert("circle",":first-child").attr("r","".concat(F.selectionCircleRadius,"px")).attr("opacity","0.7").attr("cx",this.center.x).attr("cy",this.center.y).attr("fill",Rd).attr("class","dynamic-element")}},{key:"removeSelection",value:function(){var U,F;null===(U=this.selectionCircle)||void 0===U||U.remove(),null===(F=this.selectionBorder)||void 0===F||F.remove(),this.selectionCircle=void 0,this.selectionBorder=void 0}},{key:"appendHoverAreaElement",value:function(){this.hoverAreaElement=this.rootElement}},{key:"appendEvents",value:function(){var U=this;this.bodyElement&&this.bodyElement.on("mouseover",function(F){U.editorEvents.mouseOverDrawingEntity.dispatch(F),U.editorEvents.mouseOverMonomer.dispatch(F)}).on("mousemove",function(F){U.editorEvents.mouseOnMoveMonomer.dispatch(F)}).on("mouseleave",function(F){var Q;(null===(Q=F.relatedTarget)||void 0===Q?void 0:Q.__data__)instanceof ld||(U.editorEvents.mouseLeaveDrawingEntity.dispatch(F),U.editorEvents.mouseLeaveMonomer.dispatch(F))}).on("mouseup",function(F){U.editorEvents.mouseUpMonomer.dispatch(F)})}},{key:"setEnumeration",value:function(U){this.enumeration=U}},{key:"appendEnumeration",value:function(){S()(this.rootElement),S()(this.enumerationElementPosition),this.enumerationElement=this.rootElement.append("text").attr("direction","rtl").attr("fill","#7C7C7F").attr("font-size","6px").attr("line-height","7px").attr("font-weight","500").attr("text-align","right").attr("style","user-select: none;").attr("pointer-events","none").attr("x",this.enumerationElementPosition.x).attr("y",this.enumerationElementPosition.y).text(this.enumeration),this.raiseAttachmentPoints()}},{key:"redrawEnumeration",value:function(U){this.redrawChainTerminalIndicator(U),this.enumerationElement&&this.enumerationElement.text(this.enumeration)}},{key:"redrawChainTerminalIndicator",value:function(U){var F;this.rootElement&&this.CHAIN_START_TERMINAL_INDICATOR_TEXT&&this.beginningElementPosition&&(null===(F=this.terminalIndicatorElement)||void 0===F||F.remove(),U&&(this.terminalIndicatorElement=this.rootElement.append("text").attr("direction","rtl").attr("fill","#0097A8").attr("font-size","6px").attr("line-height","7px").attr("font-weight","700").attr("text-align","right").attr("style","user-select: none;").attr("pointer-events","none").attr("x",this.beginningElementPosition.x).attr("y",this.beginningElementPosition.y).text(this.monomer.monomerItem.isAntisense?this.CHAIN_END_TERMINAL_INDICATOR_TEXT:this.CHAIN_START_TERMINAL_INDICATOR_TEXT),this.raiseAttachmentPoints()))}},{key:"drawModification",value:function(){var U=this.modificationConfig,F="#333333";if(U&&this.monomer.isModification){var Q,B;if(U.requiresFill)B=this.textColor===F?"white":F;var R=null===(Q=this.rootElement)||void 0===Q?void 0:Q.append("use").attr("xlink:href",U.backgroundId).attr("pointer-events","none").attr("class","modification-background");B&&(null===R||void 0===R||R.attr("fill",B))}}},{key:"show",value:function(U){var F,Q;this.rootElement=null!==(F=this.rootElement)&&void 0!==F?F:this.appendRootElement(this.scale?this.canvasWrapper:this.canvas),this.bodyElement=this.appendBody(this.rootElement,U),null===(Q=this.bodyElement)||void 0===Q||Q.attr("data-testid","shape"),this.appendEvents(),this.drawModification(),this.appendLabel(this.rootElement),this.appendHoverAreaElement(),this.monomer.selected&&this.drawSelection(),this.redrawAttachmentPoints()}},{key:"drawSelection",value:function(){this.rootElement&&(this.monomer.selected?(this.appendSelection(),this.raiseElement()):this.removeSelection())}},{key:"raiseElement",value:function(){var U,F;null===(U=this.selectionCircle)||void 0===U||U.raise(),null===(F=this.rootElement)||void 0===F||F.raise()}},{key:"moveSelection",value:function(){S()(this.rootElement),this.appendSelection(),this.move()}},{key:"move",value:function(){var U,F;null===(U=this.rootElement)||void 0===U||U.attr("transform","translate(".concat(this.scaledMonomerPosition.x,", ").concat(this.scaledMonomerPosition.y,") scale(").concat(null!==(F=this.scale)&&void 0!==F?F:1,")"))}},{key:"remove",value:function(){var U;null===(U=this.rootElement)||void 0===U||U.remove(),this.rootElement=void 0,this.removeSelection(),this.monomer.hovered&&this.editorEvents.mouseLeaveMonomer.dispatch()}}],[{key:"isSelectable",value:function(){return!0}},{key:"selectionCircleRadius",get:function(){return 21}},{key:"monomerSize",get:function(){return Jn()}},{key:"getScaledMonomerPosition",value:function(U){var F=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{width:0,height:0},Q=VQ.modelToCanvas(U);return new zF(Q.x-F.width/2,Q.y-F.height/2)}}]),F}(dd);function Sd(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(Sd=function(){return!!U})()}var Ed=nd[WU.CHEM].hover,kd=nd[WU.CHEM].body,td=nd[WU.CHEM].autochainPreview,ad=function(U){function F(U,Q){var B;return(0,V.A)(this,F),(B=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,Sd()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[U,Ed,kd,td,Q])).monomer=U,B}return(0,N.A)(F,U),(0,n.A)(F,[{key:"appendBody",value:function(U,F){return U.append("use").data([this]).attr("href",kd).attr("fill","#F5F6F7").attr("stroke",F.monomer.color.CHEM.regular)}},{key:"enumerationElementPosition",get:function(){}},{key:"beginningElementPosition",get:function(){}},{key:"show",value:function(U){this.monomer.monomerItem.props.isMicromoleculeFragment&&!sF(this.monomer)||b((0,d.A)(F.prototype),"show",this).call(this,U)}},{key:"modificationConfig",get:function(){}}]),F}(Wd);function Td(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(Td=function(){return!!U})()}var ed=nd[WU.AminoAcid].hover,Cd=nd[WU.AminoAcid].body,Dd=nd[WU.AminoAcid].autochainPreview,od=function(U){function F(U,Q){var B;return(0,V.A)(this,F),B=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,Td()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[U,ed,Cd,Dd,Q]),(0,Z.A)((0,J.A)(B),"CHAIN_START_TERMINAL_INDICATOR_TEXT","N"),(0,Z.A)((0,J.A)(B),"CHAIN_END_TERMINAL_INDICATOR_TEXT","C"),B.monomer=U,B}return(0,N.A)(F,U),(0,n.A)(F,[{key:"modificationConfig",get:function(){if(!this.monomer.monomerItem.props.unresolved)return{backgroundId:"#modified-background",requiresFill:!0}}},{key:"appendBody",value:function(U,F){var Q,B;this.monomer.monomerItem.props.unresolved?Q=Bd:Q="PEPTIDE"===(null===(B=this.monomer.monomerItem.props)||void 0===B?void 0:B.MonomerType)?this.getPeptideColor(F):this.getMonomerColor(F);return U.append("use").data([this]).attr("href",Cd).attr("fill",Q)}},{key:"textColor",get:function(){var U,Q="white",B="#333333";if(this.monomer.monomerItem.props.unresolved)return Q;var R=null!==(U={D:B,E:Q,K:B,H:Q,O:Q,R:Q,Q:B,Y:Q,U:B,S:Q,C:Q,N:Q,T:Q,L:B,I:Q,F:Q,A:Q,W:B,P:B,G:B,M:B,V:B}[this.monomer.monomerItem.props.MonomerNaturalAnalogCode])&&void 0!==U?U:b((0,d.A)(F.prototype),"textColor",this);return this.monomer.isModification&&(R=R===Q?B:Q),R}},{key:"show",value:function(U){b((0,d.A)(F.prototype),"show",this).call(this,U),this.appendEnumeration()}},{key:"enumerationElementPosition",get:function(){return{x:10,y:-1}}},{key:"beginningElementPosition",get:function(){return{x:-6,y:10}}}]),F}(Wd);function pd(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(pd=function(){return!!U})()}var hd=nd[WU.Phosphate].hover,cd=nd[WU.Phosphate].body,rd=nd[WU.Phosphate].autochainPreview,md=function(U){function F(U,Q){var B;return(0,V.A)(this,F),(B=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,pd()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[U,hd,cd,rd,Q])).monomer=U,B}return(0,N.A)(F,U),(0,n.A)(F,[{key:"getMonomerColor",value:function(U){return U.monomer.color[I.PHOSPHATE].regular}},{key:"textColor",get:function(){return this.monomer.monomerItem.props.unresolved||this.monomer.isModification?"#fff":"#333333"}},{key:"modificationConfig",get:function(){if(!this.monomer.monomerItem.props.unresolved)return{backgroundId:"#phosphate-modified-background"}}},{key:"appendBody",value:function(U,F){var Q=this.monomer.monomerItem.props.unresolved?Bd:this.getMonomerColor(F);return U.append("use").data([this]).attr("href",cd).attr("fill",Q)}},{key:"show",value:function(U){b((0,d.A)(F.prototype),"show",this).call(this,U)}},{key:"enumerationElementPosition",get:function(){}},{key:"beginningElementPosition",get:function(){}}]),F}(Wd);function Md(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(Md=function(){return!!U})()}var id=nd[WU.Base].hover,bd=nd[WU.Base].body,vd=nd[WU.Base].autochainPreview,Gd=function(U){function F(U,Q){var B;return(0,V.A)(this,F),(B=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,Md()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[U,id,bd,vd,Q])).monomer=U,B}return(0,N.A)(F,U),(0,n.A)(F,[{key:"textColor",get:function(){return this.monomer.monomerItem.props.unresolved||this.monomer.isModification?"#fff":"#333333"}},{key:"modificationConfig",get:function(){if(!this.monomer.monomerItem.props.unresolved)return{backgroundId:"#rna-base-modified-background"}}},{key:"appendBody",value:function(U,F){var Q=this.monomer.monomerItem.props.unresolved?Bd:this.getMonomerColor(F);return U.append("use").data([this]).attr("href",bd).attr("fill",Q)}},{key:"show",value:function(U){b((0,d.A)(F.prototype),"show",this).call(this,U),this.appendEnumeration()}},{key:"enumerationElementPosition",get:function(){return{x:11,y:5}}},{key:"beginningElementPosition",get:function(){}}]),F}(Wd);function sd(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(sd=function(){return!!U})()}var Xd=nd[WU.Sugar].hover,Yd=nd[WU.Sugar].body,yd=nd[WU.Sugar].autochainPreview,zd=function(U){function F(U,Q){var B;return(0,V.A)(this,F),B=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,sd()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[U,Xd,Yd,yd,Q]),(0,Z.A)((0,J.A)(B),"CHAIN_START_TERMINAL_INDICATOR_TEXT","\u20195"),(0,Z.A)((0,J.A)(B),"CHAIN_END_TERMINAL_INDICATOR_TEXT","\u20193"),B.monomer=U,B}return(0,N.A)(F,U),(0,n.A)(F,[{key:"textColor",get:function(){return this.monomer.monomerItem.props.unresolved?"#fff":this.monomer.isModification?"#333333":"#fff"}},{key:"modificationConfig",get:function(){if(!this.monomer.monomerItem.props.unresolved)return{backgroundId:"#sugar-modified-background"}}},{key:"getMonomerColor",value:function(U){return U.monomer.color[I.SUGAR_RNA].regular}},{key:"appendBody",value:function(U,F){var Q=this.monomer.monomerItem.props.unresolved?Bd:this.getMonomerColor(F);return U.append("use").data([this]).attr("href",Yd).attr("fill",Q)}},{key:"enumerationElementPosition",get:function(){}},{key:"beginningElementPosition",get:function(){return{x:-5,y:7}}}]),F}(Wd);function Od(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(Od=function(){return!!U})()}var Ld="#unresolved-monomer",Hd=function(U){function F(U,Q){var B;return(0,V.A)(this,F),(B=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,Od()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[U,"#unresolved-monomer-hover",Ld,"#unresolved-monomer-autochain-preview",Q])).monomer=U,B}return(0,N.A)(F,U),(0,n.A)(F,[{key:"textColor",get:function(){return"white"}},{key:"appendBody",value:function(U){return U.append("use").data([this]).attr("href",Ld)}},{key:"show",value:function(U){b((0,d.A)(F.prototype),"show",this).call(this,U)}},{key:"enumerationElementPosition",get:function(){}},{key:"beginningElementPosition",get:function(){}},{key:"modificationConfig",get:function(){}}]),F}(Wd);function xd(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(xd=function(){return!!U})()}var ud,wd,jd=nd[WU.RNA].hover,Id=nd[WU.RNA].body,Kd=nd[WU.RNA].autochainPreview,fd=function(U){function F(U,Q){var B;return(0,V.A)(this,F),B=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,xd()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[U,jd,Id,Kd,Q]),(0,Z.A)((0,J.A)(B),"CHAIN_START_TERMINAL_INDICATOR_TEXT","\u20195"),(0,Z.A)((0,J.A)(B),"CHAIN_END_TERMINAL_INDICATOR_TEXT","\u20193"),B.monomer=U,B}return(0,N.A)(F,U),(0,n.A)(F,[{key:"textColor",get:function(){return this.monomer.monomerItem.props.unresolved?"white":b((0,d.A)(F.prototype),"textColor",this)}},{key:"getMonomerColor",value:function(U){return this.monomer.monomerItem.props.unresolved?Bd:b((0,d.A)(F.prototype),"getMonomerColor",this).call(this,U)}},{key:"appendBody",value:function(U,F){return U.append("use").data([this]).attr("href",Id).attr("fill",this.getMonomerColor(F))}},{key:"show",value:function(U){b((0,d.A)(F.prototype),"show",this).call(this,U),this.appendEnumeration()}},{key:"appendLabel",value:function(U){U.append("foreignObject").attr("width",this.width).attr("height",this.height-this.height/3).html('\n
\n ').concat(this.monomer.label,"\n
\n ")).attr("font-size","".concat(6,"px")).attr("line-height","".concat(6,"px")).attr("font-weight","700").style("cursor","pointer").style("user-select","none").attr("pointer-events","none").attr("x","4px").attr("y",this.height/2-2)}},{key:"enumerationElementPosition",get:function(){return{x:7,y:7}}},{key:"beginningElementPosition",get:function(){return{x:0,y:15}}},{key:"modificationConfig",get:function(){}}]),F}(Wd),gd=new Map([[XV,ad],[bV,od],[IV,md],[uV,Gd],[HV,zd],[kn,Hd],[_V,fd]]),Pd=function(U){var F=Jd(U),Q=(0,R.A)(F,2),B=Q[0],V=Q[1];return[B,gd.get(B),V]};function Ad(U){return{x:U.x,y:U.y,width:U.width,height:U.height}}!function(U){U.Px="px",U.Cm="cm",U.Pt="pt",U.Inch="inch"}(ud||(ud={})),function(U){U[U.MonomerConnectionsModal=0]="MonomerConnectionsModal",U[U.MonomerPreview=1]="MonomerPreview",U[U.BondPreview=2]="BondPreview"}(wd||(wd={}));var qd={relBox:Ad,shiftRayBox:function(U,F,Q){S()(!!U),S()(!!F),S()(!!Q);var B=[Q.p0,new zF(Q.p1.x,Q.p0.y),Q.p1,new zF(Q.p0.x,Q.p1.y)].map(function(F){return F.sub(U)});F=F.normalized();for(var R=B.map(function(U){return zF.cross(U,F)}),V=B.map(function(U){return zF.dot(U,F)}),n=-1,l=-1,d=0;d<4;++d)R[d]>0?(n<0||V[n]V[l]?l:n,N=V[n]>V[l]?n:l;return V[J]+Math.abs(R[J])*(V[N]-V[J])/(Math.abs(R[J])+Math.abs(R[N]))},calcCoordinates:function(U,F,Q){var B={pos1:null,pos2:null},R={x:F.x-U.x,y:F.y-U.y},V=(Math.pow(Q,2)-R.x*R.x-R.y*R.y-Math.pow(Q,2))/-2,n=R.x*R.x+R.y*R.y;if(0!==R.x){var l=-2*R.y*V,d=l*l-4*n*(V*V-Q*Q*R.x*R.x);d>0&&(B.pos1={x:0,y:0},B.pos2={x:0,y:0},B.pos1.y=(-l+Math.sqrt(d))/(2*n),B.pos2.y=(-l-Math.sqrt(d))/(2*n),B.pos1.x=(V-B.pos1.y*R.y)/R.x,B.pos2.x=(V-B.pos2.y*R.y)/R.x)}else B.pos1={x:0,y:0},B.pos2={x:0,y:0},B.pos1.y=V/R.y,B.pos2.y=V/R.y,B.pos1.x=-Math.sqrt(Math.pow(Q,2)-Math.pow(V,2)/Math.pow(R.y,2)),B.pos2.x=Math.sqrt(Math.pow(Q,2)-Math.pow(V,2)/Math.pow(R.y,2));return null!==B.pos1&&(B.pos1.x+=U.x,B.pos1.y+=U.y),null!==B.pos2&&(B.pos2.x+=U.x,B.pos2.y+=U.y),B},drawCIPLabel:function(U){var F=U.atomOrBond,Q=U.position,B=U.restruct,R=U.visel,V=B.render,n=V.options,l=V.paper,d=l.set(),J=function(U){var F=U.paper,Q=U.cipLabelPosition,B=U.atomOrBond,R=U.options,V=F.text(Q.x,Q.y,"(".concat(B.cip,")")).attr({font:R.font,"font-size":R.fontszInPx}),n=V.getBBox(),l=F.set(),d=F.rect(n.x-1,n.y-1,n.width+2,n.height+2,3,3).attr({fill:"#fff",stroke:"#fff"});return l.push(d.toFront(),V.toFront()),{path:l,text:V,rectangle:d}}({paper:l,cipLabelPosition:Q.scaled(n.microModeScale),atomOrBond:F,options:n});if(F instanceof uQ){var N=Ad(J.path.getBBox());J.path.translateAbs(.5*N.width,-.5*N.height)}return d.push(J.path.toFront()),B.addReObjectPath(Ml.additionalInfo,R,d,null,!0),J},updateHalfBondCoordinates:function(U,F,Q){return U.p.y!==F.p.y||(U.p.xF.p.x&&(U.p.x=U.p.x-Q)),[U,F]},escapeHtml:function(U){return U.replace(//g,">")},useLabelStyles:function(U,F,Q){var B="#585858",R="#FFF",V="#7C7C7F";switch(Q){case wd.MonomerPreview:V="none",F&&(R="#E1E5EA",B="#B4B9D6");break;case wd.MonomerConnectionsModal:U?(R="#167782",B="#FFF"):F&&(R="#E1E5EA",B="#B4B9D6",V="#B4B9D6");break;case wd.BondPreview:U?R="#CDF1FC":F&&(R="#E1E5EA",B="#B4B9D6"),V="none"}return{color:B,fill:R,stroke:V}}};function _d(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(_d=function(){return!!U})()}var $d=function(U){function F(U){var Q;return(0,V.A)(this,F),(Q=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,_d()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[U,!0])).connected=U.connected,Q.selected=U.selected,Q.usage=U.usage,Q.appendAttachmentPoint(),Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"renderAttachmentPointByCoordinates",value:function(U,F){var Q;this.attachmentPoint=this.rootElement.insert("g",":first-child").data([this]).style("pointer-events","none").style("cursor","pointer").attr("class","dynamic-element"),this.attachmentPoint.append("g").append("line").attr("x1",U.x).attr("y1",U.y).attr("x2",F.x).attr("y2",F.y).attr("stroke",this.stroke).attr("stroke-linecap","round").attr("stroke-width","1px");var B=qd.useLabelStyles(this.selected,this.connected,this.usage),R=B.color,V=B.stroke,n=B.fill,l=null===(Q=this.attachmentPoint)||void 0===Q?void 0:Q.append("g"),d=zF.degrees_to_radians(this.initialAngle),J=Math.cos(d),N=Math.sin(d),Z=F.x-10-10*J,W=F.y-8-10*N,S=F.x-10*J,E=F.y-10*N;return l.append("rect").attr("x",Z).attr("y",W).attr("rx",4).attr("ry",4).attr("width",20).attr("height",16).attr("fill",n).attr("stroke",V).attr("stroke-width","1px"),l.append("text").attr("x",S).attr("y",E).attr("fill",R).attr("font-size","10px").attr("text-anchor","middle").attr("alignment-baseline","middle").text(this.attachmentPointName),this.attachmentPoint}},{key:"appendAttachmentPoint",value:function(){var U=this.getCoordinates(this.initialAngle),F=(0,R.A)(U,2),Q=F[0],B=F[1],V=this.renderAttachmentPointByCoordinates(Q,B);return this.element=V,V}}]),F}(ld);function UJ(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function FJ(U){for(var F=1;F=10,Q=null===(U=this.rootElement)||void 0===U?void 0:U.append("g").attr("transform","translate(".concat(this.center.x-this.scaledMonomerPosition.x-(F?2:0),", ").concat(this.center.y-this.scaledMonomerPosition.y+(this.monomer.monomerClass===WU.Base?7:8),")")).attr("pointer-events","none");null===Q||void 0===Q||Q.append("foreignObject").attr("width","20px").attr("height","20px").attr("x",F?"-3":"-4").attr("y","-4").append("xhtml:div").attr("style","\n width: ".concat(F?"10px":"8px",";\n height: 8px;\n border-radius: ").concat(F?"20px":"50%",";\n border: 0.5px solid #cceaee;\n ")),null===Q||void 0===Q||Q.append("text").attr("x",-1.6).attr("y",2.1).attr("font-size","6px").attr("font-weight",300).text(this.monomer.monomers.length),this.raiseAttachmentPoints()}},{key:"show",value:function(U){b((0,d.A)(F.prototype),"show",this).call(this,U),this.appendNumberOfMonomers(),this.enumerationElementPosition&&this.appendEnumeration()}},{key:"appendPreviewAttachmentPoint",value:function(U,F,Q){var B,R=U.selectedAttachmentPoint,V=U.connectedAttachmentPoints,n=U.usage,l=this.prepareAttachmentPointsParams(F,Q);return new $d(FJ(FJ({},l),{},{connected:null!==(B=null===V||void 0===V?void 0:V.includes(F))&&void 0!==B&&B,selected:R===F,usage:n,canvas:U.canvas,applyZoomForPositionCalculation:!1}))}},{key:"showExternal",value:function(U){var F;this.rootElement=this.appendRootElement(U.canvas),this.bodyElement=this.appendBody(this.rootElement),null===(F=this.bodyElement)||void 0===F||F.attr("data-testid","shape"),this.appendLabel(this.rootElement),this.appendNumberOfMonomers(),this.drawAttachmentPoints(this.appendPreviewAttachmentPoint.bind(this,U))}},{key:"modificationConfig",get:function(){}}]),F}(Wd);function RJ(U){return OR(U)?[Vn,BJ,Vn.getMonomerClass(U.monomers)]:Pd(U)}var VJ=function(){function U(F,Q){(0,V.A)(this,U),this.peptide=F,this.needRedrawAttachmentPoints=Q}return(0,n.A)(U,[{key:"execute",value:function(U){U.hoverMonomer(this.peptide,this.needRedrawAttachmentPoints)}},{key:"invert",value:function(){}}]),U}(),nJ=function(){function U(F,Q,B){(0,V.A)(this,U),this.updateMonomerItem=Q,this.revertMonomerItem=B,this.monomer=F,this.execute()}return(0,n.A)(U,[{key:"execute",value:function(){this.monomer=this.updateMonomerItem()}},{key:"invert",value:function(){this.monomer=this.revertMonomerItem()}}]),U}(),lJ=function(){function U(F,Q){(0,V.A)(this,U),this.monomerMoveModelChange=F,this.invertMonomerMoveModelChange=Q,this.monomer=this.monomerMoveModelChange()}return(0,n.A)(U,[{key:"execute",value:function(U){this.monomer=this.monomerMoveModelChange(),U.moveMonomer(this.monomer)}},{key:"invert",value:function(U){this.monomer=this.invertMonomerMoveModelChange(),U.moveMonomer(this.monomer)}}]),U}();function dJ(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(dJ=function(){return!!U})()}var JJ=function(U){function F(U){var Q;return(0,V.A)(this,F),Q=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,dJ()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.ROTATE_MONOMER]),(0,Z.A)((0,J.A)(Q),"previousValue",null),Q.data=U,Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F,Q,B=U.molecule.sgroups.get(this.data.id);if(B&&B instanceof DB){var R=(F=B.monomer.monomerItem).transformation||(F.transformation={});this.previousValue=null!==(Q=R.rotate)&&void 0!==Q?Q:0,null!==this.data.value?R.rotate=this.previousValue+this.data.value:delete R.rotate}}},{key:"invert",value:function(){return new F({id:this.data.id,value:this.previousValue})}}]),F}(sl);function NJ(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(NJ=function(){return!!U})()}var ZJ=function(U){function F(U){var Q;return(0,V.A)(this,F),Q=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,NJ()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.SHIFT_MONOMER]),(0,Z.A)((0,J.A)(Q),"previousValue",null),Q.data=U,Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F,Q,B=U.molecule.sgroups.get(this.data.id);if(B&&B instanceof DB){var R,V,n,l,d,J,N=(F=B.monomer.monomerItem).transformation||(F.transformation={});if(this.previousValue=null!==(Q=N.shift)&&void 0!==Q?Q:null,null!==this.data.value){if(this.data.value)N.shift={x:(null!==(R=null===(V=this.previousValue)||void 0===V?void 0:V.x)&&void 0!==R?R:0)+(null!==(n=this.data.value.x)&&void 0!==n?n:0),y:(null!==(l=null===(d=this.previousValue)||void 0===d?void 0:d.y)&&void 0!==l?l:0)+(null!==(J=this.data.value.y)&&void 0!==J?J:0)}}else delete N.shift}}},{key:"invert",value:function(){return new F({id:this.data.id,value:this.previousValue})}}]),F}(sl);function WJ(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(WJ=function(){return!!U})()}var SJ=function(U){function F(U,Q,B,R){var n;return(0,V.A)(this,F),n=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,WJ()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F),(0,Z.A)((0,J.A)(n),"renderer",void 0),n.type=U,n.startEndPosition=Q,n.height=B,n.initiallySelected=R,n}return(0,N.A)(F,U),(0,n.A)(F,[{key:"startPosition",get:function(){return this.startEndPosition[0]},set:function(U){this.startEndPosition[0]=U}},{key:"endPosition",get:function(){return this.startEndPosition[1]},set:function(U){this.startEndPosition[1]=U}},{key:"center",get:function(){return new zF((this.startPosition.x+this.endPosition.x)/2,(this.startPosition.y+this.endPosition.y)/2)}},{key:"setRenderer",value:function(U){b((0,d.A)(F.prototype),"setBaseRenderer",this).call(this,U),this.renderer=U}},{key:"moveRelative",value:function(U){this.startPosition=this.startPosition.add(U),this.endPosition=this.endPosition.add(U)}},{key:"moveAbsolute",value:function(U){var F=zF.diff(U,this.startPosition);this.moveRelative(F)}}]),F}($B);function EJ(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(EJ=function(){return!!U})()}var kJ=function(U){function F(U,Q,B,R,n,N,W){var S;return(0,V.A)(this,F),S=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,EJ()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F),(0,Z.A)((0,J.A)(S),"renderer",void 0),S.spineTopX=U,S.spineTopY=Q,S.height=B,S.headOffsetX=R,S.headOffsetY=n,S.tailLength=N,S.tailsYOffset=W,S}return(0,N.A)(F,U),(0,n.A)(F,[{key:"center",get:function(){return zF.centre(new zF(this.spineTopX.sub(this.tailLength).getFloatingPrecision(),this.spineTopY.getFloatingPrecision()),new zF(this.spineTopX.add(this.headOffsetX).getFloatingPrecision(),this.spineTopY.add(this.height).getFloatingPrecision()))}},{key:"setRenderer",value:function(U){b((0,d.A)(F.prototype),"setBaseRenderer",this).call(this,U),this.renderer=U}},{key:"moveRelative",value:function(U){this.spineTopX=this.spineTopX.add(PQ.fromFloatingPrecision(U.x)),this.spineTopY=this.spineTopY.add(PQ.fromFloatingPrecision(U.y))}},{key:"moveAbsolute",value:function(U){var F=zF.diff(U,new zF(this.spineTopX.value,this.spineTopY.value));this.moveRelative(F)}},{key:"toKetNode",value:function(){return eV.getParametersForKetNode(this.spineTopX,this.spineTopY,this.headOffsetX,this.headOffsetY,this.tailLength,this.tailsYOffset,this.height,this.center,!1)}},{key:"getReferencePositions",value:function(){return eV.getReferencePositions(this.spineTopX,this.spineTopY,this.height,this.headOffsetX,this.headOffsetY,this.tailLength,this.tailsYOffset)}}],[{key:"fromKet",value:function(U){var Q=eV.getConstructorParamsFromKetNode(U);return new F(Q.spineTopX,Q.spineTopY,Q.height,Q.headOffsetX,Q.headOffsetY,Q.tailsLength,Q.tailsYOffset)}}]),F}($B);function tJ(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(tJ=function(){return!!U})()}var aJ=function(U){function F(U,Q){var B;return(0,V.A)(this,F),B=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,tJ()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[U]),(0,Z.A)((0,J.A)(B),"renderer",void 0),B.initiallySelected=Q,B}return(0,N.A)(F,U),(0,n.A)(F,[{key:"center",get:function(){return this.position}},{key:"setRenderer",value:function(U){b((0,d.A)(F.prototype),"setBaseRenderer",this).call(this,U),this.renderer=U}}]),F}($B),TJ=function(){function U(F){(0,V.A)(this,U),this.drawingEntity=F}return(0,n.A)(U,[{key:"execute",value:function(U){U.hoverDrawingEntity(this.drawingEntity)}},{key:"invert",value:function(){}}]),U}(),eJ=function(){function U(F,Q){(0,V.A)(this,U),this.drawingEntity=F,this.selectDrawingEntitiesModelChange=Q}return(0,n.A)(U,[{key:"execute",value:function(){this.selectDrawingEntitiesModelChange&&this.selectDrawingEntitiesModelChange()}},{key:"executeAfterAllOperations",value:function(U){U.selectDrawingEntity(this.drawingEntity)}},{key:"invert",value:function(){}}]),U}(),CJ=function(){function U(F,Q,B,R){(0,V.A)(this,U),(0,Z.A)(this,"wasInverted",!1),this.moveDrawingEntityChangeModel=F,this.invertMoveDrawingEntityChangeModel=Q,this.redoDrawingEntityChangeModel=B,this.drawingEntity=R}return(0,n.A)(U,[{key:"execute",value:function(){this.wasInverted?this.redoDrawingEntityChangeModel():this.moveDrawingEntityChangeModel()}},{key:"invert",value:function(){this.invertMoveDrawingEntityChangeModel(),this.wasInverted=!0}},{key:"executeAfterAllOperations",value:function(U){this.drawingEntity instanceof FR||this.drawingEntity instanceof SJ||this.drawingEntity instanceof kJ||this.drawingEntity instanceof aJ?U.redrawDrawingEntity(this.drawingEntity):U.moveDrawingEntity(this.drawingEntity)}},{key:"invertAfterAllOperations",value:function(U){this.drawingEntity instanceof FR||this.drawingEntity instanceof SJ||this.drawingEntity instanceof kJ||this.drawingEntity instanceof aJ?U.redrawDrawingEntity(this.drawingEntity):U.moveDrawingEntity(this.drawingEntity)}}]),U}(),DJ=function(){function U(F,Q){(0,V.A)(this,U),this.drawingEntityRedrawModelChange=F,this.invertDrawingEntityRedrawModelChange=Q}return(0,n.A)(U,[{key:"execute",value:function(U){var F=this.drawingEntityRedrawModelChange();U.redrawDrawingEntity(F,!0)}},{key:"invert",value:function(U){var F=this.invertDrawingEntityRedrawModelChange();U.redrawDrawingEntity(F,!0)}}]),U}(),oJ=function(){function U(F,Q){(0,V.A)(this,U),(0,Z.A)(this,"priority",1),this.addPolymerBondChangeModel=F,this.deletePolymerBondChangeModel=Q,this.polymerBond=this.addPolymerBondChangeModel()}return(0,n.A)(U,[{key:"execute",value:function(U){this.polymerBond=this.addPolymerBondChangeModel(this.polymerBond),U.addPolymerBond(this.polymerBond)}},{key:"invert",value:function(U){this.deletePolymerBondChangeModel(this.polymerBond),U.deletePolymerBond(this.polymerBond)}}]),U}(),pJ=function(){function U(F,Q,B){(0,V.A)(this,U),(0,Z.A)(this,"priority",-1),this.polymerBond=F,this.deletePolymerBondChangeModel=Q,this.finishPolymerBondCreationModelChange=B,this.deletePolymerBondChangeModel()}return(0,n.A)(U,[{key:"execute",value:function(U){this.deletePolymerBondChangeModel(),U.deletePolymerBond(this.polymerBond)}},{key:"invert",value:function(U){this.polymerBond=this.finishPolymerBondCreationModelChange(this.polymerBond),U.addPolymerBond(this.polymerBond)}}]),U}(),hJ=function(){function U(F){(0,V.A)(this,U),this.polymerBond=F}return(0,n.A)(U,[{key:"execute",value:function(U){U.movePolymerBond(this.polymerBond)}},{key:"invert",value:function(){}}]),U}(),cJ=function(){function U(F){(0,V.A)(this,U),this.polymerBond=F}return(0,n.A)(U,[{key:"execute",value:function(U){U.showPolymerBondInformation(this.polymerBond)}},{key:"invert",value:function(){}}]),U}(),rJ=function(){function U(F,Q){(0,V.A)(this,U),this.polymerBond=F,this.secondMonomer=Q}return(0,n.A)(U,[{key:"execute",value:function(U){U.cancelPolymerBondCreation(this.polymerBond,this.secondMonomer)}},{key:"invert",value:function(){}}]),U}(),mJ=function(){function U(F,Q){(0,V.A)(this,U),(0,Z.A)(this,"priority",1),this.finishPolymerBondCreationModelChange=F,this.deletePolymerBondCreationModelChange=Q,this.polymerBond=this.finishPolymerBondCreationModelChange()}return(0,n.A)(U,[{key:"execute",value:function(U){this.polymerBond=this.finishPolymerBondCreationModelChange(this.polymerBond),U.finishPolymerBondCreation(this.polymerBond)}},{key:"invert",value:function(U){this.deletePolymerBondCreationModelChange(this.polymerBond),U.deletePolymerBond(this.polymerBond)}}]),U}(),MJ=function(){function U(F,Q,B,R){(0,V.A)(this,U),this._onExecute=F,this._onInvert=Q,this.mode=B,this.prevMode=R,this.onExecute=F,this.onInvert=Q}return(0,n.A)(U,[{key:"execute",value:function(){this.onExecute()}},{key:"invert",value:function(){this.onInvert()}}]),U}(),iJ=function(){function U(F,Q){(0,V.A)(this,U),this.reconnectPolymerBondModelChange=F,this.revertReconnectPolymerBondModelChange=Q}return(0,n.A)(U,[{key:"execute",value:function(U){this.polymerBond=this.reconnectPolymerBondModelChange(),U.redrawDrawingEntity(this.polymerBond,!1,!0)}},{key:"invert",value:function(U){this.polymerBond=this.revertReconnectPolymerBondModelChange(),U.redrawDrawingEntity(this.polymerBond,!1,!0)}}]),U}();function bJ(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(bJ=function(){return!!U})()}var vJ,GJ=function(U){function F(){return(0,V.A)(this,F),function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,bJ()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,arguments)}return(0,N.A)(F,U),(0,n.A)(F,[{key:"appendHover",value:function(U){}},{key:"appendHoverAreaElement",value:function(){}},{key:"drawSelection",value:function(){}},{key:"moveSelection",value:function(){}},{key:"removeHover",value:function(){}},{key:"show",value:function(U){}},{key:"center",get:function(){return new zF(0,0,0)}},{key:"selectionPoints",get:function(){return[this.center]}}]),F}(dd),sJ={get sequenceViewModel(){return vJ},setSequenceViewModel:function(U){vJ=U}};function XJ(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(XJ=function(){return!!U})()}var YJ=function(U){function F(U,Q,B,R,n,J,N,Z,W,S){var E,k=arguments.length>10&&void 0!==arguments[10]?arguments[10]:0;return(0,V.A)(this,F),(E=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,XJ()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[U.monomer])).node=U,E.firstNodeInChainPosition=Q,E.monomerIndexInChain=B,E.isLastMonomerInChain=R,E.chain=n,E.nodeIndexOverall=J,E.editingNodeIndexOverall=N,E.monomerSize=Z,E.scaledMonomerPosition=W,E.twoStrandedNode=S,E.previousRowsWithAntisense=k,E}return(0,N.A)(F,U),(0,n.A)(F,[{key:"isEditingSymbol",value:function(U){return this.nodeIndexOverall===((0,o.isNumber)(U)?U:this.editingNodeIndexOverall)}},{key:"isNextSymbolEditing",value:function(U){return this.nodeIndexOverall+1===((0,o.isNumber)(U)?U:this.editingNodeIndexOverall)}},{key:"isSingleEmptyNode",get:function(){return 1===sJ.sequenceViewModel.length&&this.node instanceof Dn}},{key:"appendHover",value:function(){}},{key:"appendHoverAreaElement",value:function(){}},{key:"moveSelection",value:function(){}},{key:"currentChain",get:function(){return this.chain}},{key:"currentChainNodesWithoutEmptyNodes",get:function(){return this.chain.nodes.filter(function(U){return!(U instanceof Dn)})}},{key:"scaledPosition",get:function(){return this.scaledMonomerPosition}},{key:"scaledMonomerPositionForSequence",get:function(){var U=uU.editorLineLength["sequence-layout-mode"],F=this.monomerIndexInChain%U,Q=Math.floor(this.monomerIndexInChain/U);return new zF(this.firstNodeInChainPosition.x+20*F+10*Math.floor(F/this.nthSeparationInRow),this.firstNodeInChainPosition.y+47*Q+53*this.previousRowsWithAntisense)}},{key:"center",get:function(){return this.scaledMonomerPositionForSequence.add(new zF(4.5,0,0))}},{key:"isSequenceEditModeTurnedOn",get:function(){return KV().isSequenceEditMode}},{key:"isSequenceEditInRnaBuilderModeTurnedOn",get:function(){return KV().isSequenceEditInRNABuilderMode}},{key:"isAntisenseEditMode",get:function(){return KV().mode.isAntisenseEditMode}},{key:"isSyncEditMode",get:function(){return KV().mode.isSyncEditMode}},{key:"appendRootElement",value:function(){var U=this.canvas.append("g").data([this]).attr("class","sequence-item").attr("data-testid","sequence-item").attr("data-symbol-id",this.node.monomer.id).attr("data-chain-id",this.chain.id).attr("data-symbol-alias",this.symbolToDisplay).attr("data-side-connection-number",this.node.monomers.reduce(function(U,F){return U+F.covalentBonds.filter(function(U){return U instanceof kR&&U.isSideChainConnection}).length},0)).attr("data-has-left-connection",Boolean(this.node.firstMonomerInNode.attachmentPointsToBonds.R1)).attr("data-has-right-connection",Boolean(this.node.lastMonomerInNode.attachmentPointsToBonds.R2)).attr("data-hydrogen-connection-number",this.node.monomers.reduce(function(U,F){return U+F.hydrogenBonds.length},0)).attr("data-isAntisense",this.isAntisenseNode).attr("data-nodeIndexOverall",this.nodeIndexOverall).attr("transition","transform 0.2s").attr("transform","translate(".concat(this.scaledMonomerPositionForSequence.x,", ").concat(this.scaledMonomerPositionForSequence.y,")"));return(this.isSequenceEditModeTurnedOn||this.isSingleEmptyNode)&&U.attr("pointer-events","all").attr("cursor","text"),U}},{key:"appendBackgroundElement",value:function(){var U,F=null===(U=this.rootElement)||void 0===U?void 0:U.append("rect").attr("width",16).attr("height",20).attr("y",-16).attr("x",-2).attr("rx",2).attr("data-element-type","background").attr("cursor",this.isSequenceEditModeTurnedOn||this.isSingleEmptyNode?"text":"default");return null===F||void 0===F||F.attr("fill","transparent"),F}},{key:"appendSpacerElement",value:function(){var U,F=null===(U=this.rootElement)||void 0===U?void 0:U.append("g").attr("transform","translate(14, -16)").attr("data-element-type","spacer");return null===F||void 0===F||F.append("rect").attr("width",4).attr("height",20).attr("cursor",this.isSequenceEditInRnaBuilderModeTurnedOn?"default":"text").attr("fill","transparent"),F}},{key:"nthSeparationInRow",get:function(){return 10}},{key:"isAntisenseNode",get:function(){var U;return this.node===(null===(U=this.twoStrandedNode)||void 0===U?void 0:U.antisenseNode)}},{key:"hasAntisenseInChain",get:function(){return Boolean(this.twoStrandedNode.antisenseNode)}},{key:"getNodeIndexInSubgroup",value:function(){var U=this,F=0;return this.chain.subChains.some(function(Q){if(!U.isSubChainNode(U.node))return!1;if(-1===Q.nodes.indexOf(U.node))return!1;var B=Q.nodes.reduce(function(F,Q){return Q instanceof on||Q.monomer instanceof IV||U.checkIfNodeIsAmbiguousMonomerNotPeptide(Q)?F[F.length-1].length>0&&F.push([]):F[F.length-1].push(Q),F},[[]]).find(function(F){return F.includes(U.node)});return!!B&&(F=B.indexOf(U.node)+1,!0)}),F}},{key:"counterNumber",get:function(){var U,F,Q,B=this,R=null===(U=this.twoStrandedNode)||void 0===U?void 0:U.antisenseNodeIndex,V=null===(F=this.twoStrandedNode)||void 0===F?void 0:F.senseNodeIndex;return this.chain.subChains.some(function(U){if(!B.isSubChainNode(B.node))return!1;var F=U.nodes.indexOf(B.node);if(-1===F)return!1;if(B.node.monomer instanceof IV)return!1;var R=U.nodes.findIndex(function(U){return U instanceof on}),V=U.nodes.findIndex(function(U){return U.monomer instanceof IV}),n=U.nodes.findIndex(B.checkIfNodeIsAmbiguousMonomerNotPeptide);return-1!==R||-1!==V||-1!==n?Q=R9&&(this.isNextSymbolEditing(U)||this.isEditingSymbol(U))))&&(this.isNthNodeInChain||this.isLastMonomerInChain))}},{key:"checkIfNodeIsAmbiguousMonomerPeptide",value:function(U){return U instanceof pn&&U.monomer.monomerClass===eU.AMINO_ACID}},{key:"checkIfNodeIsAmbiguousMonomerNotPeptide",value:function(U){return U instanceof pn&&U.monomer.monomerClass!==eU.AMINO_ACID}},{key:"currentNodeNearBreakingNode",get:function(){var U=this;return this.chain.subChains.some(function(F){if(!U.isSubChainNode(U.node)||U.checkIfNodeIsAmbiguousMonomerPeptide(U.node))return!1;var Q=F.nodes.indexOf(U.node);return-1!==Q&&(Q>0&&F.nodes[Q-1]instanceof on||Q0&&U.checkIfNodeIsAmbiguousMonomerNotPeptide(F.nodes[Q-1])||Q0&&void 0!==arguments[0]?arguments[0]:-17;(this.caretElement=null===(U=this.spacerElement)||void 0===U?void 0:U.append("g"),this.isSyncEditMode&&this.isAntisenseNode)&&(null===(F=this.caretElement)||void 0===F||F.append("path").attr("d","M4.80005 1L8.43402 7.29423L1.16607 7.29423L4.80005 1Z").attr("fill","#fff").attr("transform","translate(\n ".concat(-21,",\n ",20,"\n )")).attr("stroke","#7C7C7F"),null===(Q=this.caretElement)||void 0===Q||Q.append("path").attr("d","M4.80005 1L8.43402 7.29423L1.16607 7.29423L4.80005 1Z").attr("fill","#fff").attr("transform","translate(-12 -34) rotate(180)").attr("stroke","#7C7C7F"));(this.isAntisenseEditMode?this.isAntisenseNode:!this.isAntisenseNode)&&(null===(B=this.caretElement)||void 0===B||B.append("line").attr("x1",R).attr("y1",-1).attr("x2",R).attr("y2",21).attr("stroke","#333").attr("class","blinking"))}},{key:"showCaretAfterNode",value:function(){this.showCaret(3)}},{key:"removeCaret",value:function(){var U;null===(U=this.caretElement)||void 0===U||U.remove(),this.caretElement=void 0}},{key:"redrawCaret",value:function(U){var F=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.removeCaret(),(this.isSequenceEditModeTurnedOn&&this.isEditingSymbol(U)||this.isSingleEmptyNode)&&(F?this.showCaretAfterNode():this.showCaret())}},{key:"redrawBackgroundElementColor",value:function(){var U;null===(U=this.backgroundElement)||void 0===U||U.attr("fill",this.isSequenceEditModeTurnedOn||this.isSingleEmptyNode?"#FF7A001A":"transparent")}},{key:"appendChainStartArrow",value:function(){var U;null===(U=this.rootElement)||void 0===U||U.append("use").attr("x",-17).attr("y",-27).attr("data-testid","sequence-start-arrow").attr("href","#".concat("sequence-start-arrow"))}},{key:"drawGreyOverlay",value:function(){var U;null===(U=this.rootElement)||void 0===U||U.attr("opacity","0.2")}},{key:"show",value:function(){this.rootElement=this.appendRootElement(),(this.isBeginningOfChain&&this.isSequenceEditModeTurnedOn||this.isSingleEmptyNode)&&this.appendChainStartArrow(),this.spacerElement=this.appendSpacerElement(),this.backgroundElement=this.appendBackgroundElement(),this.redrawCaret(),this.textElement=this.rootElement.append("text").text(this.symbolToDisplay).attr("font-family","Courier New").attr("font-size","20px").attr("font-weight","700").attr("fill",this.isSequenceEditInRnaBuilderModeTurnedOn?"24545A":"#333333").attr("style","user-select: none;").attr("data-element-type","text").attr("cursor",this.isSequenceEditModeTurnedOn||this.isSingleEmptyNode?"text":"default"),this.redrawCounter(),this.drawSelection(),(this.isSequenceEditInRnaBuilderModeTurnedOn&&!this.node.monomer.selected||!this.isSyncEditMode&&this.isSequenceEditModeTurnedOn&&this.hasAntisenseInChain&&(this.isAntisenseNode&&!this.isAntisenseEditMode||!this.isAntisenseNode&&this.isAntisenseEditMode))&&this.drawGreyOverlay()}},{key:"drawSelection",value:function(){this.rootElement&&(this.node.monomer.selected&&!this.isSingleEmptyNode?(this.appendSelection(),this.raiseElement()):this.removeSelection(),this.node.modified&&this.drawModification())}},{key:"appendSelection",value:function(){var U,F,Q,B;(this.selectionRectangle=this.selectionRectangle||(null===(U=this.rootElement)||void 0===U?void 0:U.insert("rect",":first-child")),this.isSequenceEditInRnaBuilderModeTurnedOn)?null===(Q=this.selectionRectangle)||void 0===Q||Q.attr("fill","#99D6DC").attr("x",-3).attr("y",-21).attr("width",18).attr("height",30).attr("rx",3).attr("class","dynamic-element"):null===(B=this.selectionRectangle)||void 0===B||B.attr("fill",Rd).attr("x",-4).attr("y",-16).attr("width",20).attr("height",20).attr("class","dynamic-element");null===(F=this.backgroundElement)||void 0===F||F.attr("fill","none")}},{key:"removeSelection",value:function(){var U;null===(U=this.selectionRectangle)||void 0===U||U.remove(),this.selectionRectangle=void 0}},{key:"raiseElement",value:function(){var U;null===(U=this.selectionRectangle)||void 0===U||U.lower()}},{key:"remove",value:function(){var U;null===(U=this.rootElement)||void 0===U||U.remove(),this.rootElement=void 0,this.removeSelection()}},{key:"setEnumeration",value:function(){}},{key:"redrawEnumeration",value:function(){}},{key:"redrawAttachmentPoints",value:function(){}},{key:"redrawAttachmentPointsCoordinates",value:function(){}},{key:"enumeration",get:function(){return null}},{key:"redrawChainBeginning",value:function(){}},{key:"hoverAttachmentPoint",value:function(){}},{key:"updateAttachmentPoints",value:function(){}},{key:"drawBackgroundElementHover",value:function(){if(!this.isSequenceEditModeTurnedOn&&!this.isSingleEmptyNode){var U,F;if(this.node.monomer.selected)null===(U=this.selectionRectangle)||void 0===U||U.attr("fill","#35f073");else null===(F=this.backgroundElement)||void 0===F||F.attr("fill","#E1E8E9");this.node.modified&&this.drawModification()}}},{key:"removeBackgroundElementHover",value:function(){var U,F;this.node.monomer.selected?null===(U=this.selectionRectangle)||void 0===U||U.attr("fill",this.isSequenceEditInRnaBuilderModeTurnedOn?"#99D6DC":Rd):null===(F=this.backgroundElement)||void 0===F||F.attr("fill","none");this.node.modified&&this.drawModification()}},{key:"isSubChainNode",value:function(U){return void 0!==(null===U||void 0===U?void 0:U.monomers)}},{key:"setAntisenseNodeRenderer",value:function(U){this.antisenseNodeRenderer=U}}]),F}(GJ);function yJ(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(yJ=function(){return!!U})()}function zJ(U,F,Q){(function(U,F){if(F.has(U))throw new TypeError("Cannot initialize the same private elements twice on an object")})(U,F),F.set(U,Q)}var OJ=new WeakMap,LJ=function(U){function F(){var U;(0,V.A)(this,F);for(var Q=arguments.length,B=new Array(Q),R=0;R10&&void 0!==arguments[10]?arguments[10]:0;return(0,V.A)(this,F),(E=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,jJ()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[U,Q,B,R,n,J,N,Z,W,S,k])).node=U,E.monomerSize=Z,E.scaledMonomerPosition=W,E}return(0,N.A)(F,U),(0,n.A)(F,[{key:"symbolToDisplay",get:function(){var U;return this.node.rnaBase instanceof Vn?this.node.rnaBase.label:(null===(U=this.node.rnaBase.monomerItem)||void 0===U?void 0:U.props.MonomerNaturalAnalogCode)||"@"}},{key:"drawCommonModification",value:function(U){if(U.rnaBase.isModification){var F,Q="#CAD3DD";this.node.monomer.selected&&(Q=this.isSequenceEditInRnaBuilderModeTurnedOn?"#41A8B2":"#3ACA6A"),null===(F=this.backgroundElement)||void 0===F||F.attr("fill",Q)}var B;U.sugar.isModification&&(null===(B=this.backgroundElement)||void 0===B||B.attr("stroke",this.isSequenceEditInRnaBuilderModeTurnedOn?"#24545A":"#585858").attr("stroke-width","1px"))}}]),F}(YJ);function KJ(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(KJ=function(){return!!U})()}var fJ=function(U){function F(){return(0,V.A)(this,F),function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,KJ()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,arguments)}return(0,N.A)(F,U),(0,n.A)(F,[{key:"drawModification",value:function(){var U,F,Q=this.node;(this.drawCommonModification(Q),this.phosphateModificationCircleElement&&this.phosphateModificationCircleElement.remove(),null!==(U=Q.phosphate)&&void 0!==U&&U.isModification)&&(this.phosphateModificationCircleElement=null===(F=this.rootElement)||void 0===F?void 0:F.append("circle").attr("r","3px").attr("fill",this.isSequenceEditInRnaBuilderModeTurnedOn?"#24545A":"#585858").attr("cx","12").attr("cy","-17"))}},{key:"appendRootElement",value:function(){var U;return this.rootElement=b((0,d.A)(F.prototype),"appendRootElement",this).call(this),null===(U=this.rootElement)||void 0===U||U.attr("data-symbol-type",this.node.sugar.label===I.SUGAR_DNA?"DNA":"RNA"),this.rootElement}}]),F}(IJ);function gJ(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(gJ=function(){return!!U})()}var PJ=function(U){function F(){return(0,V.A)(this,F),function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,gJ()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,arguments)}return(0,N.A)(F,U),(0,n.A)(F,[{key:"symbolToDisplay",get:function(){return""}},{key:"drawModification",value:function(){}},{key:"appendRootElement",value:function(){var U;return this.rootElement=b((0,d.A)(F.prototype),"appendRootElement",this).call(this),null===(U=this.rootElement)||void 0===U||U.attr("data-symbol-type","Empty"),this.rootElement}}]),F}(YJ);function AJ(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(AJ=function(){return!!U})()}var qJ=function(U){function F(){return(0,V.A)(this,F),function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,AJ()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,arguments)}return(0,N.A)(F,U),(0,n.A)(F,[{key:"drawModification",value:function(){var U,F=this.node,Q=iR(F.sugar);(this.drawCommonModification(F),this.nucleosideCircleElement&&this.nucleosideCircleElement.remove(),!Q||Q instanceof IV)||(this.nucleosideCircleElement=null===(U=this.rootElement)||void 0===U?void 0:U.append("circle").attr("r","3px").attr("stroke",this.isSequenceEditInRnaBuilderModeTurnedOn?"#24545A":"#585858").attr("stroke-width","1px").attr("fill","none").attr("cx","12").attr("cy","-17"))}},{key:"appendRootElement",value:function(){var U;return this.rootElement=b((0,d.A)(F.prototype),"appendRootElement",this).call(this),null===(U=this.rootElement)||void 0===U||U.attr("data-symbol-type",this.node.sugar.label===I.SUGAR_DNA?"DNA":"RNA"),this.rootElement}}]),F}(IJ);function _J(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(_J=function(){return!!U})()}var $J=function(U){function F(){return(0,V.A)(this,F),function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,_J()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,arguments)}return(0,N.A)(F,U),(0,n.A)(F,[{key:"symbolToDisplay",get:function(){return"?"}},{key:"drawModification",value:function(){}}]),F}(YJ);function UN(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(UN=function(){return!!U})()}var FN=function(U){function F(){return(0,V.A)(this,F),function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,UN()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,arguments)}return(0,N.A)(F,U),(0,n.A)(F,[{key:"symbolToDisplay",get:function(){var U=this.node.monomer.monomerItem.props.MonomerNaturalAnalogCode;return U&&U!==TU?U:TU}},{key:"drawModification",value:function(){}}]),F}(YJ);function QN(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(QN=function(){return!!U})()}var BN=function(U){function F(){return(0,V.A)(this,F),function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,QN()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,arguments)}return(0,N.A)(F,U),(0,n.A)(F,[{key:"symbolToDisplay",get:function(){return this.node.monomer instanceof Vn&&(this.node.monomer.monomerClass===WU.CHEM||this.node.monomer.monomerClass===WU.Sugar||this.node.monomer.monomerClass===WU.Phosphate||this.node.monomer.monomerClass===WU.Base)?"@":this.node.monomer.label}},{key:"drawModification",value:function(){}}]),F}(YJ);function RN(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(RN=function(){return!!U})()}var VN=function(U){function F(){return(0,V.A)(this,F),function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,RN()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,arguments)}return(0,N.A)(F,U),(0,n.A)(F,[{key:"symbolToDisplay",get:function(){return"-"}},{key:"drawModification",value:function(){}},{key:"appendRootElement",value:function(){var U;return this.rootElement=b((0,d.A)(F.prototype),"appendRootElement",this).call(this),null===(U=this.rootElement)||void 0===U||U.attr("data-symbol-type","Line"),this.rootElement}}]),F}(YJ),nN=function(){function U(){(0,V.A)(this,U)}return(0,n.A)(U,null,[{key:"fromNode",value:function(U,F,Q,B,R,V,n,l,d){var J,N=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0;switch(U.constructor){case Sn:J=fJ;break;case Wn:J=qJ;break;case Dn:J=PJ;break;case Gn:J=VN;break;case on:J=xJ;break;case pn:J=BN;break;default:switch(U.monomer.constructor){case IV:J=wJ;break;case bV:J=LJ;break;case kn:J=$J;break;case _V:J=FN;break;default:J=xJ}}return new J(U,F,Q,B,R,V,n,null===d||void 0===d?void 0:d.monomerSize,null===d||void 0===d?void 0:d.scaledMonomerPosition,l,N)}}]),U}();function lN(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(lN=function(){return!!U})()}var dN=function(U){function F(U,Q,B){var R;return(0,V.A)(this,F),(R=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,lN()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[U])).polymerBond=U,R.firstNode=Q,R.secondNode=B,R}return(0,N.A)(F,U),(0,n.A)(F,[{key:"isHydrogenBond",get:function(){return this.polymerBond instanceof RR}},{key:"firstMonomer",get:function(){var U;return(null===(U=this.firstNode)||void 0===U?void 0:U.monomer)||this.polymerBond.firstMonomer}},{key:"secondMonomer",get:function(){var U;return(null===(U=this.secondNode)||void 0===U?void 0:U.monomer)||this.polymerBond.secondMonomer}},{key:"areMonomersOnSameRow",get:function(){var U,F,Q;return S()(this.firstMonomer.renderer instanceof YJ),S()((null===(U=this.secondMonomer)||void 0===U?void 0:U.renderer)instanceof YJ),(null===(F=this.firstMonomer.renderer)||void 0===F?void 0:F.scaledMonomerPositionForSequence.y)===(null===(Q=this.secondMonomer)||void 0===Q||null===(Q=Q.renderer)||void 0===Q?void 0:Q.scaledMonomerPositionForSequence.y)}},{key:"scaledPosition",get:function(){var U;S()(this.firstMonomer.renderer instanceof YJ),S()((null===(U=this.secondMonomer)||void 0===U?void 0:U.renderer)instanceof YJ);var F=this.firstMonomer.renderer.scaledMonomerPositionForSequence.y,Q=this.firstMonomer.renderer.scaledMonomerPositionForSequence.x,B=this.secondMonomer.renderer.scaledMonomerPositionForSequence.y,R=this.secondMonomer.renderer.scaledMonomerPositionForSequence.x;return{startPosition:new zF(Q,F),endPosition:new zF(R,B)}}},{key:"center",get:function(){return zF.centre(new zF(this.scaledPosition.startPosition.x+6,this.mainLineY.mainLineY1),new zF(this.scaledPosition.startPosition.x+6,this.mainLineY.mainLineY2))}},{key:"mainLineY",get:function(){return{mainLineY1:this.scaledPosition.startPosition.y-(this.scaledPosition.startPosition.y>this.scaledPosition.endPosition.y?15:-3)+(this.areMonomersOnSameRow?-25:0),mainLineY2:this.scaledPosition.endPosition.y-(this.scaledPosition.endPosition.y>this.scaledPosition.startPosition.y?15:-3)+(this.areMonomersOnSameRow?-25:0)}}},{key:"show",value:function(){var U;this.rootElement=this.canvas.insert("g",":first-child").data([this]),null===(U=this.rootElement)||void 0===U||U.append("path").attr("stroke","black").attr("fill","none").attr("d",this.getBondPath()).attr("stroke-dasharray",this.isHydrogenBond?"2":"0")}},{key:"drawSelection",value:function(){var U,F,Q;(S()(this.rootElement),this.polymerBond.selected)?(null===(U=this.selectionElement)||void 0===U||U.remove(),this.selectionElement=null===(F=this.rootElement)||void 0===F?void 0:F.insert("path",":first-child").attr("stroke",Rd).attr("stroke-width","6").attr("fill","none"),this.selectionElement.attr("d",this.getBondPath())):null===(Q=this.selectionElement)||void 0===Q||Q.remove()}},{key:"getBondPath",value:function(){return this.areMonomersOnSameRow?"M ".concat(this.scaledPosition.startPosition.x+6,",\n ").concat(this.mainLineY.mainLineY1+5," \n L ").concat(this.scaledPosition.startPosition.x+6,", ").concat(this.mainLineY.mainLineY1," \n L ").concat(this.scaledPosition.endPosition.x+6,", ").concat(this.mainLineY.mainLineY2,"\n L ").concat(this.scaledPosition.endPosition.x+6,", ").concat(this.mainLineY.mainLineY2+5):"M ".concat(this.scaledPosition.startPosition.x+6,", ").concat(this.mainLineY.mainLineY1," L ").concat(this.scaledPosition.endPosition.x+6,", ").concat(this.mainLineY.mainLineY2)}},{key:"moveStart",value:function(){}},{key:"moveEnd",value:function(){}},{key:"isSnake",get:function(){return!1}},{key:"isMonomersOnSameHorizontalLine",value:function(){return!1}}]),F}(GJ);function JN(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(JN=function(){return!!U})()}var NN=function(U){function F(U){return(0,V.A)(this,F),function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,JN()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[U])}return(0,N.A)(F,U),(0,n.A)(F,[{key:"isSnake",get:function(){return!1}},{key:"isMonomersOnSameHorizontalLine",value:function(){return!1}},{key:"moveStart",value:function(){}},{key:"moveEnd",value:function(){}}]),F}(GJ),ZN=function(){function U(){(0,V.A)(this,U),(0,Z.A)(this,"priority",2)}return(0,n.A)(U,[{key:"execute",value:function(U){KV().mode.initialize(!1)}},{key:"invert",value:function(U){KV().mode.initialize(!1)}}]),U}(),WN=function(){function U(F,Q,B){(0,V.A)(this,U),this.previousPosition=F,this.nextPosition=Q,this.setCaretPosition=B,this.execute()}return(0,n.A)(U,[{key:"execute",value:function(){this.setCaretPosition(this.nextPosition)}},{key:"invert",value:function(U){this.setCaretPosition(this.previousPosition)}}]),U}(),SN="#333333",EN=function(){function U(F){var Q;(0,V.A)(this,U),this.indexOfRowBefore=F,this.canvas=(null===(Q=RQ.instance)||void 0===Q?void 0:Q.canvas)||(0,c.Lt)(FQ)}return(0,n.A)(U,[{key:"show",value:function(){var F,Q,B=this,R=KV(),V=sJ.sequenceViewModel.chains[this.indexOfRowBefore],n=(null===(F=V.lastNode)||void 0===F||null===(F=F.antisenseNode)||void 0===F?void 0:F.renderer)||(null===(Q=V.lastNode)||void 0===Q||null===(Q=Q.senseNode)||void 0===Q?void 0:Q.renderer);n instanceof YJ&&(this.rootElement=this.canvas.append("g").data([this]).attr("class","dynamic-element").attr("transform","translate(".concat(20,", ").concat(n.scaledMonomerPositionForSequence.y+(V.hasAntisense?30:12),")")).attr("cursor","pointer"),this.rootElement.append("title").text("Add sequence here"),this.rootElement.attr("opacity","0"),this.rootElement.append("title").text("Add sequence here"),this.rootElement.append("rect").attr("x","16").attr("y","22").attr("width","0").attr("height","4").attr("stroke","#B4B9D6").attr("stroke-width","1").attr("fill","#fff").attr("pointer-events","none"),this.bodyElement=this.rootElement.append("foreignObject").attr("x",0).attr("y",0).attr("height","48").attr("width","48").attr("data-testid","NewSequencePlusButton"),this.buttonElement=this.bodyElement.append("xhtml:div").attr("data-testid","NewSequencePlusButtonIcon").attr("style","\n width: 32px;\n margin: 8px;\n padding: 8px;\n font-size: 12px;\n color: ".concat(SN,";\n border-radius: 20px;\n box-shadow: 0px 2px 5px 0px #67688426;\n background-color: #ffffff;\n font-weight: 400;\n border: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: space-between;\n ")),U.appendPlusIcon(this.buttonElement),this.rootElement.on("mouseover",function(){var U;B.appendHover(),null===(U=B.rootElement)||void 0===U||U.attr("opacity","1")}).on("mouseout",function(){var U;B.removeHover(),null===(U=B.rootElement)||void 0===U||U.attr("opacity","0")}).on("click",function(U){U.stopPropagation(),R.events.startNewSequence.dispatch({indexOfRowBefore:B.indexOfRowBefore})}))}},{key:"appendHover",value:function(){var U;null===(U=this.buttonElement)||void 0===U||U.style("color","#167782")}},{key:"appendHoverAreaElement",value:function(){}},{key:"drawSelection",value:function(){}},{key:"moveSelection",value:function(){}},{key:"removeHover",value:function(){var U;null===(U=this.buttonElement)||void 0===U||U.style("color",SN)}},{key:"remove",value:function(){var U;null===(U=this.rootElement)||void 0===U||U.remove(),this.rootElement=void 0}},{key:"setWidth",value:function(U){var F,Q=null===(F=this.rootElement)||void 0===F?void 0:F.select("rect"),B=Math.min(20*(U-1)+U/10*10,620);null===Q||void 0===Q||Q.attr("width",B)}}],[{key:"appendPlusIcon",value:function(U){U.append("svg").attr("width","16").attr("height","16").attr("fill","currentColor").append("path").attr("d","M16 7.00095V9.00095H9V16.002H7V9.00095H0V7.00095H7V0.00195312H9V7.00095H16Z")}}]),U}();function kN(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(kN=function(){return!!U})()}var tN=function(U){function F(U,Q){var B;return(0,V.A)(this,F),(B=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,kN()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[U])).monomerToAtomBond=U,B.monomerNode=Q,B}return(0,N.A)(F,U),(0,n.A)(F,[{key:"monomer",get:function(){return this.monomerNode.monomer}},{key:"atom",get:function(){return this.monomerToAtomBond.atom}},{key:"scaledPosition",get:function(){var U,F;S()(this.monomer.renderer instanceof YJ);var Q=this.monomer.renderer.scaledMonomerPositionForSequence.y,B=this.monomer.renderer.scaledMonomerPositionForSequence.x,R=null===(U=this.atom.renderer)||void 0===U?void 0:U.center.y,V=null===(F=this.atom.renderer)||void 0===F?void 0:F.center.x;return{startPosition:new zF(B,Q),endPosition:new zF(V,R)}}},{key:"center",get:function(){return zF.centre(new zF(this.scaledPosition.startPosition.x+6,this.mainLineY.mainLineY1),new zF(this.scaledPosition.startPosition.x+6,this.mainLineY.mainLineY2))}},{key:"mainLineY",get:function(){return{mainLineY1:this.scaledPosition.startPosition.y-(this.scaledPosition.startPosition.y>this.scaledPosition.endPosition.y?15:-3),mainLineY2:this.scaledPosition.endPosition.y}}},{key:"show",value:function(){var U;this.rootElement=this.canvas.insert("g",":first-child").data([this]),null===(U=this.rootElement)||void 0===U||U.append("path").attr("stroke","black").attr("fill","none").attr("d",this.getBondPath())}},{key:"getBondPath",value:function(){return"M ".concat(this.scaledPosition.startPosition.x+6,", ").concat(this.mainLineY.mainLineY1," L ").concat(this.scaledPosition.endPosition.x,", ").concat(this.mainLineY.mainLineY2)}},{key:"moveStart",value:function(){}},{key:"moveEnd",value:function(){}},{key:"isSnake",get:function(){return!1}},{key:"isMonomersOnSameHorizontalLine",value:function(){return!1}}]),F}(GJ),aN=function(){function U(){(0,V.A)(this,U),(0,Z.A)(this,"rows",[])}return(0,n.A)(U,[{key:"lastRow",get:function(){return this.rows[this.rows.length-1]}},{key:"lastNode",get:function(){return this.lastRow.sequenceViewModelItems[this.lastRow.sequenceViewModelItems.length-1]}},{key:"firstRow",get:function(){return this.rows[0]}},{key:"firstNode",get:function(){return this.firstRow.sequenceViewModelItems[0]}},{key:"nodes",get:function(){return this.rows.reduce(function(U,F){return U.concat(F.sequenceViewModelItems)},[])}},{key:"length",get:function(){return this.nodes.length}},{key:"hasAntisense",get:function(){return this.rows.some(function(U){return U.sequenceViewModelItems.some(function(U){return U.antisenseNode&&!(U.antisenseNode instanceof Dn)})})}},{key:"isNewSequenceChain",get:function(){return 1===this.length&&this.firstNode.senseNode instanceof Dn}},{key:"addRow",value:function(U){this.rows.push(U)}},{key:"forEachNode",value:function(U){var F=0;this.rows.forEach(function(Q){Q.sequenceViewModelItems.forEach(function(Q){U(Q,F),F++})})}},{key:"forEachRow",value:function(U){this.rows.forEach(function(F,Q){U(F,Q)})}}]),U}(),TN=function(U,F){return F===j.SENSE?U.senseNode:U.antisenseNode},eN=function(U,F){var Q=U.lastMonomerInNode.attachmentPointsToBonds.R2,B=Q instanceof kR&&(null===Q||void 0===Q?void 0:Q.getAnotherMonomer(U.lastMonomerInNode));return B&&F.get(B)||void 0},CN=function(U,F){var Q=U.firstMonomerInNode.attachmentPointsToBonds.R1,B=Q instanceof kR&&(null===Q||void 0===Q?void 0:Q.getAnotherMonomer(U.firstMonomerInNode));return B&&F.get(B)||void 0},DN=function(){function U(F){(0,V.A)(this,U),(0,Z.A)(this,"nodes",[]),(0,Z.A)(this,"chains",[]),(0,Z.A)(this,"monomerToTwoStrandedSnakeLayoutNode",new Map),(0,Z.A)(this,"chainToHasAntisense",new Map),this.chainsCollection=F,this.fillNodes(F),this.fillChains(),this.postProcessNodes(F),0===this.chains.length&&this.addEmptyChain(0)}return(0,n.A)(U,[{key:"addNode",value:function(U,F,Q){var B=this,R={senseNode:U,senseNodeIndex:F,chain:Q};this.nodes.push(R),U.monomers.forEach(function(U){B.monomerToTwoStrandedSnakeLayoutNode.set(U,R)})}},{key:"fillSenseNodes",value:function(U){var F=this;U.chains.forEach(function(U){U.isAntisense||U.forEachNode(function(Q){var B=Q.node,R=Q.nodeIndex;F.addNode(B,R,U)})})}},{key:"fillAntisenseNodes",value:function(U){var F=this,Q=new Set,R=U.monomerToChain,V=KV();U.chains.forEach(function(U){if(U.isAntisense){var n,l=[],d=F.nodes[F.nodes.length-1].chain,J=F.nodes.length-1;if(U.forEachNodeReversed(function(N){var Z=N.node;if(!Q.has(Z)){var W=Z.monomers.reduce(function(U,F){return[].concat((0,B.A)(U),(0,B.A)(F.hydrogenBonds.reduce(function(U,Q){var n,l,d=Q.getAnotherMonomer(F);return d&&(IR(d)&&IR(F)||(null===(n=V.drawingEntitiesManager.antisenseMonomerToSenseChain.get(F))||void 0===n?void 0:n.firstMonomer)===(null===(l=R.get(d))||void 0===l?void 0:l.firstMonomer))?[].concat((0,B.A)(U),[d]):U},[])))},[])[0],S=W?F.monomerToTwoStrandedSnakeLayoutNode.get(W):void 0,E=F.nodes.findIndex(function(U){return U===S}),k=F.nodes.findIndex(function(U){return U===n});if(W&&(!(0,o.isNumber)(k)||E>k)){l.push(Z),n=F.nodes[E];for(var t=0;t0?e:k,d=(null===C||void 0===C?void 0:C.chain)||d,C&&!C.antisenseNode&&c?(C.antisenseNode=D,C.antisenseChain=U):e<0?F.nodes.unshift({antisenseNode:D,antisenseChain:U,senseNodeIndex:J,chain:n.chain}):F.nodes.splice(e+1,0,{antisenseNode:D,antisenseChain:U,senseNodeIndex:J,chain:n.chain})}l=[]}else l.push(Z);Q.add(Z)}}),l.length&&n){for(var N=0;N=0;n--){var l=this.nodes[n],d=l.senseNode,J=l.antisenseNode;if(!d){var N=F?CN(F,R):void 0;l.senseNode=F&&N?new Gn(N,F):new Dn}if(!J&&this.chainToHasAntisense.get(l.chain)){var Z=Q?eN(Q,R):void 0;l.antisenseNode=Q&&Z?new Gn(Q,Z):new Dn}else!B||l.antisenseChain&&l.antisenseChain!==B?(V=0,l.antisenseNodeIndex=V,V++):(l.antisenseNodeIndex=V,V++);F=d||F,Q=J||Q,B=l.antisenseChain||B}}},{key:"fillAdditionalSpacesInAntisense",value:function(U){var F,Q,B=this,R=U.monomerToNode;this.nodes.forEach(function(U,V){var n,l,d;if(null!==(n=F)&&void 0!==n&&n.antisenseNode&&U.antisenseNode&&(null===(l=F)||void 0===l?void 0:l.chain)===U.chain&&(null===(d=F)||void 0===d?void 0:d.antisenseChain)!==U.antisenseChain){var J=eN(Q,R);J&&B.nodes.splice(V,0,{senseNode:new Gn(Q,J),senseNodeIndex:F.senseNodeIndex,antisenseNode:new Dn,chain:U.chain})}F=U,Q=U.senseNode||Q})}},{key:"fillNodes",value:function(U){this.fillSenseNodes(U),this.fillAntisenseNodes(U),this.fillAdditionalSpacesInAntisense(U)}},{key:"fillChains",value:function(){var U,F=this,Q=uU.editorLineLength["sequence-layout-mode"],B=0,R=new aN,V={sequenceViewModelItems:[]};this.nodes.forEach(function(n){var l=n.chain;U!==l&&(R=new aN,F.chains.push(R),B=0),B%Q===0&&(V={sequenceViewModelItems:[]},R.addRow(V)),V.sequenceViewModelItems.push(n),U=l,B++}),this.chains.forEach(function(U){U.hasAntisense&&F.chainToHasAntisense.set(U.lastNode.chain,!0);var B=U.lastNode,R=U.length,V=U.lastRow;V.sequenceViewModelItems.length===Q&&(V={sequenceViewModelItems:[]},U.addRow(V)),V.sequenceViewModelItems.push({senseNode:new Dn,antisenseNode:U.hasAntisense?new Dn:void 0,senseNodeIndex:R,chain:null===B||void 0===B?void 0:B.chain})})}},{key:"firstTwoStrandedNode",get:function(){var U;return null===(U=this.chains[0])||void 0===U?void 0:U.firstNode}},{key:"lastTwoStrandedNode",get:function(){var U=this.chains[this.chains.length-1];return null===U||void 0===U?void 0:U.lastNode}},{key:"length",get:function(){return this.chains.reduce(function(U,F){return U+F.length},0)}},{key:"hasOnlyOneNewChain",get:function(){return 1===this.length&&this.chains[0].isNewSequenceChain}},{key:"addEmptyChain",value:function(U){var F=cn.createChainWithEmptyNode(),Q=F.emptyChain,B=F.emptySequenceNode,R=new aN;return R.addRow({sequenceViewModelItems:[{senseNode:B,senseNodeIndex:0,chain:Q}]}),this.chains.splice(U,0,R),R}},{key:"forEachNode",value:function(U){var F=0;this.chains.forEach(function(Q,B){Q.forEachNode(function(R,V){U({twoStrandedNode:R,nodeIndex:V,nodeIndexOverall:F,chain:Q,chainIndex:B}),F++})})}},{key:"getNodeIndex",value:function(U){var F=-1;return this.forEachNode(function(Q){var B=Q.twoStrandedNode,R=Q.nodeIndexOverall;B===U&&(F=R)}),F}}]),U}(),oN=function(){function U(){(0,V.A)(this,U),(0,Z.A)(this,"canvas",null),(0,Z.A)(this,"boundHandlers",new Map)}return(0,n.A)(U,[{key:"attachDelegatedEvents",value:function(U){this.canvas&&this.removeDelegatedEvents(),this.canvas=U,this.attachHandler("mouseover",this.handleMouseOver.bind(this)),this.attachHandler("mousemove",this.handleMouseMove.bind(this)),this.attachHandler("mouseout",this.handleMouseOut.bind(this)),this.attachHandler("mousedown",this.handleMouseDown.bind(this)),this.attachHandler("click",this.handleClick.bind(this)),this.attachHandler("dblclick",this.handleDblClick.bind(this))}},{key:"removeDelegatedEvents",value:function(){var U=this;this.canvas&&(this.boundHandlers.forEach(function(F,Q){var B;null===(B=U.canvas)||void 0===B||B.on(Q,null)}),this.boundHandlers.clear(),this.canvas=null)}},{key:"attachHandler",value:function(U,F){var Q;this.boundHandlers.set(U,F),null===(Q=this.canvas)||void 0===Q||Q.on(U,F)}},{key:"findSequenceItemRenderer",value:function(U){if(!U||!(U instanceof SVGElement))return null;var F=U.closest(".sequence-item");if(!F)return null;var Q=(0,c.Lt)(F).datum();if(!Q)return null;var B=this.getElementType(U);return B?{renderer:Q,elementType:B}:null}},{key:"getElementType",value:function(U){var F=U.getAttribute("data-element-type");if("text"===F||"background"===F||"spacer"===F)return F;var Q=U.tagName.toLowerCase();return"text"===Q?"text":"rect"===Q?U.closest('g[data-element-type="spacer"]')?"spacer":"background":"g"===Q&&U.hasAttribute("data-element-type")?U.getAttribute("data-element-type"):null}},{key:"handleMouseOver",value:function(U){var F=this.findSequenceItemRenderer(U.target);if(F){var Q=F.renderer,B=F.elementType;"text"!==B&&"background"!==B||(Q.drawBackgroundElementHover(),"text"===B&&Pl.mouseOverSequenceItem.dispatch(U))}}},{key:"handleMouseMove",value:function(U){var F=this.findSequenceItemRenderer(U.target);F&&("text"===F.elementType&&Pl.mouseOnMoveSequenceItem.dispatch(U))}},{key:"handleMouseOut",value:function(U){var F=this.findSequenceItemRenderer(U.target);if(F){var Q=F.renderer,B=F.elementType;Q.removeBackgroundElementHover(),"text"===B&&Pl.mouseLeaveSequenceItem.dispatch(U)}}},{key:"handleMouseDown",value:function(U){var F=this.findSequenceItemRenderer(U.target);if(F){var Q=F.elementType;"spacer"===Q?Pl.mousedownBetweenSequenceItems.dispatch(U):"background"===Q&&Pl.mouseDownOnSequenceItem.dispatch(U)}}},{key:"handleClick",value:function(U){var F=this.findSequenceItemRenderer(U.target);F&&("background"===F.elementType&&Pl.clickOnSequenceItem.dispatch(U))}},{key:"handleDblClick",value:function(U){var F=this.findSequenceItemRenderer(U.target);if(F){var Q=F.elementType;"text"!==Q&&"background"!==Q||Pl.doubleClickOnSequenceItem.dispatch(U)}}}],[{key:"instance",get:function(){return U._instance||(U._instance=new U),U._instance}}]),U}();function pN(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function hN(U){for(var F=1;FV&&this.setCaretPosition(V),this.lastChainStartPosition=B}},{key:"getNextChainPosition",value:function(){var F=arguments.length>0&&void 0!==arguments[0]?arguments[0]:U.lastChainStartPosition,Q=arguments.length>1&&void 0!==arguments[1]?arguments[1]:U.lastChainLength,B=uU.editorLineLength["sequence-layout-mode"];return new zF(F.x,F.y+80+47*Math.floor((Q-1)/B))}},{key:"showBonds",value:function(U){var F=this,Q=new Map,B=new Set,R=U.monomerToChain;U.chains.forEach(function(U){if(U.subChains.forEach(function(U){U.nodes.forEach(function(V){V instanceof Dn||V.monomers.forEach(function(n){Q.has(n)||Q.set(n,new Set),n.forEachBond(function(l,d){if(l instanceof RR){var J=l.secondMonomer&&R.get(l.firstMonomer)===R.get(l.secondMonomer);if(B.has(l)||J)return;var N=new dN(l);return F.showBondRenderer(N),l.setRenderer(N),void B.add(l)}var Z=Q.get(n);if(l instanceof dR){var W=new tN(l,V);return F.showBondRenderer(W),l.setRenderer(W),void Z.add(d)}if(U.bonds.includes(l)||U.addBond(l),l.isSideChainConnection){if(!Z.has(d)){var S=l.getAnotherEntity(n);if(!(n instanceof HV&&bR(n)===S||S instanceof HV&&bR(S)===n)){var E,k=vR(S);E=uR(S)&&k?new dN(new kR(n,k)):new dN(l),F.showBondRenderer(E),l.setRenderer(E),Z.add(d),Q.get(S)||Q.set(S,new Set),Q.get(S).add(null===S||void 0===S?void 0:S.getAttachmentPointByBond(l))}}}else l.setRenderer(new NN(l))})})})}),U.isCyclic){var V,n=null===(V=U.firstMonomer)||void 0===V?void 0:V.attachmentPointsToBonds.R1,l=new dN(n,U.firstNode,U.lastNonEmptyNode);F.showBondRenderer(l),n.setRenderer(l)}})}},{key:"showBondRenderer",value:function(U){U.show(),this.sequenceBondRenderers.add(U)}},{key:"isCaretAfterRowEnd",get:function(){return this.isCaretAfterRowEndValue},set:function(U){this.isCaretAfterRowEndValue=U}},{key:"setCaretPosition",value:function(F,Q){var B,R;this.isCaretAfterRowEnd=null!==(B=null===Q||void 0===Q?void 0:Q.afterRowEnd)&&void 0!==B&&B;var V=KV(),n=U.currentEdittingNode;if(n){var l,d=null===(l=n.senseNode)||void 0===l?void 0:l.renderer;S()(d instanceof YJ);var J,N=this.isCaretAfterRowEnd&&this.isCurrentCaretAtLastInFullRow;if(null===d||void 0===d||d.redrawCaret(F,N),d.antisenseNodeRenderer)null===(J=d.antisenseNodeRenderer)||void 0===J||J.redrawCaret(F,N)}U.caretPosition=F;var Z=U.currentEdittingNode,W=null===Z||void 0===Z||null===(R=Z.senseNode)||void 0===R?void 0:R.renderer;if(Z){if(S()(W instanceof YJ),V.isSequenceEditMode){var E,k=this.isCaretAfterRowEnd&&this.isCurrentCaretAtLastInFullRow;null===W||void 0===W||W.redrawCaret(F,k),null===W||void 0===W||null===(E=W.antisenseNodeRenderer)||void 0===E||E.redrawCaret(F,k)}this.sequenceViewModel.forEachNode(function(U){var Q,B,R=U.twoStrandedNode,V=null===(Q=R.senseNode)||void 0===Q?void 0:Q.renderer,n=null===(B=R.antisenseNode)||void 0===B?void 0:B.renderer;V instanceof YJ&&V.redrawCounter(F),n instanceof YJ&&n.redrawCounter(F)})}}},{key:"rerenderCaret",value:function(){this.setCaretPosition(this.caretPosition)}},{key:"forEachNode",value:function(U){var F;null===(F=this.sequenceViewModel)||void 0===F||F.forEachNode(U)}},{key:"setCaretPositionBySequenceItemRenderer",value:function(F){var Q=-1;U.forEachNode(function(U){var B,R,V=U.twoStrandedNode,n=U.nodeIndexOverall;(null===(B=V.senseNode)||void 0===B?void 0:B.renderer)!==F&&(null===(R=V.antisenseNode)||void 0===R?void 0:R.renderer)!==F||(Q=n)}),this.setCaretPosition(Q)}},{key:"setCaretPositionByMonomer",value:function(F){var Q=-1;U.forEachNode(function(U){var B,R,V=U.twoStrandedNode,n=U.nodeIndexOverall;(null!==(B=V.senseNode)&&void 0!==B&&B.monomers.includes(F)||null!==(R=V.antisenseNode)&&void 0!==R&&R.monomers.includes(F))&&(Q=n)}),this.setCaretPosition(Q)}},{key:"setCaretPositionNextToMonomer",value:function(F){var Q=-1;U.forEachNode(function(U){var B,R,V=U.twoStrandedNode,n=U.nodeIndexOverall;(null!==(B=V.senseNode)&&void 0!==B&&B.monomers.includes(F)||null!==(R=V.antisenseNode)&&void 0!==R&&R.monomers.includes(F))&&(Q=n)}),-1!==Q&&this.setCaretPosition(Q+1)}},{key:"setCaretPositionByNode",value:function(F){var Q=-1;U.forEachNode(function(U){var B=U.twoStrandedNode,R=U.nodeIndexOverall;B===F&&(Q=R)}),this.setCaretPosition(Q)}},{key:"getMonomersByCaretPositionRange",value:function(F,Q){var B=this,R=[];return U.forEachNode(function(U){var V=U.twoStrandedNode,n=U.nodeIndexOverall;if(F<=n&&n<(null!==Q&&void 0!==Q?Q:B.caretPosition)){var l,d,J,N;if(null!==(l=V.senseNode)&&void 0!==l&&l.monomer)R.push(null===(J=V.senseNode)||void 0===J?void 0:J.monomer);if(null!==(d=V.antisenseNode)&&void 0!==d&&d.monomer)R.push(null===(N=V.antisenseNode)||void 0===N?void 0:N.monomer)}}),R}},{key:"resetLastUserDefinedCaretPosition",value:function(){this.lastUserDefinedCaretPosition=this.caretPosition}},{key:"nodesGroupedByRows",get:function(){var F=uU.editorLineLength["sequence-layout-mode"],Q=[],R=[];return U.forEachNode(function(U){var V=U.twoStrandedNode;if(R.push(V),V.senseNode instanceof Dn){if(R.length>F)for(;R.length>0;)Q.push(R.splice(0,F));else Q.push((0,B.A)(R));R=[]}}),Q}},{key:"getNodeIndexInRowByGlobalIndex",value:function(U){var F,Q=U;return this.nodesGroupedByRows.forEach(function(U){void 0===F&&Q-U.length<0&&(F=Q),Q-=U.length}),F}},{key:"currentChainRow",get:function(){var U,F=this.currentEdittingNode;return F&&null!==(U=this.nodesGroupedByRows.find(function(U){return U.includes(F)}))&&void 0!==U?U:[]}},{key:"previousRowOfNodes",get:function(){var U=this.currentEdittingNode;if(!U)return[];var F=this.nodesGroupedByRows.findIndex(function(F){return F.includes(U)});return F>0?this.nodesGroupedByRows[F-1]:[]}},{key:"nextRowOfNodes",get:function(){var U=this.currentEdittingNode;if(!U)return[];var F=this.nodesGroupedByRows.findIndex(function(F){return F.includes(U)});return-1!==F&&F+1R?F-1:F)}},{key:"getPreviousNodeInSameChain",value:function(F){var Q,B,R=-1;return U.forEachNode(function(U){var V=U.twoStrandedNode,n=U.chainIndex;F===V&&n===R&&(B=Q),R=n,Q=V}),B}},{key:"getNextNodeInSameChain",value:function(F){var Q,B,R=-1;return U.forEachNode(function(U){var V=U.twoStrandedNode,n=U.chainIndex;F===Q&&n===R&&(B=V),R=n,Q=V}),B}},{key:"getPreviousNode",value:function(F){var Q,B;return U.forEachNode(function(U){var R=U.twoStrandedNode;F===R&&(B=Q),Q=R}),B}},{key:"getNextNode",value:function(F){var Q,B;return U.forEachNode(function(U){var R=U.twoStrandedNode;Q===F&&(B=R),Q=R}),B}},{key:"shiftArrowSelectionInEditMode",value:function(F){var Q=KV(),B=new PV,R=F.code;if("ArrowRight"===R){var V=this.currentEdittingNode;if(null===V||void 0===V||!V.senseNode)return;(B=U.getShiftArrowChanges(Q,V)).addOperation(this.moveCaretForward())}else if("ArrowLeft"===R){var n=this.previousNodeInSameChain;if(null!==n&&void 0!==n&&n.senseNode)B=U.getShiftArrowChanges(Q,n);else if(U.previousChain.lastNode){var l=U.previousChain.lastNode;if(l.senseNode){var d=Q.drawingEntitiesManager.getAllSelectedEntitiesForSingleEntity(l.senseNode.monomer);B.merge(d.command)}if(l.antisenseNode){var J=Q.drawingEntitiesManager.getAllSelectedEntitiesForSingleEntity(l.antisenseNode.monomer);B.merge(J.command)}}B.addOperation(this.moveCaretBack())}else if("ArrowUp"===R){var N=U.caretPosition;U.moveCaretUp();var Z=U.caretPosition;U.forEachNode(function(F){var R=F.twoStrandedNode,V=F.nodeIndexOverall;V=Z&&R.senseNode&&B.merge(U.getShiftArrowChanges(Q,R))})}else if("ArrowDown"===R){var W=U.caretPosition;U.moveCaretDown();var S=U.caretPosition;U.forEachNode(function(F){var R=F.twoStrandedNode,V=F.nodeIndexOverall;V>=W&&V1&&void 0!==arguments[1]?arguments[1]:0,Q=new EN(U);Q.show(),Q.setWidth(F),this.newSequenceButtons.push(Q)}},{key:"isEmptyCanvas",value:function(){return U.sequenceViewModel.hasOnlyOneNewChain}},{key:"isCaretAtChainEnd",get:function(){var F;return(null===(F=U.currentEdittingNode)||void 0===F?void 0:F.senseNode)instanceof Dn}},{key:"clearBondRenderers",value:function(){this.sequenceBondRenderers.forEach(function(U){return U.remove()}),this.sequenceBondRenderers.clear()}},{key:"clear",value:function(){var U;if(this.clearBondRenderers(),null===(U=this.sequenceViewModel)||void 0===U||U.forEachNode(function(U){var F,Q,B=U.twoStrandedNode;null===(F=B.senseNode)||void 0===F||null===(F=F.renderer)||void 0===F||F.remove(),null===(Q=B.antisenseNode)||void 0===Q||null===(Q=Q.renderer)||void 0===Q||Q.remove()}),this.chainsCollection){var F=new Set;this.chainsCollection.chains.forEach(function(U){U.monomers.forEach(function(U){U.forEachBond(function(U){var Q;F.has(U)||(F.add(U),null===(Q=U.renderer)||void 0===Q||Q.remove())})})})}this.removeNewSequenceButtons(),this.removeDelegatedEvents()}},{key:"attachDelegatedEvents",value:function(){var U,F=(null===(U=RQ.instance)||void 0===U?void 0:U.canvas)||(0,c.Lt)(FQ);oN.instance.attachDelegatedEvents(F)}},{key:"removeDelegatedEvents",value:function(){oN.instance.removeDelegatedEvents()}}]),U}();(0,Z.A)(cN,"caretPositionValue",-1),(0,Z.A)(cN,"lastUserDefinedCaretPositionValue",0),(0,Z.A)(cN,"newSequenceButtons",[]),(0,Z.A)(cN,"sequenceBondRenderers",new Set),(0,Z.A)(cN,"isCaretAfterRowEndValue",!1);var rN=function(){function U(){(0,V.A)(this,U),this.matrix=[]}return(0,n.A)(U,[{key:"get",value:function(U,F){if(this.matrix[U])return this.matrix[U][F]}},{key:"getRow",value:function(U){return this.matrix[U]}},{key:"set",value:function(U,F,Q){this.matrix[U]||(this.matrix[U]=[]),this.matrix[U][F]=Q}},{key:"height",get:function(){return this.matrix.length}},{key:"width",get:function(){return this.matrix.reduce(function(U,F){return Math.max(U,F.length)},0)}},{key:"forEach",value:function(U){for(var F=0;F=0;F--)for(var Q=(null===(B=this.matrix[F])||void 0===B?void 0:B.length)-1;Q>=0;Q--){var B,R=this.matrix[F][Q];R&&U(R,F,Q)}}},{key:"forEachBottomToTop",value:function(U){for(var F=(null===(Q=this.matrix[0])||void 0===Q?void 0:Q.length)-1;F>=0;F--)for(var Q,B=this.matrix.length-1;B>=0;B--){var R=this.matrix[B][F];R&&U(R,B,F)}}}]),U}(),mN=(0,n.A)(function U(F,Q,B,R,n,l){(0,V.A)(this,U),this.connectedNode=F,this.direction=Q,this.isVertical=B,this.polymerBond=R,this.xOffset=n,this.yOffset=l}),MN=(0,n.A)(function U(F,Q,B,R,n){(0,V.A)(this,U),this.node=F,this.connections=Q,this.x=B,this.y=R,this.monomer=n}),iN=function(){function U(F){var Q=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{initialMatrix:new rN};(0,V.A)(this,U),(0,Z.A)(this,"monomerToCell",new Map),(0,Z.A)(this,"polymerBondToCells",new Map),(0,Z.A)(this,"polymerBondToConnections",new Map),this.chainsCollection=F,this.matrixConfig=Q,this.matrix=new rN,this.initialMatrixWidth=this.matrixConfig.initialMatrix.width,this.fillCells()}return(0,n.A)(U,[{key:"fillConnectionsOffset",value:function(U){var F=this,Q=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(U,F){(0,o.isNumber)(F)?U.xOffset=F:U.xOffset++},B=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(U){return U.xOffset},R=new Map;(180===U?this.matrix.forEach.bind(this.matrix):0===U?this.matrix.forEachRightToLeft.bind(this.matrix):this.matrix.forEachBottomToTop.bind(this.matrix))(function(V){var n=V.connections.reduce(function(U,F){return B(F)>U?B(F):U},0);V.connections.forEach(function(B){if(B.direction===U&&!B.connectedNode&&!R.has(B.polymerBond)){var V=F.polymerBondToConnections.get(B.polymerBond);null===V||void 0===V||V.forEach(function(U){Q(U,n)}),R.set(B.polymerBond,new Set(V))}}),V.connections.forEach(function(B){B.connectedNode&&(B.direction===U||R.has(B.polymerBond))&&(R.has(B.polymerBond)?(R.delete(B.polymerBond),R.forEach(function(U){Array.from(U.values()).forEach(function(U){Q(U)})})):R.set(B.polymerBond,new Set(F.polymerBondToConnections.get(B.polymerBond))))}),(0===V.x&&90!==U||0===V.y&&90===U)&&R.clear(),Array.from(R.keys()).forEach(function(U){var Q=F.polymerBondToConnections.get(U);null!==Q&&void 0!==Q&&Q.every(function(U){return!V.connections.includes(U)})&&R.delete(U)})})}},{key:"fillRightConnectionsOffset",value:function(){var U=this,F=new Set;this.matrix.forEach(function(Q){var B=Q.connections.reduce(function(U,F){return F.xOffset>U?F.xOffset:U},0);Q.connections.forEach(function(Q){if(0===Q.direction&&Q.xOffset<=B){var R=U.polymerBondToConnections.get(Q.polymerBond);null===R||void 0===R||R.forEach(function(U){U.xOffset=B}),F.add(Q.polymerBond)}})}),F.forEach(function(F){var Q=U.polymerBondToConnections.get(F);null===Q||void 0===Q||Q.forEach(function(U){0===U.direction&&U.xOffset++})})}},{key:"fillCells",value:function(){for(var U=this,F=0;F0?0:180,E=W>0?90:270,k=Math.abs(Z),t=Math.abs(W),a=0===k,T=new mN(J,a?90:S,a,B,0,0);F.connections.push(T),U.polymerBondToCells.set(B,[F]),U.polymerBondToConnections.set(B,[T]);for(var e=F.x,C=F.y;k>1;){var D,o;e+=Math.sign(Z);var p=U.matrix.get(C,e);T=new mN(null,S,a,B,0,0),p.connections.push(T),null===(D=U.polymerBondToCells.get(B))||void 0===D||D.push(p),null===(o=U.polymerBondToConnections.get(B))||void 0===o||o.push(T),k--}for(;t>1;){var h,c;C+=Math.sign(W);var r=U.matrix.get(C,e);T=new mN(null,E,a,B,0,0),r.connections.push(T),null===(h=U.polymerBondToCells.get(B))||void 0===h||h.push(r),null===(c=U.polymerBondToConnections.get(B))||void 0===c||c.push(T),t--}e+=Math.sign(Z),C+=Math.sign(W);var m=U.matrix.get(C,e);T=new mN(J,a?E:{x:0===Z?0:S,y:E},a,B,0,0),m.connections.push(T),null===(R=U.polymerBondToCells.get(B))||void 0===R||R.push(m),null===(l=U.polymerBondToConnections.get(B))||void 0===l||l.push(T),n.add(B)}})}),this.fillConnectionsOffset(180),this.fillRightConnectionsOffset(),this.fillConnectionsOffset(0),this.fillConnectionsOffset(90,function(U,F){(0,o.isNumber)(F)?U.yOffset=F:U.yOffset++},function(U){return U.yOffset})}}]),U}(),bN=function(){function U(F,Q){(0,V.A)(this,U),(0,Z.A)(this,"priority",1),this.recalculateCanvasMatrixModelChange=F,this.invertRecalculateCanvasMatrixModelChange=Q}return(0,n.A)(U,[{key:"execute",value:function(U){this.recalculateCanvasMatrixModelChange(),U.rerenderSideConnectionPolymerBonds()}},{key:"invert",value:function(U){this.invertRecalculateCanvasMatrixModelChange(),U.rerenderSideConnectionPolymerBonds()}}]),U}();function vN(U,F){var Q=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],B=U.monomer.monomerItem.struct;B.atoms.set(U.atomIdInMicroMode,F),Q.forEach(function(U){var F=U.bondId,Q=U.bond;B.bonds.set(F,Q)})}function GN(U){var F=U.monomer.monomerItem.struct,Q=F.atoms.get(U.atomIdInMicroMode);if(Q){var V=F.bonds.filter(function(F,Q){return Q.begin===U.atomIdInMicroMode||Q.end===U.atomIdInMicroMode});return F.atoms.delete(U.atomIdInMicroMode),V.forEach(function(U,Q){F.bonds.delete(Q)}),{atomInMoleculeStruct:Q,bondsInMoleculeStruct:(0,B.A)(V.entries()).map(function(U){var F=(0,R.A)(U,2);return{bondId:F[0],bond:F[1]}})}}GU.warn("Atom is not found in molecule struct during deletion")}var sN=function(){function U(F,Q){(0,V.A)(this,U),(0,Z.A)(this,"priority",2),this.addAtomChangeModel=F,this.deleteAtomChangeModel=Q,this.atom=this.addAtomChangeModel()}return(0,n.A)(U,[{key:"execute",value:function(){this.atom=this.addAtomChangeModel(this.atom),this.deletedMoleculeStructItems&&vN(this.atom,this.deletedMoleculeStructItems.atomInMoleculeStruct,this.deletedMoleculeStructItems.bondsInMoleculeStruct)}},{key:"invert",value:function(){this.atom&&this.deleteAtomChangeModel(this.atom),this.deletedMoleculeStructItems=GN(this.atom)}},{key:"executeAfterAllOperations",value:function(U){U.addAtom(this.atom)}},{key:"invertAfterAllOperations",value:function(U){U.deleteAtom(this.atom)}}]),U}(),XN=function(){function U(F,Q,B){(0,V.A)(this,U),(0,Z.A)(this,"priority",2),this.atom=F,this.deleteAtomChangeModel=Q,this.addAtomChangeModel=B}return(0,n.A)(U,[{key:"execute",value:function(){this.deleteAtomChangeModel(),this.deletedMoleculeStructItems=GN(this.atom)}},{key:"invert",value:function(){this.addAtomChangeModel(this.atom),this.deletedMoleculeStructItems&&vN(this.atom,this.deletedMoleculeStructItems.atomInMoleculeStruct,this.deletedMoleculeStructItems.bondsInMoleculeStruct)}},{key:"invertAfterAllOperations",value:function(U){U.addAtom(this.atom)}},{key:"executeAfterAllOperations",value:function(U){U.deleteAtom(this.atom)}}]),U}();function YN(U,F){U.firstAtom.monomer.monomerItem.struct.bonds.set(U.bondIdInMicroMode,F)}function yN(U){var F=U.firstAtom.monomer.monomerItem.struct,Q=F.bonds.get(U.bondIdInMicroMode);return F.bonds.delete(U.bondIdInMicroMode),Q}var zN=function(){function U(F,Q){(0,V.A)(this,U),(0,Z.A)(this,"priority",1),this.addBondChangeModel=F,this.deleteBondChangeModel=Q,this.bond=this.addBondChangeModel()}return(0,n.A)(U,[{key:"execute",value:function(){this.bond=this.addBondChangeModel(this.bond),this.bondInMoleculeStruct&&YN(this.bond,this.bondInMoleculeStruct)}},{key:"invert",value:function(){this.bond&&this.deleteBondChangeModel(this.bond),this.bondInMoleculeStruct=yN(this.bond)}},{key:"executeAfterAllOperations",value:function(U){U.addBond(this.bond)}},{key:"invertAfterAllOperations",value:function(U){U.deleteBond(this.bond)}}]),U}(),ON=function(){function U(F,Q,B){(0,V.A)(this,U),(0,Z.A)(this,"priority",1),this.bond=F,this.deleteBondChangeModel=Q,this.addBondChangeModel=B}return(0,n.A)(U,[{key:"execute",value:function(){this.deleteBondChangeModel(this.bond),this.bondInMoleculeStruct=yN(this.bond)}},{key:"invert",value:function(){this.addBondChangeModel(this.bond),this.bondInMoleculeStruct&&YN(this.bond,this.bondInMoleculeStruct)}},{key:"executeAfterAllOperations",value:function(U){U.deleteBond(this.bond)}},{key:"invertAfterAllOperations",value:function(U){U.addBond(this.bond)}}]),U}(),LN=function(){function U(F,Q){(0,V.A)(this,U),this.addMonomerToAtomBondChangeModel=F,this.deleteMonomerToAtomBondChangeModel=Q,this.monomerToAtomBond=this.addMonomerToAtomBondChangeModel()}return(0,n.A)(U,[{key:"execute",value:function(U){this.monomerToAtomBond=this.addMonomerToAtomBondChangeModel(this.monomerToAtomBond),U.addMonomerToAtomBond(this.monomerToAtomBond)}},{key:"invert",value:function(U){this.monomerToAtomBond&&(this.deleteMonomerToAtomBondChangeModel(this.monomerToAtomBond),U.deleteMonomerToAtomBond(this.monomerToAtomBond))}}]),U}(),HN=function(){function U(F,Q,B){(0,V.A)(this,U),this.monomerToAtomBond=F,this.deleteMonomerToAtomBondChangeModel=Q,this.addMonomerToAtomBondChangeModel=B}return(0,n.A)(U,[{key:"execute",value:function(U){this.deleteMonomerToAtomBondChangeModel(this.monomerToAtomBond),U.deleteMonomerToAtomBond(this.monomerToAtomBond)}},{key:"invert",value:function(){this.addMonomerToAtomBondChangeModel(this.monomerToAtomBond)}},{key:"invertAfterAllOperations",value:function(U){U.addMonomerToAtomBond(this.monomerToAtomBond)}}]),U}(),xN=function(){function U(F){(0,V.A)(this,U),this.monomer=F}return(0,n.A)(U,[{key:"monomers",get:function(){return[this.monomer]}}]),U}(),uN=function(){function U(F,Q){(0,V.A)(this,U),this.sugar=F,this.base=Q}return(0,n.A)(U,[{key:"monomers",get:function(){return[this.sugar,this.base]}}]),U}(),wN=(0,n.A)(function U(F){(0,V.A)(this,U),this.molecule=F}),jN=(0,n.A)(function U(){(0,V.A)(this,U),(0,Z.A)(this,"kind","empty")});function IN(U){return!(U instanceof wN)&&!(U instanceof jN)}var KN=function(){function U(){(0,V.A)(this,U),(0,Z.A)(this,"rows",[])}return(0,n.A)(U,[{key:"lastRow",get:function(){return this.rows[this.rows.length-1]}},{key:"lastNode",get:function(){return this.lastRow.snakeLayoutModelItems[this.lastRow.snakeLayoutModelItems.length-1]}},{key:"firstRow",get:function(){return this.rows[0]}},{key:"firstNode",get:function(){return this.firstRow.snakeLayoutModelItems[0]}},{key:"nodes",get:function(){return this.rows.reduce(function(U,F){return U.concat(F.snakeLayoutModelItems)},[])}},{key:"length",get:function(){return this.nodes.length}},{key:"rowsLength",get:function(){return this.rows.length}},{key:"addRow",value:function(U){this.rows.push(U)}},{key:"forEachNode",value:function(U){var F=0;this.rows.forEach(function(Q){Q.snakeLayoutModelItems.forEach(function(Q){U(Q,F),F++})})}},{key:"forEachRow",value:function(U){this.rows.forEach(function(F,Q){U(F,Q)})}}]),U}(),fN=function(){function U(F,Q){var B=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];(0,V.A)(this,U),(0,Z.A)(this,"nodes",[]),(0,Z.A)(this,"chains",[]),(0,Z.A)(this,"monomerToTwoStrandedSnakeLayoutNode",new Map),this.fillNodes(F),this.fillChains(),B&&this.fillMolecules(Q)}return(0,n.A)(U,[{key:"addNode",value:function(U,F){var Q=this,B={senseNode:U,chain:F};this.nodes.push(B),U.monomers.forEach(function(U){Q.monomerToTwoStrandedSnakeLayoutNode.set(U,B)})}},{key:"getSnakeLayoutNodesFromChainNode",value:function(U){var F=arguments.length>1&&void 0!==arguments[1]&&arguments[1],Q=[];return U instanceof Sn?F?(Q.push(new xN(U.phosphate)),Q.push(new uN(U.sugar,U.rnaBase))):(Q.push(new uN(U.sugar,U.rnaBase)),Q.push(new xN(U.phosphate))):U instanceof Wn?Q.push(new uN(U.sugar,U.rnaBase)):U instanceof on?F?U.monomers.reverse().forEach(function(U){Q.push(new xN(U))}):U.monomers.forEach(function(U){Q.push(new xN(U))}):Q.push(new xN(U.monomer)),Q}},{key:"fillSenseNodes",value:function(U){var F=this;U.chains.forEach(function(U){U.isAntisense||U.forEachNode(function(Q){var B=Q.node;F.getSnakeLayoutNodesFromChainNode(B).forEach(function(Q){F.addNode(Q,U)})})})}},{key:"fillAntisenseNodes",value:function(U){var F=this,Q=new Set,R=U.monomerToChain,V=KV();U.chains.forEach(function(U){if(U.isAntisense){var n,l=[];if(U.forEachNodeReversed(function(U){var d=U.node;Q.has(d)||(F.getSnakeLayoutNodesFromChainNode(d,!0).forEach(function(U){var Q=U.monomers.reduce(function(U,F){return[].concat((0,B.A)(U),(0,B.A)(F.hydrogenBonds.reduce(function(U,Q){var n,l,d=Q.getAnotherMonomer(F);return d&&(IR(d)&&IR(F)||(null===(n=V.drawingEntitiesManager.antisenseMonomerToSenseChain.get(F))||void 0===n?void 0:n.firstMonomer)===(null===(l=R.get(d))||void 0===l?void 0:l.firstMonomer))?[].concat((0,B.A)(U),[d]):U},[])))},[])[0],d=Q?F.monomerToTwoStrandedSnakeLayoutNode.get(Q):void 0,J=F.nodes.findIndex(function(U){return U===d}),N=F.nodes.findIndex(function(U){return U===n});if(Q&&(!(0,o.isNumber)(N)||J>N)){l.push(U),n=F.nodes[J];for(var Z=0;Z0)for(var e=0;e0){var l,d,J=n[R-1],N=F.findGroupTemplateConnection(Q||[],J.monomerItem,U.monomerItem);if(N){var Z=N.endpoint1.templateId===VV(J.monomerItem);l=Z?N.endpoint1.attachmentPointId:N.endpoint2.attachmentPointId,d=Z?N.endpoint2.attachmentPointId:N.endpoint1.attachmentPointId}else l=J.getValidSourcePoint(U),d=U.getValidSourcePoint(J);S()(l),S()(d);var W=new mJ(function(Q){return F.finishPolymerBondCreationModelChange(J,U,l,d,fl.SINGLE,Q)},F.deletePolymerBondChangeModel.bind(F));B.addOperation(W)}}),B})}return(0,n.A)(U,[{key:"ensureArrowId",value:function(U){var F,Q=null!==(F=U.arrowId)&&void 0!==F?F:this.nextArrowId;return U.arrowId=Q,this.nextArrowId=Math.max(this.nextArrowId,Q+1),U}},{key:"resetArrowIdCounter",value:function(){this.nextArrowId=0}},{key:"bottomRightMonomerPosition",get:function(){var U,F=null;return this.monomers.forEach(function(U){(!F||U.position.x+U.position.y>F.x+F.y)&&(F=U.position)}),null!==(U=F)&&void 0!==U?U:new zF(0,0,0)}},{key:"bottomLeftMonomerPosition",get:function(){var U=ml(this.monomersArray);return new zF(U.left,U.bottom)}},{key:"selectedEntitiesArr",get:function(){var U=[];return this.allEntities.forEach(function(F){var Q=(0,R.A)(F,2)[1];Q.selected&&U.push(Q)}),U}},{key:"selectedEntities",get:function(){return this.allEntities.filter(function(U){return(0,R.A)(U,2)[1].selected})}},{key:"selectedMonomers",get:function(){return this.monomersArray.filter(function(U){return U.selected})}},{key:"selectedMicromoleculeEntities",get:function(){return this.selectedEntitiesArr.filter(function(U){return!(U instanceof cV||U instanceof kR||U instanceof RR)})}},{key:"externalConnectionsToSelection",get:function(){var U=[];return this.selectedMonomers.forEach(function(F){F.bonds.forEach(function(Q){(Q instanceof kR||Q instanceof RR)&&Q.secondMonomer&&(Q.firstMonomer!==F||Q.secondMonomer.selected?Q.secondMonomer!==F||Q.firstMonomer.selected||U.push({monomerFromSelection:F,monomerConnectedToSelection:Q.firstMonomer,bond:Q}):U.push({monomerFromSelection:F,monomerConnectedToSelection:Q.secondMonomer,bond:Q}))})}),U}},{key:"allEntities",get:function(){return[].concat((0,B.A)(this.monomers),(0,B.A)(this.polymerBonds),(0,B.A)(this.monomerToAtomBonds),(0,B.A)(this.atoms),(0,B.A)(this.bonds),(0,B.A)(this.rxnArrows),(0,B.A)(this.multitailArrows),(0,B.A)(this.rxnPluses))}},{key:"allEntitiesArray",get:function(){return this.allEntities.map(function(U){return(0,R.A)(U,2)[1]})}},{key:"hasDrawingEntities",get:function(){return 0!==this.allEntities.length}},{key:"hasMonomers",get:function(){return 0!==(0,B.A)(this.monomers.values()).filter(function(U){return!U.monomerItem.props.isMicromoleculeFragment||sF(U)}).length}},{key:"allBondsToMonomers",get:function(){return[].concat((0,B.A)(this.polymerBonds),(0,B.A)(this.monomerToAtomBonds))}},{key:"deleteSelectedEntities",value:function(){var U=this,F=new PV;return this.selectedEntities.forEach(function(Q){var B=(0,R.A)(Q,2)[1],V=U.deleteDrawingEntity(B);F.merge(V)}),F}},{key:"deleteAllEntities",value:function(){var U=this,F=new PV;return this.allEntities.forEach(function(Q){var B=(0,R.A)(Q,2)[1],V=U.deleteDrawingEntity(B,!1);F.merge(V)}),this.clearMicromoleculesHiddenEntities(),this.resetArrowIdCounter(),F}},{key:"addMonomerChangeModel",value:function(U,F,Q){if(Q)return this.monomers.set(Q.id,Q),Q;var B=this.createMonomer(U,F);return B.moveAbsolute(F),this.monomers.set(B.id,B),B}},{key:"createMonomer",value:function(U,F){var Q=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(OR(U))return new Vn(U,F,Q);var B=Jd(U);return new(0,(0,R.A)(B,1)[0])(U,F,{generateId:Q})}},{key:"updateMonomerItem",value:function(U,F){var Q=this.monomers.get(U.id);return Q?(Q.monomerItem=Object.isFrozen(F)?FZ({},F):F,Q.recalculateAttachmentPoints(),this.monomers.set(U.id,Q),Q):U}},{key:"addMonomer",value:function(U,F,Q){var B=new PV,R=this.addMonomerChangeModel.bind(this,U,F);Q&&(R=R.bind(this,Q));var V=new zl(R,this.deleteMonomerChangeModel.bind(this));return B.addOperation(V),B}},{key:"deleteDrawingEntity",value:function(U){var F=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Q=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return U instanceof cV?this.deleteMonomer(U,F,Q):U instanceof kR||U instanceof RR?this.deletePolymerBond(U):U instanceof dR?this.deleteMonomerToAtomBond(U):U instanceof On?this.deleteBond(U):U instanceof un?this.deleteAtom(U,F):U instanceof SJ?this.deleteRxnArrow(U):U instanceof kJ?this.deleteMultitailArrow(U):U instanceof aJ?this.deleteRxnPlus(U):new PV}},{key:"selectDrawingEntity",value:function(U){var F=this.unselectAllDrawingEntities();return U.turnOnSelection(),F.merge(this.createDrawingEntitySelectionCommand(U)),F}},{key:"selectDrawingEntitiesModelChange",value:function(U){U.turnOnSelection()}},{key:"selectDrawingEntities",value:function(U){var F=this,Q=this.unselectAllDrawingEntities();return U.forEach(function(U){U.turnOnSelection();var B=new eJ(U,F.selectDrawingEntitiesModelChange.bind(F,U));Q.addOperation(B)}),Q}},{key:"createDrawingEntitySelectionCommand",value:function(U){var F=new PV,Q=new eJ(U);return F.addOperation(Q),F}},{key:"unselectAllDrawingEntities",value:function(){var U=this,F=new PV;return this.allEntities.forEach(function(Q){var B=(0,R.A)(Q,2)[1];B.selected&&F.merge(U.unselectDrawingEntity(B))}),KV().events.selectEntities.dispatch(this.selectedEntities.map(function(U){return U[1]})),F}},{key:"unselectDrawingEntity",value:function(U){var F=new PV;return U.turnOffSelection(),F.addOperation(new eJ(U)),F}},{key:"selectAllDrawingEntities",value:function(){var U=new PV;return this.allEntities.forEach(function(F){var Q=(0,R.A)(F,2)[1];if(!Q.selected){Q.turnOnSelection();var B=new eJ(Q);U.addOperation(B)}}),KV().events.selectEntities.dispatch(this.selectedEntities.map(function(U){return U[1]})),U}},{key:"addDrawingEntitiesToSelection",value:function(U){var F=new PV;return U.forEach(function(U){U.selected?U.turnOffSelection():U.turnOnSelection(),F.addOperation(new eJ(U))}),F}},{key:"moveDrawingEntityModelChange",value:function(U,F){return U instanceof kR||U instanceof RR?(U.moveToLinkedEntities(),U.isOverlappedByMonomer=this.checkBondForOverlapsByMonomers(U)):U instanceof On?U.moveToLinkedAtoms():U instanceof dR?U.moveToLinkedEntities():(S()(F),U.moveRelative(F),U instanceof cV&&sF(U)&&this.moveChemAtomsPoint(U,F)),U}},{key:"moveChemAtomsPoint",value:function(U,F){U.monomerItem.props.isMicromoleculeFragment&&F&&(U.monomerItem.struct.atoms.forEach(function(U){U.pp.add_(F)}),U.monomerItem.struct.sgroups.forEach(function(U){var Q;null===(Q=U.pp)||void 0===Q||Q.add_(F)}))}},{key:"moveSelectedDrawingEntities",value:function(U,F){var Q=this,R=new PV;return[].concat((0,B.A)(this.atoms.values()),(0,B.A)(this.monomers.values()),(0,B.A)(this.rxnArrows.values()),(0,B.A)(this.multitailArrows.values()),(0,B.A)(this.rxnPluses.values())).forEach(function(B){B instanceof cV&&B.monomerItem.props.isMicromoleculeFragment&&!sF(B)||B.selected&&R.merge(Q.createDrawingEntityMovingCommand(B,U,F))}),this.polymerBonds.forEach(function(B){var V;(B.selected||B.firstMonomer.selected||null!==(V=B.secondMonomer)&&void 0!==V&&V.selected)&&R.merge(Q.createDrawingEntityMovingCommand(B,U,F))}),this.monomerToAtomBonds.forEach(function(B){(B.selected||B.monomer.selected||B.atom.selected)&&R.merge(Q.createDrawingEntityMovingCommand(B,U,F))}),this.bonds.forEach(function(B){(B.selected||B.firstAtom.selected||B.secondAtom.selected)&&R.merge(Q.createDrawingEntityMovingCommand(B,U,F))}),R}},{key:"rotateSelectedDrawingEntities",value:function(U,F){var Q=this,R=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],V=new PV;return[].concat((0,B.A)(this.atoms.values()),(0,B.A)(this.monomers.values()),(0,B.A)(this.rxnArrows.values()),(0,B.A)(this.multitailArrows.values()),(0,B.A)(this.rxnPluses.values())).forEach(function(B){if((!(B instanceof cV&&B.monomerItem.props.isMicromoleculeFragment)||sF(B))&&B.selected){var n=B.position.rotateAroundOrigin(F,U).sub(B.position);R?V.merge(Q.createDrawingEntityMovingCommand(B,n)):V.merge(Q.createDrawingEntityMovingCommand(B,n,n))}}),this.polymerBonds.forEach(function(U){var F;(U.selected||U.firstMonomer.selected||null!==(F=U.secondMonomer)&&void 0!==F&&F.selected)&&V.addOperation(Q.movePolymerBond(U))}),this.monomerToAtomBonds.forEach(function(U){(U.selected||U.monomer.selected||U.atom.selected)&&V.merge(Q.createDrawingEntityMovingCommand(U,new zF(0,0),new zF(0,0)))}),this.bonds.forEach(function(U){(U.selected||U.firstAtom.selected||U.secondAtom.selected)&&V.merge(Q.createDrawingEntityMovingCommand(U,new zF(0,0),new zF(0,0)))}),V}},{key:"flipSelectedDrawingEntities",value:function(U){var F=this,Q=new PV,R=this.getSelectedEntitiesCenter(),V=new zF(0,0);return R?([].concat((0,B.A)(this.atoms.values()),(0,B.A)(this.monomers.values()),(0,B.A)(this.rxnArrows.values()),(0,B.A)(this.multitailArrows.values()),(0,B.A)(this.rxnPluses.values())).forEach(function(B){if((!(B instanceof cV&&B.monomerItem.props.isMicromoleculeFragment)||sF(B))&&B.selected){var V=("horizontal"===U?new zF(R.x-(B.position.x-R.x),B.position.y):new zF(B.position.x,R.y-(B.position.y-R.y))).sub(B.position);Q.merge(F.createDrawingEntityMovingCommand(B,V,V))}}),this.polymerBonds.forEach(function(U){var B;(U.selected||U.firstMonomer.selected||null!==(B=U.secondMonomer)&&void 0!==B&&B.selected)&&Q.merge(F.createDrawingEntityMovingCommand(U,V,V))}),this.monomerToAtomBonds.forEach(function(U){(U.selected||U.monomer.selected||U.atom.selected)&&Q.merge(F.createDrawingEntityMovingCommand(U,V,V))}),this.bonds.forEach(function(U){(U.selected||U.firstAtom.selected||U.secondAtom.selected)&&Q.merge(F.createDrawingEntityMovingCommand(U,V,V))}),Q):Q}},{key:"getSelectedEntitiesBoundingBox",value:function(){var U=this.selectedEntitiesArr;return 0===U.length?null:ml(U)}},{key:"getSelectedEntitiesCenter",value:function(){var U=this.getSelectedEntitiesBoundingBox();return U?new zF(U.left+U.width/2,U.top+U.height/2):null}},{key:"createDrawingEntityMovingCommand",value:function(U,F,Q){var B=new PV,R=new CJ(this.moveDrawingEntityModelChange.bind(this,U,F),this.moveDrawingEntityModelChange.bind(this,U,Q?Q.negated():F.negated()),this.moveDrawingEntityModelChange.bind(this,U,Q||F),U);return B.addOperation(R),B}},{key:"createDrawingEntityRedrawCommand",value:function(U,F){var Q=new PV,B=new DJ(U,F);return Q.addOperation(B),Q}},{key:"deleteMonomerChangeModel",value:function(U){this.monomers.delete(U.id)}},{key:"deleteMonomer",value:function(U){var F=this,Q=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],B=arguments.length>2&&void 0!==arguments[2]&&arguments[2],R=new PV;if(U instanceof Cn)return R;var V=new Ol(U,this.addMonomerChangeModel.bind(this,U.monomerItem,U.position),this.deleteMonomerChangeModel.bind(this));return R.addOperation(V),Q&&U.hasBonds&&U.forEachBond(function(U){U.selected&&!B||(U instanceof kR||U instanceof RR?(U.turnOnSelection(),R.merge(F.deletePolymerBond(U))):R.merge(F.deleteMonomerToAtomBond(U)))}),R}},{key:"modifyMonomerItem",value:function(U,F){var Q=new PV,B=new nJ(U,this.updateMonomerItem.bind(this,U,F),this.updateMonomerItem.bind(this,U,U.monomerItem));return Q.addOperation(B),Q}},{key:"selectIfLocatedInRectangle",value:function(U,F,Q){var B=this,V=arguments.length>3&&void 0!==arguments[3]&&arguments[3],n=new PV;return this.allEntities.forEach(function(l){var d=(0,R.A)(l,2)[1];if(!(d instanceof XV&&d.monomerItem.props.isMicromoleculeFragment)||sF(d)){var J=Q.find(function(U){return(0,R.A)(U,2)[1]===d});if("sequence-layout-mode"===KV().mode.modeName&&d instanceof kR?B.checkBondSelectionForSequenceMode(d):d.selectIfLocatedInRectangle(U,F,!!J,V)){var N=B.createDrawingEntitySelectionCommand(d);n.merge(N)}}}),n}},{key:"selectIfLocatedInPolygon",value:function(U,F){var Q=this,B=arguments.length>2&&void 0!==arguments[2]&&arguments[2],V=new PV;return this.allEntities.forEach(function(n){var l=(0,R.A)(n,2)[1];if(!(l instanceof XV&&l.monomerItem.props.isMicromoleculeFragment)||sF(l)){var d=F.find(function(U){return(0,R.A)(U,2)[1]===l});if("sequence-layout-mode"===KV().mode.modeName&&l instanceof kR?Q.checkBondSelectionForSequenceMode(l):l.selectIfLocatedInPolygon(U,!!d,B)){var J=Q.createDrawingEntitySelectionCommand(l);V.merge(J)}}}),V}},{key:"checkBondSelectionForSequenceMode",value:function(U){var F,Q=U.selected;return U.firstMonomer.selected&&null!==(F=U.secondMonomer)&&void 0!==F&&F.selected?U.turnOnSelection():U.turnOffSelection(),Q!==U.selected}},{key:"startPolymerBondCreationChangeModel",value:function(U,F,Q){var B=arguments.length>3&&void 0!==arguments[3]?arguments[3]:fl.SINGLE,R=arguments.length>4?arguments[4]:void 0;if(R)return this.polymerBonds.set(R.id,R),R;var V=B===fl.HYDROGEN?new RR(U):new kR(U);if(this.polymerBonds.set(V.id,V),U.chosenFirstAttachmentPointForBond){var n=U.startBondAttachmentPoint;U.setBond(n,V),U.setPotentialBond(n,V)}return V.moveBondStartAbsolute(F.x,F.y),V.moveBondEndAbsolute(Q.x,Q.y),V}},{key:"startPolymerBondCreation",value:function(U,F,Q,B){var R=new PV,V=new oJ(this.startPolymerBondCreationChangeModel.bind(this,U,F,Q,B),this.deletePolymerBondChangeModel.bind(this));return R.addOperation(V),{command:R,polymerBond:V.polymerBond}}},{key:"deletePolymerBondChangeModel",value:function(U){var F,Q,B;if(this.polymerBonds.get(U.id)===U){this.polymerBonds.delete(U.id);var R,V=U.firstMonomer.getAttachmentPointByBond(U),n=null===(F=U.secondMonomer)||void 0===F?void 0:F.getAttachmentPointByBond(U);if(U.firstMonomer.removePotentialBonds(),null===(Q=U.secondMonomer)||void 0===Q||Q.removePotentialBonds(),U.firstMonomer.turnOffSelection(),null===(B=U.secondMonomer)||void 0===B||B.turnOffSelection(),(V||U instanceof RR)&&U.firstMonomer.unsetBond(V,U),n||U instanceof RR)null===(R=U.secondMonomer)||void 0===R||R.unsetBond(n,U)}}},{key:"deletePolymerBond",value:function(U){var F,Q=this,B=new PV,R=U.firstMonomer.getAttachmentPointByBond(U),V=null===(F=U.secondMonomer)||void 0===F?void 0:F.getAttachmentPointByBond(U),n=new pJ(U,this.deletePolymerBondChangeModel.bind(this,U),function(F){return Q.finishPolymerBondCreationModelChange(U.firstMonomer,U.secondMonomer,R,V,fl.SINGLE,F)});return B.addOperation(n),B}},{key:"cancelPolymerBondCreation",value:function(U,F){this.polymerBonds.delete(U.id);var Q=new PV;U.firstMonomer.removeBond(U),U.firstMonomer.removePotentialBonds(!0),U.firstMonomer.turnOffSelection(),U.firstMonomer.turnOffHover(),U.firstMonomer.turnOffAttachmentPointsVisibility(),null===F||void 0===F||F.turnOffSelection(),null===F||void 0===F||F.turnOffHover(),null===F||void 0===F||F.turnOffAttachmentPointsVisibility();var B=new rJ(U,F);return Q.addOperation(B),Q}},{key:"movePolymerBond",value:function(U,F){var Q=new PV;F?U.moveBondEndAbsolute(F.x,F.y):U.moveToLinkedEntities();var B=new hJ(U);return Q.addOperation(B),Q}},{key:"finishPolymerBondCreationModelChange",value:function(U,F,Q,B,R,V){var n;if(V)return this.polymerBonds.set(V.id,V),U.setBond(Q,V),F.setBond(B,V),V;var l=R===fl.HYDROGEN?new RR(U):new kR(U);return this.polymerBonds.set(l.id,l),l.setSecondMonomer(F),l.firstMonomer.setBond(Q,l),S()(l.secondMonomer),l.secondMonomer.setBond(B,l),l.firstMonomer.removePotentialBonds(!0),l.secondMonomer.removePotentialBonds(!0),l.firstMonomer.setChosenFirstAttachmentPoint(null),null===(n=l.secondMonomer)||void 0===n||n.setChosenSecondAttachmentPoint(null),l.moveToLinkedEntities(),l.firstMonomer.turnOffSelection(),l.firstMonomer.turnOffHover(),l.firstMonomer.turnOffAttachmentPointsVisibility(),l.secondMonomer.turnOffSelection(),l.secondMonomer.turnOffHover(),l.secondMonomer.turnOffAttachmentPointsVisibility(),l.turnOffHover(),l}},{key:"finishPolymerBondCreation",value:function(U,F,Q,B){var R=this,V=arguments.length>4&&void 0!==arguments[4]?arguments[4]:fl.SINGLE,n=new PV,l=KV(),d=U.firstMonomer;this.polymerBonds.delete(U.id);var J=new mJ(function(U){return R.finishPolymerBondCreationModelChange(d,F,Q,B,V,U)},this.deletePolymerBondChangeModel.bind(this));return n.addOperation(J),"snake-layout-mode"===l.mode.modeName&&n.merge(this.recalculateCanvasMatrix()),n.merge(this.recalculateAntisenseChains()),n}},{key:"createPolymerBond",value:function(U,F,Q,B){var R=this,V=arguments.length>4&&void 0!==arguments[4]?arguments[4]:fl.SINGLE,n=new PV,l=new mJ(function(n){return R.finishPolymerBondCreationModelChange(U,F,Q,B,V,n)},this.deletePolymerBondChangeModel.bind(this));return n.addOperation(l),n}},{key:"intendToStartBondCreation",value:function(U){var F=new PV;U.turnOnHover(),U.turnOnAttachmentPointsVisibility();var Q=new VJ(U,!0);return F.addOperation(Q),F}},{key:"intendToStartAttachmenPointBondCreation",value:function(U,F){var Q=new PV;U.turnOnHover(),U.turnOnAttachmentPointsVisibility();var B=new vl(U,F);return Q.addOperation(B),Q}},{key:"intendToFinishBondCreation",value:function(U,F,Q){var B=new PV;if(U.turnOnHover(),U.turnOnAttachmentPointsVisibility(),Q){F.firstMonomer.removePotentialBonds(),U.removePotentialBonds();var R=F.firstMonomer.getValidSourcePoint(U),V=U.getValidTargetPoint(F.firstMonomer);F.firstMonomer.setPotentialBond(R,F),U.setPotentialBond(V,F)}var n=new VJ(F.firstMonomer,!0),l=new VJ(U,!0);return B.addOperation(n),B.addOperation(l),B}},{key:"intendToFinishAttachmenPointBondCreation",value:function(U,F,Q,B){var R=new PV;if(U.turnOnHover(),U.turnOnAttachmentPointsVisibility(),U.isAttachmentPointUsed(Q)){var V=new VJ(U,!0);return R.addOperation(V),R}if(Q&&(U.setPotentialSecondAttachmentPoint(Q),U.setPotentialBond(Q,F)),B){F.firstMonomer.removePotentialBonds(),U.removePotentialBonds();var n=F.firstMonomer.getValidSourcePoint(U),l=U.getValidTargetPoint(F.firstMonomer);F.firstMonomer.setPotentialBond(n,F),U.setPotentialBond(l,F)}var d=new VJ(F.firstMonomer,!0),J=new vl(U,Q);return R.addOperation(d),R.addOperation(J),R}},{key:"cancelIntentionToFinishBondCreation",value:function(U,F){var Q=new PV;U.turnOffHover(),U.turnOffAttachmentPointsVisibility(),U.setPotentialSecondAttachmentPoint(null),U.removePotentialBonds();var B=new VJ(U,!0);if(Q.addOperation(B),F&&!F.firstMonomer.chosenFirstAttachmentPointForBond){F.firstMonomer.removePotentialBonds();var R=new VJ(F.firstMonomer,!0);Q.addOperation(R)}return Q}},{key:"intendToSelectDrawingEntity",value:function(U){var F=new PV;U.turnOnHover();var Q=new TJ(U);return F.addOperation(Q),F}},{key:"intendToSelectAllConnectedDrawingEntities",value:function(U){var F=new PV;return this.visitAllConnectedEntities(U,function(U){U.turnOnHover();var Q=new TJ(U);F.addOperation(Q)}),F}},{key:"cancelIntentionToSelectDrawingEntity",value:function(U){var F=new PV;U.turnOffHover();var Q=new TJ(U);return F.addOperation(Q),F}},{key:"cancelIntentionToSelectAllConnectedDrawingEntities",value:function(U){var F=new PV;return this.visitAllConnectedEntities(U,function(U){U.turnOffHover();var Q=new TJ(U);F.addOperation(Q)}),F}},{key:"showPolymerBondInformation",value:function(U){var F=new PV;U.turnOnHover(),U.firstMonomer.turnOnHover(),S()(U.secondMonomer),U.secondMonomer.turnOnHover(),U instanceof RR||(U.firstMonomer.turnOnAttachmentPointsVisibility(),U.secondMonomer.turnOnAttachmentPointsVisibility());var Q=new cJ(U);return F.addOperation(Q),F}},{key:"hidePolymerBondInformation",value:function(U){var F=new PV;U.turnOffHover(),U.firstMonomer.turnOffHover(),U.firstMonomer.turnOffAttachmentPointsVisibility(),S()(U.secondMonomer),U.secondMonomer.turnOffHover(),U.secondMonomer.turnOffAttachmentPointsVisibility();var Q=new cJ(U);return F.addOperation(Q),F}},{key:"hideAllMonomersHoverAndAttachmentPoints",value:function(){var U=new PV;return this.monomers.forEach(function(F){F.turnOffHover(),F.turnOffAttachmentPointsVisibility();var Q=new VJ(F,!0);U.addOperation(Q)}),U}},{key:"findGroupTemplateConnection",value:function(U,F,Q){return Q&&(null===U||void 0===U?void 0:U.find(function(U){return U.endpoint1.templateId===VV(F)&&U.endpoint2.templateId===VV(Q)||U.endpoint2.templateId===VV(F)&&U.endpoint1.templateId===VV(Q)}))}},{key:"addRnaPreset",value:function(U){var F=this,Q=U.sugar,B=U.sugarPosition,V=U.phosphate,n=U.phosphatePosition,l=U.rnaBase,d=U.rnaBasePosition,J=U.connections,N=this.findGroupTemplateConnection(J||[],Q,V),Z=(null===N||void 0===N?void 0:N.endpoint1.templateId)===VV(Q)?(null===N||void 0===N?void 0:N.endpoint1.attachmentPointId)===BR.R1:(null===N||void 0===N?void 0:N.endpoint2.attachmentPointId)===BR.R1,W=Z&&n?n:B,E=Z?B:n,k=Z&&W&&d?new zF(W.x,d.y):d,t=new PV,a=[];l&&k&&a.push([l,k]),a.push([Q,W]),V&&E&&a.push([V,E]);var T=[];return a.forEach(function(U,Q){var B=(0,R.A)(U,2),V=B[0],n=B[1],l=new zl(F.addMonomerChangeModel.bind(F,V,n),F.deleteMonomerChangeModel.bind(F)),d=l.monomer;if(T.push(d),t.addOperation(l),Q>0){var N,Z,W=T[Q-1],E=F.findGroupTemplateConnection(J||[],W.monomerItem,d.monomerItem);if(E){var k=E.endpoint1.templateId===VV(W.monomerItem);N=k?E.endpoint1.attachmentPointId:E.endpoint2.attachmentPointId,Z=k?E.endpoint2.attachmentPointId:E.endpoint1.attachmentPointId}else N=W.getValidSourcePoint(d),Z=d.getValidSourcePoint(W);S()(N),S()(Z);var a=new mJ(function(U){return F.finishPolymerBondCreationModelChange(W,d,N,Z,fl.SINGLE,U)},F.deletePolymerBondChangeModel.bind(F));t.addOperation(a)}}),{command:t,monomers:T}}},{key:"rearrangeChainModelChange",value:function(U,F){if(sF(U)){var Q=F.sub(U.position);this.moveChemAtomsPoint(U,Q)}return U.moveAbsolute(F),U}},{key:"addRnaOperations",value:function(U,F,Q,B){if(B&&F&&Q){var R=new lJ(this.rearrangeChainModelChange.bind(this,B,VQ.canvasToModel(Q)),this.rearrangeChainModelChange.bind(this,B,F));U.addOperation(R)}}},{key:"recalculateCanvasMatrixModelChange",value:function(U,F){if(U&&0!==U.height){var Q=F||vn.fromMonomers(Array.from(this.monomers.values()));return F||Q.rearrange(),this.canvasMatrix=new iN(Q,{initialMatrix:U}),this.redrawBonds()}}},{key:"recalculateCanvasMatrix",value:function(U,F){var Q=new PV;return Q.addOperation(new bN(this.recalculateCanvasMatrixModelChange.bind(this,this.snakeLayoutMatrix,U),this.recalculateCanvasMatrixModelChange.bind(this,F,U))),Q}},{key:"calculateSnakeLayoutMatrix",value:function(U){var F=new rN,Q=new Map,V=U.monomerToNode;this.monomers.forEach(function(U){var F=Number(U.position.x.toFixed()),B=Number(U.position.y.toFixed());Q.has(B)||Q.set(B,new Map);var R=Q.get(B);null===R||void 0===R||R.set(F,U)});var n=(0,B.A)(Q.entries()).map(function(U){var F=(0,R.A)(U,2),Q=F[0],V=F[1];return[Q,(0,B.A)(V.entries())]});n.sort(function(U,F){return U[0]-F[0]}),n.forEach(function(U,F){var Q=(0,R.A)(U,2),B=Q[0],V=Q[1];V.sort(function(U,F){return Number(U[0])-Number(F[0])}),n[F]=[B,V]});var l={},d=new Set;return n.forEach(function(U){(0,R.A)(U,2)[1].forEach(function(U){var F=(0,R.A)(U,1)[0];d.add(F)})}),(0,B.A)(d).sort(function(U,F){return U-F}).forEach(function(U,F){l[U]=F}),n.forEach(function(U,Q){(0,R.A)(U,2)[1].forEach(function(U){var B=(0,R.A)(U,2),n=B[0],d=B[1];F.set(Number(Q),Number(l[n]),new MN(V.get(d),[],Number(Q),Number(l[n]),d))})}),F}},{key:"rearrangeSingleMonomerSnakeLayoutNode",value:function(U,F,Q){var B,R=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],V=new PV;return R&&this.addRnaOperations(V,U.monomer.position,F,U.monomer),Q.add(null===(B=U.monomer)||void 0===B?void 0:B.id),V}},{key:"rearrangeSugarWithBaseSnakeLayoutNode",value:function(U,F,Q){var B,R,V=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],n=arguments.length>4&&void 0!==arguments[4]&&arguments[4],l=new PV;V&&(this.addRnaOperations(l,U.sugar.position,F,U.sugar),this.addRnaOperations(l,null===(R=U.base)||void 0===R?void 0:R.position,new zF(F.x,F.y+(n?-1:1)*hU),U.base));return Q.add(U.sugar.id),Q.add(null===(B=U.base)||void 0===B?void 0:B.id),l}},{key:"applySnakeLayout",value:function(U){var F=this,Q=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],R=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],V=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],n=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];if(0===this.monomers.size)return new PV;var l,d=this.snakeLayoutMatrix,J=new PV;if(J.merge(this.recalculateAntisenseChains(V)),U){var N=KV(),Z=_F(),W=N.canvas.width.baseVal.value,S=hU/Z.macroModeScale,E=uU.editorLineLength["snake-layout-mode"],k=Math.floor((W-hU)/hU);0===E&&(uU.editorLineLength={"snake-layout-mode":k});var t=new Set,a=new zF({x:RZ,y:VZ});(l=vn.fromMonomers((0,B.A)(this.monomers.values()))).rearrange();var T,e,C=new fN(l,this,n),D=!1,o=!1,p=a;C.forEachChain(function(U){U.forEachRow(function(U){var Q=U.snakeLayoutModelItems[0];if(D&&IN(Q)){var B,V,n,l=null===(B=Q.senseNode)||void 0===B?void 0:B.monomers[0].attachmentPointsToBonds.R1;l instanceof kR&&(l.hasAntisenseInRow=!0);var d=null===(V=T)||void 0===V?void 0:V.monomers[0].attachmentPointsToBonds.R2,N=null===(n=e)||void 0===n?void 0:n.monomers[0].attachmentPointsToBonds.R1;d instanceof kR&&(d.nextRowPositionX=p.x),N instanceof kR&&(N.nextRowPositionX=p.x)}D=!1,o=!1,U.snakeLayoutModelItems.forEach(function(U){if(U instanceof wN){var Q=ml(U.molecule),B=zF.diff(VQ.canvasToModel(p),new zF(Q.left+S/4,Q.top+S/4));U.molecule.forEach(function(U){J.merge(F.createDrawingEntityMovingCommand(U,B))})}else if(IN(U)){var V=U.senseNode,n=U.antisenseNode;V&&(V instanceof uN?(J.merge(F.rearrangeSugarWithBaseSnakeLayoutNode(V,p,t,R)),o=!0):V instanceof xN&&J.merge(F.rearrangeSingleMonomerSnakeLayoutNode(V,p,t,R))),n&&(n instanceof uN?(J.merge(F.rearrangeSugarWithBaseSnakeLayoutNode(n,new zF(p.x,p.y+3*hU),t,R,!0)),o=!0):n instanceof xN&&J.merge(F.rearrangeSingleMonomerSnakeLayoutNode(n,new zF(p.x,p.y+3*hU),t,R)),D=!0),T=V||T,e=n||e}p=new zF((a=p).x+hU,a.y)}),p=new zF(RZ,a.y+(o||D?142:QZ)+(D?BZ:0))})});var h=this.calculateSnakeLayoutMatrix(l);this.snakeLayoutMatrix=h,J.merge(this.recalculateCanvasMatrix(l,d))}return Q&&J.merge(this.redrawBonds()),J}},{key:"redrawBondsModelChange",value:function(U,F,Q){return U instanceof dR?(U.moveToLinkedEntities(),U):(F&&Q?(U.moveBondStartAbsolute(F.x,F.y),U.moveBondEndAbsolute(Q.x,Q.y)):U.moveToLinkedEntities(),U)}},{key:"redrawBonds",value:function(){var U=this,F=new PV;return[].concat((0,B.A)(this.polymerBonds.values()),(0,B.A)(this.monomerToAtomBonds.values()),(0,B.A)(this.bonds.values())).forEach(function(Q){F.merge(U.createDrawingEntityRedrawCommand(U.redrawBondsModelChange.bind(U,Q),U.redrawBondsModelChange.bind(U,Q,Q.startPosition,Q.endPosition)))}),F}},{key:"isNucleosideAndPhosphateConnectedAsNucleotide",value:function(U,F){if(!(U instanceof Wn)||!(F instanceof IV))return!1;var Q=U.sugar.attachmentPointsToBonds.R2;return!(Q instanceof dR)&&(null===Q||void 0===Q?void 0:Q.secondMonomer)===F}},{key:"setMicromoleculesHiddenEntities",value:function(U){U.mergeInto(this.micromoleculesHiddenEntities),this.micromoleculesHiddenEntities.atoms=new eB,this.micromoleculesHiddenEntities.bonds=new eB,this.micromoleculesHiddenEntities.halfBonds=new eB,this.micromoleculesHiddenEntities.sgroups=new eB,this.micromoleculesHiddenEntities.functionalGroups=new eB,this.micromoleculesHiddenEntities.sGroupForest=new WB,this.micromoleculesHiddenEntities.frags=new eB,this.micromoleculesHiddenEntities.rxnArrows=new eB,this.micromoleculesHiddenEntities.rxnPluses=new eB,this.micromoleculesHiddenEntities.multitailArrows=new eB}},{key:"clearMicromoleculesHiddenEntities",value:function(){this.micromoleculesHiddenEntities=new xB}},{key:"mergeInto",value:function(F){var Q=new PV,R=new Map,V=new Map,n=new U,l=KV().viewModel;return this.monomers.forEach(function(U){var B=U instanceof Vn?F.addAmbiguousMonomer(FZ({},U.variantMonomerItem),U.position):F.addMonomer(U.monomerItem,U.position);Q.merge(B);var V=B.operations[0].monomer;n.monomers.set(V.id,V),R.set(U,B.operations[0].monomer)}),this.polymerBonds.forEach(function(U){S()(U.secondMonomer);var B=F.createPolymerBond(R.get(U.firstMonomer),R.get(U.secondMonomer),U.firstMonomer.getAttachmentPointByBond(U),U.secondMonomer.getAttachmentPointByBond(U),U instanceof RR?fl.HYDROGEN:fl.SINGLE);Q.merge(B);var V=B.operations[0].polymerBond;n.polymerBonds.set(V.id,V)}),this.atoms.forEach(function(U){var B=F.addAtom(U.position,R.get(U.monomer),U.atomIdInMicroMode,U.label,U.properties),l=B.operations[0].atom;Q.merge(B),n.atoms.set(l.id,l),V.set(U,l)}),this.bonds.forEach(function(U){var B=V.get(U.firstAtom),R=V.get(U.secondAtom);if(B&&R){var l=F.addBond(B,R,U.type,U.stereo,U.bondIdInMicroMode,U.cip),d=l.operations[0].bond;Q.merge(l),n.bonds.set(d.id,d)}}),l.initialize((0,B.A)(F.bonds.values())),this.monomerToAtomBonds.forEach(function(U){var B=F.addMonomerToAtomBond(R.get(U.monomer),V.get(U.atom),U.monomer.getAttachmentPointByBond(U)),l=B.operations[0].monomerToAtomBond;Q.merge(B),n.monomerToAtomBonds.set(l.id,l)}),this.rxnArrows.forEach(function(U){var B=F.addRxnArrow(U.type,U.startEndPosition,U.height,U.initiallySelected,U.arrowId),R=B.operations[0].rxnArrow;Q.merge(B),n.rxnArrows.set(R.id,R)}),this.multitailArrows.forEach(function(U){var B=F.addMultitailArrow(U.toKetNode(),U.arrowId),R=B.operations[0].multitailArrow;Q.merge(B),n.multitailArrows.set(R.id,R)}),this.rxnPluses.forEach(function(U){var B=F.addRxnPlus(U.position),R=B.operations[0].rxnPlus;Q.merge(B),n.rxnPluses.set(R.id,R)}),this.micromoleculesHiddenEntities.mergeInto(F.micromoleculesHiddenEntities),{command:Q,mergedDrawingEntities:n}}},{key:"filterSelection",value:function(){var F=new U;return this.selectedEntities.forEach(function(U){var Q=(0,R.A)(U,2)[1];if(Q instanceof cV)F.addMonomerChangeModel(Q.monomerItem,Q.position,Q);else if(Q instanceof un)F.addMonomerChangeModel(Q.monomer.monomerItem,Q.monomer.position,Q.monomer);else if(Q instanceof kR&&Q.secondMonomer){var B,V,n=Q.firstMonomer.getAttachmentPointByBond(Q),l=null===(B=Q.secondMonomer)||void 0===B?void 0:B.getAttachmentPointByBond(Q);n&&l&&Q.firstMonomer.selected&&null!==(V=Q.secondMonomer)&&void 0!==V&&V.selected&&F.finishPolymerBondCreationModelChange(Q.firstMonomer,Q.secondMonomer,n,l,void 0,Q)}else Q instanceof RR&&Q.secondMonomer?F.finishPolymerBondCreationModelChange(Q.firstMonomer,Q.secondMonomer,BR.HYDROGEN,BR.HYDROGEN,fl.HYDROGEN,Q):Q instanceof dR?F.addMonomerToAtomBondChangeModel(Q.monomer,Q.atom,Q.monomer.getAttachmentPointByBond(Q),Q):Q instanceof On?F.addBondChangeModel(Q.firstAtom,Q.secondAtom,Q.type,Q.stereo,Q.bondIdInMicroMode,Q,Q.cip):Q instanceof SJ?F.addRxnArrowModelChange(Q.type,Q.startEndPosition,Q.height,Q.initiallySelected,void 0,Q):Q instanceof kJ?F.addMultitailArrowArrowModelChange(Q.toKetNode(),void 0,Q):Q instanceof aJ&&F.addRxnPlusModelChange(Q.position,Q.initiallySelected,Q)}),F}},{key:"centerMacroStructure",value:function(){var U=this,F=VQ.canvasToModel(this.getCurrentCenterPointOfCanvas()),Q=this.getMacroStructureCenter(),B=zF.diff(F,Q);this.allEntities.forEach(function(F){var Q=(0,R.A)(F,2)[1];U.moveDrawingEntityModelChange(Q,B)})}},{key:"getCurrentCenterPointOfCanvas",value:function(){var U=KV(),F=new zF(U.canvasOffset.width/2,U.canvasOffset.height/2);return VQ.viewToCanvas(F)}},{key:"getMacroStructureCenter",value:function(){var U=1e50,F=U,Q=-U,B=-F;return this.monomers.forEach(function(R){U=Math.min(U,R.position.x),F=Math.min(F,R.position.y),Q=Math.max(Q,R.position.x),B=Math.max(B,R.position.y)}),this.polymerBonds.forEach(function(R){U=Math.min(U,R.position.x),F=Math.min(F,R.position.y),Q=Math.max(Q,R.position.x),B=Math.max(B,R.position.y)}),new zF((U+Q)/2,(F+B)/2)}},{key:"rerenderMolecules",value:function(){var U=KV();this.atoms.forEach(function(F){U.renderersContainer.deleteAtom(F),U.renderersContainer.addAtom(F)}),this.bonds.forEach(function(F){U.renderersContainer.deleteBond(F),U.renderersContainer.addBond(F)}),this.rxnArrows.forEach(function(F){U.renderersContainer.deleteRxnArrow(F),U.renderersContainer.addRxnArrow(F)}),this.multitailArrows.forEach(function(F){U.renderersContainer.deleteMultitailArrow(F),U.renderersContainer.addMultitailArrow(F)}),this.rxnPluses.forEach(function(F){U.renderersContainer.deleteRxnPlus(F),U.renderersContainer.addRxnPlus(F)})}},{key:"applyMonomersSequenceLayout",value:function(){var U=vn.fromMonomers((0,B.A)(this.monomers.values()));return U.rearrange(),this.rerenderMolecules(),cN.show(U),U}},{key:"clearCanvas",value:function(){var U=KV();this.monomers.forEach(function(F){U.renderersContainer.deleteMonomer(F)}),this.polymerBonds.forEach(function(F){U.renderersContainer.deletePolymerBond(F)}),this.monomerToAtomBonds.forEach(function(F){U.renderersContainer.deleteMonomerToAtomBond(F)}),this.atoms.forEach(function(F){U.renderersContainer.deleteAtom(F)}),this.bonds.forEach(function(F){U.renderersContainer.deleteBond(F)}),this.rxnArrows.forEach(function(F){U.renderersContainer.deleteRxnArrow(F)}),this.multitailArrows.forEach(function(F){U.renderersContainer.deleteMultitailArrow(F)}),this.rxnPluses.forEach(function(F){U.renderersContainer.deleteRxnPlus(F)}),cN.clear()}},{key:"applyFlexLayoutMode",value:function(){var U=arguments.length>0&&void 0!==arguments[0]&&arguments[0],F=KV(),Q=new PV;return U&&Q.merge(this.redrawBonds()),this.detectBondsOverlappedByMonomers(),this.monomers.forEach(function(U){F.renderersContainer.deleteMonomer(U),F.renderersContainer.addMonomer(U)}),this.polymerBonds.forEach(function(U){F.renderersContainer.deletePolymerBond(U),F.renderersContainer.addPolymerBond(U)}),this.rerenderMolecules(),this.monomerToAtomBonds.forEach(function(U){F.renderersContainer.deleteMonomerToAtomBond(U),F.renderersContainer.addMonomerToAtomBond(U)}),Q}},{key:"rerenderBondsOverlappedByMonomers",value:function(){var U=this,F=KV();if("sequence-layout-mode"!==F.mode.modeName){var Q=this.selectedEntities.filter(function(U){return(0,R.A)(U,2)[1]instanceof cV}).map(function(U){return(0,R.A)(U,2)[1]});this.polymerBondsArray.filter(function(U){return Q.some(function(F){return U.firstMonomer!==F&&U.secondMonomer!==F})}).forEach(function(B){var R=B.isOverlappedByMonomer;B.isOverlappedByMonomer=U.checkBondForOverlapsByMonomers(B,Q),B.isOverlappedByMonomer!==R&&(F.renderersContainer.deletePolymerBond(B,!1,!1),F.renderersContainer.addPolymerBond(B,!1))})}}},{key:"getAllSelectedEntitiesForEntities",value:function(U){var F=new PV,Q=KV();Q.events.selectEntities.dispatch(U),U.forEach(function(U){return U.turnOnSelection()});var B=U.reduce(function(U,B){var R=Q.drawingEntitiesManager.getAllSelectedEntitiesForSingleEntity(B,!0,U);return R.drawingEntities.forEach(function(U){return F.addOperation(new eJ(U))}),U.concat(R.drawingEntities)},[]);return{command:F,drawingEntities:B}}},{key:"getAllSelectedEntitiesForSingleEntity",value:function(U){var F=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Q=arguments.length>2?arguments[2]:void 0,B=new PV;B.addOperation(new eJ(U)),U.turnOnSelection();var R=[U];if("sequence-layout-mode"!==KV().mode.modeName||U instanceof kR)return{command:B,drawingEntities:R};if(U instanceof HV&&U.isPartOfRNA){var V=U;if(yR(V)){var n=Wn.fromSugar(V);R=n.monomers}else if(YR(V)){var l=Sn.fromSugar(V);R=l.monomers}R.forEach(function(U){U instanceof HV||(U.turnOnSelection(),B.addOperation(new eJ(U)))})}return R.forEach(function(U){var V=U;F&&V.hasBonds&&V.forEachBond(function(U){var F;(null===Q||void 0===Q||!Q.includes(U))&&!R.includes(U)&&U instanceof kR&&null!==(F=U.getAnotherMonomer(V))&&void 0!==F&&F.selected&&(R.push(U),U.turnOnSelection(),B.addOperation(new eJ(U)))})}),{command:B,drawingEntities:R}}},{key:"validateIfApplicableForFasta",value:function(){if(0===this.monomers.size&&this.micromoleculesHiddenEntities.atoms.size>0)return!1;var U=new Set,F=!0;return this.monomers.forEach(function(Q){var B=Q.monomerItem.props.MonomerType;Q instanceof Vn&&(B=Q.monomerClass===WU.CHEM?eU.CHEM:Q.monomers[0].monomerItem.props.MonomerType),U.add(B),(B===eU.CHEM||U.size>1)&&(F=!1)}),F}},{key:"moveMonomer",value:function(U,F){var Q=U.position,B=new PV,R=new lJ(this.rearrangeChainModelChange.bind(this,U,F),this.rearrangeChainModelChange.bind(this,U,Q));return B.addOperation(R),B}},{key:"removeHoverForAllMonomers",value:function(){var U=new PV;return this.monomers.forEach(function(F){F.hovered&&(F.turnOffHover(),F.turnOffAttachmentPointsVisibility(),U.addOperation(new VJ(F,!0)))}),U}},{key:"reconnectPolymerBondModelChange",value:function(U,F){var Q,B,R=F.newFirstMonomerAttachmentPoint,V=F.newSecondMonomerAttachmentPoint,n=F.initialFirstMonomerAttachmentPoint,l=F.initialSecondMonomerAttachmentPoint;return U.firstMonomer.unsetBond(n),null===(Q=U.secondMonomer)||void 0===Q||Q.unsetBond(l),U.firstMonomer.setBond(R,U),null===(B=U.secondMonomer)||void 0===B||B.setBond(V,U),U}},{key:"reconnectPolymerBond",value:function(U,F,Q,B,R){var V=new PV;return V.addOperation(new iJ(this.reconnectPolymerBondModelChange.bind(this,U,{newFirstMonomerAttachmentPoint:F,newSecondMonomerAttachmentPoint:Q,initialFirstMonomerAttachmentPoint:B,initialSecondMonomerAttachmentPoint:R}),this.reconnectPolymerBondModelChange.bind(this,U,{newFirstMonomerAttachmentPoint:B,newSecondMonomerAttachmentPoint:R,initialFirstMonomerAttachmentPoint:F,initialSecondMonomerAttachmentPoint:Q}))),V}},{key:"addAmbiguousMonomerChangeModel",value:function(U,F,Q){if(Q)return this.monomers.set(Q.id,Q),Q;var B=new Vn(U,F);return this.monomers.set(B.id,B),B}},{key:"addAmbiguousMonomer",value:function(U,F){var Q=new PV,B=new zl(this.addAmbiguousMonomerChangeModel.bind(this,U,F),this.deleteMonomerChangeModel.bind(this));return Q.addOperation(B),Q}},{key:"addAtomChangeModel",value:function(U,F,Q,B,R,V){if(V)return this.atoms.set(V.id,V),V;var n=new un(U,F,Q,B,R);return this.atoms.set(n.id,n),n}},{key:"addAtom",value:function(U,F,Q,B,R){var V=this,n=new PV,l=new sN(function(n){return V.addAtomChangeModel(U,F,Q,B,R,n)},this.deleteAtomChangeModel.bind(this));return n.addOperation(l),n}},{key:"deleteAtomChangeModel",value:function(U){return this.atoms.delete(U.id),U}},{key:"deleteAtom",value:function(U){var F=this,Q=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],B=new PV;return B.addOperation(new XN(U,this.deleteAtomChangeModel.bind(this,U),function(){return F.addAtomChangeModel(U.position,U.monomer,U.atomIdInMicroMode,U.label,U.properties,U)})),Q&&(U.bonds.forEach(function(U){U.selected||U instanceof On&&B.merge(F.deleteBond(U))}),this.monomerToAtomBonds.forEach(function(Q){Q.atom!==U||Q.selected||B.merge(F.deleteMonomerToAtomBond(Q))})),B}},{key:"addBondChangeModel",value:function(U,F,Q,B,R,V,n){if(V)return this.bonds.set(V.id,V),V;var l=new On(U,F,R,Q,B,n);return this.bonds.set(l.id,l),U.addBond(l),F.addBond(l),l}},{key:"addBond",value:function(U,F,Q,B,R,V){var n=this,l=new PV,d=new zN(function(l){return n.addBondChangeModel(U,F,Q,B,R,l,V)},function(U){return n.deleteBondChangeModel(U)});return l.addOperation(d),l}},{key:"deleteBondChangeModel",value:function(U){return this.bonds.delete(U.id),[U.firstAtom,U.secondAtom].forEach(function(F){F.deleteBond(U.id)}),U}},{key:"deleteBond",value:function(U){var F=this,Q=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],B=new PV;return B.addOperation(new ON(U,this.deleteBondChangeModel.bind(this,U),function(U){return F.addBondChangeModel(U.firstAtom,U.secondAtom,U.type,U.stereo,U.bondIdInMicroMode,U)})),[U.firstAtom,U.secondAtom].forEach(function(R){R.deleteBond(U.id),Q&&R.bonds.every(function(U){return U instanceof dR})&&F.monomerToAtomBonds.forEach(function(U){U.atom!==R||U.selected||B.merge(F.deleteAtom(R,!0))})}),B}},{key:"addMonomerToAtomBondChangeModel",value:function(U,F,Q,B){if(B)return this.monomerToAtomBonds.set(B.id,B),U.setBond(Q,B),F.addBond(B),B;var R=new dR(U,F);return F.addBond(R),this.monomerToAtomBonds.set(R.id,R),R.moveToLinkedEntities(),U.setBond(Q,R),U.turnOffAttachmentPointsVisibility(),U.turnOffHover(),R}},{key:"deleteMonomerToAtomBondChangeModel",value:function(U){var F=U.monomer.getAttachmentPointByBond(U);return F&&U.monomer.unsetBond(F),this.monomerToAtomBonds.delete(U.id),U.atom.deleteBond(U.id),U}},{key:"deleteMonomerToAtomBond",value:function(U){var F=new PV;return F.addOperation(new HN(U,this.deleteMonomerToAtomBondChangeModel.bind(this,U),this.addMonomerToAtomBondChangeModel.bind(this,U.monomer,U.atom,U.monomer.getAttachmentPointByBond(U)))),F}},{key:"addMonomerToAtomBond",value:function(U,F,Q){var B=new PV,R=new LN(this.addMonomerToAtomBondChangeModel.bind(this,U,F,Q),this.deleteMonomerToAtomBondChangeModel.bind(this));return B.addOperation(R),B}},{key:"markMonomerAsAntisense",value:function(U){var F=new PV;return F.merge(this.modifyMonomerItem(U,FZ(FZ({},U.monomerItem),{},{isSense:!1,isAntisense:!0}))),F}},{key:"markMonomerAsSense",value:function(U){var F=new PV;return F.merge(this.modifyMonomerItem(U,FZ(FZ({},U.monomerItem),{},{isSense:!0,isAntisense:!1}))),F}},{key:"recalculateAntisenseChains",value:function(){var U=this,F=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],Q=new PV,V=vn.fromMonomers((0,B.A)(this.monomers.values())),n=new Set;return F&&(this.monomers.forEach(function(F){Q.merge(U.modifyMonomerItem(F,FZ(FZ({},F.monomerItem),{},{isAntisense:!1,isSense:!1})))}),this.antisenseMonomerToSenseChain=new Map),V.chains.forEach(function(l){if(!n.has(l)){if(!F){var d=l.monomers.some(function(U){return U.monomerItem.isAntisense});if(l.monomers.some(function(U){return U.monomerItem.isSense}))return void l.monomers.forEach(function(F){Q.merge(U.markMonomerAsSense(F))});if(d)return void l.monomers.forEach(function(F){Q.merge(U.markMonomerAsAntisense(F))})}var J,N=V.getAllChainsWithConnectionInBlock(l),Z=new Map;N.forEach(function(U){Z.set(U,U.chain.monomers)});var W=Math.max.apply(Math,(0,B.A)((0,B.A)(Z.values()).map(function(U){return U.length}))),S=(0,B.A)(Z.entries()).filter(function(U){return(0,R.A)(U,2)[1].length===W});if(1===S.length)J=S[0][0];else{var E=new Map,k=new Map;S.forEach(function(U){var F=(0,R.A)(U,1)[0],Q=V.getComplimentaryChainsWithData(F.chain);k.set(F,Q.length)}),S.forEach(function(U){var F=(0,R.A)(U,2),Q=F[0],B=ml(F[1]);E.set(Q,new zF(B.left+B.width/2,B.top+B.height/2))});var t=(0,B.A)(E.entries()),a=t.reduce(function(U,F){var Q=(0,R.A)(U,2),B=Q[0],V=Q[1],n=(0,R.A)(F,2),l=n[0],d=n[1];return d.yV?[l,d]:[B,V]},T[0]);J=1===k.size?e[0]:a[0]}var C=J.group;N.forEach(function(F){var B=F.chain,R=F.group;n.add(B),R===C?B.monomers.forEach(function(F){Q.merge(U.markMonomerAsSense(F))}):B.monomers.forEach(function(F){Q.merge(U.markMonomerAsAntisense(F)),U.antisenseMonomerToSenseChain.set(F,J.chain)})})}}),Q}},{key:"hasAntisenseChains",get:function(){return(0,B.A)(this.monomers.values()).some(function(U){return U.monomerItem.isAntisense})}},{key:"createAntisenseChain",value:function(F){var Q,V,n=this,l=KV(),d=new PV,J=this.selectedEntities.filter(function(U){return(0,R.A)(U,2)[1]instanceof cV}).map(function(U){return(0,R.A)(U,2)[1]}),N=vn.fromMonomers(J).chains.filter(function(Q){return Q.subChains.some(function(Q){return Q.nodes.some(function(Q){return(Q instanceof Sn||Q instanceof Wn)&&Boolean(U.getAntisenseBaseLabel(Q.rnaBase,F))&&Q.monomer.selected})})}),Z=[];return N.forEach(function(U){var F=[],Q=!1;U.nodes.forEach(function(U){U.monomers.some(function(U){return U.selected})?F.push(U):(Q&&Z.push(F),F=[],Q=!1),(U instanceof Wn||U instanceof Sn)&&(Q=!0)}),Q&&Z.push(F),F=[],Q=!1}),Z.forEach(function(R){(0,B.A)(R).reverse().forEach(function(R){var J=R instanceof Sn&&R.phosphate.selected&&!R.monomer.selected?new tn(R.phosphate):R;if(!J.monomer.selected)return V=void 0,void(Q=void 0);if(J instanceof Sn||J instanceof Wn){var N=U.createAntisenseNode(J,F,!1);if(!N)return;var Z,W=N.modelChanges,S=N.node;if(d.merge(W),J instanceof Sn&&J.phosphate.selected){var E=nn(l,I.PHOSPHATE);if(!E)return void GU.warn("Phosphate is not found in monomers library. Skipping phosphate addition.");var k=n.addMonomer(E,J.phosphate.position.add(new zF(0,3)));Z=k.operations[0].monomer,d.merge(k),d.merge(n.createPolymerBond(Z,S.firstMonomerInNode,BR.R2,BR.R1))}Q&&d.merge(n.createPolymerBond(V||Q.lastMonomerInNode,Z||S.firstMonomerInNode,BR.R2,BR.R1)),d.merge(n.createPolymerBond(J.rnaBase,S.rnaBase,BR.HYDROGEN,BR.HYDROGEN,fl.HYDROGEN)),V=void 0,Q=S}else{var t;V=V||(null===(t=Q)||void 0===t?void 0:t.lastMonomerInNode),(0,B.A)(J.monomers).reverse().forEach(function(U){if(!U.selected)return V=void 0,void(Q=void 0);if(U.hasAttachmentPoint(BR.R2))if(!V||V.hasAttachmentPoint(BR.R1)){var F=U instanceof IV&&U.isModification,B=U instanceof Vn,R=U.monomerItem;if(F||B){var N=nn(l,I.PHOSPHATE);N?R=N:B&&(R=U.variantMonomerItem)}var Z=n.addMonomer(R,U.position.add(new zF(0,4.25))),W=Z.operations[0].monomer;d.merge(Z),V&&d.merge(n.createPolymerBond(V,W,BR.R2,BR.R1)),Q=J,V=W}else l.events.error.dispatch("Monomer ".concat(V.label," does not have attachment point R1. Antisense was not created for this monomer."));else l.events.error.dispatch("Monomer ".concat(U.label," does not have attachment point R2. Antisense was not created for this monomer."))})}}),Q=void 0,V=void 0}),d.merge(this.applySnakeLayout(!0,!0)),"sequence-layout-mode"===l.mode.modeName&&d.addOperation(new ZN),d.setUndoOperationsByPriority(),d}},{key:"monomersArray",get:function(){return(0,B.A)(this.monomers.values())}},{key:"polymerBondsArray",get:function(){return(0,B.A)(this.polymerBonds.values())}},{key:"molecules",get:function(){return this.monomersArray.filter(function(U){return U.monomerItem.props.isMicromoleculeFragment&&!sF(U)})}},{key:"checkBondForOverlapsByMonomers",value:function(U,F){var Q=KV();if(!Q||"sequence-layout-mode"===Q.mode.modeName)return!1;var R=U.secondMonomer;if(!R)return!1;if(!U.isHorizontal&&!U.isVertical)return!1;var V=null!==F&&void 0!==F?F:this.monomersArray;if(V.length>500)return!1;var n=this.bondsMonomersOverlaps.get(U.id),l=(n?[n].concat((0,B.A)(V)):V).find(function(F){return F.id!==U.firstMonomer.id&&F.id!==R.id&&F.center.calculateDistanceToLine([U.firstMonomer.center,R.center])0;){var V=Q.shift();V&&!R.has(V.id)&&(F(V),R.add(V.id),V instanceof cV?Q.push.apply(Q,(0,B.A)(V.hydrogenBonds).concat((0,B.A)(V.bonds))):V instanceof RR?Q.push.apply(Q,[V.firstEndEntity].concat((0,B.A)(V.secondEndEntity?[V.secondEndEntity]:[]))):V instanceof kR?(Q.push(V.firstMonomer),V.secondMonomer&&Q.push(V.secondMonomer)):V instanceof dR?Q.push(V.monomer,V.atom):V instanceof On?Q.push(V.firstAtom,V.secondAtom):V instanceof un&&Q.push.apply(Q,(0,B.A)(V.bonds)))}}},{key:"getConnectedMolecule",value:function(U){for(var F=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[un,On],Q=[],R=[U],V=new Set;R.length>0;){var n=R.shift();n&&!V.has(n.id)&&(V.add(n.id),n instanceof On?(R.push(n.firstAtom,n.secondAtom),F.includes(On)&&Q.push(n)):n instanceof un&&(R.push.apply(R,(0,B.A)(n.bonds)),F.includes(un)&&Q.push(n)))}return Q}},{key:"createRotationHistoryCommand",value:function(U){var F=this,Q=new PV,R=new zF(0,0);return[].concat((0,B.A)(this.atoms.values()),(0,B.A)(this.monomers.values()),(0,B.A)(this.rxnArrows.values()),(0,B.A)(this.multitailArrows.values()),(0,B.A)(this.rxnPluses.values())).forEach(function(B){if((!(B instanceof cV&&B.monomerItem.props.isMicromoleculeFragment)||sF(B))&&B.selected){var V=U.get(B.id);if(V){var n=B.position.sub(V);0!==n.length()&&Q.merge(F.createDrawingEntityMovingCommand(B,R,n))}}}),this.polymerBonds.forEach(function(U){var B;(U.selected||U.firstMonomer.selected||null!==(B=U.secondMonomer)&&void 0!==B&&B.selected)&&Q.merge(F.createDrawingEntityMovingCommand(U,R,R))}),this.monomerToAtomBonds.forEach(function(U){(U.selected||U.monomer.selected||U.atom.selected)&&Q.merge(F.createDrawingEntityMovingCommand(U,R,R))}),this.bonds.forEach(function(U){(U.selected||U.firstAtom.selected||U.secondAtom.selected)&&Q.merge(F.createDrawingEntityMovingCommand(U,R,R))}),Q}}],[{key:"normalizeInitiallySelected",value:function(U){return"boolean"===typeof U?U:void 0}},{key:"antisenseChainBasesMap",value:function(U){var F,Q=(F={},(0,Z.A)((0,Z.A)((0,Z.A)((0,Z.A)((0,Z.A)((0,Z.A)((0,Z.A)((0,Z.A)((0,Z.A)((0,Z.A)(F,K.ADENINE,K.URACIL),K.CYTOSINE,K.GUANINE),K.GUANINE,K.CYTOSINE),K.THYMINE,K.ADENINE),K.URACIL,K.ADENINE),g.N,g.N),g.B,g.V),g.D,g.H),g.H,g.D),g.K,g.M),(0,Z.A)((0,Z.A)((0,Z.A)((0,Z.A)((0,Z.A)((0,Z.A)(F,g.W,g.W),g.Y,g.R),g.M,g.K),g.R,g.Y),g.S,g.S),g.V,g.B));return U&&(Q[K.ADENINE]=K.THYMINE),Q}},{key:"getAntisenseBaseLabel",value:function(F,Q){var B;return B="string"===typeof F?F:F instanceof Vn?F.monomerItem.label:F.monomerItem.props.MonomerNaturalAnalogCode,U.antisenseChainBasesMap(Q)[B]}},{key:"createAntisenseNode",value:function(F,Q){var B=arguments.length>2&&void 0!==arguments[2]&&arguments[2],R=U.getAntisenseBaseLabel(F.rnaBase,Q);if(R){var V=Q?I.SUGAR_DNA:I.SUGAR_RNA;return(B?Sn:Wn).createOnCanvas(R,F.monomer.position.add(new zF(0,3)),V)}}}]),U}();var lZ,dZ,JZ=(function(U,F){function Q(U){const F=U.length;let Q,B=0,R=0;for(;R=55296&&Q<=56319&&R1&&void 0!==arguments[1]?arguments[1]:{},Q=F.instancePath,B=void 0===Q?"":Q;F.parentData,F.parentDataProperty,F.rootData;var R=null,V=0;if(U&&"object"==(0,a.A)(U)&&!Array.isArray(U)){if(void 0===U.text){var n={instancePath:B,schemaPath:"#/required",keyword:"required",params:{missingProperty:"text"},message:"must have required property 'text'"};null===R?R=[n]:R.push(n),V++}if(void 0!==U.text&&"string"!==typeof U.text){var l={instancePath:B+"/text",schemaPath:"#/properties/text/type",keyword:"type",params:{type:"string"},message:"must be string"};null===R?R=[l]:R.push(l),V++}if(void 0!==U.font){var d=U.font;if(d&&"object"==(0,a.A)(d)&&!Array.isArray(d)){if(void 0!==d.family&&"string"!==typeof d.family){var J={instancePath:B+"/font/family",schemaPath:"#/definitions/textFont/properties/family/type",keyword:"type",params:{type:"string"},message:"must be string"};null===R?R=[J]:R.push(J),V++}if(void 0!==d.size){var N=d.size;if("number"!=typeof N||N%1||isNaN(N)){var Z={instancePath:B+"/font/size",schemaPath:"#/definitions/textFont/properties/size/type",keyword:"type",params:{type:"integer"},message:"must be integer"};null===R?R=[Z]:R.push(Z),V++}}if(void 0!==d.color){var W=d.color;if("string"===typeof W){if(!CZ.test(W)){var S={instancePath:B+"/font/color",schemaPath:"#/definitions/textFont/properties/color/pattern",keyword:"pattern",params:{pattern:"^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$"},message:'must match pattern "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$"'};null===R?R=[S]:R.push(S),V++}}else{var E={instancePath:B+"/font/color",schemaPath:"#/definitions/textFont/properties/color/type",keyword:"type",params:{type:"string"},message:"must be string"};null===R?R=[E]:R.push(E),V++}}if(void 0!==d.bold&&"boolean"!==typeof d.bold){var k={instancePath:B+"/font/bold",schemaPath:"#/definitions/textFont/properties/bold/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===R?R=[k]:R.push(k),V++}if(void 0!==d.italic&&"boolean"!==typeof d.italic){var t={instancePath:B+"/font/italic",schemaPath:"#/definitions/textFont/properties/italic/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===R?R=[t]:R.push(t),V++}if(void 0!==d.subscript&&"boolean"!==typeof d.subscript){var T={instancePath:B+"/font/subscript",schemaPath:"#/definitions/textFont/properties/subscript/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===R?R=[T]:R.push(T),V++}if(void 0!==d.superscript&&"boolean"!==typeof d.superscript){var e={instancePath:B+"/font/superscript",schemaPath:"#/definitions/textFont/properties/superscript/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===R?R=[e]:R.push(e),V++}}else{var C={instancePath:B+"/font",schemaPath:"#/definitions/textFont/type",keyword:"type",params:{type:"object"},message:"must be object"};null===R?R=[C]:R.push(C),V++}}if(void 0!==U.color&&"string"!==typeof U.color){var D={instancePath:B+"/color",schemaPath:"#/properties/color/type",keyword:"type",params:{type:"string"},message:"must be string"};null===R?R=[D]:R.push(D),V++}if(void 0!==U.bold&&"boolean"!==typeof U.bold){var o={instancePath:B+"/bold",schemaPath:"#/properties/bold/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===R?R=[o]:R.push(o),V++}if(void 0!==U.italic&&"boolean"!==typeof U.italic){var p={instancePath:B+"/italic",schemaPath:"#/properties/italic/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===R?R=[p]:R.push(p),V++}if(void 0!==U.subscript&&"boolean"!==typeof U.subscript){var h={instancePath:B+"/subscript",schemaPath:"#/properties/subscript/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===R?R=[h]:R.push(h),V++}if(void 0!==U.superscript&&"boolean"!==typeof U.superscript){var c={instancePath:B+"/superscript",schemaPath:"#/properties/superscript/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===R?R=[c]:R.push(c),V++}}else{var r={instancePath:B,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};null===R?R=[r]:R.push(r),V++}return DZ.errors=R,0===V}function oZ(U){var F=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},Q=F.instancePath,B=void 0===Q?"":Q;F.parentData,F.parentDataProperty;var R=F.rootData,V=void 0===R?U:R,n=null,l=0;if(U&&"object"==(0,a.A)(U)&&!Array.isArray(U)){if(void 0===U.parts){var d={instancePath:B,schemaPath:"#/required",keyword:"required",params:{missingProperty:"parts"},message:"must have required property 'parts'"};null===n?n=[d]:n.push(d),l++}if(void 0!==U.alignment){var J=U.alignment;if("string"!==typeof J){var N={instancePath:B+"/alignment",schemaPath:"#/properties/alignment/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[N]:n.push(N),l++}if("left"!==J&&"center"!==J&&"right"!==J){var Z={instancePath:B+"/alignment",schemaPath:"#/properties/alignment/enum",keyword:"enum",params:{allowedValues:eZ.properties.alignment.enum},message:"must be equal to one of the allowed values"};null===n?n=[Z]:n.push(Z),l++}}if(void 0!==U.indent){var W=U.indent,S=l,E=!1,k=null,t=l;if("number"!=typeof W){var T={instancePath:B+"/indent",schemaPath:"#/definitions/textIndent/oneOf/0/type",keyword:"type",params:{type:"number"},message:"must be number"};null===n?n=[T]:n.push(T),l++}(e=t===l)&&(E=!0,k=0);var e,C=l;if(W&&"object"==(0,a.A)(W)&&!Array.isArray(W)){if(void 0!==W.first_line&&"number"!=typeof W.first_line){var D={instancePath:B+"/indent/first_line",schemaPath:"#/definitions/textIndent/oneOf/1/properties/first_line/type",keyword:"type",params:{type:"number"},message:"must be number"};null===n?n=[D]:n.push(D),l++}if(void 0!==W.left&&"number"!=typeof W.left){var o={instancePath:B+"/indent/left",schemaPath:"#/definitions/textIndent/oneOf/1/properties/left/type",keyword:"type",params:{type:"number"},message:"must be number"};null===n?n=[o]:n.push(o),l++}if(void 0!==W.right&&"number"!=typeof W.right){var p={instancePath:B+"/indent/right",schemaPath:"#/definitions/textIndent/oneOf/1/properties/right/type",keyword:"type",params:{type:"number"},message:"must be number"};null===n?n=[p]:n.push(p),l++}}else{var h={instancePath:B+"/indent",schemaPath:"#/definitions/textIndent/oneOf/1/type",keyword:"type",params:{type:"object"},message:"must be object"};null===n?n=[h]:n.push(h),l++}if((e=C===l)&&E?(E=!1,k=[k,1]):e&&(E=!0,k=1),E)l=S,null!==n&&(S?n.length=S:n=null);else{var c={instancePath:B+"/indent",schemaPath:"#/definitions/textIndent/oneOf",keyword:"oneOf",params:{passingSchemas:k},message:"must match exactly one schema in oneOf"};null===n?n=[c]:n.push(c),l++}}if(void 0!==U.font){var r=U.font;if(r&&"object"==(0,a.A)(r)&&!Array.isArray(r)){if(void 0!==r.family&&"string"!==typeof r.family){var m={instancePath:B+"/font/family",schemaPath:"#/definitions/textFont/properties/family/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[m]:n.push(m),l++}if(void 0!==r.size){var M=r.size;if("number"!=typeof M||M%1||isNaN(M)){var i={instancePath:B+"/font/size",schemaPath:"#/definitions/textFont/properties/size/type",keyword:"type",params:{type:"integer"},message:"must be integer"};null===n?n=[i]:n.push(i),l++}}if(void 0!==r.color){var b=r.color;if("string"===typeof b){if(!CZ.test(b)){var v={instancePath:B+"/font/color",schemaPath:"#/definitions/textFont/properties/color/pattern",keyword:"pattern",params:{pattern:"^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$"},message:'must match pattern "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$"'};null===n?n=[v]:n.push(v),l++}}else{var G={instancePath:B+"/font/color",schemaPath:"#/definitions/textFont/properties/color/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[G]:n.push(G),l++}}if(void 0!==r.bold&&"boolean"!==typeof r.bold){var s={instancePath:B+"/font/bold",schemaPath:"#/definitions/textFont/properties/bold/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===n?n=[s]:n.push(s),l++}if(void 0!==r.italic&&"boolean"!==typeof r.italic){var X={instancePath:B+"/font/italic",schemaPath:"#/definitions/textFont/properties/italic/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===n?n=[X]:n.push(X),l++}if(void 0!==r.subscript&&"boolean"!==typeof r.subscript){var Y={instancePath:B+"/font/subscript",schemaPath:"#/definitions/textFont/properties/subscript/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===n?n=[Y]:n.push(Y),l++}if(void 0!==r.superscript&&"boolean"!==typeof r.superscript){var y={instancePath:B+"/font/superscript",schemaPath:"#/definitions/textFont/properties/superscript/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===n?n=[y]:n.push(y),l++}}else{var z={instancePath:B+"/font",schemaPath:"#/definitions/textFont/type",keyword:"type",params:{type:"object"},message:"must be object"};null===n?n=[z]:n.push(z),l++}}if(void 0!==U.color&&"string"!==typeof U.color){var O={instancePath:B+"/color",schemaPath:"#/properties/color/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[O]:n.push(O),l++}if(void 0!==U.bold&&"boolean"!==typeof U.bold){var L={instancePath:B+"/bold",schemaPath:"#/properties/bold/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===n?n=[L]:n.push(L),l++}if(void 0!==U.italic&&"boolean"!==typeof U.italic){var H={instancePath:B+"/italic",schemaPath:"#/properties/italic/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===n?n=[H]:n.push(H),l++}if(void 0!==U.subscript&&"boolean"!==typeof U.subscript){var x={instancePath:B+"/subscript",schemaPath:"#/properties/subscript/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===n?n=[x]:n.push(x),l++}if(void 0!==U.superscript&&"boolean"!==typeof U.superscript){var u={instancePath:B+"/superscript",schemaPath:"#/properties/superscript/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===n?n=[u]:n.push(u),l++}if(void 0!==U.parts){var w=U.parts;if(Array.isArray(w))for(var j=w.length,I=0;I1&&void 0!==arguments[1]?arguments[1]:{},Q=F.instancePath,B=void 0===Q?"":Q;F.parentData,F.parentDataProperty;var R=F.rootData,V=void 0===R?U:R,n=null,l=0,d=l,J=!1,N=null,Z=l;if(U&&"object"==(0,a.A)(U)&&!Array.isArray(U)){if(void 0===U.data){var W={instancePath:B,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty:"data"},message:"must have required property 'data'"};null===n?n=[W]:n.push(W),l++}if(void 0!==U.data){var S=U.data;if(S&&"object"==(0,a.A)(S)&&!Array.isArray(S)){if(void 0===S.content){var E={instancePath:B+"/data",schemaPath:"#/oneOf/0/properties/data/required",keyword:"required",params:{missingProperty:"content"},message:"must have required property 'content'"};null===n?n=[E]:n.push(E),l++}if(void 0!==S.content&&"string"!==typeof S.content){var k={instancePath:B+"/data/content",schemaPath:"#/oneOf/0/properties/data/properties/content/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[k]:n.push(k),l++}if(void 0!==S.position){var t=S.position;if(t&&"object"==(0,a.A)(t)&&!Array.isArray(t)){if(void 0!==t.x&&"number"!=typeof t.x){var T={instancePath:B+"/data/position/x",schemaPath:"#/oneOf/0/properties/data/properties/position/properties/x/type",keyword:"type",params:{type:"number"},message:"must be number"};null===n?n=[T]:n.push(T),l++}if(void 0!==t.y&&"number"!=typeof t.y){var e={instancePath:B+"/data/position/y",schemaPath:"#/oneOf/0/properties/data/properties/position/properties/y/type",keyword:"type",params:{type:"number"},message:"must be number"};null===n?n=[e]:n.push(e),l++}if(void 0!==t.z&&"number"!=typeof t.z){var C={instancePath:B+"/data/position/z",schemaPath:"#/oneOf/0/properties/data/properties/position/properties/z/type",keyword:"type",params:{type:"number"},message:"must be number"};null===n?n=[C]:n.push(C),l++}}else{var D={instancePath:B+"/data/position",schemaPath:"#/oneOf/0/properties/data/properties/position/type",keyword:"type",params:{type:"object"},message:"must be object"};null===n?n=[D]:n.push(D),l++}}if(void 0!==S.pos){var o=S.pos;if(Array.isArray(o))for(var p=o.length,h=0;h=",limit:0},message:"must be >= 0"};null===n?n=[I]:n.push(I),l++}}else{var K={instancePath:B+"/boundingBox/width",schemaPath:"#/oneOf/1/properties/boundingBox/properties/width/type",keyword:"type",params:{type:"number"},message:"must be number"};null===n?n=[K]:n.push(K),l++}}if(void 0!==y.height){var f=y.height;if("number"==typeof f){if(f<0||isNaN(f)){var g={instancePath:B+"/boundingBox/height",schemaPath:"#/oneOf/1/properties/boundingBox/properties/height/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};null===n?n=[g]:n.push(g),l++}}else{var P={instancePath:B+"/boundingBox/height",schemaPath:"#/oneOf/1/properties/boundingBox/properties/height/type",keyword:"type",params:{type:"number"},message:"must be number"};null===n?n=[P]:n.push(P),l++}}}else{var A={instancePath:B+"/boundingBox",schemaPath:"#/oneOf/1/properties/boundingBox/type",keyword:"type",params:{type:"object"},message:"must be object"};null===n?n=[A]:n.push(A),l++}}if(void 0!==U.paragraphs){var q=U.paragraphs;if(Array.isArray(q))for(var _=q.length,$=0;$<_;$++)oZ(q[$],{instancePath:B+"/paragraphs/"+$,parentData:q,parentDataProperty:$,rootData:V})||(l=(n=null===n?oZ.errors:n.concat(oZ.errors)).length);else{var UU={instancePath:B+"/paragraphs",schemaPath:"#/oneOf/1/properties/paragraphs/type",keyword:"type",params:{type:"array"},message:"must be array"};null===n?n=[UU]:n.push(UU),l++}}if(void 0!==U.alignment){var FU=U.alignment;if("string"!==typeof FU){var QU={instancePath:B+"/alignment",schemaPath:"#/oneOf/1/properties/alignment/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[QU]:n.push(QU),l++}if("left"!==FU&&"center"!==FU&&"right"!==FU){var BU={instancePath:B+"/alignment",schemaPath:"#/oneOf/1/properties/alignment/enum",keyword:"enum",params:{allowedValues:TZ.oneOf[1].properties.alignment.enum},message:"must be equal to one of the allowed values"};null===n?n=[BU]:n.push(BU),l++}}if(void 0!==U.indent){var RU=U.indent,VU=l,nU=!1,lU=null,dU=l;if("number"!=typeof RU){var JU={instancePath:B+"/indent",schemaPath:"#/definitions/textIndent/oneOf/0/type",keyword:"type",params:{type:"number"},message:"must be number"};null===n?n=[JU]:n.push(JU),l++}(NU=dU===l)&&(nU=!0,lU=0);var NU,ZU=l;if(RU&&"object"==(0,a.A)(RU)&&!Array.isArray(RU)){if(void 0!==RU.first_line&&"number"!=typeof RU.first_line){var WU={instancePath:B+"/indent/first_line",schemaPath:"#/definitions/textIndent/oneOf/1/properties/first_line/type",keyword:"type",params:{type:"number"},message:"must be number"};null===n?n=[WU]:n.push(WU),l++}if(void 0!==RU.left&&"number"!=typeof RU.left){var SU={instancePath:B+"/indent/left",schemaPath:"#/definitions/textIndent/oneOf/1/properties/left/type",keyword:"type",params:{type:"number"},message:"must be number"};null===n?n=[SU]:n.push(SU),l++}if(void 0!==RU.right&&"number"!=typeof RU.right){var EU={instancePath:B+"/indent/right",schemaPath:"#/definitions/textIndent/oneOf/1/properties/right/type",keyword:"type",params:{type:"number"},message:"must be number"};null===n?n=[EU]:n.push(EU),l++}}else{var kU={instancePath:B+"/indent",schemaPath:"#/definitions/textIndent/oneOf/1/type",keyword:"type",params:{type:"object"},message:"must be object"};null===n?n=[kU]:n.push(kU),l++}if((NU=ZU===l)&&nU?(nU=!1,lU=[lU,1]):NU&&(nU=!0,lU=1),nU)l=VU,null!==n&&(VU?n.length=VU:n=null);else{var tU={instancePath:B+"/indent",schemaPath:"#/definitions/textIndent/oneOf",keyword:"oneOf",params:{passingSchemas:lU},message:"must match exactly one schema in oneOf"};null===n?n=[tU]:n.push(tU),l++}}if(void 0!==U.font){var aU=U.font;if(aU&&"object"==(0,a.A)(aU)&&!Array.isArray(aU)){if(void 0!==aU.family&&"string"!==typeof aU.family){var TU={instancePath:B+"/font/family",schemaPath:"#/definitions/textFont/properties/family/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[TU]:n.push(TU),l++}if(void 0!==aU.size){var eU=aU.size;if("number"!=typeof eU||eU%1||isNaN(eU)){var CU={instancePath:B+"/font/size",schemaPath:"#/definitions/textFont/properties/size/type",keyword:"type",params:{type:"integer"},message:"must be integer"};null===n?n=[CU]:n.push(CU),l++}}if(void 0!==aU.color){var DU=aU.color;if("string"===typeof DU){if(!CZ.test(DU)){var oU={instancePath:B+"/font/color",schemaPath:"#/definitions/textFont/properties/color/pattern",keyword:"pattern",params:{pattern:"^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$"},message:'must match pattern "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$"'};null===n?n=[oU]:n.push(oU),l++}}else{var pU={instancePath:B+"/font/color",schemaPath:"#/definitions/textFont/properties/color/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[pU]:n.push(pU),l++}}if(void 0!==aU.bold&&"boolean"!==typeof aU.bold){var hU={instancePath:B+"/font/bold",schemaPath:"#/definitions/textFont/properties/bold/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===n?n=[hU]:n.push(hU),l++}if(void 0!==aU.italic&&"boolean"!==typeof aU.italic){var cU={instancePath:B+"/font/italic",schemaPath:"#/definitions/textFont/properties/italic/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===n?n=[cU]:n.push(cU),l++}if(void 0!==aU.subscript&&"boolean"!==typeof aU.subscript){var rU={instancePath:B+"/font/subscript",schemaPath:"#/definitions/textFont/properties/subscript/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===n?n=[rU]:n.push(rU),l++}if(void 0!==aU.superscript&&"boolean"!==typeof aU.superscript){var mU={instancePath:B+"/font/superscript",schemaPath:"#/definitions/textFont/properties/superscript/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===n?n=[mU]:n.push(mU),l++}}else{var MU={instancePath:B+"/font",schemaPath:"#/definitions/textFont/type",keyword:"type",params:{type:"object"},message:"must be object"};null===n?n=[MU]:n.push(MU),l++}}if(void 0!==U.color&&"string"!==typeof U.color){var iU={instancePath:B+"/color",schemaPath:"#/oneOf/1/properties/color/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[iU]:n.push(iU),l++}if(void 0!==U.bold&&"boolean"!==typeof U.bold){var bU={instancePath:B+"/bold",schemaPath:"#/oneOf/1/properties/bold/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===n?n=[bU]:n.push(bU),l++}if(void 0!==U.italic&&"boolean"!==typeof U.italic){var vU={instancePath:B+"/italic",schemaPath:"#/oneOf/1/properties/italic/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===n?n=[vU]:n.push(vU),l++}if(void 0!==U.subscript&&"boolean"!==typeof U.subscript){var GU={instancePath:B+"/subscript",schemaPath:"#/oneOf/1/properties/subscript/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===n?n=[GU]:n.push(GU),l++}if(void 0!==U.superscript&&"boolean"!==typeof U.superscript){var sU={instancePath:B+"/superscript",schemaPath:"#/oneOf/1/properties/superscript/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===n?n=[sU]:n.push(sU),l++}}if((G=s===l)&&J?(J=!1,N=[N,1]):G&&(J=!0,N=1),J)l=d,null!==n&&(d?n.length=d:n=null);else{var XU={instancePath:B,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas:N},message:"must match exactly one schema in oneOf"};null===n?n=[XU]:n.push(XU),l++}if(U&&"object"==(0,a.A)(U)&&!Array.isArray(U)){if(void 0===U.type){var YU={instancePath:B,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};null===n?n=[YU]:n.push(YU),l++}if(void 0!==U.type&&"text"!==U.type){var yU={instancePath:B+"/type",schemaPath:"#/properties/type/const",keyword:"const",params:{allowedValue:"text"},message:"must be equal to constant"};null===n?n=[yU]:n.push(yU),l++}if(void 0!==U.selected&&"boolean"!==typeof U.selected){var zU={instancePath:B+"/selected",schemaPath:"#/properties/selected/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===n?n=[zU]:n.push(zU),l++}}else{var OU={instancePath:B,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};null===n?n=[OU]:n.push(OU),l++}return pZ.errors=n,0===l}function hZ(U){var F=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},Q=F.instancePath,B=void 0===Q?"":Q;F.parentData,F.parentDataProperty,F.rootData;var R=null,V=0;if(U&&"object"==(0,a.A)(U)&&!Array.isArray(U)){if(void 0===U.type){var n={instancePath:B,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};null===R?R=[n]:R.push(n),V++}if(void 0===U.data){var l={instancePath:B,schemaPath:"#/required",keyword:"required",params:{missingProperty:"data"},message:"must have required property 'data'"};null===R?R=[l]:R.push(l),V++}if(void 0!==U.type&&"multi-tailed-arrow"!==U.type){var d={instancePath:B+"/type",schemaPath:"#/properties/type/const",keyword:"const",params:{allowedValue:"multi-tailed-arrow"},message:"must be equal to constant"};null===R?R=[d]:R.push(d),V++}if(void 0!==U.data){var J=U.data;if(J&&"object"==(0,a.A)(J)&&!Array.isArray(J)){if(void 0===J.head){var N={instancePath:B+"/data",schemaPath:"#/properties/data/required",keyword:"required",params:{missingProperty:"head"},message:"must have required property 'head'"};null===R?R=[N]:R.push(N),V++}if(void 0===J.spine){var Z={instancePath:B+"/data",schemaPath:"#/properties/data/required",keyword:"required",params:{missingProperty:"spine"},message:"must have required property 'spine'"};null===R?R=[Z]:R.push(Z),V++}if(void 0===J.tails){var W={instancePath:B+"/data",schemaPath:"#/properties/data/required",keyword:"required",params:{missingProperty:"tails"},message:"must have required property 'tails'"};null===R?R=[W]:R.push(W),V++}if(void 0!==J.head){var S=J.head;if(S&&"object"==(0,a.A)(S)&&!Array.isArray(S)){if(void 0===S.position){var E={instancePath:B+"/data/head",schemaPath:"#/properties/data/properties/head/required",keyword:"required",params:{missingProperty:"position"},message:"must have required property 'position'"};null===R?R=[E]:R.push(E),V++}if(void 0!==S.position){var k=S.position;if(k&&"object"==(0,a.A)(k)&&!Array.isArray(k)){if(void 0===k.x){var t={instancePath:B+"/data/head/position",schemaPath:"#/definitions/point/required",keyword:"required",params:{missingProperty:"x"},message:"must have required property 'x'"};null===R?R=[t]:R.push(t),V++}if(void 0===k.y){var T={instancePath:B+"/data/head/position",schemaPath:"#/definitions/point/required",keyword:"required",params:{missingProperty:"y"},message:"must have required property 'y'"};null===R?R=[T]:R.push(T),V++}if(void 0!==k.x&&"number"!=typeof k.x){var e={instancePath:B+"/data/head/position/x",schemaPath:"#/definitions/point/properties/x/type",keyword:"type",params:{type:"number"},message:"must be number"};null===R?R=[e]:R.push(e),V++}if(void 0!==k.y&&"number"!=typeof k.y){var C={instancePath:B+"/data/head/position/y",schemaPath:"#/definitions/point/properties/y/type",keyword:"type",params:{type:"number"},message:"must be number"};null===R?R=[C]:R.push(C),V++}if(void 0!==k.z&&"number"!=typeof k.z){var D={instancePath:B+"/data/head/position/z",schemaPath:"#/definitions/point/properties/z/type",keyword:"type",params:{type:"number"},message:"must be number"};null===R?R=[D]:R.push(D),V++}}else{var o={instancePath:B+"/data/head/position",schemaPath:"#/definitions/point/type",keyword:"type",params:{type:"object"},message:"must be object"};null===R?R=[o]:R.push(o),V++}}}else{var p={instancePath:B+"/data/head",schemaPath:"#/properties/data/properties/head/type",keyword:"type",params:{type:"object"},message:"must be object"};null===R?R=[p]:R.push(p),V++}}if(void 0!==J.spine){var h=J.spine;if(h&&"object"==(0,a.A)(h)&&!Array.isArray(h)){if(void 0===h.pos){var c={instancePath:B+"/data/spine",schemaPath:"#/properties/data/properties/spine/required",keyword:"required",params:{missingProperty:"pos"},message:"must have required property 'pos'"};null===R?R=[c]:R.push(c),V++}if(void 0!==h.pos){var r=h.pos;if(Array.isArray(r)){if(r.length>2){var m={instancePath:B+"/data/spine/pos",schemaPath:"#/properties/data/properties/spine/properties/pos/maxItems",keyword:"maxItems",params:{limit:2},message:"must NOT have more than 2 items"};null===R?R=[m]:R.push(m),V++}if(r.length<2){var M={instancePath:B+"/data/spine/pos",schemaPath:"#/properties/data/properties/spine/properties/pos/minItems",keyword:"minItems",params:{limit:2},message:"must NOT have fewer than 2 items"};null===R?R=[M]:R.push(M),V++}for(var i=r.length,b=0;b1&&void 0!==arguments[1]?arguments[1]:{},Q=F.instancePath,B=void 0===Q?"":Q;F.parentData,F.parentDataProperty,F.rootData;var R=null,V=0;if(U&&"object"==(0,a.A)(U)&&!Array.isArray(U)){if(void 0===U.atoms){var n={instancePath:B,schemaPath:"#/required",keyword:"required",params:{missingProperty:"atoms"},message:"must have required property 'atoms'"};null===R?R=[n]:R.push(n),V++}if(void 0!==U.stereoFlagPosition){var l=U.stereoFlagPosition;if(l&&"object"==(0,a.A)(l)&&!Array.isArray(l)){if(void 0===l.x){var d={instancePath:B+"/stereoFlagPosition",schemaPath:"#/properties/stereoFlagPosition/required",keyword:"required",params:{missingProperty:"x"},message:"must have required property 'x'"};null===R?R=[d]:R.push(d),V++}if(void 0===l.y){var J={instancePath:B+"/stereoFlagPosition",schemaPath:"#/properties/stereoFlagPosition/required",keyword:"required",params:{missingProperty:"y"},message:"must have required property 'y'"};null===R?R=[J]:R.push(J),V++}if(void 0!==l.x&&"number"!=typeof l.x){var N={instancePath:B+"/stereoFlagPosition/x",schemaPath:"#/properties/stereoFlagPosition/properties/x/type",keyword:"type",params:{type:"number"},message:"must be number"};null===R?R=[N]:R.push(N),V++}if(void 0!==l.y&&"number"!=typeof l.y){var Z={instancePath:B+"/stereoFlagPosition/y",schemaPath:"#/properties/stereoFlagPosition/properties/y/type",keyword:"type",params:{type:"number"},message:"must be number"};null===R?R=[Z]:R.push(Z),V++}}else{var W={instancePath:B+"/stereoFlagPosition",schemaPath:"#/properties/stereoFlagPosition/type",keyword:"type",params:{type:"object"},message:"must be object"};null===R?R=[W]:R.push(W),V++}}if(void 0!==U.properties){var S=U.properties;if(Array.isArray(S))for(var E=S.length,k=0;k3){var y={instancePath:B+"/atoms/"+h+"/location",schemaPath:"#/definitions/atom/properties/location/maxItems",keyword:"maxItems",params:{limit:3},message:"must NOT have more than 3 items"};null===R?R=[y]:R.push(y),V++}if(Y.length<2){var z={instancePath:B+"/atoms/"+h+"/location",schemaPath:"#/definitions/atom/properties/location/minItems",keyword:"minItems",params:{limit:2},message:"must NOT have fewer than 2 items"};null===R?R=[z]:R.push(z),V++}for(var O=Y.length,L=0;L1e3||isNaN(w)){var I={instancePath:B+"/atoms/"+h+"/charge",schemaPath:"#/definitions/atom/properties/charge/maximum",keyword:"maximum",params:{comparison:"<=",limit:1e3},message:"must be <= 1000"};null===R?R=[I]:R.push(I),V++}if(w<-1e3||isNaN(w)){var K={instancePath:B+"/atoms/"+h+"/charge",schemaPath:"#/definitions/atom/properties/charge/minimum",keyword:"minimum",params:{comparison:">=",limit:-1e3},message:"must be >= -1000"};null===R?R=[K]:R.push(K),V++}}}if(void 0!==c.explicitValence){var f=c.explicitValence;if("number"!=typeof f||f%1||isNaN(f)){var g={instancePath:B+"/atoms/"+h+"/explicitValence",schemaPath:"#/definitions/atom/properties/explicitValence/type",keyword:"type",params:{type:"integer"},message:"must be integer"};null===R?R=[g]:R.push(g),V++}if(-1!==f&&0!==f&&1!==f&&2!==f&&3!==f&&4!==f&&5!==f&&6!==f&&7!==f&&8!==f&&9!==f&&10!==f&&11!==f&&12!==f){var P={instancePath:B+"/atoms/"+h+"/explicitValence",schemaPath:"#/definitions/atom/properties/explicitValence/enum",keyword:"enum",params:{allowedValues:cZ.properties.explicitValence.enum},message:"must be equal to one of the allowed values"};null===R?R=[P]:R.push(P),V++}}if(void 0!==c.isotope){var A=c.isotope;if("number"!=typeof A||A%1||isNaN(A)){var q={instancePath:B+"/atoms/"+h+"/isotope",schemaPath:"#/definitions/atom/properties/isotope/type",keyword:"type",params:{type:"integer"},message:"must be integer"};null===R?R=[q]:R.push(q),V++}if("number"==typeof A){if(A>1e3||isNaN(A)){var _={instancePath:B+"/atoms/"+h+"/isotope",schemaPath:"#/definitions/atom/properties/isotope/maximum",keyword:"maximum",params:{comparison:"<=",limit:1e3},message:"must be <= 1000"};null===R?R=[_]:R.push(_),V++}if(A<0||isNaN(A)){var $={instancePath:B+"/atoms/"+h+"/isotope",schemaPath:"#/definitions/atom/properties/isotope/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};null===R?R=[$]:R.push($),V++}}}if(void 0!==c.radical){var UU=c.radical;if("number"!=typeof UU||UU%1||isNaN(UU)){var FU={instancePath:B+"/atoms/"+h+"/radical",schemaPath:"#/definitions/atom/properties/radical/type",keyword:"type",params:{type:"integer"},message:"must be integer"};null===R?R=[FU]:R.push(FU),V++}if(0!==UU&&2!==UU&&1!==UU&&3!==UU){var QU={instancePath:B+"/atoms/"+h+"/radical",schemaPath:"#/definitions/atom/properties/radical/enum",keyword:"enum",params:{allowedValues:cZ.properties.radical.enum},message:"must be equal to one of the allowed values"};null===R?R=[QU]:R.push(QU),V++}}if(void 0!==c.attachmentPoints){var BU=c.attachmentPoints;if("number"!=typeof BU||BU%1||isNaN(BU)){var RU={instancePath:B+"/atoms/"+h+"/attachmentPoints",schemaPath:"#/definitions/atom/properties/attachmentPoints/type",keyword:"type",params:{type:"integer"},message:"must be integer"};null===R?R=[RU]:R.push(RU),V++}if(0!==BU&&1!==BU&&2!==BU&&3!==BU){var VU={instancePath:B+"/atoms/"+h+"/attachmentPoints",schemaPath:"#/definitions/atom/properties/attachmentPoints/enum",keyword:"enum",params:{allowedValues:cZ.properties.attachmentPoints.enum},message:"must be equal to one of the allowed values"};null===R?R=[VU]:R.push(VU),V++}}if(void 0!==c.stereoLabel){var nU=c.stereoLabel;if("string"===typeof nU){if(!GZ.test(nU)){var lU={instancePath:B+"/atoms/"+h+"/stereoLabel",schemaPath:"#/definitions/atom/properties/stereoLabel/pattern",keyword:"pattern",params:{pattern:"(?:(?:^&|or)[0-9]+$)|(?:^abs$)"},message:'must match pattern "(?:(?:^&|or)[0-9]+$)|(?:^abs$)"'};null===R?R=[lU]:R.push(lU),V++}}else{var dU={instancePath:B+"/atoms/"+h+"/stereoLabel",schemaPath:"#/definitions/atom/properties/stereoLabel/type",keyword:"type",params:{type:"string"},message:"must be string"};null===R?R=[dU]:R.push(dU),V++}}if(void 0!==c.stereoParity){var JU=c.stereoParity;if("number"!=typeof JU||JU%1||isNaN(JU)){var NU={instancePath:B+"/atoms/"+h+"/stereoParity",schemaPath:"#/definitions/atom/properties/stereoParity/type",keyword:"type",params:{type:"integer"},message:"must be integer"};null===R?R=[NU]:R.push(NU),V++}if(0!==JU&&1!==JU&&2!==JU&&3!==JU){var ZU={instancePath:B+"/atoms/"+h+"/stereoParity",schemaPath:"#/definitions/atom/properties/stereoParity/enum",keyword:"enum",params:{allowedValues:cZ.properties.stereoParity.enum},message:"must be equal to one of the allowed values"};null===R?R=[ZU]:R.push(ZU),V++}}if(void 0!==c.ringBondCount){var WU=c.ringBondCount;if("number"!=typeof WU||WU%1||isNaN(WU)){var SU={instancePath:B+"/atoms/"+h+"/ringBondCount",schemaPath:"#/definitions/atom/properties/ringBondCount/type",keyword:"type",params:{type:"integer"},message:"must be integer"};null===R?R=[SU]:R.push(SU),V++}if(0!==WU&&-2!==WU&&-1!==WU&&2!==WU&&3!==WU&&4!==WU&&5!==WU&&6!==WU&&7!==WU&&8!==WU&&9!==WU){var EU={instancePath:B+"/atoms/"+h+"/ringBondCount",schemaPath:"#/definitions/atom/properties/ringBondCount/enum",keyword:"enum",params:{allowedValues:cZ.properties.ringBondCount.enum},message:"must be equal to one of the allowed values"};null===R?R=[EU]:R.push(EU),V++}}if(void 0!==c.substitutionCount){var kU=c.substitutionCount;if("number"!=typeof kU||kU%1||isNaN(kU)){var tU={instancePath:B+"/atoms/"+h+"/substitutionCount",schemaPath:"#/definitions/atom/properties/substitutionCount/type",keyword:"type",params:{type:"integer"},message:"must be integer"};null===R?R=[tU]:R.push(tU),V++}if(0!==kU&&-2!==kU&&-1!==kU&&1!==kU&&2!==kU&&3!==kU&&4!==kU&&5!==kU&&6!==kU&&7!==kU&&8!==kU&&9!==kU){var aU={instancePath:B+"/atoms/"+h+"/substitutionCount",schemaPath:"#/definitions/atom/properties/substitutionCount/enum",keyword:"enum",params:{allowedValues:cZ.properties.substitutionCount.enum},message:"must be equal to one of the allowed values"};null===R?R=[aU]:R.push(aU),V++}}if(void 0!==c.unsaturatedAtom&&"boolean"!==typeof c.unsaturatedAtom){var TU={instancePath:B+"/atoms/"+h+"/unsaturatedAtom",schemaPath:"#/definitions/atom/properties/unsaturatedAtom/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===R?R=[TU]:R.push(TU),V++}if(void 0!==c.hCount){var eU=c.hCount;if("number"!=typeof eU||eU%1||isNaN(eU)){var CU={instancePath:B+"/atoms/"+h+"/hCount",schemaPath:"#/definitions/atom/properties/hCount/type",keyword:"type",params:{type:"integer"},message:"must be integer"};null===R?R=[CU]:R.push(CU),V++}if(-1!==eU&&0!==eU&&1!==eU&&2!==eU&&3!==eU&&4!==eU&&5!==eU&&6!==eU&&7!==eU&&8!==eU&&9!==eU&&10!==eU){var DU={instancePath:B+"/atoms/"+h+"/hCount",schemaPath:"#/definitions/atom/properties/hCount/enum",keyword:"enum",params:{allowedValues:cZ.properties.hCount.enum},message:"must be equal to one of the allowed values"};null===R?R=[DU]:R.push(DU),V++}}if(void 0!==c.implicitHCount){var oU=c.implicitHCount;if("number"!=typeof oU||oU%1||isNaN(oU)){var pU={instancePath:B+"/atoms/"+h+"/implicitHCount",schemaPath:"#/definitions/atom/properties/implicitHCount/type",keyword:"type",params:{type:"integer"},message:"must be integer"};null===R?R=[pU]:R.push(pU),V++}if(0!==oU&&1!==oU&&2!==oU&&3!==oU&&4!==oU&&5!==oU&&6!==oU&&7!==oU&&8!==oU&&9!==oU){var hU={instancePath:B+"/atoms/"+h+"/implicitHCount",schemaPath:"#/definitions/atom/properties/implicitHCount/enum",keyword:"enum",params:{allowedValues:cZ.properties.implicitHCount.enum},message:"must be equal to one of the allowed values"};null===R?R=[hU]:R.push(hU),V++}}if(void 0!==c.mapping){var cU=c.mapping;if("number"!=typeof cU||cU%1||isNaN(cU)){var rU={instancePath:B+"/atoms/"+h+"/mapping",schemaPath:"#/definitions/atom/properties/mapping/type",keyword:"type",params:{type:"integer"},message:"must be integer"};null===R?R=[rU]:R.push(rU),V++}if("number"==typeof cU&&(cU<0||isNaN(cU))){var mU={instancePath:B+"/atoms/"+h+"/mapping",schemaPath:"#/definitions/atom/properties/mapping/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};null===R?R=[mU]:R.push(mU),V++}}if(void 0!==c.invRet){var MU=c.invRet;if("number"!=typeof MU||MU%1||isNaN(MU)){var iU={instancePath:B+"/atoms/"+h+"/invRet",schemaPath:"#/definitions/atom/properties/invRet/type",keyword:"type",params:{type:"integer"},message:"must be integer"};null===R?R=[iU]:R.push(iU),V++}if(0!==MU&&1!==MU&&2!==MU){var bU={instancePath:B+"/atoms/"+h+"/invRet",schemaPath:"#/definitions/atom/properties/invRet/enum",keyword:"enum",params:{allowedValues:cZ.properties.invRet.enum},message:"must be equal to one of the allowed values"};null===R?R=[bU]:R.push(bU),V++}}if(void 0!==c.exactChangeFlag&&"boolean"!==typeof c.exactChangeFlag){var vU={instancePath:B+"/atoms/"+h+"/exactChangeFlag",schemaPath:"#/definitions/atom/properties/exactChangeFlag/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===R?R=[vU]:R.push(vU),V++}if(void 0!==c.cip){var GU=c.cip;if("string"!==typeof GU){var sU={instancePath:B+"/atoms/"+h+"/cip",schemaPath:"#/definitions/atom/properties/cip/type",keyword:"type",params:{type:"string"},message:"must be string"};null===R?R=[sU]:R.push(sU),V++}if("R"!==GU&&"S"!==GU&&"r"!==GU&&"s"!==GU){var XU={instancePath:B+"/atoms/"+h+"/cip",schemaPath:"#/definitions/atom/properties/cip/enum",keyword:"enum",params:{allowedValues:cZ.properties.cip.enum},message:"must be equal to one of the allowed values"};null===R?R=[XU]:R.push(XU),V++}}if(void 0!==c.queryProperties){var YU=c.queryProperties;if(YU&&"object"==(0,a.A)(YU)&&!Array.isArray(YU)){if(void 0!==YU.aromaticity){var yU=YU.aromaticity;if("string"!==typeof yU){var zU={instancePath:B+"/atoms/"+h+"/queryProperties/aromaticity",schemaPath:"#/definitions/atom/properties/queryProperties/properties/aromaticity/type",keyword:"type",params:{type:"string"},message:"must be string"};null===R?R=[zU]:R.push(zU),V++}if("aromatic"!==yU&&"aliphatic"!==yU){var OU={instancePath:B+"/atoms/"+h+"/queryProperties/aromaticity",schemaPath:"#/definitions/atom/properties/queryProperties/properties/aromaticity/enum",keyword:"enum",params:{allowedValues:cZ.properties.queryProperties.properties.aromaticity.enum},message:"must be equal to one of the allowed values"};null===R?R=[OU]:R.push(OU),V++}}if(void 0!==YU.ringMembership){var LU=YU.ringMembership;if("number"!=typeof LU||LU%1||isNaN(LU)){var HU={instancePath:B+"/atoms/"+h+"/queryProperties/ringMembership",schemaPath:"#/definitions/atom/properties/queryProperties/properties/ringMembership/type",keyword:"type",params:{type:"integer"},message:"must be integer"};null===R?R=[HU]:R.push(HU),V++}if("number"==typeof LU){if(LU>9||isNaN(LU)){var xU={instancePath:B+"/atoms/"+h+"/queryProperties/ringMembership",schemaPath:"#/definitions/atom/properties/queryProperties/properties/ringMembership/maximum",keyword:"maximum",params:{comparison:"<=",limit:9},message:"must be <= 9"};null===R?R=[xU]:R.push(xU),V++}if(LU<0||isNaN(LU)){var uU={instancePath:B+"/atoms/"+h+"/queryProperties/ringMembership",schemaPath:"#/definitions/atom/properties/queryProperties/properties/ringMembership/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};null===R?R=[uU]:R.push(uU),V++}}}if(void 0!==YU.ringSize){var wU=YU.ringSize;if("number"!=typeof wU||wU%1||isNaN(wU)){var jU={instancePath:B+"/atoms/"+h+"/queryProperties/ringSize",schemaPath:"#/definitions/atom/properties/queryProperties/properties/ringSize/type",keyword:"type",params:{type:"integer"},message:"must be integer"};null===R?R=[jU]:R.push(jU),V++}if("number"==typeof wU){if(wU>9||isNaN(wU)){var IU={instancePath:B+"/atoms/"+h+"/queryProperties/ringSize",schemaPath:"#/definitions/atom/properties/queryProperties/properties/ringSize/maximum",keyword:"maximum",params:{comparison:"<=",limit:9},message:"must be <= 9"};null===R?R=[IU]:R.push(IU),V++}if(wU<0||isNaN(wU)){var KU={instancePath:B+"/atoms/"+h+"/queryProperties/ringSize",schemaPath:"#/definitions/atom/properties/queryProperties/properties/ringSize/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};null===R?R=[KU]:R.push(KU),V++}}}if(void 0!==YU.connectivity){var fU=YU.connectivity;if("number"!=typeof fU||fU%1||isNaN(fU)){var gU={instancePath:B+"/atoms/"+h+"/queryProperties/connectivity",schemaPath:"#/definitions/atom/properties/queryProperties/properties/connectivity/type",keyword:"type",params:{type:"integer"},message:"must be integer"};null===R?R=[gU]:R.push(gU),V++}if("number"==typeof fU){if(fU>9||isNaN(fU)){var PU={instancePath:B+"/atoms/"+h+"/queryProperties/connectivity",schemaPath:"#/definitions/atom/properties/queryProperties/properties/connectivity/maximum",keyword:"maximum",params:{comparison:"<=",limit:9},message:"must be <= 9"};null===R?R=[PU]:R.push(PU),V++}if(fU<0||isNaN(fU)){var AU={instancePath:B+"/atoms/"+h+"/queryProperties/connectivity",schemaPath:"#/definitions/atom/properties/queryProperties/properties/connectivity/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};null===R?R=[AU]:R.push(AU),V++}}}if(void 0!==YU.chirality){var qU=YU.chirality;if("string"!==typeof qU){var _U={instancePath:B+"/atoms/"+h+"/queryProperties/chirality",schemaPath:"#/definitions/atom/properties/queryProperties/properties/chirality/type",keyword:"type",params:{type:"string"},message:"must be string"};null===R?R=[_U]:R.push(_U),V++}if("clockwise"!==qU&&"anticlockwise"!==qU){var $U={instancePath:B+"/atoms/"+h+"/queryProperties/chirality",schemaPath:"#/definitions/atom/properties/queryProperties/properties/chirality/enum",keyword:"enum",params:{allowedValues:cZ.properties.queryProperties.properties.chirality.enum},message:"must be equal to one of the allowed values"};null===R?R=[$U]:R.push($U),V++}}if(void 0!==YU.customQuery&&"string"!==typeof YU.customQuery){var UF={instancePath:B+"/atoms/"+h+"/queryProperties/customQuery",schemaPath:"#/definitions/atom/properties/queryProperties/properties/customQuery/type",keyword:"type",params:{type:"string"},message:"must be string"};null===R?R=[UF]:R.push(UF),V++}}else{var FF={instancePath:B+"/atoms/"+h+"/queryProperties",schemaPath:"#/definitions/atom/properties/queryProperties/type",keyword:"type",params:{type:"object"},message:"must be object"};null===R?R=[FF]:R.push(FF),V++}}}else{var QF={instancePath:B+"/atoms/"+h,schemaPath:"#/definitions/atom/type",keyword:"type",params:{type:"object"},message:"must be object"};null===R?R=[QF]:R.push(QF),V++}(cF=i===V)&&(m=!0,M=0);var BF=V;if(c&&"object"==(0,a.A)(c)&&!Array.isArray(c)){if(void 0===c.type){var RF={instancePath:B+"/atoms/"+h,schemaPath:"#/definitions/rsite/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};null===R?R=[RF]:R.push(RF),V++}if(void 0===c.location){var VF={instancePath:B+"/atoms/"+h,schemaPath:"#/definitions/rsite/required",keyword:"required",params:{missingProperty:"location"},message:"must have required property 'location'"};null===R?R=[VF]:R.push(VF),V++}if(void 0!==c.type&&"rg-label"!==c.type){var nF={instancePath:B+"/atoms/"+h+"/type",schemaPath:"#/definitions/rsite/properties/type/const",keyword:"const",params:{allowedValue:"rg-label"},message:"must be equal to constant"};null===R?R=[nF]:R.push(nF),V++}if(void 0!==c.location){var lF=c.location;if(Array.isArray(lF)){if(lF.length>3){var dF={instancePath:B+"/atoms/"+h+"/location",schemaPath:"#/definitions/rsite/properties/location/maxItems",keyword:"maxItems",params:{limit:3},message:"must NOT have more than 3 items"};null===R?R=[dF]:R.push(dF),V++}if(lF.length<2){var JF={instancePath:B+"/atoms/"+h+"/location",schemaPath:"#/definitions/rsite/properties/location/minItems",keyword:"minItems",params:{limit:2},message:"must NOT have fewer than 2 items"};null===R?R=[JF]:R.push(JF),V++}for(var NF=lF.length,ZF=0;ZF3){var GF={instancePath:B+"/atoms/"+h+"/location",schemaPath:"#/definitions/atomlist/properties/location/maxItems",keyword:"maxItems",params:{limit:3},message:"must NOT have more than 3 items"};null===R?R=[GF]:R.push(GF),V++}if(vF.length<2){var sF={instancePath:B+"/atoms/"+h+"/location",schemaPath:"#/definitions/atomlist/properties/location/minItems",keyword:"minItems",params:{limit:2},message:"must NOT have fewer than 2 items"};null===R?R=[sF]:R.push(sF),V++}for(var XF=vF.length,YF=0;YF2){var rQ={instancePath:B+"/bonds/"+UQ+"/atoms",schemaPath:"#/definitions/bond/properties/atoms/maxItems",keyword:"maxItems",params:{limit:2},message:"must NOT have more than 2 items"};null===R?R=[rQ]:R.push(rQ),V++}if(cQ.length<2){var mQ={instancePath:B+"/bonds/"+UQ+"/atoms",schemaPath:"#/definitions/bond/properties/atoms/minItems",keyword:"minItems",params:{limit:2},message:"must NOT have fewer than 2 items"};null===R?R=[mQ]:R.push(mQ),V++}for(var MQ=cQ.length,iQ=0;iQ=",limit:0},message:"must be >= 0"};null===R?R=[GQ]:R.push(GQ),V++}}var sQ=cQ.length,XQ=void 0;if(sQ>1)for(var YQ={};sQ--;){var yQ=cQ[sQ];if(!("number"!=typeof yQ||yQ%1||isNaN(yQ))){if("number"==typeof YQ[yQ]){var zQ={instancePath:B+"/bonds/"+UQ+"/atoms",schemaPath:"#/definitions/bond/properties/atoms/uniqueItems",keyword:"uniqueItems",params:{i:sQ,j:XQ=YQ[yQ]},message:"must NOT have duplicate items (items ## "+XQ+" and "+sQ+" are identical)"};null===R?R=[zQ]:R.push(zQ),V++;break}YQ[yQ]=sQ}}}else{var OQ={instancePath:B+"/bonds/"+UQ+"/atoms",schemaPath:"#/definitions/bond/properties/atoms/type",keyword:"type",params:{type:"array"},message:"must be array"};null===R?R=[OQ]:R.push(OQ),V++}}if(void 0!==FQ.selected&&"boolean"!==typeof FQ.selected){var LQ={instancePath:B+"/bonds/"+UQ+"/selected",schemaPath:"#/definitions/bond/properties/selected/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===R?R=[LQ]:R.push(LQ),V++}if(void 0!==FQ.stereobox){var HQ=FQ.stereobox;if("number"!=typeof HQ||HQ%1||isNaN(HQ)){var xQ={instancePath:B+"/bonds/"+UQ+"/stereobox",schemaPath:"#/definitions/bond/properties/stereobox/type",keyword:"type",params:{type:"integer"},message:"must be integer"};null===R?R=[xQ]:R.push(xQ),V++}if(0!==HQ&&1!==HQ){var uQ={instancePath:B+"/bonds/"+UQ+"/stereobox",schemaPath:"#/definitions/bond/properties/stereobox/enum",keyword:"enum",params:{allowedValues:MZ.properties.stereobox.enum},message:"must be equal to one of the allowed values"};null===R?R=[uQ]:R.push(uQ),V++}}if(void 0!==FQ.cip){var wQ=FQ.cip;if("string"!==typeof wQ){var jQ={instancePath:B+"/bonds/"+UQ+"/cip",schemaPath:"#/definitions/bond/properties/cip/type",keyword:"type",params:{type:"string"},message:"must be string"};null===R?R=[jQ]:R.push(jQ),V++}if("Z"!==wQ&&"E"!==wQ){var IQ={instancePath:B+"/bonds/"+UQ+"/cip",schemaPath:"#/definitions/bond/properties/cip/enum",keyword:"enum",params:{allowedValues:MZ.properties.cip.enum},message:"must be equal to one of the allowed values"};null===R?R=[IQ]:R.push(IQ),V++}}}else{var KQ={instancePath:B+"/bonds/"+UQ,schemaPath:"#/definitions/bond/type",keyword:"type",params:{type:"object"},message:"must be object"};null===R?R=[KQ]:R.push(KQ),V++}}else{var fQ={instancePath:B+"/bonds",schemaPath:"#/properties/bonds/type",keyword:"type",params:{type:"array"},message:"must be array"};null===R?R=[fQ]:R.push(fQ),V++}}if(void 0!==U.highlight){var gQ=U.highlight;if(Array.isArray(gQ)){if(gQ.length>2){var PQ={instancePath:B+"/highlight",schemaPath:"#/definitions/subset/maxItems",keyword:"maxItems",params:{limit:2},message:"must NOT have more than 2 items"};null===R?R=[PQ]:R.push(PQ),V++}if(gQ.length<1){var AQ={instancePath:B+"/highlight",schemaPath:"#/definitions/subset/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};null===R?R=[AQ]:R.push(AQ),V++}for(var qQ=gQ.length,_Q=0;_Q=",limit:0},message:"must be >= 0"};null===R?R=[EB]:R.push(EB),V++}}var kB=JB.length,tB=void 0;if(kB>1)for(var aB={};kB--;){var TB=JB[kB];if(!("number"!=typeof TB||TB%1||isNaN(TB))){if("number"==typeof aB[TB]){var eB={instancePath:B+"/highlight/"+_Q+"/items",schemaPath:"#/definitions/subset/items/oneOf/0/properties/items/uniqueItems",keyword:"uniqueItems",params:{i:kB,j:tB=aB[TB]},message:"must NOT have duplicate items (items ## "+tB+" and "+kB+" are identical)"};null===R?R=[eB]:R.push(eB),V++;break}aB[TB]=kB}}}else{var CB={instancePath:B+"/highlight/"+_Q+"/items",schemaPath:"#/definitions/subset/items/oneOf/0/properties/items/type",keyword:"type",params:{type:"array"},message:"must be array"};null===R?R=[CB]:R.push(CB),V++}}}else{var DB={instancePath:B+"/highlight/"+_Q,schemaPath:"#/definitions/subset/items/oneOf/0/type",keyword:"type",params:{type:"object"},message:"must be object"};null===R?R=[DB]:R.push(DB),V++}(oB=BB===V)&&(FB=!0,QB=0);var oB,pB=V;if($Q&&"object"==(0,a.A)($Q)&&!Array.isArray($Q)){if(void 0===$Q.entityType){var hB={instancePath:B+"/highlight/"+_Q,schemaPath:"#/definitions/subset/items/oneOf/1/required",keyword:"required",params:{missingProperty:"entityType"},message:"must have required property 'entityType'"};null===R?R=[hB]:R.push(hB),V++}if(void 0===$Q.items){var cB={instancePath:B+"/highlight/"+_Q,schemaPath:"#/definitions/subset/items/oneOf/1/required",keyword:"required",params:{missingProperty:"items"},message:"must have required property 'items'"};null===R?R=[cB]:R.push(cB),V++}if(void 0!==$Q.entityType){var rB=$Q.entityType;if("string"!==typeof rB){var mB={instancePath:B+"/highlight/"+_Q+"/entityType",schemaPath:"#/definitions/subset/items/oneOf/1/properties/entityType/type",keyword:"type",params:{type:"string"},message:"must be string"};null===R?R=[mB]:R.push(mB),V++}if("bonds"!==rB){var MB={instancePath:B+"/highlight/"+_Q+"/entityType",schemaPath:"#/definitions/subset/items/oneOf/1/properties/entityType/const",keyword:"const",params:{allowedValue:"bonds"},message:"must be equal to constant"};null===R?R=[MB]:R.push(MB),V++}}if(void 0!==$Q.items){var iB=$Q.items;if(Array.isArray(iB)){for(var bB=iB.length,vB=0;vB=",limit:0},message:"must be >= 0"};null===R?R=[XB]:R.push(XB),V++}}var YB=iB.length,yB=void 0;if(YB>1)for(var zB={};YB--;){var OB=iB[YB];if(!("number"!=typeof OB||OB%1||isNaN(OB))){if("number"==typeof zB[OB]){var LB={instancePath:B+"/highlight/"+_Q+"/items",schemaPath:"#/definitions/subset/items/oneOf/1/properties/items/uniqueItems",keyword:"uniqueItems",params:{i:YB,j:yB=zB[OB]},message:"must NOT have duplicate items (items ## "+yB+" and "+YB+" are identical)"};null===R?R=[LB]:R.push(LB),V++;break}zB[OB]=YB}}}else{var HB={instancePath:B+"/highlight/"+_Q+"/items",schemaPath:"#/definitions/subset/items/oneOf/1/properties/items/type",keyword:"type",params:{type:"array"},message:"must be array"};null===R?R=[HB]:R.push(HB),V++}}}else{var xB={instancePath:B+"/highlight/"+_Q,schemaPath:"#/definitions/subset/items/oneOf/1/type",keyword:"type",params:{type:"object"},message:"must be object"};null===R?R=[xB]:R.push(xB),V++}if((oB=pB===V)&&FB?(FB=!1,QB=[QB,1]):oB&&(FB=!0,QB=1),FB)V=UB,null!==R&&(UB?R.length=UB:R=null);else{var uB={instancePath:B+"/highlight/"+_Q,schemaPath:"#/definitions/subset/items/oneOf",keyword:"oneOf",params:{passingSchemas:QB},message:"must match exactly one schema in oneOf"};null===R?R=[uB]:R.push(uB),V++}}}else{var wB={instancePath:B+"/highlight",schemaPath:"#/definitions/subset/type",keyword:"type",params:{type:"array"},message:"must be array"};null===R?R=[wB]:R.push(wB),V++}}if(void 0!==U.selection){var jB=U.selection;if(Array.isArray(jB)){if(jB.length>2){var IB={instancePath:B+"/selection",schemaPath:"#/definitions/subset/maxItems",keyword:"maxItems",params:{limit:2},message:"must NOT have more than 2 items"};null===R?R=[IB]:R.push(IB),V++}if(jB.length<1){var KB={instancePath:B+"/selection",schemaPath:"#/definitions/subset/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};null===R?R=[KB]:R.push(KB),V++}for(var fB=jB.length,gB=0;gB=",limit:0},message:"must be >= 0"};null===R?R=[NR]:R.push(NR),V++}}var ZR=VR.length,WR=void 0;if(ZR>1)for(var SR={};ZR--;){var ER=VR[ZR];if(!("number"!=typeof ER||ER%1||isNaN(ER))){if("number"==typeof SR[ER]){var kR={instancePath:B+"/selection/"+gB+"/items",schemaPath:"#/definitions/subset/items/oneOf/0/properties/items/uniqueItems",keyword:"uniqueItems",params:{i:ZR,j:WR=SR[ER]},message:"must NOT have duplicate items (items ## "+WR+" and "+ZR+" are identical)"};null===R?R=[kR]:R.push(kR),V++;break}SR[ER]=ZR}}}else{var tR={instancePath:B+"/selection/"+gB+"/items",schemaPath:"#/definitions/subset/items/oneOf/0/properties/items/type",keyword:"type",params:{type:"array"},message:"must be array"};null===R?R=[tR]:R.push(tR),V++}}}else{var aR={instancePath:B+"/selection/"+gB,schemaPath:"#/definitions/subset/items/oneOf/0/type",keyword:"type",params:{type:"object"},message:"must be object"};null===R?R=[aR]:R.push(aR),V++}(TR=$B===V)&&(qB=!0,_B=0);var TR,eR=V;if(PB&&"object"==(0,a.A)(PB)&&!Array.isArray(PB)){if(void 0===PB.entityType){var CR={instancePath:B+"/selection/"+gB,schemaPath:"#/definitions/subset/items/oneOf/1/required",keyword:"required",params:{missingProperty:"entityType"},message:"must have required property 'entityType'"};null===R?R=[CR]:R.push(CR),V++}if(void 0===PB.items){var DR={instancePath:B+"/selection/"+gB,schemaPath:"#/definitions/subset/items/oneOf/1/required",keyword:"required",params:{missingProperty:"items"},message:"must have required property 'items'"};null===R?R=[DR]:R.push(DR),V++}if(void 0!==PB.entityType){var oR=PB.entityType;if("string"!==typeof oR){var pR={instancePath:B+"/selection/"+gB+"/entityType",schemaPath:"#/definitions/subset/items/oneOf/1/properties/entityType/type",keyword:"type",params:{type:"string"},message:"must be string"};null===R?R=[pR]:R.push(pR),V++}if("bonds"!==oR){var hR={instancePath:B+"/selection/"+gB+"/entityType",schemaPath:"#/definitions/subset/items/oneOf/1/properties/entityType/const",keyword:"const",params:{allowedValue:"bonds"},message:"must be equal to constant"};null===R?R=[hR]:R.push(hR),V++}}if(void 0!==PB.items){var cR=PB.items;if(Array.isArray(cR)){for(var rR=cR.length,mR=0;mR=",limit:0},message:"must be >= 0"};null===R?R=[bR]:R.push(bR),V++}}var vR=cR.length,GR=void 0;if(vR>1)for(var sR={};vR--;){var XR=cR[vR];if(!("number"!=typeof XR||XR%1||isNaN(XR))){if("number"==typeof sR[XR]){var YR={instancePath:B+"/selection/"+gB+"/items",schemaPath:"#/definitions/subset/items/oneOf/1/properties/items/uniqueItems",keyword:"uniqueItems",params:{i:vR,j:GR=sR[XR]},message:"must NOT have duplicate items (items ## "+GR+" and "+vR+" are identical)"};null===R?R=[YR]:R.push(YR),V++;break}sR[XR]=vR}}}else{var yR={instancePath:B+"/selection/"+gB+"/items",schemaPath:"#/definitions/subset/items/oneOf/1/properties/items/type",keyword:"type",params:{type:"array"},message:"must be array"};null===R?R=[yR]:R.push(yR),V++}}}else{var zR={instancePath:B+"/selection/"+gB,schemaPath:"#/definitions/subset/items/oneOf/1/type",keyword:"type",params:{type:"object"},message:"must be object"};null===R?R=[zR]:R.push(zR),V++}if((TR=eR===V)&&qB?(qB=!1,_B=[_B,1]):TR&&(qB=!0,_B=1),qB)V=AB,null!==R&&(AB?R.length=AB:R=null);else{var OR={instancePath:B+"/selection/"+gB,schemaPath:"#/definitions/subset/items/oneOf",keyword:"oneOf",params:{passingSchemas:_B},message:"must match exactly one schema in oneOf"};null===R?R=[OR]:R.push(OR),V++}}}else{var LR={instancePath:B+"/selection",schemaPath:"#/definitions/subset/type",keyword:"type",params:{type:"array"},message:"must be array"};null===R?R=[LR]:R.push(LR),V++}}if(void 0!==U.sgroups){var HR=U.sgroups;if(Array.isArray(HR))for(var xR=HR.length,uR=0;uR=",limit:0},message:"must be >= 0"};null===R?R=[JV]:R.push(JV),V++}}else{var NV={instancePath:B+"/sgroups/"+uR+"/bonds",schemaPath:"#/definitions/sgroups/items/then/properties/bonds/type",keyword:"type",params:{type:"array"},message:"must be array"};null===R?R=[NV]:R.push(NV),V++}}}IR=gR=PR===V}if(!IR){var ZV={instancePath:B+"/sgroups/"+uR,schemaPath:"#/definitions/sgroups/items/if",keyword:"if",params:{failingKeyword:"then"},message:'must match "then" schema'};null===R?R=[ZV]:R.push(ZV),V++}if(wR&&"object"==(0,a.A)(wR)&&!Array.isArray(wR)){if(void 0===wR.atoms){var WV={instancePath:B+"/sgroups/"+uR,schemaPath:"#/definitions/sgroups/items/required",keyword:"required",params:{missingProperty:"atoms"},message:"must have required property 'atoms'"};null===R?R=[WV]:R.push(WV),V++}if(void 0===wR.type){var SV={instancePath:B+"/sgroups/"+uR,schemaPath:"#/definitions/sgroups/items/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};null===R?R=[SV]:R.push(SV),V++}if(void 0!==wR.atoms){var EV=wR.atoms;if(Array.isArray(EV))for(var kV=EV.length,tV=0;tV=",limit:0},message:"must be >= 0"};null===R?R=[eV]:R.push(eV),V++}}else{var CV={instancePath:B+"/sgroups/"+uR+"/atoms",schemaPath:"#/definitions/sgroups/items/properties/atoms/type",keyword:"type",params:{type:"array"},message:"must be array"};null===R?R=[CV]:R.push(CV),V++}}if(void 0!==wR.type){var DV=wR.type;if("string"!==typeof DV){var oV={instancePath:B+"/sgroups/"+uR+"/type",schemaPath:"#/definitions/sgroups/items/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};null===R?R=[oV]:R.push(oV),V++}if("GEN"!==DV&&"MUL"!==DV&&"SRU"!==DV&&"SUP"!==DV&&"DAT"!==DV&&"queryComponent"!==DV&&"COP"!==DV){var pV={instancePath:B+"/sgroups/"+uR+"/type",schemaPath:"#/definitions/sgroups/items/properties/type/enum",keyword:"enum",params:{allowedValues:iZ.items.properties.type.enum},message:"must be equal to one of the allowed values"};null===R?R=[pV]:R.push(pV),V++}}}else{var hV={instancePath:B+"/sgroups/"+uR,schemaPath:"#/definitions/sgroups/items/type",keyword:"type",params:{type:"object"},message:"must be object"};null===R?R=[hV]:R.push(hV),V++}}else{var cV={instancePath:B+"/sgroups",schemaPath:"#/definitions/sgroups/type",keyword:"type",params:{type:"array"},message:"must be array"};null===R?R=[cV]:R.push(cV),V++}}}else{var rV={instancePath:B,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};null===R?R=[rV]:R.push(rV),V++}return XZ.errors=R,0===V}function YZ(U){var F=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},Q=F.instancePath,B=void 0===Q?"":Q,R=F.parentData,V=F.parentDataProperty,n=F.rootData,l=void 0===n?U:n,d=null,J=0,N=J,Z=!1,W=J;if(U&&"object"==(0,a.A)(U)&&!Array.isArray(U)&&void 0===U.fragments){var S={instancePath:B,schemaPath:"#/anyOf/0/required",keyword:"required",params:{missingProperty:"fragments"},message:"must have required property 'fragments'"};null===d?d=[S]:d.push(S),J++}var E=W===J;if(!(Z=Z||E)){var k=J;XZ(U,{instancePath:B,parentData:R,parentDataProperty:V,rootData:l})||(J=(d=null===d?XZ.errors:d.concat(XZ.errors)).length);E=k===J;Z=Z||E}if(Z)J=N,null!==d&&(N?d.length=N:d=null);else{var t={instancePath:B,schemaPath:"#/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};null===d?d=[t]:d.push(t),J++}if(U&&"object"==(0,a.A)(U)&&!Array.isArray(U)){if(void 0===U.rlogic){var T={instancePath:B,schemaPath:"#/required",keyword:"required",params:{missingProperty:"rlogic"},message:"must have required property 'rlogic'"};null===d?d=[T]:d.push(T),J++}if(void 0===U.type){var e={instancePath:B,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};null===d?d=[e]:d.push(e),J++}if(void 0!==U.type&&"rgroup"!==U.type){var C={instancePath:B+"/type",schemaPath:"#/properties/type/const",keyword:"const",params:{allowedValue:"rgroup"},message:"must be equal to constant"};null===d?d=[C]:d.push(C),J++}if(void 0!==U.rlogic){var D=U.rlogic;if(D&&"object"==(0,a.A)(D)&&!Array.isArray(D)){if(void 0===D.number){var o={instancePath:B+"/rlogic",schemaPath:"#/properties/rlogic/required",keyword:"required",params:{missingProperty:"number"},message:"must have required property 'number'"};null===d?d=[o]:d.push(o),J++}if(void 0!==D.number){var p=D.number;if("number"!=typeof p||p%1||isNaN(p)){var h={instancePath:B+"/rlogic/number",schemaPath:"#/properties/rlogic/properties/number/type",keyword:"type",params:{type:"integer"},message:"must be integer"};null===d?d=[h]:d.push(h),J++}if("number"==typeof p&&(p<1||isNaN(p))){var c={instancePath:B+"/rlogic/number",schemaPath:"#/properties/rlogic/properties/number/minimum",keyword:"minimum",params:{comparison:">=",limit:1},message:"must be >= 1"};null===d?d=[c]:d.push(c),J++}}if(void 0!==D.range){var r=D.range;if("string"===typeof r){if(vZ(r)>50){var m={instancePath:B+"/rlogic/range",schemaPath:"#/properties/rlogic/properties/range/maxLength",keyword:"maxLength",params:{limit:50},message:"must NOT have more than 50 characters"};null===d?d=[m]:d.push(m),J++}}else{var M={instancePath:B+"/rlogic/range",schemaPath:"#/properties/rlogic/properties/range/type",keyword:"type",params:{type:"string"},message:"must be string"};null===d?d=[M]:d.push(M),J++}}if(void 0!==D.resth&&"boolean"!==typeof D.resth){var i={instancePath:B+"/rlogic/resth",schemaPath:"#/properties/rlogic/properties/resth/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===d?d=[i]:d.push(i),J++}if(void 0!==D.ifthen){var b=D.ifthen;if("number"!=typeof b||b%1||isNaN(b)){var v={instancePath:B+"/rlogic/ifthen",schemaPath:"#/properties/rlogic/properties/ifthen/type",keyword:"type",params:{type:"integer"},message:"must be integer"};null===d?d=[v]:d.push(v),J++}if("number"==typeof b&&(b<0||isNaN(b))){var G={instancePath:B+"/rlogic/ifthen",schemaPath:"#/properties/rlogic/properties/ifthen/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};null===d?d=[G]:d.push(G),J++}}}else{var s={instancePath:B+"/rlogic",schemaPath:"#/properties/rlogic/type",keyword:"type",params:{type:"object"},message:"must be object"};null===d?d=[s]:d.push(s),J++}}if(void 0!==U.fragments){var X=U.fragments;if(Array.isArray(X))for(var Y=X.length,y=0;y1&&void 0!==arguments[1]?arguments[1]:{},Q=F.instancePath,B=void 0===Q?"":Q,R=F.parentData,V=F.parentDataProperty,n=F.rootData,l=null,d=0;if(XZ(U,{instancePath:B,parentData:R,parentDataProperty:V,rootData:void 0===n?U:n})||(d=(l=null===l?XZ.errors:l.concat(XZ.errors)).length),U&&"object"==(0,a.A)(U)&&!Array.isArray(U)){if(void 0===U.type){var J={instancePath:B,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};null===l?l=[J]:l.push(J),d++}if(void 0!==U.type&&"molecule"!==U.type){var N={instancePath:B+"/type",schemaPath:"#/properties/type/const",keyword:"const",params:{allowedValue:"molecule"},message:"must be equal to constant"};null===l?l=[N]:l.push(N),d++}}else{var Z={instancePath:B,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};null===l?l=[Z]:l.push(Z),d++}return yZ.errors=l,0===d}function zZ(U){var F=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},Q=F.instancePath,B=void 0===Q?"":Q;F.parentData,F.parentDataProperty;var R=F.rootData,V=void 0===R?U:R,n=null,l=0;if(U&&"object"==(0,a.A)(U)&&!Array.isArray(U)){if(void 0===U.root){var d={instancePath:B,schemaPath:"#/required",keyword:"required",params:{missingProperty:"root"},message:"must have required property 'root'"};null===n?n=[d]:n.push(d),l++}for(var J in U)if(!("ket_version"===J||"root"===J||SZ.test(J)||EZ.test(J)||kZ.test(J))){var N={instancePath:B,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:J},message:"must NOT have additional properties"};null===n?n=[N]:n.push(N),l++}if(void 0!==U.ket_version&&"string"!==typeof U.ket_version){var Z={instancePath:B+"/ket_version",schemaPath:"#/properties/ket_version/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[Z]:n.push(Z),l++}if(void 0!==U.root){var W=U.root;if(W&&"object"==(0,a.A)(W)&&!Array.isArray(W)){if(void 0===W.nodes){var S={instancePath:B+"/root",schemaPath:"#/properties/root/required",keyword:"required",params:{missingProperty:"nodes"},message:"must have required property 'nodes'"};null===n?n=[S]:n.push(S),l++}if(void 0!==W.nodes){var E=W.nodes;if(Array.isArray(E)){if(E.length<0){var k={instancePath:B+"/root/nodes",schemaPath:"#/properties/root/properties/nodes/minItems",keyword:"minItems",params:{limit:0},message:"must NOT have fewer than 0 items"};null===n?n=[k]:n.push(k),l++}for(var t=E.length,T=0;T2){var q={instancePath:B+"/root/nodes/"+T+"/data/pos",schemaPath:"#/definitions/simpleObject/properties/data/else/properties/pos/maxItems",keyword:"maxItems",params:{limit:2},message:"must NOT have more than 2 items"};null===n?n=[q]:n.push(q),l++}if(A.length<2){var _={instancePath:B+"/root/nodes/"+T+"/data/pos",schemaPath:"#/definitions/simpleObject/properties/data/else/properties/pos/minItems",keyword:"minItems",params:{limit:2},message:"must NOT have fewer than 2 items"};null===n?n=[_]:n.push(_),l++}for(var $=A.length,UU=0;UU<$;UU++){var FU=A[UU];if(FU&&"object"==(0,a.A)(FU)&&!Array.isArray(FU)){if(void 0===FU.x){var QU={instancePath:B+"/root/nodes/"+T+"/data/pos/"+UU,schemaPath:"#/definitions/simpleObject/properties/data/else/properties/pos/items/required",keyword:"required",params:{missingProperty:"x"},message:"must have required property 'x'"};null===n?n=[QU]:n.push(QU),l++}if(void 0===FU.y){var BU={instancePath:B+"/root/nodes/"+T+"/data/pos/"+UU,schemaPath:"#/definitions/simpleObject/properties/data/else/properties/pos/items/required",keyword:"required",params:{missingProperty:"y"},message:"must have required property 'y'"};null===n?n=[BU]:n.push(BU),l++}if(void 0!==FU.x&&"number"!=typeof FU.x){var RU={instancePath:B+"/root/nodes/"+T+"/data/pos/"+UU+"/x",schemaPath:"#/definitions/simpleObject/properties/data/else/properties/pos/items/properties/x/type",keyword:"type",params:{type:"number"},message:"must be number"};null===n?n=[RU]:n.push(RU),l++}if(void 0!==FU.y&&"number"!=typeof FU.y){var VU={instancePath:B+"/root/nodes/"+T+"/data/pos/"+UU+"/y",schemaPath:"#/definitions/simpleObject/properties/data/else/properties/pos/items/properties/y/type",keyword:"type",params:{type:"number"},message:"must be number"};null===n?n=[VU]:n.push(VU),l++}if(void 0!==FU.z&&"number"!=typeof FU.z){var nU={instancePath:B+"/root/nodes/"+T+"/data/pos/"+UU+"/z",schemaPath:"#/definitions/simpleObject/properties/data/else/properties/pos/items/properties/z/type",keyword:"type",params:{type:"number"},message:"must be number"};null===n?n=[nU]:n.push(nU),l++}}else{var lU={instancePath:B+"/root/nodes/"+T+"/data/pos/"+UU,schemaPath:"#/definitions/simpleObject/properties/data/else/properties/pos/items/type",keyword:"type",params:{type:"object"},message:"must be object"};null===n?n=[lU]:n.push(lU),l++}}}else{var dU={instancePath:B+"/root/nodes/"+T+"/data/pos",schemaPath:"#/definitions/simpleObject/properties/data/else/properties/pos/type",keyword:"type",params:{type:"array"},message:"must be array"};null===n?n=[dU]:n.push(dU),l++}}}i=G=g===l,s="else"}if(!i){var JU={instancePath:B+"/root/nodes/"+T+"/data",schemaPath:"#/definitions/simpleObject/properties/data/if",keyword:"if",params:{failingKeyword:s},message:'must match "'+s+'" schema'};null===n?n=[JU]:n.push(JU),l++}if(m&&"object"==(0,a.A)(m)&&!Array.isArray(m)){if(void 0===m.mode){var NU={instancePath:B+"/root/nodes/"+T+"/data",schemaPath:"#/definitions/simpleObject/properties/data/required",keyword:"required",params:{missingProperty:"mode"},message:"must have required property 'mode'"};null===n?n=[NU]:n.push(NU),l++}if(void 0!==m.mode){var ZU=m.mode;if("string"!==typeof ZU){var WU={instancePath:B+"/root/nodes/"+T+"/data/mode",schemaPath:"#/definitions/simpleObject/properties/data/properties/mode/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[WU]:n.push(WU),l++}if("line"!==ZU&&"rectangle"!==ZU&&"circle"!==ZU&&"ellipse"!==ZU&&"polyline"!==ZU){var SU={instancePath:B+"/root/nodes/"+T+"/data/mode",schemaPath:"#/definitions/simpleObject/properties/data/properties/mode/enum",keyword:"enum",params:{allowedValues:WZ.properties.data.properties.mode.enum},message:"must be equal to one of the allowed values"};null===n?n=[SU]:n.push(SU),l++}}}else{var EU={instancePath:B+"/root/nodes/"+T+"/data",schemaPath:"#/definitions/simpleObject/properties/data/type",keyword:"type",params:{type:"object"},message:"must be object"};null===n?n=[EU]:n.push(EU),l++}}if(void 0!==e.selected&&"boolean"!==typeof e.selected){var kU={instancePath:B+"/root/nodes/"+T+"/selected",schemaPath:"#/definitions/simpleObject/properties/selected/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};null===n?n=[kU]:n.push(kU),l++}}else{var tU={instancePath:B+"/root/nodes/"+T,schemaPath:"#/definitions/simpleObject/type",keyword:"type",params:{type:"object"},message:"must be object"};null===n?n=[tU]:n.push(tU),l++}(MF=p===l)&&(D=!0,o=0);var aU=l;if(pZ(e,{instancePath:B+"/root/nodes/"+T,parentData:E,parentDataProperty:T,rootData:V})||(l=(n=null===n?pZ.errors:n.concat(pZ.errors)).length),(MF=aU===l)&&D)D=!1,o=[o,1];else{MF&&(D=!0,o=1);var TU=l;if(e&&"object"==(0,a.A)(e)&&!Array.isArray(e)){if(void 0===e.type){var eU={instancePath:B+"/root/nodes/"+T,schemaPath:"#/definitions/arrow/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};null===n?n=[eU]:n.push(eU),l++}if(void 0===e.data){var CU={instancePath:B+"/root/nodes/"+T,schemaPath:"#/definitions/arrow/required",keyword:"required",params:{missingProperty:"data"},message:"must have required property 'data'"};null===n?n=[CU]:n.push(CU),l++}if(void 0!==e.type&&"arrow"!==e.type){var DU={instancePath:B+"/root/nodes/"+T+"/type",schemaPath:"#/definitions/arrow/properties/type/const",keyword:"const",params:{allowedValue:"arrow"},message:"must be equal to constant"};null===n?n=[DU]:n.push(DU),l++}if(void 0!==e.data){var oU=e.data;if(oU&&"object"==(0,a.A)(oU)&&!Array.isArray(oU)){if(void 0===oU.mode){var pU={instancePath:B+"/root/nodes/"+T+"/data",schemaPath:"#/definitions/arrow/properties/data/required",keyword:"required",params:{missingProperty:"mode"},message:"must have required property 'mode'"};null===n?n=[pU]:n.push(pU),l++}if(void 0!==oU.mode&&"string"!==typeof oU.mode){var hU={instancePath:B+"/root/nodes/"+T+"/data/mode",schemaPath:"#/definitions/arrow/properties/data/properties/mode/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[hU]:n.push(hU),l++}if(void 0!==oU.pos){var cU=oU.pos;if(Array.isArray(cU))for(var rU=cU.length,mU=0;mU3){var IU={instancePath:B+"/root/nodes/"+T+"/location",schemaPath:"#/definitions/plus/properties/location/maxItems",keyword:"maxItems",params:{limit:3},message:"must NOT have more than 3 items"};null===n?n=[IU]:n.push(IU),l++}if(jU.length<2){var KU={instancePath:B+"/root/nodes/"+T+"/location",schemaPath:"#/definitions/plus/properties/location/minItems",keyword:"minItems",params:{limit:2},message:"must NOT have fewer than 2 items"};null===n?n=[KU]:n.push(KU),l++}for(var fU=jU.length,gU=0;gU",limit:0},message:"must be > 0"};null===n?n=[EF]:n.push(EF),l++}}else{var kF={instancePath:B+"/root/nodes/"+T+"/boundingBox/width",schemaPath:"#/definitions/image/properties/boundingBox/properties/width/type",keyword:"type",params:{type:"number"},message:"must be number"};null===n?n=[kF]:n.push(kF),l++}}if(void 0!==dF.height){var tF=dF.height;if("number"==typeof tF){if(tF<=0||isNaN(tF)){var aF={instancePath:B+"/root/nodes/"+T+"/boundingBox/height",schemaPath:"#/definitions/image/properties/boundingBox/properties/height/exclusiveMinimum",keyword:"exclusiveMinimum",params:{comparison:">",limit:0},message:"must be > 0"};null===n?n=[aF]:n.push(aF),l++}}else{var TF={instancePath:B+"/root/nodes/"+T+"/boundingBox/height",schemaPath:"#/definitions/image/properties/boundingBox/properties/height/type",keyword:"type",params:{type:"number"},message:"must be number"};null===n?n=[TF]:n.push(TF),l++}}if(void 0!==dF.x&&"number"!=typeof dF.x){var eF={instancePath:B+"/root/nodes/"+T+"/boundingBox/x",schemaPath:"#/definitions/image/properties/boundingBox/properties/x/type",keyword:"type",params:{type:"number"},message:"must be number"};null===n?n=[eF]:n.push(eF),l++}if(void 0!==dF.y&&"number"!=typeof dF.y){var CF={instancePath:B+"/root/nodes/"+T+"/boundingBox/y",schemaPath:"#/definitions/image/properties/boundingBox/properties/y/type",keyword:"type",params:{type:"number"},message:"must be number"};null===n?n=[CF]:n.push(CF),l++}if(void 0!==dF.z&&"number"!=typeof dF.z){var DF={instancePath:B+"/root/nodes/"+T+"/boundingBox/z",schemaPath:"#/definitions/image/properties/boundingBox/properties/z/type",keyword:"type",params:{type:"number"},message:"must be number"};null===n?n=[DF]:n.push(DF),l++}}else{var oF={instancePath:B+"/root/nodes/"+T+"/boundingBox",schemaPath:"#/definitions/image/properties/boundingBox/type",keyword:"type",params:{type:"object"},message:"must be object"};null===n?n=[oF]:n.push(oF),l++}}if(void 0!==e.data){var pF=e.data;if("string"===typeof pF){if(vZ(pF)<160){var hF={instancePath:B+"/root/nodes/"+T+"/data",schemaPath:"#/definitions/image/properties/data/minLength",keyword:"minLength",params:{limit:160},message:"must NOT have fewer than 160 characters"};null===n?n=[hF]:n.push(hF),l++}}else{var cF={instancePath:B+"/root/nodes/"+T+"/data",schemaPath:"#/definitions/image/properties/data/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[cF]:n.push(cF),l++}}}else{var rF={instancePath:B+"/root/nodes/"+T,schemaPath:"#/definitions/image/type",keyword:"type",params:{type:"object"},message:"must be object"};null===n?n=[rF]:n.push(rF),l++}if((MF=$U===l)&&D)D=!1,o=[o,4];else{MF&&(D=!0,o=4);var mF=l;if(hZ(e,{instancePath:B+"/root/nodes/"+T,parentData:E,parentDataProperty:T,rootData:V})||(l=(n=null===n?hZ.errors:n.concat(hZ.errors)).length),(MF=mF===l)&&D)D=!1,o=[o,5];else{MF&&(D=!0,o=5);var MF,iF=l;if(e&&"object"==(0,a.A)(e)&&!Array.isArray(e)){if(void 0===e.$ref){var bF={instancePath:B+"/root/nodes/"+T,schemaPath:"#/properties/root/properties/nodes/items/oneOf/6/required",keyword:"required",params:{missingProperty:"$ref"},message:"must have required property '$ref'"};null===n?n=[bF]:n.push(bF),l++}if(void 0!==e.$ref){var vF=e.$ref;if("string"===typeof vF){if(!aZ.test(vF)){var GF={instancePath:B+"/root/nodes/"+T+"/$ref",schemaPath:"#/properties/root/properties/nodes/items/oneOf/6/properties/%24ref/pattern",keyword:"pattern",params:{pattern:"^(mol\\d+|rg[1-9]\\d*)"},message:'must match pattern "^(mol\\d+|rg[1-9]\\d*)"'};null===n?n=[GF]:n.push(GF),l++}}else{var sF={instancePath:B+"/root/nodes/"+T+"/$ref",schemaPath:"#/properties/root/properties/nodes/items/oneOf/6/properties/%24ref/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[sF]:n.push(sF),l++}}}else{var XF={instancePath:B+"/root/nodes/"+T,schemaPath:"#/properties/root/properties/nodes/items/oneOf/6/type",keyword:"type",params:{type:"object"},message:"must be object"};null===n?n=[XF]:n.push(XF),l++}(MF=iF===l)&&D?(D=!1,o=[o,6]):MF&&(D=!0,o=6)}}}}}if(D)l=C,null!==n&&(C?n.length=C:n=null);else{var YF={instancePath:B+"/root/nodes/"+T,schemaPath:"#/properties/root/properties/nodes/items/oneOf",keyword:"oneOf",params:{passingSchemas:o},message:"must match exactly one schema in oneOf"};null===n?n=[YF]:n.push(YF),l++}}}else{var yF={instancePath:B+"/root/nodes",schemaPath:"#/properties/root/properties/nodes/type",keyword:"type",params:{type:"array"},message:"must be array"};null===n?n=[yF]:n.push(yF),l++}}}else{var zF={instancePath:B+"/root",schemaPath:"#/properties/root/type",keyword:"type",params:{type:"object"},message:"must be object"};null===n?n=[zF]:n.push(zF),l++}}for(var OF in U)SZ.test(OF)&&(YZ(U[OF],{instancePath:B+"/"+OF.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:U,parentDataProperty:OF,rootData:V})||(l=(n=null===n?YZ.errors:n.concat(YZ.errors)).length));for(var LF in U)EZ.test(LF)&&(yZ(U[LF],{instancePath:B+"/"+LF.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:U,parentDataProperty:LF,rootData:V})||(l=(n=null===n?yZ.errors:n.concat(yZ.errors)).length));for(var HF in U)if(kZ.test(HF)){var xF=U[HF];if(xF&&"object"==(0,a.A)(xF)&&!Array.isArray(xF)){if(void 0!==xF.moleculeName&&"string"!==typeof xF.moleculeName){var uF={instancePath:B+"/"+HF.replace(/~/g,"~0").replace(/\//g,"~1")+"/moleculeName",schemaPath:"#/definitions/header/properties/moleculeName/type",keyword:"type",params:{type:"string"},message:"must be string"};null===n?n=[uF]:n.push(uF),l++}}else{var wF={instancePath:B+"/"+HF.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/definitions/header/type",keyword:"type",params:{type:"object"},message:"must be object"};null===n?n=[wF]:n.push(wF),l++}}}else{var jF={instancePath:B,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};null===n?n=[jF]:n.push(jF),l++}return zZ.errors=n,0===l}NZ.default=ZZ;function OZ(U){var F=NZ(U);return F?U.root.nodes.every(function(U){return U.type!==nU||null===eV.validateKetNode(U.data)||null}):F}function LZ(U,F){var Q="undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(!Q){if(Array.isArray(U)||(Q=function(U,F){if(U){if("string"==typeof U)return HZ(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?HZ(U,F):void 0}}(U))||F&&U&&"number"==typeof U.length){Q&&(U=Q);var B=0,R=function(){};return{s:R,n:function(){return B>=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function HZ(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q1&&void 0!==arguments[1])||arguments[1],R=U.hoverStyle;["simpleObject",q].includes(this.visel.type)?null===(F=this.hovering)||void 0===F||F.attr({"fill-opacity":this.selected?1:0}):null===(Q=this.hovering)||void 0===Q||Q.attr({fill:R.fill,"fill-opacity":this.selected?1:0,stroke:B?R.stroke:"none"})}},{key:"getVBoxObj",value:function(U){var F=this.visel.boundingBox;return null===F?null:(U.options.offset&&(F=F.translate(U.options.offset.negated())),F.transform(fF.canvasToModel,U.options))}},{key:"setHover",value:function(U,F){var Q=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],B=F.options;if(U){var R="hovering"in this&&null!==this.hovering;if(R)if("set"===this.hovering.type){if(!this.hovering[0])return;R=!this.hovering[0].removed}else R=!this.hovering.removed;R?(this.changeSelectionStyle(B,Q),this.hovering.show()):(F.paper.setStart(),this.drawHover(F,Q),this.hovering=F.paper.setFinish())}else this.hovering&&(this.changeSelectionStyle(B,Q),this.hovering.hide());this.hover=U}},{key:"drawHover",value:function(U,F){throw new Error("ReObject.drawHover is not overridden.")}},{key:"makeSelectionPlate",value:function(U,F,Q){throw new Error("ReObject.makeSelectionPlate is not overridden")}}]),U}();function jZ(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function IZ(U){for(var F=1;F2&&void 0!==arguments[2]?arguments[2]:7,B=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5,R=U.x+F,V=new zF(R,U.y),n=R-Q;return this.addLine(V,U).addLine({x:n,y:V.y-B}).addLine({x:n,y:V.y+B},V)}},{key:"addFilledTriangleArrowPathParts",value:function(U,F){var Q=arguments.length>2&&void 0!==arguments[2]?arguments[2]:8,B=arguments.length>3&&void 0!==arguments[3]?arguments[3]:4,R=U.x+F,V=new zF(R,U.y),n=new zF(R-Q,V.y),l=R-Q;return this.addLine(U,n).addLine({x:l,y:V.y-B},V).addClosedLine({x:l,y:V.y+B})}},{key:"addMultitailArrowBase",value:function(U,F,Q,B){var R=arguments.length>4&&void 0!==arguments[4]?arguments[4]:6,V=Q-B,n=Q-R;return this.addMovement({x:V,y:U}).addLine({x:n,y:U}).addQuadraticBezierCurve({x:Q,y:U},{x:Q,y:U+R}).addLine({x:Q,y:F-R}).addQuadraticBezierCurve({x:Q,y:F},{x:n,y:F}).addLine({x:V,y:F})}},{key:"build",value:function(){return this.pathParts.join(" ")}}],[{key:"generatePoint",value:function(U){return"".concat(bU(U.x),",").concat(bU(U.y))}}]),U}();function _Z(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function $Z(U){for(var F=1;F=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function FW(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q=0?1:-1,N=dW(V),Z=N.arrowHeadLength,W=N.arrowHeadWidth,S=N.arrowHeadAttr,E=J*Z,k=J*W,t=J*S,a=l.x+Q,T="M".concat(bU(l.x),",").concat(bU(l.y))+"A".concat(Q/2,",").concat(d,",",0,",",0,",").concat(J>0?1:0,",").concat(bU(a),",").concat(bU(l.y))+"L".concat(bU(a-k),",").concat(bU(l.y-E))+"l".concat(bU(k),",").concat(bU(t))+"l".concat(bU(k),",").concat(bU(-t))+"l".concat(bU(-k),",").concat(E),e=X()(T).rotate(B,l.x,l.y).toString();return U.path(e).attr($Z($Z({},V.lineattr),n&&{stroke:V.arrowSnappingStyle.stroke}))}(U,F,Q,B,V,l);case VB.EllipticalArcFilledTriangle:return function(U,F,Q,B,V,n){var l=(0,R.A)(F.pos,1)[0],d=F.height,J=dW(V),N=J.arrowHeadLength,Z=J.arrowHeadWidth,W=d>=0?1:-1,S=W*N,E=W*Z,k=l.x+Q,t="M".concat(bU(l.x),",").concat(bU(l.y))+"A".concat(Q/2,",").concat(d,",",0,",",0,",").concat(W>0?1:0,",").concat(bU(k),",").concat(bU(l.y))+"L".concat(bU(k-E),",").concat(bU(l.y-S))+"l".concat(bU(S),",").concat(bU(0))+"l".concat(bU(-E),",").concat(bU(S)),a=X()(t).rotate(B,l.x,l.y).toString();return U.path(a).attr($Z($Z({},V.lineattr),n&&{stroke:V.arrowSnappingStyle.stroke}))}(U,F,Q,B,V,l);case VB.EllipticalArcOpenAngle:return function(U,F,Q,B,V,n){var l=(0,R.A)(F.pos,1)[0],d=F.height,J=d>=0?1:-1,N=dW(V),Z=N.arrowHeadLength,W=N.arrowHeadWidth,S=J*W,E=J*Z,k=l.x+Q,t="M".concat(bU(l.x),",").concat(bU(l.y))+"A".concat(Q/2,",").concat(d,",",0,",",0,",").concat(J>0?1:0,",").concat(bU(k),",").concat(bU(l.y))+"L".concat(bU(k-S),",").concat(bU(l.y-E))+"M".concat(bU(k),",").concat(bU(l.y))+"L".concat(bU(k+S),", ").concat(bU(l.y-E)),a=X()(t).rotate(B,l.x,l.y).toString();return U.path(a).attr($Z($Z({},V.lineattr),n&&{stroke:V.arrowSnappingStyle.stroke}))}(U,F,Q,B,V,l);case VB.EllipticalArcOpenHalfAngle:return function(U,F,Q,B,V,n){var l=(0,R.A)(F.pos,1)[0],d=F.height,J=d>=0?1:-1,N=dW(V),Z=N.arrowHeadLength,W=N.arrowHeadWidth,S=J*W,E=J*Z,k=l.x+Q,t="M".concat(bU(l.x),",").concat(bU(l.y))+"A".concat(Q/2,",").concat(d,",",0,",",0,",").concat(J>0?1:0,", ").concat(bU(k),",").concat(bU(l.y))+"L".concat(bU(k+S),", ").concat(bU(l.y-E)),a=X()(t).rotate(B,l.x,l.y).toString();return U.path(a).attr($Z($Z({},V.lineattr),n&&{stroke:V.arrowSnappingStyle.stroke}))}(U,F,Q,B,V,l)}},plus:function(U,F,Q){var B=Q.microModeScale/5;return U.path("M{0},{4}L{0},{5}M{2},{1}L{3},{1}",bU(F.x),bU(F.y),bU(F.x-B),bU(F.x+B),bU(F.y-B),bU(F.y+B)).attr(Q.lineattr)},aromaticBondPaths:function(U,F,Q,B,R,V){return[V&&1&R?ZW(U,Q,V):NW(U,Q),V&&2&R?ZW(F,B,V):NW(F,B)]},bondSingle:function(U,F,Q,B,R){var V=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"#000",n=F.p,l=Q.p;return U.path(NW(n,l)).attr(B.lineattr).attr({fill:V,stroke:V}).attr(R?B.bondSnappingStyle:{})},bondSingleUp:function(U,F,Q,B,R,V){var n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:"#000";return U.path("M{0},{1}L{2},{3}L{4},{5}Z",bU(F.x),bU(F.y),bU(Q.x),bU(Q.y),bU(B.x),bU(B.y)).attr(R.lineattr).attr({fill:n,stroke:n}).attr(V?R.bondSnappingStyle:{})},bondSingleStereoBold:function(U,F,Q,B,R,V,n){var l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"#000";return U.path("M{0},{1}L{2},{3}L{4},{5}L{6},{7}Z",bU(F.x),bU(F.y),bU(Q.x),bU(Q.y),bU(B.x),bU(B.y),bU(R.x),bU(R.y)).attr(V.lineattr).attr({stroke:l,fill:l}).attr(n?V.bondSnappingStyle:{})},bondDoubleStereoBold:function(U,F,Q,B,R,V){var n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:"#000";return U.set([F,U.path("M{0},{1}L{2},{3}",bU(Q.x),bU(Q.y),bU(B.x),bU(B.y)).attr(R.lineattr).attr({stroke:n,fill:n}).attr(V?R.bondSnappingStyle:{})])},bondSingleDown:function(U,F,Q,B,R,V,n){for(var l,d=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"#000",J=F.p,N=F.norm,Z=.7*V.stereoBond,W="",S=0;S7&&void 0!==arguments[7]?arguments[7]:"#000",d=F.p,J=F.norm,N=.7*V.stereoBond,Z="M"+bU(d.x)+","+bU(d.y),W=d,S=0;S5&&void 0!==arguments[5]?arguments[5]:"#000",n=F.p,l=Q.p,d=F.norm,J=n.addScaled(d,B.bondSpace),N=l.addScaled(d,B.bondSpace),Z=n.addScaled(d,-B.bondSpace),W=l.addScaled(d,-B.bondSpace);return U.path(NW(n,l)+NW(J,N)+NW(Z,W)).attr(B.lineattr).attr({fill:V,stroke:V}).attr(R?B.bondSnappingStyle:{})},bondAromatic:function(U,F,Q,B,R){var V=U.path(F[0]).attr(B.lineattr).attr(R?B.bondSnappingStyle:{}),n=U.path(F[1]).attr(B.lineattr).attr(R?B.bondSnappingStyle:{});return void 0!==Q&&null!==Q&&(Q>0?V:n).attr({"stroke-dasharray":"- "}),U.set([V,n])},bondAny:function(U,F,Q,B,R){var V=F.p,n=Q.p;return U.path(NW(V,n)).attr(B.lineattr).attr({"stroke-dasharray":"- "}).attr(R?B.bondSnappingStyle:{})},bondHydrogen:function(U,F,Q,B,R){var V=F.p,n=Q.p;return U.path(NW(V,n)).attr(B.lineattr).attr({"stroke-dasharray":".","stroke-linecap":"square"}).attr(R?B.bondSnappingStyle:{})},bondDative:function(U,F,Q,B,R){var V=F.p,n=Q.p;if(isNaN(V.x)||isNaN(V.y)||isNaN(n.x)||isNaN(n.y))return U.path("");var l=zF.diff(n,V);return l.length()<5?function(U,F,Q,B){var R=.1*Q.microModeScale,V=R/1.32,n=2.5*R,l="M0,0 L".concat(-n,",").concat(-V," L").concat(-n,",").concat(V," Z"),d=X()(l).rotate(B,0,0).translate(F.x,F.y).toString();return U.path(d).attr($Z($Z({},Q.lineattr),{},{"stroke-width":0,fill:Q.lineattr.stroke}))}(U,n,B,Math.atan2(l.y,l.x)*(180/Math.PI)):U.path(NW(V,n)).attr(B.lineattr).attr({"arrow-end":"block-midium-long"}).attr(R?B.bondSnappingStyle:{})},reactingCenter:function(U,F,Q){var B,V="",n=UW(F.entries());try{for(n.s();!(B=n.n()).done;){var l=(0,R.A)(B.value,2),d=l[0],J=l[1];if(d%2===0){var N=F[d+1];N&&(V+=NW(J,N))}}}catch(Z){n.e(Z)}finally{n.f()}return U.path(V).attr(Q.lineattr)},bondMark:function(U,F,Q,B){var R=U.text(F.x,F.y,Q).attr({font:B.font,"font-size":B.fontszsubInPx,fill:"#000"}),V=qd.relBox(R.getBBox());return WW(R,V),R},radicalCap:function(U,F,Q){var B=.9*Q.lineWidth,R=B,V=2*B;return U.path("M{0},{1}L{2},{3}L{4},{5}",bU(F.x-R),bU(F.y+V),bU(F.x),bU(F.y),bU(F.x+R),bU(F.y+V)).attr({stroke:"#000","stroke-width":.7*Q.lineWidth,"stroke-linecap":"square","stroke-linejoin":"miter"})},radicalBullet:function(U,F,Q){return U.circle(bU(F.x),bU(F.y),Q.lineWidth).attr({stroke:null,fill:"#000"})},bracket:function(U,F,Q,B,R,V,n){R=R||.25,V=V||1;var l=B.addScaled(Q,-.5*V),d=B.addScaled(Q,.5*V),J=l.addScaled(F,-R),N=d.addScaled(F,-R);return U.path("M{0},{1}L{2},{3}L{4},{5}L{6},{7}",bU(J.x),bU(J.y),bU(l.x),bU(l.y),bU(d.x),bU(d.y),bU(N.x),bU(N.y)).attr(n.sgroupBracketStyle)},selectionRectangle:function(U,F,Q,B){return U.rect(bU(Math.min(F.x,Q.x)),bU(Math.min(F.y,Q.y)),bU(Math.abs(Q.x-F.x)),bU(Math.abs(Q.y-F.y))).attr(B.lassoStyle)},selectionPolygon:function(U,F,Q){var B,R=F[F.length-1],V="M"+bU(R.x)+","+bU(R.y),n=UW(F);try{for(n.s();!(B=n.n()).done;){var l=B.value;V+="L"+bU(l.x)+","+bU(l.y)}}catch(d){n.e(d)}finally{n.f()}return U.path(V).attr(Q.lassoStyle)},selectionLine:function(U,F,Q,B){return U.path(NW(F,Q)).attr(B.lassoStyle)},ellipse:function(U,F){var Q=zF.diff(F[1],F[0]),B=Q.x/2,R=Q.y/2;return U.ellipse(F[0].x+B,F[0].y+R,Math.abs(B),Math.abs(R))},rectangle:function(U,F){return U.rect(bU(Math.min(F[0].x,F[1].x)),bU(Math.min(F[0].y,F[1].y)),bU(Math.abs(F[1].x-F[0].x)),bU(Math.abs(F[1].y-F[0].y)))},rectangleArrowHighlightAndSelection:function(U,F,Q,B){var V=(0,R.A)(F.pos,1)[0],n=F.height,l=V.x+Q,d=n||8,J="M".concat(bU(V.x-5),",").concat(bU(V.y))+"L".concat(bU(V.x-5),",").concat(bU(V.y-d))+"L".concat(bU(l+5),",").concat(bU(V.y-d))+"L".concat(bU(l+5),",").concat(bU(V.y+(n?0:d)))+"L".concat(bU(V.x-5),",").concat(bU(V.y+(n?0:d)),"Z");return X()(J).rotate(B,V.x,V.y).toString()},polyline:function(U,F){var Q,B=["M",F[0].x,F[0].y],R=UW(F.slice(1));try{for(R.s();!(Q=R.n()).done;){var V=Q.value;B.push("L",V.x,V.y)}}catch(n){R.e(n)}finally{R.f()}return U.path(B)},line:function(U,F){var Q=["M",F[0].x,F[0].y];return Q.push("L",F[1].x,F[1].y),U.path(Q)},rgroupAttachmentPoint:function(U,F,Q,B,R){var V=U.path("M{0},{1}L{2},{3}",bU(F.x),bU(F.y),bU(Q.x),bU(Q.y)),n=U.path(function(U,F,Q){var B="M13 1.5l-1.5 3.7c-0.3 0.8-1.5 0.8-1.9 0l-1.7-4.4c-0.3-0.8-1.5-0.8-1.9 0l-1.7 4.4c-0.3 0.8-1.5 0.8-1.8 0l-1.8-4.4c-0.3-0.8-1.5-0.8-1.9 0l-1.7 4.4c-0.3 0.8-1.5 0.8-1.9 0l-1.7-4.4c-0.3-0.8-1.5-0.8-1.9 0l-1.6 4.2c-0.3 0.9-1.6 0.8-1.9 0l-1.2-3.5",R=Q/39.8,V=180*Math.atan2(F.y,F.x)/Math.PI-90;return X()(B).rotate(V).scale(R).translate(U.x,U.y).toString()}(Q,B,R.microModeScale));return U.set([n,V]).attr(R.lineattr).attr({"stroke-width":R.bondThicknessInPx})},rgroupAttachmentPointLabel:function(U,F,Q,B,R){return U.text(F.x,F.y,Q).attr({font:B.font,"font-size":.9*B.fontszInPx,fill:R})}},EW={0:"0",1:"I",2:"II",3:"III",4:"IV",5:"V",6:"VI",7:"VII",8:"VIII",9:"IX",10:"X",11:"XI",12:"XII",13:"XIII",14:"XIV"};function kW(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(kW=function(){return!!U})()}var tW=function(U){function F(U){var Q;return(0,V.A)(this,F),(Q=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,kW()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,["sgroupData"])).sgroup=U,Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"hoverPath",value:function(U){var F=this.sgroup.dataArea,Q=fF.modelToCanvas(F.p0,U.options),B=fF.modelToCanvas(F.p1,U.options).sub(Q);return U.paper.rect(Q.x,Q.y,B.x,B.y)}},{key:"drawHover",value:function(U){var F=this.hoverPath(U).attr(U.options.hoverStyle);return U.ctab.addReObjectPath(Ml.hovering,this.visel,F),F}},{key:"makeSelectionPlate",value:function(U,F,Q){return this.hoverPath(U.render).attr(Q.selectionStyle)}}],[{key:"isSelectable",value:function(){return!0}}]),F}(wZ),aW=(0,n.A)(function U(F,Q,B,R,n){(0,V.A)(this,U),this.center=F,this.bracketAngleDirection=Q,this.bracketDirection=n||Q.rotateSC(1,0),this.width=B,this.height=R});function TW(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(TW=function(){return!!U})()}var eW=(0,Z.A)((0,Z.A)((0,Z.A)({},pQ.BASE,"Base"),pQ.SUGAR,"Sugar"),pQ.PHOSPHATE,"Phosphate");function CW(U){var F,Q=U.tagName;if("circle"===Q){var B=parseFloat(U.getAttribute("cx")),R=parseFloat(U.getAttribute("cy")),V=parseFloat(U.getAttribute("r"));F=new(y().Path.Circle)(new(y().Point)(B,R),V)}else if("rect"===Q){var n=parseFloat(U.getAttribute("x")),l=parseFloat(U.getAttribute("y")),d=parseFloat(U.getAttribute("width")),J=parseFloat(U.getAttribute("height"));F=new(y().Path.Rectangle)(new(y().Rectangle)(n,l,d,J),new(y().Size)(parseFloat(U.getAttribute("rx")||"0"),parseFloat(U.getAttribute("ry")||"0")))}else if("path"===Q){var N=U.getAttribute("d");F=new(y().CompoundPath)(N)}return F}var DW=function(U){function F(U){var Q;return(0,V.A)(this,F),(Q=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,TW()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,["sgroup"])).item=U,Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"draw",value:function(U,F){this.render=U.render;var Q=this.render.paper.set();MQ.bracketPos(F,U.molecule,U,this.render);var B=F.bracketBox,R=F.bracketDirection;if(F.areas=[B],F.isExpanded()){var V={set:Q,render:this.render,sgroup:F,bracketBox:B,direction:R};switch(F.type){case"MUL":V.lowerIndexText=F.data.mul;break;case"SRU":var n=F.data.connectivity||"eu";"ht"===n&&(n="");var l=F.data.subscript||"n";V.lowerIndexText=l,V.upperIndexText=n;break;case"COP":var d=F.data.connectivity||"eu";V.upperIndexText=d;var J=F.data.subtype;F.data.subtype&&(V.lowerIndexText=J);break;case"SUP":V.lowerIndexText=F.data.name||eW[F.data.class],V.upperIndexText=null,V.indexAttribute={"font-style":"italic"},V.superatomClass=F.data.class;break;case"DAT":Q=function(U,F){null===F.pp&&F.calculatePP(U.molecule);return F.data.attached?function(U,F){var Q=U.render,B=Q.options,R=Q.paper,V=R.set();return MQ.getAtoms(U.molecule,F).forEach(function(n){var l=U.atoms.get(n);if(l){var d=fF.modelToCanvas(l.a.pp,B),J=l.visel.boundingBox;null!==J&&(d.x=Math.max(d.x,J.p1.x)),d.x+=B.lineWidth;var N=pW(R,d,F,B),Z=qd.relBox(N.getBBox());N.translateAbs(.5*Z.width,-.3*Z.height),V.push(N);var W=IF.fromRelBox(qd.relBox(N.getBBox()));W=W.transform(fF.canvasToModel,Q.options),F.areas.push(W)}}),V}(U,F):function(U,F){var Q,B=U.render,R=B.options,V=B.paper,n=V.set(),l=null===F||void 0===F||null===(Q=F.pp)||void 0===Q?void 0:Q.scaled(R.microModeScale),d=pW(V,l,F,R);if(F.data.context!==CQ.Bond){var J=qd.relBox(d.getBBox());d.translateAbs(.5*J.width,-.5*J.height)}n.push(d);var N=IF.fromRelBox(qd.relBox(d.getBBox()));F.dataArea=N.transform(fF.canvasToModel,B.options),U.sgroupData.has(F.id)||U.sgroupData.set(F.id,new tW(F));return n}(U,F)}(U,F)}!["MUL","SRU","SUP","GEN","COP","queryComponent"].includes(F.type)||F.isSuperatomWithoutLabel||F instanceof DB||oW(V)}return Q}},{key:"getTextHighlightDimensions",value:function(U){var F=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,Q=0,B=0,R=0,V=0,n=this.item;if(n){var l=n.getContractedPosition(U.ctab.molecule),d=l.atomId,J=l.position;if(null!==n&&void 0!==n&&n.isContracted()&&J){var N=U.ctab.atoms.get(d),Z=(null===N||void 0===N?void 0:N.visel.boundingBox)||(null===N||void 0===N?void 0:N.visel.oldBoundingBox);if(Z){var W=fF.modelToCanvas(J,U.options),S=W.x,E=W.y,k=Z.p0,t=Z.p1;Q=S-(R=t.x-k.x+2*F)/2,B=E-(V=t.y-k.y+2*F)/2}}}return{startX:Q,startY:B,width:R,height:V}}},{key:"getContractedSelectionContour",value:function(U){var F=U.paper,Q=U.options,B=Q.fontszInPx,R=B*Q.radiusScaleFactor*2,V=this.getTextHighlightDimensions(U,B/2),n=V.startX,l=V.startY,d=V.width,J=V.height;return F.rect(n,l,d,J,R)}},{key:"makeSelectionPlate",value:function(U,F,Q){var B=this.item,R=U.molecule.functionalGroups,V=U.render;if(zQ.isContractedFunctionalGroup(null===B||void 0===B?void 0:B.id,R))return this.getContractedSelectionContour(V).attr(Q.selectionStyle)}},{key:"drawHover",value:function(U){var F=U.options,Q=U.paper,B=this.item;if(B){var R=function(U,F){var Q=F.options,B=U.bracketBox.transform(fF.modelToCanvas,Q),R=Q.lineWidth,V=new zF(4*R,6*R);B=B.extend(V,V);var n=U.bracketDirection,l=n.rotateSC(1,0),d=zF.lc2(n,B.p0.x,l,B.p0.y),J=zF.lc2(n,B.p0.x,l,B.p1.y),N=zF.lc2(n,B.p1.x,l,B.p0.y),Z=zF.lc2(n,B.p1.x,l,B.p1.y),W=Q.contractedFunctionalGroupSize,S=(N.x+d.x)/2-W/2,E=(J.y+d.y)/2-W/2,k=U.getContractedPosition(F.ctab.molecule),t=k.position;if(t){var a=new zF(W/2,W/2,0),T=zF.diff(t.scaled(40),a);S=T.x,E=T.y}return{a0:d,a1:J,b0:N,b1:Z,startX:S,startY:E,size:W}}(B,U),V=R.a0,n=R.a1,l=R.b0,d=R.b1,J=U.ctab.molecule.functionalGroups,N=[],Z=Q.set();zQ.isContractedFunctionalGroup(B.id,J)?(B.hovering=this.getContractedSelectionContour(U).attr(F.hoverStyle),N.push(B.hovering)):this.selected||(B.hovering=Q.path("M{0},{1}L{2},{3}L{4},{5}L{6},{7}L{0},{1}",bU(V.x),bU(V.y),bU(n.x),bU(n.y),bU(d.x),bU(d.y),bU(l.x),bU(l.y)).attr(F.hoverStyle),Z.push(B.hovering)),MQ.getAtoms(U.ctab.molecule,B).forEach(function(F){var Q,B=null===U||void 0===U||null===(Q=U.ctab)||void 0===Q||null===(Q=Q.atoms)||void 0===Q?void 0:Q.get(F);N.push(null===B||void 0===B?void 0:B.makeHoverPlate(U))},this),MQ.getBonds(U.ctab.molecule,B).forEach(function(F){var Q;N.push(null===U||void 0===U||null===(Q=U.ctab)||void 0===Q||null===(Q=Q.bonds)||void 0===Q||null===(Q=Q.get(F))||void 0===Q?void 0:Q.makeHoverPlate(U))},this);var W=[];N.forEach(function(U){null!==U&&void 0!==U&&U.node&&(W.push(U.node),U.node.remove())}),y().setup(document.createElement("canvas"));var S=null;if(W.forEach(function(U){var F=CW(U);F&&(F.closed||F.closePath(),S=S?S.unite(F):F)}),!S)return;var E=S.pathData;U.ctab.addReObjectPath(Ml.hovering,this.visel,Q.path(E).attr(F.hoverStyle)),U.ctab.addReObjectPath(Ml.hovering,this.visel,Z)}}},{key:"setHover",value:function(U,Q){var B,R,V;if(b((0,d.A)(F.prototype),"setHover",this).call(this,U,Q),U&&!this.selected)if((null===(B=this.expandedMonomerAttachmentPoints)||void 0===B||!B.length||null!==(R=this.expandedMonomerAttachmentPoints)&&void 0!==R&&null!==(R=R[0])&&void 0!==R&&R.removed)&&(this.expandedMonomerAttachmentPoints=void 0),this.expandedMonomerAttachmentPoints)this.expandedMonomerAttachmentPoints.show();else{var n=Q.paper,l=this.item;if(!l)return;var J=n.set();Q.paper.setStart(),MQ.getAtoms(Q.ctab.molecule,l).forEach(function(U){var F,B=null===Q||void 0===Q||null===(F=Q.ctab)||void 0===F||null===(F=F.atoms)||void 0===F?void 0:F.get(U);J.push(null===B||void 0===B?void 0:B.makeMonomerAttachmentPointHighlightPlate(Q))},this),Q.ctab.addReObjectPath(Ml.atom,this.visel,J),this.expandedMonomerAttachmentPoints=Q.paper.setFinish()}else null===(V=this.expandedMonomerAttachmentPoints)||void 0===V||V.hide()}},{key:"show",value:function(U){var F=U.render,Q=this.item;if(Q&&"MRV_IMPLICIT_H"!==Q.data.fieldName){var B=F.ctab,R=this.draw(B,Q);U.addReObjectPath(Ml.data,this.visel,R,null,!0),this.setHover(this.hover,F)}}}],[{key:"isSelectable",value:function(){return!1}}]),F}(wZ);function oW(U){for(var F=U.set,Q=U.render,B=U.bracketBox,R=U.direction,V=U.lowerIndexText,n=U.upperIndexText,l=U.indexAttribute,d=U.superatomClass,J=function(U,F){var Q=[],B=F.rotateSC(1,0),R=Math.min(.25,.3*U.sz().x),V=zF.lc2(F,U.p0.x,B,.5*(U.p0.y+U.p1.y)),n=zF.lc2(F,U.p1.x,B,.5*(U.p0.y+U.p1.y)),l=U.sz().y;return Q.push(new aW(V,F.negated(),R,l),new aW(n,F,R,l)),Q}(B,R),N=-1,Z=0;ZW.bracketAngleDirection.y)&&(N=Z)}var E=J[N];function k(U){var B,R,V=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2?arguments[2]:void 0,d=new zF(F[N].getPath()[1][1],F[N].getPath()[1][2],0),J=new zF(F[N].getPath()[2][1],F[N].getPath()[2][2],0);R=J.y===d.y?J.x>d.x?d:J:J.y>d.y?J:d,B=V?R:R.x===d.x&&R.y===d.y?J:d;var Z,W=new zF(B.x,B.y),S=n===pQ.BASE?14:12;if(n===pQ.SUGAR)Z=Q.paper.rect(W.x+8,W.y-S/2,S,S,2);else if(n===pQ.PHOSPHATE)Z=Q.paper.circle(W.x+S/2+8,W.y,S/2);else if(n===pQ.BASE){var k="M".concat(W.x+S/2+8,",").concat(W.y-S/2,"\n L").concat(W.x+S+8,",").concat(W.y,"\n L").concat(W.x+S/2+8,",").concat(W.y+S/2,"\n L").concat(W.x+8,",").concat(W.y," Z");Z=Q.paper.path(k)}Z&&l&&(Z.attr({stroke:"#B4B9D6",strokeWidth:"1.4"}),F.push(Z));var t,a,T=new zF(W.x,W.y),e=Q.paper.text(T.x,T.y,U).attr({font:Q.options.font,"font-size":Q.options.fontszsubInPx});V&&(null===(t=e.node)||void 0===t||t.setAttribute("data-testid","s-group-label"),null===(a=e.node)||void 0===a||a.setAttribute("data-label-text",U));l&&e.attr(l);var C=IF.fromRelBox(qd.relBox(e.getBBox())),D=Math.max(qd.shiftRayBox(W,E.bracketAngleDirection.negated(),C),3)+(Z?8:2);e.translateAbs(D*E.bracketAngleDirection.x+(Z?S+4:0),D*E.bracketAngleDirection.y),F.push(e)}V&&k(V,!0,d),n&&k(n)}function pW(U,F,Q,B){var R,V,n=U.text(null===F||void 0===F?void 0:F.x,null===F||void 0===F?void 0:F.y,Q.data.fieldValue).attr({font:B.font,"font-size":B.fontszsubInPx});null===(R=n.node)||void 0===R||R.setAttribute("data-testid","s-group-label"),null===(V=n.node)||void 0===V||V.setAttribute("data-label-text",Q.data.fieldValue);var l=n.getBBox(),d=U.rect(l.x-1,l.y-1,l.width+2,l.height+2,3,3);d=Q.selected?d.attr(B.selectionStyle):d.attr({fill:"#fff",stroke:"#fff"});var J=U.set();return J.push(d,n.toFront()),J}function hW(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function cW(U){for(var F=1;F=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function mW(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q2&&void 0!==arguments[2]?arguments[2]:-2,R=Q.a,V=U.render;return Q.isPlateShouldBeHidden(R,V)?null:Q.getSelectionContour(V,B).attr(F)}),Q.a=U,Q.showLabel=!1,Q.showInfoLabel=!1,Q.hydrogenOnTheLeft=!1,Q.color="#000000",Q.component=-1,Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"getVBoxObj",value:function(U){return this.visel.boundingBox?wZ.prototype.getVBoxObj.call(this,U):new IF(this.a.pp,this.a.pp)}},{key:"drawHover",value:function(U){var F=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Q=this.makeHoverPlate(U,F);return U.ctab.addReObjectPath(Ml.atom,this.visel,Q),this.attachHighlightTriggerForAttachmentPointAtom(Q,U),this.drawHoverForPotentialAttachmentPointAtomsInMonomerCreationWizard(U,F),Q}},{key:"attachHighlightTriggerForAttachmentPointAtom",value:function(U,F){if(F.monomerCreationState){var Q=F.ctab.molecule.atoms.keyOf(this.a);if(null!==Q){var B=F.monomerCreationState.assignedAttachmentPoints,V=Array.from(B.entries()).find(function(U){var F=(0,R.A)(U,2)[1],B=(0,R.A)(F,2),V=B[0],n=B[1];return V===Q||n===Q});if(V){var n=(0,R.A)(V,1)[0];U.hover(function(){window.dispatchEvent(new CustomEvent("highlightAttachmentPointControls",{detail:n}))},function(){window.dispatchEvent(new CustomEvent("resetHighlightAttachmentPointControls",{detail:n}))})}}}}},{key:"drawHoverForPotentialAttachmentPointAtomsInMonomerCreationWizard",value:function(U){var F=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(U.monomerCreationState&&F){var Q=U.monomerCreationState,B=Q.potentialAttachmentPoints,V=Q.assignedAttachmentPoints,n=U.ctab.molecule.atoms.keyOf(this.a);if(null!==n){var l=Array.from(B.values());if(!Array.from(V.values()).some(function(U){var F=(0,R.A)(U,2),Q=F[0],B=F[1];return Q===n||B===n}))if(B.has(n)||this.a.implicitH>0||l.some(function(U){return U.has(n)})){var d=this.makeHighlightePlate(U.ctab,{stroke:"#43B5C0","stroke-dasharray":"- "});U.ctab.addReObjectPath(Ml.atom,this.visel,d)}}}}},{key:"setHover",value:function(U,Q){var B,R,V=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(b((0,d.A)(F.prototype),"setHover",this).call(this,U,Q,V),U&&!this.selected)return null!==(B=this.expandedMonomerAttachmentPoints)&&void 0!==B&&B.removed&&(this.expandedMonomerAttachmentPoints=void 0),this.expandedMonomerAttachmentPoints?this.expandedMonomerAttachmentPoints.show():this.expandedMonomerAttachmentPoints=this.makeMonomerAttachmentPointHighlightPlate(Q),this.hover;null===(R=this.expandedMonomerAttachmentPoints)||void 0===R||R.hide()}},{key:"makeMonomerAttachmentPointHighlightPlate",value:function(U){var F,Q,B=U.ctab,R=B.molecule,V=null!==(F=R.atoms.keyOf(this.a))&&void 0!==F?F:void 0;if(R.getGroupFromAtomId(V)instanceof DB&&(uQ.isSuperatomAttachmentAtom(R,V)&&(Q={fill:"none",stroke:"#4da3f8","stroke-width":"2px"}),uQ.isSuperatomLeavingGroupAtom(R,V)&&(Q={fill:"#fff8c5",stroke:"#f8dc8f","stroke-width":"2px"}),Q)){var n=this.makeHighlightePlate(B,Q,-4);return B.addReObjectPath(Ml.atom,this.visel,n),n}}},{key:"getLabeledSelectionContour",value:function(U){var F=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,Q=U.paper,B=U.ctab,R=U.options,V=R.fontszInPx,n=R.radiusScaleFactor,l=V*n+F,d=V*n*2+F,J=this.getVBoxObj(B.render),N=fF.modelToCanvas(J.p0,B.render.options),Z=fF.modelToCanvas(J.p1,B.render.options).x-N.x,W=1.23*V;return Q.rect(N.x-l,N.y-l,Z+2*l,W+2*l,d)}},{key:"getUnlabeledSelectionContour",value:function(U){var F=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,Q=U.paper,B=U.options,R=B.atomSelectionPlateRadius,V=fF.modelToCanvas(this.a.pp,B);return Q.circle(V.x,V.y,R+F)}},{key:"getSelectionContour",value:function(U){var F,Q=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(null===(F=this.a.pseudo)||void 0===F?void 0:F.length)>1&&!OW(this)||this.showLabel&&0!==this.a.implicitH?this.getLabeledSelectionContour(U,Q):this.getUnlabeledSelectionContour(U,Q)}},{key:"makeHoverPlate",value:function(U){var F=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Q=this.a,B=U.options;return this.isPlateShouldBeHidden(Q,U)?null:this.getSelectionContour(U).attr(F?B.hoverStyle:{fill:B.hoverStyle.fill,stroke:"none"})}},{key:"makeSelectionPlate",value:function(U){var F=this.a,Q=U.render,B=Q.options;return this.isPlateShouldBeHidden(F,Q)?null:this.getSelectionContour(Q).attr(B.selectionStyle)}},{key:"createInvisibleAtomTarget",value:function(U,F,Q){var B=this.getSelectionContour(F).attr({opacity:0,fill:"#000",stroke:"none","stroke-width":0});return U.addReObjectPath(Ml.data,this.visel,B,Q),B}},{key:"isNeedShiftForCharge",value:function(U,F){var Q=F<=24,B=null!==this.a.charge&&0!==this.a.charge;return U&&Q&&B}},{key:"getRatio",value:function(U,F){var Q,B=null!==(Q=U.fontszsubInPx)&&void 0!==Q?Q:13;if(!F)return 1;var R=U.showCharge;return this.isNeedShiftForCharge(R,F)?F/B/(40/13):1}},{key:"getShiftedSegmentPosition",value:function(U,F,Q){var B,R=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,V=fF.modelToCanvas(null!==Q&&void 0!==Q?Q:this.a.pp,U),n=0,l=this.visel.exts,d=this.getRatio(U,R),J=rW(l);try{for(J.s();!(B=J.n()).done;){var N=B.value.translate(V),Z=qd.shiftRayBox(V,F,N)*d;n=Math.max(n,Z)}}catch(W){J.e(W)}finally{J.f()}return n>0?V.addScaled(F,n+3*U.lineWidth):V}},{key:"hasAttachmentPoint",value:function(){return Boolean(this.a.attachmentPoints)}},{key:"show",value:function(U,F,Q){var B,V,n,l,d,J,N,Z,W,E,k,t,a,T,e,C,D,o,p,h,c,r,m,M,i,b,v,G,s,X,Y,y,z,O,H,x,w,j,I,K,f,g,P,A=U.molecule,q=A.atoms.get(F),_=A.sgroups,$=A.functionalGroups,UU=U.render,FU=fF.modelToCanvas(this.a.pp,UU.options),QU=U.molecule.getGroupFromAtomId(F);if(zQ.isAtomInContractedFunctionalGroup(q,_,$)){if((null===QU||void 0===QU?void 0:QU.getContractedPosition(U.molecule).atomId)===F){var BU,RU,VU,nU,lU,dU,JU,NU=fF.modelToCanvas(QU instanceof DB?QU.pp:this.a.pp,UU.options),ZU=Q.font.substr(Q.font.indexOf(" ")+1,Q.font.length),SU=null!==(BU=null!==(RU=QU.data.name)&&void 0!==RU?RU:eW[QU.data.class])&&void 0!==BU?BU:"",EU=UU.paper.text(NU.x,NU.y,SU).attr({"font-weight":700,"font-size":Q.fontszInPx,"font-family":ZU});null===(VU=EU.node)||void 0===VU||VU.setAttribute("data-testid","s-group-label"),null===(nU=EU.node)||void 0===nU||nU.setAttribute("data-label-text",SU),null===(lU=EU.node)||void 0===lU||lU.setAttribute("data-sgroup-id",QU.id),null===(dU=EU.node)||void 0===dU||dU.setAttribute("data-sgroup-name",SU),null===(JU=EU.node)||void 0===JU||JU.setAttribute("data-sgroup-type",QU.type),U.addReObjectPath(Ml.data,this.visel,EU,NU,!0)}}else if(!uQ.isHiddenLeavingGroupAtom(A,F)){var kU,tU,aU,TU,eU,CU;this.hydrogenOnTheLeft=function(U,F){var Q=GW(U,F);if(0===Q.length){if("D"===F.a.label||"T"===F.a.label)return!1;var B=u.get(F.a.label);return!B||Boolean(B.leftH)}if(1===Q.length){var R=Q[0];return U.halfBonds.get(R).dir.x>0}return!1}(U.molecule,this),this.showLabel=function(U,F,Q){var B=Boolean(Q.a.attachmentPoints),R="c"===Q.a.label.toLowerCase(),V=GW(U.molecule,Q),n=F.showHydrogenLabels!==xZ.Off&&F.showHydrogenLabels!==xZ.Hetero,l=0===V.length||V.length<2&&n;if(B&&R)return!1;var d=l||F.carbonExplicitly||F.showHydrogenLabels===xZ.On||Q.a.alias||null!==Q.a.isotope||0!==Q.a.radical||null!==Q.a.charge||Q.a.explicitValence>=0||null!==Q.a.atomList||null!==Q.a.rglabel||Q.a.badConn&&F.showValenceWarnings||"c"!==Q.a.label.toLowerCase();if(d)return!0;if(2===V.length){var J=V[0],N=V[1],Z=U.molecule.halfBonds.get(J),W=U.molecule.halfBonds.get(N),S=U.bonds.get(Z.bid),E=U.bonds.get(W.bid);if(S.b.type===E.b.type&&S.b.stereo===fQ.PATTERN.STEREO.NONE&&E.b.stereo===fQ.PATTERN.STEREO.NONE&&Math.abs(zF.cross(Z.dir,W.dir))<.2)return!0}return!1}(U,UU.options,this),this.color="black";var DU,oU,pU=null;if(this.showLabel){var hU=function(U,F,Q,B,R,V){var n,l=B.atomColoring,d=B.font,J=B.fontszInPx,N=B.currentlySelectedMonomerAttachmentPoint,Z=B.connectedMonomerAttachmentPoints,W=B.usageInMacromolecule,S={text:XW(U.a,R,V,B)},E=null;S.text||(S.text="R#");if(S.text===U.a.label){var k,t=u.get(S.text);if(l&&t)U.color=null!==(k=L[S.text])&&void 0!==k?k:"#000"}var a=void 0!==W,T=nR.includes(S.text),e=N===S.text,C=null===Z||void 0===Z?void 0:Z.includes(S.text),D=qd.useLabelStyles(e,C,W),o=D.color,p=D.fill,h=D.stroke;T&&a&&(U.color=o);if((null===(n=S.text)||void 0===n?void 0:n.length)>8){var c;E=S.text,S.text="".concat(null===(c=S.text)||void 0===c?void 0:c.substring(0,8),"...")}var r=B.previewOpacity;"*"===S.text&&(Q.x=Q.x-1,Q.y=Q.y+3);if(S.path=F.text(Q.x,Q.y,S.text).attr({font:d,"font-size":J,fill:U.color,"font-style":U.a.pseudo?"italic":"","fill-opacity":U.a.isPreview?r:1}),T&&a){var m=2*J;S.background=F.rect(Q.x-m/2,Q.y-m/2,m,m,10).attr({fill:p}).attr({stroke:h})}E&&sW(S.path.node,E);S.rbb=qd.relBox(S.path.getBBox()),SW.recenterText(S.path,S.rbb);var M=S.rbb.width/2*(B.zoom>1?1:B.zoom),i=-S.rbb.width/2*(B.zoom>1?1:B.zoom);if(null!==U.a.atomList){var b=(U.hydrogenOnTheLeft?-1:1)*(S.rbb.width-S.rbb.height)/2;LW(S.path,S.rbb,b,0),M+=b,i+=b}return U.label=S,{label:S,rightMargin:M,leftMargin:i}}(this,UU.paper,FU,Q,F,QU);kU=.5*Q.lineWidth,CU=hU.label,tU=hU.rightMargin,aU=hU.leftMargin,TU=Math.floor(this.a.implicitH),eU="H"===CU.text,CU.background&&U.addReObjectPath(Ml.data,this.visel,CU.background,FU,!0),U.addReObjectPath(Ml.data,this.visel,CU.path,FU,!0)}if(Q.showAtomIds){(pU={}).text=F.toString();var cU=this.hydrogenOnTheLeft?zF.lc(FU,1,new zF({x:-2,y:0,z:0}),6):zF.lc(FU,1,new zF({x:2,y:0,z:0}),6);this.showLabel&&(cU=zF.lc(cU,1,new zF({x:1,y:-3,z:0}),6)),pU.path=UU.paper.text(cU.x,cU.y,pU.text).attr({font:Q.font,"font-size":Q.fontszsubInPx,fill:"#070"}),pU.rbb=qd.relBox(pU.path.getBBox()),SW.recenterText(pU.path,pU.rbb),U.addReObjectPath(Ml.indices,this.visel,pU.path,FU)}if(this.showLabel){var rU=null;if(eU&&TU>0&&(rU=function(U,F,Q,B){var R=fF.modelToCanvas(U.a.pp,F.options),V=F.options,n=.5*V.lineWidth,l={};return l.text=(Q+1).toString(),l.path=F.paper.text(R.x,R.y,l.text).attr({font:V.font,"font-size":V.fontszsubInPx,fill:U.color}),l.rbb=qd.relBox(l.path.getBBox()),SW.recenterText(l.path,l.rbb),LW(l.path,l.rbb,B+.5*l.rbb.width+n,.2*U.label.rbb.height),l}(this,UU,TU,tU),tU+=rU.rbb.width+kU,U.addReObjectPath(Ml.data,this.visel,rU.path,FU,!0)),0!==this.a.radical){var mU=function(U,F){var Q,B=fF.modelToCanvas(U.a.pp,F.options),R=F.options,V=F.paper,n={};switch(U.a.radical){case 1:n.path=V.set(),Q=1.6*R.lineWidth,n.path.push(SW.radicalBullet(V,B.add(new zF(-Q,0)),R),SW.radicalBullet(V,B.add(new zF(Q,0)),R)),n.path.attr("fill",U.color);break;case 2:n.path=V.set(),n.path.push(SW.radicalBullet(V,B,R)),n.path.attr("fill",U.color);break;case 3:n.path=V.set(),Q=1.6*R.lineWidth,n.path.push(SW.radicalCap(V,B.add(new zF(-Q,0)),R),SW.radicalCap(V,B.add(new zF(Q,0)),R)),n.path.attr("stroke",U.color)}n.rbb=qd.relBox(n.path.getBBox());var l=-.5*(U.label.rbb.height+n.rbb.height);3===U.a.radical&&(l-=R.lineWidth/2);return LW(n.path,n.rbb,0,l),n}(this,UU);U.addReObjectPath(Ml.data,this.visel,mU.path,FU,!0)}if(null!==this.a.isotope){var MU=function(U,F,Q){var B,R,V=fF.modelToCanvas(U.a.pp,F.options),n=F.options,l=.5*n.lineWidth,d={};return d.text=null!==(B=null===(R=U.a.isotope)||void 0===R?void 0:R.toString())&&void 0!==B?B:"",d.path=F.paper.text(V.x,V.y,d.text).attr({font:n.font,"font-size":n.fontszsubInPx,fill:U.color}),d.rbb=qd.relBox(d.path.getBBox()),SW.recenterText(d.path,d.rbb),LW(d.path,d.rbb,Q-.5*d.rbb.width-l,-.3*U.label.rbb.height),d}(this,UU,aU);aU-=MU.rbb.width+kU,U.addReObjectPath(Ml.data,this.visel,MU.path,FU,!0)}var iU=Q.usageInMacromolecule===wd.MonomerPreview||Q.usageInMacromolecule===wd.BondPreview||Q.usageInMacromolecule===wd.MonomerConnectionsModal||void 0===Q.usageInMacromolecule&&!QU,vU=null!==this.a.rglabel&&"0"!==this.a.rglabel,GU=iU&&vU;if(!eU&&!this.a.alias&&TU>0&&function(U,F,Q){var B,R,V=GW(U,F);return Q===xZ.On||Q===xZ.Terminal&&V.length<2||Q===xZ.Hetero&&"c"!==(null===(B=F.label)||void 0===B?void 0:B.text.toLowerCase())||Q===xZ.TerminalAndHetero&&(V.length<2||"c"!==(null===(R=F.label)||void 0===R?void 0:R.text.toLowerCase()))}(A,this,Q.showHydrogenLabels)&&!GU){var sU=function(U,F,Q,B){var R=B.hydroIndex,V=U.hydrogenOnTheLeft,n=fF.modelToCanvas(U.a.pp,F.options),l=F.options,d=.5*l.lineWidth,J=B.hydrogen;J.text="H",J.path=F.paper.text(n.x,n.y,J.text).attr({font:l.font,"font-size":l.fontszInPx,fill:U.color}),J.rbb=qd.relBox(J.path.getBBox()),SW.recenterText(J.path,J.rbb),V||(LW(J.path,J.rbb,B.rightMargin+.35*J.rbb.width+d,0),B.rightMargin+=J.rbb.width+d);Q>1&&((R={}).text=Q.toString(),R.path=F.paper.text(n.x,n.y,R.text).attr({font:l.font,"font-size":l.fontszsubInPx,fill:U.color}),R.rbb=qd.relBox(R.path.getBBox()),SW.recenterText(R.path,R.rbb),V||(LW(R.path,R.rbb,B.rightMargin+.15*R.rbb.width*(l.zoom>1?1:l.zoom)+d,.2*U.label.rbb.height),B.rightMargin+=R.rbb.width+d));V&&(null!=R&&(LW(R.path,R.rbb,B.leftMargin-.4*R.rbb.width-d,.2*U.label.rbb.height),B.leftMargin-=R.rbb.width+d),LW(J.path,J.rbb,B.leftMargin-.4*J.rbb.width*(Q>1&&l.zoom<1?l.zoom:1)-d,0),B.leftMargin-=J.rbb.width+d);return Object.assign(B,{hydrogen:J,hydroIndex:R})}(this,UU,TU,{hydrogen:{},hydroIndex:rU,rightMargin:tU,leftMargin:aU}),XU=sU.hydrogen;rU=sU.hydroIndex,tU=sU.rightMargin,aU=sU.leftMargin,U.addReObjectPath(Ml.data,this.visel,XU.path,FU,!0),null!=rU&&U.addReObjectPath(Ml.data,this.visel,rU.path,FU,!0)}if(0===this.a.charge&&(this.a.charge=null),this.a.charge&&Q.showCharge){var YU=function(U,F,Q){var B=fF.modelToCanvas(U.a.pp,F.options),R=F.options,V=.5*R.lineWidth,n={text:""};if(null!==U.a.charge){var l=Math.abs(U.a.charge);1!==l&&(n.text=l.toString()),U.a.charge<0?n.text+="\u2013":n.text+="+"}else n.text="";return n.path=F.paper.text(B.x,B.y,n.text).attr({font:R.font,"font-size":R.fontszsubInPx,fill:U.color}),n.rbb=qd.relBox(n.path.getBBox()),SW.recenterText(n.path,n.rbb),LW(n.path,n.rbb,Q+.5*n.rbb.width+V,-.3*U.label.rbb.height),n}(this,UU,tU);tU+=YU.rbb.width+kU,U.addReObjectPath(Ml.data,this.visel,YU.path,FU,!0)}if(this.a.explicitValence>=0&&Q.showValence){var yU=function(U,F,Q){var B=fF.modelToCanvas(U.a.pp,F.options),R=F.options,V=.5*R.lineWidth,n={};if(n.text=EW[U.a.explicitValence],!n.text)throw new Error("invalid valence "+U.a.explicitValence.toString());return n.text="("+n.text+")",n.path=F.paper.text(B.x,B.y,n.text).attr({font:R.font,"font-size":R.fontszsubInPx,fill:U.color}),n.rbb=qd.relBox(n.path.getBBox()),SW.recenterText(n.path,n.rbb),LW(n.path,n.rbb,Q+.5*n.rbb.width+V,-.3*U.label.rbb.height),n}(this,UU,tU);tU+=yU.rbb.width+kU,U.addReObjectPath(Ml.data,this.visel,yU.path,FU,!0)}if(this.a.badConn&&Q.showValenceWarnings){var zU=function(U,F,Q,B){var R=fF.modelToCanvas(U.a.pp,F.options),V=.5*F.options.lineWidth,n={},l=R.y+U.label.rbb.height/2+V;return n.path=F.paper.path("M{0},{1}L{2},{3}",bU(R.x+Q),bU(l),bU(R.x+B),bU(l)).attr(F.options.lineattr).attr({stroke:"#F00"}),n.rbb=qd.relBox(n.path.getBBox()),n}(this,UU,aU,tU);U.addReObjectPath(Ml.warnings,this.visel,zU.path,FU,!0)}pU&&LW(pU.path,pU.rbb,-.5*CU.rbb.width-.5*pU.rbb.width-kU,.3*CU.rbb.height)}if(UU.monomerCreationState){var OU=UU.monomerCreationState,LU=OU.assignedAttachmentPoints,HU=OU.visibleAssignedAttachmentPoints,xU=OU.problematicAttachmentPoints,uU=OU.problematicAtoms,wU=OU.connectionAttachmentPoints,jU=null!==HU&&void 0!==HU?HU:LU,IU=UU.ctab,KU=IU.molecule,fU=KU.atoms.keyOf(this.a);if(null!==fU){var gU,PU=Array.from(jU.values()).reduce(function(U,F){var Q=U[0],B=F[0];Q.includes(B)||(Q=Q.concat(B));var R=U[1],V=F[1];return R.includes(V)||(R=R.concat(V)),[Q,R]},[[],[]]),AU=(0,R.A)(PU,2),qU=AU[0],_U=AU[1];if(qU.includes(fU)?gU={fill:"none",stroke:"#4da3f8","stroke-width":"2px"}:_U.includes(fU)&&(gU={fill:"#fff8c5",stroke:"#f8dc8f","stroke-width":"2px"}),gU){var $U=this.makeHighlightePlate(IU,gU,-4);IU.addReObjectPath(Ml.atom,this.visel,$U)}if(null!==uU&&void 0!==uU&&uU.has(fU)){var UF=this.makeHighlightePlate(IU,{fill:"none",stroke:"#F40724","stroke-width":"2px"},-4);IU.addReObjectPath(Ml.atom,this.visel,UF)}var FF=Array.from(jU.keys()).find(function(U){var F=jU.get(U);return S()(F),F[1]===fU});if(FF){var QF,BF=jU.get(FF);S()(BF);var RF=(0,R.A)(BF,2),VF=RF[0],nF=RF[1],lF=KU.atoms.get(VF),dF=KU.atoms.get(nF);S()(lF),S()(dF);var JF=lF.pp,NF=dF.pp,ZF=NF.sub(JF).normalized(),WF=this.getShiftedSegmentPosition(UU.options,ZF,NF).addScaled(ZF,8),SF=xU.has(FF),EF=UU.paper.text(WF.x,WF.y,FF).attr({font:Q.font,"font-size":Q.fontszsubInPx,fill:SF?"#F40724":"#333333","font-weight":"700",cursor:"pointer"}),kF=null===(QF=UU.monomerCreationState)||void 0===QF?void 0:QF.selectedMonomerClass,tF=(oU=FF,(DU=kF)===WU.Sugar||DU===WU.Phosphate||DU===WU.RNA?oU===BR.R1?"5'":oU===BR.R2?"3'":null:null);tF&&sW(EF.node,tF);var aF,TF=EF.getBBox(),eF=Math.max(TF.width,TF.height)/2+5,CF=UU.paper.circle(WF.x,WF.y,eF).attr({fill:"#167782",stroke:"none",cursor:"pointer",opacity:0});if(tF)null===(aF=CF.node)||void 0===aF||aF.setAttribute("data-tooltip",tF);SF&&CF.attr({fill:"none",stroke:"#F40724","stroke-width":"2px",opacity:1});var DF=UU.paper.set();DF.push(CF,EF),DF.forEach(function(U){var F,Q;null===(F=U.node)||void 0===F||F.setAttribute("data-attachment-point-alias",FF),null===(Q=U.node)||void 0===Q||Q.setAttribute("data-testid","monomer-attachment-point")}),DF.hover(function(){S()(UU.monomerCreationState),UU.monomerCreationState.clickedAttachmentPoint===FF||SF||(CF.attr({opacity:1}),EF.attr({fill:"#ffffff"}),window.dispatchEvent(new CustomEvent("highlightAttachmentPointControls",{detail:FF})))},function(){S()(UU.monomerCreationState),UU.monomerCreationState.clickedAttachmentPoint===FF||SF||(CF.attr({opacity:0}),EF.attr({fill:"#333333"}),window.dispatchEvent(new CustomEvent("resetHighlightAttachmentPointControls",{detail:FF})))}),DF.mousedown(function(U){U.stopPropagation(),2===U.button&&(S()(UU.monomerCreationState),UU.monomerCreationState.clickedAttachmentPoint=FF,CF.attr({opacity:1}),EF.attr({fill:"#ffffff"}))}),IU.addReObjectPath(Ml.data,this.visel,DF,FU,!1)}if(wU)if(Array.from(wU.values()).some(function(U){return(0,R.A)(U,1)[0]===fU})){var oF=this.makeHighlightePlate(IU,{fill:"none",stroke:"#4da3f8","stroke-width":"2px"},-4);IU.addReObjectPath(Ml.atom,this.visel,oF);var pF=UU.paper.circle(FU.x,FU.y,10).attr({fill:"#4da3f8",stroke:"none",opacity:0,cursor:"pointer"}),hF=Array.from(wU.entries()).filter(function(U){var F=(0,R.A)(U,2);return(0,R.A)(F[1],1)[0]===fU}).map(function(U){return(0,R.A)(U,1)[0]});pF.hover(function(){pF.attr({opacity:.15}),hF.forEach(function(U){window.dispatchEvent(new CustomEvent("highlightAttachmentPointControls",{detail:U}))})},function(){pF.attr({opacity:0}),hF.forEach(function(U){window.dispatchEvent(new CustomEvent("resetHighlightAttachmentPointControls",{detail:U}))})}),IU.addReObjectPath(Ml.data,this.visel,pF,FU,!1)}}}this.setHover(this.hover,UU);var cF,rF=this.a.stereoLabel,mF=function(U){var F="";U.a.aam>0&&(F+=U.a.aam);if(U.a.invRet>0)if(F.length>0&&(F+=","),1===U.a.invRet)F+="Inv";else{if(2!==U.a.invRet)throw new Error("Invalid value for the invert/retain flag");F+="Ret"}if(U.a.exactChangeFlag>0){if(F.length>0&&(F+=","),1!==U.a.exactChangeFlag)throw new Error("Invalid value for the exact change flag");F+="ext"}return F}(this),MF=yW(this.a)?function(U){var F,Q=null!==(F=U.queryProperties.customQuery)&&void 0!==F?F:zW(cW(cW({},U),U.queryProperties),!0);return Q}(this.a):OW(this),iF=MF;iF.length>8&&(cF=iF,iF="".concat(iF.substring(0,8),"..."));var bF=Number(null===(B=U.atoms.get(F))||void 0===B?void 0:B.a.fragment),vF=U.molecule.frags.get(bF),GF=function(U,F,Q,B){if(!U)return!1;var R=U.match(/\D+/g)[0];if(Q&&R===XQ.Abs)return!1;if(Q&&R!==XQ.Abs)return!0;switch(F){case bl.Off:return!1;case bl.On:return!0;case bl.Classic:return!(B!==gQ.Mixed&&R!==XQ.Or);case bl.IUPAC:return!(B!==gQ.Mixed||R===XQ.Abs);default:return!0}}(rF,Q.stereoLabelStyle,Q.ignoreChiralFlag,null===vF||void 0===vF?void 0:vF.enhancedStereoFlag),sF="";if(GF&&(sF="".concat(rF,"\n")),iF.length>0&&(sF+="".concat(iF,"\n")),mF.length>0&&(sF+=".".concat(mF,".")),sF.length>0){var XF=u.get(this.a.label),YF=UU.paper.text(FU.x,FU.y,sF).attr({font:Q.font,"font-size":Q.fontszsubInPx,fill:Q.atomColoring&&XF?L[this.a.label]:"#000"});if(rF){var yF=function(U,F){if(!F||U.colorStereogenicCenters===il.Off||U.colorStereogenicCenters===il.BondsOnly)return"#000";return vW(U,F)}(UU.options,rF);YF.node.childNodes[0].setAttribute("fill",yF);var OF=function(U,F){var Q=F.match(/\D+/g)[0],B=+F.replace(Q,"");if(!U.autoFadeOfStereoLabels||Q===XQ.Abs||U.colorStereogenicCenters===il.Off||U.colorStereogenicCenters===il.BondsOnly)return 1;return Math.max(1-(B-1)/10,.3)}(UU.options,rF);YF.node.childNodes[0].setAttribute("fill-opacity",OF)}var LF=qd.relBox(YF.getBBox());SW.recenterText(YF,LF);var HF,xF=this.visel,uF=3,wF=this.bisectLargestSector(U.molecule),jF=rW(xF.exts);try{for(jF.s();!(HF=jF.n()).done;){var KF=HF.value;uF=Math.max(uF,qd.shiftRayBox(FU,wF,KF.translate(FU)))}}catch(CQ){jF.e(CQ)}finally{jF.f()}uF+=qd.shiftRayBox(FU,wF.negated(),IF.fromRelBox(LF)),LW(YF,LF,(wF=wF.scaled(8+uF)).x,wF.y),U.addReObjectPath(Ml.data,this.visel,YF,FU,!0),cF&&sW(YF.node,cF)}var gF=U.molecule.highlights,PF=!1,AF="";if(gF.forEach(function(U){var Q,B=null===(Q=U.atoms)||void 0===Q?void 0:Q.includes(F);PF=PF||B,B&&(AF=U.color)}),PF){var qF={fill:AF,stroke:"none"},_F=this.makeHighlightePlate(U,qF);U.addReObjectPath(Ml.hovering,this.visel,_F)}if(q.cip){var $F=UU.paper,UQ=UU.options,FQ=fF.modelToCanvas(this.a.pp,UQ),QQ=$F.text(FQ.x,FQ.y,"(".concat(this.a.cip,")")).attr({font:UQ.font,"font-size":Math.floor(.8*UQ.fontszInPx),"pointer-events":"none"}),BQ=QQ.getBBox(),RQ=$F.rect(BQ.x-1,BQ.y-1,BQ.width+2,BQ.height+2,3,3).attr({stroke:"none"}),VQ=$F.set();VQ.push(RQ,QQ);var nQ,lQ=qd.relBox(VQ.getBBox()),dQ=3,JQ=this.bisectLargestSector(UU.ctab.molecule),NQ=rW(this.visel.exts);try{for(NQ.s();!(nQ=NQ.n()).done;){var ZQ=nQ.value;dQ=Math.max(dQ,qd.shiftRayBox(FQ,JQ,ZQ.translate(FQ)))}}catch(CQ){NQ.e(CQ)}finally{NQ.f()}var WQ=dQ+qd.shiftRayBox(FQ,JQ.negated(),IF.fromRelBox(BQ)),SQ=JQ.scaled(3+WQ);LW(VQ,lQ,SQ.x,SQ.y),UU.ctab.addReObjectPath(Ml.additionalInfo,this.visel,VQ,FQ,!1),this.cip={path:VQ,text:QQ,rectangle:RQ}}if(this.showLabel&&this.showInfoLabel){var EQ=UU.paper.text(FU.x,FU.y,this.infoLabel).attr({font:Q.font,"font-size":.75*Q.fontszsubInPx,fill:"#309BBF"}),kQ=EQ.getBBox(),tQ=kQ.width/2+5,aQ=kQ.height/2+2;EQ.translateAbs(tU+tQ,-EQ.getBBox().height/2-aQ);var TQ=UU.paper.rect(kQ.x-5,kQ.y-2,kQ.width+10,kQ.height+4,6).attr({fill:"#CDF1FC",stroke:"none"});U.addReObjectPath(Ml.data,this.visel,[TQ,EQ],FU,!0)}var eQ=null!==(V=null===(n=CU)||void 0===n?void 0:n.path)&&void 0!==V?V:this.createInvisibleAtomTarget(U,UU,FU);null===eQ||void 0===eQ||null===(l=eQ.node)||void 0===l||l.setAttribute("data-testid","atom"),null===eQ||void 0===eQ||null===(d=eQ.node)||void 0===d||d.setAttribute("data-atom-id",U.molecule.atoms.keyOf(null!==(J=this.a)&&void 0!==J?J:"")),null===eQ||void 0===eQ||null===(N=eQ.node)||void 0===N||N.setAttribute("data-atom-type",YW(this.a)),null===eQ||void 0===eQ||null===(Z=eQ.node)||void 0===Z||Z.setAttribute("data-atomLabel",null!==(W=this.a.label)&&void 0!==W?W:""),null===eQ||void 0===eQ||null===(E=eQ.node)||void 0===E||E.setAttribute("data-atomCharge",null!==(k=this.a.charge)&&void 0!==k?k:""),null===eQ||void 0===eQ||null===(t=eQ.node)||void 0===t||t.setAttribute("data-atomIsotopeAtomicMass",null!==(a=this.a.isotope)&&void 0!==a?a:""),null===eQ||void 0===eQ||null===(T=eQ.node)||void 0===T||T.setAttribute("data-atomValence",null!==(e=this.a.valence)&&void 0!==e?e:""),null===eQ||void 0===eQ||null===(C=eQ.node)||void 0===C||C.setAttribute("data-atomRadical",null!==(D=this.a.radical)&&void 0!==D?D:""),null===eQ||void 0===eQ||null===(o=eQ.node)||void 0===o||o.setAttribute("data-atomRingBondCount",null!==(p=this.a.ringBondCount)&&void 0!==p?p:""),null===eQ||void 0===eQ||null===(h=eQ.node)||void 0===h||h.setAttribute("data-atomHCount",null!==(c=this.a.hCount)&&void 0!==c?c:""),null===eQ||void 0===eQ||null===(r=eQ.node)||void 0===r||r.setAttribute("data-atomSubstitutionCount",null!==(m=this.a.substitutionCount)&&void 0!==m?m:""),null===eQ||void 0===eQ||null===(M=eQ.node)||void 0===M||M.setAttribute("data-atomUnsaturated",null!==(i=this.a.unsaturatedAtom)&&void 0!==i?i:""),null===eQ||void 0===eQ||null===(b=eQ.node)||void 0===b||b.setAttribute("data-atomAromaticity",null!==(v=this.a.queryProperties.aromaticity)&&void 0!==v?v:""),null===eQ||void 0===eQ||null===(G=eQ.node)||void 0===G||G.setAttribute("data-atomImplicitHCount",null!==(s=this.a.implicitHCount)&&void 0!==s?s:""),null===eQ||void 0===eQ||null===(X=eQ.node)||void 0===X||X.setAttribute("data-atomRingMembership",null!==(Y=this.a.queryProperties.ringMembership)&&void 0!==Y?Y:""),null===eQ||void 0===eQ||null===(y=eQ.node)||void 0===y||y.setAttribute("data-atomRingSize",null!==(z=this.a.queryProperties.ringSize)&&void 0!==z?z:""),null===eQ||void 0===eQ||null===(O=eQ.node)||void 0===O||O.setAttribute("data-atomConnectivity",null!==(H=this.a.queryProperties.connectivity)&&void 0!==H?H:""),null===eQ||void 0===eQ||null===(x=eQ.node)||void 0===x||x.setAttribute("data-atomChirality",null!==(w=this.a.queryProperties.chirality)&&void 0!==w?w:""),null===eQ||void 0===eQ||null===(j=eQ.node)||void 0===j||j.setAttribute("data-atomInversion",null!==(I=this.a.invRet)&&void 0!==I?I:""),null===eQ||void 0===eQ||null===(K=eQ.node)||void 0===K||K.setAttribute("data-atomExactChange",null!==(f=this.a.exactChangeFlag)&&void 0!==f?f:""),null===eQ||void 0===eQ||null===(g=eQ.node)||void 0===g||g.setAttribute("data-atomCustomQuery",null!==(P=this.a.queryProperties.customQuery)&&void 0!==P?P:"")}}},{key:"getLargestSectorFromNeighbors",value:function(U){var F=[];this.a.neighbors.forEach(function(Q){var B=U.halfBonds.get(Q);B&&F.push(B.ang)});var Q,B=[],V=rW((F=F.sort(function(U,F){return U-F})).entries());try{for(V.s();!(Q=V.n()).done;){var n=(0,R.A)(Q.value,2),l=n[0],d=n[1];lN&&(N=B[E],Z=k)}}catch(t){W.e(t)}finally{W.f()}return{neighborAngle:Z,largestAngle:N}}},{key:"bisectLargestSector",value:function(U){var F,Q=this.getLargestSectorFromNeighbors(U),B=Q.largestAngle,R=Q.neighborAngle;return F=R+B/2,new zF(Math.cos(F),Math.sin(F))}}],[{key:"isSelectable",value:function(){return!0}}]),F}(wZ);function vW(U,F){switch(F.match(/\D+/g)[0]){case XQ.And:return U.colorOfAndCenters;case XQ.Or:return U.colorOfOrCenters;case XQ.Abs:return U.colorOfAbsoluteCenters;default:return"#000"}}function GW(U,F){return F.a.neighbors.filter(function(F){var Q=U.halfBonds.get(F);if(!Q)return!1;var B=U.bonds.get(Q.bid);return!B||!fQ.isBondToHiddenLeavingGroup(U,B)})}function sW(U,F){var Q=F.split(/(?<=[;,])/).join(" ");U.childNodes[0].setAttribute("data-tooltip",qd.escapeHtml(Q))}function XW(U,F,Q,B){if(null!==Q&&void 0!==Q&&Q.isSuperatomWithoutLabel){var R=Q.getAttachmentPoints().find(function(U){return U.leaveAtomId===F});if(null!==R&&void 0!==R&&R.attachmentPointNumber)return kQ(R.attachmentPointNumber)}if(null!==U.atomList)return U.atomList.label();if(U.pseudo)return U.pseudo;if(U.alias)return U.alias;if(U.label&&null!==U.rglabel&&Q instanceof DB&&(void 0===(null===B||void 0===B?void 0:B.usageInMacromolecule)&&Q))return U.label;if(U.label&&null!==U.rglabel){for(var V,n,l="",d=0;d<32;d++)U.rglabel&1<0&&(Q+=";")},V={isotope:function(U){return U},aromaticity:function(U){return"aromatic"===U?"a":"A"},charge:function(U){if(""===U)return U;var F=/^([+-]?)(\d{1,3}|1000)([+-]?)$/.exec(U),Q=F?parseInt(F[1]+F[3]+F[2]).toString():U;return Q.startsWith("-")?Q:"+".concat(Q)},unsaturatedAtom:function(U){return 1===Number(U)?"u":""},explicitValence:function(U){return-1!==Number(U)?"v".concat(U):""},ringBondCount:function(U){return function(U){return U>0?"x"+U.toString():-1===U||-2===U?"x0":""}(Number(U))},substitutionCount:function(U){return function(U){return U>0?"D"+U.toString():-1===U||-2===U?"D0":""}(Number(U))},hCount:function(U){return Number(U)>0?"H"+(Number(U)-1).toString():""},implicitHCount:function(U){return"h".concat(U)},ringMembership:function(U){return"R".concat(U)},ringSize:function(U){return"r".concat(U)},connectivity:function(U){return"X".concat(U)},chirality:function(U){return"clockwise"===U?"@@":"@"}};for(var n in V)if(!F||!B.includes(n)){var l=U[n];if(n in U&&null!==l){var d=V[n](l,U);d&&R(),Q+=d}}return Q}function OW(U){var F="",Q=function(){F.length>0&&(F+=";")},B=U.a,R=B.ringBondCount,V=B.substitutionCount,n=B.unsaturatedAtom,l=B.hCount;if(0!==R&&(F+=function(U){var F;if(U>0)F="rb"+U.toString();else if(-1===U)F="rb0";else{if(-2!==U)throw new Error("Ring bond count invalid");F="rb*"}return F}(R)),0!==V&&(Q(),F+=function(U){var F;if(U>0)F="s"+U.toString();else if(-1===U)F="s0";else{if(-2!==U)throw new Error("Substitution count invalid");F="s*"}return F}(V)),n>0){if(Q(),1!==n)throw new Error("Unsaturated atom invalid value");F+="u"}return l>0&&(Q(),F+="H"+(l-1).toString()),F}function LW(U,F,Q,B){U.translateAbs(Q,B),F.x+=Q,F.y+=B}function HW(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function xW(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(xW=function(){return!!U})()}var uW=function(U){function F(U){var Q;return(0,V.A)(this,F),Q=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,xW()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,["bond"]),(0,Z.A)((0,J.A)(Q),"neihbid1",-1),(0,Z.A)((0,J.A)(Q),"neihbid2",-1),(0,Z.A)((0,J.A)(Q),"isPlateShouldBeHidden",function(U,B){F.bondRecalc((0,J.A)(Q),U,B);var R=Q.b,V=U.render.ctab.sgroups,n=U.render.ctab.molecule.functionalGroups;return zQ.isBondInContractedFunctionalGroup(R,V,n)||fQ.isBondToHiddenLeavingGroup(U.molecule,R)}),Q.b=U,Q.doubleBondShift=0,Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"drawHover",value:function(U){var F=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Q=this.makeHoverPlate(U,F);return U.ctab.addReObjectPath(Ml.hovering,this.visel,Q),Q}},{key:"getSelectionPoints",value:function(U){var F=arguments.length>1&&void 0!==arguments[1]&&arguments[1],Q=this.b,B=U.ctab,R=U.options,V=R.bondThickness,n=R.bondSpacingInPx,l=R.stereoBondWidth,d=n+V,J=B.molecule.halfBonds.get(Q.hb1).p,N=B.molecule.halfBonds.get(Q.hb2).p,Z=Q.stereo!==fQ.PATTERN.STEREO.NONE&&Q.stereo!==fQ.PATTERN.STEREO.CIS_TRANS,W=(F?-1:0)+(Z?0:-2),S=zF.getLinePoint(N,J,W),E=zF.getLinePoint(J,N,W),k=F?0:2,t=(Z?.5*l:d+.5)+k,a=(Z?l+1*d/l:d+.5)+k,T=zF.getLinePoint(S,E,a),e=zF.getLinePoint(E,S,t),C=S.add(new zF(a,0)),D=E.add(new zF(t,0)),o=T.add(new zF(a,0)),p=e.add(new zF(t,0)),h=Q.angle,c=C.rotateAroundOrigin(h+90,new zF(S.x,S.y)),r=C.rotateAroundOrigin(h-90,new zF(S.x,S.y)),m=o.rotateAroundOrigin(h+90,T),M=o.rotateAroundOrigin(h-90,T),i=D.rotateAroundOrigin(h+90,E),b=D.rotateAroundOrigin(h-90,E);return[m,c,i,p.rotateAroundOrigin(h+90,e),p.rotateAroundOrigin(h-90,e),b,M,r]}},{key:"getSelectionContour",value:function(U,F){var Q=U.paper,B=this.getSelectionPoints(U,F),V=(0,R.A)(B,8),n=V[0],l=V[1],d=V[2],J=V[3],N=V[4],Z=V[5],W=V[6],S=V[7],E="\n M ".concat(l.x," ").concat(l.y,"\n L ").concat(d.x," ").concat(d.y,"\n C ").concat(J.x," ").concat(J.y,", ").concat(N.x," ").concat(N.y,", ").concat(Z.x," ").concat(Z.y,"\n L ").concat(S.x," ").concat(S.y,"\n C ").concat(W.x," ").concat(W.y,", ").concat(n.x," ").concat(n.y,", ").concat(l.x," ").concat(l.y,"\n ");return Q.path(E)}},{key:"makeHoverPlate",value:function(U){var F=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Q=U.ctab,B=U.options;return this.isPlateShouldBeHidden(Q,B)?null:this.getSelectionContour(U,!1).attr(F?function(U){for(var F=1;F=0&&B[1]>=0}(Q,this,U),F.bondRecalc(this,U,B),function(U,F){var Q=U.b.hb1,B=U.b.hb2;if(!Q&&0!==Q||!B&&0!==B)return void(U.doubleBondShift=_W(F,U));var R=F.halfBonds.get(Q).loop,V=F.halfBonds.get(B).loop;if(R>=0&&V>=0){var n=F.loops.get(R).dblBonds,l=F.loops.get(V).dblBonds,d=F.loops.get(R).hbs.length,J=F.loops.get(V).hbs.length;U.doubleBondShift=function(U,F,Q,B){return 6===U&&6!==F&&(Q>1||1===B)?-1:6===F&&6!==U&&(B>1||1===Q)?1:F*Q>U*B?-1:F*QU?-1:1}(d,J,n,l)}else U.doubleBondShift=R>=0?-1:V>=0?1:_W(F,U)}(this,V),N&&Z){var W=U.isSnappingBond(Q);this.path=function(U,F,Q,B,R){var V,n,l,d=null,J=U.render,N=U.molecule,Z=!(null!==(V=U.atoms.get(Q.begin))&&void 0!==V&&V.showLabel),W=!(null!==(n=U.atoms.get(B.begin))&&void 0!==n&&n.showLabel),S=-1,E=1;switch(F.b.type){case fQ.PATTERN.TYPE.SINGLE:switch(F.b.stereo){case fQ.PATTERN.STEREO.UP:jW(Q.bid,F,U),d=F.boldStereo&&F.neihbid1>=0&&F.neihbid2>=0?KW(J,Q,B,F,N,R):function(U,F,Q,B,R,V){var n=F.p,l=Q.p,d=U.options,J=1e-4,N=F.norm;if(!N||N.length()=0){var k=gW(Q,B.neihbid2,d.stereoBond,R);S=k[0],E=k[1]}return SW.bondSingleUp(U.paper,n,S,E,d,V,IW(d,B,R))}(J,Q,B,F,N,R);break;case fQ.PATTERN.STEREO.DOWN:d=function(U,F,Q,B,R,V){var n,l=4,d=1.2,J=F.p,N=Q.p,Z=U.options,W=N.sub(J),S=W.length()+.2;W=W.normalized();var E=null!==(n=Z.hashSpacingInPx)&&void 0!==n?n:d,k=E*Z.lineWidth,t=l-1,a=k>=S/t,T=PW(S,Z.lineWidth,k);if(a&&T=0&&F.neihbid2>=0?function(U,F,Q,B,R,V,n,l){var d=F.p,J=Q.p,N=F.norm,Z=B.doubleBondShift,W=1.5*U.options.stereoBond,S=d.addScaled(N,W*Z),E=J.addScaled(N,W*Z);Z>0?(V&&(S=S.addScaled(F.dir,W*fW(F.rightCos,F.rightSin))),n&&(E=E.addScaled(F.dir,-W*fW(Q.leftCos,Q.leftSin)))):Z<0&&(V&&(S=S.addScaled(F.dir,W*fW(F.leftCos,F.leftSin))),n&&(E=E.addScaled(F.dir,-W*fW(Q.rightCos,Q.rightSin))));var k=KW(U,F,Q,B,R,l);return SW.bondDoubleStereoBold(U.paper,k,S,E,U.options,l,IW(U.options,B,R))}(J,Q,B,F,N,Z,W,R):function(U,F,Q,B,R,V,n){var l=B.b.stereo===fQ.PATTERN.STEREO.CIS_TRANS,d=F.p,J=Q.p,N=F.norm,Z=l?0:B.doubleBondShift,W=U.options,S=W.bondSpace/2,E=S+Z*S,k=Z*S-S,t=d.addScaled(N,E),a=J.addScaled(N,E),T=d.addScaled(N,k),e=J.addScaled(N,k);Z>0?(R&&(t=t.addScaled(F.dir,W.bondSpace*fW(F.rightCos,F.rightSin))),V&&(a=a.addScaled(F.dir,-W.bondSpace*fW(Q.leftCos,Q.leftSin)))):Z<0&&(R&&(T=T.addScaled(F.dir,W.bondSpace*fW(F.leftCos,F.leftSin))),V&&(e=e.addScaled(F.dir,-W.bondSpace*fW(Q.rightCos,Q.rightSin))));return SW.bondDouble(U.paper,t,T,a,e,l,W,n)}(J,Q,B,F,Z,W,R);break;case fQ.PATTERN.TYPE.TRIPLE:d=SW.bondTriple(J.paper,Q,B,J.options,R);break;case fQ.PATTERN.TYPE.AROMATIC:var k,t;d=Q.loop>=0&&(null===(k=N.loops.get(Q.loop))||void 0===k?void 0:k.aromatic)||B.loop>=0&&(null===(t=N.loops.get(B.loop))||void 0===t?void 0:t.aromatic)?SW.bondSingle(J.paper,Q,B,J.options,R):AW(J,Q,B,F,Z,W,R);break;case fQ.PATTERN.TYPE.SINGLE_OR_DOUBLE:d=function(U,F,Q,B){var R=F.p,V=Q.p,n=U.options,l=zF.dist(R,V)/Number((n.bondSpace+n.lineWidth).toFixed());1&l||(l+=1);return SW.bondSingleOrDouble(U.paper,F,Q,l,n,B)}(J,(l=qd.updateHalfBondCoordinates(Q,B,E))[0],l[1],R);break;case fQ.PATTERN.TYPE.SINGLE_OR_AROMATIC:d=AW(J,Q,B,F,Z,W,R);break;case fQ.PATTERN.TYPE.DOUBLE_OR_AROMATIC:d=AW(J,(l=qd.updateHalfBondCoordinates(Q,B,S))[0],l[1],F,Z,W,R);break;case fQ.PATTERN.TYPE.ANY:l=qd.updateHalfBondCoordinates(Q,B,S),d=SW.bondAny(J.paper,l[0],l[1],J.options,R);break;case fQ.PATTERN.TYPE.HYDROGEN:l=qd.updateHalfBondCoordinates(Q,B,E),d=SW.bondHydrogen(J.paper,l[0],l[1],J.options,R);break;case fQ.PATTERN.TYPE.DATIVE:d=SW.bondDative(J.paper,Q,B,J.options,R);break;default:throw new Error("Bond type "+F.b.type+" not supported")}if(d){var a=J.options.previewOpacity;d.attr({opacity:F.b.isPreview?a:1})}return d}(U,this,N,Z,W),this.rbb=qd.relBox(this.path.getBBox()),U.addReObjectPath(Ml.bondSkeleton,this.visel,this.path,null,!0);var S={};S.path=function(U,F,Q,B){var R=Q.p,V=B.p,n=V.add(R).scaled(.5),l=V.sub(R).normalized(),d=l.rotateSC(1,0),J=[],N=U.options.lineWidth,Z=U.options.bondSpace/2,W=N,S=2*N,E=1.5*Z,k=1.5*Z,t=3*Z,a=.2;switch(F.b.reactingCenterStatus){case fQ.PATTERN.REACTING_CENTER.NOT_CENTER:J.push(n.addScaled(d,t).addScaled(l,a*t)),J.push(n.addScaled(d,-t).addScaled(l,-a*t)),J.push(n.addScaled(d,t).addScaled(l,-a*t)),J.push(n.addScaled(d,-t).addScaled(l,a*t));break;case fQ.PATTERN.REACTING_CENTER.CENTER:J.push(n.addScaled(d,t).addScaled(l,a*t).addScaled(l,W)),J.push(n.addScaled(d,-t).addScaled(l,-a*t).addScaled(l,W)),J.push(n.addScaled(d,t).addScaled(l,a*t).addScaled(l,-W)),J.push(n.addScaled(d,-t).addScaled(l,-a*t).addScaled(l,-W)),J.push(n.addScaled(l,E).addScaled(d,k)),J.push(n.addScaled(l,-E).addScaled(d,k)),J.push(n.addScaled(l,E).addScaled(d,-k)),J.push(n.addScaled(l,-E).addScaled(d,-k));break;case fQ.PATTERN.REACTING_CENTER.MADE_OR_BROKEN:J.push(n.addScaled(d,t).addScaled(l,S)),J.push(n.addScaled(d,-t).addScaled(l,S)),J.push(n.addScaled(d,t).addScaled(l,-S)),J.push(n.addScaled(d,-t).addScaled(l,-S));break;case fQ.PATTERN.REACTING_CENTER.ORDER_CHANGED:J.push(n.addScaled(d,t)),J.push(n.addScaled(d,-t));break;case fQ.PATTERN.REACTING_CENTER.MADE_OR_BROKEN_AND_CHANGED:J.push(n.addScaled(d,t).addScaled(l,S)),J.push(n.addScaled(d,-t).addScaled(l,S)),J.push(n.addScaled(d,t).addScaled(l,-S)),J.push(n.addScaled(d,-t).addScaled(l,-S)),J.push(n.addScaled(d,t)),J.push(n.addScaled(d,-t));break;default:return null}return SW.reactingCenter(U.paper,J,U.options)}(R,this,N,Z),S.path&&(S.rbb=qd.relBox(S.path.getBBox()),U.addReObjectPath(Ml.data,this.visel,S.path,null,!0));var E={};E.path=function(U,F,Q,B){var R=U.options,V=null,n=null;if(F.b.customQuery)V=F.b.customQuery,F.b.customQuery.length>8&&(n=F.b.customQuery,V="".concat(F.b.customQuery.substring(0,8),"..."));else if(F.b.topology===fQ.PATTERN.TOPOLOGY.RING)V="rng";else{if(F.b.topology!==fQ.PATTERN.TOPOLOGY.CHAIN)return null;V="chn"}var l=Q.p,d=B.p,J=d.add(l).scaled(.5),N=d.sub(l).normalized().rotateSC(1,0),Z=R.lineWidth;F.doubleBondShift>0?N=N.scaled(-F.doubleBondShift):0===F.doubleBondShift&&(Z+=R.bondSpace/2);var W=new zF(2,1).scaled(R.bondSpace);F.b.type===fQ.PATTERN.TYPE.TRIPLE&&(Z+=R.bondSpace);var S=J.add(new zF(N.x*(W.x+Z),N.y*(W.y+Z))),E=SW.bondMark(U.paper,S,V,R);return n&&E.node.childNodes[0].setAttribute("data-tooltip",qd.escapeHtml(n)),E}(R,this,N,Z),E.path&&(E.rbb=qd.relBox(E.path.getBBox()),U.addReObjectPath(Ml.data,this.visel,E.path,null,!0)),this.setHover(this.hover,R);var k=null,t=.6*B.subFontSize;B.showBondIds&&(k=qW(Q,J,N,Z,t,.5,.5,N.norm),U.addReObjectPath(Ml.indices,this.visel,k)),B.showHalfBondIds&&(k=qW(this.b.hb1,J,N,Z,t,.8,.2,N.norm),U.addReObjectPath(Ml.indices,this.visel,k),k=qW(this.b.hb2,J,N,Z,t,.2,.8,Z.norm),U.addReObjectPath(Ml.indices,this.visel,k)),B.showLoopIds&&!B.showBondIds&&(k=qW(N.loop,J,N,Z,t,.5,.5,Z.norm),U.addReObjectPath(Ml.indices,this.visel,k),k=qW(Z.loop,J,N,Z,t,.5,.5,N.norm),U.addReObjectPath(Ml.indices,this.visel,k));var a=U.molecule.highlights,T=!1,e="";if(a.forEach(function(U){var F,B=null===(F=U.bonds)||void 0===F?void 0:F.includes(Q);T=T||B,B&&(e=U.color)}),T){var C={fill:e,stroke:"none"},D=this.makeHighlitePlate(U,C);R.ctab.addReObjectPath(Ml.hovering,this.visel,D)}n.cip&&(this.cip=qd.drawCIPLabel({atomOrBond:n,position:n.center,restruct:R.ctab,visel:this.visel})),this.addTestIds(U.molecule,n)}}}},{key:"addTestIds",value:function(U,F){var Q=this.path.items?this.path.items[0].node:this.path.node;if(Q){Q.setAttribute("data-testid","bond"),Q.setAttribute("data-bondid",U.bonds.keyOf(F)),Q.setAttribute("data-bondtype",F.type+(F.stereo?10+2*F.stereo:0)),Q.setAttribute("data-bondstereo",F.stereo),Q.setAttribute("data-fromatomid",F.begin),Q.setAttribute("data-toatomid",F.end),Q.setAttribute("data-topology",F.topology),Q.setAttribute("data-reacting-center",F.reactingCenterStatus);var B=U.getGroupIdFromAtomId(F.begin),R=U.getGroupIdFromAtomId(F.end);B!==R&&((0,o.isNumber)(B)&&(Q.setAttribute("data-fromsgroupid",B),U.sgroups.get(B)instanceof DB&&Q.setAttribute("data-frommonomerid",B)),(0,o.isNumber)(R)&&(Q.setAttribute("data-tosgroupid",R),U.sgroups.get(R)instanceof DB&&Q.setAttribute("data-tomonomerid",R)))}}},{key:"drawFragmentSelectionPreview",value:function(U,F){var Q;null===(Q=this.hovering)||void 0===Q||null===(Q=Q.node)||void 0===Q||Q.remove();var B=this.b.hb1&&U.ctab.molecule.halfBonds.get(this.b.hb1),R=this.b.hb2&&U.ctab.molecule.halfBonds.get(this.b.hb2),V=U.ctab.molecule.atoms.get(this.b.begin),n=U.ctab.molecule.atoms.get(this.b.end);if(!B||!R||!V||!n)return null;var l=VQ.modelToCanvas(V.pp),d=VQ.modelToCanvas(n.pp),J=B.p.sub(R.p).normalized(),N=zF.dist(d,l),Z=this.b.begin===F?J:J.scaled(-1),W=F===this.b.begin?l:d,S=new zF(N,20),E=new zF(F===this.b.begin?l.x:l.x+N/2,l.y-S.y/2),k=new uZ("fragment-selection-bond-preview"),t=U.paper.rect(E.x,E.y,S.x/2,S.y,10).attr({fill:"#fff",stroke:"none","stroke-width":0});U.ctab.addReObjectPath(Ml.additionalInfo,k,t),t.rotate(this.b.angle,l.x,l.y);var a=U.paper.rect(l.x,l.y-S.y/2,S.x,S.y,10).attr({fill:"none",stroke:"#365CFF","stroke-width":.7});U.ctab.addReObjectPath(Ml.additionalInfo,k,a),U.ctab.movePathOnTopOfLayer(this.visel.paths[0],Ml.bondSkeleton),a.rotate(this.b.angle,l.x,l.y);var T=U.paper.set();return[0,-5,-10].forEach(function(F){var Q=new zF(W.x-5*Z.x+F*Z.x,W.y-5*Z.y+F*Z.y),B=U.paper.path("M ".concat(Q.x-2*Z.x+4*Z.y," ").concat(Q.y-2*Z.y-4*Z.x)+" L ".concat(Q.x," ").concat(Q.y)+" L ".concat(Q.x-2*Z.x-4*Z.y," ").concat(Q.y-2*Z.y+4*Z.x)).attr({stroke:"#365CFF","stroke-width":2});T.push(B)}),U.ctab.addReObjectPath(Ml.additionalInfo,k,T),k}}],[{key:"isSelectable",value:function(){return!0}},{key:"getAtomPositionForBond",value:function(U,F,Q){return null!==Q&&void 0!==Q&&Q.isContracted()?null===Q||void 0===Q?void 0:Q.getContractedPosition(U).atomId:F}},{key:"bondRecalc",value:function(U,Q,B){var R=Q.render,V=Q.molecule.getGroupFromAtomId(U.b.begin),n=Q.molecule.getGroupFromAtomId(U.b.end),l=Q.atoms.get(F.getAtomPositionForBond(Q.molecule,U.b.begin,V)),d=Q.atoms.get(F.getAtomPositionForBond(Q.molecule,U.b.end,n));if(l&&d&&void 0!==U.b.hb1&&void 0!==U.b.hb2){var J,N;J=V instanceof DB&&V!==n&&V.isContracted()?V.pp:l.a.pp,N=n instanceof DB&&V!==n&&n.isContracted()?n.pp:d.a.pp;var Z=Q.molecule.halfBonds.get(U.b.hb1),W=Q.molecule.halfBonds.get(U.b.hb2);null!==Z&&void 0!==Z&&Z.dir&&null!==W&&void 0!==W&&W.dir&&(U.b.center=zF.lc2(J,.5,N,.5),U.b.len=zF.dist(fF.modelToCanvas(J,R.options),fF.modelToCanvas(N,R.options)),Z.p=l.getShiftedSegmentPosition(B,Z.dir,J,U.b.len),W.p=d.getShiftedSegmentPosition(B,W.dir,N,U.b.len),U.b.sb=5*B.lineWidth,U.b.sa=Math.max(U.b.sb,U.b.len/2-2*B.lineWidth),U.b.angle=180*Math.atan2(Z.dir.y,Z.dir.x)/Math.PI)}}}]),F}(wZ);function wW(U,F,Q,B){return U.neighbors.findIndex(function(U){var R=B.molecule.halfBonds.get(U);if(!R||R.bid===F)return!1;var V=B.bonds.get(R.bid);return!!V&&(V.b.type===fQ.PATTERN.TYPE.SINGLE&&V.b.stereo===fQ.PATTERN.STEREO.UP?!fQ.isBondToHiddenLeavingGroup(B.molecule,V.b)&&(V.b.end===R.begin||V.boldStereo&&Q):!(V.b.type!==fQ.PATTERN.TYPE.DOUBLE||V.b.stereo!==fQ.PATTERN.STEREO.NONE||!Q||!V.boldStereo)&&!fQ.isBondToHiddenLeavingGroup(B.molecule,V.b))})}function jW(U,F,Q){var B,R,V=[F.b.begin,F.b.end].map(function(F){var B=Q.molecule.atoms.get(F);if(!B)return-1;var R=wW(B,U,!0,Q);return R<0?-1:B.neighbors[R]});F.neihbid1=null!==(B=Q.atoms.get(F.b.begin))&&void 0!==B&&B.showLabel&&!F.boldStereo?-1:V[0],F.neihbid2=null!==(R=Q.atoms.get(F.b.end))&&void 0!==R&&R.showLabel&&!F.boldStereo?-1:V[1]}function IW(U,F,Q){var B,R,V="#000";if(0===F.b.stereo)return V;var n=null===(B=Q.atoms.get(F.b.begin))||void 0===B?void 0:B.stereoLabel,l=null===(R=Q.atoms.get(F.b.end))||void 0===R?void 0:R.stereoLabel,d="";return n&&!l?d=n:!n&&l&&(d=l),d&&U.colorStereogenicCenters!==il.Off&&U.colorStereogenicCenters!==il.LabelsOnly?vW(U,d):V}function KW(U,F,Q,B,R,V){var n=U.options,l=gW(F,B.neihbid1,n.stereoBond,R),d=gW(Q,B.neihbid2,n.stereoBond,R),J=l[0],N=l[1],Z=d[0],W=d[1];return SW.bondSingleStereoBold(U.paper,J,N,Z,W,n,V,IW(n,B,R))}function fW(U,F){return F<0||Math.abs(U)>.9?0:F/(1-U)}function gW(U,F,Q,B){var R=B.halfBonds.get(F),V=zF.dot(U.dir,R.dir),n=zF.cross(U.dir,R.dir),l=Math.sqrt(.5*(1-V)),d=R.dir.rotateSC((n>=0?-1:1)*l,Math.sqrt(.5*(1+V))),J=U.p.addScaled(d,.7*Q/(l+.3)),N=U.p.addScaled(d.negated(),.7*Q/(l+.3));return n>0?[J,N]:[N,J]}function PW(U,F,Q){var B=U-F;return Math.max(Math.floor(B/(F+Q)),0)+2}function AW(U,F,Q,B,R,V,n){var l=[.125,.125,.005,.125],d=0,J=null,N=U.options,Z=B.doubleBondShift;B.b.type===fQ.PATTERN.TYPE.SINGLE_OR_AROMATIC&&(d=Z>0?1:2,J=l.map(function(U){return U*N.microModeScale})),B.b.type===fQ.PATTERN.TYPE.DOUBLE_OR_AROMATIC&&(d=3,J=l.map(function(U){return U*N.microModeScale}));var W=function(U,F,Q,B,R,V,n,l){var d=U.p,J=F.p,N=U.norm,Z=V/2,W=Z+Q*Z,S=Q*Z-Z,E=d.addScaled(N,W),k=J.addScaled(N,W),t=d.addScaled(N,S),a=J.addScaled(N,S);Q>0?(B&&(E=E.addScaled(U.dir,V*fW(U.rightCos,U.rightSin))),R&&(k=k.addScaled(U.dir,-V*fW(F.leftCos,F.leftSin)))):Q<0&&(B&&(t=t.addScaled(U.dir,V*fW(U.leftCos,U.leftSin))),R&&(a=a.addScaled(U.dir,-V*fW(F.rightCos,F.rightSin))));return SW.aromaticBondPaths(E,t,k,a,n,l)}(F,Q,Z,R,V,N.bondSpace,d,J);return SW.bondAromatic(U.paper,W,Z,N,n)}function qW(U,F,Q,B,R,V,n,l){var d=zF.lc(Q.p,V,B.p,n,l,R),J=F.text(d.x,d.y,U.toString()),N=qd.relBox(J.getBBox());return SW.recenterText(J,N),J}function _W(U,F){if(!F.b.hb1&&0!==F.b.hb1||!F.b.hb2&&0!==F.b.hb2)return 0;var Q=U.halfBonds.get(F.b.hb1),B=U.halfBonds.get(F.b.hb2);if(!Q||!B)return 0;var R=(Q.leftSin>.3?1:0)+(B.rightSin>.3?1:0),V=(B.leftSin>.3?1:0)+(Q.rightSin>.3?1:0);return R>V?-1:R.3?1:0)+(Q.rightSin>.3?1:0)===1?1:0}function $W(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return($W=function(){return!!U})()}function US(U,F,Q){(function(U,F){if(F.has(U))throw new TypeError("Cannot initialize the same private elements twice on an object")})(U,F),F.set(U,Q)}var FS=new WeakMap,QS=function(U){function F(){var U;return(0,V.A)(this,F),U=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,$W()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,["enhancedFlag"]),US((0,J.A)(U),FS,{writable:!0,value:void 0}),U}return(0,N.A)(F,U),(0,n.A)(F,[{key:"hoverPath",value:function(U){var F=IF.fromRelBox((0,M.A)(this,FS).getBBox()),Q=F.p1.sub(F.p0),B=F.p0.sub(U.options.offset);return U.paper.rect(B.x,B.y,Q.x,Q.y)}},{key:"drawHover",value:function(U){var F;if(null===(F=(0,M.A)(this,FS))||void 0===F||!F.attrs)return null;var Q=this.hoverPath(U).attr(U.options.hoverStyle);return U.ctab.addReObjectPath(Ml.hovering,this.visel,Q),Q}},{key:"makeSelectionPlate",value:function(U,F,Q){var B;return null!==(B=(0,M.A)(this,FS))&&void 0!==B&&B.attrs?this.hoverPath(U.render).attr(Q.selectionStyle):null}},{key:"show",value:function(U,F,Q){var B=U.render,R=U.molecule.frags.get(F);if(null!==R&&void 0!==R&&R.enhancedStereoFlag){var V=R.stereoFlagPosition?R.stereoFlagPosition:UB.getDefaultStereoFlagPosition(U.molecule,F),n=B.paper,l=fF.modelToCanvas(V,Q),d=(0,Z.A)((0,Z.A)((0,Z.A)((0,Z.A)({},gQ.Abs,Q.absFlagLabel),gQ.And,Q.andFlagLabel),gQ.Mixed,Q.mixedFlagLabel),gQ.Or,Q.orFlagLabel);Q.showStereoFlags&&!Q.ignoreChiralFlag&&(0,i.A)(this,FS,n.text(l.x,l.y,R.enhancedStereoFlag?d[R.enhancedStereoFlag]:"").attr({font:Q.font,"font-size":Q.fontszInPx,fill:"#000"})),B.ctab.addReObjectPath(Ml.data,this.visel,(0,M.A)(this,FS),null,!0)}}}],[{key:"isSelectable",value:function(){return!0}}]),F}(wZ);function BS(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(BS=function(){return!!U})()}var RS=function(U){function F(U){var Q;return(0,V.A)(this,F),(Q=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,BS()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,["frag"])).item=U,Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"fragGetAtoms",value:function(U,F){return Array.from(U.atoms.keys()).filter(function(Q){var B;return(null===(B=U.atoms.get(Q))||void 0===B?void 0:B.a.fragment)===F})}},{key:"fragGetBonds",value:function(U,F){return Array.from(U.bonds.keys()).filter(function(Q){var B,R,V,n=null===(B=U.bonds.get(Q))||void 0===B?void 0:B.b;if(!n)return!1;var l=null===(R=U.atoms.get(n.begin))||void 0===R?void 0:R.a.fragment,d=null===(V=U.atoms.get(n.end))||void 0===V?void 0:V.a.fragment;return l===F&&d===F})}},{key:"calcBBox",value:function(U,F,B){var R;return U.atoms.forEach(function(U){if(U.a.fragment===F){var V=U.visel.boundingBox;if(V)B||(B=Q.g._ui_editor),V=V.translate((B.options.offset||new zF).negated()).transform(fF.canvasToModel,B.options);else{V=new IF(U.a.pp,U.a.pp);var n=new zF(.05*3,.05*3);V=V.extend(n,n)}R=R?IF.union(R,V):V}}),R}},{key:"_draw",value:function(U,F,Q){var B=this.calcBBox(U.ctab,F,U);if(B){var R=fF.modelToCanvas(new zF(B.p0.x,B.p0.y),U.options),V=fF.modelToCanvas(new zF(B.p1.x,B.p1.y),U.options);return U.paper.rect(R.x,R.y,V.x-R.x,V.y-R.y,0).attr(Q)}}},{key:"draw",value:function(U){return null}},{key:"drawHover",value:function(U){}},{key:"setHover",value:function(U,F){var Q=F.ctab.frags.keyOf(this);(Q||0===Q)&&(Q=parseInt(String(Q),10),F.ctab.atoms.forEach(function(B){B.a.fragment===Q&&B.setHover(U,F)}),F.ctab.bonds.forEach(function(B){var R;(null===(R=F.ctab.atoms.get(B.b.begin))||void 0===R?void 0:R.a.fragment)===Q&&B.setHover(U,F)}))}}],[{key:"isSelectable",value:function(){return!1}}]),F}(wZ);function VS(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(VS=function(){return!!U})()}var nS=new zF(.05*3,.05*3),lS=new zF(.2,.4),dS=function(U){function F(U){var Q;return(0,V.A)(this,F),(Q=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,VS()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,["rgroup"])).labelBox=null,Q.item=U,Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"getAtoms",value:function(U){var F=[];return this.item.frags.forEach(function(Q){var B=U.ctab.frags.get(Q);B&&(F=F.concat(B.fragGetAtoms(U.ctab,Q)))}),F}},{key:"getBonds",value:function(U){var F=[];return this.item.frags.forEach(function(Q){var B=U.ctab.frags.get(Q);B&&(F=F.concat(B.fragGetBonds(U.ctab,Q)))}),F}},{key:"calcBBox",value:function(U){var F=null;this.item.frags.forEach(function(Q){var B=U.ctab.frags.get(Q),R=null===B||void 0===B?void 0:B.calcBBox(U.ctab,Q,U);R&&(F=F?IF.union(F,R):R)});var Q=U.ctab.getRGroupAttachmentPointsVBoxByAtomIds(this.getAtoms(U));return F&&Q&&(F=IF.union(F,Q)),F=F?F.extend(nS,nS):F}},{key:"draw",value:function(U,F){var Q=this.calcBBox(U);if(!Q)return{data:[]};Q=Q.extend(lS,lS);var B={data:[]},R=fF.modelToCanvas(Q.p0,F),V=fF.modelToCanvas(Q.p1,F),n=U.paper.set();JS(n,U,Q),B.data.push(n);var l=U.ctab.rgroups.keyOf(this),d=U.paper.set(),J=U.paper.text(R.x,(R.y+V.y)/2,"R"+l+"=").attr({font:F.font,"font-size":F.fontRLabel,fill:"black"}),N=qd.relBox(J.getBBox());J.translateAbs(-N.width/2-F.lineWidth,0),d.push(J);for(var Z={font:F.font,"font-size":F.fontRLogic,fill:"black"},W=[NS(l,this.item)],S=N.height/2+F.lineWidth/2,E=0,k=W;E0;)U.addReObjectPath(Ml.data,B.visel,Q.shift(),null,!0)})}}],[{key:"isSelectable",value:function(){return!1}}]),F}(wZ);function JS(U,F,Q,B){var R=fF.modelToCanvas(null!==B&&void 0!==B?B:new zF(1,0),F.options),V=Math.min(.25,.3*Q.sz().x),n=Q.p1.y-Q.p0.y,l=.5*(Q.p1.y+Q.p0.y),d=SW.bracket(F.paper,R.negated(),R.negated().rotateSC(1,0),fF.modelToCanvas(new zF(Q.p0.x,l),F.options),V,n,F.options),J=SW.bracket(F.paper,R,R.rotateSC(1,0),fF.modelToCanvas(new zF(Q.p1.x,l),F.options),V,n,F.options);U.push(d,J)}function NS(U,F){var Q,B=F.ifthen>0?"IF ":"",R=F.range.startsWith(">")||F.range.startsWith("<")||F.range.startsWith("=");Q=F.range.length>0?R?F.range:"="+F.range:">0";var V=F.resth?" (RestH)":"",n=F.ifthen>0?"\nTHEN R"+F.ifthen.toString():"";return"".concat(B,"R").concat(String(U)).concat(Q).concat(V).concat(n)}function ZS(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function WS(U){for(var F=1;F0){if(Q.xF.x)return new zF(null===N||void 0===N?void 0:N.x,null===N||void 0===N?void 0:N.y);if(Q.x===F.x){if(Q.y>F.y)return new zF(null===N||void 0===N?void 0:N.x,null===N||void 0===N?void 0:N.y);if(Q.yF.x)return new zF(null===J||void 0===J?void 0:J.x,null===J||void 0===J?void 0:J.y);if(Q.xF.y)return new zF(null===J||void 0===J?void 0:J.x,null===J||void 0===J?void 0:J.y);if(Q.y=S&&B.x<=k&&(B.yt?a.push(B.y-t):a.push(B.y-E,t-B.y)),B.xk&&B.y>t&&a.push(zF.dist(new zF(k,t),B)),B.xt&&a.push(zF.dist(new zF(S,t),B)),B.x>k&&B.y=E&&B.y<=t&&(B.xk?a.push(B.x-k):a.push(B.x-S,k-B.x)),Q=Math.min.apply(Math,a);break;case NB.line:Q=B.calculateDistanceToLine([l[0],l[1]]);break;default:throw new Error("Unsupported shape type")}var T=R.minDist<=8/F?R.refPoint:null;return{minDist:Q=Math.min(R.minDist,Q),refPoint:T}}},{key:"getReferencePointDistance",value:function(U){var F=[];return this.getReferencePoints().forEach(function(Q){F.push({minDist:Math.abs(zF.dist(U,Q)),refPoint:Q})}),F.reduce(function(U,F){return U&&U.minDist0&&Math.abs(l)-Q/8>0){var W=U.paper.ellipse(d,J,bU(Math.abs(n)-R),bU(Math.abs(l)-R));B.push({path:this.getBorderHoverPath(W,U),stylesApplied:!0})}break;case NB.rectangle:var S=Math.min(F[0].x,F[1].x),E=Math.min(F[0].y,F[1].y),k=Math.max(F[0].x,F[1].x)-S,t=Math.max(F[0].y,F[1].y)-E,a=U.paper.rect(bU(S-R),bU(E-R),bU(k+2*R),bU(t+2*R));B.push({path:this.getBorderHoverPath(a,U),stylesApplied:!0});var T=U.paper.rect(bU(S),bU(E),bU(k),bU(t));if(B.push({path:this.getFillHoverPath(T,U),stylesApplied:!0}),k-2*R>0&&t-2*R>0){var e=U.paper.rect(bU(S+R),bU(E+R),bU(k-2*R),bU(t-2*R));B.push({path:this.getBorderHoverPath(e,U),stylesApplied:!0})}break;case NB.line:var C=[],D=Math.atan((F[1].y-F[0].y)/(F[1].x-F[0].x)),o={x:0,y:0},p={x:0,y:0},h=F[0].x>F[1].x?-1:1;o.x=F[0].x-h*(Q/8*Math.cos(D)),o.y=F[0].y-h*(Q/8*Math.sin(D)),p.x=F[1].x+h*(Q/8*Math.cos(D)),p.y=F[1].y+h*(Q/8*Math.sin(D)),C.push("M",o.x+h*Q/8*Math.sin(D),o.y-h*Q/8*Math.cos(D)),C.push("L",p.x+h*Q/8*Math.sin(D),p.y-h*Q/8*Math.cos(D)),C.push("L",p.x-h*Q/8*Math.sin(D),p.y+h*Q/8*Math.cos(D)),C.push("L",o.x-h*Q/8*Math.sin(D),o.y+h*Q/8*Math.cos(D)),C.push("L",o.x+h*Q/8*Math.sin(D),o.y-h*Q/8*Math.cos(D)),B.push({path:U.paper.path(C).attr(U.options.hoverStyle),stylesApplied:!0});break;default:throw new Error("Unsupported shape type")}return B}},{key:"drawHover",value:function(U){var F=this.hoverPath(U).map(function(F){return F.stylesApplied?F.path:F.path.attr(U.options.hoverStyle)});return U.ctab.addReObjectPath(Ml.hovering,this.visel,F),F}},{key:"makeSelectionPlate",value:function(U,F,Q){var B=this,R=this.item.pos.map(function(F){return fF.modelToCanvas(F,U.render.options)||new zF}),V=this.getReferencePoints(),n=U.render.options.microModeScale;return this.selectionSet=U.render.paper.set(),this.selectionPointsSet=U.render.paper.set(),this.selectionSet.push(DS(this.item.mode,F,R).attr(Q.selectionStyleSimpleObject)),V.forEach(function(F){var Q=fF.modelToCanvas(F,U.render.options);B.selectionPointsSet.push(U.render.paper.circle(Q.x,Q.y,n/8).attr({fill:"black"}))}),U.addReObjectPath(Ml.selectionPoints,this.visel,this.selectionPointsSet),this.selectionSet}},{key:"showPoints",value:function(){var U;null===(U=this.selectionPointsSet)||void 0===U||U.show()}},{key:"hidePoints",value:function(){var U;null===(U=this.selectionPointsSet)||void 0===U||U.hide()}},{key:"show",value:function(U,F){var Q=U.render,B=this.item.pos.map(function(U){return fF.modelToCanvas(U,F)||new zF}),R=DS(this.item.mode,Q.paper,B),V=F.offset;null!=V&&R.translateAbs(V.x,V.y),this.visel.add(R,IF.fromRelBox(qd.relBox(R.getBBox())))}}],[{key:"isSelectable",value:function(){return!0}}]),F}(wZ);function DS(U,F,Q){var B;switch(U){case NB.ellipse:B=SW.ellipse(F,Q);break;case NB.rectangle:B=SW.rectangle(F,Q);break;case NB.line:B=SW.line(F,Q);break;default:throw new Error("Unsupported shape type")}return B}function oS(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(oS=function(){return!!U})()}var pS=function(U){function F(U){var Q;return(0,V.A)(this,F),(Q=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,oS()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,["loop"])).loop=U,Q.centre=new zF,Q.radius=new zF,Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"show",value:function(U,F,Q){var B=this,R=U.render.paper,V=U.molecule,n=this.loop;this.centre=new zF,n.hbs.forEach(function(F){var R=V.halfBonds.get(F),l=U.bonds.get(R.bid),d=fF.modelToCanvas(U.atoms.get(R.begin).a.pp,Q);l.b.type!==fQ.PATTERN.TYPE.AROMATIC&&(n.aromatic=!1),B.centre.add_(d)}),n.convex=!0;for(var l=0;l0&&(n.convex=!1)}if(this.centre=this.centre.scaled(1/n.hbs.length),this.radius=-1,n.hbs.forEach(function(F){var R=V.halfBonds.get(F),n=fF.modelToCanvas(U.atoms.get(R.begin).a.pp,Q),l=fF.modelToCanvas(U.atoms.get(R.end).a.pp,Q),d=zF.diff(l,n).rotateSC(1,0).normalized(),J=zF.dot(zF.diff(n,B.centre),d);B.radius=B.radius<0?J:Math.min(B.radius,J)}),this.radius*=.7,n.aromatic){var N=new Set;n.hbs.forEach(function(U){var F=V.halfBonds.get(U);N.add(F.begin),N.add(F.end)});var Z=N.values().next().value,W=V.getGroupFromAtomId(Z);if(null!==W&&void 0!==W&&W.isContracted())if(Array.from(N).every(function(U){return V.getGroupFromAtomId(U)===W}))return;var S=null;if(n.convex&&Q.aromaticCircle)S=R.circle(this.centre.x,this.centre.y,this.radius).attr({stroke:"#000","stroke-width":Q.lineattr["stroke-width"]});else{for(var E="",k=0;kF.getRowWidth(U)?Q:U},U[0]),l=n[n.length-1],d=l.getBBox().x+l.getBBox().width,J=U[U.length-1],N=Math.max.apply(Math,(0,B.A)(J.map(function(U){return U.getBBox().y+U.getBBox().height})));return{p0:new zF(Q,V),p1:new zF(d,N)}}},{key:"getRowWidth",value:function(U){return U.reduce(function(U,F){return U+=F.getBBox().width},0)}},{key:"drawHover",value:function(U){if(!this.paths.length)return null;var F=this.hoverPath(U).attr(U.options.hoverStyle);return U.ctab.addReObjectPath(Ml.hovering,this.visel,F),F}},{key:"makeSelectionPlate",value:function(U,F,Q){return this.paths.length&&F?this.hoverPath(U.render).attr(Q.selectionStyle):null}},{key:"show",value:function(U,F,Q){var B,R=this,V=U.render,n=V.paper,l=fF.modelToCanvas(this.item.position,Q),d=0;this.paths=[];var J=null;try{if(this.item.content){var N=JSON.parse(this.item.content);N&&N.root&&(J=N)}}catch(W){}null!==(B=J)&&void 0!==B&&B.root&&(J.root.children.filter(function(U){return"paragraph"===U.type}).forEach(function(F){var B=F.children.filter(function(U){return"text"===U.type}),V=0,J=[];if(0===B.length){var N=n.text(l.x,l.y,"\xa0").attr({font:Q.font,"font-size":Q.fontszInPx,"text-anchor":"start",fill:"#000000"});N.node.setAttribute("data-testid","text-label"),N.node.setAttribute("data-text-id",U.molecule.texts.keyOf(R.item)),N.translateAbs(0,d),J.push(N)}else B.forEach(function(F){var B=R.getStylesFromTextNode(F,Q),N=F.text.replace(/[^\S\r\n]/g,"\xa0")||"\xa0",W=n.text(l.x,l.y,N).attr(function(U){for(var F=1;F0&&void 0!==arguments[0]&&arguments[0]?-.1:0,Q=F.CURVE_OUTLINE_WIDTH+U,B=F.LINE_OUTLINE_WIDTH+U,R=this.outlineEndPoint.addScaled(this.normalizedCurveDirectionVector,-Q/2),V=R.addScaled(this.normalizedCurveDirectionVector,F.OUTLINE_PADDING),n=this.outlineEndPoint.addScaled(this.normalizedCurveDirectionVector,Q/2),l=n.addScaled(this.normalizedCurveDirectionVector,-F.OUTLINE_PADDING),d=this.middlePoint.addScaled(this.normalizedCurveDirectionVector,-Q/2),J=d.addScaled(this.normalizedCurveDirectionVector,F.OUTLINE_PADDING),N=this.middlePoint.addScaled(this.normalizedCurveDirectionVector,Q/2),Z=N.addScaled(this.normalizedCurveDirectionVector,-F.OUTLINE_PADDING),W=this.middlePoint.addScaled(this.normalizedCurveDirectionVector,-B/2),S=this.middlePoint.addScaled(this.normalizedCurveDirectionVector,B/2),E=this.startPoint.addScaled(this.normalizedCurveDirectionVector,-B/2),k=E.addScaled(this.normalizedLineDirectionVector,F.OUTLINE_PADDING),t=this.startPoint.addScaled(this.normalizedCurveDirectionVector,B/2);return[R,V,l,n,N,Z,S,t.addScaled(this.normalizedLineDirectionVector,F.OUTLINE_PADDING),t,E,k,W,J,d]}},{key:"getDistanceTo",value:function(U){return zF.dist(U,this.middlePoint)}},{key:"show",value:function(U,F){var Q=this.getAttachmentPointDirectionVector(U.molecule);if(Q){this.lineDirectionVector=Q;var B=function(U,F,Q,B,R){var V=F.options,n=F.paper,l=fF.modelToCanvas(U.a.pp,V),d=U.getShiftedSegmentPosition(V,Q),J=l.addScaled(Q,.85*V.microModeScale),N=SW.rgroupAttachmentPoint(n,d,J,Q,V);return B(Ml.indices,R,N,l,!0),N}(this.reAtom,U.render,Q,U.addReObjectPath.bind(U),this.visel);this.addTestAttributes(B);var R=function(U){return U.molecule.atoms.some(function(U){var F=U.attachmentPoints;return F===sQ.SecondSideOnly||F===sQ.BothSides})}(U);if(R){var V="primary"===this.item.type?"1":"2";!function(U,F,Q,B,R,V){var n=F.options,l=F.paper,d=fF.modelToCanvas(U.a.pp,n),J=function(U,F,Q){var B=F.rotateSC(1,0);return U.addScaled(B,.17*Q).addScaled(F,.7*Q)}(d,Q,n.microModeScale),N=SW.rgroupAttachmentPointLabel(l,J,R,n,U.color);B(Ml.indices,V,N,d,!0)}(this.reAtom,U.render,Q,U.addReObjectPath.bind(U),V,this.visel)}var n=U.molecule.highlights,l=!1,d="";if(n.forEach(function(U){var Q,B=null===(Q=U.rgroupAttachmentPoints)||void 0===Q?void 0:Q.includes(F);l=l||B,B&&(d=U.color)}),l){var J={fill:d,stroke:"none"},N=this.makeHighlightePlate(U,J);U.addReObjectPath(Ml.hovering,this.visel,N)}}}},{key:"addTestAttributes",value:function(U){var F,Q=U.items?null===(F=U.items[0])||void 0===F?void 0:F.node:U.node;Q&&(Q.setAttribute("data-testid","attachment-point"),Q.setAttribute("data-primary-or-secondary",this.item.type),Q.setAttribute("data-attached-to-atomid",String(this.item.atomId)))}},{key:"getHoverPlatePath",value:function(U){var F=arguments.length>1&&void 0!==arguments[1]&&arguments[1],Q=this.getOutlinePoints(F).map(function(F){return fF.modelToCanvas(F,U)}),B=(0,R.A)(Q,14),V=B[0],n=B[1],l=B[2],d=B[3],J=B[4],N=B[5],Z=B[6],W=B[7],S=B[8],E=B[9],k=B[10],t=B[11],a=B[12],T=B[13];return"\n M ".concat(n.x," ").concat(n.y,"\n L ").concat(l.x," ").concat(l.y,"\n C ").concat(d.x," ").concat(d.y,", ").concat(J.x," ").concat(J.y,", ").concat(N.x," ").concat(N.y,"\n L ").concat(Z.x," ").concat(Z.y,"\n L ").concat(W.x," ").concat(W.y,"\n C ").concat(S.x," ").concat(S.y,", ").concat(E.x," ").concat(E.y,", ").concat(k.x," ").concat(k.y,"\n L ").concat(t.x," ").concat(t.y,"\n L ").concat(a.x," ").concat(a.y,"\n C ").concat(T.x," ").concat(T.y,", ").concat(V.x," ").concat(V.y,", ").concat(n.x," ").concat(n.y,"\n ")}},{key:"makeHoverPlate",value:function(U){var F=this.getHoverPlatePath(U.options);return U.paper.path(F).attr(U.options.hoverStyle)}},{key:"makeSelectionPlate",value:function(U,F,Q){var B=this.getHoverPlatePath(Q);return F.path(B).attr(Q.selectionStyle)}},{key:"drawHover",value:function(U){var F=this.makeHoverPlate(U);return U.ctab.addReObjectPath(Ml.hovering,this.visel,F),F}},{key:"getAttachmentPointDirectionVector",value:function(U){if(this.reAtom.hasAttachmentPoint()){if(this.isTrisectionAttachmentPoint())return function(U,F,Q){var B=U.getLargestSectorFromNeighbors(F),R=B.largestAngle,V=B.neighborAngle,n=V+R/3,l=V+2*R/3;return iS("primary"===Q?n:l)}(this.reAtom,U,this.item.type);var F=1===this.reAtom.a.neighbors.length?function(U,F){var Q,B=2*Math.PI/3,R=Math.PI,V=U.a.neighbors[0],n=F.halfBonds.get(V),l=n.ang,d=(null===(Q=F.bonds.get(n.bid))||void 0===Q?void 0:Q.type)===fQ.PATTERN.TYPE.TRIPLE;return iS(l+(d?R:B))}(this.reAtom,U):this.reAtom.bisectLargestSector(U);return F}}},{key:"isTrisectionAttachmentPoint",value:function(){return this.reAtom.a.attachmentPoints===sQ.BothSides}}],[{key:"isSelectable",value:function(){return!0}}]),F}(wZ);function iS(U){return new zF(Math.cos(U),Math.sin(U))}function bS(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function vS(U){for(var F=1;F1&&void 0!==arguments[1]?arguments[1]:this.getReferencePositions(U);return this.multitailArrow.getReferenceLines(F)}},{key:"buildFrame",value:function(U){var Q=this.getFrameOffset(U),B=this.getReferencePositions(U),R=B.topSpine,V=B.bottomSpine,n=B.topTail,l=B.bottomTail,d=B.head,J=B.tails,N=new qZ,Z=Array.from(J.values()).sort(function(U,F){return U.y-F.y}),W=R.add(new zF(Q,Q));return N.addMovement(W).addLine(R.add(new zF(Q,-Q+F.CUBIC_BEZIER_OFFSET))).addQuadraticBezierCurve(R.add(new zF(Q,-Q)),R.add(new zF(Q-F.CUBIC_BEZIER_OFFSET,-Q))),F.drawSingleLineHover(N,Q,R,n,-1,-1),Z.forEach(function(U){F.drawSingleLineHover(N,Q,new zF(R.x,U.y),U,-1,-1)}),F.drawSingleLineHover(N,Q,V,l,-1,-1),N.addLine(V.add(new zF(Q-F.CUBIC_BEZIER_OFFSET,Q))).addQuadraticBezierCurve(V.add(new zF(Q,Q)),V.add(new zF(Q,Q-F.CUBIC_BEZIER_OFFSET))),F.drawSingleLineHover(N,Q,new zF(R.x,d.y),d,1,1),N.addLine(W),N.build()}},{key:"drawHover",value:function(U){var F,Q=this.buildFrame(U.options),B=U.ctab.render.paper.path(Q).attr(zS({},U.options.hoverStyle));"number"===typeof this.multitailArrow.arrowId&&(null===(F=B.node)||void 0===F||F.setAttribute("data-arrow-id",String(this.multitailArrow.arrowId)));return U.ctab.addReObjectPath(Ml.hovering,this.visel,B),B}},{key:"getSelectionPointsFromReferencePoint",value:function(U,F,Q,B){var R=F.x>U.x?-B:B;return(0,Z.A)((0,Z.A)({},"".concat(Q,"-resize"),U),"".concat(Q,"-move"),new zF(F.x+R,U.y))}},{key:"addTestSelectionPoints",value:function(U,Q,B){var V=this,n=this.getSelectionPointOffset(B),l=this.getReferencePositions(B),d=l.topTail,J=l.bottomTail,N=l.tails,Z=l.head,W=l.topSpine,S=Math.min(F.HEAD_LINE_START_OFFSET,Math.max(0,Z.x-W.x)),E=W.x+S,k=new zF(W.x+F.SPINE_MOVE_POINT_X_OFFSET,Z.y),t=new zF(E+(Z.x-E)/2,Z.y),a=Q.set(),T=[],e=null,C=zS(zS(zS(zS({"spine-move":k},this.getSelectionPointsFromReferencePoint(d,W,"topTail",n)),this.getSelectionPointsFromReferencePoint(J,W,"bottomTail",n)),this.getSelectionPointsFromReferencePoint(Z,W,"head",n)),Array.from(N.entries()).reduce(function(U,F){var Q=(0,R.A)(F,2),B=Q[0],l=Q[1];return zS(zS({},U),V.getSelectionPointsFromReferencePoint(l,W,"".concat(eV.TAILS_NAME,"-").concat(B),n))},{}));C["head-move"]=t,Object.entries(C).forEach(function(U){var B,n=(0,R.A)(U,2),l=n[0],d=n[1],J="spine-move"===l,N=F.SELECTION_POINT_RADIUS,Z=Q.circle(d.x,d.y,N).attr({fill:"#000",stroke:"#000","stroke-width":0,"fill-opacity":J?0:1,"stroke-opacity":J?0:1,opacity:F.HIDDEN_SELECTION_POINT_OPACITY,"pointer-events":"all"});J&&(e=Z),null!==(B=Z.node)&&void 0!==B&&B.setAttribute&&(Z.node.setAttribute("data-testid",l),Z.node.setAttribute("pointer-events","all"),"number"===typeof V.multitailArrow.arrowId&&Z.node.setAttribute("data-arrow-id",String(V.multitailArrow.arrowId))),T.push(Z),a.push(Z)}),this.testSelectionPoints=T,U.addReObjectPath(Ml.indices,this.visel,a),e&&U.movePathOnTopOfLayer(e,Ml.indices)}},{key:"makeSelectionPlate",value:function(U,F,Q){var B,R=this.buildFrame(Q),V=F.set(),n=U.render.paper.path(R).attr(zS({},Q.selectionStyle));"number"===typeof this.multitailArrow.arrowId&&(null===(B=n.node)||void 0===B||B.setAttribute("data-arrow-id",String(this.multitailArrow.arrowId)));return V.push(n),V}},{key:"show",value:function(U,Q){var B,R;U.clearVisel(this.visel),this.testSelectionPoints=[];var V=new qZ,n=new qZ,l=this.getReferencePositions(Q),d=l.topTail,J=l.topSpine,N=l.bottomSpine,Z=l.head,W=l.tails,S=J.sub(d).x,E=Math.min(F.HEAD_LINE_START_OFFSET,Math.max(0,Z.x-J.x)),k=new zF(J.x+E,Z.y),t=Z.x-k.x,a=dW(Q),T=a.arrowHeadLength,e=a.arrowHeadWidth;V.addMultitailArrowBase(J.y,N.y,J.x,S),n.addFilledTriangleArrowPathParts(k,t,T,e),W.forEach(function(U){V.addLine(U,{x:J.x,y:U.y})});var C,D,o=U.render.paper.path(V.build()),p=U.render.paper.path(n.build());(null===(B=o.node)||void 0===B||B.setAttribute("data-testid","rxn-arrow"),null===(R=o.node)||void 0===R||R.setAttribute("data-arrowtype","multitail-arrow"),"number"===typeof this.multitailArrow.arrowId)&&(null===(C=o.node)||void 0===C||C.setAttribute("data-arrow-id",String(this.multitailArrow.arrowId)),null===(D=p.node)||void 0===D||D.setAttribute("data-arrow-id",String(this.multitailArrow.arrowId)));o.attr(Q.lineattr),p.attr(zS(zS({},Q.lineattr),{},{fill:"#000"})),U.addReObjectPath(Ml.data,this.visel,[o,p],null,!0),this.addTestSelectionPoints(U,U.render.paper,Q)}},{key:"showPoints",value:function(){this.testSelectionPoints.forEach(function(U){U.attr({opacity:F.VISIBLE_SELECTION_POINT_OPACITY})})}},{key:"hidePoints",value:function(){this.testSelectionPoints.forEach(function(U){U.attr({opacity:F.HIDDEN_SELECTION_POINT_OPACITY})})}},{key:"getClosestArrowPartPosition",value:function(U,Q,B){return Q.reduce(function(Q,V){var n,l=(0,R.A)(V,2),d=l[0],J=l[1],N=B?U.calculateDistanceToLine(J):zF.dist(U,J),Z=F.getTailIdFromRefName(d);return n="number"===typeof Z?LS.TAILS:[LS.HEAD,LS.BOTTOM_TAIL,LS.TOP_TAIL].includes(d)?d:LS.SPINE,N=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function wS(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q0;){var V=B.pop();R.add(V);var n=this.atoms.get(V);n&&(n.component>=0&&F.add(n.component),n.a.neighbors.forEach(function(U){var F=Q.molecule.halfBonds.get(U);if(F){var V=F.end;R.has(V)||B.push(V)}}))}return R}},{key:"addConnectedComponent",value:function(U){var F=this,Q=this.connectedComponents.add(U),B=new xF,R=this.getConnectedComponent(Array.from(U),B);B.delete(Q);var V=-1;return R.forEach(function(U){var B=F.atoms.get(U);B&&(B.component=Q,-1!==B.a.rxnFragmentType&&(V=B.a.rxnFragmentType))}),this.ccFragmentType.set(Q,V),Q}},{key:"removeConnectedComponent",value:function(U){var F=this;return this.connectedComponents.get(U).forEach(function(U){var Q=F.atoms.get(U);Q&&(Q.component=-1)}),this.connectedComponents.delete(U)}},{key:"assignConnectedComponents",value:function(){var U=this;this.atoms.forEach(function(F,Q){if(!(F.component>=0)){var B=new xF,R=U.getConnectedComponent(Q,B);B.forEach(function(F){U.removeConnectedComponent(F)}),U.addConnectedComponent(R)}})}},{key:"initLayers",value:function(){for(var U in Ml)this.layers[Ml[U]]=this.render.paper.rect(0,0,10,10).attr({class:U+"Layer",fill:"#000",opacity:"0.0"}).toFront()}},{key:"addReObjectPath",value:function(U,F,Q){var B=this,R=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,V=arguments.length>4&&void 0!==arguments[4]&&arguments[4];Q&&this.layers[U].node.parentNode&&(Array.isArray(Q)?Q:[Q]).forEach(function(Q){var n=B.render.options.offset,l=V?IF.fromRelBox(qd.relBox(Q.getBBox())):null,d=R&&l?l.translate(R.negated()):null;null!==n&&(Q.translateAbs(n.x,n.y),l=l?l.translate(n):null),F.add(Q,l,d),Q.insertBefore(B.layers[Ml[U]])})}},{key:"moveReObjectOnTopOfLayer",value:function(U,F){var Q=this.layers[F];Q&&U.paths.forEach(function(U){U.insertBefore(Q)})}},{key:"movePathOnTopOfLayer",value:function(U,F){var Q=this.layers[F];Q&&U.insertBefore(Q)}},{key:"clearMarks",value:function(){var F=this;Object.keys(U.maps).forEach(function(U){F[U+"Changed"]=new Map}),this.structChanged=!1}},{key:"markItemRemoved",value:function(){this.structChanged=!0}},{key:"markBond",value:function(U,F){this.markItem("bonds",U,F)}},{key:"markAtom",value:function(U,F){this.markItem("atoms",U,F)}},{key:"markRgroupAttachmentPoint",value:function(U,F){this.markItem("rgroupAttachmentPoints",U,F)}},{key:"markItem",value:function(U,F,Q){var B=this[U+"Changed"],R=B.has(F)?Math.max(Q,B.get(F)):Q;B.set(F,R),this[U].has(F)&&this.clearVisel(this[U].get(F).visel)}},{key:"clearVisel",value:function(U){U.paths.forEach(function(U){U.remove()}),U.clear()}},{key:"eachItem",value:function(F){var Q=this;Object.keys(U.maps).forEach(function(U){Q[U].forEach(F)})}},{key:"getSelectionBoxCenter",value:function(U){var F,Q,B,R=null,V=uS(null!==(Q=U.atoms)&&void 0!==Q?Q:[]);try{for(V.s();!(B=V.n()).done;){var n=B.value,l=this.atoms.get(n).a.pp,d=new IF(l,l);R=null==R?d:IF.union(R,d)}}catch(W){V.e(W)}finally{V.f()}var J=function(U){for(var F=1;F0})}),this.sgroups.forEach(function(U){Q.clearVisel(U.visel),U.hovering=null,U.selectionPlate=null}),this.frags.forEach(function(U){Q.clearVisel(U.visel)}),this.rgroups.forEach(function(U){Q.clearVisel(U.visel)}),F&&(this.clearConnectedComponents(),this.molecule.initHalfBonds(),this.molecule.initNeighbors());var B=Array.from(this.atomsChanged.keys());this.molecule.updateHalfBonds(B),this.molecule.sortNeighbors(B),this.assignConnectedComponents(),this.initialized=!0,this.verifyLoops();var R=F||this.structChanged;return R&&this.updateLoops(),this.showAtoms(),this.showBonds(),this.showRgroupAttachmentPoints(),R&&this.showLoops(),this.showReactionSymbols(),this.showSGroups(),this.showFragments(),this.showRGroups(),this.showEnhancedFlags(),this.showSimpleObjects(),this.showTexts(),this.showImages(),this.showMultitailArrows(),this.clearMarks(),!0}},{key:"updateLoops",value:function(){var U=this;this.reloops.forEach(function(F){U.clearVisel(F.visel)});var F=this.molecule.findLoops();F.bondsToMark.forEach(function(F){U.markBond(F,1)}),F.newLoops.forEach(function(F){U.reloops.set(F,new pS(U.molecule.loops.get(F)))})}},{key:"showLoops",value:function(){var U=this,F=this.render.options;this.reloops.forEach(function(Q,B){Q.show(U,B,F)})}},{key:"showSimpleObjects",value:function(){var U=this,F=this.render.options;this.simpleObjectsChanged.forEach(function(Q,B){var R=U.simpleObjects.get(B);R&&R.show(U,F)})}},{key:"showTexts",value:function(){var U=this,F=this.render.options;this.textsChanged.forEach(function(Q,B){var R=U.texts.get(B);R&&R.show(U,B,F)})}},{key:"showReactionSymbols",value:function(){var U=this,F=this.render.options;this.rxnArrowsChanged.forEach(function(Q,B){var R=U.rxnArrows.get(B);R&&R.show(U,B,F)}),this.rxnPlusesChanged.forEach(function(Q,B){var R=U.rxnPluses.get(B);R&&R.show(U,B,F)})}},{key:"showSGroups",value:function(){var U=this;this.molecule.sGroupForest.getSGroupsBFS().reverse().forEach(function(F){var Q=U.sgroups.get(F);Q&&Q.show(U)})}},{key:"showFragments",value:function(){var U=this;this.frags.forEach(function(F,Q){var B=F.draw(U.render,Q);B&&U.addReObjectPath(Ml.data,F.visel,B,null,!0)})}},{key:"showRGroups",value:function(){var U=this,F=this.render.options;this.rgroups.forEach(function(Q,B){Q.show(U,B,F)})}},{key:"loopRemove",value:function(U){var F=this,Q=this.reloops.get(U);Q&&(this.clearVisel(Q.visel),Q.loop.hbs.forEach(function(U){var Q=F.molecule.halfBonds.get(U);Q&&(Q.loop=-1,F.markBond(Q.bid,1),F.markAtom(Q.begin,1))}),this.reloops.delete(U),this.molecule.loops.delete(U))}},{key:"verifyLoops",value:function(){var U=this;this.reloops.forEach(function(F,Q){F.isValid(U.molecule,Q)||U.loopRemove(Q)})}},{key:"getRGroupAttachmentPointsVBoxByAtomIds",value:function(U){var F=this,Q=null;return U.forEach(function(U){var B,R=F.molecule.getRGroupAttachmentPointsByAtomId(U).reduce(function(U,Q){var B=F.rgroupAttachmentPoints.get(Q);S()(null!=B);var R=B.getVBoxObj(F.render);return U&&R?IF.union(U,R):R},null);Q&&R?Q=IF.union(Q,R):Q=null!==(B=Q)&&void 0!==B?B:R}),Q}},{key:"showRgroupAttachmentPoints",value:function(){var U=this;this.rgroupAttachmentPoints.forEach(function(F,Q){var B=U.rgroupAttachmentPoints.get(Q);null!==B&&void 0!==B&&B.visel&&U.clearVisel(B.visel);var R=null===B||void 0===B?void 0:B.item.atomId,V=U.molecule.getGroupFromAtomId(R);Boolean(null===V||void 0===V?void 0:V.isContracted())||null===B||void 0===B||B.show(U,Q)})}},{key:"showAtoms",value:function(){var U=this,F=this.render.options;this.atomsChanged.forEach(function(Q,B){var R=U.atoms.get(B);R&&R.show(U,B,F)})}},{key:"showEnhancedFlags",value:function(){var U=this,F=this.render.options;this.enhancedFlagsChanged.forEach(function(Q,B){var R=U.enhancedFlags.get(B);R&&R.show(U,B,F)})}},{key:"showBonds",value:function(){var U=this,F=this.render.options;this.bondsChanged.forEach(function(Q,B){var R=U.bonds.get(B);R&&R.show(U,B,F)})}},{key:"showImages",value:function(){var U=this,F=this.render.options;this.imagesChanged.forEach(function(Q,B){var R=U.images.get(B);R&&R.show(U,F)})}},{key:"showMultitailArrows",value:function(){var U=this;this.multitailArrowsChanged.forEach(function(F,Q){var B=U.multitailArrows.get(Q);B&&B.show(U,U.render.options)})}},{key:"setSelection",value:function(F){var Q=this,B=[];Object.keys(U.maps).forEach(function(V){var n=Q[V].values(),l=(0,R.A)(n,1)[0];(U.maps[V].isSelectable()||l instanceof DW)&&Q[V].forEach(function(U,R){var n;if(U instanceof bW){var l,d,J=uS(U.a.sgs.values());try{for(J.s();!(d=J.n()).done;){l=d.value}}catch(W){J.e(W)}finally{J.f()}B.push({selected:U.selected,sgroup:l})}if(U instanceof DW&&zQ.isContractedFunctionalGroup(null===U||void 0===U||null===(n=U.item)||void 0===n?void 0:n.id,Q.molecule.functionalGroups)){var N=B.filter(function(F){var Q;return F.sgroup===(null===U||void 0===U||null===(Q=U.item)||void 0===Q?void 0:Q.id)});U.selected=N.length>0&&N.some(function(U){return U.selected})}var Z=null!==F&&void 0!==F&&F[V]?F[V].indexOf(R)>-1:U.selected;null===F&&(Z=!1),Q.showItemSelection(U,Z)})})}},{key:"showItemSelection",value:function(U,F){var Q=function(U){var F,Q,B,R;return U&&null!==U.selectionPlate&&(!(null!==(F=U.selectionPlate)&&void 0!==F&&F.items)&&!(null!==(Q=U.selectionPlate)&&void 0!==Q&&Q.removed)||Array.isArray(null===(B=U.selectionPlate)||void 0===B?void 0:B.items)&&!(null!==(R=U.selectionPlate[0])&&void 0!==R&&R.removed))}(U);if(U.selected=F,U instanceof tW&&(U.sgroup.selected=F),F){if(!Q){var B=this.render,R=B.options,V=B.paper;U.selectionPlate=U.makeSelectionPlate(this,V,R),this.addReObjectPath(Ml.selectionPlate,U.visel,U.selectionPlate),"function"===typeof U.makeAdditionalInfo&&(U.additionalInfo=U.makeAdditionalInfo(this),this.addReObjectPath(Ml.additionalInfo,U.visel,U.additionalInfo))}var n,l,d;if(U.selectionPlate)U.selectionPlate.show(),null===(n=U.additionalInfo)||void 0===n||n.show(),null===(l=U.cip)||void 0===l||l.rectangle.attr({fill:"#7f7",stroke:"#7f7"}),null===(d=U.showPoints)||void 0===d||d.call(U)}else if(Q&&U.selectionPlate){var J,N,Z;U.selectionPlate.hide(),null===(J=U.hidePoints)||void 0===J||J.call(U),null===(N=U.additionalInfo)||void 0===N||N.hide(),null===(Z=U.cip)||void 0===Z||Z.rectangle.attr({fill:"#fff",stroke:"#fff"})}}},{key:"addSnappingBonds",value:function(U){this.snappingBonds.push(U)}},{key:"clearSnappingBonds",value:function(){this.snappingBonds=[]}},{key:"isSnappingBond",value:function(U){return this.snappingBonds.includes(U)}}]),U}();function IS(U){return!U||!Object.keys(jS.maps).some(function(F){return U[F]&&U[F].length>0})}function KS(U,F){if("set"===U.type)for(var Q=0,B=Array.from({length:U.length},function(F,Q){return U[Q]});Q2&&void 0!==arguments[2]&&arguments[2],R={root:{nodes:[],connections:[],templates:[]}},V=new Map,n=new Map,l={atoms:[],bonds:[]},d=new Map,J=0;return F.monomers.forEach(function(F){var l=F.monomerItem;if(F instanceof XV&&l.props.isMicromoleculeFragment){var N=new Map,Z=new Map;l.struct.mergeInto(U,null,null,!1,!1,N,null,null,null,null,null,Z),V.set(F,N),n.set(F,Z)}else{var W,S=UV(J),E=dV(new zF(F.position.x,F.position.y));if(d.set(F.id,J),F instanceof Vn){var k=F.variantMonomerItem;W=k.subtype+"_"+k.options.reduce(function(U,F){var Q,B;return U+"_"+F.templateId+"_"+(null!==(Q=null!==(B=F.probability)&&void 0!==B?B:F.ratio)&&void 0!==Q?Q:"")},"")}else{var t;W=null!==(t=l.props.id)&&void 0!==t?t:hR(l)}var a=l.seqId,T=l.expanded,e=l.transformation,C=void 0!==T,D=void 0!==e&&Object.keys(e).length>0;R[S]=PS(PS(PS({type:F instanceof Vn?jB.AMBIGUOUS_MONOMER:jB.MONOMER,id:J.toString(),position:{x:E.x,y:E.y},alias:F.label,templateId:W,seqid:a},C&&{expanded:T}),D&&{transformation:JV(e)}),{},{selected:B&&F.selected||void 0}),R.root.nodes.push(RV(S)),J++,F instanceof Vn?Q.serializeVariantMonomerTemplate(W,F,R):Q.serializeMonomerTemplate(W,F,R)}}),F.polymerBonds.forEach(function(F){S()(F.secondMonomer),R.root.connections.push({connectionType:F instanceof RR?IB.HYDROGEN:IB.SINGLE,endpoint1:F.firstMonomer.monomerItem.props.isMicromoleculeFragment?Q.getConnectionMoleculeEndpoint(F.firstMonomer,F,V,U):Q.getConnectionMonomerEndpoint(F.firstMonomer,F,d),endpoint2:F.secondMonomer.monomerItem.props.isMicromoleculeFragment?Q.getConnectionMoleculeEndpoint(F.secondMonomer,F,V,U):Q.getConnectionMonomerEndpoint(F.secondMonomer,F,d),selected:B&&F.selected||void 0})}),F.monomerToAtomBonds.forEach(function(F){var Q,n=F.monomer,l=V.get(F.atom.monomer),J=null===l||void 0===l?void 0:l.get(F.atom.atomIdInMicroMode),N=d.get(n.id);(0,o.isNumber)(J)&&(0,o.isNumber)(N)&&R.root.connections.push({connectionType:IB.SINGLE,endpoint1:{monomerId:UV(N),attachmentPointId:F.monomer.getAttachmentPointByBond(F)},endpoint2:{moleculeId:"mol".concat(null===(Q=U.atoms.get(J))||void 0===Q?void 0:Q.fragment),atomId:String(F.atom.atomIdInMicroMode)},selected:B&&F.selected||void 0})}),B&&(F.atoms.forEach(function(U){if(U.selected){var F=V.get(U.monomer),Q=null===F||void 0===F?void 0:F.get(U.atomIdInMicroMode);(0,o.isNumber)(Q)&&l.atoms.push(Q)}}),F.bonds.forEach(function(U){if(U.selected){var F=n.get(U.firstAtom.monomer),Q=null===F||void 0===F?void 0:F.get(U.bondIdInMicroMode);(0,o.isNumber)(Q)&&l.bonds.push(Q)}})),F.rxnArrows.forEach(function(F){var Q=new dB({mode:F.type,pos:[F.startPosition,F.endPosition],height:F.height,initiallySelected:F.initiallySelected,arrowId:F.arrowId});U.addRxnArrow(Q)}),F.multitailArrows.forEach(function(F){var Q=eV.fromKetNode(F.toKetNode());Q.arrowId=F.arrowId,U.addMultitailArrow(Q)}),F.rxnPluses.forEach(function(F){var Q=new ZB({pp:F.position,initiallySelected:F.initiallySelected});U.rxnPluses.add(Q)}),F.micromoleculesHiddenEntities.mergeInto(U),{serializedMacromolecules:R,micromoleculesStruct:U,moleculesSelection:l}}},{key:"serialize",value:function(F){var Q=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new nZ,R=arguments.length>2?arguments[2]:void 0,V=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],n=arguments.length>4&&void 0!==arguments[4]&&arguments[4],l=U.removeLeavingGroupsFromConnectedAtoms(F);l.enableInitiallySelected();var d=NV(l,R,!0);fS.convertStructToDrawingEntities(d,Q);var J=this.serializeMacromolecules(new xB,Q,n),N=J.serializedMacromolecules,Z=J.micromoleculesStruct,W=J.moleculesSelection;void 0===R&&Z.enableInitiallySelected(),n&&NV(Z,W);var S=JSON.parse(this.serializeMicromolecules(Z));Z.disableInitiallySelected();var E=PS(PS({},S),N);return E.root.nodes=[].concat((0,B.A)(N.root.nodes),(0,B.A)(S.root.nodes)),JSON.stringify(E,null,V?4:void 0)}},{key:"convertMonomersLibrary",value:function(F){var Q=this,B=[];return F.root.templates.forEach(function(R){var V=F[R.$ref];if(V)switch(V.type){case KB.MONOMER_TEMPLATE:B.push(Q.convertMonomerTemplateToLibraryItem(V));break;case KB.AMBIGUOUS_MONOMER_TEMPLATE:var n,l=V,d={id:l.id,label:null!==(n=l.alias)&&void 0!==n?n:"%",idtAliases:l.idtAliases,isAmbiguous:!0,monomers:rl(l,F,U.getMonomerFactory()),options:l.options,subtype:l.subtype};B.push(d)}else GU.error("There is a ref for monomer template ".concat(R.$ref,", but template definition is not found"))}),B}}],[{key:"setMonomerFactory",value:function(F){U._monomerFactory=F}},{key:"getMonomerFactory",value:function(){if(!U._monomerFactory)throw new Error("KetSerializer: monomerFactory has not been initialized. Call KetSerializer.setMonomerFactory() before using serializer features that require it.");return U._monomerFactory}},{key:"fillStruct",value:function(U){var F,Q,B=new xB,R=U.root.nodes;return Object.keys(R).forEach(function(F){R[F].type?AS(R[F],B):R[F].$ref&&AS(U[R[F].$ref],B)}),B.name=null!==(F=null===(Q=U.header)||void 0===Q?void 0:Q.moleculeName)&&void 0!==F?F:"",B}},{key:"enrichTemplateWithLibraryData",value:function(U){var F;if(!(U.idtAliases&&U.aliasAxoLabs&&U.aliasBILN)){var Q=null===(F=KV())||void 0===F?void 0:F.monomersLibraryParsedJson;if(Q){var B=Q[$R(U.id)];B&&(!U.idtAliases&&B.idtAliases&&(U.idtAliases=B.idtAliases),!U.aliasAxoLabs&&B.aliasAxoLabs&&(U.aliasAxoLabs=B.aliasAxoLabs),!U.aliasBILN&&B.aliasBILN&&(U.aliasBILN=B.aliasBILN))}}}},{key:"removeLeavingGroupsFromConnectedAtoms",value:function(U){var F=U.clone();return F.atoms.forEach(function(U,Q){uQ.isHiddenLeavingGroupAtom(F,Q,!1,!0)&&F.atoms.delete(Q)}),F.bonds.forEach(function(U,Q){fQ.isBondToHiddenLeavingGroup(F,U)&&F.bonds.delete(Q)}),F.sgroups.forEach(function(U){var Q=U.getAttachmentPoints(),B=new Map;Q.forEach(function(Q){if((0,o.isNumber)(Q.leaveAtomId)&&uQ.isHiddenLeavingGroupAtom(F,Q.leaveAtomId,!0,!0)){var R=new DV(Q.atomId,void 0,Q.attachmentId,Q.attachmentPointNumber);B.set(Q,R),U.atoms.splice(U.atoms.indexOf(Q.leaveAtomId),1)}}),B.forEach(function(F,Q){U.removeAttachmentPoint(Q),U.addAttachmentPoint(F,!1)})}),F}}]),U}();function _S(U,F){var Q="undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(!Q){if(Array.isArray(U)||(Q=function(U,F){if(U){if("string"==typeof U)return $S(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?$S(U,F):void 0}}(U))||F&&U&&"number"==typeof U.length){Q&&(U=Q);var B=0,R=function(){};return{s:R,n:function(){return B>=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function $S(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);QF)throw new Error("number does not fit");return B.padStart(F)},parseDecimalInt:function(U){var F=parseInt(U,10);return isNaN(F)?0:F},partitionLine:function(U,F,Q){for(var B=[],R=0,V=0;R=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function ZE(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q=0);var e=JE.parseDecimalInt(t),C=e>0?e-1:void 0;J.push(new DV(T,C,a))}return{sGroupId:l,attachmentPoints:J}}};function eE(U,F){var Q="undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(!Q){if(Array.isArray(U)||(Q=function(U,F){if(U){if("string"==typeof U)return CE(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?CE(U,F):void 0}}(U))||F&&U&&"number"==typeof U.length){Q&&(U=Q);var B=0,R=function(){};return{s:R,n:function(){return B>=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function CE(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q0&&(V.ifthen=R),F[B]=V}(F,R):"APO"===U?cE("attachmentPoints",F,Q):"ALS"===U?rE(F,Q):"STY"===U?TE.initSGroup(B,F):"SST"===U?TE.applySGroupProp(B,"subtype",F):"SLB"===U?TE.applySGroupProp(B,"label",F,!0):"SPL"===U?TE.applySGroupProp(B,"parent",F,!0,!0):"SCN"===U?TE.applySGroupProp(B,"connectivity",F):"SAL"===U?TE.applySGroupArrayProp(B,"atoms",F,-1):"SBL"===U?TE.applySGroupArrayProp(B,"bonds",F,-1):"SPA"===U?TE.applySGroupArrayProp(B,"patoms",F,-1):"SMT"===U||"SCL"===U?function(U,F,Q){var B=JE.parseDecimalInt(F.slice(0,4))-1,R=F.slice(4).trim();"SMT"===U?Q[B].data.subscript=R:Q[B].data.class=R}(U,F,B):"SDT"===U?TE.applyDataSGroupDesc(B,F):"SDD"===U?TE.applyDataSGroupInfoLine(B,F):"SCD"===U?TE.applyDataSGroupDataLine(B,F,!1):"SED"===U?TE.applyDataSGroupDataLine(B,F,!0):"SDS"===U?function(U,F){U.slice(7).trim().split(" ").forEach(function(U){var Q=Number(U)-1;F[Q].data.expanded=!0})}(F,B):"SAP"===U&&function(U,F){var Q=TE.parseSGroupSAPLineV2000(U),B=Q.sGroupId;Q.attachmentPoints.forEach(function(U){F[B].addAttachmentPoint(U)})}(F,B),!1)}function ME(U,F,Q){var B,R=new xB,V=JE.parseDecimalInt(F[0]),n=JE.parseDecimalInt(F[1]),l=JE.parseDecimalInt(F[2]),d=1===JE.parseDecimalInt(F[4])||Q,J=0===JE.parseDecimalInt(F[4])&&!Q,N=JE.parseDecimalInt(F[5]),Z=JE.parseDecimalInt(F[10]),W=0,S=U.slice(W,W+V);W+=V;var E=U.slice(W,W+n);W+=n;var k=U.slice(W,W+l);W+=l+N,S.map(DE).forEach(function(U){return R.atoms.add(U)}),E.map(oE).forEach(function(U){var F=R.atoms.get(U.begin);F&&(U.stereo&&d&&(F.stereoLabel=XQ.Abs),U.stereo&&J&&(F.stereoLabel="".concat(XQ.And,"1"))),R.bonds.add(U)}),k.map(pE).forEach(function(U){var F=R.atoms.get(U.aid);if(!F)throw new Error("Atom index out of range for atom list");F.atomList=U.atomList,F.label="L#"});var t={},a={},T=function(U,F,Q,B,R,V){for(var n=new Map;Q=0){var p=t[o-1];"GEN"===p.type&&(D.atoms=[].slice.call(p.atoms))}}}for(e in t)TE.loadSGroup(R,t[e],C);var h,c=[];for(e in t)MQ.filter(R,t[e],C),0!==t[e].atoms.length||t[e].allAtoms||c.push(+e);for(B=0;B0&&U[0].startsWith("$MOL");){U=U.slice(1);for(var d=0;d=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function sE(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q0&&(S.ifthen=N),S.resth=1===Z,S.range=W,B[V]=S,R++}}}Object.keys(Q).forEach(function(F){Q[F].forEach(function(Q){var R,V=Number(F);Q.rgroups.set(V,new BB(B[F]));var n=Q.frags.add(new UB);null===(R=Q.rgroups.get(V))||void 0===R||R.frags.add(n),Q.atoms.forEach(function(U){U.fragment=n}),Q.mergeInto(U)})})}function HE(U){for(var F=[],Q=0,B=0,R=-1,V=!1;BR+1&&F.push(U.slice(R+1,B)),R=B);B+=1}return B>R+1&&F.push(U.slice(R+1,B)),F}function xE(U){return U.startsWith('"')&&U.endsWith('"')?U.slice(1,-1):U}function uE(U,F){var Q=U.indexOf(F);return[U.slice(0,Q),U.slice(Q+1)]}function wE(U){for(var F=[],Q=0,B=!1,R=0;R0&&F.push(U.trim()),F}function jE(U,F){if(!U)return null;var Q=[];F=F||0;var B,R=GE((U=(U=U.trim()).slice(1,-1)).split(" ").slice(1));try{for(R.s();!(B=R.n()).done;){var V=B.value,n=parseInt(V);isNaN(n)||Q.push(n+F)}}catch(l){R.e(l)}finally{R.f()}return Q}function IE(U){if(!U.startsWith("M V30 "))throw new Error("Prefix invalid");return U.slice(7)}var KE={parseCTabV3000:OE,readRGroups3000:LE,parseRxn3000:function(U,F){var Q=(U=U.slice(4))[0].split(/\s+/g).slice(3),B=Number(Q[0]),R=Number(Q[1]),V=Q.length>2?Number(Q[2]):0;function n(F){for(var Q=F;Q=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function gE(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q=0?JE.paddedNum(V.nCharnCharsToDisplay,3):"ALL")+" 1 "+(V.tagChar||" ")+" "+JE.paddedNum(V.daspPos,1)+" ";l.push(J);var N=(Z=V.fieldValue,Z.replace(Bk,"\n")).replace(/\n*$/,"");var Z;return N.split("\n").forEach(function(U){for(;U.length>69;)l.push("M SCD "+R+" "+U.slice(0,69)),U=U.slice(69);l.push("M SED "+R+" "+U)}),l.join("\n")},GEN:function(U,F,Q,B,R){return Uk(U,F,Q,B,R)}};function Uk(U,F,Q,B,R){var V=(Q[U.id]+"").padStart(3),n=[];return(n=(n=(n=n.concat(Fk("SAL",V,U.atoms,B))).concat(Fk("SBL",V,U.bonds,R))).concat(Qk(F,U,V))).join("\n")}function Fk(U,F,Q,B){if(!Q)return[];for(var R=[],V=0;V1&&"V3000"===B[1])return KE.parseRxn3000(U,F);var R=vE.parseRxn2000(U,F,Q);return R.name=U[1].trim(),R},prepareForSaving:qE,saveToMolfile:$E};function Vk(U,F){var Q="undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(!Q){if(Array.isArray(U)||(Q=function(U,F){if(U){if("string"==typeof U)return nk(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?nk(U,F):void 0}}(U))||F&&U&&"number"==typeof U.length){Q&&(U=Q);var B=0,R=function(){};return{s:R,n:function(){return B>=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function nk(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q0)throw new Error("Reactions with r-groups are not supported at the moment");var n=F.getComponents(),l=n.reactants,d=n.products,J=l.concat(d);this.molfile="$RXN\n"+F.name+"\n\n\n"+JE.paddedNum(l.length,3)+JE.paddedNum(d.length,3)+JE.paddedNum(0,3)+"\n";var N,Z=Vk(J);try{for(Z.s();!(N=Z.n()).done;){var W=N.value,S=new U,E=F.clone(W,null,!0),k=S.saveMolecule(E,!1,!0);this.molfile+="$MOL\n"+k}}catch(a){Z.e(a)}finally{Z.f()}return this.molfile}if(F.rgroups.size>0){if(!B){var t=(new U).getCTab(F.getScaffold(),F.rgroups);return this.molfile="$MDL REV 1\n$MOL\n$HDR\n"+F.name+"\n\n\n$END HDR\n",this.molfile+="$CTAB\n"+t+"$END CTAB\n",F.rgroups.forEach(function(Q,B){V.molfile+="$RGP\n",V.writePaddedNumber(B,3),V.molfile+="\n",Q.frags.forEach(function(Q){var B=(new U).getCTab(F.getFragment(Q));V.molfile+="$CTAB\n"+B+"$END CTAB\n"}),V.molfile+="$END RGP\n"}),this.molfile+="$END MOL\n",this.molfile}F=F.getScaffold()}return this.molecule=F.clone(),this.prepareSGroups(Q,R),this.writeHeader(),this.writeCTab2000(),this.molfile}},{key:"writeHeader",value:function(){var U=new Date;this.writeCR(),this.writeWhiteSpace(2),this.write("Ketcher"),this.writeWhiteSpace(),this.writeCR((U.getMonth()+1+"").padStart(2)+(U.getDate()+"").padStart(2)+(U.getFullYear()%100+"").padStart(2)+(U.getHours()+"").padStart(2)+(U.getMinutes()+"").padStart(2)+"2D 1 1.00000 0.00000 0"),this.writeCR()}},{key:"write",value:function(U){this.molfile+=U}},{key:"writeCR",value:function(U){0===arguments.length&&(U=""),this.molfile+=U+"\n"}},{key:"writeWhiteSpace",value:function(){var U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;0===arguments.length&&(U=1),this.write(" ".repeat(Math.max(U,0)))}},{key:"writePadded",value:function(U,F){this.write(U),this.writeWhiteSpace(F-U.length)}},{key:"writePaddedNumber",value:function(U,F){var Q=(U-0).toString();this.writeWhiteSpace(F-Q.length),this.write(Q)}},{key:"writePaddedFloat",value:function(U,F,Q){this.write(JE.paddedNum(U,F,Q))}},{key:"writeCTab2000Header",value:function(){this.writePaddedNumber(this.molecule.atoms.size,3),this.writePaddedNumber(this.molecule.bonds.size,3),this.writePaddedNumber(0,3),this.writePaddedNumber(0,3);var U=Array.from(this.molecule.frags.values()).some(function(U){return!!U&&U.enhancedStereoFlag===gQ.Abs});this.writePaddedNumber(U?1:0,3),this.writePaddedNumber(0,3),this.writePaddedNumber(0,3),this.writePaddedNumber(0,3),this.writePaddedNumber(0,3),this.writePaddedNumber(0,3),this.writePaddedNumber(999,3),this.writeCR(" V2000")}},{key:"writeCTab2000",value:function(U){var F=this,Q=this.molecule;if(Q){this.writeCTab2000Header(),this.mapping={};var B=1,R=[],V=[];for(Q.atoms.forEach(function(U,Q){var n=U.label;null!=U.atomList?(n="L",R.push(Q)):U.pseudo?U.pseudo.length>3&&(n="A",V.push({id:Q,value:"'".concat(U.pseudo,"'")})):U.alias?V.push({id:Q,value:U.alias}):u.get(U.label)||-1!==["A","Q","X","*","R#"].indexOf(U.label)||(n="C",V.push({id:Q,value:U.label})),F.writeAtom(U,n),F.mapping[Q]=B++},this),this.bondMapping={},B=1,Q.bonds.forEach(function(U,Q){F.bondMapping[Q]=B++,F.writeBond(U)},this);V.length>0;)this.writeAtomProps(V[0]),V.splice(0,1);var n=[],l=[],d=[],J=[],N=[],Z=[],W=[],S=[],E=[];Q.atoms.forEach(function(U,F){if(0!==U.charge&&null!==U.charge&&n.push([F,U.charge]),0!==U.isotope&&null!==U.isotope&&l.push([F,U.isotope]),0!==U.radical&&d.push([F,U.radical]),null!=U.rglabel&&"R#"===U.label)for(var Q=0;Q<32;Q++)U.rglabel&1<0||U.range.length>0){var Q=" 1 "+JE.paddedNum(F,3)+" "+JE.paddedNum(U.ifthen,3)+" "+JE.paddedNum(U.resth?1:0,3)+" "+U.range;N.push(Q)}}),this.writeAtomPropList("M CHG",n),this.writeAtomPropList("M ISO",l),this.writeAtomPropList("M RAD",d),this.writeAtomPropList("M RGP",J);for(var k=0,t=N;k0){var T,e=Vk(R);try{for(e.s();!(T=e.n()).done;){var C=T.value,D=Q.atoms.get(C).atomList;this.write("M ALS"),this.writePaddedNumber(C+1,4),this.writePaddedNumber(D.ids.length,3),this.writeWhiteSpace(),this.write(D.notList?"T":"F");var o,p=Vk(D.labelList());try{for(p.s();!(o=p.n()).done;){var h=o.value;this.writeWhiteSpace(),this.writePadded(h,3)}}catch(s){p.e(s)}finally{p.f()}this.writeWhiteSpace(),this.writeCR()}}catch(s){e.e(s)}finally{e.f()}}var c={},r=1,m={};Q.sGroupForest.getSGroupsBFS().forEach(function(U){m[r]=U,c[U]=r++});for(var M=function(){var U=b[i],B=m[U],R=Q.sgroups.get(B);if(MQ.isQuerySGroup(R))return 1;F.write("M STY"),F.writePaddedNumber(1,3),F.writeWhiteSpace(1),F.writePaddedNumber(U,3),F.writeWhiteSpace(1),F.writePadded(R.type,3),F.writeCR(),"COP"===R.type&&R.data.subtype&&(F.write("M SST"),F.writePaddedNumber(1,3),F.writeWhiteSpace(1),F.writePaddedNumber(U,3),F.writeWhiteSpace(1),F.writePadded(R.data.subtype.toUpperCase(),3),F.writeCR()),F.write("M SLB"),F.writePaddedNumber(1,3),F.writeWhiteSpace(1),F.writePaddedNumber(U,3),F.writeWhiteSpace(1),F.writePaddedNumber(U,3),F.writeCR();var V=Q.sGroupForest.parent.get(B);if(V>=0&&(F.write("M SPL"),F.writePaddedNumber(1,3),F.writeWhiteSpace(1),F.writePaddedNumber(U,3),F.writeWhiteSpace(1),F.writePaddedNumber(c[V],3),F.writeCR()),["SRU","COP"].includes(R.type)&&R.data.connectivity){var n=" ".concat(U.toString().padStart(3)," ").concat((R.data.connectivity||"").padEnd(3));F.write("M SCN"),F.writePaddedNumber(1,3),F.write(n.toUpperCase()),F.writeCR()}"SRU"===R.type&&(F.write("M SMT "),F.writePaddedNumber(U,3),F.writeWhiteSpace(),F.write(R.data.subscript||"n"),F.writeCR()),R.getAttachmentPoints().forEach(function(Q){F.writeSGroupAttachmentPointLine(U,Q)}),F.writeCR(Rk.saveToMolfile[R.type](R,Q,c,F.mapping,F.bondMapping))},i=0,b=Array.from({length:r-1},function(U,F){return F+1});i0;){for(var B=[];F.length>0&&B.length<8;)B.push(F[0]),F.splice(0,1);this.write(U),this.writePaddedNumber(B.length,3),B.forEach(function(U){Q.writeWhiteSpace(),Q.writePaddedNumber(Q.mapping[U[0]],3),Q.writeWhiteSpace(),Q.writePaddedNumber(U[1],3)}),this.writeCR()}}},{key:"writeSGroupAttachmentPointLine",value:function(U,F){var Q;this.write("M SAP"),this.writeWhiteSpace(1),this.writePaddedNumber(U,3),this.writePaddedNumber(1,3),this.writeWhiteSpace(1);var B=this.mapping[F.atomId];this.writePaddedNumber(B,3),this.writeWhiteSpace(1);var R=null!==(Q=this.mapping[F.leaveAtomId])&&void 0!==Q?Q:0;this.writePaddedNumber(R,3),this.writeWhiteSpace(1);var V=F.attachmentId?F.attachmentId.slice(0,2):" ";this.writePadded(V,2),this.writeCR()}}]),U}();function dk(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function Jk(U){for(var F=1;F [ \d]*<(\S+)>/.exec(F);if(Q){var B=Q[1],R=F.split("\n").slice(1,-1),V="";V=R.length>1?R.join(","):F.split("\n")[1].trim(),U[B]=Number.isFinite(V)?+V:V.toString()}return U},{});F.push({struct:l,props:d})}B=Zk.exec(U)}return F}},{key:"serialize",value:function(U){var F=new Nk(this.molSerializerOptions);return U.reduce(function(U,Q){return U+=F.serialize(Q.struct),Object.keys(Q.props).forEach(function(F){U+="> <".concat(F,">\n"),U+="".concat(Q.props[F],"\n\n")}),"".concat(U,"$$$$\n")},"")}}]),U}(),Sk=function(U,F){var Q=new zF(F.viewBox.minX,F.viewBox.minY);return U.sub(Q).scaled(F.options.zoom)},Ek=function(U,F){var Q=new zF(F.viewBox.minX,F.viewBox.minY);return U.scaled(1/F.options.zoom).add(Q)},kk=function(U,F){var Q=function(U,F){var Q=F.getBoundingClientRect(),B=Q.top,R=Q.left;return new zF(U.clientX-R,U.clientY-B)}(U,F.clientArea);return Ek(Q,F)},tk={modelToView:function(U,F){var Q=fF.modelToCanvas(U,F.options);return Sk(Q,F)},canvasToView:Sk,viewToCanvas:Ek,pageToCanvas:kk,pageToModel:function(U,F){var Q=kk(U,F);return fF.canvasToModel(Q,F.options)}};function ak(U,F){if(F.has(U))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Tk(U,F,Q){return function(U,F,Q){if("function"==typeof U?U===F:U.has(F))return arguments.length<3?F:Q;throw new TypeError("Private element is not present on this object")}(F,U),Q}var ek=new WeakMap,Ck=new WeakSet,Dk=function(){function U(F){(0,V.A)(this,U),function(U,F){ak(U,F),F.add(U)}(this,Ck),function(U,F,Q){ak(U,F),F.set(U,Q)}(this,ek,{writable:!0,value:void 0}),(0,Z.A)(this,"up",0),(0,Z.A)(this,"down",0),(0,Z.A)(this,"left",0),(0,Z.A)(this,"right",0),(0,i.A)(this,ek,F)}return(0,n.A)(U,[{key:"getAbsViewBox",value:function(){var U=(0,M.A)(this,ek).viewBox,F=new zF(U.minX,U.minY),Q=new zF(U.minX+U.width,U.minY+U.height);return new IF(F,Q)}},{key:"getAbsBoundingBox",value:function(){var U=(0,M.A)(this,ek).ctab.getVBoxObj(),F=fF.modelToCanvas(U.p0,(0,M.A)(this,ek).options),Q=fF.modelToCanvas(U.p1,(0,M.A)(this,ek).options);return new IF(F,Q)}},{key:"update",value:function(){Tk(this,Ck,ok).call(this)}},{key:"hasVerticalOffset",value:function(){return this.up>0||this.down>0}},{key:"hasHorizontalOffset",value:function(){return this.left>0||this.right>0}}]),U}();function ok(){var U=this.getAbsBoundingBox();if(U.hasZeroArea())this.up=0,this.down=0,this.left=0,this.right=0;else{var F=this.getAbsViewBox();this.up=F.p0.y-U.p0.y,this.down=U.p1.y-F.p1.y,this.left=F.p0.x-U.p0.x,this.right=U.p1.x-F.p1.x}}function pk(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}var hk=function(){function U(F){(0,V.A)(this,U),(0,Z.A)(this,"bar",null),(0,Z.A)(this,"viewBoxBeforeDrag",null),(0,Z.A)(this,"MIN_LENGTH",40),(0,Z.A)(this,"RADIUS",2),(0,Z.A)(this,"MARGIN",5),(0,Z.A)(this,"WIDTH",4),(0,Z.A)(this,"DIST_TO_EDGE",5),(0,Z.A)(this,"COLOR","#b2bbc3"),this.render=F}return(0,n.A)(U,[{key:"destroy",value:function(){this.hide()}},{key:"update",value:function(){this.bar=this.hasOffset()?this.redraw():this.hide()}},{key:"redraw",value:function(){return this.bar?this.updateAttr():this.draw()}},{key:"updateAttr",value:function(){if(!this.bar)throw new Error("Unexpected state no bar");var U=this.getDynamicAttr();return this.bar.attr(U)}},{key:"hide",value:function(){var U,F;return null===(U=this.bar)||void 0===U||U.undrag(),null===(F=this.bar)||void 0===F||F.remove(),null}},{key:"draw",value:function(){var U=this.getDynamicAttr(),F=U.x,Q=U.y,B=U.width,R=U.height,V=U.r,n=this.render.paper.rect(F,Q,B,R,V).attr({stroke:this.COLOR,fill:this.COLOR});return n.drag(this.onDragMove,this.onDragStart,this.onDragEnd,this,this,this),n}},{key:"onDragStart",value:function(U,F,Q){this.viewBoxBeforeDrag=function(U){for(var F=1;F1&&void 0!==arguments[1]&&arguments[1];this.paper.clear(),this.ctab=new jS(U,this),this.options.offset=new zF,this.scrollbar.destroy(),this.scrollbar=new jk(this),Q?setTimeout(function(){F.update(!0)},0):this.update(!1)}},{key:"update",value:function(){var U,F,Q,B,R,V=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;n=null!==(U=n)&&void 0!==U?U:new zF(null!==(F=null!==(Q=this.userOpts.width)&&void 0!==Q?Q:this.clientArea.clientWidth)&&void 0!==F?F:100,null!==(B=null!==(R=this.userOpts.height)&&void 0!==R?R:this.clientArea.clientHeight)&&void 0!==B?B:100);var l=this.ctab.update(V);if(this.ctab.setSelection(),l){var d,J=this.ctab.getVBoxObj().transform(fF.modelToCanvas,this.options).translate(null!==(d=this.options.offset)&&void 0!==d?d:new zF);if(this.options.downScale&&this.ctab.molecule.rescale(),this.options.autoScale||this.options.downScale){var N,Z=J.sz(),W=this.options.autoScaleMargin,S=new zF(W,W),E=n;if(W&&(E.x<2*W+1||E.y<2*W+1))throw new Error("View box too small for the given margin");var k=null!==(N=this.options.rescaleAmount)&&void 0!==N?N:Math.max(Z.x/(E.x-2*W),Z.y/(E.y-2*W)),t=this.options.downScale&&k<1;(this.options.maxBondLength/k>1||t)&&(k=1);var a=Z.add(S.scaled(2*k));this.paper.setViewBox(J.pos().x-W*k-(E.x*k-a.x)/2,J.pos().y-W*k-(E.y*k-a.y)/2,E.x*k,E.y*k)}else{var T;this.oldCb||(this.oldCb=new IF),this.scrollbar.update(),this.options.offset=null!==(T=this.options.offset)&&void 0!==T?T:new zF}QQ()}}},{key:"monomerCreationState",get:function(){return this._monomerCreationState},set:function(U){this._monomerCreationState=U}}]),U}();function gk(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}var Pk,Ak=new Map,qk=/^R[1-8]$/,_k=function(){function U(){(0,V.A)(this,U)}return(0,n.A)(U,null,[{key:"prepareStruct",value:function(U){if(U.sgroups.size>0){var F,Q=U.clone();return function(U){U.sgroups.forEach(function(F){F.isSuperatomWithoutLabel||F.getAttachmentPoints().forEach(function(F){U.atoms.get(F.atomId).setRGAttachmentPointForDisplayPurpose();var Q=F.convertToRGroupAttachmentPointForDisplayPurpose(F.atomId);U.rgroupAttachmentPoints.add(Q)})})}(Q),null!==(F=Q.sgroups.get(0))&&void 0!==F&&F.isSuperatomWithoutLabel||Q.sgroups.delete(0),Q}return U}},{key:"removeSmallAttachmentPointLabelsInModal",value:function(U){(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).labelInMonomerConnectionsModal&&U.ctab.atoms.forEach(function(U){U.label&&(qk.test(U.label.text)&&U.label.path.node.getBoundingClientRect().width<8&&U.label.path.node.remove())})}},{key:"render",value:function(U,F){var Q=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(U&&F){var B=Q.cachePrefix,R=void 0===B?"":B,V=Q.needCache,n=void 0===V||V,l="".concat(R).concat(F.name);if((0,o.isEqual)(Pk,Q)||(Ak.clear(),Pk=Q),Ak.has(l)&&n)return void(U.innerHTML=Ak.get(l));var d=this.prepareStruct(F.clone());d.initHalfBonds(),d.initNeighbors(),d.setImplicitHydrogen(),d.markFragments();var J=d.getCoordBoundingBox(),N=VQ.modelToCanvas(new zF(J.max.x-J.min.x,J.max.y-J.min.y)),W=U.getBoundingClientRect(),S=N.xF.x?Q.x+=4:U.xF.y?Q.y+=4:U.yl?B:B+V,U.y):new zF(U.x,U.y>d?R+n:R),VQ.modelToCanvas(Q)}},{key:"appendRootElement",value:function(){var U=this;return this.canvas.insert("g",".monomer").data([this]).on("mouseover",function(F){U.editorEvents.mouseOverPolymerBond.dispatch(F),U.editorEvents.mouseOverDrawingEntity.dispatch(F)}).on("mousemove",function(F){U.editorEvents.mouseOnMovePolymerBond.dispatch(F)}).on("mouseout",function(F){U.editorEvents.mouseLeavePolymerBond.dispatch(F),U.editorEvents.mouseLeaveDrawingEntity.dispatch(F)}).attr("pointer-events",this.polymerBond.finished?"stroke":"none")}},{key:"show",value:function(){this.rootElement=this.rootElement||this.appendRootElement(),this.appendBond(this.rootElement),this.appendHoverAreaElement(),this.drawSelection()}},{key:"drawSelection",value:function(){var U,F,Q;this.polymerBond.selected?(null===(U=this.selectionElement)||void 0===U||U.remove(),this.selectionElement=null===(F=this.rootElement)||void 0===F?void 0:F.insert("path",":first-child").attr("d",this.path).attr("fill","none").attr("stroke",Rd).attr("stroke-width","5").attr("class","dynamic-element")):null===(Q=this.selectionElement)||void 0===Q||Q.remove()}},{key:"moveEnd",value:function(){this.moveGraphBondEnd()}},{key:"moveGraphBondEnd",value:function(){var U,F;S()(this.bodyElement),S()(this.hoverAreaElement),this.generateLinearBondPath(),this.bodyElement.attr("d",this.path),this.hoverAreaElement.attr("d",this.path),null===(U=this.selectionElement)||void 0===U||U.attr("d",this.path),null===(F=this.hoverCircleAreaElement)||void 0===F||F.attr("cx",this.scaledPosition.endPosition.x).attr("cy",this.scaledPosition.endPosition.y)}},{key:"moveStart",value:function(){this.moveGraphBondStart()}},{key:"moveGraphBondStart",value:function(){var U;S()(this.bodyElement),S()(this.hoverAreaElement),this.generateLinearBondPath(),this.bodyElement.attr("d",this.path),this.hoverAreaElement.attr("d",this.path),null===(U=this.selectionElement)||void 0===U||U.attr("d",this.path)}},{key:"appendHoverAreaElement",value:function(){var U,F;this.hoverAreaElement=null===(U=this.rootElement)||void 0===U?void 0:U.append("path").attr("d",this.path).attr("fill","none").attr("stroke","transparent").attr("stroke-width","10"),this.hoverCircleAreaElement=null===(F=this.rootElement)||void 0===F?void 0:F.append("circle").attr("cursor","pointer").attr("r","1").attr("fill","transparent").attr("pointer-events","none").attr("stroke-width","10").attr("cx",this.scaledPosition.endPosition.x).attr("cy",this.scaledPosition.endPosition.y)}},{key:"appendHover",value:function(){S()(this.bodyElement),this.bodyElement.attr("stroke","#0097A8").attr("pointer-events","none"),this.polymerBond.selected&&this.selectionElement&&this.selectionElement.attr("stroke",Vd)}},{key:"removeHover",value:function(){return S()(this.bodyElement),S()(this.hoverAreaElement),this.bodyElement.attr("stroke","#333333").attr("pointer-events",this.polymerBond.finished?"stroke":"none"),this.polymerBond.selected&&this.selectionElement&&this.selectionElement.attr("stroke",Rd),this.hoverAreaElement.attr("stroke","transparent")}},{key:"remove",value:function(){b((0,d.A)(F.prototype),"remove",this).call(this),this.polymerBond.hovered&&this.editorEvents.mouseLeaveMonomer.dispatch()}}]),F}(dd),dt=function(){function U(){(0,V.A)(this,U),(0,Z.A)(this,"ketcherInstances",new Map)}return(0,n.A)(U,[{key:"addKetcherInstance",value:function(U){this.ketcherInstances.set(U.id,U)}},{key:"removeKetcherInstance",value:function(U){this.ketcherInstances.delete(U)}},{key:"getIndexById",value:function(U){return Array.from(this.ketcherInstances.keys()).indexOf(U)}},{key:"getKetcher",value:function(U){if(!U)return(0,B.A)(this.ketcherInstances.values())[this.ketcherInstances.size-1];var F=this.ketcherInstances.get(U);if(!F)throw Error("couldn't find ketcher instance ".concat(U));return F}}]),U}(),Jt=new dt,Nt=function(){function U(F){(0,V.A)(this,U),(0,Z.A)(this,"historyStack",[]),(0,Z.A)(this,"historyPointer",0),this.editor=F,this.historyPointer=0}return(0,n.A)(U,[{key:"update",value:function(U,F){var Q,B=this.historyStack[this.historyStack.length-1];F&&B?B.merge(U):(this.historyStack.splice(this.historyPointer,33,U),this.historyStack.length>32&&this.historyStack.shift(),this.historyPointer=this.historyStack.length),null===(Q=Jt.getKetcher(this.editor.ketcherId))||void 0===Q||Q.changeEvent.dispatch()}},{key:"undo",value:function(){var U,F,Q;if(0!==this.historyPointer){null===(U=Jt.getKetcher(this.editor.ketcherId))||void 0===U||U.changeEvent.dispatch(),S()(this.editor),this.historyPointer--,this.historyStack[this.historyPointer].invert(this.editor.renderersContainer);var B=null===(F=this.editor)||void 0===F?void 0:F.drawingEntitiesManager.unselectAllDrawingEntities();null===(Q=this.editor)||void 0===Q||Q.renderersContainer.update(B)}}},{key:"redo",value:function(){var U,F,Q;if(this.historyPointer!==this.historyStack.length){null===(U=Jt.getKetcher(this.editor.ketcherId))||void 0===U||U.changeEvent.dispatch(),S()(this.editor),this.historyStack[this.historyPointer].execute(this.editor.renderersContainer),this.historyPointer++;var B=null===(F=this.editor)||void 0===F?void 0:F.drawingEntitiesManager.unselectAllDrawingEntities();null===(Q=this.editor)||void 0===Q||Q.renderersContainer.update(B)}}},{key:"previousCommand",get:function(){return this.historyStack[this.historyPointer-1]}},{key:"destroy",value:function(){U._instance=null}}],[{key:"getInstance",value:function(F){var Q=U._instance;if(U.isInstance(Q))return Q;var B=new U(F);return U._instance=B,B}},{key:"isInstance",value:function(F){return F instanceof U}}]),U}();(0,Z.A)(Nt,"_instance",null);var Zt,Wt="sequence-layout-mode",St="flex-layout-mode",Et={};function kt(U,F){if(Et[U]&&Et[U]!==F)throw new Error('Mode "'.concat(U,'" is already registered'));Et[U]!==F&&(Et[U]=F)}function tt(U){var F=Et[U];if(!F)throw new Error('Mode "'.concat(U,'" is not registered'));return F}function at(U){var F=arguments.length>1&&void 0!==arguments[1]&&arguments[1],Q=U.trim();try{if(JSON.parse(Q))return Zt.ket}catch(E){GU.error("identifyStructFormat.ts::identifyStructFromat",E)}var B=Q.includes("$RXN"),R=Q.includes("\n$$$$"),V=Q.includes("V2000"),n=Q.includes("V3000");if(B)return Zt.rxn;if(R)return V?Zt.sdf:Zt.sdfV3000;if(V)return Zt.mol;if(n)return Zt.molV3000;var l=/^(M {2}END|\$END MOL)$/m.exec(Q);if(l){var d,J=(null!==(d=l.index)&&void 0!==d?d:0)+l[0].length;if(J===Q.length||-1!==Q.slice(J,J+20).search(/^\$(MOL|END CTAB)$/m))return Zt.mol}if(Q.startsWith("<")&&-1!==Q.indexOf(""))return Zt.fasta;var Z=/^[a-zA-Z\s]*$/.test(Q),W=/^(?:(?:[A-Z][a-z]{2})\s?)+$/.test(Q),S=/([a-zA-Z0-9]+)\/*([a-zA-Z0-9*-]+)/.test(Q);return!W&&S?Zt.idt:Z?Zt.sequence:Zt.unknown}!function(U){U.mol="mol",U.molV3000="molV3000",U.molAuto="molAuto",U.rxn="rxn",U.rxnV3000="rxnV3000",U.smiles="smiles",U.smilesExt="smilesExt",U.smarts="smarts",U.inChI="inChI",U.inChIAuxInfo="inChIAuxInfo",U.inChIKey="inChIKey",U.cml="cml",U.ket="ket",U.cdxml="cdxml",U.cdx="cdx",U.binaryCdx="binaryCdx",U.sdf="sdf",U.sdfV3000="sdfV3000",U.fasta="fasta",U.sequence="sequence",U.sequence3Letter="sequence-3-letter",U.idt="idt",U.axoLabs="axoLabs",U.helm="helm",U.biln="biln",U.unknown="unknown",U.rdf="rdf",U.rdfV3000="rdfV3000"}(Zt||(Zt={}));var Tt=function(){function U(F){var Q=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Wt;(0,V.A)(this,U),(0,Z.A)(this,"_pasteIsInProgress",!1),this.modeName=F,this.previousMode=Q}return(0,n.A)(U,[{key:"isAntisenseEditMode",get:function(){return!1}},{key:"isSyncEditMode",get:function(){return!1}},{key:"changeMode",value:function(U,F){var Q=arguments.length>2&&void 0!==arguments[2]&&arguments[2];U.events.layoutModeChange.dispatch(F);var B=tt(F);U.mode.destroy(),U.setMode(new B),U.mode.initialize(!0,Q,!1)}},{key:"initialize",value:function(){var U=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],F=new PV,Q=KV();return F.addOperation(new MJ(this.changeMode.bind(this,Q,this.modeName),this.changeMode.bind(this,Q,this.previousMode,!0),this.modeName,this.previousMode)),U&&Q.events.selectSelectionTool.dispatch(),F}},{key:"onKeyDown",value:function(){var U=(0,E.A)(t().mark(function U(F){var Q,B,R=this;return t().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:return this.checkIfTargetIsInput(F)||(Q=_U(this.keyboardEventHandlers),B=AU.lookup(Q,F),this.keyboardEventHandlers[B]&&F.stopImmediatePropagation()),U.next=3,new Promise(function(U){setTimeout(function(){var Q=KV();if(!R.checkIfTargetIsInput(F)){var B,V=_U(R.keyboardEventHandlers),n=AU.lookup(V,F);null===(B=R.keyboardEventHandlers[n])||void 0===B||B.handler(F)}Q.events.mouseLeaveSequenceItem.dispatch(),U()},0)});case 3:case"end":return U.stop()}},U,this)}));return function(F){return U.apply(this,arguments)}}()},{key:"keyboardEventHandlers",get:function(){return{}}},{key:"onCopy",value:function(U){if(!U||!this.checkIfTargetIsInput(U)){var F=KV().drawingEntitiesManager.filterSelection(),Q=(new qS).serialize(new xB,F);BF()?navigator.clipboard.writeText(Q):U&&(RF(U.clipboardData,{"text/plain":Q}),U.preventDefault())}}},{key:"onCut",value:function(U){if(!U||!this.checkIfTargetIsInput(U)){var F=KV();0!==F.drawingEntitiesManager.selectedEntities.length&&(this.onCopy(U),F.events.deleteSelectedStructure.dispatch(),U&&U.preventDefault())}}},{key:"onPaste",value:function(){var U=(0,E.A)(t().mark(function U(F){var Q,B,R,V,n=this;return t().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:if(!F||!this.checkIfTargetIsInput(F)){U.next=2;break}return U.abrupt("return");case 2:if(Q=KV(),B=!Q.drawingEntitiesManager.hasDrawingEntities,!BF()){U.next=15;break}if(!KV().isSequenceEditInRNABuilderMode&&!this._pasteIsInProgress){U.next=8;break}return U.abrupt("return");case 8:return this._pasteIsInProgress=!0,U.next=11,navigator.clipboard.read();case 11:R=U.sent,this.pasteFromClipboard(R).finally(function(){n._pasteIsInProgress=!1,B&&Q.zoomToStructuresIfNeeded()}),U.next=25;break;case 15:if(!F){U.next=24;break}if(V=VF(F.clipboardData,["text/plain"]),this.pasteFromClipboard(V),F.preventDefault(),B){U.next=21;break}return U.abrupt("return");case 21:Q.zoomToStructuresIfNeeded(),U.next=25;break;case 24:GU.warn("Cannot paste because Clipboard API is not available and paste event does not contain clipboardData");case 25:case"end":return U.stop()}},U,this)}));return function(F){return U.apply(this,arguments)}}()},{key:"pasteFromClipboard",value:function(){var U=(0,E.A)(t().mark(function U(F){var Q,B,R;return t().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:return B=KV(),U.next=3,lF(F);case 3:if(R=U.sent,at(R,!0)!==Zt.ket){U.next=9;break}Q=this.pasteKetFormatFragment(R),U.next=12;break;case 9:return U.next=11,this.pasteWithIndigoConversion(R,B.sequenceTypeEnterMode);case 11:Q=U.sent;case 12:if(Q&&0!==Q.operations.length){U.next=14;break}return U.abrupt("return");case 14:return B.drawingEntitiesManager.detectBondsOverlappedByMonomers(),B.renderersContainer.update(Q),Nt.getInstance(B).update(Q),B.events.mouseLeaveSequenceItem.dispatch(),U.next=20,this.scrollForView();case 20:case"end":return U.stop()}},U,this)}));return function(F){return U.apply(this,arguments)}}()},{key:"pasteKetFormatFragment",value:function(U){var F=KV(),Q=(new qS).deserializeToDrawingEntities(U);if(!Q)throw new Error("Error during parsing file");var B=null===Q||void 0===Q?void 0:Q.drawingEntitiesManager;if(B&&this.isPasteAllowedByMode(B)){if(this.isPasteAvailable(B)){this.updateEntitiesPosition(B),F.calculateAndStoreNextAutochainPosition(B);var R=B.mergeInto(F.drawingEntitiesManager),V=R.command,n=R.mergedDrawingEntities;return V.merge(this.applyAdditionalPasteOperations(n)),V}F.events.openErrorModal.dispatch({errorTitle:"Error Message",errorMessage:"It is impossible to merge fragments. Attachment point to establish bonds are not available."})}}},{key:"pasteWithIndigoConversion",value:function(){var U=(0,E.A)(t().mark(function U(F,Q){var B,R,V,n,l;return t().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:return B=KV(),R=Jt.getKetcher(B.ketcherId).indigo,U.prev=2,U.next=5,R.convert(F,{outputFormat:FF.KET,sequenceType:Q});case 5:return V=U.sent,U.abrupt("return",this.pasteKetFormatFragment(V.struct));case 9:return U.prev=9,U.t0=U.catch(2),n=kF(U.t0).message,l="Convert error! "+n,this.unsupportedSymbolsError(l),U.abrupt("return",new PV);case 15:case"end":return U.stop()}},U,this,[[2,9]])}));return function(F,Q){return U.apply(this,arguments)}}()},{key:"updateEntitiesPosition",value:function(U){var F,Q=this.getNewNodePosition(),B=null===(F=U.allEntities[0])||void 0===F?void 0:F[1].position,V=zF.diff(Q,new zF(B));U.allEntities.forEach(function(F){var Q=(0,R.A)(F,2)[1];U.moveDrawingEntityModelChange(Q,V)})}},{key:"unsupportedSymbolsError",value:function(U){KV().events.openErrorModal.dispatch({errorTitle:"Error",errorMessage:U})}},{key:"checkIfTargetIsInput",value:function(U){var F,Q;return U.target instanceof HTMLElement&&("INPUT"===(null===(F=U.target)||void 0===F?void 0:F.nodeName)||"TEXTAREA"===(null===(Q=U.target)||void 0===Q?void 0:Q.nodeName)||"true"===U.target.contentEditable)}},{key:"destroy",value:function(){}}]),U}();function et(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(et=function(){return!!U})()}var Ct=function(U){function F(U){var Q;return(0,V.A)(this,F),(Q=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,et()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[U])).atom=U,U.setRenderer((0,J.A)(Q)),Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"scaledPosition",get:function(){return VQ.modelToCanvas(this.atom.position)}},{key:"center",get:function(){return this.scaledPosition}},{key:"appendRootElement",value:function(){var U,F,Q,B,R,V,n=this,l=KV(),d=this.atom.calculateValence().hydrogenAmount,J=null!==(U=this.atom.atomIdInMicroMode)&&void 0!==U?U:this.atom.id,N=this.canvas.insert("g",":first-child").data([this]).attr("pointer-events","all").attr("data-testid","atom").attr("data-atomalias",this.atom.label).attr("data-atomid",this.atom.id).attr("data-atom-id",J).attr("data-atom-type","single").attr("data-atomLabel",null!==(F=this.atom.label)&&void 0!==F?F:"").attr("data-atomCharge",null!==(Q=this.atom.properties.charge)&&void 0!==Q?Q:"").attr("data-atomIsotopeAtomicMass",null!==(B=this.atom.properties.isotope)&&void 0!==B?B:"").attr("data-atomValence",null!==(R=this.atom.properties.explicitValence)&&void 0!==R?R:"").attr("data-atomRadical",null!==(V=this.atom.properties.radical)&&void 0!==V?V:"").attr("data-atomRingBondCount","").attr("data-atomHCount",null!==d&&void 0!==d?d:"").attr("data-atomSubstitutionCount","").attr("data-atomUnsaturated","").attr("data-atomAromaticity","").attr("data-atomImplicitHCount","").attr("data-atomRingMembership","").attr("data-atomRingSize","").attr("data-atomConnectivity","").attr("data-atomChirality","").attr("data-atomInversion","").attr("data-atomExactChange","").attr("data-atomCustomQuery","").attr("transform","translate(".concat(this.scaledPosition.x,", ").concat(this.scaledPosition.y,")"));return null===N||void 0===N||N.on("mouseover",function(U){Pl.mouseOverDrawingEntity.dispatch(U),n.showHover()}).on("mouseleave",function(U){Pl.mouseLeaveDrawingEntity.dispatch(U),n.hideHover()}).on("mouseup",function(U){l.events.mouseUpAtom.dispatch(U)}),N}},{key:"appendBody",value:function(){var U;return null===(U=this.rootElement)||void 0===U?void 0:U.append("circle").data([this]).attr("r",0).attr("cx",0).attr("cy",0)}},{key:"appendSelectionContour",value:function(){if(!(this.labelLength<2)&&this.isLabelVisible||this.atom.hasCharge){var U,F,Q,B,R,V=null===(U=this.textElement)||void 0===U||null===(U=U.node())||void 0===U?void 0:U.getBBox(),n=null!==(F=null===V||void 0===V?void 0:V.x)&&void 0!==F?F:0,l=null!==(Q=null===V||void 0===V?void 0:V.width)&&void 0!==Q?Q:8,d=null!==(B=null===V||void 0===V?void 0:V.height)&&void 0!==B?B:8;return null===(R=this.rootElement)||void 0===R?void 0:R.insert("rect",":first-child").attr("x",n-4).attr("y",-(d/2+4)).attr("width",l+8).attr("height",d+8).attr("rx",10).attr("ry",10)}var J,N=this.editorSettings.macroModeScale,Z=Math.ceil(N/6*1.9);return null===(J=this.rootElement)||void 0===J?void 0:J.insert("circle",":first-child").attr("r",Z).attr("cx",0).attr("cy",0)}},{key:"updateSelectionContour",value:function(){var U;if(this.rootElement&&this.textElement){var F=null===(U=this.textElement.node())||void 0===U?void 0:U.getBBox();if(F){var Q=F.x||0,B=F.width||8,R=F.height||8,V=this.rootElement.select("rect");null!==V&&void 0!==V&&V.node()&&V.attr("x",Q-4).attr("y",-(R/2+4)).attr("width",B+8).attr("height",R+8)}}}},{key:"appendHover",value:function(){if(this.hoverElement)return this.hoverElement;var U=this.appendSelectionContour();return null===U||void 0===U?void 0:U.attr("stroke","#0097a8").attr("stroke-width","1.2").attr("fill","none").attr("opacity","0").attr("class","dynamic-element")}},{key:"redrawHover",value:function(){if(this.drawingEntity.hovered){var U,F=this.appendHover();if(F&&(this.hoverElement=F),this.atom.selected)null===(U=this.selectionElement)||void 0===U||U.attr("fill",Vd);this.showHover()}else{var Q;if(this.hideHover(),this.atom.selected)null===(Q=this.selectionElement)||void 0===Q||Q.attr("fill",Rd)}}},{key:"showHover",value:function(){var U;null===(U=this.hoverElement)||void 0===U||U.attr("opacity","1")}},{key:"hideHover",value:function(){var U;null===(U=this.hoverElement)||void 0===U||U.attr("opacity","0")}},{key:"shouldHydrogenBeOnLeft",get:function(){var U=KV().viewModel.atomsToHalfEdges.get(this.atom);if(0===(null===U||void 0===U?void 0:U.length)){if(this.atom.label===v.D||this.atom.label===v.T)return!1;var F=u.get(this.atom.label);return!F||Boolean(F.leftH)}return 1===(null===U||void 0===U?void 0:U.length)&&U[0].direction.x>0}},{key:"labelText",get:function(){var U;return null!==(U=this.atom.properties.alias)&&void 0!==U?U:this.atom.label}},{key:"isAtomTerminal",get:function(){var U=KV().viewModel.atomsToHalfEdges.get(this.atom);return!(null!==U&&void 0!==U&&U.length)||1===U.length}},{key:"isLabelVisible",get:function(){var U,F=KV().viewModel.atomsToHalfEdges.get(this.atom),Q=this.atom.label===v.C,B=this.isAtomTerminal,R=(null!==(U=null===F||void 0===F?void 0:F.length)&&void 0!==U?U:0)>=2,V=this.atom.hasCharge,n=this.atom.hasRadical,l=this.atom.hasAlias,d=this.atom.hasExplicitValence,J=this.atom.hasExplicitIsotope;return!!(!Q||B||V||n||l||d||J)&&!(!B&&!R)}},{key:"labelLength",get:function(){var U=this.atom.calculateValence().hydrogenAmount;return this.labelText.length>1?this.labelText.length:(this.shouldDisplayHydrogen||(U=0),0===U?1:1===U?2:3)}},{key:"labelColor",get:function(){return this.atom.properties.alias?"black":L[this.atom.label]}},{key:"labelBBoxes",get:function(){var U;if(!this.textElement)return[];var F=[],Q=null===(U=this.radicalElement)||void 0===U||null===(U=U.node())||void 0===U?void 0:U.getBBox();return this.textElement.selectAll("tspan").each(function(U,Q,B){F.push(B[Q].getBBox())}),Q&&F.push(Q),F}},{key:"labelBoundingBox",get:function(){var U;return null===(U=this.textElement)||void 0===U||null===(U=U.node())||void 0===U?void 0:U.getBBox()}},{key:"shouldDisplayHydrogen",get:function(){return this.atom.label!==v.C||this.isAtomTerminal}},{key:"appendLabel",value:function(){var U;if(this.isLabelVisible){var F=this.atom.calculateValence().hydrogenAmount,Q=this.shouldHydrogenBeOnLeft;this.shouldDisplayHydrogen||(F=0);var B=null===(U=this.rootElement)||void 0===U?void 0:U.append("text").attr("y",5).attr("fill",this.labelColor).attr("style","user-select: none; font-family: Arial; letter-spacing: 1.2px;").attr("font-size","13px").attr("pointer-events","none");Q||null===B||void 0===B||B.append("tspan").attr("dy",this.atom.hasExplicitIsotope?4:0).text(this.labelText),!this.atom.hasAlias&&F>0&&(null===B||void 0===B||B.append("tspan").attr("dy",this.atom.hasExplicitIsotope&&Q?4:0).text("H"),F>1&&(null===B||void 0===B||B.append("tspan").text(F).attr("dy",3))),Q&&(null===B||void 0===B||B.append("tspan").text(this.labelText).attr("dy",F>1?-3:0));var R="middle";Q?R="end":F>0&&(R="start");var V=0;return Q?V=5:F>0&&(V=-5),null===B||void 0===B||B.attr("text-anchor",R).attr("x",V),B}}},{key:"removeLabel",value:function(){this.textElement&&(this.textElement.remove(),this.textElement=void 0)}},{key:"redrawLabel",value:function(){var U,F,Q,B,R;this.removeLabel(),this.textElement=this.appendLabel(),null===(U=this.radicalElement)||void 0===U||U.remove(),this.radicalElement=void 0,null===(F=this.hoverElement)||void 0===F||F.remove(),this.hoverElement=void 0,null===(Q=this.cipLabelElement)||void 0===Q||Q.remove(),this.cipLabelElement=void 0,null===(B=this.stereoLabelElement)||void 0===B||B.remove(),this.stereoLabelElement=void 0,this.stereoLabelElementBBox=void 0,this.stereoTextElementBBox=void 0,null===(R=this.badValenceElement)||void 0===R||R.remove(),this.badValenceElement=void 0,this.updateSelectionContour(),this.appendAtomProperties(),this.appendBadValenceWarning()}},{key:"appendSelection",value:function(){var U;if(!this.selectionElement){var F=this.appendSelectionContour();this.selectionElement=null===F||void 0===F?void 0:F.attr("fill",Rd).attr("class","dynamic-element")}null===(U=this.cipLabelElement)||void 0===U||null===(U=U.select("rect"))||void 0===U||U.attr("fill",Rd)}},{key:"removeSelection",value:function(){var U,F;null===(U=this.selectionElement)||void 0===U||U.remove(),this.selectionElement=void 0,null===(F=this.cipLabelElement)||void 0===F||null===(F=F.select("rect"))||void 0===F||F.attr("fill","#F5F5F5")}},{key:"drawSelection",value:function(){this.rootElement&&(this.atom.selected?this.appendSelection():this.removeSelection())}},{key:"moveSelection",value:function(){this.rootElement&&(this.drawSelection(),this.move())}},{key:"appendCharge",value:function(){if(this.atom.hasCharge){var U,F=this.atom.properties.charge;null===(U=this.textElement)||void 0===U||U.append("tspan").text((Math.abs(F)>1?Math.abs(F):"")+(F>0?"+":"\u2013")).attr("fill",this.labelColor).attr("dy",-4)}}},{key:"appendRadical",value:function(){var U,F,Q,B,R;if(this.atom.hasRadical){var V=this.atom.properties.radical;switch(this.radicalElement=null===(U=this.rootElement)||void 0===U?void 0:U.append("g"),V){case zn.Single:null===(F=this.radicalElement)||void 0===F||F.append("circle").attr("cx",3).attr("cy",-10).attr("r",2).attr("fill",this.labelColor),null===(Q=this.radicalElement)||void 0===Q||Q.append("circle").attr("cx",-3).attr("cy",-10).attr("r",2).attr("fill",this.labelColor);break;case zn.Doublet:null===(B=this.radicalElement)||void 0===B||B.append("circle").attr("cx",0).attr("cy",-10).attr("r",2).attr("fill",this.labelColor);break;case zn.Triplet:null===(R=this.radicalElement)||void 0===R||R.append("path").attr("d","M 0 -5 L 2 -10 L 4 -5 M -6 -5 L -4 -10 L -2 -5").attr("fill","none").attr("stroke",this.labelColor).attr("stroke-width",1.4)}}}},{key:"appendExplicitValence",value:function(){if(this.atom.hasExplicitValence){var U,F=this.atom.properties.explicitValence;null===(U=this.textElement)||void 0===U||U.append("tspan").text("(".concat(EW[F],")")).attr("fill",this.labelColor).attr("letter-spacing",.2).attr("dy",-4)}}},{key:"appendExplicitIsotope",value:function(){if(this.atom.hasExplicitIsotope){var U,F=this.atom.properties.isotope;null===(U=this.textElement)||void 0===U||U.insert("tspan",":first-child").text(F).attr("fill",this.labelColor).attr("letter-spacing",.2).attr("dy",-4)}}},{key:"appendAtomProperties",value:function(){this.appendExplicitIsotope(),this.appendCharge(),this.appendRadical(),this.appendExplicitValence()}},{key:"appendBadValenceWarning",value:function(){var U,F;if(this.atom.hasBadValence&&this.isLabelVisible){var Q=null===(U=this.textElement)||void 0===U||null===(U=U.node())||void 0===U?void 0:U.getBBox();if(Q){var B=Q.height/2+2,R=Q.x,V=Q.x+Q.width;this.badValenceElement=null===(F=this.rootElement)||void 0===F?void 0:F.append("line").attr("x1",R).attr("y1",B).attr("x2",V).attr("y2",B).attr("stroke","#F00").attr("stroke-width",1).attr("pointer-events","none")}}}},{key:"show",value:function(){this.rootElement=this.appendRootElement(),this.bodyElement=this.appendBody(),this.textElement=this.appendLabel(),this.appendAtomProperties(),this.appendBadValenceWarning(),this.appendStereoLabel(),this.appendCIPLabel(),this.hoverElement=this.appendHover(),this.drawSelection()}},{key:"appendCIPLabel",value:function(){var U,F,Q,B,R,V=this.atom.properties.cip;if(V){this.cipLabelElement=null===(U=this.canvas)||void 0===U||null===(U=U.append("g"))||void 0===U?void 0:U.attr("id","cip-atom-".concat(this.atom.id));var n=null===(F=this.cipLabelElement)||void 0===F?void 0:F.append("text").text("(".concat(V,")")).attr("font-family","Arial").attr("font-size","10px").attr("pointer-events","none");this.cipTextElementBBox=null===n||void 0===n||null===(Q=n.node())||void 0===Q?void 0:Q.getBBox(),S()(this.cipTextElementBBox);var l=this.cipTextElementBBox,d=l.x,J=l.y,N=l.width,Z=l.height;null===(B=this.cipLabelElement)||void 0===B||B.insert("rect","text").attr("x",d-1).attr("y",J-1).attr("width",N+2).attr("height",Z+2).attr("rx",3).attr("ry",3).attr("fill","#f5f5f5"),this.cipLabelElementBBox=null===(R=this.cipLabelElement)||void 0===R||null===(R=R.node())||void 0===R?void 0:R.getBBox(),this.positionCIPLabel()}}},{key:"positionCIPLabel",value:function(){var U;if(this.cipTextElementBBox&&this.cipLabelElementBBox){var F=this.bisectLargestSector(),Q=this.getProjectedLabelDistance(this.cipTextElementBBox.width,this.cipTextElementBBox.height,F);if(this.stereoTextElementBBox){var B=this.getProjectedLabelDistance(this.stereoTextElementBBox.width,this.stereoTextElementBBox.height,F),R=this.getLabelProjectionRadius(this.stereoTextElementBBox.width,this.stereoTextElementBBox.height,F),V=this.getLabelProjectionRadius(this.cipTextElementBBox.width,this.cipTextElementBBox.height,F);Q=Math.max(Q,B+R+V+2)}var n=F.scaled(Q),l=this.scaledPosition.add(new zF(n.x-(this.cipLabelElementBBox.x+this.cipLabelElementBBox.width/2),n.y-(this.cipLabelElementBBox.y+this.cipLabelElementBBox.height/2)));null===(U=this.cipLabelElement)||void 0===U||U.attr("transform","translate(".concat(l.x,", ").concat(l.y,")"))}}},{key:"bisectLargestSector",value:function(){var U=KV().viewModel.getLargestSectorFromAtomNeighbours(this.atom),F=U.neighborAngle+U.largestAngle/2;return new zF(Math.cos(F),Math.sin(F))}},{key:"getStereoLabelColor",value:function(){var U,F=this.atom.properties.stereoLabel;if(!F)return"#000";switch(null===(U=F.match(/\D+/g))||void 0===U?void 0:U[0]){case XQ.And:return"#0000cd";case XQ.Or:return"#228b22";case XQ.Abs:return"#ff0000";default:return"#000"}}},{key:"shouldDisplayStereoLabel",value:function(){var U,F=this.atom.properties.stereoLabel;if(!F)return!1;var Q=null===(U=F.match(/\D+/g))||void 0===U?void 0:U[0];return Q===XQ.And||Q===XQ.Or}},{key:"appendStereoLabel",value:function(){var U,F,Q,B;if(this.shouldDisplayStereoLabel()){var R=this.atom.properties.stereoLabel;this.stereoLabelElement=null===(U=this.canvas)||void 0===U||null===(U=U.append("g"))||void 0===U?void 0:U.attr("id","stereo-atom-".concat(this.atom.id));var V=null===(F=this.stereoLabelElement)||void 0===F?void 0:F.append("text").text(R).attr("font-family","Arial").attr("font-size","13px").attr("fill",this.getStereoLabelColor()).attr("pointer-events","none");this.stereoTextElementBBox=null===V||void 0===V||null===(Q=V.node())||void 0===Q?void 0:Q.getBBox(),this.stereoTextElementBBox&&(this.stereoLabelElementBBox=null===(B=this.stereoLabelElement)||void 0===B||null===(B=B.node())||void 0===B?void 0:B.getBBox(),this.positionStereoLabel())}}},{key:"positionStereoLabel",value:function(){var U;if(this.stereoTextElementBBox&&this.stereoLabelElementBBox){var F=this.bisectLargestSector(),Q=this.getProjectedLabelDistance(this.stereoTextElementBBox.width,this.stereoTextElementBBox.height,F),B=F.scaled(Q),R=this.scaledPosition.add(new zF(B.x-(this.stereoLabelElementBBox.x+this.stereoLabelElementBBox.width/2),B.y-(this.stereoLabelElementBBox.y+this.stereoLabelElementBBox.height/2)));null===(U=this.stereoLabelElement)||void 0===U||U.attr("transform","translate(".concat(R.x,", ").concat(R.y,")"))}}},{key:"getProjectedLabelDistance",value:function(U,F,Q){var B={x:this.scaledPosition.x-U/2,y:this.scaledPosition.y-F/2,width:U,height:F};return 8+qd.shiftRayBox(this.scaledPosition,Q.negated(),IF.fromRelBox(B))}},{key:"getLabelProjectionRadius",value:function(U,F,Q){return Math.abs(Q.x)*(U/2)+Math.abs(Q.y)*(F/2)}},{key:"move",value:function(){var U;null===(U=this.rootElement)||void 0===U||U.attr("transform","translate(".concat(this.scaledPosition.x,", ").concat(this.scaledPosition.y,")")),this.positionCIPLabel(),this.positionStereoLabel()}},{key:"remove",value:function(){var U,Q;this.removeSelection(),null===(U=this.cipLabelElement)||void 0===U||U.remove(),null===(Q=this.stereoLabelElement)||void 0===Q||Q.remove(),b((0,d.A)(F.prototype),"remove",this).call(this)}},{key:"appendHoverAreaElement",value:function(){}},{key:"removeHover",value:function(){var U;null===(U=this.hoverElement)||void 0===U||U.remove(),this.hoverElement=void 0}}]),F}(dd);function Dt(U){var F,Q,R,V,n=KV();return(U||[].concat((0,B.A)(n.drawingEntitiesManager.monomers.values()),(0,B.A)(n.drawingEntitiesManager.atoms.values())).filter(function(U){return!(U instanceof XV&&U.monomerItem.props.isMicromoleculeFragment&&!sF(U))})).forEach(function(U){var B;if(U.baseRenderer instanceof YJ||U.baseRenderer instanceof Wd||U.baseRenderer instanceof Ct){var n=null===(B=U.baseRenderer)||void 0===B?void 0:B.scaledPosition;S()(n),F=F?Math.min(F,n.x):n.x,Q=Q?Math.max(Q,n.x):n.x,R=R?Math.min(R,n.y):n.y,V=V?Math.max(V,n.y):n.y}}),{left:F,right:Q,top:R,bottom:V,width:Q-F,height:V-R}}function ot(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(ot=function(){return!!U})()}var pt=function(U){function F(U){return(0,V.A)(this,F),function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,ot()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,["snake-layout-mode",U])}return(0,N.A)(F,U),(0,n.A)(F,[{key:"initialize",value:function(U){var Q=arguments.length>1&&void 0!==arguments[1]&&arguments[1],B=b((0,d.A)(F.prototype),"initialize",this).call(this),R=KV(),V=Q?new PV:R.drawingEntitiesManager.applySnakeLayout(!0);return R.drawingEntitiesManager.applyFlexLayoutMode(),B.merge(V),R.renderersContainer.update(V),B.setUndoOperationReverse(),R.drawingEntitiesManager.hasMonomers&&R.scrollToTopLeftCorner(),B}},{key:"getNewNodePosition",value:function(){var U=KV();return VQ.modelToCanvas(U.drawingEntitiesManager.bottomRightMonomerPosition)}},{key:"scrollForView",value:function(){var U=(0,E.A)(t().mark(function U(){var F,Q;return t().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:F=RQ.instance,Q=Dt(),F.isFitToCanvasHeight(Q.height)?F.scrollTo(new zF(Q.left,Q.top),!1,2):F.scrollTo(new zF(Q.left,Q.bottom),!0,2);case 3:case"end":return U.stop()}},U)}));return function(){return U.apply(this,arguments)}}()},{key:"applyAdditionalPasteOperations",value:function(U){var F=new PV,Q=KV();return F.addOperation(new ZN),F.merge(Q.drawingEntitiesManager.selectDrawingEntities(U.allEntitiesArray)),F}},{key:"isPasteAllowedByMode",value:function(){return!0}},{key:"isPasteAvailable",value:function(){return!0}}]),F}(Tt);kt("snake-layout-mode",pt);var ht,ct=function(){function U(){(0,V.A)(this,U)}return(0,n.A)(U,null,[{key:"generateAbsoluteLine",value:function(U,F){return"L ".concat(U,",").concat(F)}},{key:"generateHorizontalAbsoluteLine",value:function(U){return"H ".concat(U)}},{key:"generateMoveTo",value:function(U,F){return"M ".concat(U,",").concat(F)}},{key:"generateQuadraticRelativeCurve",value:function(U,F,Q,B){var R="".concat(U,",").concat(F),V="".concat(Q,",").concat(B);return"q ".concat(R," ").concat(V)}},{key:"generateVerticalAbsoluteLine",value:function(U){return"V ".concat(U)}}]),U}(),rt=function(){function U(){(0,V.A)(this,U)}return(0,n.A)(U,null,[{key:"calculatePathPartAndTurnPoint",value:function(U){var F,Q=U.cell,B=U.connection,R=U.direction,V=U.horizontal,n=U.turnPoint,l=U.turnPointIsUsed,d=Math.sin(R*Math.PI/180),J=Math.cos(R*Math.PI/180),N=hU/2*J,Z=this.cellHeight/2*d,W=Q.connections.reduce(function(U,F){return U>F.xOffset?U:F.xOffset},0),S=Q.connections.reduce(function(U,F){var Q=F.yOffset||0;return U>Q?U:Q},0);if(V&&l)F=n;else{var E=Q.monomer.renderer,k=E.monomerSize,t=E.scaledMonomerPosition;F=V?t.x+k.width/2+N:t.y+k.height/2+Z}var a=F;V&&(F+=3*-(B.yOffset||0)+J*-B.xOffset*3+J*(W+1)*3+3*(S+1));var T="";if(V){var e=F-this.smoothCornerSize*J;T+=ct.generateHorizontalAbsoluteLine(e)+" "}else{var C=F-this.smoothCornerSize*J;T+=ct.generateVerticalAbsoluteLine(C)+" "}return{pathPart:T+=this.generateBend(J,d,J,1)+" ",turnPoint:a}}},{key:"generateBend",value:function(U,F,Q,B){var R=this.smoothCornerSize;return ct.generateQuadraticRelativeCurve(R*U,R*F,R*Q,R*B)}}]),U}();function mt(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(mt=function(){return!!U})()}(0,Z.A)(rt,"bondEndLength",15),(0,Z.A)(rt,"cellHeight",40),(0,Z.A)(rt,"smoothCornerSize",5),function(U){U.Horizontal="Horizontal",U.Vertical="Vertical"}(ht||(ht={}));var Mt,it=15,bt="polymer-bond-body",vt=function(U){function F(U){var Q;return(0,V.A)(this,F),Q=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,mt()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[U]),(0,Z.A)((0,J.A)(Q),"isSnakeBond",!1),(0,Z.A)((0,J.A)(Q),"path",""),(0,Z.A)((0,J.A)(Q),"previousStateOfIsMonomersOnSameHorizontalLine",!1),Q.polymerBond=U,Q.polymerBond.setRenderer((0,J.A)(Q)),Q.editorEvents=Pl,Q.calculateIsSnakeBond(),Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"isSnake",get:function(){return!0}},{key:"isHydrogenBond",get:function(){return this.polymerBond instanceof RR}},{key:"rootBBox",get:function(){var U,F=null===(U=this.rootElement)||void 0===U?void 0:U.node();if(F)return F.getBBox()}},{key:"width",get:function(){var U,F;return null!==(U=null===(F=this.rootBBox)||void 0===F?void 0:F.width)&&void 0!==U?U:0}},{key:"height",get:function(){var U,F;return null!==(U=null===(F=this.rootBBox)||void 0===F?void 0:F.height)&&void 0!==U?U:0}},{key:"scaledPosition",get:function(){return{startPosition:VQ.modelToCanvas(this.polymerBond.startPosition),endPosition:VQ.modelToCanvas(this.polymerBond.endPosition)}}},{key:"getSideConnectionEndpointAngle",value:function(U){var F,Q,B=this,R=KV().drawingEntitiesManager.canvasMatrix,V=null===R||void 0===R?void 0:R.polymerBondToCells.get(this.polymerBond),n=null===V||void 0===V||null===(F=V[0].connections)||void 0===F||null===(F=F.find(function(U){return U.polymerBond===B.polymerBond}))||void 0===F?void 0:F.direction,l=null===V||void 0===V||null===(Q=V[V.length-1].connections)||void 0===Q||null===(Q=Q.find(function(U){return U.polymerBond===B.polymerBond}))||void 0===Q?void 0:Q.direction,d=null===V||void 0===V?void 0:V[0].monomer,J=U===d?n:l,N=(0,o.isNumber)(n)?n:null===n||void 0===n?void 0:n.y,Z=(0,o.isNumber)(l)?l:null===l||void 0===l?void 0:l.y,W=0===((0,o.isNumber)(J)?J:null===J||void 0===J?void 0:J.y)?-Math.PI/2:Math.PI/2;return 90===n&&90===l?U===d?-Math.PI/2:Math.PI/2:0===N&&270===Z?Math.PI/2:W}},{key:"moveSelection",value:function(){this.previousStateOfIsMonomersOnSameHorizontalLine!==this.polymerBond.isHorizontal?(this.remove(),this.show()):(S()(this.rootElement),this.moveStart(),this.moveEnd()),this.previousStateOfIsMonomersOnSameHorizontalLine=this.polymerBond.isHorizontal}},{key:"appendBond",value:function(U){var F=KV(),Q=F.drawingEntitiesManager.canvasMatrix,B=null===Q||void 0===Q?void 0:Q.polymerBondToCells.get(this.polymerBond);return(this.polymerBond.isSideChainConnection||this.isSideChainLikeBackbone)&&(!this.isHydrogenBond||F.mode instanceof pt)&&B?this.appendSideConnectionBond(U,B):this.isSnakeBond&&this.polymerBond.finished&&!this.polymerBond.isHorizontal?this.appendSnakeBond(U):this.appendBondGraph(U),this.bodyElement}},{key:"appendSnakeBond",value:function(U){var F,Q,B=this.scaledPosition.startPosition,R=this.scaledPosition.endPosition;return this.updateSnakeBondPath(B,R),this.bodyElement=U.append("path").attr("stroke",this.polymerBond.finished?"#333333":"#0097A8").attr("stroke-width",1).attr("class","selection-area").attr("d",this.path).attr("fill-opacity",0).attr("pointer-events","stroke").attr("data-testid","bond").attr("data-bondtype","covalent").attr("data-bondid",this.polymerBond.id).attr("data-frommonomerid",this.polymerBond.firstMonomer.id).attr("data-tomonomerid",null===(F=this.polymerBond.secondMonomer)||void 0===F?void 0:F.id).attr("data-fromattachmentpoint",this.polymerBond.firstMonomer.getAttachmentPointByBond(this.polymerBond)).attr("data-toattachmentpoint",null===(Q=this.polymerBond.secondMonomer)||void 0===Q?void 0:Q.getAttachmentPointByBond(this.polymerBond)),this.bodyElement}},{key:"appendSideConnectionBond",value:function(U,F){var Q,B,R,V,n,l=this,d=F[0],J=d.connections.find(function(U){return U.polymerBond===l.polymerBond}),N=J.isVertical,Z=(2===F.length||F.reduce(function(U,Q,B){return U&&0!==B&&B!==F.length-1?Q.x===d.x&&!Q.monomer:U},!0))&&N,W=null===(Q=d.node)||void 0===Q?void 0:Q.monomers.includes(this.polymerBond.firstMonomer),S=F.every(function(U){return U.y===d.y||U.y===d.y+1}),E=W?this.scaledPosition.startPosition:this.scaledPosition.endPosition,k=W?this.scaledPosition.endPosition:this.scaledPosition.startPosition,t=E.x>=(null!==(B=this.sideConnectionBondTurnPoint)&&void 0!==B?B:k.x)?180:0,a=ct.generateMoveTo(E.x,E.y)+" ",T=Math.cos(t*Math.PI/180),e=J.xOffset,C=F.every(function(U){return U.y===d.y}),D=null===F[1].node;if(C){var o=E.y-rt.bondEndLength-3*e;a+=ct.generateAbsoluteLine(E.x,o)+" ",a+=rt.generateBend(0,-1,T,-1)+" "}else{var p=E.y+rt.bondEndLength+3*e;a+=ct.generateAbsoluteLine(E.x,p)+" ",Z||D||S||(a+=rt.generateBend(0,1,T,1)+" ")}if(N&&!Z){var h,c=this.sideConnectionBondTurnPoint&&E.xF.xOffset?U:F.xOffset},0);if(b=b>J?b:J,R){if(Z)return;var W=B.direction,E=N?90:W.y,T=Math.sin(E*Math.PI/180),e=Math.cos(d*Math.PI/180);if(!C){var D,o=k.y-rt.cellHeight/2-rt.smoothCornerSize-T*(null!==(D=B.yOffset)&&void 0!==D?D:0)*3-3*(S?b-B.xOffset:B.xOffset);a+=ct.generateVerticalAbsoluteLine(o)+" ",a+=rt.generateBend(0,T,e,1)+" "}return a+=ct.generateHorizontalAbsoluteLine(k.x-rt.smoothCornerSize*e)+" ",void(a+=rt.generateBend(e,0,e,1)+" ")}if(null!==U.node){if(V&&V.direction!==B.direction){var p,h=new Set([0,180]).has(V.direction),c=h?t:V.direction,r=rt.calculatePathPartAndTurnPoint({cell:n,connection:V,direction:c,horizontal:h,turnPoint:null!==(p=l.sideConnectionBondTurnPoint)&&void 0!==p?p:0,turnPointIsUsed:void 0!==l.sideConnectionBondTurnPoint});a+=r.pathPart,l.sideConnectionBondTurnPoint=r.turnPoint}n=U,V=B}}),a+=ct.generateAbsoluteLine(k.x,k.y)+" ",this.bodyElement=U.append("path").attr("class","".concat(bt)).attr("stroke",this.isHydrogenBond||this.isSideChainLikeBackbone?"#333333":"#43B5C0").attr("stroke-width",1).attr("d",a).attr("fill","none").attr("stroke-dasharray",this.isHydrogenBond?"2":"0").attr("pointer-events","all").attr("data-testid","bond").attr("data-bondtype",this.isHydrogenBond?"hydrogen":"covalent").attr("data-bondid",this.polymerBond.id).attr("data-frommonomerid",this.polymerBond.firstMonomer.id).attr("data-tomonomerid",null===(R=this.polymerBond.secondMonomer)||void 0===R?void 0:R.id),!this.isHydrogenBond&&this.bodyElement)&&this.bodyElement.attr("data-fromattachmentpoint",null!==(m=this.polymerBond.firstMonomer.getAttachmentPointByBond(this.polymerBond))&&void 0!==m?m:"").attr("data-toattachmentpoint",null!==(M=null===(i=this.polymerBond.secondMonomer)||void 0===i?void 0:i.getAttachmentPointByBond(this.polymerBond))&&void 0!==M?M:"");return this.path=a,this.bodyElement}},{key:"getMonomerWidth",value:function(){var U,F;return null!==(U=null===(F=this.polymerBond.firstMonomer.renderer)||void 0===F?void 0:F.monomerSize.width)&&void 0!==U?U:0}},{key:"getMonomerHeight",value:function(){var U,F;return null!==(U=null===(F=this.polymerBond.firstMonomer.renderer)||void 0===F?void 0:F.monomerSize.height)&&void 0!==U?U:0}},{key:"isSideChainLikeBackbone",get:function(){return!this.polymerBond.isSideChainConnection&&this.polymerBond.isOverlappedByMonomer}},{key:"updateSnakeBondPath",value:function(U,F){var Q=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],B="R1"===this.polymerBond.firstMonomer.getAttachmentPointByBond(this.polymerBond)||"R1"===this.polymerBond.firstMonomer.getPotentialAttachmentPointByBond(this.polymerBond),R=this.polymerBond.firstMonomer.monomerItem.isAntisense,V=R?F:U,n=R?U:F,l=Math.abs(n.y-V.y)-hU/2-5;if(R?l=20:this.polymerBond.firstMonomer.monomerItem.isSense&&this.polymerBond.hasAntisenseInRow&&(l=210),this.isSecondMonomerBottomRight(V,n)){if(B&&Q)return void this.updateSnakeBondPath(n,V,!1);this.addLine(ht.Horizontal,it+this.getMonomerWidth()/2,V),this.path=this.path.concat(Qt()),this.addLine(ht.Vertical,n.y-V.y-8),this.path=this.path.concat($k()),this.addLine(ht.Horizontal,n.x-V.x-8-it-this.getMonomerWidth()/2)}else if(this.isSecondMonomerTopRight(V,n)){if(B&&Q)return void this.updateSnakeBondPath(n,V,!1);this.addLine(ht.Horizontal,it+this.getMonomerWidth()/2,V),this.path=this.path.concat(Ut()),this.addLine(ht.Vertical,n.y-V.y-8+this.getMonomerHeight()/2),this.path=this.path.concat(Ft()),this.addLine(ht.Horizontal,n.x-V.x-8-it-this.getMonomerWidth()/2)}else if(this.isSecondMonomerBottomLeft(V,n)){var d;if(B&&Q)return void this.updateSnakeBondPath(n,V,!1);this.addLine(ht.Horizontal,it-(this.polymerBond.firstMonomer.monomerItem.isAntisense?10:0)+this.getMonomerWidth()/2,V),this.path=this.path.concat(Qt()),this.addLine(ht.Vertical,l),this.path=this.path.concat(Bt()),this.addLine(ht.Horizontal,-(V.x-(null!==(d=this.polymerBond.nextRowPositionX)&&void 0!==d?d:n.x)+30+this.getMonomerWidth())),this.path=this.path.concat(Vt()),this.addLine(ht.Vertical,n.y-V.y-16-l),this.path=this.path.concat($k()),this.addLine(ht.Horizontal,this.polymerBond.nextRowPositionX?n.x-this.polymerBond.nextRowPositionX+this.getMonomerWidth():it+this.getMonomerWidth()/2)}else if(this.isSecondMonomerTopLeft(V,n)){if(B&&Q)return void this.updateSnakeBondPath(n,V,!1);this.addLine(ht.Horizontal,it+this.getMonomerWidth()/2,V),this.path=this.path.concat(Qt()),this.addLine(ht.Vertical,this.getMonomerHeight()),this.path=this.path.concat(Bt()),this.addLine(ht.Horizontal,-(V.x-n.x+30+this.getMonomerWidth())),this.path=this.path.concat(Rt()),this.addLine(ht.Vertical,n.y-V.y-this.getMonomerHeight()),this.path=this.path.concat(Ft()),this.addLine(ht.Horizontal,it+this.getMonomerWidth()/2)}else if(this.isSecondMonomerLeft(V,n)){if(B&&Q)return void this.updateSnakeBondPath(n,V,!1);this.addLine(ht.Horizontal,it+this.getMonomerWidth()/2,V),this.path=this.path.concat(Qt()),this.addLine(ht.Vertical,n.y-V.y+this.getMonomerHeight()),this.path=this.path.concat(Bt()),this.addLine(ht.Horizontal,-(V.x-n.x+30+this.getMonomerWidth())),this.path=this.path.concat(Rt()),this.addLine(ht.Vertical,-this.getMonomerHeight()),this.path=this.path.concat(Ft()),this.addLine(ht.Horizontal,it+this.getMonomerWidth()/2)}else this.addRandomLine(V,n)}},{key:"isSecondMonomerTopRight",value:function(U,F){return U.y-F.y>8&&F.x-U.x>23+this.getMonomerWidth()}},{key:"isSecondMonomerBottomRight",value:function(U,F){return F.y-U.y>8&&F.x-U.x>23+this.getMonomerWidth()}},{key:"isSecondMonomerBottomLeft",value:function(U,F){return F.y-U.y>=58&&F.x-U.x<=23+this.getMonomerWidth()}},{key:"isSecondMonomerTopLeft",value:function(U,F){return U.y-F.y>0&&F.x-U.x<=23+this.getMonomerWidth()}},{key:"isSecondMonomerLeft",value:function(U,F){return U.y-F.y<0&&U.y-F.y>-58&&F.x-U.x<=23+this.getMonomerWidth()}},{key:"addLine",value:function(U,F,Q){var B=Q?ct.generateMoveTo(Math.round(Q.x),Math.round(Q.y)):this.path,R=U===ht.Horizontal?"l".concat(F,", 0"):"l 0, ".concat(F);this.path="".concat(B," ").concat(R)}},{key:"addRandomLine",value:function(U,F){var Q=ct.generateMoveTo(Math.round(U.x),Math.round(U.y)),B=ct.generateAbsoluteLine(Math.round(F.x),Math.round(F.y));this.path="".concat(Q," ").concat(B)}},{key:"appendBondGraph",value:function(U){var F,Q,B,R;(this.bodyElement=U.append("line").attr("stroke",this.polymerBond.finished?"#333333":"#0097A8").attr("stroke-width",1).attr("stroke-dasharray",this.isHydrogenBond?"2":"0").attr("class","selection-area").attr("x1",this.scaledPosition.startPosition.x).attr("y1",this.scaledPosition.startPosition.y).attr("x2",this.scaledPosition.endPosition.x).attr("y2",this.scaledPosition.endPosition.y).attr("pointer-events",this.polymerBond.finished?"stroke":"none").attr("data-testid","bond").attr("data-bondtype",this.isHydrogenBond?"hydrogen":"covalent").attr("data-bondid",this.polymerBond.id).attr("data-frommonomerid",this.polymerBond.firstMonomer.id).attr("data-tomonomerid",null===(F=this.polymerBond.secondMonomer)||void 0===F?void 0:F.id),!this.isHydrogenBond&&this.bodyElement)&&this.bodyElement.attr("data-fromattachmentpoint",null!==(Q=this.polymerBond.firstMonomer.getAttachmentPointByBond(this.polymerBond))&&void 0!==Q?Q:"").attr("data-toattachmentpoint",null!==(B=null===(R=this.polymerBond.secondMonomer)||void 0===R?void 0:R.getAttachmentPointByBond(this.polymerBond))&&void 0!==B?B:"");return this.bodyElement}},{key:"appendRootElement",value:function(){var U=this;return this.canvas.insert("g",".monomer").data([this]).on("mouseover",function(F){U.editorEvents.mouseOverPolymerBond.dispatch(F),U.editorEvents.mouseOverDrawingEntity.dispatch(F)}).on("mousemove",function(F){U.editorEvents.mouseOnMovePolymerBond.dispatch(F)}).on("mouseout",function(F){U.editorEvents.mouseLeavePolymerBond.dispatch(F),U.editorEvents.mouseLeaveDrawingEntity.dispatch(F)}).attr("pointer-events",this.polymerBond.finished?"stroke":"none")}},{key:"show",value:function(U){var F;arguments.length>1&&void 0!==arguments[1]&&arguments[1]&&(this.sideConnectionBondTurnPoint=void 0),this.rootElement=null!==(F=this.rootElement)&&void 0!==F?F:this.appendRootElement(),this.appendBond(this.rootElement),this.appendHoverAreaElement(),this.drawSelection()}},{key:"isSideConnectionBondDrawn",get:function(){return(this.polymerBond.isSideChainConnection||this.isSideChainLikeBackbone)&&this.path}},{key:"drawSelection",value:function(){var U,F,Q,B;this.polymerBond.selected?(null===(U=this.selectionElement)||void 0===U||U.remove(),this.isSnakeBond&&!this.polymerBond.isHorizontal||this.isSideConnectionBondDrawn?this.selectionElement=null===(F=this.rootElement)||void 0===F?void 0:F.insert("path",":first-child").attr("stroke","#57FF8F").attr("stroke-width",2).attr("fill-opacity",0).attr("d",this.path).attr("class","dynamic-element"):this.selectionElement=null===(Q=this.rootElement)||void 0===Q?void 0:Q.insert("line",":first-child").attr("stroke",Rd).attr("x1",this.scaledPosition.startPosition.x).attr("y1",this.scaledPosition.startPosition.y).attr("x2",this.scaledPosition.endPosition.x).attr("y2",this.scaledPosition.endPosition.y).attr("stroke-width","5").attr("class","dynamic-element")):null===(B=this.selectionElement)||void 0===B||B.remove()}},{key:"moveEnd",value:function(){this.isSnakeBond&&!this.polymerBond.isHorizontal&&this.polymerBond.finished?this.moveSnakeBondEnd():this.moveGraphBondEnd()}},{key:"moveSnakeBondEnd",value:function(){var U,F=this.scaledPosition.startPosition,Q=this.scaledPosition.endPosition;this.updateSnakeBondPath(F,Q),S()(this.bodyElement),S()(this.hoverAreaElement),this.bodyElement.attr("d",this.path),this.hoverAreaElement.attr("d",this.path),null===(U=this.selectionElement)||void 0===U||U.attr("d",this.path)}},{key:"moveGraphBondEnd",value:function(){var U,F;S()(this.bodyElement),S()(this.hoverAreaElement),this.bodyElement.attr("x2",this.scaledPosition.endPosition.x).attr("y2",this.scaledPosition.endPosition.y),this.hoverAreaElement.attr("x2",this.scaledPosition.endPosition.x).attr("y2",this.scaledPosition.endPosition.y),null===(U=this.hoverCircleAreaElement)||void 0===U||U.attr("cx",this.scaledPosition.endPosition.x).attr("cy",this.scaledPosition.endPosition.y),null===(F=this.selectionElement)||void 0===F||null===(F=F.attr("x2",this.scaledPosition.endPosition.x))||void 0===F||F.attr("y2",this.scaledPosition.endPosition.y)}},{key:"moveStart",value:function(){this.isSnakeBond&&!this.polymerBond.isHorizontal?this.moveSnakeBondStart():this.moveGraphBondStart()}},{key:"moveSnakeBondStart",value:function(){var U,F=this.scaledPosition.startPosition,Q=this.scaledPosition.endPosition;this.updateSnakeBondPath(F,Q),S()(this.bodyElement),S()(this.hoverAreaElement),this.bodyElement.attr("d",this.path),this.hoverAreaElement.attr("d",this.path),null===(U=this.selectionElement)||void 0===U||U.attr("d",this.path)}},{key:"moveGraphBondStart",value:function(){var U;S()(this.bodyElement),S()(this.hoverAreaElement),this.bodyElement.attr("x1",this.scaledPosition.startPosition.x).attr("y1",this.scaledPosition.startPosition.y),this.hoverAreaElement.attr("x1",this.scaledPosition.startPosition.x).attr("y1",this.scaledPosition.startPosition.y),null===(U=this.selectionElement)||void 0===U||null===(U=U.attr("x1",this.scaledPosition.startPosition.x))||void 0===U||U.attr("y1",this.scaledPosition.startPosition.y)}},{key:"appendHoverAreaElement",value:function(){var U,F,Q;this.isSnakeBond&&!this.polymerBond.isHorizontal||this.isSideConnectionBondDrawn?this.hoverAreaElement=null===(U=this.rootElement)||void 0===U?void 0:U.append("path").attr("stroke","transparent").attr("d",this.path).attr("fill-opacity",0).attr("stroke-width","5"):(this.hoverAreaElement=null===(F=this.rootElement)||void 0===F?void 0:F.append("line").attr("stroke","transparent").attr("x1",this.scaledPosition.startPosition.x).attr("y1",this.scaledPosition.startPosition.y).attr("x2",this.scaledPosition.endPosition.x).attr("y2",this.scaledPosition.endPosition.y).attr("stroke-width","10"),this.hoverCircleAreaElement=null===(Q=this.rootElement)||void 0===Q?void 0:Q.append("circle").attr("cursor","pointer").attr("r","1").attr("fill","transparent").attr("pointer-events","none").attr("stroke-width","10").attr("cx",this.scaledPosition.endPosition.x).attr("cy",this.scaledPosition.endPosition.y))}},{key:"appendHover",value:function(){var U=this;S()(this.bodyElement);var F=KV();if(this.polymerBond.isSideChainConnection){var Q=F.canvas.querySelectorAll(".".concat(bt));Array.from(Q).forEach(function(F){F.setAttribute("stroke",U.isHydrogenBond?"lightgrey":"#C0E2E6")})}this.bodyElement.attr("stroke","#0097A8").attr("pointer-events","none"),this.polymerBond.selected&&this.selectionElement&&this.selectionElement.attr("stroke",Vd)}},{key:"removeHover",value:function(){var U=this;S()(this.bodyElement),S()(this.hoverAreaElement);var F=KV();if(this.polymerBond.isSideChainConnection){var Q=F.canvas.querySelectorAll(".".concat(bt));Array.from(Q).forEach(function(F){var Q=F.__data__;F.setAttribute("stroke",Q.polymerBond.isSideChainConnection&&!U.isHydrogenBond?"#43B5C0":"#333333")})}return this.bodyElement.attr("stroke",this.polymerBond.isSideChainConnection&&!this.isHydrogenBond?"#43B5C0":"#333333").attr("pointer-events","stroke"),this.polymerBond.selected&&this.selectionElement&&this.selectionElement.attr("stroke",Rd),this.hoverAreaElement.attr("stroke","transparent")}},{key:"calculateIsSnakeBond",value:function(){this.polymerBond.isSideChainConnection||vR(this.polymerBond.firstMonomer)||vR(this.polymerBond.secondMonomer)?this.isSnakeBond=!1:this.isSnakeBond=!0}},{key:"remove",value:function(){b((0,d.A)(F.prototype),"remove",this).call(this),this.polymerBond.hovered&&this.editorEvents.mouseLeaveMonomer.dispatch()}}]),F}(dd);!function(U){U.Flex="Flex",U.Snake="Snake"}(Mt||(Mt={}));var Gt=new Map([[Mt.Flex,lt],[Mt.Snake,vt]]),st=function(){function U(){(0,V.A)(this,U)}return(0,n.A)(U,null,[{key:"createInstance",value:function(F){var Q=function(){var U=KV();return"snake-layout-mode"===(null===U||void 0===U?void 0:U.mode.modeName)}()?Mt.Snake:Mt.Flex;return F instanceof RR?new vt(F):U.createInstanceByMode(Q,F)}},{key:"createInstanceByMode",value:function(U,F){var Q=Gt.get(U);if(!Q)throw new Error("PolymerBondRenderer for the layout mode \u201c".concat(U,"\u201d not found."));return new Q(F)}}]),U}();var Xt=(0,Z.A)((0,Z.A)((0,Z.A)((0,Z.A)((0,Z.A)((0,Z.A)({},Mn.Aromatic,"6"),Mn.SingleDouble,"6"),Mn.SingleAromatic,"4 4 1 4"),Mn.DoubleAromatic,"4 4 1 4"),Mn.Any,"6"),Mn.Hydrogen,"3"),Yt=function(){function U(){(0,V.A)(this,U)}return(0,n.A)(U,null,[{key:"preparePaths",value:function(U,F){var Q=U.startPosition,B=U.endPosition,R=void 0!==F?Xt[F]:"none";return[{d:"\n M".concat(Q.x,",").concat(Q.y,"\n L").concat(B.x,",").concat(B.y,"\n "),attrs:{"marker-end":F===Mn.Dative?"url(#arrow-marker)":"none","stroke-dasharray":R,"stroke-width":"".concat(2)}}]}}]),U}();function yt(U,F){for(var Q=0,B=[U.leftNeighborHalfEdge,U.rightNeighborHalfEdge];Q=0?-1:1)*V,Math.sqrt(.5*(1+B))),l=.7*6/(V+.3),d=Q.addScaled(n,l),J=Q.addScaled(n.negated(),l);return R>0?[d,J]:[J,d]}var Ot=function(){function U(){(0,V.A)(this,U)}return(0,n.A)(U,null,[{key:"preparePaths",value:function(U){var F=U.startPosition,Q=U.endPosition,B=U.firstHalfEdge,V=U.secondHalfEdge,n=B.bond,l=yt(B,n),d=yt(V,n);if(l&&d){var J=zt(B.direction,l.direction,F),N=(0,R.A)(J,2),Z=N[0],W=N[1],S=zt(V.direction,d.direction,Q),E=(0,R.A)(S,2),k=E[0],t=E[1];return[{d:"\n M".concat(Z.x,",").concat(Z.y,"\n L").concat(W.x,",").concat(W.y,"\n L").concat(k.x,",").concat(k.y,"\n L").concat(t.x,",").concat(t.y,"\n Z\n "),attrs:{"stroke-width":"2"}}]}var a=.7*6,T=Q.addScaled(B.leftNormal,a),e=Q.addScaled(B.leftNormal,-4.199999999999999);return[{d:"\n M".concat(F.x,",").concat(F.y,"\n L").concat(T.x,",").concat(T.y,"\n L").concat(e.x,",").concat(e.y,"\n Z\n "),attrs:{"stroke-width":"2"}}]}}]),U}(),Lt=function(){function U(){(0,V.A)(this,U)}return(0,n.A)(U,null,[{key:"preparePaths",value:function(U){for(var F,Q,B,R=U.startPosition,V=U.endPosition,n=U.firstHalfEdge,l=V.sub(R),d=l.length()+.2,J=l.normalized(),N=Math.max(Math.floor((d-2)/4.4),0)+2,Z=d/(N-1),W=.7*6,S="",E=0;E0)Z=null!==(B=l.firstAtom.renderer)&&void 0!==B&&B.isLabelVisible?Z:Z.addScaled(l.direction,6*fW(l.cosToRightNeighborHalfEdge,l.sinToRightNeighborHalfEdge)),W=null!==(R=l.secondAtom.renderer)&&void 0!==R&&R.isLabelVisible?W:W.addScaled(l.direction,-6*fW(d.cosToLeftNeighborHalfEdge,d.sinToLeftNeighborHalfEdge));else if(F<0){var k,t;S=null!==(k=l.firstAtom.renderer)&&void 0!==k&&k.isLabelVisible?S:S.addScaled(l.direction,6*fW(l.cosToLeftNeighborHalfEdge,l.sinToLeftNeighborHalfEdge)),E=null!==(t=l.secondAtom.renderer)&&void 0!==t&&t.isLabelVisible?E:E.addScaled(l.direction,-6*fW(d.cosToRightNeighborHalfEdge,d.sinToRightNeighborHalfEdge))}var a=void 0!==Q?Xt[Q]:"none";if(Q===Mn.Double||Q===Mn.DoubleAromatic)return[{d:"\n M".concat(Z.x,",").concat(Z.y,"\n L").concat(W.x,",").concat(W.y,"\n M").concat(S.x,",").concat(S.y,"\n L").concat(E.x,",").concat(E.y,"\n "),attrs:{stroke:"black","stroke-dasharray":a,"stroke-width":"".concat(2)}}];var T={stroke:"black","stroke-width":"".concat(2)},e={"stroke-dasharray":a,"stroke-width":"".concat(2)},C={d:"\n M".concat(Z.x,",").concat(Z.y,"\n L").concat(W.x,",").concat(W.y,"\n "),attrs:F>0?e:T},D={d:"\n M".concat(S.x,",").concat(S.y,"\n L").concat(E.x,",").concat(E.y,"\n "),attrs:F>0?T:e};return F>0?[C,D]:[D,C]}}]),U}(),xt=function(){function U(){(0,V.A)(this,U)}return(0,n.A)(U,null,[{key:"preparePaths",value:function(U){var F=U.startPosition,Q=U.endPosition,B=U.firstHalfEdge.leftNormal,R=F.addScaled(B,2),V=Q.addScaled(B,-2),n=F.addScaled(B,-2),l=Q.addScaled(B,2);return[{d:"\n M".concat(R.x,",").concat(R.y,"\n L").concat(V.x,",").concat(V.y,"\n M").concat(n.x,",").concat(n.y,"\n L").concat(l.x,",").concat(l.y,"\n "),attrs:{"stroke-width":"".concat(2)}}]}}]),U}(),ut=function(){function U(){(0,V.A)(this,U)}return(0,n.A)(U,null,[{key:"preparePaths",value:function(U){var F=U.startPosition,Q=U.endPosition,B=U.firstHalfEdge,R=F.addScaled(B.leftNormal,6),V=Q.addScaled(B.leftNormal,6),n=F.addScaled(B.leftNormal,-6),l=Q.addScaled(B.leftNormal,-6);return[{d:"\n M".concat(R.x,",").concat(R.y,"\n L").concat(V.x,",").concat(V.y,"\n M").concat(F.x,",").concat(F.y,"\n L").concat(Q.x,",").concat(Q.y,"\n M").concat(n.x,",").concat(n.y,"\n L").concat(l.x,",").concat(l.y,"\n "),attrs:{"stroke-width":"".concat(2)}}]}}]),U}(),wt=function(){function U(){(0,V.A)(this,U)}return(0,n.A)(U,null,[{key:"preparePaths",value:function(U){var F=U.startPosition,Q=U.endPosition,B=U.firstHalfEdge,R=zF.dist(F,Q)/Number(8..toFixed());1&R||(R+=1);for(var V="",n=F,l=1;l<=R;++l){var d=zF.lc2(F,(R-l)/R,Q,l/R);if(1&l)V+="\n M".concat(n.x,",").concat(n.y,"\n L").concat(d.x,",").concat(d.y,"\n ");else{var J=n.addScaled(B.leftNormal,3),N=d.addScaled(B.leftNormal,3),Z=n.addScaled(B.leftNormal,-3),W=d.addScaled(B.leftNormal,-3);V+="\n M".concat(J.x,",").concat(J.y,"\n L").concat(N.x,",").concat(N.y,"\n M").concat(Z.x,",").concat(Z.y,"\n L").concat(W.x,",").concat(W.y,"\n ")}n=d}return[{d:V,attrs:{"stroke-dasharray":Xt[Mn.SingleDouble],"stroke-width":"".concat(2)}}]}}]),U}(),jt=function(){function U(){(0,V.A)(this,U)}return(0,n.A)(U,null,[{key:"preparePaths",value:function(U){var F=U.startPosition,Q=U.endPosition,B=U.firstHalfEdge,R=Q.sub(F),V=R.length();R=R.normalized();for(var n=Math.max(Math.floor((V-2)/3.2),0)+2,l=V/(n-.5),d=.7*6,J="M".concat(F.x,",").concat(F.y),N=F,Z=0;Z.3?1:0)+(F.sinToRightNeighborHalfEdge>.3?1:0),B=(F.sinToLeftNeighborHalfEdge>.3?1:0)+(U.sinToRightNeighborHalfEdge>.3?1:0);return Q>B?-1:Q.3?1:0)+(U.sinToRightNeighborHalfEdge>.3?1:0)===1?1:0}},{key:"getDoubleBondShiftForLoop",value:function(U,F,Q,B){return 6===U&&6!==F&&(Q>1||1===B)?-1:6===F&&6!==U&&(B>1||1===Q)?1:F*Q>U*B?-1:F*QU?-1:1}},{key:"getDoubleBondShift",value:function(U,F,Q){if(!F||!Q)return this.getDoubleBondShiftForChain(F,Q);var B=F.loopId||-1,R=Q.loopId||-1,V=U.loops.get(B),n=U.loops.get(R);return V&&n?this.getDoubleBondShiftForLoop(V.halfEdges.length,n.halfEdges.length,V.doubleBondsAmount,n.doubleBondsAmount):V?-1:n?1:this.getDoubleBondShiftForChain(F,Q)}},{key:"shiftPositionIfAtomLabelVisible",value:function(U,F,Q){var B,R;if(null===(B=F.renderer)||void 0===B||!B.isLabelVisible)return U;var V=null===(R=F.renderer)||void 0===R?void 0:R.labelBBoxes,n=F.renderer.scaledPosition,l=0;return null===V||void 0===V||V.forEach(function(U){var F=new IF(U.x,U.y,U.x+U.width,U.y+U.height).translate(n);l=Math.max(l,qd.shiftRayBox(n,Q.direction,F))}),U.addScaled(Q.direction,2+l)}},{key:"cipElementId",get:function(){return"cip-bond-".concat(this.bond.id)}},{key:"getBondFromMoleculeStruct",value:function(){var U;return null===(U=this.bond.firstAtom.monomer.monomerItem.struct)||void 0===U?void 0:U.bonds.get(this.bond.bondIdInMicroMode)}},{key:"appendSelection",value:function(){var U,F,Q=this.getSelectionContour();this.selectionElement?this.selectionElement.attr("d",Q):this.selectionElement=null===(F=this.canvas)||void 0===F?void 0:F.insert("path",":first-child").attr("d",Q).attr("fill",Rd).attr("class","dynamic-element");null===(U=this.rootElement)||void 0===U||null===(U=U.select("#".concat(this.cipElementId," rect")))||void 0===U||U.attr("fill",Rd)}},{key:"removeSelection",value:function(){var U,F;null===(U=this.selectionElement)||void 0===U||U.remove(),this.selectionElement=void 0,null===(F=this.rootElement)||void 0===F||null===(F=F.select("#".concat(this.cipElementId," rect")))||void 0===F||F.attr("fill","#f5f5f5")}},{key:"appendHover",value:function(){var U;if(this.hoverElement)return this.hoverElement;var F=this.getSelectionContour();return this.hoverElement=null===(U=this.canvas)||void 0===U?void 0:U.insert("path",":first-child").attr("d",F).attr("fill","none").attr("stroke","#0097A8").attr("stroke-width",1.2).attr("class","dynamic-element"),this.hoverElement}},{key:"removeHover",value:function(){var U;null===(U=this.hoverElement)||void 0===U||U.remove(),this.hoverElement=void 0}},{key:"redrawHover",value:function(){if(this.drawingEntity.hovered){var U,F=this.appendHover();if(F&&(this.hoverElement=F),this.bond.selected)null===(U=this.selectionElement)||void 0===U||U.attr("fill",Vd)}else{var Q;if(this.removeHover(),this.hoverElement=void 0,this.bond.selected)null===(Q=this.selectionElement)||void 0===Q||Q.attr("fill",Rd)}}},{key:"drawSelection",value:function(){this.rootElement&&(this.bond.selected?this.appendSelection():this.removeSelection())}},{key:"appendRootElement",value:function(){var U=this.canvas.append("g").data([this]).attr("data-testid","bond").attr("data-bondtype",this.bond.type).attr("data-bondstereo",this.bond.stereo).attr("data-bondid",this.bond.id).attr("data-fromatomid",this.bond.firstAtom.id).attr("data-toatomid",this.bond.secondAtom.id),F=this.getBondFromMoleculeStruct();return F&&(U.attr("data-topology",F.topology),U.attr("data-reacting-center",F.reactingCenterStatus)),U.attr("transform","translate(".concat(this.scaledPosition.startPosition.x,", ").concat(this.scaledPosition.startPosition.y,")")),U}},{key:"getSelectionPoints",value:function(){var U=KV().viewModel.bondsToHalfEdges.get(this.bond),F=null===U||void 0===U?void 0:U[0],Q=null===U||void 0===U?void 0:U[1],B=this.bond;if(!F||!Q)return GU.warn("Failed to draw selection for bond. There is no no half edges."),[];var R=VQ.modelToCanvas(F.position),V=VQ.modelToCanvas(Q.position);R=this.shiftPositionIfAtomLabelVisible(R,this.bond.firstAtom,F),V=this.shiftPositionIfAtomLabelVisible(V,this.bond.secondAtom,Q);var n=0!==B.stereo&&3!==B.stereo,l=n?0:-2,d=zF.getLinePoint(V,R,l),J=zF.getLinePoint(R,V,l),N=n?3:8.5,Z=n?6+8/6:8.5,W=zF.getLinePoint(d,J,Z),S=zF.getLinePoint(J,d,N),E=d.add(new zF(Z,0)),k=J.add(new zF(N,0)),t=W.add(new zF(Z,0)),a=S.add(new zF(N,0)),T=180*Math.atan2(F.direction.y,F.direction.x)/Math.PI,e=E.rotateAroundOrigin(T+90,new zF(d.x,d.y)),C=E.rotateAroundOrigin(T-90,new zF(d.x,d.y)),D=t.rotateAroundOrigin(T+90,W),o=t.rotateAroundOrigin(T-90,W),p=k.rotateAroundOrigin(T+90,J),h=k.rotateAroundOrigin(T-90,J);return[D,e,p,a.rotateAroundOrigin(T+90,S),a.rotateAroundOrigin(T-90,S),h,o,C]}},{key:"getSelectionContour",value:function(){var U=this.getSelectionPoints(),F=(0,R.A)(U,8),Q=F[0],B=F[1],V=F[2],n=F[3],l=F[4],d=F[5],J=F[6],N=F[7];return"\n M ".concat(B.x," ").concat(B.y,"\n L ").concat(V.x," ").concat(V.y,"\n C ").concat(n.x," ").concat(n.y,", ").concat(l.x," ").concat(l.y,", ").concat(d.x," ").concat(d.y,"\n L ").concat(N.x," ").concat(N.y,"\n C ").concat(J.x," ").concat(J.y,", ").concat(Q.x," ").concat(Q.y,", ").concat(B.x," ").concat(B.y,"\n ")}},{key:"moveSelection",value:function(){this.rootElement&&(this.drawSelection(),this.move())}},{key:"createBondHoverablePath",value:function(U){var F=this;if(this.rootElement){U.forEach(function(U){var Q,B=U.d,V=U.attrs,n=null===(Q=F.rootElement)||void 0===Q?void 0:Q.append("path").attr("d",B).attr("stroke","black").attr("stroke-linecap","round").attr("stroke-linejoin","round");Object.entries(V).forEach(function(U){var F=(0,R.A)(U,2),Q=F[0],B=F[1];null===n||void 0===n||n.attr(Q,B)})});var Q=U.reduce(function(U,F){return U+F.d},""),B=U.reduce(function(U,F){var Q,B=F.attrs;return U+Number(null!==(Q=B["stroke-width"])&&void 0!==Q?Q:2)},0);this.rootElement.append("path").attr("d",Q).attr("fill","none").attr("stroke","transparent").attr("stroke-width","".concat(4*B)).on("mouseenter",function(U){Pl.mouseOverDrawingEntity.dispatch(U),F.appendHover()}).on("mouseleave",function(U){Pl.mouseLeaveDrawingEntity.dispatch(U),F.removeHover()})}}},{key:"halfEdges",get:function(){return KV().viewModel.bondsToHalfEdges.get(this.bond)}},{key:"bondVectors",get:function(){var U=this.halfEdges,F=null===U||void 0===U?void 0:U[0],Q=null===U||void 0===U?void 0:U[1];if(F&&Q){var B=new zF(0,0),R=VQ.modelToCanvas(Q.position).sub(this.scaledPosition.startPosition);return{startPosition:B=this.shiftPositionIfAtomLabelVisible(B,this.bond.firstAtom,F),endPosition:R=this.shiftPositionIfAtomLabelVisible(R,this.bond.secondAtom,Q),firstHalfEdge:F,secondHalfEdge:Q}}}},{key:"show",value:function(){var U=KV().viewModel;this.rootElement=this.rootElement||this.appendRootElement();var F=this.bondVectors;if(F){var Q=[];switch(this.bond.type){case Mn.Single:Q=this.bond.stereo===bn.Up?Ot.preparePaths(F):this.bond.stereo===bn.Down?Lt.preparePaths(F):this.bond.stereo===bn.Either?jt.preparePaths(F):Yt.preparePaths(F);break;case Mn.Double:Q=this.bond.stereo===bn.CisTrans?xt.preparePaths(F):Ht.preparePaths(F,this.getDoubleBondShift(U,F.firstHalfEdge,F.secondHalfEdge));break;case Mn.Triple:Q=ut.preparePaths(F);break;case Mn.Aromatic:case Mn.SingleAromatic:case Mn.DoubleAromatic:var B=F.firstHalfEdge,R=F.secondHalfEdge,V=B&&B.loopId>=0?U.loops.get(B.loopId):null,n=R&&R.loopId>=0?U.loops.get(R.loopId):null;Q=(null===V||void 0===V?void 0:V.aromatic)&&(null===V||void 0===V?void 0:V.isConvex)||(null===n||void 0===n?void 0:n.aromatic)&&(null===n||void 0===n?void 0:n.isConvex)?Yt.preparePaths(F):Ht.preparePaths(F,this.getDoubleBondShift(U,F.firstHalfEdge,F.secondHalfEdge),this.bond.type);break;case Mn.SingleDouble:Q=wt.preparePaths(F);break;case Mn.Any:case Mn.Dative:case Mn.Hydrogen:Q=Yt.preparePaths(F,this.bond.type)}this.createBondHoverablePath(Q),this.appendBondProperties(),this.appendStereochemistry()}else GU.warn("Failed to draw a bond. No half edges found.")}},{key:"topologyElementId",get:function(){return"topology-bond-".concat(this.bond.id)}},{key:"reactingCenterElementId",get:function(){return"reacting-center-bond-".concat(this.bond.id)}},{key:"appendBondProperties",value:function(){var U=this.getBondFromMoleculeStruct();U&&(this.appendTopologyMark(U),this.appendReactingCenterMark(U))}},{key:"appendTopologyMark",value:function(U){if(this.rootElement){var F=null;if(U.customQuery?(F=U.customQuery,U.customQuery.length>8&&(F="".concat(U.customQuery.substring(0,8),"..."))):U.topology===fQ.PATTERN.TOPOLOGY.RING?F="rng":U.topology===fQ.PATTERN.TOPOLOGY.CHAIN&&(F="chn"),F){var Q=this.halfEdges,B=null===Q||void 0===Q?void 0:Q[0],R=null===Q||void 0===Q?void 0:Q[1];if(B&&R){var V=this.bondVectors;if(V){var n=V.endPosition.add(V.startPosition).scaled(.5),l=V.endPosition.sub(V.startPosition).normalized(),d=new zF(-l.y,l.x),J=this.getDoubleBondShift(KV().viewModel,B,R),N=2;J>0?d=d.scaled(-J):0===J&&(N+=Kt/2);var Z=new zF(2,1).scaled(Kt);U.type===fQ.PATTERN.TYPE.TRIPLE&&(N+=Kt);var W=n.add(new zF(d.x*(Z.x+N),d.y*(Z.y+N))),S=this.rootElement.append("g").attr("id",this.topologyElementId).append("text").text(F).attr("font-family","Arial").attr("font-size","".concat(ft,"px")).attr("fill","#000").attr("pointer-events","none"),E=S.node();if(E){var k=E.getBBox();S.attr("x",W.x-k.width/2).attr("y",W.y+k.height/4)}}}}}}},{key:"appendReactingCenterMark",value:function(U){if(this.rootElement){var F=U.reactingCenterStatus;if(null!==F&&void 0!==F&&F!==fQ.PATTERN.REACTING_CENTER.UNMARKED){var Q=this.bondVectors;if(Q){var B=Q.endPosition.add(Q.startPosition).scaled(.5),R=Q.endPosition.sub(Q.startPosition).normalized(),V=new zF(-R.y,R.x),n=Kt/2,l=1.5*n,d=1.5*n,J=3*n,N=.2,Z=[];switch(F){case fQ.PATTERN.REACTING_CENTER.NOT_CENTER:Z.push(B.addScaled(V,J).addScaled(R,N*J)),Z.push(B.addScaled(V,-J).addScaled(R,-.2*J)),Z.push(B.addScaled(V,J).addScaled(R,-.2*J)),Z.push(B.addScaled(V,-J).addScaled(R,N*J));break;case fQ.PATTERN.REACTING_CENTER.CENTER:Z.push(B.addScaled(V,J).addScaled(R,N*J).addScaled(R,2)),Z.push(B.addScaled(V,-J).addScaled(R,-.2*J).addScaled(R,2)),Z.push(B.addScaled(V,J).addScaled(R,N*J).addScaled(R,-2)),Z.push(B.addScaled(V,-J).addScaled(R,-.2*J).addScaled(R,-2)),Z.push(B.addScaled(R,l).addScaled(V,d)),Z.push(B.addScaled(R,-l).addScaled(V,d)),Z.push(B.addScaled(R,l).addScaled(V,-d)),Z.push(B.addScaled(R,-l).addScaled(V,-d));break;case fQ.PATTERN.REACTING_CENTER.MADE_OR_BROKEN:Z.push(B.addScaled(V,J).addScaled(R,4)),Z.push(B.addScaled(V,-J).addScaled(R,4)),Z.push(B.addScaled(V,J).addScaled(R,-4)),Z.push(B.addScaled(V,-J).addScaled(R,-4));break;case fQ.PATTERN.REACTING_CENTER.ORDER_CHANGED:Z.push(B.addScaled(V,J)),Z.push(B.addScaled(V,-J));break;case fQ.PATTERN.REACTING_CENTER.MADE_OR_BROKEN_AND_CHANGED:Z.push(B.addScaled(V,J).addScaled(R,4)),Z.push(B.addScaled(V,-J).addScaled(R,4)),Z.push(B.addScaled(V,J).addScaled(R,-4)),Z.push(B.addScaled(V,-J).addScaled(R,-4)),Z.push(B.addScaled(V,J)),Z.push(B.addScaled(V,-J));break;default:return}if(0!==Z.length){for(var W="",S=0;S=0?1:-1,n=V*(QW*R),l=V*(BW*R),d=V*(RW*R),J=U.x+F,N="M".concat(bU(U.x),",").concat(bU(U.y))+"A".concat(F/2,",").concat(B,",",0,",",0,",").concat(V>0?1:0,",").concat(bU(J),",").concat(bU(U.y))+"L".concat(bU(J-l),",").concat(bU(U.y-n))+"l".concat(bU(l),",").concat(bU(d))+"l".concat(bU(l),",").concat(bU(-d))+"l".concat(bU(-l),",").concat(n);return[{d:X()(N).rotate(Q,U.x,U.y).toString(),attrs:{}}]}}]),U}(),Za=function(){function U(){(0,V.A)(this,U)}return(0,n.A)(U,null,[{key:"preparePaths",value:function(U,F,Q,B){var R=_F().macroModeScale,V=B>=0?1:-1,n=V*(QW*R),l=V*(BW*R),d=U.x+F,J="M".concat(bU(U.x),",").concat(bU(U.y))+"A".concat(F/2,",").concat(B,",",0,",",0,",").concat(V>0?1:0,",").concat(bU(d),",").concat(bU(U.y))+"L".concat(bU(d-l),",").concat(bU(U.y-n))+"l".concat(bU(n),",").concat(bU(0))+"l".concat(bU(-l),",").concat(bU(n));return[{d:X()(J).rotate(Q,U.x,U.y).toString(),attrs:{}}]}}]),U}(),Wa=function(){function U(){(0,V.A)(this,U)}return(0,n.A)(U,null,[{key:"preparePaths",value:function(U,F,Q,B){var R=_F().macroModeScale,V=B>=0?1:-1,n=V*(QW*R),l=V*(BW*R),d=U.x+F,J="M".concat(bU(U.x),",").concat(bU(U.y))+"A".concat(F/2,",").concat(B,",",0,",",0,",").concat(V>0?1:0,",").concat(bU(d),",").concat(bU(U.y))+"L".concat(bU(d-l),",").concat(bU(U.y-n))+"M".concat(bU(d),",").concat(bU(U.y))+"L".concat(bU(d+l),", ").concat(bU(U.y-n));return[{d:X()(J).rotate(Q,U.x,U.y).toString(),attrs:{}}]}}]),U}(),Sa=function(){function U(){(0,V.A)(this,U)}return(0,n.A)(U,null,[{key:"preparePaths",value:function(U,F,Q,B){var R=_F().macroModeScale,V=B>=0?1:-1,n=V*(QW*R),l=V*(BW*R),d=U.x+F,J="M".concat(bU(U.x),",").concat(bU(U.y))+"A".concat(F/2,",").concat(B,",",0,",",0,",").concat(V>0?1:0,", ").concat(bU(d),",").concat(bU(U.y))+"L".concat(bU(d+l),", ").concat(bU(U.y-n));return[{d:X()(J).rotate(Q,U.x,U.y).toString(),attrs:{}}]}}]),U}(),Ea=function(){function U(){(0,V.A)(this,U)}return(0,n.A)(U,null,[{key:"preparePaths",value:function(U,F,Q){var B=_F().macroModeScale,R=QW*B,V=RW*B,n=VW*B,l=lW*B,d=1.5*(BW*B),J=U.x+F,N=[];return N.push("M".concat(bU(U.x),",").concat(bU(U.y-n))+"L".concat(bU(J),",").concat(bU(U.y-n))+"L".concat(bU(J-R),",").concat(bU(U.y-d-n))+"L".concat(bU(J-R+V),",").concat(bU(U.y-n),"Z")),N.push("M".concat(bU(U.x+l),",").concat(bU(U.y+n))+"L".concat(bU(J-l),",").concat(bU(U.y+n))+"M".concat(bU(U.x+l),",").concat(bU(U.y+n))+"L".concat(bU(U.x+R+l),",").concat(bU(U.y+d+n))+"L".concat(bU(U.x+R-V+l),",").concat(U.y+n,"Z")),[{d:X()(N.join("")).rotate(Q,U.x,U.y).toString(),attrs:{fill:"#000"}}]}}]),U}();function ka(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(ka=function(){return!!U})()}var ta=function(U){function F(U){var Q;return(0,V.A)(this,F),(Q=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,ka()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[U])).arrow=U,Q.arrow.setRenderer((0,J.A)(Q)),Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"scaledPosition",get:function(){return{startPosition:fF.modelToCanvas(this.arrow.startPosition,this.editorSettings),endPosition:fF.modelToCanvas(this.arrow.endPosition,this.editorSettings)}}},{key:"getArrowParams",value:function(){var U=this.scaledPosition,F=U.startPosition,Q=U.endPosition;return{length:Math.hypot(Q.x-F.x,Q.y-F.y),angle:zF.radiansToDegrees(zF.oxAngleForVector(new zF(F.x,F.y),new zF(Q.x,Q.y)))}}},{key:"generateArrowPath",value:function(){var U,F=this.getArrowParams(),Q=F.length,B=F.angle,R=new zF(0,0),V=_F().macroModeScale,n=(null!==(U=this.arrow.height)&&void 0!==U?U:0)*V,l=[];switch(this.arrow.type){case VB.OpenAngle:l=qt.preparePaths(R,Q,B);break;case VB.FilledTriangle:l=_t.preparePaths(R,Q,B);break;case VB.FilledBow:l=$t.preparePaths(R,Q,B);break;case VB.DashedOpenAngle:l=Ua.preparePaths(R,Q,B);break;case VB.Failed:l=Fa.preparePaths(R,Q,B);break;case VB.Retrosynthetic:l=Qa.preparePaths(R,Q,B);break;case VB.BothEndsFilledTriangle:l=Ba.preparePaths(R,Q,B);break;case VB.EquilibriumFilledHalfBow:l=Ra.preparePaths(R,Q,B);break;case VB.EquilibriumFilledTriangle:l=Va.preparePaths(R,Q,B);break;case VB.EquilibriumOpenAngle:l=na.preparePaths(R,Q,B);break;case VB.UnbalancedEquilibriumFilledHalfBow:l=la.preparePaths(R,Q,B);break;case VB.UnbalancedEquilibriumOpenHalfAngle:l=da.preparePaths(R,Q,B);break;case VB.UnbalancedEquilibriumLargeFilledHalfBow:l=Ea.preparePaths(R,Q,B);break;case VB.UnbalancedEquilibriumFilledHalfTriangle:l=Ja.preparePaths(R,Q,B);break;case VB.EllipticalArcFilledBow:l=Na.preparePaths(R,Q,B,n);break;case VB.EllipticalArcFilledTriangle:l=Za.preparePaths(R,Q,B,n);break;case VB.EllipticalArcOpenAngle:l=Wa.preparePaths(R,Q,B,n);break;case VB.EllipticalArcOpenHalfAngle:l=Sa.preparePaths(R,Q,B,n);break;default:GU.error("Unknown RxnArrow arrow type: ",this.arrow.type)}return l}},{key:"getSelectionContour",value:function(U){var F,Q=_F().macroModeScale,B=this.getArrowParams(),R=B.length,V=B.angle,n=(null!==(F=this.arrow.height)&&void 0!==F?F:0)*Q,l=null!==U&&void 0!==U?U:new zF(0,0),d=l.x+R,J=0===n?void 0:n,N=null!==J&&void 0!==J?J:8,Z="M".concat(bU(l.x-5),",").concat(bU(l.y))+"L".concat(bU(l.x-5),",").concat(bU(l.y-N))+"L".concat(bU(d+5),",").concat(bU(l.y-N))+"L".concat(bU(d+5),",").concat(bU(l.y+(n?0:N)))+"L".concat(bU(l.x-5),",").concat(bU(l.y+(n?0:N)),"Z");return X()(Z).rotate(V,l.x,l.y).toString()}},{key:"show",value:function(){var U=this;this.rootElement=this.canvas.insert("g",".monomer").data([this]).attr("transform","translate(".concat(this.scaledPosition.startPosition.x,", ").concat(this.scaledPosition.startPosition.y,")")),this.generateArrowPath().forEach(function(F){var Q,B=F.d,V=F.attrs,n=null===(Q=U.rootElement)||void 0===Q?void 0:Q.append("path").attr("d",B).attr("data-testid","rxn-arrow").attr("data-arrowtype",U.arrow.type+"-arrow").attr("fill","none").attr("stroke","#000").attr("stroke-width",2).attr("stroke-linecap","round").attr("stroke-linejoin","round");"number"===typeof U.arrow.arrowId&&(null===n||void 0===n||n.attr("data-arrow-id",String(U.arrow.arrowId))),Object.entries(V).forEach(function(U){var F=(0,R.A)(U,2),Q=F[0],B=F[1];null===n||void 0===n||n.attr(Q,B)})}),this.appendHoverAreaElement(),this.drawSelection()}},{key:"appendHover",value:function(){var U,F=this.getSelectionContour();this.hoverElement=null===(U=this.rootElement)||void 0===U?void 0:U.insert("path",":first-child").attr("d",F).attr("fill","none").attr("stroke","#0097A8").attr("stroke-width",1.2).attr("class","dynamic-element")}},{key:"appendHoverAreaElement",value:function(){var U,F,Q=this,B=this.getSelectionContour();this.hoverAreaElement=null===(U=this.rootElement)||void 0===U?void 0:U.append("path").attr("d",B).attr("fill","none").attr("stroke","none").attr("pointer-events","all").attr("class","dynamic-element"),null===(F=this.hoverAreaElement)||void 0===F||F.on("mouseover",function(){Q.appendHover()}).on("mouseout",function(){Q.removeHover()})}},{key:"drawSelection",value:function(){this.rootElement&&(this.arrow.selected?this.appendSelection():this.removeSelection())}},{key:"appendSelection",value:function(){var U,F=this.getSelectionContour(this.scaledPosition.startPosition);this.selectionElement=null===(U=this.canvas)||void 0===U?void 0:U.insert("path",":first-child").attr("d",F).attr("fill",Rd).attr("stroke",Rd).attr("class","dynamic-element")}},{key:"removeSelection",value:function(){var U;null===(U=this.selectionElement)||void 0===U||U.remove(),this.selectionElement=void 0}},{key:"move",value:function(){this.rootElement&&(this.remove(),this.show())}},{key:"removeHover",value:function(){var U;null===(U=this.hoverElement)||void 0===U||U.remove(),this.hoverElement=void 0}},{key:"remove",value:function(){b((0,d.A)(F.prototype),"remove",this).call(this),this.removeHover(),this.removeSelection()}},{key:"moveSelection",value:function(){}}]),F}(dd),aa=["tails"];function Ta(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(Ta=function(){return!!U})()}var ea="multitail-arrow",Ca=function(U){function F(U){var Q;return(0,V.A)(this,F),(Q=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,Ta()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[U])).arrow=U,Q.arrow.setRenderer((0,J.A)(Q)),Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"selectionPoints",get:function(){return this.getReferencePositionsArray()}},{key:"getReferencePositionsArray",value:function(){var U=this.getReferencePositions(),F=U.tails,Q=(0,G.A)(U,aa);return Object.values(Q).concat(Array.from(F.values()))}},{key:"getReferencePositions",value:function(){var U=this.arrow.getReferencePositions(),F=new eB;return U.tails.forEach(function(U,Q){F.set(Q,VQ.modelToCanvas(U))}),{head:VQ.modelToCanvas(U.head),topTail:VQ.modelToCanvas(U.topTail),bottomTail:VQ.modelToCanvas(U.bottomTail),topSpine:VQ.modelToCanvas(U.topSpine),bottomSpine:VQ.modelToCanvas(U.bottomSpine),tails:F}}},{key:"getArrowPaths",value:function(){var U=_F().macroModeScale,F=new qZ,Q=new qZ,B=this.getReferencePositions(),R=B.topTail,V=B.topSpine,n=B.bottomSpine,l=B.head,d=B.tails,J=V.sub(R).x,N=Math.min(HS.HEAD_LINE_START_OFFSET,Math.max(0,l.x-V.x)),Z=new zF(V.x+N,l.y),W=l.x-Z.x,S=QW*U,E=BW*U;return F.addMultitailArrowBase(V.y,n.y,V.x,J),Q.addFilledTriangleArrowPathParts(Z,W,S,E),d.forEach(function(U){F.addLine(U,{x:V.x,y:U.y})}),{arrowBody:F.build(),arrowHead:Q.build()}}},{key:"getSelectionContour",value:function(){var U=_F().macroModeScale,F=HS.FRAME_OFFSET*U,Q=this.getReferencePositions(),B=Q.topSpine,R=Q.bottomSpine,V=Q.topTail,n=Q.bottomTail,l=Q.head,d=Q.tails,J=new qZ,N=Array.from(d.values()).sort(function(U,F){return U.y-F.y}),Z=B.add(new zF(F,F));return J.addMovement(Z).addLine(B.add(new zF(F,-F+HS.CUBIC_BEZIER_OFFSET))).addQuadraticBezierCurve(B.add(new zF(F,-F)),B.add(new zF(F-HS.CUBIC_BEZIER_OFFSET,-F))),HS.drawSingleLineHover(J,F,B,V,-1,-1),N.forEach(function(U){HS.drawSingleLineHover(J,F,new zF(B.x,U.y),U,-1,-1)}),HS.drawSingleLineHover(J,F,R,n,-1,-1),J.addLine(R.add(new zF(F-HS.CUBIC_BEZIER_OFFSET,F))).addQuadraticBezierCurve(R.add(new zF(F,F)),R.add(new zF(F,F-HS.CUBIC_BEZIER_OFFSET))),HS.drawSingleLineHover(J,F,new zF(B.x,l.y),l,1,1),J.addLine(Z),J.build()}},{key:"show",value:function(){var U="number"===typeof this.arrow.arrowId?String(this.arrow.arrowId):void 0;this.rootElement=this.canvas.insert("g",".monomer").data([this]).attr("data-testid",ea),U&&this.rootElement.attr("data-arrow-id",U);var F=this.getArrowPaths(),Q=this.rootElement.append("path").attr("data-testid","rxn-arrow").attr("data-arrowtype",ea).attr("stroke","#000").attr("stroke-width",2).attr("fill","none").attr("d",F.arrowBody);U&&Q.attr("data-arrow-id",U);var B=this.rootElement.append("path").attr("d",F.arrowHead).attr("stroke","#000").attr("stroke-width",2).attr("fill","#000");U&&B.attr("data-arrow-id",U),this.appendHoverAreaElement(),this.drawSelection()}},{key:"appendHover",value:function(){var U,F,Q=this.getSelectionContour(),B="number"===typeof this.arrow.arrowId?String(this.arrow.arrowId):void 0;(this.hoverElement=null===(U=this.rootElement)||void 0===U?void 0:U.insert("path",":first-child").attr("d",Q).attr("fill","none").attr("stroke","#0097A8").attr("stroke-width",1.2).attr("class","dynamic-element"),B)&&(null===(F=this.hoverElement)||void 0===F||F.attr("data-arrow-id",B))}},{key:"appendHoverAreaElement",value:function(){var U,F,Q,B,R=this,V=this.getSelectionContour(),n="number"===typeof this.arrow.arrowId?String(this.arrow.arrowId):void 0;(this.hoverAreaElement=null===(U=this.rootElement)||void 0===U?void 0:U.append("path").attr("d",V).attr("fill","none").attr("stroke","none").attr("pointer-events","all").attr("class","dynamic-element"),n)&&(null===(B=this.hoverAreaElement)||void 0===B||B.attr("data-arrow-id",n));null===(F=this.hoverAreaElement)||void 0===F||F.on("mouseover",function(){R.appendHover()}).on("mouseout",function(){R.removeHover()}),null===(Q=this.hoverAreaElement)||void 0===Q||Q.data([this])}},{key:"drawSelection",value:function(){this.rootElement&&(this.arrow.selected?this.appendSelection():this.removeSelection())}},{key:"appendSelection",value:function(){var U,F,Q=this.getSelectionContour(),B="number"===typeof this.arrow.arrowId?String(this.arrow.arrowId):void 0;(this.selectionElement=null===(U=this.canvas)||void 0===U?void 0:U.insert("path",":first-child").attr("stroke",Rd).attr("fill",Rd).attr("d",Q),B)&&(null===(F=this.selectionElement)||void 0===F||F.attr("data-arrow-id",B))}},{key:"removeSelection",value:function(){var U;null===(U=this.selectionElement)||void 0===U||U.remove(),this.selectionElement=void 0}},{key:"move",value:function(){this.rootElement&&(this.remove(),this.show())}},{key:"removeHover",value:function(){var U;null===(U=this.hoverElement)||void 0===U||U.remove(),this.hoverElement=void 0}},{key:"remove",value:function(){b((0,d.A)(F.prototype),"remove",this).call(this),this.removeHover(),this.removeSelection()}},{key:"moveSelection",value:function(){}}]),F}(dd);function Da(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(Da=function(){return!!U})()}var oa,pa=function(U){function F(U){var Q;return(0,V.A)(this,F),(Q=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,Da()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[U])).rxnPlus=U,Q.rxnPlus.setRenderer((0,J.A)(Q)),Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"scaledPosition",get:function(){return VQ.modelToCanvas(this.rxnPlus.position)}},{key:"halfOfLineLength",get:function(){return _F().macroModeScale/5}},{key:"setSelectionContourAttributes",value:function(U){var F=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new zF(0,0),Q=_F().macroModeScale;return U.attr("x",F.x-Q/4).attr("y",F.y-Q/4).attr("width",Q/2).attr("height",Q/2).attr("rx",Q/8)}},{key:"show",value:function(){this.rootElement=this.canvas.insert("g",".monomer").data([this]).attr("data-testid","rxn-plus").attr("transform","translate(".concat(this.scaledPosition.x,", ").concat(this.scaledPosition.y,")"));var U=this.halfOfLineLength,F="M0,".concat(-U,"L0,").concat(U,"M").concat(-U,",0L").concat(U,",0");this.rootElement.append("path").attr("d",F).attr("fill","none").attr("stroke","#000").attr("stroke-width",2),this.appendHoverAreaElement(),this.drawSelection()}},{key:"appendHover",value:function(){this.rootElement&&(this.hoverElement=this.rootElement.insert("rect",":first-child").attr("fill","none").attr("stroke","#0097A8").attr("stroke-width",1.2).attr("class","dynamic-element"),this.setSelectionContourAttributes(this.hoverElement))}},{key:"appendHoverAreaElement",value:function(){var U,F=this;this.rootElement&&(this.hoverAreaElement=this.rootElement.append("rect").attr("fill","none").attr("stroke","none").attr("pointer-events","all").attr("class","dynamic-element"),this.setSelectionContourAttributes(this.hoverAreaElement),null===(U=this.hoverAreaElement)||void 0===U||U.on("mouseover",function(){F.appendHover()}).on("mouseout",function(){F.removeHover()}))}},{key:"drawSelection",value:function(){this.rootElement&&(this.rxnPlus.selected?this.appendSelection():this.removeSelection())}},{key:"appendSelection",value:function(){var U;this.rootElement&&(this.selectionElement=null===(U=this.canvas)||void 0===U?void 0:U.insert("rect",":first-child").attr("fill",Rd).attr("stroke",Rd).attr("class","dynamic-element"),this.setSelectionContourAttributes(this.selectionElement,this.scaledPosition))}},{key:"removeSelection",value:function(){var U;null===(U=this.selectionElement)||void 0===U||U.remove(),this.selectionElement=void 0}},{key:"move",value:function(){this.rootElement&&(this.remove(),this.show())}},{key:"removeHover",value:function(){var U;null===(U=this.hoverElement)||void 0===U||U.remove(),this.hoverElement=void 0}},{key:"remove",value:function(){b((0,d.A)(F.prototype),"remove",this).call(this),this.removeHover(),this.removeSelection()}},{key:"moveSelection",value:function(){}}]),F}(dd),ha=function(){function U(F){var Q=F.theme;(0,V.A)(this,U),(0,Z.A)(this,"monomers",new Map),(0,Z.A)(this,"polymerBonds",new Map),(0,Z.A)(this,"atoms",new Map),(0,Z.A)(this,"bonds",new Map),(0,Z.A)(this,"needRecalculateMonomersEnumeration",!1),this.theme=Q}return(0,n.A)(U,[{key:"hoverDrawingEntity",value:function(U){S()(U.baseRenderer),U.baseRenderer.redrawHover()}},{key:"selectDrawingEntity",value:function(U){S()(U.baseRenderer),U.baseRenderer.drawSelection()}},{key:"moveDrawingEntity",value:function(U){S()(U.baseRenderer),U.baseRenderer.moveSelection(),U instanceof un&&U.bonds.forEach(function(F){var Q,B;F instanceof On&&(null===(Q=F.renderer)||void 0===Q||Q.move(),null===(B=(F.firstAtom===U?F.secondAtom:F.firstAtom).renderer)||void 0===B||B.move())}),U.baseRenderer.drawSelection()}},{key:"markForReEnumeration",value:function(){this.needRecalculateMonomersEnumeration=!0}},{key:"addMonomer",value:function(U,F){var Q;U instanceof Vn?Q=new BJ(U):Q=new(0,RJ(U.monomerItem)[1])(U);this.monomers.set(U.id,Q),Q.show(this.theme),this.markForReEnumeration(),F&&F()}},{key:"moveMonomer",value:function(U){var F,Q;null===(F=U.renderer)||void 0===F||F.move(),null===(Q=U.renderer)||void 0===Q||Q.drawSelection()}},{key:"redrawDrawingEntity",value:function(U){var F,Q,B=arguments.length>1&&void 0!==arguments[1]&&arguments[1],R=arguments.length>2&&void 0!==arguments[2]&&arguments[2];null===(F=U.baseRenderer)||void 0===F||F.remove(),null===(Q=U.baseRenderer)||void 0===Q||Q.show(this.theme,B),R&&this.markForReEnumeration()}},{key:"deleteAllDrawingEntities",value:function(){this.monomers.forEach(function(U){U.remove()}),this.polymerBonds.forEach(function(U){U.remove()})}},{key:"deleteMonomer",value:function(U){var F;null===(F=U.renderer)||void 0===F||F.remove(),this.monomers.delete(U.id),this.markForReEnumeration()}},{key:"addPolymerBond",value:function(U){var F,Q=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],B=st.createInstance(U);(this.polymerBonds.set(U.id,B),B.show(),Q)&&(null===(F=B.polymerBond.firstMonomer.renderer)||void 0===F||F.redrawAttachmentPoints());this.markForReEnumeration()}},{key:"movePolymerBond",value:function(U){var F,Q,B,R;(null===(F=U.renderer)||void 0===F||F.moveStart(),null===(Q=U.renderer)||void 0===Q||Q.moveEnd(),null===(B=U.renderer)||void 0===B||B.drawSelection(),U.firstMonomer.chosenFirstAttachmentPointForBond)&&(null===(R=U.firstMonomer.renderer)||void 0===R||R.redrawAttachmentPointsCoordinates())}},{key:"showPolymerBondInformation",value:function(U){var F,Q,B,R,V;null===(F=U.renderer)||void 0===F||F.redrawHover(),null===(Q=U.firstMonomer.renderer)||void 0===Q||Q.redrawAttachmentPoints(),null===(B=U.firstMonomer.renderer)||void 0===B||B.redrawHover(),null===(R=U.secondMonomer)||void 0===R||null===(R=R.renderer)||void 0===R||R.redrawAttachmentPoints(),null===(V=U.secondMonomer)||void 0===V||null===(V=V.renderer)||void 0===V||V.redrawHover()}},{key:"deletePolymerBond",value:function(U){var F,Q,B,R,V,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],l=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];(null===(F=U.renderer)||void 0===F||F.remove(),l)&&(null===U||void 0===U||null===(Q=U.firstMonomer)||void 0===Q||null===(Q=Q.renderer)||void 0===Q||null===(B=Q.redrawAttachmentPoints)||void 0===B||B.call(Q),null===U||void 0===U||null===(R=U.secondMonomer)||void 0===R||null===(R=R.renderer)||void 0===R||null===(V=R.redrawAttachmentPoints)||void 0===V||V.call(R));this.polymerBonds.delete(U.id),n&&this.markForReEnumeration()}},{key:"recalculatePeptideChainEnumeration",value:function(U){var F=1;U.nodes.forEach(function(Q){var B=Q.monomer.renderer,R=Q.monomer.monomerItem.isAntisense?F===U.length:1===F;B&&(B.setEnumeration(F),B.redrawEnumeration(R),F++)})}},{key:"recalculateRnaChainEnumeration",value:function(U){var F=1,Q=U.nodes.reduce(function(U,F){return F instanceof Sn||F instanceof Wn||F.monomer instanceof _V?U+1:U},0);U.nodes.forEach(function(U){var B,R,V,n,l=U.monomer.monomerItem.isAntisense?F===Q:1===F;if(U instanceof Sn||U instanceof Wn)null===(B=U.rnaBase.renderer)||void 0===B||B.setEnumeration(F),null===(R=U.rnaBase.renderer)||void 0===R||R.redrawEnumeration(l),null===(V=U.sugar.renderer)||void 0===V||V.setEnumeration(F),null===(n=U.sugar.renderer)||void 0===n||n.redrawEnumeration(l),F++;else if(U.monomer instanceof _V){var d,J;null===(d=U.monomer.renderer)||void 0===d||d.setEnumeration(F),null===(J=U.monomer.renderer)||void 0===J||J.redrawEnumeration(l),F++}else(U instanceof tn||U instanceof on)&&U.monomers.forEach(function(U){var F;U instanceof HV&&(null===(F=U.renderer)||void 0===F||F.redrawEnumeration(!1))})})}},{key:"recalculateMonomersEnumeration",value:function(){var U=this,F=KV();vn.fromMonomers((0,B.A)(F.drawingEntitiesManager.monomers.values())).chains.forEach(function(F){F.subChains.forEach(function(F){F instanceof MV?U.recalculatePeptideChainEnumeration(F):(F instanceof yV||F instanceof OV)&&U.recalculateRnaChainEnumeration(F)})}),this.needRecalculateMonomersEnumeration=!1}},{key:"finishPolymerBondCreation",value:function(U){var F,Q,B,R,V,n,l;S()(U.secondMonomer);var d=st.createInstance(U);this.polymerBonds.set(U.id,d),this.markForReEnumeration(),null===(F=U.firstMonomer.renderer)||void 0===F||F.redrawAttachmentPoints(),null===(Q=U.firstMonomer.renderer)||void 0===Q||Q.drawSelection(),null===(B=U.firstMonomer.renderer)||void 0===B||B.redrawHover(),null===(R=U.secondMonomer.renderer)||void 0===R||R.redrawAttachmentPoints(),null===(V=U.secondMonomer.renderer)||void 0===V||V.drawSelection(),null===(n=U.secondMonomer.renderer)||void 0===n||n.redrawHover(),null===(l=U.renderer)||void 0===l||l.show()}},{key:"cancelPolymerBondCreation",value:function(U,F){var Q,B,R,V,n,l;this.deletePolymerBond(U),null===(Q=U.firstMonomer.renderer)||void 0===Q||Q.redrawAttachmentPoints(),null===(B=U.firstMonomer.renderer)||void 0===B||B.drawSelection(),null===(R=U.firstMonomer.renderer)||void 0===R||R.redrawHover(),null===F||void 0===F||null===(V=F.renderer)||void 0===V||V.redrawAttachmentPoints(),null===F||void 0===F||null===(n=F.renderer)||void 0===n||n.drawSelection(),null===F||void 0===F||null===(l=F.renderer)||void 0===l||l.redrawHover()}},{key:"hoverMonomer",value:function(U,F){var Q;(this.hoverDrawingEntity(U),F)&&(null===(Q=U.renderer)||void 0===Q||Q.redrawAttachmentPoints())}},{key:"hoverAttachmentPoint",value:function(U,F){var Q,B;this.hoverDrawingEntity(U),null===(Q=U.renderer)||void 0===Q||Q.hoverAttachmentPoint(F),null===(B=U.renderer)||void 0===B||B.updateAttachmentPoints()}},{key:"reinitializeViewModel",value:function(){var U=KV();U.viewModel.initialize((0,B.A)(U.drawingEntitiesManager.bonds.values()))}},{key:"update",value:function(U){this.reinitializeViewModel(),null===U||void 0===U||U.execute(this),this.runPostRenderMethods(),QQ()}},{key:"addAtom",value:function(U){U.renderer&&U.renderer.remove();var F=new Ct(U);this.atoms.set(U.id,F),F.show()}},{key:"deleteAtom",value:function(U){var F;this.atoms.delete(U.id),null===(F=U.renderer)||void 0===F||F.remove()}},{key:"addBond",value:function(U){var F=this;U.renderer&&U.renderer.remove();var Q=new gt(U);this.bonds.set(U.id,Q),[U.firstAtom,U.secondAtom].forEach(function(Q){-1===Q.bonds.indexOf(U)&&(Q.addBond(U),F.atoms.forEach(function(U){var F;(null===(F=Q.renderer)||void 0===F?void 0:F.atom.id)===U.atom.id&&U.redrawLabel()}))}),Q.show(),this.bonds.forEach(function(F){var Q=F.bond,R=Q.firstAtom,V=Q.secondAtom,n=[].concat((0,B.A)(R.bonds.filter(function(U){return U instanceof dR})),(0,B.A)(V.bonds.filter(function(U){return U instanceof dR})));n.forEach(function(U){var F;return null===(F=U.renderer)||void 0===F?void 0:F.move()}),R!==U.secondAtom&&V!==U.firstAtom&&R!==U.firstAtom&&V!==U.secondAtom||F.move()})}},{key:"deleteBond",value:function(U){var F;this.bonds.delete(U.id),null===(F=U.renderer)||void 0===F||F.remove()}},{key:"addMonomerToAtomBond",value:function(U){var F,Q;U.renderer&&U.renderer.remove();var B=new At(U);this.redrawDrawingEntity(U.atom),B.show(),null===(F=U.monomer.renderer)||void 0===F||F.redrawAttachmentPoints(),null===(Q=U.monomer.renderer)||void 0===Q||Q.redrawHover()}},{key:"deleteMonomerToAtomBond",value:function(U){var F;null===(F=U.renderer)||void 0===F||F.remove(),this.redrawDrawingEntity(U.atom)}},{key:"addRxnArrow",value:function(U){new ta(U).show()}},{key:"deleteRxnArrow",value:function(U){var F;null===(F=U.renderer)||void 0===F||F.remove()}},{key:"addMultitailArrow",value:function(U){new Ca(U).show()}},{key:"deleteMultitailArrow",value:function(U){var F;null===(F=U.renderer)||void 0===F||F.remove()}},{key:"addRxnPlus",value:function(U){new pa(U).show()}},{key:"deleteRxnPlus",value:function(U){var F;null===(F=U.renderer)||void 0===F||F.remove()}},{key:"renderAromaticCircles",value:function(){var U,F=this,Q=KV().viewModel,B=null===(U=RQ.instance)||void 0===U?void 0:U.canvas;null!==B&&void 0!==B&&B.selectAll&&(B.selectAll(".aromatic-circle").remove(),Q.loops.forEach(function(U){if(U.aromatic)if(U.isConvex){var Q=F.calculateLoopCenterAndRadius(U),R=Q.center,V=Q.radius;if(V<=0)return;B.append("circle").attr("class","aromatic-circle").attr("cx",R.x).attr("cy",R.y).attr("r",V).attr("stroke","#000").attr("stroke-width",1).attr("fill","none")}else{var n=F.calculateDashedPolygonPath(U);if(!n)return;B.append("path").attr("class","aromatic-circle").attr("d",n).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","2,2").attr("fill","none")}}))}},{key:"calculateDashedPolygonPath",value:function(U){var F=_F(),Q="";return U.halfEdges.forEach(function(B,R){var V=U.halfEdges[(R+1)%U.halfEdges.length],n=Math.atan2(zF.cross(B.direction,V.direction),zF.dot(B.direction,V.direction)),l=(Math.PI-n)/2,d=V.direction.rotate(l),J=fF.modelToCanvas(V.firstAtom.position,F),N=Math.sin(l);Math.abs(N)<.1&&(N=.1*N/Math.abs(N));var Z=6/N,W=J.addScaled(d,-Z);Q+=0===R?"M ".concat(W.x," ").concat(W.y):" L ".concat(W.x," ").concat(W.y)}),Q+=" Z"}},{key:"calculateLoopCenterAndRadius",value:function(U){var F=_F(),Q=new zF(0,0);U.halfEdges.forEach(function(U){var B=fF.modelToCanvas(U.firstAtom.position,F);Q=Q.add(B)}),Q=Q.scaled(1/U.halfEdges.length);var B=-1;return U.halfEdges.forEach(function(U){var R=fF.modelToCanvas(U.firstAtom.position,F),V=fF.modelToCanvas(U.secondAtom.position,F),n=zF.diff(V,R).rotateSC(1,0).normalized(),l=zF.dot(zF.diff(R,Q),n);B=B<0?l:Math.min(B,l)}),{center:Q,radius:B*=.7}}},{key:"runPostRenderMethods",value:function(){this.needRecalculateMonomersEnumeration&&this.recalculateMonomersEnumeration(),this.renderAromaticCircles()}},{key:"rerenderSideConnectionPolymerBonds",value:function(){this.polymerBonds.forEach(function(U){(U.polymerBond.isSideChainConnection||U.polymerBond.isOverlappedByMonomer)&&(U.remove(),U.show(void 0,!0))})}}]),U}();function ca(U){return(0,Z.A)((0,Z.A)((0,Z.A)((0,Z.A)((0,Z.A)({},xZ.Off,oa.HETERO),xZ.Hetero,oa.HETERO),xZ.Terminal,oa.TERMINAL_HETERO),xZ.TerminalAndHetero,oa.TERMINAL_HETERO),xZ.On,oa.ALL)[Jt.getKetcher(U).editor.options().showHydrogenLabels]||oa.OFF}function ra(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function ma(U){for(var F=1;F3&&void 0!==arguments[3])||arguments[3];return(0,V.A)(this,F),(R=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,kT()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.BOND_ADD,Gl.BOND_ADD])).data={bond:null!==B&&void 0!==B?B:null,begin:null!==U&&void 0!==U?U:null,end:null!==Q&&void 0!==Q?Q:null,bid:null,needInvalidateAtoms:n},R}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=this.data,Q=F.begin,B=F.bond,R=F.end,V=U.molecule;if(Q===R)throw new Error("Distinct atoms expected");this.data.needInvalidateAtoms&&(sl.invalidateAtom(U,Q,1),sl.invalidateAtom(U,R,1));var n=function(U){for(var F=1;F=0&&U.loopRemove(Q.loop)}},U),U.clearVisel(R.visel),U.bonds.delete(F),U.markItemRemoved();var V=Q.bonds.get(F);V&&([V.hb1,V.hb2].forEach(function(U){if(void 0!==U){var F=Q.halfBonds.get(U);if(F){var B=Q.atoms.get(F.begin);if(B){var R=B.neighbors.indexOf(U),V=(R+B.neighbors.length-1)%B.neighbors.length,n=(R+1)%B.neighbors.length;Q.setHbNext(B.neighbors[V],B.neighbors[n]),B.neighbors.splice(R,1)}}}}),void 0!==V.hb1&&Q.halfBonds.delete(V.hb1),void 0!==V.hb2&&Q.halfBonds.delete(V.hb2),Q.bonds.delete(F))}}}},{key:"invert",value:function(){var U=new F.InverseConstructor;return U.data=this.data,U}}]),F}(sl);function eT(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(eT=function(){return!!U})()}var CT=function(U){function F(U,Q,B){var R,n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];return(0,V.A)(this,F),(R=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,eT()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.BOND_ATTR,Gl.BOND_ATTR])).data={bid:U,attribute:Q,value:B,needInvalidateBond:n},R.data2=null,R}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){if(this.data){var F=this.data,Q=F.attribute,B=F.bid,R=F.value,V=F.needInvalidateBond,n=U.molecule.bonds.get(B);this.data2||(this.data2={bid:B,attribute:Q,value:n[Q],needInvalidateBond:V}),n[Q]=R,this.data.needInvalidateBond&&sl.invalidateBond(U,B),"type"===Q&&sl.invalidateLoop(U,B)}}},{key:"isDummy",value:function(U){if(this.data){var F=this.data,Q=F.attribute,B=F.bid,R=F.value;return U.molecule.bonds.get(B)[Q]===R}return!1}},{key:"invert",value:function(){var U=new F;return U.data=this.data2,U.data2=this.data,U}}]),F}(sl);function DT(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(DT=function(){return!!U})()}var oT=function(U){function F(U,Q){var B;return(0,V.A)(this,F),(B=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,DT()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.BOND_MOVE,Gl.BOND_MOVE])).data={bid:U,d:Q},B}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=this.data,Q=F.bid,B=F.d,R=U.bonds.get(Q);if(R){R.b.center.add_(B);var V=fF.modelToCanvas(B,U.render.options);R.visel.translate(V),this.data.d=B.negated()}}},{key:"invert",value:function(){var U=new F;return U.data=this.data,U}}]),F}(sl);function pT(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(pT=function(){return!!U})()}tT.InverseConstructor=TT,TT.InverseConstructor=tT;var hT=function(U){function F(U){var Q;return(0,V.A)(this,F),(Q=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,pT()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.CANVAS_LOAD])).data={struct:U},Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){if(GU.log("CanvasLoad.execute(), start"),U.molecule===this.data.struct)throw new Error("Unexpected data.struct loaded is equal to the restruct.molecule current");U.clearVisels();var F=U.molecule;this.data.struct&&U.render.setMolecule(this.data.struct,!0),this.data.struct=F,GU.log("CanvasLoad.execute(), end")}},{key:"invert",value:function(){var U=new F;return U.data=this.data,U}}]),F}(sl);function cT(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(cT=function(){return!!U})()}var rT=function(U){function F(){var U;return(0,V.A)(this,F),(U=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,cT()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.ALIGN_DESCRIPTORS])).history={},U}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=this,Q=U.molecule,B=Array.from(Q.sgroups.values()).reverse(),R=Q.getCoordBoundingBoxObj();if(R){var V=new zF(R.max.x,R.min.y).add(new zF(2,-1));B.forEach(function(B){F.history[B.id]=B.pp?new zF(B.pp):null,V=V.add(new zF(0,.5)),B.pp=V,Q.sgroups.set(B.id,B),sl.invalidateItem(U,"sgroupData",B.id,1)})}}},{key:"invert",value:function(){return new F.InverseConstructor(this.history)}}]),F}(sl);function mT(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(mT=function(){return!!U})()}var MT=function(U){function F(U){var Q;return(0,V.A)(this,F),(Q=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,mT()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.RESTORE_DESCRIPTORS_POSITION])).history=U,Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=this,Q=U.molecule;Array.from(Q.sgroups.values()).forEach(function(B){B.pp=F.history[B.id],Q.sgroups.set(B.id,B),sl.invalidateItem(U,"sgroupData",B.id,1)})}},{key:"invert",value:function(){return new F.InverseConstructor}}]),F}(sl);function iT(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(iT=function(){return!!U})()}rT.InverseConstructor=MT,MT.InverseConstructor=rT;var bT=function(U){function F(U,Q){var B;return(0,V.A)(this,F),(B=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,iT()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.ENHANCED_FLAG_MOVE])).data={frid:U,p:Q},B}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=this.data.frid,Q=this.data.p,B=U.molecule.frags.get(F);if(B){var R=B.stereoFlagPosition?new zF(B.stereoFlagPosition.x,B.stereoFlagPosition.y):UB.getDefaultStereoFlagPosition(U.molecule,F),V=zF.sum(R,Q);B.stereoFlagPosition=V,this.data.p=Q.negated(),sl.invalidateItem(U,"enhancedFlags",F,1)}}},{key:"invert",value:function(){var U=new F;return U.data=this.data,U}}]),F}(sl);function vT(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(vT=function(){return!!U})()}var GT=function(U){function F(U){var Q;return(0,V.A)(this,F),(Q=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,vT()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.ENHANCED_FLAG_MOVE])).data={frid:U},Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=this.data.frid,Q=U.molecule.frags.get(F);Q&&(this.data.previousPosition=Q.stereoFlagPosition?new zF(Q.stereoFlagPosition.x,Q.stereoFlagPosition.y):void 0,Q.stereoFlagPosition=void 0,sl.invalidateItem(U,"enhancedFlags",F,1))}},{key:"invert",value:function(){var U=new F(this.data.frid);return this.data.previousPosition&&(U.restorePosition=this.data.previousPosition),U}}]),F}(sl);function sT(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(sT=function(){return!!U})()}var XT=function(U){function F(U,Q){var B,R=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return(0,V.A)(this,F),(B=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,sT()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.UPDATE_IF_THEN])).rgid_new=U,B.rgid_old=Q,B.ifThenHistory=new Map,B.skipRgids=R||[],B}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=this,Q=U.molecule;Q.rgroups.forEach(function(U,B){U.ifthen!==F.rgid_old||F.skipRgids.includes(B)||(U.ifthen=F.rgid_new,F.ifThenHistory.set(B,F.rgid_old),Q.rgroups.set(B,U))})}},{key:"invert",value:function(){return new F.InverseConstructor(this.rgid_new,this.rgid_old,this.ifThenHistory)}}]),F}(sl);function YT(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(YT=function(){return!!U})()}var yT=function(U){function F(U,Q,B){var R;return(0,V.A)(this,F),(R=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,YT()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.RESTORE_IF_THEN])).rgid_new=U,R.rgid_old=Q,R.ifThenHistory=B||new Map,R}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=U.molecule;this.ifThenHistory.forEach(function(U,Q){var B=F.rgroups.get(Q);B&&(B.ifthen=U,F.rgroups.set(Q,B))})}},{key:"invert",value:function(){return new F.InverseConstructor(this.rgid_old,this.rgid_new)}}]),F}(sl);function zT(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(zT=function(){return!!U})()}XT.InverseConstructor=yT,yT.InverseConstructor=XT;var OT=function(U){function F(U,Q){var B;return(0,V.A)(this,F),(B=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,zT()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.FRAGMENT_ADD])).frid="undefined"===typeof U?null:U,Q&&(B.properties=Q),B}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=U.molecule,Q=new UB([],null,this.properties);null===this.frid?this.frid=F.frags.add(Q):F.frags.set(this.frid,Q),U.frags.set(this.frid,new RS(Q)),U.markItem("frags",this.frid,1),U.enhancedFlags.set(this.frid,new QS)}},{key:"invert",value:function(){return new F.InverseConstructor(this.frid)}}]),F}(sl);function LT(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(LT=function(){return!!U})()}var HT=function(U){function F(U){var Q;return(0,V.A)(this,F),(Q=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,LT()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.FRAGMENT_DELETE,100])).frid=U,Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=U.molecule;if(F.frags.get(this.frid)){sl.invalidateItem(U,"frags",this.frid,1),U.frags.delete(this.frid),U.markItemRemoved(),F.frags.delete(this.frid);var Q=U.enhancedFlags.get(this.frid);Q&&(U.clearVisel(Q.visel),U.enhancedFlags.delete(this.frid))}}},{key:"invert",value:function(){return new F.InverseConstructor(this.frid)}}]),F}(sl);function xT(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(xT=function(){return!!U})()}var uT=function(U){function F(U,Q){var B;return(0,V.A)(this,F),(B=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,xT()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.FRAGMENT_SET_PROPERTIES])).frid=U,B.properties=Q,B}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=U.molecule.frags.get(this.frid);F&&(this.properties?F.properties=this.properties:null===F||void 0===F||delete F.properties)}},{key:"invert",value:function(){return new F(this.frid,void 0)}}]),F}(sl);function wT(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(wT=function(){return!!U})()}OT.InverseConstructor=HT,HT.InverseConstructor=OT;var jT=function(U){function F(U,Q){var B;return(0,V.A)(this,F),(B=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,wT()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.FRAGMENT_ADD_STEREO_ATOM,Gl.FRAGMENT_ADD_STEREO_ATOM])).data={frid:U,aid:Q},B}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=this.data,Q=F.aid,B=F.frid,R=U.molecule.frags.get(B);R&&(R.updateStereoAtom(U.molecule,Q,B,!0),sl.invalidateEnhancedFlag(U,B))}},{key:"invert",value:function(){return new F.InverseConstructor(this.data.frid,this.data.aid)}}]),F}(sl);function IT(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(IT=function(){return!!U})()}var KT=function(U){function F(U,Q){var B;return(0,V.A)(this,F),(B=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,IT()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.FRAGMENT_DELETE_STEREO_ATOM,Gl.FRAGMENT_DELETE_STEREO_ATOM])).data={frid:U,aid:Q},B}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=this.data,Q=F.aid,B=F.frid,R=U.molecule.frags.get(B);R&&(R.updateStereoAtom(U.molecule,Q,B,!1),sl.invalidateEnhancedFlag(U,B))}},{key:"invert",value:function(){return new F.InverseConstructor(this.data.frid,this.data.aid)}}]),F}(sl);function fT(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(fT=function(){return!!U})()}jT.InverseConstructor=KT,KT.InverseConstructor=jT;var gT=function(U){function F(U){var Q;return(0,V.A)(this,F),(Q=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,fT()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.FRAGMENT_STEREO_FLAG,Gl.FRAGMENT_STEREO_FLAG])).frid=U,Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=U.molecule;F.frags.get(this.frid).updateStereoFlag(F),sl.invalidateEnhancedFlag(U,this.frid)}},{key:"invert",value:function(){return new F(this.frid)}}]),F}(sl);function PT(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(PT=function(){return!!U})()}var AT=function(U){function F(U){var Q;return(0,V.A)(this,F),(Q=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,PT()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.CALC_IMPLICIT_H,Gl.CALC_IMPLICIT_H])).atomIds=U,Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=this.atomIds;U.molecule.setImplicitHydrogen(F)}},{key:"invert",value:function(){return new F(this.atomIds)}}]),F}(sl);function qT(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(qT=function(){return!!U})()}var _T=function(U){function F(U,Q){var B;return(0,V.A)(this,F),(B=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,qT()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.LOOP_MOVE])).data={id:U,d:Q},B}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=this.data,Q=F.id,B=F.d,R=U.reloops.get(Q);if(null!==R&&void 0!==R&&R.visel){var V=fF.modelToCanvas(B,U.render.options);R.visel.translate(V)}this.data.d=B.negated()}},{key:"invert",value:function(){var U=new F;return U.data=this.data,U}}]),F}(sl);function $T(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return($T=function(){return!!U})()}var Ue=function(U){function F(U,Q){var B;return(0,V.A)(this,F),(B=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,$T()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.IMAGE_MOVE])).id=U,B.offset=Q,B}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=U.images.get(this.id),Q=U.molecule.images.get(this.id);if(Q&&F){var B=fF.modelToCanvas(this.offset,U.render.options);F.visel.translate(B),Q.addPositionOffset(this.offset)}}},{key:"invert",value:function(){return new F(this.id,this.offset.negated())}}]),F}(sl);function Fe(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(Fe=function(){return!!U})()}var Qe=["topLeftPosition","leftMiddlePosition","bottomLeftPosition"],Be=["topRightPosition","rightMiddlePosition","bottomRightPosition"],Re=["topLeftPosition","topMiddlePosition","topRightPosition"],Ve=["bottomLeftPosition","bottomMiddlePosition","bottomRightPosition"],ne=function(U){function F(U,Q,B){var R;return(0,V.A)(this,F),R=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,Fe()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.IMAGE_RESIZE]),(0,Z.A)((0,J.A)(R),"previousPosition",null),R.id=U,R.position=Q,R.referencePositionName=B,R}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=U.molecule.images.get(this.id),Q=U.images.get(this.id);if(F&&Q){var B=F.getReferencePositions();this.previousPosition=B[this.referencePositionName];var R=zF.diff(this.position,this.previousPosition),V=new zF(B.topLeftPosition),n=new zF(B.bottomRightPosition);Re.includes(this.referencePositionName)?V.add_(new zF(0,R.y)):Ve.includes(this.referencePositionName)&&n.add_(new zF(0,R.y)),Qe.includes(this.referencePositionName)?V.add_(new zF(R.x,0)):Be.includes(this.referencePositionName)&&n.add_(new zF(R.x,0)),F.resize(V,n);var l=Q.visel.paths[0].next;U.clearVisel(Q.visel),Q.show(U,U.render.options,l)}}},{key:"invert",value:function(){return new F(this.id,this.previousPosition,this.referencePositionName)}}]),F}(sl);function le(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,de()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}function de(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(de=function(){return!!U})()}var Je=function(U){function F(U,Q){var B;return(0,V.A)(this,F),(B=le(this,F,[Xl.IMAGE_UPSERT])).image=U,B.data={id:Q},B}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=U.molecule;void 0===this.data.id&&(this.data.id=F.images.newId());var Q=this.data.id,B=this.image.clone();F.images.set(Q,B),U.images.set(Q,new sS(B)),sl.invalidateItem(U,q,Q,1)}},{key:"invert",value:function(){return new Ne(this.data.id)}}]),F}(sl),Ne=function(U){function F(U){var Q;return(0,V.A)(this,F),(Q=le(this,F,[Xl.IMAGE_DELETE])).data={id:U},Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=U.images.get(this.data.id);F&&(this.image=F.image.clone(),U.clearVisel(F.visel),U.markItemRemoved(),U.images.delete(this.data.id),U.molecule.images.delete(this.data.id))}},{key:"invert",value:function(){return new Je(this.image,this.data.id)}}]),F}(sl);function Ze(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,We()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}function We(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(We=function(){return!!U})()}var Se=function(U){function F(U,Q,B){var R;return(0,V.A)(this,F),(R=Ze(this,F,[Xl.MULTITAIL_ARROW_ADD_TAIL])).itemId=U,R.tailId=Q,R.coordinate=B,R}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=U.multitailArrows.get(this.itemId),Q=U.molecule.multitailArrows.get(this.itemId);F&&Q&&(this.tailId=Q.addTail(this.tailId,this.coordinate),sl.invalidateItem(U,"multitailArrows",this.itemId,1))}},{key:"invert",value:function(){return new Ee(this.itemId,this.tailId)}}]),F}(sl),Ee=function(U){function F(U,Q){var B;return(0,V.A)(this,F),(B=Ze(this,F,[Xl.MULTITAIL_ARROW_REMOVE_TAIL])).itemId=U,B.tailId=Q,B}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=U.multitailArrows.get(this.itemId),Q=U.molecule.multitailArrows.get(this.itemId);this.coordinate=null===Q||void 0===Q?void 0:Q.getTailCoordinate(this.tailId),F&&Q&&this.coordinate&&(Q.removeTail(this.tailId),sl.invalidateItem(U,"multitailArrows",this.itemId,1))}},{key:"invert",value:function(){return new Se(this.itemId,this.tailId,this.coordinate)}}]),F}(sl);function ke(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(ke=function(){return!!U})()}var te=function(U){function F(U,Q){var B;return(0,V.A)(this,F),(B=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,ke()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.MULTITAIL_ARROW_MOVE])).id=U,B.offset=Q,B}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=U.multitailArrows.get(this.id),Q=U.molecule.multitailArrows.get(this.id);if(Q&&F){var B=fF.modelToCanvas(this.offset,U.render.options);F.visel.translate(B),Q.move(this.offset)}}},{key:"invert",value:function(){return new F(this.id,this.offset.negated())}}]),F}(sl);function ae(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(ae=function(){return!!U})()}var Te=function(U){function F(U,Q,B,R,n){var J;return(0,V.A)(this,F),(J=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,ae()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.MULTITAIL_ARROW_MOVE_HEAD_TAIL])).id=U,J.offset=Q,J.name=B,J.tailId=R,J.normalize=n,J}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=U.multitailArrows.get(this.id),Q=U.molecule.multitailArrows.get(this.id);if(Q&&F){switch(this.name){case LS.HEAD:this.offset=Q.moveHead(this.offset);break;case LS.TOP_TAIL:case LS.BOTTOM_TAIL:this.offset=Q.moveTail(this.offset,this.name);break;default:this.offset=Q.moveTail(this.offset,this.tailId,this.normalize)}sl.invalidateItem(U,RU,this.id,1)}}},{key:"invert",value:function(){return new F(this.id,-this.offset,this.name,this.tailId)}}]),F}(sl);function ee(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(ee=function(){return!!U})()}var Ce=function(U){function F(U,Q,B){var R;return(0,V.A)(this,F),(R=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,ee()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.MULTITAIL_ARROW_RESIZE_HEAD_TAIL])).id=U,R.offset=Q,R.isHead=B,R}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=U.molecule.multitailArrows.get(this.id);F&&(this.offset=this.isHead?F.resizeHead(this.offset):F.resizeTails(this.offset),sl.invalidateItem(U,RU,this.id,1))}},{key:"invert",value:function(){return new F(this.id,-this.offset,this.isHead)}}]),F}(sl);function De(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,oe()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}function oe(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(oe=function(){return!!U})()}var pe=function(U){function F(U,Q,B){var R;return(0,V.A)(this,F),(R=De(this,F,[Xl.MULTITAIL_ARROW_UPSERT])).multitailArrow=U,R.data={id:Q,arrowId:B},R}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=U.molecule;void 0===this.data.id&&(this.data.id=F.multitailArrows.newId());var Q=this.data.id,B=this.multitailArrow.clone();B.arrowId=this.data.arrowId,F.setMultitailArrow(Q,B),this.data.arrowId=B.arrowId,U.multitailArrows.set(Q,new HS(B)),sl.invalidateItem(U,RU,Q,1)}},{key:"invert",value:function(){return new he(this.data.id)}}]),F}(sl),he=function(U){function F(U){var Q;return(0,V.A)(this,F),(Q=De(this,F,[Xl.MULTITAIL_ARROW_DELETE])).data={id:U},Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=U.multitailArrows.get(this.data.id);F&&(this.multitailArrow=F.multitailArrow.clone(),this.data.arrowId=F.multitailArrow.arrowId,U.clearVisel(F.visel),U.markItemRemoved(),U.multitailArrows.delete(this.data.id),U.molecule.multitailArrows.delete(this.data.id))}},{key:"invert",value:function(){return new pe(this.multitailArrow,this.data.id,this.data.arrowId)}}]),F}(sl);function ce(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(ce=function(){return!!U})()}var re=function(U){function F(U,Q,B){var R;return(0,V.A)(this,F),(R=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,ce()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.R_GROUP_ATTR])).data={rgid:U,attribute:Q,value:B},R.data2=null,R}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){if(this.data){var F=this.data,Q=F.rgid,B=F.attribute,R=F.value,V=U.molecule.rgroups.get(Q);if(!V)return;this.data2||(this.data2={rgid:Q,attribute:B,value:V[B]}),V[B]=R,sl.invalidateItem(U,"rgroups",Q)}}},{key:"invert",value:function(){var U=new F;return U.data=this.data2,U.data2=this.data,U}},{key:"isDummy",value:function(U){if(this.data){var F=this.data,Q=F.rgid,B=F.attribute,R=F.value;return U.molecule.rgroups.get(Q)[B]===R}return!1}}]),F}(sl);function me(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(me=function(){return!!U})()}var Me=function(U){function F(U,Q,B){var R;return(0,V.A)(this,F),(R=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,me()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.R_GROUP_FRAGMENT])).rgid_new=U,R.rg_new=B,R.rgid_old=null,R.rg_old=null,R.frid=Q,R}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=U.molecule;this.rgid_old=this.rgid_old||BB.findRGroupByFragment(F.rgroups,this.frid),this.rg_old=this.rgid_old?F.rgroups.get(this.rgid_old):null,this.removeOld(F,U),this.setNew(F,U)}},{key:"removeOld",value:function(U,F){this.rg_old&&(this.rg_old.frags.delete(this.frid),F.clearVisel(F.rgroups.get(this.rgid_old).visel),0===this.rg_old.frags.size?(F.rgroups.delete(this.rgid_old),U.rgroups.delete(this.rgid_old),F.markItemRemoved()):F.markItem("rgroups",this.rgid_old,1))}},{key:"setNew",value:function(U,F){if(this.rgid_new){var Q=U.rgroups.get(this.rgid_new);Q?F.markItem("rgroups",this.rgid_new,1):(Q=this.rg_new||new BB,U.rgroups.set(this.rgid_new,Q),F.rgroups.set(this.rgid_new,new dS(Q))),Q.frags.add(this.frid)}}},{key:"invert",value:function(){return new F(this.rgid_old,this.frid,this.rg_old)}}]),F}(sl);function ie(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(ie=function(){return!!U})()}var be={atomId:0,attachmentPointType:"primary",attachmentPointId:void 0},ve=function(U){function F(){var U,Q=arguments.length>0&&void 0!==arguments[0]?arguments[0]:be;return(0,V.A)(this,F),(U=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,ie()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.R_GROUP_ATTACHMENT_POINT_ADD,Gl.R_GROUP_ATTACHMENT_POINT_ADD])).data=Q,U}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=this.data,Q=F.atomId,B=F.attachmentPointType,R=new nB(Q,B),V=U.molecule,n=this.data.attachmentPointId,l=0;void 0===n?l=V.rgroupAttachmentPoints.add(R):(V.rgroupAttachmentPoints.set(n,R),l=n);this.data.attachmentPointId=l;var d=U.atoms.get(Q);S()(null!=d),U.rgroupAttachmentPoints.set(l,new MS(R,d))}},{key:"invert",value:function(){if(void 0===this.data.attachmentPointId)throw Error("Inverted attachmentPointId doesn't exist");var U=new F.InverseConstructor;return U.data=this.data,U}}]),F}(sl);function Ge(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function se(U){for(var F=1;F0&&void 0!==arguments[0]?arguments[0]:Ye.attachmentPointId;return(0,V.A)(this,F),(U=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,Xe()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.R_GROUP_ATTACHMENT_POINT_REMOVE,Gl.R_GROUP_ATTACHMENT_POINT_REMOVE])).data=se(se({},Ye),{},{attachmentPointId:Q}),U}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=this.data.attachmentPointId,Q=U.molecule,B=Q.rgroupAttachmentPoints.get(F),R=U.rgroupAttachmentPoints.get(F);S()(null!=B&&null!=R),this.data.atomId=B.atomId,this.data.attachmentPointType=B.type,U.markItemRemoved(),U.clearVisel(R.visel),U.rgroupAttachmentPoints.delete(F),Q.rgroupAttachmentPoints.delete(F)}},{key:"invert",value:function(){var U=new F.InverseConstructor;return U.data=this.data,U}}]),F}(sl);function ze(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(ze=function(){return!!U})()}ve.InverseConstructor=ye,ye.InverseConstructor=ve;var Oe=function(U){function F(U,Q,B){var R;return(0,V.A)(this,F),(R=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,ze()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.RXN_ARROW_MOVE])).data={id:U,d:Q,noinvalidate:B},R}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=U.molecule,Q=this.data.id,B=this.data.d;F.rxnArrows.get(Q).pos.forEach(function(U){return U.add_(B)}),U.rxnArrows.get(Q).visel.translate(fF.modelToCanvas(B,U.render.options)),this.data.d=B.negated(),this.data.noinvalidate||sl.invalidateItem(U,"rxnArrows",Q,1)}},{key:"invert",value:function(){var U=new F(this.data.id,this.data.d,this.data.noinvalidate);return U.data=this.data,U}}]),F}(sl);function Le(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(Le=function(){return!!U})()}var He=function(U){function F(U,Q,B,R){var n;return(0,V.A)(this,F),(n=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,Le()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.RXN_ARROW_ROTATE])).data={id:U,angle:Q,center:B,noinvalidate:R},n}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F,Q=this,B=vB.degrees(this.data.angle),R=this.data.id,V=U.molecule.rxnArrows.get(R);V&&(V.pos=V.pos.map(function(U){return U.rotateAroundOrigin(B,Q.data.center)}));var n=U.render.options,l=this.data.center.scaled(n.microModeScale).add(n.offset);null===(F=U.rxnArrows.get(R))||void 0===F||F.visel.rotate(B,l),this.data.noinvalidate||sl.invalidateItem(U,"rxnArrows",R,1)}},{key:"invert",value:function(){return new F(this.data.id,-this.data.angle,this.data.center,this.data.noinvalidate)}}]),F}(sl);function xe(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(xe=function(){return!!U})()}var ue=Math.PI/36,we=function(U){function F(U,Q,B,R,n,J){var N;return(0,V.A)(this,F),(N=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,xe()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.RXN_ARROW_RESIZE])).data={id:U,d:Q,current:B,anchor:R,noinvalidate:n},N.isSnappingEnabled=J,N}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=U.molecule,Q=this.data.id,B=this.data.d,V=this.data.current,n=F.rxnArrows.get(Q),l=U.rxnArrows.get(Q);S()(null!=n&&null!=l);var d=this.data.anchor;if(d){var J,N,Z,W=n.pos[0].get_xy0(),E=n.pos[1].get_xy0();if(dB.isElliptical(n)){var k=l.getReferencePoints();Z=(0,R.A)(k,3)[2]}if(bU(d.x)===bU(n.pos[1].x)&&bU(d.y)===bU(n.pos[1].y)){if(this.isSnappingEnabled){var t=je(V.sub(n.pos[0])),a=n.pos[0].add(t);V.x=a.x,V.y=a.y}n.pos[1].x=d.x=V.x,V.x=E.x,n.pos[1].y=d.y=V.y,V.y=E.y}if(bU(d.x)===bU(n.pos[0].x)&&bU(d.y)===bU(n.pos[0].y)){if(this.isSnappingEnabled){var T=je(V.sub(n.pos[1])),e=n.pos[1].add(T);V.x=e.x,V.y=e.y}n.pos[0].x=d.x=V.x,V.x=W.x,n.pos[0].y=d.y=V.y,V.y=W.y}if(bU(d.x)===bU(null===(J=Z)||void 0===J?void 0:J.x)&&bU(d.y)===bU(null===(N=Z)||void 0===N?void 0:N.y)){var C=l.getArrowParams(n.pos[0].x,n.pos[0].y,n.pos[1].x,n.pos[1].y).angle*Math.PI/180,D=Math.cos(C),o=Math.sin(C),p=V.x-d.x,h=(V.y-d.y)*D-p*o;void 0!==n.height&&(n.height-=h);var c=l.getReferencePoints(),r=(0,R.A)(c,3)[2];d.y=r.y,d.x=r.x}}else this.isSnappingEnabled&&(B=je(B)),n.pos[1].add_(B);l.visel.translate(fF.modelToCanvas(B,U.render.options)),this.data.d=B.negated(),this.data.noinvalidate||sl.invalidateItem(U,"rxnArrows",Q,1)}},{key:"invert",value:function(){return new F(this.data.id,this.data.d,this.data.current,this.data.anchor,this.data.noinvalidate,this.isSnappingEnabled)}}]),F}(sl);function je(U){var F=0,Q=Math.PI/2,B=[Math.PI,-Math.PI],R=-Math.PI/2,V=U.oxAngle(),n=U.length();return Math.abs(V-F)<=ue?new zF(n,0):Math.abs(V-Q)<=ue?new zF(0,n):Math.abs(V-B[0])<=ue||Math.abs(V-B[1])<=ue?new zF(-n,0):Math.abs(V-R)<=ue?new zF(0,-n):U}function Ie(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(Ie=function(){return!!U})()}var Ke=function(U){function F(U,Q,B){var R;return(0,V.A)(this,F),(R=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,Ie()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.RXN_PLUS_MOVE])).data={id:U,d:Q,noinvalidate:B},R}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=this.data,Q=F.id,B=F.d,R=F.noinvalidate;U.molecule.rxnPluses.get(Q).pp.add_(B);var V=U.rxnPluses.get(Q),n=fF.modelToCanvas(B,U.render.options);V.visel.translate(n),this.data.d=B.negated(),R||sl.invalidateItem(U,"rxnPluses",Q,1)}},{key:"invert",value:function(){var U=new F;return U.data=this.data,U}}]),F}(sl);function fe(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,ge()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}function ge(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(ge=function(){return!!U})()}var Pe=function(U){function F(U){var Q;return(0,V.A)(this,F),(Q=fe(this,F,[Xl.RXN_PLUS_ADD])).data={plid:null,pos:U},Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=U.molecule,Q=new ZB;"number"===typeof this.data.plid?F.rxnPluses.set(this.data.plid,Q):this.data.plid=F.rxnPluses.add(Q);var B=this.data,R=B.pos,V=B.plid,n=F.rxnPluses.get(V);n&&(U.rxnPluses.set(V,new tS(n)),F.rxnPlusSetPos(V,new zF(R)),sl.invalidateItem(U,"rxnPluses",V,1))}},{key:"invert",value:function(){var U=new Ae;return U.data=this.data,U}}]),F}(sl),Ae=function(U){function F(U){var Q;return(0,V.A)(this,F),(Q=fe(this,F,[Xl.RXN_PLUS_DELETE])).data={plid:U,pos:null},Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=this.data.plid,Q=U.molecule;this.data.pos||(this.data.pos=Q.rxnPluses.get(F).pp),U.markItemRemoved();var B=U.rxnPluses.get(F);B&&(U.clearVisel(B.visel),U.rxnPluses.delete(F),Q.rxnPluses.delete(F))}},{key:"invert",value:function(){var U=new Pe;return U.data=this.data,U}}]),F}(sl);function qe(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,_e()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}function _e(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(_e=function(){return!!U})()}var $e=function(U){function F(){var U,Q=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],B=arguments.length>1&&void 0!==arguments[1]?arguments[1]:VB.OpenAngle,R=arguments.length>2?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0,l=arguments.length>4?arguments[4]:void 0;return(0,V.A)(this,F),(U=qe(this,F,[Xl.RXN_ARROW_ADD])).data={pos:Q,mode:B,id:R,height:n,arrowId:l},U}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=U.molecule,Q=new dB({mode:this.data.mode,height:this.data.height,arrowId:this.data.arrowId});if(null==this.data.id){var R=F.addRxnArrow(Q);this.data.id=R,this.data.arrowId=Q.arrowId}else F.setRxnArrow(this.data.id,Q);var V=this.data.id;U.rxnArrows.set(V,new ES(Q));var n=(0,B.A)(this.data.pos);F.rxnArrowSetPos(V,n.map(function(U){return new zF(U)})),sl.invalidateItem(U,"rxnArrows",V,1)}},{key:"invert",value:function(){return new UC(this.data.id)}}]),F}(sl),UC=function(U){function F(U){var Q;return(0,V.A)(this,F),(Q=qe(this,F,[Xl.RXN_ARROW_DELETE])).data={id:U,pos:[],mode:VB.OpenAngle},Q.performed=!1,Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){GU.log("RxnArrowDelete.execute(), start",this.data);var F=U.molecule,Q=F.rxnArrows.get(this.data.id);if(!Q)throw new Error("rxnArrow not found with id: ".concat(this.data.id));this.data.pos=Q.pos,this.data.mode=Q.mode,this.data.height=Q.height,this.data.arrowId=Q.arrowId,this.performed=!0,U.markItemRemoved();var B=U.rxnArrows.get(this.data.id);if(!B)throw new Error("reRxnArrow not found with id: ".concat(this.data.id));U.clearVisel(B.visel),U.rxnArrows.delete(this.data.id),F.rxnArrows.delete(this.data.id),GU.log("RxnArrowDelete.execute(), end")}},{key:"invert",value:function(){return new $e(this.data.pos,this.data.mode,this.data.id,this.data.height,this.data.arrowId)}}]),F}(sl);function FC(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,QC()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}function QC(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(QC=function(){return!!U})()}var BC=function(U){function F(){var U,Q=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],B=arguments.length>1&&void 0!==arguments[1]?arguments[1]:NB.line,R=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;return(0,V.A)(this,F),(U=FC(this,F,[Xl.SIMPLE_OBJECT_ADD])).data={pos:Q,mode:B,toCircle:R,id:n},U}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=U.molecule,Q=new kB({mode:this.data.mode});if(null==this.data.id){var R=F.simpleObjects.add(Q);this.data.id=R}else F.simpleObjects.set(this.data.id,Q);var V=this.data.id;U.simpleObjects.set(V,new CS(Q));var n=(0,B.A)(this.data.pos);this.data.toCircle&&(n[1]=dC(n[0],n[1])),F.simpleObjectSetPos(V,n.map(function(U){return new zF(U)})),sl.invalidateItem(U,"simpleObjects",V,1)}},{key:"invert",value:function(){return new RC(this.data.id)}}]),F}(sl),RC=function(U){function F(U){var Q;return(0,V.A)(this,F),(Q=FC(this,F,[Xl.SIMPLE_OBJECT_DELETE])).data={id:U,pos:[],mode:NB.line,toCircle:!1},Q.performed=!1,Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=U.molecule,Q=F.simpleObjects.get(this.data.id);this.data.pos=Q.pos,this.data.mode=Q.mode,this.data.toCircle=Q.toCircle,this.performed=!0,U.markItemRemoved(),U.clearVisel(U.simpleObjects.get(this.data.id).visel),U.simpleObjects.delete(this.data.id),F.simpleObjects.delete(this.data.id)}},{key:"invert",value:function(){return new BC(this.data.pos,this.data.mode,this.data.toCircle,this.data.id)}}]),F}(sl),VC=function(U){function F(U,Q,B){var R;return(0,V.A)(this,F),(R=FC(this,F,[Xl.SIMPLE_OBJECT_MOVE])).data={id:U,d:Q,noinvalidate:B},R}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=U.molecule,Q=this.data.id,B=this.data.d;F.simpleObjects.get(Q).pos.forEach(function(U){return U.add_(B)}),U.simpleObjects.get(Q).visel.translate(fF.modelToCanvas(B,U.render.options)),this.data.d=B.negated(),this.data.noinvalidate||sl.invalidateItem(U,"simpleObjects",Q,1)}},{key:"invert",value:function(){var U=new F(this.data.id,this.data.d,this.data.noinvalidate);return U.data=this.data,U}}]),F}(sl);function nC(U,F,Q){var B=U.pos[0].get_xy0(),R=U.pos[1].get_xy0();bU(F.x)===bU(U.pos[1].x)&&(U.pos[1].x=F.x=Q.x,Q.x=R.x),bU(F.y)===bU(U.pos[1].y)&&(U.pos[1].y=F.y=Q.y,Q.y=R.y),bU(F.x)===bU(U.pos[0].x)&&(U.pos[0].x=F.x=Q.x,Q.x=B.x),bU(F.y)===bU(U.pos[0].y)&&(U.pos[0].y=F.y=Q.y,Q.y=B.y)}var lC=function(U){function F(U,Q,B,R,n,l){var d;return(0,V.A)(this,F),(d=FC(this,F,[Xl.SIMPLE_OBJECT_RESIZE])).data={id:U,d:Q,current:B,anchor:R,noinvalidate:n,toCircle:l},d}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=U.molecule,Q=this.data.id,B=this.data.d,R=this.data.current,V=F.simpleObjects.get(Q),n=this.data.anchor;if(V.mode===NB.ellipse)if(n)nC(V,n,R);else if(this.data.toCircle){var l=V.pos[1].get_xy0(),d=dC(V.pos[0],R);V.pos[1].x=d.x,V.pos[1].y=d.y,this.data.current=l}else{var J=V.pos[1].get_xy0();V.pos[1].x=R.x,V.pos[1].y=R.y,this.data.current=J}else if(V.mode===NB.line&&n){var N=V.pos[0].get_xy0(),Z=V.pos[1].get_xy0();bU(n.x)===bU(V.pos[1].x)&&bU(n.y)===bU(V.pos[1].y)&&(V.pos[1].x=n.x=R.x,R.x=Z.x,V.pos[1].y=n.y=R.y,R.y=Z.y),bU(n.x)===bU(V.pos[0].x)&&bU(n.y)===bU(V.pos[0].y)&&(V.pos[0].x=n.x=R.x,R.x=N.x,V.pos[0].y=n.y=R.y,R.y=N.y)}else V.mode===NB.rectangle&&n?nC(V,n,R):V.pos[1].add_(B);U.simpleObjects.get(Q).visel.translate(fF.modelToCanvas(B,U.render.options)),this.data.d=B.negated(),this.data.noinvalidate||sl.invalidateItem(U,"simpleObjects",Q,1)}},{key:"invert",value:function(){return new F(this.data.id,this.data.d,this.data.current,this.data.anchor,this.data.noinvalidate,this.data.toCircle)}}]),F}(sl);function dC(U,F){var Q=zF.diff(F,U),B=Math.abs(Q.x)0?1:-1)*Math.abs(B),U.y+(Q.y>0?1:-1)*Math.abs(B),0)}function JC(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,NC()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}function NC(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(NC=function(){return!!U})()}var ZC=function(U){function F(U,Q){var B;return(0,V.A)(this,F),(B=JC(this,F,[Xl.S_GROUP_ATOM_ADD,Gl.S_GROUP_ATOM_ADD])).data={sgid:U,aid:Q},B}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=this.data,Q=F.aid,B=F.sgid,R=U.molecule,V=R.atoms.get(Q);if(!(R.sgroups.get(B).atoms.indexOf(Q)>=0)){if(!V)throw new Error("OpSGroupAtomAdd: Atom "+Q+" not found");R.atomAddToSGroup(B,Q),sl.invalidateAtom(U,Q)}}},{key:"invert",value:function(){var U=new WC;return U.data=this.data,U}}]),F}(sl),WC=function(U){function F(U,Q){var B;return(0,V.A)(this,F),(B=JC(this,F,[Xl.S_GROUP_ATOM_REMOVE,4])).data={sgid:U,aid:Q},B}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=this.data,Q=F.aid,B=F.sgid,R=U.molecule,V=R.atoms.get(Q),n=R.sgroups.get(B);V&&n&&(MQ.removeAtom(n,Q),V.sgs.delete(B),sl.invalidateAtom(U,Q))}},{key:"invert",value:function(){var U=new ZC;return U.data=this.data,U}}]),F}(sl);function SC(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function EC(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(EC=function(){return!!U})()}var kC=function(U){function F(U,Q,B){var R;return(0,V.A)(this,F),(R=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,EC()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[Xl.S_GROUP_ATTR,Gl.S_GROUP_ATTR])).data={sgid:U,attr:Q,value:B},R}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=U.molecule,Q=this.data.sgid,B=F.sgroups.get(Q);if(B){var R=U.sgroupData.get(Q);"DAT"===B.type&&R&&(U.clearVisel(R.visel),U.sgroupData.delete(Q)),"expanded"===this.data.attr&&B instanceof DB&&(Object.isFrozen(B.monomer.monomerItem)&&(B.monomer.monomerItem=function(U){for(var F=1;F=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function xC(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q0&&void 0!==arguments[0]?arguments[0]:[];(0,V.A)(this,U),this.operations=F}return(0,n.A)(U,[{key:"addOp",value:function(U,F){return F&&U.isDummy(F)||this.operations.push(U),U}},{key:"mergeWith",value:function(U){return this.operations=this.operations.concat(U.operations),this}},{key:"perform",value:function(F){var Q=new U;return(0,B.A)(this.operations).sort(function(U,F){return U.priority-F.priority}).forEach(function(U){var B=U.perform(F);Q.addOp(B)}),Q}},{key:"isDummy",value:function(U){return void 0===this.operations.find(function(F){return!U||!F.isDummy(U)})}}]),U}();function RD(U,F,Q,B,R){var V=R(U,F,Q);return Promise.resolve(V)}var VD={atom:function(U,F,Q,B){var R=null,V=Q&&"atoms"===Q.map?Q.id:null;return B=B||.4,B=Math.min(B,.4),U.visibleAtoms.forEach(function(U,Q){if(Q!==V){var n=zF.dist(F,U.a.pp);n0&&U.sgroups.forEach(function(U){Q+=U.atoms.length}),F&&U.atoms.size!==Q?F.filter(function(F){var Q=U.atoms.get(F);return null!==(null===Q||void 0===Q?void 0:Q.stereoLabel)||uQ.getConnectedBondIds(U,F).some(function(Q){var B=U.bonds.get(Q);return(null===B||void 0===B?void 0:B.begin)===F&&(null===B||void 0===B?void 0:B.stereo)})}):[]}function ZD(U){return DQ.reduce(function(F,Q){return F[Q]=Array.from(U[Q].keys()),F},{})}function WD(U){var F={};return DQ.forEach(function(Q){if(null!==U&&void 0!==U&&U[Q]){var B=[];U[Q].forEach(function(U,F){"function"===typeof U.getInitiallySelected&&U.getInitiallySelected()&&B.push(F)}),B.length>0&&(F[Q]=B)}}),F}function SD(U){return DQ.reduce(function(F,Q){return F[Q]=U[Q]||[],F},{})}function ED(U,F,Q){var B,R,V=[],n=JD(U,F),l=U.molecule.atomGetNeighbors(F),d=U.molecule.findBondId(F,l.length?null===(B=l[0])||void 0===B?void 0:B.aid:void 0),J=U.molecule.bonds.get(d),N=1;J?N=J.type:Q&&(N=Q.type),U.molecule.atomGetNeighbors(F).forEach(function(F){var Q=JD(U,F.aid);zF.dist(n,Q)<.1||V.push({id:F.aid,v:zF.diff(Q,n)})}),V.sort(function(U,F){return Math.atan2(U.v.y,U.v.x)-Math.atan2(F.v.y,F.v.x)});var Z,W=0,S=0;for(R=0;RS&&(W=R,S=Z);var E=new zF(1,0);if(V.length>0){if(1===V.length){S=-4*Math.PI/3;var k=U.molecule.atomGetNeighbors(F)[0];if(lD(U,k.aid)>1){var t=[],a=JD(U,k.aid),T=zF.diff(n,a),e=Math.atan2(T.y,T.x);U.molecule.atomGetNeighbors(k.aid).forEach(function(F){var Q=JD(U,F.aid);if(!(F.bid===k.bid||zF.dist(a,Q)<.1)){var B=zF.diff(Q,a),R=Math.atan2(B.y,B.x)-e;R<0&&(R+=2*Math.PI),t.push(R)}}),t.sort(function(U,F){return U-F}),t[0]<=1.01*Math.PI&&t[t.length-1]<=1.01*Math.PI&&(S*=-1)}}if(1===V.length&&N===(null===Q||void 0===Q?void 0:Q.type)&&((null===Q||void 0===Q?void 0:Q.type)===fQ.PATTERN.TYPE.DOUBLE||(null===Q||void 0===Q?void 0:Q.type)===fQ.PATTERN.TYPE.TRIPLE)||N===fQ.PATTERN.TYPE.SINGLE&&(null===Q||void 0===Q?void 0:Q.type)===fQ.PATTERN.TYPE.TRIPLE||N===fQ.PATTERN.TYPE.TRIPLE&&(null===Q||void 0===Q?void 0:Q.type)===fQ.PATTERN.TYPE.SINGLE){var C=U.molecule.bonds.get(d).angle;Z=C>-90&&C<90&&V[0].v.x>0?C*Math.PI/180+Math.PI:C*Math.PI/180}else Z=S/2+Math.atan2(V[W].v.y,V[W].v.x);E=E.rotate(Z)}E.add_(n);var D=VD.atom(U,E,null,.1);return{atom:D=null===D?{label:"C"}:D.id,pos:E}}function kD(U,F){var Q=new Set;return F.forEach(function(F){var B;null===(B=U.atoms.get(F))||void 0===B||B.sgs.forEach(function(F){var B=U.sgroups.get(F);!B||B.data.attached||B.data.absolute||Q.add(B)})}),Q}function tD(U,F){var Q=U.begin,B=U.end;if(!F.atoms)return!1;var R=F.atoms.includes(Q)&&!F.atoms.includes(B),V=F.atoms.includes(B)&&!F.atoms.includes(Q);return R||V}function aD(U,F,Q){var B=new BD;return Object.keys(Q).forEach(function(U){B.addOp(new re(F,U,Q[U]))}),B.perform(U)}function TD(U,F,Q){var B=new BD;return B.addOp(new Me(F,Q)),B.perform(U)}function eD(U,F,Q){var B=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],R=new BD;return U.molecule.rgroups.get(Q)||R.addOp(new XT(F,Q,B)),R.perform(U)}function CD(U,F,Q,B){var R=new BD,V=U.molecule.atoms.get(F),n=U.molecule.getGroupFromAtomId(F);if(V&&!(n instanceof DB)){var l=V.fragment;"stereoParity"in Q&&R.addOp(new ZT(F,"stereoParity",Q.stereoParity).perform(U)),"stereoLabel"in Q&&(R.addOp(new ZT(F,"stereoLabel",Q.stereoLabel).perform(U)),null===Q.stereoLabel?R.addOp(new KT(l,F).perform(U)):R.addOp(new jT(l,F).perform(U))),B&&R.operations.reverse()}return R}function DD(U,F,Q){var B,R,V=new BD,n=U.molecule,l=null===(B=n.atoms.get(null===F||void 0===F?void 0:F.begin))||void 0===B?void 0:B.fragment,d=null===(R=n.atoms.get(null===F||void 0===F?void 0:F.end))||void 0===R?void 0:R.fragment,J=[];return n.bonds.forEach(function(U){var F,Q;(null===(F=n.atoms.get(U.begin))||void 0===F?void 0:F.fragment)===l&&J.push(U),l!==d&&(null===(Q=n.atoms.get(U.begin))||void 0===Q?void 0:Q.fragment)===d&&J.push(U)}),pB(n,J,F).forEach(function(F,B){var R;(null===(R=n.atoms.get(B))||void 0===R?void 0:R.stereoLabel)!==F.stereoLabel&&V.mergeWith(CD(U,B,F,Q))}),V}function oD(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function pD(U,F,Q){Q=function(U){for(var F=1;F=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function bD(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q0;){var n,l=R.shift();if(!e.has(l)){e.add(l);var J=null===(n=U.atoms.get(l))||void 0===n?void 0:n.a.sgs;if(J&&J.size>0){var N,Z=iD(J.values());try{for(Z.s();!(N=Z.n()).done;){var W,S=N.value;if(!C.has(S)&&S!==F)if(C.add(S),V.sgroups.get(S)){var E=null!==(W=o.get(B))&&void 0!==W?W:[];o.set(B,E.concat(S))}}}catch(M){Z.e(M)}finally{Z.f()}}var k=V.atoms.get(l);if(k){var t,a=null!==(t=D.get(B))&&void 0!==t?t:[];D.set(B,a.concat(l)),k.neighbors.forEach(function(U){var F,Q=null===V||void 0===V||null===(F=V.halfBonds)||void 0===F||null===(F=F.get(U))||void 0===F?void 0:F.end;void 0===Q||d.has(Q)||R.push(Q)})}}}});var p=new Set;o.forEach(function(U){U.forEach(function(U){var F=V.sgroups.get(U);if(F){var Q=F.isContracted()?F.getContractedPosition(V).position:null===F||void 0===F?void 0:F.pp;if(T&&Q){if(Q.yT.y-.5)p.add(U);else{var R=Q.yT.y-2,n=new Set(MQ.getAtoms(V,F)),l=V.bonds.filter(function(U,F){return n.has(F.begin)&&!n.has(F.end)||n.has(F.end)&&!n.has(F.begin)}),d=1===l.size&&(0,B.A)(p.values()).some(function(U){var F=V.sgroups.get(U);if(!F)return!1;var Q=new Set(MQ.getAtoms(V,F)),R=(0,B.A)(l.values())[0];return Q.has(R.begin)||Q.has(R.end)});R&&d&&p.add(U)}}}})});var h=(0,B.A)(p.values()).reduce(function(F,Q){var B=U.molecule.sgroups.get(Q);if(!B)return F;if(B.isContracted())return F;var R=MQ.getAtoms(V,B),n=MQ.getObjBBox(R,U.molecule),l=n.p1.y-n.p0.y;return Math.max(F,l)},0),c=h>a?0:(a-h)/2,r=t/2,m=new Set;return o.forEach(function(F){F.forEach(function(F){var B=U.molecule.sgroups.get(F);if(B){var n=B.isContracted()?B.getContractedPosition(U.molecule).position:null===B||void 0===B?void 0:B.pp;if(T&&n){var l=n.y>T.y,d=n.yT.x,N=n.x2&&void 0!==arguments[2])||arguments[2],n=new BD,l=U.molecule,d=null===(Q=U.sgroups.get(F))||void 0===Q?void 0:Q.item,J=MQ.getAtoms(l,d),N=new Set(J),Z=[];J.forEach(function(U){var F;(null!==(F=l.atomGetNeighbors(U))&&void 0!==F?F:[]).forEach(function(F){var Q=F.aid;N.has(Q)||Z.push([U,Q])})}),"SRU"===(null===d||void 0===d?void 0:d.type)&&(l.sGroupsRecalcCrossBonds(),d.neiAtoms.forEach(function(F){"*"===nD(U,F,"label")&&n.addOp(new ZT(F,"label","C"))}));var W=null===d||void 0===d?void 0:d.getAttrs(),S=null===d||void 0===d?void 0:d.getAttachmentPoints().map(function(U){return{atomId:U.atomId,leaveAtomId:U.leaveAtomId,attachmentPointNumber:U.attachmentPointNumber}});if(n.addOp(new DC(F)),J.some(function(U){var F=l.atoms.get(U);return F&&F.fragment<0})&&(B=l.frags.newId(),n.addOp(new OT(B))),J.forEach(function(U){n.addOp(new WC(F,U));var Q=l.atoms.get(U);Q&&Q.fragment<0&&n.addOp(new ZT(U,"fragment",B))}),null===d||void 0===d||d.getAttachmentPoints().forEach(function(U){n.addOp(new cC(F,U))}),n.addOp(new vC(F)),d instanceof DB){var E,k,t=d.isExpanded(),a=null!==(E=null===(k=d.monomer)||void 0===k||null===(k=k.monomerItem)||void 0===k||null===(k=k.props)||void 0===k?void 0:k.MonomerCaps)&&void 0!==E?E:{};null===S||void 0===S||S.forEach(function(U){var F=U.leaveAtomId,Q=U.atomId;if((0,o.isNumber)(F)&&(0,o.isNumber)(Q)){var B=U.attachmentPointNumber;if(Array.from(l.bonds.values()).some(function(U){var R=U.begin,V=U.end,n=U.beginSuperatomAttachmentPointNumber,l=U.endSuperatomAttachmentPointNumber;if(!(R===Q||V===Q))return!1;var d=R===Q?V:R;if(d===F)return!1;if(!J.includes(d)){var N=R===Q?n:l;return!(0,o.isNumber)(N)||!(0,o.isNumber)(B)||N===B}return!1}))l.bonds.forEach(function(U,Q){var B=U.begin,R=U.end;B!==F&&R!==F||n.addOp(new TT(Q))}),n.addOp(new JT(F));else if(t)n.addOp(new ZT(F,"rglabel",null));else{var R,V="R".concat(null!==(R=U.attachmentPointNumber)&&void 0!==R?R:0),d=(null===a||void 0===a?void 0:a[V])||"H";n.addOp(new ZT(F,"label",d)),n.addOp(new ZT(F,"rglabel",null))}}})}return n.mergeWith(LD(F,W)),V&&(n=n.perform(U),Z.forEach(function(F){var Q=(0,R.A)(F,2),B=Q[0],V=Q[1];rD(n,U,B,V)})),n}function xD(U,F,Q,B,R,V,n,l,d,J,N){var Z=new BD;if(R=(0,o.isNumber)(R)?R:U.molecule.sgroups.newId(),"SUP"===F?Z.addOp(new bC(R,F,n,l,d,J,N)):Z.addOp(new bC(R,F,n)),Q.forEach(function(U){Z.addOp(new ZC(R,U))}),"SUP"===F&&V.forEach(function(U){Z.addOp(new hC(R,U))}),Z.addOp("DAT"!==F?new CC(R):new CC(R,-1,[])),Z=Z.perform(U),"SRU"===F){U.molecule.sGroupsRecalcCrossBonds();var W=new BD;U.sgroups.get(R).item.neiAtoms.forEach(function(F){var Q=U.atoms.get(F).a.isPlainCarbon();1===lD(U,F)&&Q&&W.addOp(new ZT(F,"label","*"))}),(W=W.perform(U)).mergeWith(Z),Z=W}return YD(U,R,B).mergeWith(Z)}function uD(U,F,Q,B,R){if(U===CQ.Bond)return function(U,F,Q,B){var R=U.molecule,V=KD(R,Q);B.bonds&&(V=(0,z.uniq)(V.concat(B.bonds)));return V.reduce(function(Q,B){var V=R.bonds.get(B);return Q.action=Q.action.mergeWith(XD(U,F.type,[V.begin,V.end],F.attrs)),Q.selection.bonds.push(B),Q},{action:new BD,selection:{atoms:Q,bonds:[]}})}(F,Q,B,R);var V,n=(V=F.molecule,(R.bonds||[]).reduce(function(U,F){var Q=V.bonds.get(F);return U=U.concat([Q.begin,Q.end])},[])),l=(0,z.uniq)(B.concat(n));return U===CQ.Fragment?wD(F,Q,l,Array.from(F.atoms.keys())):U===CQ.Multifragment?function(U,F,Q){var B=KD(U.molecule,Q);return{action:XD(U,F.type,Q,F.attrs),selection:{atoms:Q,bonds:B}}}(F,Q,l):U===CQ.Group?wD(F,Q,l,l):U===CQ.Atom?function(U,F,Q){return Q.reduce(function(Q,B){return Q.action=Q.action.mergeWith(XD(U,F.type,[B],F.attrs)),Q},{action:new BD,selection:{atoms:Q,bonds:[]}})}(F,Q,l):MQ.isQuerySGroup(Q)?function(U,F,Q,B){var R={atoms:[],bonds:[]},V=new xF(Q.map(function(F){var Q;return null===(Q=U.atoms.get(F))||void 0===Q?void 0:Q.a.fragment}));return Array.from(V).forEach(function(F){var Q=B.reduce(function(Q,B){var R,V=null===(R=U.atoms.get(B))||void 0===R?void 0:R.a;return F===(null===V||void 0===V?void 0:V.fragment)&&Q.push(B),Q},[]),V=KD(U.molecule,Q);R.atoms=R.atoms.concat(Q),R.bonds=R.bonds.concat(V)}),{action:XD(U,F.type,R.atoms,F.attrs),selection:R}}(F,Q,l,Array.from(F.atoms.keys())):{action:XD(F,Q.type,l,Q.attrs)}}function wD(U,F,Q,B){var R=new xF(Q.map(function(F){return U.atoms.get(F).a.fragment}));return Array.from(R).reduce(function(Q,R){var V=B.reduce(function(F,Q){var B=U.atoms.get(Q).a;return R===B.fragment&&F.push(Q),F},[]),n=KD(U.molecule,V);return Q.action=Q.action.mergeWith(XD(U,F.type,V,F.attrs)),Q.selection.atoms=Q.selection.atoms.concat(V),Q.selection.bonds=Q.selection.bonds.concat(n),Q},{action:new BD,selection:{atoms:[],bonds:[]}})}function jD(U,F,Q){var B=dD(F,Q);return B.length>0&&(B.forEach(function(F){U.addOp(new WC(F,Q))}),!0)}function ID(U,F,Q){var B=F.molecule,R=new Map;Q.forEach(function(U){dD(F,U).forEach(function(U){R.set(U,R.has(U)?R.get(U)+1:1)})}),R.forEach(function(Q,R){var V,n=null===(V=F.sgroups.get(R))||void 0===V?void 0:V.item;if(MQ.getAtoms(F.molecule,n).length===Q&&(null===n||void 0===n||!n.isSuperatomWithoutLabel)){var l=B.sgroups.get(R);U.mergeWith(LD(R,l.getAttrs())),U.addOp(new DC(R)),l.getAttachmentPoints().forEach(function(F){U.addOp(new cC(R,F))}),U.addOp(new vC(R))}null!==n&&void 0!==n&&n.isSuperatomWithoutLabel&&0===n.getAttachmentPoints().length&&U.mergeWith(HD(F,R,!1))})}function KD(U,F){var Q=new xF(F);return Array.from(U.bonds.keys()).filter(function(F){var B=U.bonds.get(F);return Q.has(B.begin)&&Q.has(B.end)})}function fD(U,F,Q){var B=new BD;return B.addOp(new hC(F,Q)),B=B.perform(U)}function gD(U,F,Q,B){var R=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],V=new BD,n=U.molecule.sgroups.get(F),l=null===n||void 0===n?void 0:n.getAttachmentPoints().filter(function(U){return U.atomId===Q});return null===l||void 0===l||l.forEach(function(U){!n||(0,o.isNumber)(U.leaveAtomId)&&U.leaveAtomId!==B||V.addOp(new cC(F,U))}),R&&(V=V.perform(U)),V}function PD(U,F){var Q="undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(!Q){if(Array.isArray(U)||(Q=function(U,F){if(U){if("string"==typeof U)return AD(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?AD(U,F):void 0}}(U))||F&&U&&"number"==typeof U.length){Q&&(U=Q);var B=0,R=function(){};return{s:R,n:function(){return B>=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function AD(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q0&&U.sgroups.forEach(function(U){var F,Q;null!==(F=U.item)&&void 0!==F&&F.type&&"SUP"===(null===(Q=U.item)||void 0===Q?void 0:Q.type)&&function(U,F,Q){var B;null===(B=U.item)||void 0===B||B.atoms.forEach(function(B){var R;F!==B&&Q!==B||(U.item.getAttachmentPoints().map(function(U){return U.atomId}).includes(B)||null===(R=U.item)||void 0===R||R.addAttachmentPoint(new DV(B,void 0,void 0)))})}(U,d,J)});else{var T=function(F,Q){var B=N.addOp((new OT).perform(U)).frid;return[N.addOp(new lT(Fo(Fo({},F),{},{fragment:B}),V).perform(U)).data.aid,N.addOp(new lT(Fo(Fo({},Q),{},{fragment:B}),n).perform(U)).data.aid]}(Q,B),e=(0,R.A)(T,2);d=e[0],J=e[1]}var C=N.addOp(new tT(d,J,F).perform(U)).data.bid,D=Z.bonds.get(C);D&&(N.addOp(new AT([D.begin,D.end]).perform(U)),N.mergeWith(DD(U,D))),N.operations.reverse();var o=rD(N,U,d,J);return null!==(l=Z.frags.get(o||0))&&void 0!==l&&l.stereoAtoms&&!F.stereo&&N.addOp(new gT(o||0).perform(U)),[N,d,J,C]}function Bo(U,F,Q,B){var R=U.molecule,V=new BD;return(Array.isArray(F)?F:[F]).forEach(function(F){Object.keys(fQ.attrlist).forEach(function(n){if(n in Q||B){var l=n in Q?Q[n]:fQ.attrGetDefault(n);if(V.addOp(new CT(F,n,l).perform(U)),"stereo"===n&&n in Q){var d=R.bonds.get(F);d&&(V.addOp(new AT([d.begin,d.end]).perform(U)),V.mergeWith(DD(U,d)))}}})}),V}function Ro(U,F){var Q=U.molecule,B=new Map,R=new BD;return F.forEach(function(U,F){var R=Q.bonds.get(F),V=Q.bonds.get(U);if(R&&V){var n=vB.mergeBondsParams(Q,R,Q,V);n.merged&&(B.set(R.begin,n.cross?V.end:V.begin),B.set(R.end,n.cross?V.begin:V.end))}}),B.forEach(function(F,Q){R=qD(U,Q,F).mergeWith(R)}),R}function Vo(U,F){var Q=U.molecule.bonds.get(F),B=U.molecule,R=new BD;if(R.addOp(new TT(F).perform(U)),Number.isInteger(null===Q||void 0===Q?void 0:Q.end)&&Number.isInteger(null===Q||void 0===Q?void 0:Q.begin)){var V=new tT(null===Q||void 0===Q?void 0:Q.end,null===Q||void 0===Q?void 0:Q.begin,Q);if(R.addOp(V.perform(U)),null!==Q&&void 0!==Q&&Q.stereo&&Q.stereo!==fQ.PATTERN.STEREO.NONE){var n=Q.begin,l=Q.end,d=B.atoms.get(n),J=null===d||void 0===d?void 0:d.fragment;if(void 0!==J){var N,Z=B.frags.get(J);if(null!==(N=null===Z||void 0===Z?void 0:Z.stereoAtoms.includes(n))&&void 0!==N&&N){var W,S,E=null!==(W=null===d||void 0===d?void 0:d.stereoLabel)&&void 0!==W?W:null,k=null!==(S=null===d||void 0===d?void 0:d.stereoParity)&&void 0!==S?S:0;R.addOp(new ZT(n,"stereoLabel",null).perform(U)),R.addOp(new ZT(n,"stereoParity",0).perform(U)),R.addOp(new KT(J,n).perform(U)),R.addOp(new ZT(l,"stereoLabel",E).perform(U)),R.addOp(new ZT(l,"stereoParity",k).perform(U)),R.addOp(new jT(J,l).perform(U))}else{var t=B.bonds.get(V.data.bid);t&&R.mergeWith(DD(U,t))}}}}return R}var no=[fQ.PATTERN.TYPE.SINGLE,fQ.PATTERN.TYPE.DOUBLE,fQ.PATTERN.TYPE.TRIPLE];function lo(U,F,Q,B){var R=new BD,V=F;(B.stereo!==fQ.PATTERN.STEREO.NONE&&B.type===fQ.PATTERN.TYPE.SINGLE||Q.type===fQ.PATTERN.TYPE.DATIVE)&&Q.type===B.type&&Q.stereo===B.stereo&&(R.mergeWith(Vo(U,F)),V=R.operations[1].data.bid);var n=void 0!==B.type&&no.includes(B.type)?no:null;return B.stereo===fQ.PATTERN.STEREO.NONE&&B.type===fQ.PATTERN.TYPE.SINGLE&&Q.stereo===fQ.PATTERN.STEREO.NONE&&n&&(B.type=n[(n.indexOf(Q.type)+1)%n.length]),Bo(U,V,B).mergeWith(R)}function Jo(U,F,Q,B,R){var V;null===(V=U.item)||void 0===V||V.atoms.forEach(function(V){if(F===V||Q===V){var n,l=F===V?Q:F;B.mergeWith(function(U,F,Q,B){var R=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],V=new BD,n=U.molecule.sgroups.get(F),l=null===n||void 0===n?void 0:n.getAttachmentPoints().filter(function(U){return U.atomId===Q});return null===l||void 0===l||l.forEach(function(U){!n||(0,o.isNumber)(U.leaveAtomId)&&U.leaveAtomId!==B||V.addOp(new cC(F,U))}),R&&(V=V.perform(U)),V}(R,null===(n=U.item)||void 0===n?void 0:n.id,V,l,!1))}})}var No=function(U){U.atoms.forEach(function(U){U.showInfoLabel=!1})};function Zo(U,F,Q,B,R){var V=Math.cos(Math.PI/6),n=Math.sin(Math.PI/6),l=new BD,d=null!==R?nD(U,R,"fragment"):l.addOp((new OT).perform(U)).frid,J={atoms:[],bonds:[]},N=R?-1:0,Z=null!==R?R:l.addOp(new lT({label:"C",fragment:d},F).perform(U)).data.aid;J.atoms.push(Z),l.operations.reverse();for(var W=0;W=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function So(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q=0&&V.add(Q)});d.has(U.b.begin)?n.add(U.b.begin):d.has(U.b.end)&&n.add(U.b.end)}),J.forEach(function(U){B.addOp(new oT(U,Q))}),V.forEach(function(F){var R=U.reloops.get(F);null!==R&&void 0!==R&&R.visel&&B.addOp(new _T(F,Q))}),F.atoms.forEach(function(U){B.addOp(new ST(U,Q,!n.has(U)))}),N.forEach(function(U){null===U||void 0===U||U.atoms.forEach(function(U){d.has(U)||B.addOp(new ST(U,Q,!0))})}),0===(null===(l=F.sgroupData)||void 0===l?void 0:l.length)&&N.forEach(function(U){B.addOp(new aC(U.id,Q))})}return F.rxnArrows&&F.rxnArrows.forEach(function(U){B.addOp(new Oe(U,Q,!0))}),F.rxnPluses&&F.rxnPluses.forEach(function(U){B.addOp(new Ke(U,Q,!0))}),F.simpleObjects&&F.simpleObjects.forEach(function(U){B.addOp(new VC(U,Q,!0))}),F.sgroupData&&F.sgroupData.forEach(function(U){B.addOp(new aC(U,Q))}),F.enhancedFlags&&F.enhancedFlags.forEach(function(U){B.addOp(new bT(U,Q))}),F.texts&&F.texts.forEach(function(U){B.addOp(new LC(U,Q,!0))}),F[q]&&F[q].forEach(function(U){B.addOp(new Ue(U,Q))}),F[RU]&&F[RU].forEach(function(U){B.addOp(new te(U,Q))}),B.perform(U)}function Do(U,F){var Q=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,B=new BD;if(!Q){var R=U.molecule,V=U.molecule.frags.get(F);V&&V.stereoAtoms.forEach(function(U){null===R.atoms.get(U).stereoLabel&&B.addOp(new KT(F,U))})}return B.addOp(new gT(F)),B.perform(U)}function oo(U,F){var Q=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],B=new BD,R=BB.findRGroupByFragment(U.molecule.rgroups,F);return U.molecule.atoms.forEach(function(Q,V){if(Q.fragment===F){var n=B.addOp((new OT).perform(U)).frid;B.mergeWith(function(U,F,Q,B){for(var R=[F],V=new xF(R);R.length>0;){var n=R.shift();U.molecule.atomGetNeighbors(n).forEach(function(F){U.molecule.atoms.get(F.aid).fragment!==Q||V.has(F.aid)||(V.add(F.aid),R.push(F.aid))})}return cD(U,V,B)}(U,V,F,n)),R&&B.mergeWith(TD(U,R,n))}}),-1!==F&&(B.mergeWith(TD(U,0,F)),B.addOp(new HT(F).perform(U)),B.mergeWith(eD(U,0,R,Q))),B.operations.reverse(),B}function po(U,F,Q){var B=new BD;return B.mergeWith(function(U,F){var Q=new BD,B=U.molecule.getRGroupAttachmentPointsByAtomId(F);return B.forEach(function(U){Q.addOp(new ye(U))}),Q.perform(U)}(U,F)),B.mergeWith(ho(U,Q,F)),B}function ho(U,F,Q){var B=new BD;switch(F){case sQ.FirstSideOnly:B.addOp(new ve({atomId:Q,attachmentPointType:"primary"}));break;case sQ.SecondSideOnly:B.addOp(new ve({atomId:Q,attachmentPointType:"secondary"}));break;case sQ.BothSides:B.addOp(new ve({atomId:Q,attachmentPointType:"primary"})),B.addOp(new ve({atomId:Q,attachmentPointType:"secondary"}))}return B.perform(U)}function co(U,F){var Q=function(U,F){var Q=U.rgroupAttachmentPoints.get(F);S()(null!=Q);var B=Q.atomId,R=U.atoms.get(B),V=null===R||void 0===R?void 0:R.attachmentPoints,n=sQ.None;if(V===sQ.BothSides){var l=Q.type;"primary"===l?n=sQ.SecondSideOnly:"secondary"===l&&(n=sQ.FirstSideOnly)}return{atomId:B,newAttachmentPoints:n}}(U.molecule,F),B=hD(U,Q.atomId,{attachmentPoints:Q.newAttachmentPoints},null),R=new BD;return R.addOp(new ye(F)),R.perform(U).mergeWith(B)}function ro(U,F){return io(U,{atoms:[F]})}function mo(U,F){var Q,B=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],R=new BD;(null===(Q=U.sgroups)||void 0===Q?void 0:Q.size)>0&&U.sgroups.forEach(function(Q){var B,V,n,l;null!==(B=Q.item)&&void 0!==B&&B.type&&"SUP"===(null===(V=Q.item)||void 0===V?void 0:V.type)&&Jo(Q,null===(n=U.bonds.get(F))||void 0===n?void 0:n.b.begin,null===(l=U.bonds.get(F))||void 0===l?void 0:l.b.end,R,U)});var V=U.molecule.bonds.get(F),n=[];return R.addOp(new TT(F)),B.includes(V.begin)||0!==lD(U,V.begin)||(jD(R,U,V.begin)&&n.push(V.begin),R.addOp(new JT(V.begin))),B.includes(V.end)||0!==lD(U,V.end)||(jD(R,U,V.end)&&n.push(V.end),R.addOp(new JT(V.end))),ID(R,U,n),(R=R.perform(U)).addOp(new AT([V.begin,V.end]).perform(U)),R.mergeWith(DD(U,V,!1)),R.operations.reverse(),R}function Mo(U,F){var Q=U.molecule.getBondFragment(F),B=mo(U,F);return B=oo(U,Q).mergeWith(B)}function io(U,F){S()(null!=F);var Q=new BD,B=[],R=[],V=U.molecule,n=SD(F);n.sgroups.forEach(function(F){var Q=U.sgroups.get(F).item.atoms;n.atoms=n.atoms.concat(Q),U.molecule.bonds.forEach(function(U,F){Q.indexOf(U.begin)>=0&&Q.indexOf(U.end)>=0&&n.bonds.push(F)})}),n.atoms=Array.from(new Set(n.atoms)),n.bonds=Array.from(new Set(n.bonds)),n.atoms.forEach(function(U){var F=V.getGroupFromAtomId(U);null!==F&&void 0!==F&&F.isSuperatomWithoutLabel&&F.getAttachmentPoints().forEach(function(B){B.atomId===U&&(0,o.isNumber)(B.leaveAtomId)&&!n.atoms.includes(B.leaveAtomId)&&(Q.addOp(new WC(F.id,B.leaveAtomId)),Q.addOp(new JT(B.leaveAtomId)))})}),n.atoms.forEach(function(F){U.molecule.atomGetNeighbors(F).forEach(function(U){-1===n.bonds.indexOf(U.bid)&&(n.bonds=n.bonds.concat([U.bid]))})});var l=new BD;n.bonds.forEach(function(F){var Q=U.molecule.getBondFragment(F);R.indexOf(Q)<0&&R.push(Q),l.mergeWith(mo(U,F,n.atoms))});var d=[];n.atoms.forEach(function(F){var V=U.molecule.atoms.get(F).fragment;R.indexOf(V)<0&&R.push(V),jD(Q,U,F)&&B.push(F),Q.addOp(new JT(F)),U.molecule.getRGroupAttachmentPointsByAtomId(F).forEach(function(U){Q.addOp(new ye(U)),d.push(U)})}),ID(Q,U,B),n.rxnArrows.forEach(function(U){Q.addOp(new UC(U))}),n.rxnPluses.forEach(function(U){Q.addOp(new Ae(U))}),n.simpleObjects.forEach(function(U){Q.addOp(new RC(U))}),n.texts.forEach(function(U){Q.addOp(new YC(U))}),n[q].forEach(function(U){Q.addOp(new Ne(U))}),n[RU].forEach(function(U){Q.addOp(new he(U))});var J=new BD;n.rgroupAttachmentPoints.forEach(function(F){d.includes(F)||J.mergeWith(co(U,F))}),(Q=Q.perform(U)).mergeWith(l).mergeWith(J);for(var N=R.map(function(F){return BB.findRGroupByFragment(U.molecule.rgroups,F)});R.length>0;)Q=oo(U,R.pop(),N).mergeWith(Q);return Q}function bo(U,F,Q){var B=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,R=arguments.length>4&&void 0!==arguments[4]&&arguments[4],V=arguments.length>5&&void 0!==arguments[5]&&arguments[5]?F.getCoordBoundingBox().min:function(U){if(1===U.sgroups.size){var F=U.sgroups.keys().next();if(!F.done){var Q=F.value,B=U.sgroups.get(Q);if(null!==B&&void 0!==B&&B.isContracted())return B.getContractedPosition(U).position}}if(U.atoms.size>0){var R=1e50,V=R,n=-R,l=-V;return U.atoms.forEach(function(U){R=Math.min(R,U.pp.x),V=Math.min(V,U.pp.y),n=Math.max(n,U.pp.x),l=Math.max(l,U.pp.y)}),new zF((R+n)/2,(V+l)/2)}return U.rxnArrows.size>0?U.rxnArrows.get(0).center():U.rxnPluses.size>0?U.rxnPluses.get(0).pp:U.simpleObjects.size>0?U.simpleObjects.get(0).center():U.texts.size>0?U.texts.get(0).position:U.images.size>0?U.images.get(0).center():U.multitailArrows.size>0?U.multitailArrows.get(0).center():new zF(0,0)}(F),n=zF.diff(Q,V),l=new BD,d=new Map,J=new Map,N={atoms:[],bonds:[]},Z={atoms:[],bonds:[],rxnArrows:[],rxnPluses:[],texts:[],images:[],simpleObjects:[],multitailArrows:[]};return F.atoms.forEach(function(R,n){J.has(R.fragment)||F.isAtomFromMacromolecule(n)||J.set(R.fragment,l.addOp(new OT(null,R.fragment.properties).perform(U)).frid);var W=Object.assign(R.clone(),{fragment:J.get(R.fragment)}),S=new lT(W,zF.diff(R.pp,V).rotate(B).add(Q)).perform(U);l.addOp(S),d.set(n,S.data.aid),N.atoms.push(S.data.aid),Z.atoms.push(S.data.aid),l.mergeWith(ho(U,W.attachmentPoints,S.data.aid))}),F.frags.forEach(function(F,Q){F&&(F.properties&&l.addOp(new uT(J.get(Q),F.properties).perform(U)),F.stereoAtoms.forEach(function(F){return l.addOp(new jT(J.get(Q),d.get(F)).perform(U))}))}),F.bonds.forEach(function(F){var Q=new tT(d.get(F.begin),d.get(F.end),F,!1).perform(U);l.addOp(Q),N.bonds.push(Q.data.bid),Z.bonds.push(Q.data.bid),new CT(Q.data.bid,"isPreview",R,!1).perform(U)}),F.sgroups.forEach(function(Q){var B,R=U.molecule.sgroups.newId(),V=Q.atoms.map(function(U){return d.get(U)});try{B=Q.cloneAttachmentPoints(d)}catch(N){B=[]}!Q.isNotContractible(F)||Q instanceof DB||MQ.isSuperAtom(Q)||Q.setAttr("expanded",!0);var J=xD(U,Q.type,V,Q.data,R,B,Q.pp?Q.pp.add(n):null,"SUP"===Q.type?Q.isExpanded():null,Q.data.name,Q);J.operations.reverse(),J.operations.forEach(function(U){l.addOp(U)})}),N.atoms.forEach(function(F){l.addOp(new AT([F]).perform(U)),new ZT(F,"isPreview",R).perform(U)}),F.rxnArrows.forEach(function(F){var Q=new $e(F.pos.map(function(U){return U.add(n)}),F.mode,void 0,F.height).perform(U);l.addOp(Q),Z.rxnArrows.push(Q.data.id)}),F.rxnPluses.forEach(function(F){var Q=new Pe(F.pp.add(n)).perform(U);l.addOp(Q),Z.rxnPluses.push(Q.data.plid)}),F.simpleObjects.forEach(function(F){var Q=new BC(F.pos.map(function(U){return U.add(n)}),F.mode).perform(U);l.addOp(Q),Z.simpleObjects.push(Q.data.id)}),F.texts.forEach(function(F){var Q=new XC(F.content,F.position.add(n),F.pos.map(function(U){return U.add(n)})).perform(U);l.addOp(Q),Z.texts.push(Q.data.id)}),F.images.forEach(function(F){var Q=F.clone();Q.addPositionOffset(n);var B=new Je(Q).perform(U);l.addOp(B),Z.images.push(B.data.id)}),F.multitailArrows.forEach(function(F){var Q=F.clone();Q.move(n);var B=new pe(Q).perform(U);l.addOp(B),Z.multitailArrows.push(B.data.id)}),F.rgroups.forEach(function(Q,B){Q.frags.forEach(function(F,Q){l.addOp(new Me(B,J.get(Q)).perform(U))});var R=F.rgroups.get(B).ifthen,V=F.rgroups.get(R)?R:0;l.mergeWith(aD(U,B,Q.getAttrs())).mergeWith(eD(U,V,Q.ifthen))}),l.operations.reverse(),[l,N,Z]}function vo(U,F,Q,B){var R=new BD,V=new tV(F,Q,B);return R.addOp(new Je(V)),R.perform(U)}function Go(U,F){var Q=new BD;return Q.addOp(new Ne(F)),Q.perform(U)}function so(U,F,Q){var B=new BD;return B.addOp(new Ue(F,Q)),B.perform(U)}function Xo(U,F,Q,B){var R=new BD,V=Q.add(B.offset);return R.addOp(new ne(F,V,B.name)),R.perform(U)}function Yo(U,F,Q){var B=new BD,R=eV.fromTwoPoints(F,Q);return B.addOp(new pe(R)),B.perform(U)}function yo(U,F){var Q=new BD;return Q.addOp(new he(F)),Q.perform(U)}function zo(U,F,Q){var B=new BD;return B.addOp(new te(F,Q)),B.perform(U)}function Oo(U,F){var Q=new BD;return Q.addOp(new Se(F)),Q.perform(U)}function Lo(U,F,Q){var B=new BD;return B.addOp(new Ee(F,Q)),B.perform(U)}function Ho(U,F,Q,B){var R=new BD;return R.addOp(new Ce(F,B,"head"===Q.name)),R.perform(U)}function xo(U,F,Q,B,R){var V=new BD;return V.addOp(new Te(F,B,Q.name,Q.tailId,R)),V.perform(U)}function uo(U,F,Q){var B=new BD;return B.addOp(new $e(F,Q)),B.perform(U)}function wo(U,F,Q,B,R,V){var n=new BD;return n.addOp(new we(F,Q,B,R,!1,V)),n.perform(U)}function jo(U,F){var Q=new BD;return Q.addOp(new UC(F)),Q.perform(U)}function Io(U,F){var Q=new BD;return Q.addOp(new Pe(F).perform(U)),Q}function Ko(U,F){var Q=new BD;return Q.addOp(new Ae(F)),Q.perform(U)}function fo(U,F,Q,B){var V=new BD,n=null!==F&&void 0!==F?F:ZD(U.molecule);return V.mergeWith(function(U,F,Q,B){var R,V,n=U.molecule,l=new BD;null===F||void 0===F||null===(R=F.atoms)||void 0===R||R.forEach(function(U){var F=n.atoms.get(U);if(F){var R=bB(F.pp,B,Q);l.addOp(new ST(U,R))}});var d=kD(n,null!==(V=null===F||void 0===F?void 0:F.atoms)&&void 0!==V?V:[]);d.forEach(function(U){if(U.pp){var F=bB(U.pp,B,Q);l.addOp(new aC(U.id,F)),U instanceof DB&&l.addOp(new yl({id:U.id,value:Q}))}}),null!==F&&void 0!==F&&F.bonds&&go(F.bonds,n,l);return l.perform(U)}(U,n,Q,B)),n.rxnArrows&&V.mergeWith(function(U,F,Q,B){var V=new BD;return F.forEach(function(F){var n=U.molecule.rxnArrows.get(F);if(n){var l=(0,R.A)(n.pos,2),d=l[0],J=l[1].sub(d).oxAngle(),N=J-Math.PI/2,Z="vertical"===Q?-2*J:-2*N;V.addOp(new He(F,Z,n.center()));var W=bB(n.center(),B,Q);V.addOp(new Oe(F,W))}}),V.perform(U)}(U,n.rxnArrows,Q,B)),n.rxnPluses&&V.mergeWith(function(U,F,Q,B){var R=new BD;return F.forEach(function(F){var V=U.molecule.rxnPluses.get(F);if(V){var n=bB(V.pp,B,Q);R.addOp(new Ke(F,n))}}),R.perform(U)}(U,n.rxnPluses,Q,B)),n.texts&&V.mergeWith(function(U,F,Q,B){var R=new BD;return F.forEach(function(F){var V=U.molecule.texts.get(F);if(V){var n=V.pos[0],l=V.pos[2],d=zF.centre(n,l),J=bB(d,B,Q);R.addOp(new LC(F,J))}}),R.perform(U)}(U,n.texts,Q,B)),n.enhancedFlags&&V.mergeWith(function(U,F){var Q=new BD;return F.forEach(function(F){var B=F;U.molecule.frags.get(B)&&Q.addOp(new GT(F))}),Q.perform(U)}(U,n.enhancedFlags)),V}var go=function(U,F,Q){U.forEach(function(U){var B=F.bonds.get(U);B&&B.type===fQ.PATTERN.TYPE.SINGLE&&(B.stereo!==fQ.PATTERN.STEREO.UP?B.stereo===fQ.PATTERN.STEREO.DOWN&&Q.addOp(new CT(U,"stereo",fQ.PATTERN.STEREO.UP)):Q.addOp(new CT(U,"stereo",fQ.PATTERN.STEREO.DOWN)))})};function Po(U,F,Q,B){var R=U.molecule,V=new BD;(F||(F=ZD(R)),F.atoms)&&(F.atoms.forEach(function(U){var F=R.atoms.get(U);F&&V.addOp(new ST(U,iB(F.pp,Q,B)))}),F.sgroupData||kD(R,F.atoms).forEach(function(U){U.pp&&V.addOp(new aC(U.id,iB(U.pp,Q,B)))}));return F.rxnArrows&&F.rxnArrows.forEach(function(U){V.addOp(new He(U,B,Q))}),F.rxnPluses&&F.rxnPluses.forEach(function(U){var F=R.rxnPluses.get(U);V.addOp(new Ke(U,iB(F.pp,Q,B)))}),F.texts&&F.texts.forEach(function(U){var F=R.texts.get(U);V.addOp(new LC(U,iB(F.position,Q,B)))}),F.sgroupData&&F.sgroupData.forEach(function(U){var F=R.sgroups.get(U);V.addOp(new aC(U,iB(F.pp,Q,B)))}),F.enhancedFlags&&F.enhancedFlags.forEach(function(F){var R=F,n=U.molecule.frags.get(R);V.addOp(new bT(F,iB(n.stereoFlagPosition||UB.getDefaultStereoFlagPosition(U.molecule,R),Q,B)))}),V.perform(U)}function Ao(U,F){var Q=new BD;return Q.addOp(new RC(F)),Q.perform(U)}function qo(U,F,Q,B){var R=new BD;return R.addOp(new BC(F,Q,B)),R.perform(U)}function _o(U,F,Q,B,R,V){var n=new BD;return n.addOp(new lC(F,Q,B,R,!1,V)),n.perform(U)}function $o(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function Up(U){for(var F=1;F3&&void 0!==arguments[3]?arguments[3]:0,V=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],n=bo(U,F.molecule,Q,B,V),l=(0,R.A)(n,2),d=l[0],J=l[1];return d.addOp(new AT(J.atoms).perform(U)),[d,J]}function Vp(U,F,Q,R,V){var n,l=arguments.length>5&&void 0!==arguments[5]&&arguments[5],d=new BD,J=F.molecule,N=U.molecule,Z=F.molecule.isSingleGroup(),W=N.atoms.get(Q),S=Q;if(V){var E=function(U,F,Q){var B,R=new BD,V=nD(U,F,"fragment");if(null===Q){var n=ED(U,F),l=Qo(U,{type:1},F,n.atom,void 0,n.pos.get_xy0());(R=l[0]).operations.reverse(),B=l[2]}else{var d=new lT({label:"C",fragment:V},new zF(1,0).rotate(Q).add(U.molecule.atoms.get(F).pp).get_xy0()).perform(U);R.addOp(d),R.addOp(new tT(F,d.data.aid,{type:1}).perform(U)),B=d.data.aid}return{action:R,aid1:B}}(U,Q,R);d=E.action,S=E.aid1,W=N.atoms.get(S),n=vB.calcAngle(N.atoms.get(Q).pp,W.pp)-F.angle0}else null===R&&(R=vB.calcAngle(W.pp,ED(U,Q).pos)),n=R-F.angle0;var k=new Map,t=J.atoms.get(F.aid).pp,a=nD(U,Q,"fragment"),T={atoms:[],bonds:[]};return J.atoms.forEach(function(Q,B){var R=uQ.getAttrHash(Q);if(R.fragment=a,B===F.aid)d.mergeWith(hD(U,S,R,!0)),k.set(B,S),T.atoms.push(S);else{var V=zF.diff(Q.pp,t).rotate(n).add(W.pp),l=new lT(R,V.get_xy0()).perform(U);d.addOp(l),k.set(B,l.data.aid),T.atoms.push(l.data.aid)}}),Z||mD(d,U,T.atoms,Q),J.bonds.forEach(function(F){var Q=new tT(k.get(F.begin),k.get(F.end),F).perform(U);d.addOp(Q),new CT(Q.data.bid,"isPreview",l).perform(U),T.bonds.push(Q.data.bid)}),J.sgroups.forEach(function(F){var Q=U.molecule.sgroups.newId(),B=F.atoms.map(function(U){return k.get(U)}),R=F.cloneAttachmentPoints(k),V=xD(U,F.type,B,Up(Up({},F.data),{},{expanded:!!l||F.data.expanded}),Q,R,W.pp,"SUP"===F.type?F.isExpanded():null,F.data.name);V.operations.reverse(),V.operations.forEach(function(U){d.addOp(U)})}),d.operations.reverse(),d.addOp(new AT([].concat((0,B.A)(T.atoms),[Q])).perform(U)),d.mergeWith(DD(U,U.molecule.bonds.get(T.bonds[0]))),[d,T]}function np(U,F,Q,B,R,V){var n=arguments.length>6&&void 0!==arguments[6]&&arguments[6];if(!V)return lp(U,F,Q,R);return RD(U,F,Q,0,function(U,F,Q){return lp(U,F,Q,R,n)})}function lp(U,F,Q,R){var V=arguments.length>4&&void 0!==arguments[4]&&arguments[4],n=new BD,l=F.molecule,d=U.molecule,J=d.bonds.get(Q),N=l.bonds.get(F.bid),Z=l.atoms.get(R?N.end:N.begin),W=new Map([[N.begin,R?J.end:J.begin],[N.end,R?J.begin:J.end]]),S={begin:R?N.end:N.begin,end:R?N.begin:N.end},E=vB.mergeBondsParams(d,J,l,S),k=E.angle,t=E.scale,a=d.getBondFragment(Q),T={atoms:[],bonds:[]};!function(U,F,Q,B,R,V,n,l,d,J,N,Z){F.atoms.forEach(function(F,W){var S=uQ.getAttrHash(F);if(S.fragment=l,W!==B.begin&&W!==B.end){var E=zF.diff(F.pp,R.pp).rotate(d).scaled(J).add(Q.atoms.get(V.begin).pp),k=VD.atom(U,E,null,.1);if(null===k){var t=new lT(S,E).perform(U);N.addOp(t),n.set(W,t.data.aid),Z.atoms.push(t.data.aid)}else n.set(W,k.id),N.mergeWith(hD(U,n.get(W),S,!0))}else N.mergeWith(hD(U,n.get(W),S,!0))}),mD(N,U,Z.atoms,V.begin)}(U,l,d,N,Z,J,W,a,k,t,n,T);var e=function(U,F,Q,B){var R=U.name===Fp,V=U.name===Qp;if(U.bonds.size&&(R||V)){var n=fQ.getBondNeighbourIds(F,Q),l=n.beginBondIds,d=n.endBondIds;if(1!==l.length||1!==d.length)return null;var J=F.bonds.get(l[0]),N=F.bonds.get(d[0]);if(!J||!N)throw new Error("Incorrect bond id was provided");if(R)return fQ.getBenzeneConnectingBondType(B,J,N);if(V)return fQ.getCyclopentadieneFusingBondType(B,J,N)}return null}(l,d,Q,J);return function(U,F,Q,B,R,V,n,l,d,J,N){var Z=null!==l;F.bonds.forEach(function(W,S){var E,k=Q.findBondId(n.get(W.begin),n.get(W.end));if(null===k){var t=new tT(n.get(W.begin),n.get(W.end),W).perform(U);J.addOp(t);var a=t.data.bid;if(E=a,Z){var T=F.name===Fp,e=F.name===Qp;if(T){var C=Bp.includes(S)?fQ.PATTERN.TYPE.DOUBLE:fQ.PATTERN.TYPE.SINGLE;J.addOp(new CT(a,"type",C).perform(U))}if(e){var D=fQ.getBondNeighbourIds(Q,V),o=D.beginBondIds,p=D.endBondIds,h=Q.bonds.get(o[0]),c=Q.bonds.get(p[0]),r=fQ.getCyclopentadieneDoubleBondIndexes(R,h,c).includes(S)?fQ.PATTERN.TYPE.DOUBLE:fQ.PATTERN.TYPE.SINGLE;J.addOp(new CT(a,"type",r).perform(U))}}N.bonds.push(a)}else{var m=R.type>B.type?R:B;J.mergeWith(Bo(U,k,m,!0)),Z&&l&&J.addOp(new CT(V,"type",l).perform(U)),E=V}J.addOp(new CT(E,"isPreview",d).perform(U))})}(U,l,d,N,J,Q,W,e,V,n,T),function(U,F,Q,R){Q.atoms.length&&R.addOp(new AT([F.begin,F.end].concat((0,B.A)(Q.atoms))).perform(U)),Q.bonds.length&&R.mergeWith(DD(U,U.molecule.bonds.get(Q.bonds[0])))}(U,J,T,n),n.operations.reverse(),[n,T]}function dp(U,F,Q,B){var R=new BD;return R.addOp(new XC(F,Q,B)),R.perform(U)}function Jp(U,F,Q){var B=new BD;return B.addOp(new zC(F,Q)),B.perform(U)}function Np(U,F){var Q=new BD;return Q.addOp(new YC(F)),Q.perform(U)}function Zp(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,Wp()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}function Wp(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(Wp=function(){return!!U})()}var Sp,Ep=function(U){function F(U,Q,B,R,n){var l;return(0,V.A)(this,F),(l=Zp(this,F,[Xl.ADD_HIGHLIGHT])).data={atoms:U,bonds:Q,rgroupAttachmentPoints:B,color:R,highlightId:n},l}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=this.data,Q=F.atoms,B=F.bonds,R=F.rgroupAttachmentPoints,V=F.color;if(V){var n=U.molecule,l=new CV({atoms:Q,bonds:B,rgroupAttachmentPoints:R,color:V});"number"!==typeof this.data.highlightId?this.data.highlightId=n.highlights.add(l):n.highlights.set(this.data.highlightId,l),tp(U,Q,B,R)}}},{key:"invert",value:function(){var U=this.data,F=U.atoms,Q=U.bonds,B=U.rgroupAttachmentPoints,R=U.color,V=U.highlightId;return new kp(V,F,Q,B,R)}}]),F}(sl),kp=function(U){function F(U,Q,B,R,n){var l;return(0,V.A)(this,F),(l=Zp(this,F,[Xl.REMOVE_HIGHLIGHT,5])).data={highlightId:U,atoms:null!==Q&&void 0!==Q?Q:[],bonds:null!==B&&void 0!==B?B:[],rgroupAttachmentPoints:null!==R&&void 0!==R?R:[],color:null!==n&&void 0!==n?n:"white"},l}return(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){if("number"===typeof this.data.highlightId){var F=U.molecule,Q=F.highlights.get(this.data.highlightId);if("undefined"===typeof Q)return;var B=Q.atoms,R=Q.bonds,V=Q.color;this.data.atoms=B,this.data.bonds=R,this.data.color=V,F.highlights.delete(this.data.highlightId),tp(U,B,R)}}},{key:"invert",value:function(){var U=this.data,F=U.atoms,Q=U.bonds,B=U.rgroupAttachmentPoints,R=U.color,V=U.highlightId,n=new Ep(F,Q,B,R,V);return n.data=this.data,n}}]),F}(sl);function tp(U,F,Q,B){var R=U.atoms,V=U.bonds,n=U.rgroupAttachmentPoints;F&&F.forEach(function(F){"undefined"!==typeof R.get(F)&&U.markAtom(F,1)}),Q&&Q.forEach(function(F){"undefined"!==typeof V.get(F)&&U.markBond(F,1)}),B&&B.forEach(function(F){"undefined"!==typeof n.get(F)&&U.markRgroupAttachmentPoint(F,1)})}function ap(U,F){var Q=new BD;return F.forEach(function(U){var F=U.atoms,B=U.bonds,R=U.rgroupAttachmentPoints,V=U.color;Q.addOp(new Ep(F,B,R,V))}),Q.perform(U)}function Tp(U){var F=new BD;return U.molecule.highlights.forEach(function(U,Q){F.addOp(new kp(Q))}),F.perform(U)}!function(U){function F(U,Q,B,R,n){var l;return(0,V.A)(this,F),(l=Zp(this,F,[Xl.UPDATE_HIGHLIGHT])).newData={atoms:Q,bonds:B,rgroupAttachmentPoints:R,color:n,highlightId:U},l.oldData={atoms:Q,bonds:B,rgroupAttachmentPoints:R,color:n,highlightId:U},l}(0,N.A)(F,U),(0,n.A)(F,[{key:"execute",value:function(U){var F=this.newData,Q=F.atoms,R=F.bonds,V=F.rgroupAttachmentPoints,n=F.color;if(n){var l=this.newData.highlightId,d=U.molecule,J=d.highlights.get(l);if(J){var N=J.atoms,Z=J.bonds,W=J.rgroupAttachmentPoints,S=J.color;this.oldData={atoms:N,bonds:Z,rgroupAttachmentPoints:W,color:S,highlightId:l};var E=new CV({atoms:Q,bonds:R,rgroupAttachmentPoints:V,color:n});d.highlights.set(this.newData.highlightId,E),tp(U,[].concat((0,B.A)(Q),(0,B.A)(N)),[].concat((0,B.A)(R),(0,B.A)(Z)))}}}},{key:"invert",value:function(){var U=this.oldData,Q=U.atoms,B=U.bonds,R=U.rgroupAttachmentPoints,V=U.color;return new F(this.newData.highlightId,Q,B,R,V)}}])}(sl),function(U){U[U.Micromolecules=0]="Micromolecules",U[U.Macromolecules=1]="Macromolecules"}(Sp||(Sp={}));var ep={fracAngle:vB.fracAngle,calcAngle:vB.calcAngle,degrees:vB.degrees,calcNewAtomPos:vB.calcNewAtomPos},Cp=function(){function U(){(0,V.A)(this,U)}return(0,n.A)(U,null,[{key:"show",value:function(U,F){throw new Error("Method is not implemented for an abstract class")}}]),U}();function Dp(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(Dp=function(){return!!U})()}var op=15,pp=10,hp="#B4B9D6",cp="#365CFF",rp=20,mp=30,Mp=5,ip=12,bp="#E1E5EA",vp=12,Gp=10,sp=15,Xp=65,Yp=20,yp=10,zp=function(U,F,Q){return{x:U.x+F*Math.cos(Q),y:U.y+F*Math.sin(Q)}},Op=function(U){function F(){return(0,V.A)(this,F),function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,Dp()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,arguments)}return(0,N.A)(F,U),(0,n.A)(F,null,[{key:"subscribeRotationHandle",value:function(U){return F.rotationHandleSubscribers.add(U),function(){return F.rotationHandleSubscribers.delete(U)}}},{key:"subscribeRotationCenter",value:function(U){return F.rotationCenterSubscribers.add(U),function(){return F.rotationCenterSubscribers.delete(U)}}},{key:"show",value:function(U,Q){var B,R,V=Q.center,n=Q.boundingBox,l=Q.rotationAngle,d=void 0===l?0:l,J=Q.isRotating,N=void 0!==J&&J,Z=Q.cursor,W=Q.startAngle;N&&F.wasRotating||(F.lastSnappingRadius=void 0),F.wasRotating=N;var S=n.left-mp,E=n.top-mp,k=n.width+2*mp,t=n.height+2*mp;N||U.append("rect").attr("x",S).attr("y",E).attr("width",k).attr("height",t).attr("rx",rp).attr("ry",rp).attr("fill","none").attr("stroke",hp).attr("stroke-dasharray","3,1").attr("style","pointer-events: none");var a=N&&Z?VQ.viewToCanvas(Z):void 0,T=N?null!==(B=null===a||void 0===a?void 0:a.x)&&void 0!==B?B:V.x:n.left+n.width/2,e=null!==(R=null===a||void 0===a?void 0:a.y)&&void 0!==R?R:E-op-pp,C=N?"M".concat(V.x,",").concat(V.y,"L").concat(T,",").concat(e):"M".concat(T,",").concat(e,"l0,").concat(pp+op);U.append("path").attr("d",C).attr("stroke",N?cp:hp).attr("stroke-dasharray","4,4").attr("fill","none").attr("style","pointer-events: none");var D=N?cp:hp,o=U.append("g").attr("class","rotation-center-handle").attr("data-testid","rotation-center-handle").attr("style","pointer-events: all");o.append("rect").attr("x",V.x-12).attr("y",V.y-12).attr("width",24).attr("height",24).attr("fill","transparent").attr("stroke","none").attr("style","pointer-events: all").on("mousedown",function(U){U.stopPropagation(),U.preventDefault(),F.rotationCenterSubscribers.forEach(function(F){return F({type:"down",event:U})})}).on("mousemove",function(U){1===U.buttons&&F.rotationCenterSubscribers.forEach(function(F){return F({type:"drag",event:U})})}),o.append("path").attr("d","M".concat(V.x-8,",").concat(V.y,"h16M").concat(V.x,",").concat(V.y-8,"v16")).attr("stroke",D).attr("stroke-width",2).attr("stroke-linecap","round").attr("style","pointer-events: none");var p=U.append("g").attr("class","rotation-handle").attr("data-testid","rotation-handle").attr("transform","translate(".concat(T,",").concat(e,")")).on("mousedown",function(U){U.stopPropagation(),U.preventDefault(),F.rotationHandleSubscribers.forEach(function(F){return F({type:"down",event:U})})}).on("mousedown",function(U){1===U.buttons&&F.rotationHandleSubscribers.forEach(function(F){return F({type:"drag",event:U})})});p.append("circle").attr("r",pp).attr("fill",N?cp:hp).attr("stroke","none").attr("style","cursor: ".concat(N?"grabbing":"grab"));var h=p.append("g");if(h.append("path").attr("d","M12.7034 14.8189L9.39616 17.6218L9.13674 16.1892C8.12927 16.0487 7.17132 15.6644 6.34605 15.0697C5.52078 14.475 4.85314 13.6878 4.40108 12.7766C3.94903 11.8653 3.72622 10.8575 3.75201 9.84062C3.7778 8.82373 4.0514 7.8285 4.54906 6.94133L5.8121 7.65148C5.45018 8.29719 5.24246 9.01784 5.20516 9.75712C5.16786 10.4964 5.302 11.2343 5.59709 11.9132C5.89218 12.592 6.34023 13.1935 6.90624 13.6705C7.47225 14.1475 8.1409 14.4872 8.85993 14.6631L8.62297 13.3587L12.7034 14.8189Z").attr("fill",N?"none":"white").attr("transform","translate(-10,-10)"),h.append("path").attr("d","M15.4493 13.0588L14.1862 12.3486C14.5482 11.7029 14.7559 10.9823 14.7932 10.243C14.8305 9.50371 14.6963 8.76582 14.4012 8.08695C14.1062 7.40809 13.6581 6.80665 13.0921 6.32962C12.5261 5.85259 11.8574 5.51288 11.1384 5.33704L11.3754 6.64501L7.29492 5.18124L10.6022 2.37834L10.8616 3.81095C11.8691 3.95145 12.827 4.33573 13.6523 4.93043C14.4776 5.52513 15.1452 6.31227 15.5973 7.22353C16.0493 8.13478 16.2721 9.1426 16.2463 10.1595C16.2205 11.1764 15.9469 12.1716 15.4493 13.0588Z").attr("fill",N?"none":"white").attr("transform","translate(-10,-10)"),N||p.on("mouseenter",function(){p.select("circle").attr("fill",cp)}).on("mouseleave",function(){p.select("circle").attr("fill",hp)}),N){var c=VQ.canvasToView(V),r=Math.sqrt(Math.pow(e-c.y,2)+Math.pow(T-c.x,2))-op-pp,m=Z?Math.sqrt(Math.pow(Z.x-c.x,2)+Math.pow(Z.y-c.y,2)):void 0,M=void 0===m?r:Math.max(m-ip,0),i=Math.round(M/Mp)*Mp,b=i>0?i:0,v=F.lastSnappingRadius;if(b>0)if(void 0===v)F.lastSnappingRadius=b;else b>=1.4*v||b<=v/1.4?F.lastSnappingRadius=b:b=v;if(b>0){U.append("circle").attr("cx",V.x).attr("cy",V.y).attr("r",b).attr("fill","none").attr("stroke",bp).attr("stroke-dasharray","4,4").attr("style","pointer-events: none");var G=null!==W&&void 0!==W?W:-Math.PI/2,s=Math.round(180*d/Math.PI),X=b>=Xp?sp:sp/2;[0,30,45,60,90,120,135,150,180,-150,-135,-120,-90,-60,-45,-30].forEach(function(F){var Q=function(U,F){var Q=Math.abs(U-F)%360;return Q>180?360-Q:Q}(F,s),B=G+F*Math.PI/180,R=V.x+b*Math.cos(B),n=V.y+b*Math.sin(B),l=V.x+(b+X)*Math.cos(B),d=V.y+(b+X)*Math.sin(B);if(U.append("path").attr("d","M".concat(R,",").concat(n,"L").concat(l,",").concat(d)).attr("stroke",Q>90?"none":bp).attr("stroke-dasharray","4,4").attr("style","pointer-events: none"),!(b90?"none":0!==F&&F===s?cp:hp,U.append("text").attr("x",Z).attr("y",W).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("font-size","".concat(vp,"px")).attr("fill",J).text("".concat(F,"\xb0"))}}),U.append("path").attr("d",function(U,F,Q,B){var R=zp(U,F,Q),V=zp(U,F,Q+B),n=Math.abs(B)>Math.PI?1:0,l=B<0?0:1;return"M".concat(R.x,",").concat(R.y)+"A".concat(F,",").concat(F," 0 ").concat(n,",").concat(l," ").concat(V.x,",").concat(V.y)}(V,b,G,d)).attr("fill","none").attr("stroke",cp).attr("stroke-width",1).attr("style","pointer-events: none");var Y=Math.round(180*d/Math.PI),y=G,z=b+20,O=V.x+z*Math.cos(y)+Yp,L=V.y+z*Math.sin(y)+yp;U.append("text").attr("x",O).attr("y",L).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("font-size","16px").attr("fill","#333333").text("".concat(Y,"\xb0"))}}}}]),F}(Cp);function Lp(U,F){var Q="undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(!Q){if(Array.isArray(U)||(Q=function(U,F){if(U){if("string"==typeof U)return Hp(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?Hp(U,F):void 0}}(U))||F&&U&&"number"==typeof U.length){Q&&(U=Q);var B=0,R=function(){};return{s:R,n:function(){return B>=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function Hp(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q1&&void 0!==arguments[1]&&arguments[1],Q=arguments.length>2&&void 0!==arguments[2]&&arguments[2],R=new PV,V=[];if(U instanceof YJ){var n=U.twoStrandedNode;n.senseNode&&V.push(n.senseNode.monomer),n.antisenseNode&&V.push(n.antisenseNode.monomer)}else V.push(U.drawingEntity);if(F||Q){if(F){if(U.drawingEntity.selected)return;var l=[].concat((0,B.A)(this.editor.drawingEntitiesManager.selectedEntitiesArr),V),d=this.editor.drawingEntitiesManager.getAllSelectedEntitiesForEntities(l).command;R.merge(d)}else if(U instanceof YJ&&Q){var J=U.currentChain.nodes.map(function(U){return U instanceof Wn||U instanceof Sn?U.monomers:U.monomer}).flat();J.forEach(function(U){return U.turnOnSelection()});var N=U.currentChain.bonds.filter(function(U){var F;return U.firstMonomer.selected&&(null===(F=U.secondMonomer)||void 0===F?void 0:F.selected)});J=J.concat(N),R.merge(this.editor.drawingEntitiesManager.selectDrawingEntities(J))}}else{if(this.startMoveIfNeeded(U),U.drawingEntity.selected)return;R.merge(this.editor.drawingEntitiesManager.unselectAllDrawingEntities()),cN.unselectEmptyAndBackboneSequenceNodes();var Z=this.editor.drawingEntitiesManager.getAllSelectedEntitiesForEntities(V).command;R.merge(Z)}R.merge(this.editor.drawingEntitiesManager.hideAllMonomersHoverAndAttachmentPoints()),this.editor.renderersContainer.update(R)}},{key:"onSelectionStart",value:function(){this.mode="selecting",this.createSelectionView()}},{key:"isSelectionRunning",value:function(){return"selecting"===this.mode}},{key:"tryToSnap",value:function(F,Q){var B,R=this,V={snapPosition:null,connectionLength:1/0};if("sequence-layout-mode"===this.editor.mode.modeName)return V;var n=T.Ue?F.metaKey:F.ctrlKey,l=this.editor.drawingEntitiesManager.externalConnectionsToSelection;if(n||0===l.length)return V;var d=l.map(function(F){var n=F.monomerFromSelection,l=F.monomerConnectedToSelection,d=F.bond,J=n,N=l,Z=zF.diff(n.position,l.position).length();if(!N)return V;var W=U.calculateDistanceSnap(J.position,J,N),S=W.distanceSnapPosition,E=W.snapDistance,k=W.alignment,t=W.alignedMonomers,a=U.calculateAngleSnap(J.position.add(Q),N.position,"snake-layout-mode"===R.editor.mode.modeName?90:30,E),T=a.angleSnapPosition,e=a.snappedAngleRad,C=U.calculateBondLengthSnap(J.position,N.position,e).bondLengthSnapPosition;if(C?B=C:T?B=T:S&&(B=S),!B)return V;if(Q.length()>=(Boolean(S)&&Boolean(T)?oU+.1:oU))return V;var D=Boolean(T),o=Boolean(C),p=!o&&Boolean(S);return D||o||p?{snapPosition:B.sub(J.position),showAngleSnapping:D,bond:d,connectedMonomer:N,showBondLengthSnapping:o,showDistanceSnapping:p,showGroupCenterSnapping:!1,alignment:k,alignedMonomers:t,connectionLength:Z}:V}),J=this.editor.drawingEntitiesManager.selectedMonomers;if(l.length>=2&&J.length>=2){var N=l.map(function(U){return U.monomerConnectedToSelection}),Z=U.calculateGroupCenterSnapPosition(J,N,Q)[0];Z&&d.push(Z)}return d.sort(function(U,F){return U.connectionLength-F.connectionLength}),d[0]||V}},{key:"mousemove",value:function(U){var F,Q=this;if("standby"!==this.mode){if("selecting"===this.mode)return this.updateSelectionViewParams(),void this.onSelectionMove(U.shiftKey);if("rotating"!==this.mode){if("rotating-center"===this.mode){var B=VQ.viewToCanvas(this.editor.lastCursorPosition);return this.userRotationCenter=VQ.canvasToModel(B),void this.updateRotationView()}var R,V;if(!this.firstMonomerPositionBeforeMove)this.firstMonomerPositionBeforeMove=null!==(R=this.editor.drawingEntitiesManager.selectedMonomers[0])&&void 0!==R&&R.position?new zF(null===(V=this.editor.drawingEntitiesManager.selectedMonomers[0])||void 0===V?void 0:V.position):void 0;var n=null===(F=this.editor.drawingEntitiesManager.selectedMonomers[0])||void 0===F?void 0:F.position,l=this.firstMonomerPositionBeforeMove&&zF.diff(VQ.modelToCanvas(this.firstMonomerPositionBeforeMove),this.mousePositionBeforeMove),d=n&&zF.diff(VQ.modelToCanvas(n),this.editor.lastCursorPositionOfCanvas),J=l&&d&&zF.diff(l,d),N=VQ.canvasToModel(J||new zF(this.editor.lastCursorPositionOfCanvas.x-this.mousePositionAfterMove.x,this.editor.lastCursorPositionOfCanvas.y-this.mousePositionAfterMove.y)),Z=new PV,W=this.tryToSnap(U,N),S=W.snapPosition;if(this.editor.transientDrawingView.clear(),S)if(Z.merge(this.editor.drawingEntitiesManager.moveSelectedDrawingEntities(S)),W.showGroupCenterSnapping)this.editor.transientDrawingView.showGroupCenterSnap({isVertical:W.isVertical,absoluteSnapPosition:W.absoluteSnapPosition,monomerPair:W.monomerPair});else{var E=W.showAngleSnapping,k=W.connectedMonomer,t=W.bond,a=W.showBondLengthSnapping,T=W.showDistanceSnapping,e=W.alignment,C=W.alignedMonomers;E&&this.editor.transientDrawingView.showAngleSnap({connectedMonomer:k,polymerBond:t,isBondLengthSnapped:a}),a&&this.editor.transientDrawingView.showBondSnap(t),T&&this.editor.transientDrawingView.showDistanceSnap({alignment:e,alignedMonomers:C})}else Z.merge(this.editor.drawingEntitiesManager.moveSelectedDrawingEntities(N));this.mousePositionAfterMove=this.editor.lastCursorPositionOfCanvas,requestAnimationFrame(function(){Q.editor.renderersContainer.update(Z),Q.editor.drawingEntitiesManager.rerenderBondsOverlappedByMonomers(),Q.editor.transientDrawingView.update()})}else this.handleRotationMove(U)}}},{key:"mouseup",value:function(U){var F,Q=null===(F=U.target)||void 0===F?void 0:F.__data__,B=Nt.getInstance(this.editor);try{var R;if("rotating"===this.mode)return void this.finishRotation();if("rotating-center"===this.mode)return this.mode="standby",void this.updateRotationView();if("moving"===this.mode&&(null!==Q&&void 0!==Q&&null!==(R=Q.drawingEntity)&&void 0!==R&&R.selected||this.editor.drawingEntitiesManager.selectedEntitiesArr.length>0)){var V=this.editor.drawingEntitiesManager.selectedMonomers;if(V.length>0){var n,l=null===(n=V[0])||void 0===n?void 0:n.position,d=this.firstMonomerPositionBeforeMove&&l?zF.diff(l,this.firstMonomerPositionBeforeMove):void 0;if(!d||d.length()<.001)return;var J=this.editor.drawingEntitiesManager.moveSelectedDrawingEntities(new zF(0,0),d);B.update(J)}else{var N=zF.diff(this.mousePositionAfterMove,this.mousePositionBeforeMove);if(0===N.length())return;var Z=VQ.canvasToModel(N),W=this.editor.drawingEntitiesManager.moveSelectedDrawingEntities(new zF(0,0),Z);B.update(W)}}}finally{this.firstMonomerPositionBeforeMove=void 0,this.stopMovement(),this.setSelectedEntities()}}},{key:"mouseOverDrawingEntity",value:function(U){var F=U.target.__data__,Q=this.editor.drawingEntitiesManager.intendToSelectDrawingEntity(F.drawingEntity);this.editor.renderersContainer.update(Q)}},{key:"mouseLeaveDrawingEntity",value:function(U){var F=U.target.__data__,Q=this.editor.drawingEntitiesManager.cancelIntentionToSelectDrawingEntity(F.drawingEntity);this.editor.renderersContainer.update(Q)}},{key:"mouseOverPolymerBond",value:function(U){if(1!==U.buttons){var F=U.target.__data__,Q=this.editor.drawingEntitiesManager.showPolymerBondInformation(F.polymerBond);this.editor.renderersContainer.update(Q)}}},{key:"mouseLeavePolymerBond",value:function(U){var F=U.target.__data__;if(F.polymerBond){var Q=this.editor.drawingEntitiesManager.hidePolymerBondInformation(F.polymerBond);this.editor.renderersContainer.update(Q)}}},{key:"setSelectedEntities",value:function(){this.previousSelectedEntities=this.editor.drawingEntitiesManager.selectedEntities,this.editor.events.selectEntities.dispatch(this.previousSelectedEntities.map(function(U){return U[1]})),this.updateRotationView()}},{key:"updateRotationView",value:function(){var U;if(this.editor.drawingEntitiesManager.selectedEntitiesArr.filter(function(U){return U instanceof cV||U instanceof un}).length<2||"sequence-layout-mode"===this.editor.mode.modeName||"standby"!==this.mode&&"rotating-center"!==this.mode)return this.editor.transientDrawingView.hideRotation(),void this.editor.transientDrawingView.update();var F=this.editor.drawingEntitiesManager.getSelectedEntitiesBoundingBox(),Q=null!==(U=this.userRotationCenter)&&void 0!==U?U:this.editor.drawingEntitiesManager.getSelectedEntitiesCenter();if(!F||!Q)return this.editor.transientDrawingView.hideRotation(),void this.editor.transientDrawingView.update();var B=this.buildRotationViewParams(Q,F);this.editor.transientDrawingView.showRotation(B),this.editor.transientDrawingView.update()}},{key:"handleRotationMove",value:function(F){var Q=this;if(this.rotationCenter){var B=VQ.modelToCanvas(this.rotationCenter),R=this.editor.lastCursorPositionOfCanvas,V=Math.atan2(R.y-B.y,R.x-B.x)-this.rotationStartAngle,n=180*V/Math.PI;if(!F.ctrlKey){var l=U.ROTATION_SNAP_ANGLE;n=Math.round(n/l)*l,V=n*Math.PI/180}var d=n-this.currentRotationAngle;this.currentRotationAngle=n;var J=this.editor.drawingEntitiesManager.rotateSelectedDrawingEntities(this.rotationCenter,d,!0);requestAnimationFrame(function(){Q.editor.renderersContainer.update(J),Q.editor.drawingEntitiesManager.rerenderBondsOverlappedByMonomers();var U=Q.editor.drawingEntitiesManager.getSelectedEntitiesBoundingBox();if(U&&Q.rotationCenter){var F=Q.buildRotationViewParams(Q.rotationCenter,U,Q.rotationStartAngle);Q.editor.transientDrawingView.showRotation(up(up({},F),{},{rotationAngle:V,isRotating:!0})),Q.editor.transientDrawingView.update()}})}}},{key:"finishRotation",value:function(){var F=Nt.getInstance(this.editor);if(!this.rotationCenter||Math.abs(this.currentRotationAngle)2*Q/3&&(n=R+Q-V),null===n)return{angleSnapPosition:null};var l=n*Math.PI/180,d=null!==B&&void 0!==B?B:zF.diff(U,F).length(),J=new zF(F.x-d*Math.cos(l),F.y-d*Math.sin(l));return zF.diff(U,J).length()F-Q&&BR-V}},{key:"calculateGroupCenterSnapPosition",value:function(F,Q,B){for(var R=[],V=ml(F),n=new zF(V.left+V.width/2,V.top+V.height/2),l=n.add(B),d=0;d=DU?"horizontal":B=DU?"vertical":null}},{key:"checkMonomersAlignment",value:function(F,Q,B,R){var V=U.determineAlignment(F.center,Q.center);if(V!==B)return!1;var n="horizontal"===V?Math.abs(F.center.x-Q.center.x):Math.abs(F.center.y-Q.center.y);return Math.abs(n-R)<1e-4}},{key:"getNextMonomers",value:function(U,F){return U.polymerBondsSortedByLength.map(function(F){return F.getAnotherMonomer(U)}).filter(function(U){return U&&!F.has(U.id)})}},{key:"findRemainingAlignedMonomers",value:function(F,Q,B,R){var V=new Set(Q.map(function(U){return U.id})),n=[];return function F(Q){var l,d=Lp(U.getNextMonomers(Q,V));try{for(d.s();!(l=d.n()).done;){var J=l.value;J&&(U.checkMonomersAlignment(Q,J,B,R)&&(V.add(J.id),n.push(J),F(J)))}}catch(N){d.e(N)}finally{d.f()}}(F),n}},{key:"calculateSideDistanceSnap",value:function(F,Q,R){var V=R.polymerBondsSortedByLength.find(function(U){return U.getAnotherMonomer(R)!==Q});if(!V)return{distanceSnapPosition:null};var n=V.getAnotherMonomer(R);if(!n)return{distanceSnapPosition:null};var l=U.determineAlignment(R.center,n.center);if(!l)return{distanceSnapPosition:null};var d="horizontal"===l,J=d?"x":"y",N=d?"y":"x";if(Math.abs(F[N]-R.center[N])>=DU)return{distanceSnapPosition:null};var Z=Math.abs(R.center[J]-n.center[J]),W=Math.abs(F[J]-R.center[J]);if(Math.abs(W-Z)>=oU)return{distanceSnapPosition:null};var S=Math.sign(R.center[J]-F[J]),E=R.center[J]-S*Z,k=d?new zF(E,F.y):new zF(F.x,E),t=[Q,R,n],a=U.findRemainingAlignedMonomers(n,t,l,Z);return{snapDistance:Z,distanceSnapPosition:k,alignment:l,alignedMonomers:[].concat(t,(0,B.A)(a))}}},{key:"calculateInBetweenDistanceSnap",value:function(F,Q,R,V,n){var l="horizontal"===n,d=l?"x":"y",J=l?"y":"x",N=Math.abs(F[J]-R.center[J]),Z=Math.abs(F[J]-V.center[J]);if(N>=DU||Z>=DU)return{distanceSnapPosition:null};var W=Math.abs(F[d]-R.center[d]),S=Math.abs(R.center[d]-V.center[d])/2;if(Math.abs(W-S)>=oU)return{distanceSnapPosition:null};var E=(R.center[d]+V.center[d])/2,k=l?new zF(E,F.y):new zF(F.x,E),t=[Q,R,V],a=U.findRemainingAlignedMonomers(R,t,n,S),T=U.findRemainingAlignedMonomers(V,t,n,S);return{snapDistance:S,distanceSnapPosition:k,alignment:n,alignedMonomers:[].concat(t,(0,B.A)(a),(0,B.A)(T))}}},{key:"calculateDistanceSnap",value:function(F,Q,B){var R=Q.polymerBondsSortedByLength[1];if(!R)return U.calculateSideDistanceSnap(F,Q,B);var V=R.getAnotherMonomer(Q);if(!V)return U.calculateSideDistanceSnap(F,Q,B);var n=U.determineAlignment(B.center,V.center);return n?U.calculateInBetweenDistanceSnap(F,Q,B,V,n):U.calculateSideDistanceSnap(F,Q,B)}}]),U}();function jp(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(jp=function(){return!!U})()}(0,Z.A)(wp,"ROTATION_SNAP_ANGLE",15),(0,Z.A)(wp,"ROTATION_ANGLE_EPSILON",.001);var Ip=function(U){function F(U){var Q;return(0,V.A)(this,F),Q=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,jp()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[U]),(0,Z.A)((0,J.A)(Q),"selectionViewParams",{type:"rectangle",start:[0,0],width:0,height:0}),Q.editor=U,Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"updateSelectionViewParams",value:function(){var U=this.editor.lastCursorPositionOfCanvas.x-this.mousePositionBeforeMove.x,F=this.editor.lastCursorPositionOfCanvas.y-this.mousePositionBeforeMove.y;this.selectionViewParams.start[0]=U<0?this.editor.lastCursorPositionOfCanvas.x:this.mousePositionBeforeMove.x,this.selectionViewParams.start[1]=F<0?this.editor.lastCursorPositionOfCanvas.y:this.mousePositionBeforeMove.y,this.selectionViewParams.width=Math.abs(U),this.selectionViewParams.height=Math.abs(F)}},{key:"createSelectionView",value:function(){this.editor.transientDrawingView.showSelection(this.selectionViewParams)}},{key:"onSelectionMove",value:function(U){var F=this,Q=KV();Q.isSequenceEditMode||Q.isSequenceEditInRNABuilderMode||requestAnimationFrame(function(){var Q=VQ.viewToCanvas(F.editor.lastCursorPosition),B=Math.min(F.selectionStartCanvasPosition.x,Q.x),R=Math.min(F.selectionStartCanvasPosition.y,Q.y),V=Math.max(F.selectionStartCanvasPosition.x,Q.x),n=Math.max(F.selectionStartCanvasPosition.y,Q.y),l=new zF(B,R),d=new zF(V,n),J=F.editor.drawingEntitiesManager.selectIfLocatedInRectangle(l,d,F.previousSelectedEntities,U);F.editor.renderersContainer.update(J),F.editor.transientDrawingView.update()})}}]),F}(wp);function Kp(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(Kp=function(){return!!U})()}var fp=function(U){function F(U){var Q;return(0,V.A)(this,F),Q=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,Kp()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[U]),(0,Z.A)((0,J.A)(Q),"selectionViewParams",{type:"lasso",path:[]}),Q.editor=U,Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"createSelectionView",value:function(){this.selectionViewParams.path=[],this.editor.transientDrawingView.showSelection(this.selectionViewParams)}},{key:"updateSelectionViewParams",value:function(){this.selectionViewParams.path.push([this.editor.lastCursorPositionOfCanvas.x,this.editor.lastCursorPositionOfCanvas.y])}},{key:"onSelectionMove",value:function(U){var F=this,Q=KV();Q.isSequenceEditMode||Q.isSequenceEditInRNABuilderMode||(requestAnimationFrame(function(){var Q=F.selectionViewParams.path.map(function(U){return new zF(U[0],U[1])}),B=F.editor.drawingEntitiesManager.selectIfLocatedInPolygon(Q,F.previousSelectedEntities,U);F.editor.renderersContainer.update(B),F.editor.transientDrawingView.update()}),requestAnimationFrame(function(){F.editor.transientDrawingView.update()}))}}]),F}(wp);function gp(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(gp=function(){return!!U})()}var Pp=function(U){function F(U){var Q;return(0,V.A)(this,F),(Q=function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,gp()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,[U])).editor=U,Q}return(0,N.A)(F,U),(0,n.A)(F,[{key:"createSelectionView",value:function(){}},{key:"onSelectionMove",value:function(){}},{key:"updateSelectionViewParams",value:function(){}},{key:"mousedownEntity",value:function(U){var Q=arguments.length>1&&void 0!==arguments[1]&&arguments[1],B=arguments.length>2&&void 0!==arguments[2]&&arguments[2];b((0,d.A)(F.prototype),"mousedownEntity",this).call(this,U,Q,B);var R=this.editor.drawingEntitiesManager.selectAllConnectedEntities(U.drawingEntity);this.editor.renderersContainer.update(R)}},{key:"mouseOverDrawingEntity",value:function(U){var F=U.target.__data__,Q=this.editor.drawingEntitiesManager.intendToSelectAllConnectedDrawingEntities(F.drawingEntity);this.editor.renderersContainer.update(Q)}},{key:"mouseLeaveDrawingEntity",value:function(U){var F=U.target.__data__,Q=this.editor.drawingEntitiesManager.cancelIntentionToSelectAllConnectedDrawingEntities(F.drawingEntity);this.editor.renderersContainer.update(Q)}}]),F}(wp),Ap=function(){function U(F,Q){(0,V.A)(this,U),(0,Z.A)(this,"MONOMER_PREVIEW_SCALE_FACTOR",.8),(0,Z.A)(this,"MONOMER_PREVIEW_OFFSET_X",30),(0,Z.A)(this,"MONOMER_PREVIEW_OFFSET_Y",30),this.editor=F,this.monomer=Q,this.editor=F,this.monomer=Q,this.history=Nt.getInstance(this.editor)}return(0,n.A)(U,[{key:"mousedown",value:function(){var U;S()(this.monomerPreviewRenderer);var F=VQ.canvasToModel(new zF(this.editor.lastCursorPositionOfCanvas.x,this.editor.lastCursorPositionOfCanvas.y));U=OR(this.monomer)?this.editor.drawingEntitiesManager.addAmbiguousMonomer(this.monomer,F):this.editor.drawingEntitiesManager.addMonomer(this.monomer,F),this.history.update(U),this.editor.renderersContainer.update(U),this.editor.calculateAndStoreNextAutochainPosition(U.operations[0].monomer)}},{key:"mousemove",value:function(){var U,F,Q=VQ.canvasToModel(new zF(this.editor.lastCursorPosition.x+this.MONOMER_PREVIEW_OFFSET_X,this.editor.lastCursorPosition.y+this.MONOMER_PREVIEW_OFFSET_Y));null===(U=this.monomerPreview)||void 0===U||U.moveAbsolute(Q),null===(F=this.monomerPreviewRenderer)||void 0===F||F.move()}},{key:"mouseLeaveClientArea",value:function(){this.hidePreview()}},{key:"mouseover",value:function(){if(!this.monomerPreview){var U;if(OR(this.monomer)){var F=new Vn(this.monomer);this.monomerPreview=F,this.monomerPreviewRenderer=new BJ(F,this.MONOMER_PREVIEW_SCALE_FACTOR)}else{var Q=RJ(this.monomer),B=(0,R.A)(Q,2),V=B[0],n=B[1];this.monomerPreview=new V(this.monomer),this.monomerPreviewRenderer=new n(this.monomerPreview,this.MONOMER_PREVIEW_SCALE_FACTOR,!1)}null===(U=this.monomerPreviewRenderer)||void 0===U||U.show(this.editor.theme)}}},{key:"hidePreview",value:function(){var U;null===(U=this.monomerPreviewRenderer)||void 0===U||U.remove(),this.monomerPreviewRenderer=void 0,this.monomerPreview=void 0}},{key:"destroy",value:function(){this.hidePreview()}}]),U}(),qp=function(U){var F,Q,B=null!==(F=null===U||void 0===U||null===(Q=U.props)||void 0===Q?void 0:Q.id)&&void 0!==F?F:null===U||void 0===U?void 0:U.id;if(B)return Boolean(null===U||void 0===U?void 0:U.isAmbiguous)?QV(B):$R(B)},_p=function(U){var F;if(null!==U&&void 0!==U&&U.phosphate){var Q=qp(U.sugar),B=qp(U.phosphate),R=null===(F=U.connections)||void 0===F?void 0:F.find(function(U){return function(U,F,Q){var B=[U.endpoint1.templateId,U.endpoint2.templateId];if(F&&Q)return B.includes(F)&&B.includes(Q);var R=[U.endpoint1.attachmentPointId,U.endpoint2.attachmentPointId];return!R.includes(BR.R3)&&R.includes(BR.R1)&&R.includes(BR.R2)}(U,Q,B)});return R&&(Q&&R.endpoint1.templateId!==Q?R.endpoint2:R.endpoint1).attachmentPointId===BR.R1?"left":"right"}},$p=function(U,F){var Q=qp(U.base),B=qp(U.sugar),R=qp(U.phosphate),V=[];return Q&&B&&V.push({connectionType:IB.SINGLE,endpoint1:{templateId:Q,attachmentPointId:BR.R1},endpoint2:{templateId:B,attachmentPointId:BR.R3}}),B&&R&&V.push({connectionType:IB.SINGLE,endpoint1:{templateId:B,attachmentPointId:"left"===F?BR.R1:BR.R2},endpoint2:{templateId:R,attachmentPointId:"left"===F?BR.R2:BR.R1}}),V},Uh=function(){function U(F,Q){(0,V.A)(this,U),(0,Z.A)(this,"MONOMER_PREVIEW_SCALE_FACTOR",.5),(0,Z.A)(this,"MONOMER_PREVIEW_OFFSET_X",30),(0,Z.A)(this,"MONOMER_PREVIEW_OFFSET_Y",30),(0,Z.A)(this,"RNA_BASE_PREVIEW_OFFSET_X",1),(0,Z.A)(this,"RNA_BASE_PREVIEW_OFFSET_Y",20),(0,Z.A)(this,"PHOSPHATE_PREVIEW_OFFSET_X",18),this.editor=F,this.editor=F,null!==Q&&void 0!==Q&&Q.base&&(this.rnaBase=null===Q||void 0===Q?void 0:Q.base),null!==Q&&void 0!==Q&&Q.phosphate&&(this.phosphate=null===Q||void 0===Q?void 0:Q.phosphate),this.connections=(null===Q||void 0===Q?void 0:Q.connections)||[],null!==Q&&void 0!==Q&&Q.sugar&&(this.sugar=null===Q||void 0===Q?void 0:Q.sugar),null!==Q&&void 0!==Q&&Q.connections&&(this.connections=null===Q||void 0===Q?void 0:Q.connections),this.history=Nt.getInstance(this.editor)}return(0,n.A)(U,[{key:"mousedown",value:function(){if(this.sugar&&this.sugarPreviewRenderer){var U;if(this.phosphatePreviewRenderer){var F="left"===_p(this)?-hU:hU;U=VQ.canvasToModel(new zF(this.editor.lastCursorPositionOfCanvas.x+F,this.editor.lastCursorPositionOfCanvas.y))}var Q=this.editor.drawingEntitiesManager.addRnaPreset({sugar:this.sugar,sugarPosition:VQ.canvasToModel(new zF(this.editor.lastCursorPositionOfCanvas.x,this.editor.lastCursorPositionOfCanvas.y)),phosphate:this.phosphate,phosphatePosition:U,rnaBase:this.rnaBase,rnaBasePosition:this.rnaBasePreviewRenderer?VQ.canvasToModel(new zF(this.editor.lastCursorPositionOfCanvas.x,this.editor.lastCursorPositionOfCanvas.y+hU)):void 0,connections:this.connections}),B=Q.command,R=Q.monomers;this.history.update(B),this.editor.renderersContainer.update(B),this.editor.calculateAndStoreNextAutochainPosition(R.find(function(U){return U instanceof IV})||R.find(function(U){return U instanceof HV}))}else this.editor.events.error.dispatch("No sugar in RNA preset found")}},{key:"mousemove",value:function(){var U,F,Q,B,R,V;null===(U=this.sugarPreview)||void 0===U||U.moveAbsolute(VQ.canvasToModel(new zF(this.editor.lastCursorPosition.x+this.MONOMER_PREVIEW_OFFSET_X,this.editor.lastCursorPosition.y+this.MONOMER_PREVIEW_OFFSET_Y))),null===(F=this.rnaBasePreview)||void 0===F||F.moveAbsolute(VQ.canvasToModel(new zF(this.editor.lastCursorPosition.x+this.MONOMER_PREVIEW_OFFSET_X+this.RNA_BASE_PREVIEW_OFFSET_X,this.editor.lastCursorPosition.y+this.MONOMER_PREVIEW_OFFSET_Y+this.RNA_BASE_PREVIEW_OFFSET_Y))),null===(Q=this.phosphatePreview)||void 0===Q||Q.moveAbsolute(VQ.canvasToModel(new zF(this.editor.lastCursorPosition.x+this.MONOMER_PREVIEW_OFFSET_X+("left"===_p(this)?-this.PHOSPHATE_PREVIEW_OFFSET_X:this.PHOSPHATE_PREVIEW_OFFSET_X),this.editor.lastCursorPosition.y+this.MONOMER_PREVIEW_OFFSET_Y))),null===(B=this.rnaBasePreviewRenderer)||void 0===B||B.move(),null===(R=this.phosphatePreviewRenderer)||void 0===R||R.move(),null===(V=this.sugarPreviewRenderer)||void 0===V||V.move()}},{key:"mouseLeaveClientArea",value:function(){var U,F,Q;null===(U=this.sugarPreviewRenderer)||void 0===U||U.remove(),this.sugarPreviewRenderer=void 0,this.sugarPreview=void 0,null===(F=this.phosphatePreviewRenderer)||void 0===F||F.remove(),this.phosphatePreviewRenderer=void 0,this.phosphatePreview=void 0,null===(Q=this.rnaBasePreviewRenderer)||void 0===Q||Q.remove(),this.rnaBasePreviewRenderer=void 0,this.rnaBasePreview=void 0}},{key:"mouseover",value:function(){var U;if(this.sugar){if(!this.sugarPreview){var F=RJ(this.sugar),Q=(0,R.A)(F,2),B=Q[0],V=Q[1];if(this.sugarPreview=new B(this.sugar),this.sugarPreviewRenderer=new V(this.sugarPreview,this.MONOMER_PREVIEW_SCALE_FACTOR),null===(U=this.sugarPreviewRenderer)||void 0===U||U.show(this.editor.theme),this.rnaBase){var n,l=RJ(this.rnaBase),d=(0,R.A)(l,2),J=d[0],N=d[1];this.rnaBasePreview=new J(this.rnaBase),this.rnaBasePreviewRenderer=new N(this.rnaBasePreview,this.MONOMER_PREVIEW_SCALE_FACTOR),null===(n=this.rnaBasePreviewRenderer)||void 0===n||n.show(this.editor.theme)}if(this.phosphate){var Z,W=RJ(this.phosphate),S=(0,R.A)(W,2),E=S[0],k=S[1];this.phosphatePreview=new E(this.phosphate),this.phosphatePreviewRenderer=new k(this.phosphatePreview,this.MONOMER_PREVIEW_SCALE_FACTOR),null===(Z=this.phosphatePreviewRenderer)||void 0===Z||Z.show(this.editor.theme)}}}else this.editor.events.error.dispatch("No sugar in RNA preset found")}},{key:"hidePreview",value:function(){var U,F,Q;null===(U=this.rnaBasePreviewRenderer)||void 0===U||U.remove(),null===(F=this.phosphatePreviewRenderer)||void 0===F||F.remove(),null===(Q=this.sugarPreviewRenderer)||void 0===Q||Q.remove()}},{key:"destroy",value:function(){this.hidePreview()}}]),U}(),Fh=function(){function U(F,Q){var B=this;(0,V.A)(this,U),(0,Z.A)(this,"isBondConnectionModalOpen",!1),(0,Z.A)(this,"handleBondCreation",function(U){S()(B.bondRenderer);var F=U.secondMonomer,Q=U.firstSelectedAttachmentPoint,R=U.secondSelectedAttachmentPoint,V=B.editor.drawingEntitiesManager.finishPolymerBondCreation(B.bondRenderer.polymerBond,F,Q,R);B.history.update(V),B.editor.renderersContainer.update(V),Q===R&&B.editor.events.error.dispatch("You have connected monomers with attachment points of the same group"),B.isBondConnectionModalOpen=!1,B.editor.renderersContainer.deletePolymerBond(B.bondRenderer.polymerBond),B.bondRenderer=void 0}),(0,Z.A)(this,"handleBondCreationCancellation",function(U){if(B.bondRenderer){var F=B.editor.drawingEntitiesManager.cancelPolymerBondCreation(B.bondRenderer.polymerBond,U);B.editor.renderersContainer.update(F),B.isBondConnectionModalOpen=!1,B.bondRenderer=void 0}}),this.editor=F,this.editor=F,this.history=Nt.getInstance(this.editor),this.bondType=Q.toolName===Kl.bondSingle?fl.SINGLE:fl.HYDROGEN}return(0,n.A)(U,[{key:"isHydrogenBond",get:function(){return this.bondType===fl.HYDROGEN}},{key:"mouseDownAttachmentPoint",value:function(U){if(!this.isHydrogenBond){var F=U.target.__data__;F instanceof ld&&!F.monomer.isAttachmentPointUsed(U.attachmentPointName)&&F.monomer.setChosenFirstAttachmentPoint(U.attachmentPointName)}}},{key:"removeBond",value:function(){if(this.bondRenderer){var U=this.editor.drawingEntitiesManager.cancelPolymerBondCreation(this.bondRenderer.polymerBond);return this.bondRenderer=void 0,U}return new PV}},{key:"mousedown",value:function(U){var F=U.target.__data__;if(F instanceof Wd||F instanceof ld){if(!F.monomer.startBondAttachmentPoint&&!this.isHydrogenBond)return void this.editor.events.error.dispatch("Selected monomer doesn't have any free attachment points");var Q=this.editor.drawingEntitiesManager.startPolymerBondCreation(F.monomer,F.monomer.position,VQ.canvasToModel(this.editor.lastCursorPositionOfCanvas),this.bondType),B=Q.polymerBond,R=Q.command;this.editor.renderersContainer.update(R),this.bondRenderer=B.renderer}}},{key:"mousemove",value:function(){if(this.bondRenderer){var U=this.editor.drawingEntitiesManager.movePolymerBond(this.bondRenderer.polymerBond,VQ.canvasToModel(this.editor.lastCursorPositionOfCanvas));this.editor.renderersContainer.update(U)}}},{key:"mouseLeavePolymerBond",value:function(U){var F=U.target.__data__;if(!this.bondRenderer&&F.polymerBond){var Q=this.editor.drawingEntitiesManager.hidePolymerBondInformation(F.polymerBond);this.editor.renderersContainer.update(Q)}}},{key:"mouseOverPolymerBond",value:function(U){if(!this.bondRenderer){var F=U.target.__data__,Q=this.editor.drawingEntitiesManager.showPolymerBondInformation(F.polymerBond);this.editor.renderersContainer.update(Q)}}},{key:"mouseOverMonomer",value:function(U){var F,Q=U.target.__data__;if(this.bondRenderer){var B,R,V;if((null===(B=this.bondRenderer)||void 0===B?void 0:B.polymerBond.firstMonomer)===Q.monomer)return;var n=!this.shouldInvokeModal(null===(R=this.bondRenderer)||void 0===R?void 0:R.polymerBond.firstMonomer,Q.monomer,!1);F=this.editor.drawingEntitiesManager.intendToFinishBondCreation(Q.monomer,null===(V=this.bondRenderer)||void 0===V?void 0:V.polymerBond,!this.isHydrogenBond&&n)}else F=this.editor.drawingEntitiesManager.intendToStartBondCreation(Q.monomer);this.editor.renderersContainer.update(F)}},{key:"mouseOverAttachmentPoint",value:function(U){if(!this.isHydrogenBond){var F,Q=U.target.__data__;if(!Q.monomer.isAttachmentPointUsed(U.attachmentPointName)){if(this.bondRenderer){var B,R,V;if((null===(B=this.bondRenderer)||void 0===B?void 0:B.polymerBond.firstMonomer)===Q.monomer)return;var n=!this.shouldInvokeModal(null===(R=this.bondRenderer)||void 0===R?void 0:R.polymerBond.firstMonomer,Q.monomer,!1);F=this.editor.drawingEntitiesManager.intendToFinishAttachmenPointBondCreation(Q.monomer,null===(V=this.bondRenderer)||void 0===V?void 0:V.polymerBond,U.attachmentPointName,n)}else F=this.editor.drawingEntitiesManager.intendToStartAttachmenPointBondCreation(Q.monomer,U.attachmentPointName);this.editor.renderersContainer.update(F)}}}},{key:"mouseLeaveMonomer",value:function(U){var F,Q,B,R=null===(F=U.toElement)||void 0===F?void 0:F.__data__,V=null===(Q=U.fromElement)||void 0===Q?void 0:Q.__data__;if(R instanceof ld&&R.monomer===V.monomer)R.monomer.removePotentialBonds();else{var n=U.target.__data__;if(n!==(null===(B=this.bondRenderer)||void 0===B||null===(B=B.polymerBond)||void 0===B||null===(B=B.firstMonomer)||void 0===B?void 0:B.renderer)&&!this.isBondConnectionModalOpen){var l,d=this.editor.drawingEntitiesManager.cancelIntentionToFinishBondCreation(n.monomer,null===(l=this.bondRenderer)||void 0===l?void 0:l.polymerBond);this.editor.renderersContainer.update(d)}}}},{key:"mouseLeaveAttachmentPoint",value:function(U){var F;if(!this.isBondConnectionModalOpen){var Q=U.target.__data__;if(Q.monomer.renderer!==(null===(F=this.bondRenderer)||void 0===F||null===(F=F.polymerBond)||void 0===F||null===(F=F.firstMonomer)||void 0===F?void 0:F.renderer)){var B,R=this.editor.drawingEntitiesManager.cancelIntentionToFinishBondCreation(Q.monomer,null===(B=this.bondRenderer)||void 0===B?void 0:B.polymerBond);this.editor.renderersContainer.update(R)}}}},{key:"mouseUpAttachmentPoint",value:function(U){var F,Q=U.target.__data__,B=Q.monomer.renderer===(null===(F=this.bondRenderer)||void 0===F||null===(F=F.polymerBond)||void 0===F||null===(F=F.firstMonomer)||void 0===F?void 0:F.renderer);if(this.bondRenderer&&!B){var R,V,n=null===(R=this.bondRenderer)||void 0===R||null===(R=R.polymerBond)||void 0===R?void 0:R.firstMonomer,l=Q.monomer;if(l.isAttachmentPointUsed(U.attachmentPointName))return void this.mouseup();for(var d in l.attachmentPointsToBonds){var J=l.attachmentPointsToBonds[d];if(J)if(J.firstMonomer===n&&J.secondMonomer===l||J.firstMonomer===l&&J.secondMonomer===n)return void(!(J instanceof RR)&&this.isHydrogenBond?this.editor.events.error.dispatch("Unable to establish a hydrogen bond between two monomers connected with a single bond"):this.editor.events.error.dispatch("There can't be more than 1 bond between the first and the second monomer"))}if(l.setChosenSecondAttachmentPoint(U.attachmentPointName),this.shouldInvokeModal(n,l))return this.isBondConnectionModalOpen=!0,void this.editor.events.openMonomerConnectionModal.dispatch({firstMonomer:n,secondMonomer:l});var N=this.finishBondCreation(Q.monomer);this.history.update(N),null!==(V=N.operations[0])&&void 0!==V&&V.polymerBond&&this.editor.drawingEntitiesManager.detectBondsOverlappedByMonomers([N.operations[0].polymerBond]),this.editor.renderersContainer.update(N),this.editor.renderersContainer.deletePolymerBond(this.bondRenderer.polymerBond),this.bondRenderer=void 0,U.stopPropagation()}}},{key:"finishBondCreation",value:function(U){var F;if(S()(this.bondRenderer),!this.isHydrogenBond&&!U.hasFreeAttachmentPoint)return this.editor.events.error.dispatch("Monomers don't have any connection point available"),this.editor.drawingEntitiesManager.cancelPolymerBondCreation(this.bondRenderer.polymerBond);if(this.isHydrogenBond&&U.hasHydrogenBondWithMonomer(null===(F=this.bondRenderer)||void 0===F?void 0:F.polymerBond.firstMonomer))return this.editor.events.error.dispatch("Unable to establish multiple hydrogen bonds between two monomers"),this.editor.drawingEntitiesManager.cancelPolymerBondCreation(this.bondRenderer.polymerBond);var Q=this.isHydrogenBond?BR.HYDROGEN:this.bondRenderer.polymerBond.firstMonomer.getPotentialAttachmentPointByBond(this.bondRenderer.polymerBond),B=this.isHydrogenBond?BR.HYDROGEN:U.getPotentialAttachmentPointByBond(this.bondRenderer.polymerBond);return S()(Q),S()(B),Q!==B||this.isHydrogenBond||this.editor.events.error.dispatch("You have connected monomers with attachment points of the same group"),this.editor.drawingEntitiesManager.finishPolymerBondCreation(this.bondRenderer.polymerBond,U,Q,this.isHydrogenBond?BR.HYDROGEN:B,this.bondType)}},{key:"mouseup",value:function(){if(!this.isBondConnectionModalOpen){var U=this.removeBond();this.editor.renderersContainer.update(U)}}},{key:"mouseUpMonomer",value:function(U){var F,Q=U.target.__data__,B=Q===(null===(F=this.bondRenderer)||void 0===F||null===(F=F.polymerBond)||void 0===F||null===(F=F.firstMonomer)||void 0===F?void 0:F.renderer);if(this.bondRenderer&&!B){var R,V,n=null===(R=this.bondRenderer)||void 0===R||null===(R=R.polymerBond)||void 0===R?void 0:R.firstMonomer,l=Q.monomer;for(var d in l.attachmentPointsToBonds){var J=l.attachmentPointsToBonds[d];if(J)if(J.firstMonomer===n&&J.secondMonomer===l||J.firstMonomer===l&&J.secondMonomer===n)return void(!(J instanceof RR)&&this.isHydrogenBond?this.editor.events.error.dispatch("Unable to establish a hydrogen bond between two monomers connected with a single bond"):this.editor.events.error.dispatch("There can't be more than 1 bond between the first and the second monomer"))}if(this.shouldInvokeModal(n,l))return this.isBondConnectionModalOpen=!0,void this.editor.events.openMonomerConnectionModal.dispatch({firstMonomer:n,secondMonomer:l});var N=this.finishBondCreation(Q.monomer);null!==(V=N.operations[0])&&void 0!==V&&V.polymerBond&&this.editor.drawingEntitiesManager.detectBondsOverlappedByMonomers([N.operations[0].polymerBond]),this.editor.renderersContainer.update(N),this.editor.renderersContainer.deletePolymerBond(this.bondRenderer.polymerBond),this.bondRenderer=void 0,this.history.update(N),U.stopPropagation()}}},{key:"mouseUpAtom",value:function(U){var F,Q,B,R,V;if(this.bondRenderer&&!this.isHydrogenBond){var n=U.target.__data__,l=null===(F=this.bondRenderer)||void 0===F?void 0:F.polymerBond.firstMonomer;if(this.isHydrogenBond||l.chosenFirstAttachmentPointForBond){var d,J,N=null!==(Q=l.getPotentialAttachmentPointByBond(null===(B=this.bondRenderer)||void 0===B?void 0:B.polymerBond))&&void 0!==Q?Q:null===l||void 0===l?void 0:l.getValidSourcePoint();if(n.atom.bonds.find(function(U){return U instanceof dR&&U.monomer===l}))return this.editor.events.error.dispatch("Only one connection between monomer and atom is allowed"),this.editor.drawingEntitiesManager.deletePolymerBond(null===(d=this.bondRenderer)||void 0===d?void 0:d.polymerBond),null===(J=this.bondRenderer)||void 0===J||J.remove(),this.bondRenderer=void 0,void l.setChosenFirstAttachmentPoint(null);if(this.editor.drawingEntitiesManager.deletePolymerBond(null===(R=this.bondRenderer)||void 0===R?void 0:R.polymerBond),null===(V=this.bondRenderer)||void 0===V||V.remove(),this.bondRenderer=void 0,l.setChosenFirstAttachmentPoint(null),N){var Z=this.editor.drawingEntitiesManager.addMonomerToAtomBond(l,n.atom,N);this.editor.renderersContainer.update(Z),this.history.update(Z)}}else this.editor.events.error.dispatch("Monomer to Atom supports only attachment points for bond creation")}}},{key:"destroy",value:function(){var U=this.removeBond();U.merge(this.editor.drawingEntitiesManager.removeHoverForAllMonomers()),this.editor.renderersContainer.update(U)}},{key:"shouldInvokeModal",value:function(U,F){var Q=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!this.isHydrogenBond){if(!F.hasFreeAttachmentPoint)return!1;if(null!==U.chosenFirstAttachmentPointForBond&&null!==F.chosenSecondAttachmentPointForBond)return!1;if(Q&&(!U.hasPotentialBonds()||!F.hasPotentialBonds()))return!0;if(1===U.unUsedAttachmentPointsNamesList.length&&1===F.unUsedAttachmentPointsNamesList.length)return!1;if(U instanceof XV||F instanceof XV||U instanceof Vn&&U.monomerClass===WU.CHEM||F instanceof Vn&&F.monomerClass===WU.CHEM)return!0;if(U instanceof kn||F instanceof kn)return!0;var B=[HV,uV,IV],R=B.find(function(F){return U instanceof F}),V=B.find(function(U){return F instanceof U});if(R&&F instanceof bV||V&&U instanceof bV||R&&F instanceof _V||V&&U instanceof _V||R&&F instanceof Vn&&F.monomerClass===WU.AminoAcid||V&&U instanceof Vn&&U.monomerClass===WU.AminoAcid)return!0;if(F instanceof bV&&U instanceof bV){var n=U.listOfAttachmentPoints.length>2||F.listOfAttachmentPoints.length>2,l=U.unUsedAttachmentPointsNamesList.length>1||F.unUsedAttachmentPointsNamesList.length>1,d=U.isAttachmentPointUsed(BR.R1)&&F.isAttachmentPointUsed(BR.R1),J=U.isAttachmentPointUsed(BR.R2)&&F.isAttachmentPointUsed(BR.R2),N=U.isAttachmentPointUsed(BR.R2)&&U.isAttachmentPointUsed(BR.R1)||F.isAttachmentPointUsed(BR.R2)&&F.isAttachmentPointUsed(BR.R1);if(n&&l&&(d||J||N))return!0}return!1}}}]),U}(),Qh=function(){function U(F){if((0,V.A)(this,U),(0,Z.A)(this,"name","eraser-tool"),this.editor=F,this.editor=F,this.history=Nt.getInstance(F),this.editor.drawingEntitiesManager.selectedEntities.length&&"sequence-layout-mode"!==this.editor.mode.modeName){var Q=this.editor.drawingEntitiesManager.deleteSelectedEntities();Q.merge(this.editor.drawingEntitiesManager.recalculateAntisenseChains()),this.history.update(Q),this.editor.renderersContainer.update(Q),this.editor.events.selectEntities.dispatch(this.editor.drawingEntitiesManager.selectedEntities.map(function(U){return U[1]}))}}return(0,n.A)(U,[{key:"mousedown",value:function(U){var F=U.target.__data__;if(!(F instanceof GJ)&&F instanceof dd){var Q=this.editor.drawingEntitiesManager.deleteDrawingEntity(F.drawingEntity,!0,!0);Q.merge(this.editor.drawingEntitiesManager.recalculateAntisenseChains()),this.history.update(Q),this.editor.renderersContainer.update(Q),this.editor.events.selectEntities.dispatch(this.editor.drawingEntitiesManager.selectedEntities.map(function(U){return U[1]}))}}},{key:"mouseOverDrawingEntity",value:function(U){var F=U.target.__data__,Q=this.editor.drawingEntitiesManager.intendToSelectDrawingEntity(F.drawingEntity);this.editor.renderersContainer.update(Q)}},{key:"mouseLeaveDrawingEntity",value:function(U){var F=U.target.__data__,Q=this.editor.drawingEntitiesManager.cancelIntentionToSelectDrawingEntity(F.drawingEntity);this.editor.renderersContainer.update(Q)}},{key:"destroy",value:function(){}}]),U}(),Bh=function(){function U(F){if((0,V.A)(this,U),this.editor=F,this.editor=F,this.editor.drawingEntitiesManager.hasDrawingEntities){var Q=Nt.getInstance(F),B=F.mode,R=this.editor.drawingEntitiesManager.deleteAllEntities();"sequence-layout-mode"===B.modeName&&R.addOperation(new ZN),this.editor.transientDrawingView.clear(),this.editor.renderersContainer.update(R),Q.update(R),RQ.instance.resetZoom()}}return(0,n.A)(U,[{key:"destroy",value:function(){}}]),U}(),Rh=function(){function U(F){(0,V.A)(this,U),this.editor=F,this.editor.canvas.classList.add("handCursor"),this.dragBehavior=(0,h.$E)().on("start",this.handleDragStart.bind(this)).on("drag",this.handleDragging.bind(this)).on("end",this.handleDragEnd.bind(this)),(0,c.Lt)(this.editor.canvas).call(this.dragBehavior)}return(0,n.A)(U,[{key:"handleDragStart",value:function(){this.editor.canvas.classList.add("handCursorGrabbing")}},{key:"handleDragging",value:function(U){RQ.instance.scrollBy(U.dx,U.dy)}},{key:"handleDragEnd",value:function(){this.editor.canvas.classList.remove("handCursorGrabbing")}},{key:"destroy",value:function(){this.editor.canvas.classList.remove("handCursor"),(0,c.Lt)(this.editor.canvas).on(".drag",null)}}]),U}();function Vh(U){return void 0!==(null===U||void 0===U?void 0:U.destroy)}var nh=(0,Z.A)((0,Z.A)((0,Z.A)((0,Z.A)((0,Z.A)((0,Z.A)((0,Z.A)((0,Z.A)((0,Z.A)((0,Z.A)({},Kl.monomer,Ap),Kl.preset,Uh),Kl.selectRectangle,Ip),Kl.selectLasso,fp),Kl.selectStructure,Pp),Kl.bondSingle,Fh),Kl.bondHydrogen,Fh),Kl.erase,Qh),Kl.clear,Bh),Kl.hand,Rh),lh=function(){function U(F,Q,B,R){(0,V.A)(this,U),this.id=F,this.firstAtom=Q,this.secondAtom=B,this.bond=R,this.direction=new zF,this.loopId=-1,this.sinToLeftNeighborHalfEdge=0,this.cosToLeftNeighborHalfEdge=0,this.sinToRightNeighborHalfEdge=0,this.cosToRightNeighborHalfEdge=0}return(0,n.A)(U,[{key:"leftNormal",get:function(){return this.direction.turnLeft()}},{key:"angle",get:function(){return this.direction.oxAngle()}},{key:"position",get:function(){return this.firstAtom.position||new zF(0,0)}}]),U}(),dh=function(){function U(F){var Q=arguments.length>1&&void 0!==arguments[1]&&arguments[1];(0,V.A)(this,U),(0,Z.A)(this,"doubleBondsAmount",0),(0,Z.A)(this,"aromatic",!0),this.halfEdges=F,this.isConvex=Q,this.calculateDoubleBondsAmount()}return(0,n.A)(U,[{key:"calculateDoubleBondsAmount",value:function(){var U=this;this.halfEdges.forEach(function(F){F.bond.type!==fQ.PATTERN.TYPE.AROMATIC&&(U.aromatic=!1),F.bond.type===fQ.PATTERN.TYPE.DOUBLE&&U.doubleBondsAmount++})}}]),U}(),Jh=function(){function U(){(0,V.A)(this,U),(0,Z.A)(this,"halfEdges",new Map),(0,Z.A)(this,"atomsToHalfEdges",new Map),(0,Z.A)(this,"bondsToHalfEdges",new Map),(0,Z.A)(this,"loops",new Map)}return(0,n.A)(U,[{key:"setHalfBondProperties",value:function(U,F){var Q=zF.diff(U.secondAtom.position,U.firstAtom.position).normalized();U.oppositeHalfEdge=F,U.direction=zF.dist(U.secondAtom.position,U.firstAtom.position)>1e-4?Q:new zF(1,0),U.loopId<0&&(U.loopId=-1)}},{key:"setAtomsToHalfEdgesMap",value:function(U,F){var Q=this.atomsToHalfEdges.get(U);Q?Q.push(F):this.atomsToHalfEdges.set(U,[F])}},{key:"setBondsToHalfEdgesMap",value:function(U,F){var Q=this.bondsToHalfEdges.get(U);Q?Q.push(F):this.bondsToHalfEdges.set(U,[F])}},{key:"initHalfEdge",value:function(U){var F=2*U.id,Q=2*U.id+1,B=new lh(F,U.firstAtom,U.secondAtom,U),R=new lh(Q,U.secondAtom,U.firstAtom,U);this.halfEdges.set(F,B),this.halfEdges.set(Q,R),this.setAtomsToHalfEdgesMap(U.firstAtom,B),this.setAtomsToHalfEdgesMap(U.secondAtom,R),this.setBondsToHalfEdgesMap(U,B),this.setBondsToHalfEdgesMap(U,R),this.setHalfBondProperties(B,R),this.setHalfBondProperties(R,B)}},{key:"initHalfEdges",value:function(U){var F=this;U.forEach(function(U){F.initHalfEdge(U)})}},{key:"setHalfEdgesAngle",value:function(U,F){U.cosToRightNeighborHalfEdge=zF.dot(U.direction,F.direction),F.cosToLeftNeighborHalfEdge=zF.dot(U.direction,F.direction),U.sinToRightNeighborHalfEdge=zF.cross(U.direction,F.direction),F.sinToLeftNeighborHalfEdge=zF.cross(U.direction,F.direction),F.leftNeighborHalfEdge=U,U.rightNeighborHalfEdge=F}},{key:"sortAtomsHalfEdges",value:function(){var U=this;this.atomsToHalfEdges.forEach(function(F,Q){F.sort(function(U,F){return U.angle-F.angle}),F.forEach(function(B,R){var V=F[(R+1)%F.length];B.oppositeHalfEdge?(B.oppositeHalfEdge.nextHalfEdge=V,U.setHalfEdgesAngle(B,V)):GU.warn("Failed to sort HalfEdges for atom ".concat(Q.id,". HalfEdge ").concat(B.id," has no opposite halfEdge"))})})}},{key:"partitionLoop",value:function(U){for(var F=[],Q=!0;Q;){var B={};Q=!1;for(var R=0;R0&&U===l){F.partitionLoop(n).forEach(function(U){var V;F.loopIsInner(U)&&!F.loopHasSelfIntersections(U)?(V=Math.min.apply(Math,(0,B.A)(U.map(function(U){return U.id}))),F.loops.set(V,new dh(U,F.loopIsConvex(U)))):V=-2,U.forEach(function(U){U.loopId=V,R.add(U.bond.id)}),V>=0&&Q.push(V)});break}n.push(U)}}),{newLoops:Q,bondsToMark:Array.from(R)}}},{key:"getLargestSectorFromAtomNeighbours",value:function(U){var F=this.atomsToHalfEdges.get(U);if(!F||0===F.length)return GU.warn("No half-edges found for atom ".concat(U.id)),{neighborAngle:0,largestAngle:0};var Q=F.map(function(U){return U.angle});Q.sort(function(U,F){return U-F});for(var B=[],R=0;RV&&(V=B[l],n=Q[l]);return{neighborAngle:n,largestAngle:V}}},{key:"clearState",value:function(){this.halfEdges.clear(),this.loops.clear(),this.atomsToHalfEdges.clear(),this.bondsToHalfEdges.clear()}},{key:"initialize",value:function(U){this.clearState(),this.initHalfEdges(U),this.sortAtomsHalfEdges(),this.findLoops()}}]),U}(),Nh=function(U){var F="string"===typeof U?JSON.parse(U):U;return{monomersLibraryParsedJson:F,monomersLibrary:(new qS).convertMonomersLibrary(F)}};function Zh(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(Zh=function(){return!!U})()}var Wh=function(U){function F(){return(0,V.A)(this,F),function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,Zh()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,arguments)}return(0,N.A)(F,U),(0,n.A)(F,null,[{key:"show",value:function(U,F){var Q=VQ.modelToCanvas(F.startPosition),B=VQ.modelToCanvas(F.endPosition);U.append("circle").attr("cx",Q.x).attr("cy",Q.y).attr("r",4).attr("fill","white").attr("style","pointer-events: none"),U.append("circle").attr("cx",Q.x).attr("cy",Q.y).attr("r",3).attr("fill","#365CFF").attr("style","pointer-events: none"),U.append("circle").attr("cx",B.x).attr("cy",B.y).attr("r",4).attr("fill","white").attr("style","pointer-events: none"),U.append("circle").attr("cx",B.x).attr("cy",B.y).attr("r",3).attr("fill","#365CFF").attr("style","pointer-events: none"),U.append("line").attr("x1",Q.x).attr("y1",Q.y).attr("x2",B.x).attr("y2",B.y).attr("stroke","#365CFF").attr("stroke-width",1).attr("stroke-dasharray",F instanceof RR?"2":"0").attr("style","pointer-events: none")}}]),F}(Cp);function Sh(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(Sh=function(){return!!U})()}(0,Z.A)(Wh,"viewName","BondSnapView");var Eh=function(U){function F(){return(0,V.A)(this,F),function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,Sh()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,arguments)}return(0,N.A)(F,U),(0,n.A)(F,null,[{key:"show",value:function(U,F){var Q,B,R=F.connectedMonomer,V=F.polymerBond,n=F.isBondLengthSnapped,l=R.position,d=V.firstMonomer===R?V.secondMonomer:V.firstMonomer;if(d){var J=d.position,N=VQ.modelToCanvas(l),Z=VQ.modelToCanvas(J);U.append("line").attr("x1",N.x).attr("y1",N.y).attr("x2",N.x).attr("y2",N.y-40).attr("stroke","#365CFF").attr("stroke-width",.5).attr("stroke-dasharray","4").style("opacity",.75),n||U.append("line").attr("x1",N.x).attr("y1",N.y).attr("x2",Z.x).attr("y2",Z.y).attr("stroke","#365CFF").attr("stroke-width",1).attr("stroke-dasharray",V instanceof RR?"2":"0");var W=Math.atan2(Z.y-N.y,Z.x-N.x),S=-Math.PI/2;if(!(Math.abs(W-S)<1e-8)){var E=W+Math.PI/2,k=function(U,F){for(var Q=F-U;Q<=-Math.PI;)Q+=2*Math.PI;for(;Q>Math.PI;)Q-=2*Math.PI;return Q}(E,S+Math.PI/2),t=null!==(Q=null===(B=(0,r.JL)()({innerRadius:30,outerRadius:30,startAngle:E+k,endAngle:E}))||void 0===B?void 0:B.slice(0,-1))&&void 0!==Q?Q:null;U.append("path").attr("d",t).attr("transform","translate(".concat(N.x,", ").concat(N.y,")")).attr("fill","none").attr("opacity",.75).attr("stroke","#365CFF").attr("stroke-width",.5).attr("marker-end","url(#arrow-marker-arc)")}}}}]),F}(Cp);function kh(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(kh=function(){return!!U})()}(0,Z.A)(Eh,"viewName","AngleSnapView");var th=function(U){function F(){return(0,V.A)(this,F),function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,kh()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,arguments)}return(0,N.A)(F,U),(0,n.A)(F,null,[{key:"show",value:function(U,F){var Q=F.alignment,R=F.alignedMonomers;if(Q&&null!==R&&void 0!==R&&R.length){var V=(0,B.A)(R);V.sort(function(U,F){return"horizontal"===Q?U.center.x-F.center.x:U.center.y-F.center.y});var n,l=R.reduce(function(U,F){return"horizontal"===Q?F.center.y>U.center.y?F:U:F.center.x1){var V=[Q[0],Q[Q.length-1]];U.append("path").datum(V).attr("d",B).attr("stroke","#B4B9D6").attr("style","pointer-events: none")}}}else{var n=(0,R.A)(F.start,2),l=n[0],d=n[1],J=F.width,N=F.height;U.append("rect").attr("x",l).attr("y",d).attr("width",J).attr("height",N).attr("fill","transparent").attr("stroke","#B4B9D6").attr("style","pointer-events: none")}}}]),F}(Cp);function ch(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(ch=function(){return!!U})()}(0,Z.A)(hh,"viewName","SelectionView");var rh=function(U){function F(){return(0,V.A)(this,F),function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,ch()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,arguments)}return(0,N.A)(F,U),(0,n.A)(F,null,[{key:"show",value:function(U,F){var Q=F.absoluteSnapPosition,B=F.isVertical,R=F.monomerPair,V=VQ.modelToCanvas(Q);if(U.append("circle").attr("cx",V.x).attr("cy",V.y).attr("r",6).attr("fill","darkgreen").attr("stroke-width",0),B&&Math.abs(R[0].position.y-R[1].position.y)>2*DU||Math.abs(R[0].position.x-R[1].position.x)<2*DU){var n=R[0].position.x>R[1].position.x?R[0].position:R[1].position,l=VQ.modelToCanvas(n),d=Math.abs(l.x)+80;U.append("line").attr("x1",V.x).attr("y1",V.y).attr("x2",d).attr("y2",V.y).attr("stroke","darkgreen").attr("stroke-width",.5).attr("stroke-dasharray",4),R.forEach(function(F){var Q=VQ.modelToCanvas(F.position);U.append("line").attr("x1",Q.x).attr("y1",Q.y).attr("x2",d).attr("y2",Q.y).attr("stroke","#365CFF").attr("stroke-width",.5).attr("stroke-dasharray",4),U.append("line").attr("x1",d).attr("y1",Q.y).attr("x2",d).attr("y2",V.y).attr("stroke","#365CFF").attr("stroke-width",.5).attr("marker-end","url(#arrow-marker-arc)").style("opacity",.75)})}else{var J=R[0].position.y>R[1].position.y?R[0].position:R[1].position,N=VQ.modelToCanvas(J);U.append("line").attr("x1",V.x).attr("y1",V.y).attr("x2",V.x).attr("y2",N.y+80).attr("stroke","darkgreen").attr("stroke-width",.5).attr("stroke-dasharray",4),R.forEach(function(F){var Q=VQ.modelToCanvas(F.position);U.append("line").attr("x1",Q.x).attr("y1",Q.y).attr("x2",Q.x).attr("y2",N.y+80).attr("stroke","#365CFF").attr("stroke-width",.5).attr("stroke-dasharray",4),U.append("line").attr("x1",Q.x).attr("y1",N.y+80).attr("x2",V.x).attr("y2",N.y+80).attr("stroke","#365CFF").attr("stroke-width",.5).attr("marker-end","url(#arrow-marker-arc)").style("opacity",.75)})}}}]),F}(Cp);(0,Z.A)(rh,"viewName","GroupCentersnapView");var mh=function(){function U(){var F,Q;(0,V.A)(this,U),(0,Z.A)(this,"views",new Map);var B=null!==(F=null===(Q=RQ.instance)||void 0===Q?void 0:Q.canvas)&&void 0!==F?F:(0,c.Lt)(FQ);this.defaultLayer=B.append("g").attr("class","transient-views-layer"),this.topLayer=B.append("g").attr("class","transient-views-top-layer"),this.topLayer.raise()}return(0,n.A)(U,[{key:"addView",value:function(U,F){this.views.has(U)&&this.removeView(U),this.views.set(U,F)}},{key:"removeView",value:function(U){var F=this.views.get(U);null!==F&&void 0!==F&&F.onHide&&F.onHide(),this.views.delete(U)}},{key:"showBondSnap",value:function(U){this.addView(Wh.viewName,{show:Wh.show,params:U,topLayer:!0,onShow:function(){var F,Q;null===(F=U.renderer)||void 0===F||F.setVisibility(!1),U.firstMonomer.renderer&&U.firstMonomer.renderer.setLabelVisibility(!1),null!==(Q=U.secondMonomer)&&void 0!==Q&&Q.renderer&&U.secondMonomer.renderer.setLabelVisibility(!1)},onHide:function(){var F,Q;null===(F=U.renderer)||void 0===F||F.setVisibility(!0),U.firstMonomer.renderer&&U.firstMonomer.renderer.setLabelVisibility(!0),null!==(Q=U.secondMonomer)&&void 0!==Q&&Q.renderer&&U.secondMonomer.renderer.setLabelVisibility(!0)}})}},{key:"hideBondSnap",value:function(){this.removeView(Wh.viewName)}},{key:"showAngleSnap",value:function(U){var F=U.polymerBond;this.addView(Eh.viewName,{show:Eh.show,params:U,onShow:function(){var U;null===(U=F.renderer)||void 0===U||U.setVisibility(!1)},onHide:function(){var U;null===(U=F.renderer)||void 0===U||U.setVisibility(!0)}})}},{key:"hideAngleSnap",value:function(){this.removeView(Eh.viewName)}},{key:"showDistanceSnap",value:function(U){this.addView(th.viewName,{show:th.show,params:U})}},{key:"hideDistanceSnap",value:function(){this.removeView(th.viewName)}},{key:"showGroupCenterSnap",value:function(U){this.addView(rh.viewName,{show:rh.show,params:U,topLayer:!0})}},{key:"hideGroupCenterSnap",value:function(){this.removeView(rh.viewName)}},{key:"showModifyAminoAcidsView",value:function(U){this.addView(Th.viewName,{show:Th.show,topLayer:!0,params:U})}},{key:"hideModifyAminoAcidsView",value:function(){this.removeView(Th.viewName)}},{key:"showLineLengthHighlight",value:function(U){this.addView(Ch.viewName,{show:Ch.show,params:U,topLayer:!0})}},{key:"hideLineLengthHighlight",value:function(){this.removeView(Ch.viewName)}},{key:"showAutochainPreview",value:function(U,F,Q){this.addView(oh.viewName,{show:oh.show,params:{monomerOrRnaItem:U,position:F,selectedMonomerToConnect:Q}})}},{key:"hideAutochainPreview",value:function(){this.removeView(oh.viewName)}},{key:"showSelection",value:function(U){this.addView(hh.viewName,{show:hh.show,params:U})}},{key:"hideSelection",value:function(){this.removeView(hh.viewName)}},{key:"showRotation",value:function(U){this.addView(Op.viewName,{show:Op.show,params:U,topLayer:!0})}},{key:"hideRotation",value:function(){this.removeView(Op.viewName)}},{key:"clear",value:function(){var U=this;this.views.forEach(function(F,Q){return U.removeView(Q)}),this.update()}},{key:"update",value:function(){var U=this;this.topLayer.selectAll("*").remove(),this.defaultLayer.selectAll("*").remove(),this.views.forEach(function(F){var Q;F.show(F.topLayer?U.topLayer:U.defaultLayer,F.params),null===F||void 0===F||null===(Q=F.onShow)||void 0===Q||Q.call(F)}),this.topLayer.raise()}}]),U}(),Mh=function(){function U(F){(0,V.A)(this,U),this.lineLengthUpdate=F,this.previousLineLength=uU.editorLineLength,this.execute()}return(0,n.A)(U,[{key:"execute",value:function(){uU.editorLineLength=this.lineLengthUpdate,KV().mode.initialize()}},{key:"invert",value:function(){uU.editorLineLength=this.previousLineLength,KV().mode.initialize()}}]),U}();function ih(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function bh(U){for(var F=1;F0){var U=this.drawingEntitiesManager.unselectAllDrawingEntities();this.renderersContainer.update(U)}}},{key:"clearMonomersLibrary",value:function(){this._monomersLibrary=[],this._monomersLibraryParsedJson={root:{templates:[],nodes:[],connections:[]}}}},{key:"initializeMonomersLibraryFromKetcher",value:function(){var U=(0,E.A)(t().mark(function U(F,Q){var B,R,V;return t().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:if(B=F||Q){U.next=3;break}return U.abrupt("return");case 3:return R=Jt.getKetcher(this.ketcherId),Q&&this.clearMonomersLibrary(),U.next=7,R.ensureMonomersLibraryDataInKetFormat(B);case 7:V=U.sent,this.updateMonomersLibrary(V);case 9:case"end":return U.stop()}},U,this)}));return function(F,Q){return U.apply(this,arguments)}}()},{key:"setMonomersLibrary",value:function(U){var F=this;if(0!==zh.length&&void 0!==Oh)return this._monomersLibrary=zh,void(this._monomersLibraryParsedJson=Oh);var Q=Nh(U),B=Q.monomersLibraryParsedJson,R=Q.monomersLibrary;this._monomersLibrary=R,this._monomersLibraryParsedJson=B,uU.monomerLibraryUpdates.forEach(function(U){var Q=JSON.parse(U);Q.replacement?(F.clearMonomersLibrary(),F.updateMonomersLibrary(Q.data)):F.updateMonomersLibrary(Q.data||U)}),zh=this._monomersLibrary,Oh=this._monomersLibraryParsedJson}},{key:"updateMonomersLibrary",value:function(U){var F=this,Q=Nh(U),B=Q.monomersLibraryParsedJson,R=Q.monomersLibrary,V=function(U,F){return!(null===U||void 0===U||!U.props||null===F||void 0===F||!F.props)&&(U.props.MonomerName===F.props.MonomerName&&U.props.MonomerClass===F.props.MonomerClass&&U.props.hidden===F.props.hidden)};R.forEach(function(U){var Q,R,n,l,d,J,N=yh(null===(Q=U.props)||void 0===Q?void 0:Q.MonomerClass);if(null===(R=U.props)||void 0===R||!R.aliasHELM||bF(U.props.aliasHELM))if(null===(n=U.props)||void 0===n||!n.aliasBILN||vF(U.props.aliasBILN))if(null===(l=U.props)||void 0===l||!l.aliasHELM||GF(U.props.aliasHELM)){if(F._monomersLibrary.some(function(F){var Q,B,R,n,l,d,J,Z,W,S,E,k,t,a,T,e,C,D,o;return!V(F,U)&&(Boolean(null===(Q=U.props)||void 0===Q?void 0:Q.aliasHELM)&&(null===(B=F.props)||void 0===B?void 0:B.aliasHELM)===(null===(R=U.props)||void 0===R?void 0:R.aliasHELM)||N&&Boolean(null===(n=U.props)||void 0===n?void 0:n.aliasBILN)&&yh(null===(l=F.props)||void 0===l?void 0:l.MonomerClass)&&(null===(d=F.props)||void 0===d?void 0:d.aliasBILN)===(null===(J=U.props)||void 0===J?void 0:J.aliasBILN)||Boolean(null===(Z=U.props)||void 0===Z||null===(Z=Z.idtAliases)||void 0===Z?void 0:Z.base)&&(null===(W=F.props)||void 0===W||null===(W=W.idtAliases)||void 0===W?void 0:W.base)===(null===(S=U.props)||void 0===S||null===(S=S.idtAliases)||void 0===S?void 0:S.base)||Boolean(null===(E=U.props)||void 0===E||null===(E=E.idtAliases)||void 0===E||null===(E=E.modifications)||void 0===E?void 0:E.endpoint3)&&(null===(k=F.props)||void 0===k||null===(k=k.idtAliases)||void 0===k||null===(k=k.modifications)||void 0===k?void 0:k.endpoint3)===(null===(t=U.props)||void 0===t||null===(t=t.idtAliases)||void 0===t||null===(t=t.modifications)||void 0===t?void 0:t.endpoint3)||Boolean(null===(a=U.props)||void 0===a||null===(a=a.idtAliases)||void 0===a||null===(a=a.modifications)||void 0===a?void 0:a.endpoint5)&&(null===(T=F.props)||void 0===T||null===(T=T.idtAliases)||void 0===T||null===(T=T.modifications)||void 0===T?void 0:T.endpoint5)===(null===(e=U.props)||void 0===e||null===(e=e.idtAliases)||void 0===e||null===(e=e.modifications)||void 0===e?void 0:e.endpoint5)||Boolean(null===(C=U.props)||void 0===C||null===(C=C.idtAliases)||void 0===C||null===(C=C.modifications)||void 0===C?void 0:C.internal)&&(null===(D=F.props)||void 0===D||null===(D=D.idtAliases)||void 0===D||null===(D=D.modifications)||void 0===D?void 0:D.internal)===(null===(o=U.props)||void 0===o||null===(o=o.idtAliases)||void 0===o||null===(o=o.modifications)||void 0===o?void 0:o.internal))})){var Z=function(U){var F,Q,B,R,V,n;return[null!==(F=U.props)&&void 0!==F&&F.aliasHELM?'HELM alias "'.concat(U.props.aliasHELM,'"'):null,null!==(Q=U.props)&&void 0!==Q&&Q.aliasBILN?'BILN alias "'.concat(U.props.aliasBILN,'"'):null,null!==(B=U.props)&&void 0!==B&&null!==(B=B.idtAliases)&&void 0!==B&&B.base?'IDT base alias "'.concat(U.props.idtAliases.base,'"'):null,null!==(R=U.props)&&void 0!==R&&null!==(R=R.idtAliases)&&void 0!==R&&null!==(R=R.modifications)&&void 0!==R&&R.endpoint3?"IDT 3' alias \"".concat(U.props.idtAliases.modifications.endpoint3,'"'):null,null!==(V=U.props)&&void 0!==V&&null!==(V=V.idtAliases)&&void 0!==V&&null!==(V=V.modifications)&&void 0!==V&&V.endpoint5?"IDT 5' alias \"".concat(U.props.idtAliases.modifications.endpoint5,'"'):null,null!==(n=U.props)&&void 0!==n&&null!==(n=n.idtAliases)&&void 0!==n&&null!==(n=n.modifications)&&void 0!==n&&n.internal?'IDT internal alias "'.concat(U.props.idtAliases.modifications.internal,'"'):null].filter(function(U){return Boolean(U)}).join(", ")}(U),W="Editor::updateMonomersLibrary: Alias collision detected for monomer ".concat(U.props.MonomerName).concat(Z?" (".concat(Z,")"):"",". The monomer was not added to the library.");GU.error(W)}else if(null===(d=U.props)||void 0===d||!d.idtAliases||U.props.idtAliases.base){if(null!==(J=U.props)&&void 0!==J&&J.idtAliases){var S=U.props.idtAliases,E=S.base,k=S.modifications;if([E,null===k||void 0===k?void 0:k.endpoint3,null===k||void 0===k?void 0:k.endpoint5,null===k||void 0===k?void 0:k.internal].filter(Boolean).some(function(U){return!mF(U)})){var t='Editor::updateMonomersLibrary: Load of "'.concat(U.props.MonomerName,'" monomer has failed. ').concat(CF," The monomer was not added to the library.");return void GU.error(t)}var a=iF(U.props.idtAliases);if(a.length>0){var T=a.map(function(U){var F=U.alias,Q=U.value;return"".concat(F,'="').concat(Q,'"')}).join(", "),e='Editor::updateMonomersLibrary: Load of "'.concat(U.props.MonomerName,'" monomer has failed. ').concat(oF," Offending field(s): ").concat(T,". The monomer was not added to the library.");return void GU.error(e)}}var C=F._monomersLibrary.findIndex(function(F){return V(F,U)}),D=VV(U);if(-1!==C){var o=VV(F._monomersLibrary[C]);if(-1!==F._monomersLibraryParsedJson.root.templates.findIndex(function(U){return U.$ref===o})){var p=F._monomersLibrary[C],h=p.props.id,c=null!==h&&void 0!==h?h:hR(p);F._monomersLibrary[C]=U,F._monomersLibrary[C].props.id=c,F._monomersLibraryParsedJson[o]=B[D]}else GU.error("Editor::updateMonomersLibrary: A ref is missing for a monomer in library",o)}else F._monomersLibrary.push(U),F._monomersLibraryParsedJson.root.templates.push(RV(D)),F._monomersLibraryParsedJson[D]=B[D]}else{var r="Editor::updateMonomersLibrary: Base IDT alias is required when idtAliases is defined for monomer ".concat(U.props.MonomerName,". The monomer was not added to the library.");GU.error(r)}}else{var m='Editor::updateMonomersLibrary: Load of "'.concat(U.props.MonomerName,'" monomer has failed, monomer definition contains invalid HELM alias value. ').concat(eF," The monomer was not added to the library.");GU.error(m)}else{var M='Editor::updateMonomersLibrary: Load of "'.concat(U.props.MonomerName,'" monomer has failed, monomer definition contains invalid BILN alias value. ').concat(aF," The monomer was not added to the library.");GU.error(M)}else{var i='Editor::updateMonomersLibrary: Load of "'.concat(U.props.MonomerName,'" monomer has failed, monomer definition contains invalid HELM alias value. ').concat(tF," The monomer was not added to the library.");GU.error(i)}}),B.root.templates.forEach(function(U){var Q,R=B[U.$ref];if(R.type===KB.MONOMER_GROUP_TEMPLATE)if(null!==(Q=R.name)&&void 0!==Q&&Q.trim())if(R.name.length>pF){var V="".concat(R.name.slice(0,pF),"...");GU.error('Editor::updateMonomersLibrary: Load of monomer group template "'.concat(V,'" (length: ').concat(R.name.length,", template: ").concat(U.$ref,") has failed. ").concat(hF," The template was not added to the library."))}else F._monomersLibraryParsedJson[U.$ref]=R,F._monomersLibraryParsedJson.root.templates.find(function(F){return F.$ref===U.$ref})||F._monomersLibraryParsedJson.root.templates.push(U);else GU.error("Editor::updateMonomersLibrary: Monomer group template name cannot be empty or whitespace for template ".concat(U.$ref,". The template was not added to the library."))}),this.events.updateMonomersLibrary.dispatch()}},{key:"monomersLibraryParsedJson",get:function(){return this._monomersLibraryParsedJson}},{key:"monomersLibrary",get:function(){return this._monomersLibrary}},{key:"checkIfMonomerSymbolClassPairExists",value:function(U,F){return!F||this._monomersLibrary.some(function(Q){if(OR(Q))return!1;var B=Q.props;return B.MonomerClass===F&&(B.aliasHELM===U||B.MonomerName===U)})}},{key:"checkIfBilnAliasExists",value:function(U){return this._monomersLibrary.some(function(F){return!OR(F)&&(yh(F.props.MonomerClass)&&F.props.aliasBILN===U)})}},{key:"checkIfPresetCodeExists",value:function(U){return this.defaultRnaPresetsLibraryItems.some(function(F){return F.name===U})}},{key:"defaultRnaPresetsLibraryItems",get:function(){var U=this.monomersLibraryParsedJson;return U?U.root.templates.filter(function(F){var Q=U[F.$ref];return Q?Q.type===KB.MONOMER_GROUP_TEMPLATE&&Q.class===gB.RNA:(GU.error("There is a ref for rna preset template ".concat(F.$ref,", but template definition is not found")),!1)}).map(function(F){return U[F.$ref]}):[]}},{key:"isLibraryItemDragCancelled",get:function(){return this.libraryItemDragCancelled},set:function(U){this.libraryItemDragCancelled=U}},{key:"cancelLibraryItemDrag",value:function(){this.libraryItemDragState&&(this.libraryItemDragCancelled=!0,this.events.setLibraryItemDragState.dispatch(null))}},{key:"handleHotKeyEvents",value:function(U){var F;if(this._type!==Sp.Micromolecules&&U.target instanceof HTMLElement){var Q=Qd,B=_U(Q),R=AU.lookup(B,U);null!==(F=Q[R])&&void 0!==F&&F.handler&&!YF(U.target)&&(Q[R].handler(this),U.preventDefault())}}},{key:"setupKeyboardEvents",value:function(){var U=this;this.keydownEventHandler=function(F){var Q=!1,B=F.stopPropagation.bind(F);F.stopPropagation=function(){Q=!0,B()},U.events.keyDown.dispatch(F),Q||U.mode.onKeyDown(F).catch(function(U){GU.error("Editor.ts::keydownEventHandler",U)})},document.addEventListener("keydown",this.keydownEventHandler)}},{key:"setupCopyPasteEvent",value:function(){var U=this;this.copyEventHandler=function(F){U._type!==Sp.Micromolecules&&(U.mode.onCopy(F),U.clearSelectionAfterCopy())},this.pasteEventHandler=function(F){U._type!==Sp.Micromolecules&&U.mode.onPaste(F)},this.cutEventHandler=function(F){U._type!==Sp.Micromolecules&&U.mode.onCut(F)},document.addEventListener("copy",this.copyEventHandler),document.addEventListener("paste",this.pasteEventHandler),document.addEventListener("cut",this.cutEventHandler)}},{key:"setupHotKeysEvents",value:function(){var U=this;this.hotKeyEventHandler=function(F){return U.handleHotKeyEvents(F)},document.addEventListener("keydown",this.hotKeyEventHandler)}},{key:"setupContextMenuEvents",value:function(){var U=this;this.contextMenuEventHandler=function(F){var Q,B,V;if(F.preventDefault(),U.libraryItemDragState)U.cancelLibraryItemDrag();else if(null===(Q=F.target)||void 0===Q||!Q.closest(".contexify")){var n=null===(B=F.target)||void 0===B?void 0:B.__data__,l=U.canvas.getBoundingClientRect(),d=F.clientX>=l.left&&F.clientX<=l.right&&F.clientY>=l.top&&F.clientY<=l.bottom,J=cN.selections.map(function(U){return U.flatMap(function(U){var F=[],Q=U.node,B=Q.senseNode,R=Q.antisenseNode;return null!==B&&void 0!==B&&B.monomer.selected&&B&&F.push(bh(bh({},U),{},{node:B,twoStrandedNode:U.node})),null!==R&&void 0!==R&&R.monomer.selected&&R&&F.push(bh(bh({},U),{},{node:R,twoStrandedNode:U.node})),F})}),N=U.drawingEntitiesManager.selectedEntities.filter(function(U){return(0,R.A)(U,2)[1]instanceof cV}).map(function(U){return(0,R.A)(U,2)[1]}),Z=U.drawingEntitiesManager.selectedEntitiesArr.length>0;if(n instanceof YJ)U.events.rightClickSequence.dispatch([F,J]);else if(n instanceof lt||n instanceof vt&&!(n.polymerBond instanceof RR))U.events.rightClickPolymerBond.dispatch([F,n]);else if(n instanceof Wd&&!n.monomer.selected){var W=U.drawingEntitiesManager.selectDrawingEntity(n.monomer);U.renderersContainer.update(W),U.events.selectEntities.dispatch(U.drawingEntitiesManager.selectedEntities.map(function(U){return U[1]})),U.events.rightClickSelectedMonomers.dispatch([F,[n.monomer]])}else n instanceof Wd&&n.monomer.selected||Z&&null!==n&&void 0!==n&&null!==(V=n.drawingEntity)&&void 0!==V&&V.selected?(U.events.rightClickSelectedMonomers.dispatch([F]),U.events.rightClickSelectedMonomers.dispatch([F,N])):d&&("sequence-layout-mode"===U.mode.modeName?U.events.rightClickCanvasSequence.dispatch([F,J]):U.events.rightClickCanvas.dispatch([F,N]));return!1}},document.addEventListener("contextmenu",this.contextMenuEventHandler)}},{key:"onLayoutCircular",value:function(){var U=(0,E.A)(t().mark(function U(){var F;return t().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:return F=Jt.getKetcher(this.ketcherId),U.next=3,F.circularLayoutMonomers();case 3:this.clearTransientViews(),this.clearSelection();case 5:case"end":return U.stop()}},U,this)}));return function(){return U.apply(this,arguments)}}()},{key:"subscribeEvents",value:function(){var U=this;this.events.layoutCircular.add(function(){return U.onLayoutCircular()}),this.events.selectMonomer.add(function(F){return U.onSelectMonomer(F)}),this.events.selectPreset.add(function(F){return U.onSelectRNAPreset(F)}),this.events.selectTool.add(function(F){var Q=(0,R.A)(F,2),B=Q[0],V=Q[1];return U.onSelectTool(B,V)}),this.events.createBondViaModal.add(function(F){return U.onCreateBond(F)}),this.events.cancelBondCreationViaModal.add(function(F){return U.onCancelBondCreation(F)}),this.events.selectMode.add(function(F){return U.onSelectMode(F)}),this.events.selectHistory.add(function(F){return U.onSelectHistory(F)}),_l.forEach(function(F){U.events[F].add(function(Q){U.useModeIfNeeded(F,Q),U.useToolIfNeeded(F,Q)})}),this.events.editSequence.add(function(F){return U.onEditSequence(F)}),this.events.establishHydrogenBond.add(function(F){return U.onEstablishHydrogenBondSequenceMode(F)}),this.events.deleteHydrogenBond.add(function(F){return U.onDeleteHydrogenBondSequenceMode(F)}),this.events.turnOnSequenceEditInRNABuilderMode.add(function(){return U.onTurnOnSequenceEditInRNABuilderMode()}),this.events.turnOffSequenceEditInRNABuilderMode.add(function(){return U.onTurnOffSequenceEditInRNABuilderMode()}),this.events.changeSequenceTypeEnterMode.add(function(F){return U.onChangeSequenceTypeEnterMode(F)}),this.events.toggleIsSequenceSyncEditMode.add(function(F){return U.onChangeToggleIsSequenceSyncEditMode(F)}),this.events.resetSequenceEditMode.add(function(){return U.onResetSequenceSyncEditMode()}),this.events.createAntisenseChain.add(function(F){U.onCreateAntisenseChain(F)}),this.events.copySelectedStructure.add(function(){U.mode.onCopy(),U.clearSelectionAfterCopy()}),this.events.pasteFromClipboard.add(function(){U.mode.onPaste()}),this.events.deleteSelectedStructure.add(function(){if("sequence-layout-mode"!==U.mode.modeName){var F=new PV,Q=Nt.getInstance(U);F.merge(U.drawingEntitiesManager.deleteSelectedEntities()),Q.update(F),U.renderersContainer.update(F),U.events.selectEntities.dispatch(U.drawingEntitiesManager.selectedEntities.map(function(U){return U[1]})),U.clearTransientViews()}else U.sequenceMode.deleteSelection()}),this.events.modifyAminoAcids.add(function(F){var Q=F.monomers,B=F.modificationType;U.onModifyAminoAcids(Q,B)}),this.events.setEditorLineLength.add(function(F){if(!window._ketcher_isChainLengthRulerDisabled){U.transientDrawingView.hideLineLengthHighlight(),U.transientDrawingView.update();var Q=new PV,B=Nt.getInstance(U);Q.addOperation(new Mh(F)),B.update(Q)}}),this.events.toggleLineLengthHighlighting.add(function(F){var Q=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;window._ketcher_isChainLengthRulerDisabled||(F?U.transientDrawingView.showLineLengthHighlight({currentPosition:Q}):U.transientDrawingView.hideLineLengthHighlight(),U.transientDrawingView.update())}),this.events.setLibraryItemDragState.add(function(F){U.libraryItemDragState=F}),this.events.placeLibraryItemOnCanvas.add(function(F,Q){var B,R=new PV,V=Nt.getInstance(U),n=Q.x,l=Q.y;if(LR(F)){if(!F.sugar)return;B=U.onPlaceRnaPresetOnCanvas(F,VQ.canvasToModel(new zF(n,l)))}else B=OR(F)?U.onPlaceAmbiguousMonomerOnCanvas(F,VQ.canvasToModel(new zF(n,l))):U.onPlaceMonomerOnCanvas(F,VQ.canvasToModel(new zF(n,l)));B&&(R.merge(B.modelChanges),R.merge(U.drawingEntitiesManager.selectDrawingEntities(B.drawingEntities)),V.update(R),U.renderersContainer.update(R),U.calculateAndStoreNextAutochainPosition(B.lastMonomer))}),this.events.autochain.add(function(F){return U.onAutochain(F)}),this.events.previewAutochain.add(function(F){return U.onPreviewAutochain(F)}),this.events.removeAutochainPreview.add(function(){return U.onRemoveAutochainPreview()}),this.events.flipHorizontal.add(function(){return U.onFlipHorizontal()}),this.events.flipVertical.add(function(){return U.onFlipVertical()})}},{key:"onFlipHorizontal",value:function(){if("sequence-layout-mode"!==this.mode.modeName){var U=new PV,F=Nt.getInstance(this);U.merge(this.drawingEntitiesManager.flipSelectedDrawingEntities("horizontal")),F.update(U),this.renderersContainer.update(U),this.drawingEntitiesManager.rerenderBondsOverlappedByMonomers(),this.events.selectEntities.dispatch(this.drawingEntitiesManager.selectedEntities.map(function(U){return U[1]}))}}},{key:"onFlipVertical",value:function(){if("sequence-layout-mode"!==this.mode.modeName){var U=new PV,F=Nt.getInstance(this);U.merge(this.drawingEntitiesManager.flipSelectedDrawingEntities("vertical")),F.update(U),this.renderersContainer.update(U),this.drawingEntitiesManager.rerenderBondsOverlappedByMonomers(),this.events.selectEntities.dispatch(this.drawingEntitiesManager.selectedEntities.map(function(U){return U[1]}))}}},{key:"getDataForAutochain",value:function(){var U,F=this.drawingEntitiesManager.selectedMonomers,Q=F.filter(function(U){return U.isAttachmentPointExistAndFree(BR.R2)}),B=1===Q.length?Q[0]:void 0;return U=B?B.position.add(new zF(1.5,0)):this.drawingEntitiesManager.hasMonomers?this.nextAutochainPosition&&"snake-layout-mode"!==this.mode.modeName?this.nextAutochainPosition:this.drawingEntitiesManager.bottomLeftMonomerPosition.add(new zF(0,1.5)):VQ.canvasToModel(new zF(RZ,VZ)),{selectedMonomerToConnect:B,newMonomerPosition:U,selectedMonomersWithFreeR2:Q,selectedMonomers:F}}},{key:"onRemoveAutochainPreview",value:function(){this.transientDrawingView.hideAutochainPreview(),this.transientDrawingView.update()}},{key:"onPreviewAutochain",value:function(U){if("sequence-layout-mode"!==this.mode.modeName){this.invalidateNextAutochainPositionIfNeeded(LR(U));var F=this.getDataForAutochain(),Q=F.selectedMonomerToConnect,B=F.newMonomerPosition;this.transientDrawingView.showAutochainPreview(U,B,Q),this.transientDrawingView.update()}}},{key:"onAutochain",value:function(U){if("sequence-layout-mode"!==this.mode.modeName){this.invalidateNextAutochainPositionIfNeeded(LR(U));var F,Q=0===this.drawingEntitiesManager.allEntities.length,B=new PV,R=Nt.getInstance(this),V=this.getDataForAutochain(),n=V.selectedMonomerToConnect,l=V.newMonomerPosition;if(F=LR(U)?this.onPlaceRnaPresetOnCanvas(U,l):OR(U)?this.onPlaceAmbiguousMonomerOnCanvas(U,l):this.onPlaceMonomerOnCanvas(U,l)){if(B.merge(F.modelChanges),n&&(B.merge(this.drawingEntitiesManager.createPolymerBond(n,F.firstMonomer,BR.R2,BR.R1)),B.merge(this.drawingEntitiesManager.unselectDrawingEntity(n)),B.merge(this.drawingEntitiesManager.selectDrawingEntity(F.lastMonomer))),"snake-layout-mode"===this.mode.modeName&&B.merge(this.drawingEntitiesManager.applySnakeLayout(!0)),Q&&B.merge(this.drawingEntitiesManager.selectDrawingEntities(F.drawingEntities)),B.setUndoOperationsByPriority(),this.renderersContainer.update(B),R.update(B),this.calculateAndStoreNextAutochainPosition(F.lastMonomer),"snake-layout-mode"===this.mode.modeName)this.zoomTool.scrollToVerticalBottom();else if("flex-layout-mode"===this.mode.modeName){var d=_F(),J=hU/d.macroModeScale,N=vn.fromMonomers([F.lastMonomer]),Z=ml(N.chains[0].monomers),W=this.zoomTool.canvasWrapperSize,S=5*J*d.macroModeScale,E=Math.min(S,W.width/2),k=VQ.modelToView(new zF(Z.left,Z.top)),t=VQ.modelToView(new zF(Z.right,Z.bottom)).x-k.x,a=VQ.modelToView(F.lastMonomer.position),T=W.width-t>E,e=a.x<=0||a.x>=W.width,C=a.y<=0,D=a.y>=W.height,o=C||D;if(e||o){var p=Boolean(n)&&T;this.zoomTool.canvas.style("transition","transform ".concat(300,"ms ease")),this.zoomTool.scrollTo(p?VQ.modelToCanvas(N.firstNode.firstMonomerInNode.position):VQ.modelToCanvas(F.lastMonomer.position).sub(new zF(this.zoomTool.unzoomValue(W.width)-E,0)),D,p?J*d.macroModeScale:0,D?2*J*d.macroModeScale:void 0,!1,o),Gh(this.zoomTool.canvas)}}this.onRemoveAutochainPreview(),this.onPreviewAutochain(U)}}}},{key:"onPlaceRnaPresetOnCanvas",value:function(U,F){var Q,R;if("sequence-layout-mode"!==this.mode.modeName){if(U.sugar){var V=new PV,n=this.drawingEntitiesManager.addRnaPreset({sugar:U.sugar,sugarPosition:new zF(F.x,F.y),phosphate:U.phosphate,phosphatePosition:U.phosphate?new zF(F.x+1.5,F.y):void 0,rnaBase:U.base,rnaBasePosition:U.base?new zF(F.x,F.y+1.5):void 0,connections:U.connections}),l=n.command,d=n.monomers,J=d.find(function(U){return U instanceof HV}),N=d.find(function(U){return U instanceof IV}),Z=N&&(null===(Q=J.attachmentPointsToBonds.R1)||void 0===Q?void 0:Q.getAnotherEntity(J))===N&&(null===(R=N.attachmentPointsToBonds.R2)||void 0===R?void 0:R.getAnotherEntity(N))===J;return V.merge(l),{modelChanges:V,firstMonomer:Z?N:J,lastMonomer:Z?J:null!==N&&void 0!==N?N:J,drawingEntities:[].concat((0,B.A)(d),(0,B.A)(J.attachmentPointsToBonds.R2?[J.attachmentPointsToBonds.R2]:[]),(0,B.A)(J.attachmentPointsToBonds.R3?[J.attachmentPointsToBonds.R3]:[]))}}this.events.error.dispatch("No sugar in RNA preset found")}}},{key:"onPlaceMonomerOnCanvas",value:function(U,F){if("sequence-layout-mode"!==this.mode.modeName){var Q=new PV,B=this.drawingEntitiesManager.addMonomer(U,F),R=B.operations[0].monomer;return Q.merge(B),{modelChanges:Q,firstMonomer:R,lastMonomer:R,drawingEntities:[R]}}}},{key:"onPlaceAmbiguousMonomerOnCanvas",value:function(U,F){if("sequence-layout-mode"!==this.mode.modeName){var Q=new PV,B=this.drawingEntitiesManager.addAmbiguousMonomer(U,F),R=B.operations[0].monomer;return Q.merge(B),{modelChanges:Q,firstMonomer:R,lastMonomer:R,drawingEntities:[R]}}}},{key:"clearTransientViews",value:function(){this.transientDrawingView.clear(),this.transientDrawingView.update()}},{key:"clearSelection",value:function(){var U=this.drawingEntitiesManager.unselectAllDrawingEntities();this.renderersContainer.update(U)}},{key:"calculateAndStoreNextAutochainPosition",value:function(U){var F;if(U instanceof nZ){var Q=vn.fromMonomers(U.monomersArray);if(1===Q.chains.length)F=Q.lastNode.lastMonomerInNode.position.add(new zF(1.5,0));else F=U.bottomLeftMonomerPosition.add(new zF(0,1.5))}else{F=U.position.add(new zF(1.5,0))}this.nextAutochainPosition=F}},{key:"invalidateNextAutochainPositionIfNeeded",value:function(){var U=arguments.length>0&&void 0!==arguments[0]&&arguments[0],F=this.nextAutochainPosition;if(F){var Q=1.5,B=1.5,R=U?1.5:0;this.drawingEntitiesManager.monomersArray.find(function(U){return F.x+Q/2+R>U.position.x&&F.xU.position.y&&F.y0?this.events.openConfirmationDialog.dispatch({confirmationText:"Some side chain connections will be deleted during replacement. Do you want to proceed?",onConfirm:function(){d.forEach(function(U){V.merge(Q.drawingEntitiesManager.deleteDrawingEntity(U))}),J()}}):J()}},{key:"sequenceMode",get:function(){return this.mode}},{key:"isSequenceMode",get:function(){return"sequence-layout-mode"===this.mode.modeName}},{key:"isSequenceEditMode",get:function(){return"sequence-layout-mode"===this.mode.modeName&&this.sequenceMode.isEditMode}},{key:"isSequenceEditInRNABuilderMode",get:function(){return"sequence-layout-mode"===this.mode.modeName&&this.sequenceMode.isEditInRNABuilderMode}},{key:"isSequenceAnyEditMode",get:function(){var U=this.sequenceMode;return"sequence-layout-mode"===this.mode.modeName&&(U.isEditMode||U.isEditInRNABuilderMode)}},{key:"onSelectHistory",value:function(U){var F=Nt.getInstance(this);"undo"===U?(F.undo(),this.clearTransientViews()):"redo"===U&&(F.redo(),this.clearTransientViews())}},{key:"selectTool",value:function(U,F){var Q=nh[U],B=this.tool;this.clearTransientViews(),this.tool=new Q(this,F),Vh(B)&&(null===B||void 0===B||B.destroy())}},{key:"isHandToolSelected",get:function(){return this.selectedTool instanceof Rh}},{key:"unsubscribeEvents",value:function(){var U=this,F=function(F){U.events[F].handlers.forEach(function(Q){U.events[F].remove(Q)}),U.events[F].handlers=[]};for(var Q in this.events)F(Q);document.removeEventListener("keydown",this.hotKeyEventHandler),document.removeEventListener("copy",this.copyEventHandler),document.removeEventListener("paste",this.pasteEventHandler),document.removeEventListener("cut",this.cutEventHandler),document.removeEventListener("keydown",this.keydownEventHandler),document.removeEventListener("contextmenu",this.contextMenuEventHandler),this.canvas.removeEventListener("mousedown",XF),document.removeEventListener("visibilitychange",this.handleVisibilityChange),window.removeEventListener("blur",this.handleWindowBlur),window.removeEventListener("resize",this.handleWindowResize),this.cleanupsForDomEvents.forEach(function(U){U()})}},{key:"trackedDomEvents",get:function(){return[{target:this.canvas,eventName:"click",toolEventHandler:"click"},{target:this.canvas,eventName:"dblclick",toolEventHandler:"dblclick"},{target:this.canvas,eventName:"mousedown",toolEventHandler:"mousedown"},{target:document,eventName:"mousemove",toolEventHandler:"mousemove"},{target:document,eventName:"mouseup",toolEventHandler:"mouseup"},{target:document,eventName:"mouseleave",toolEventHandler:"mouseleave"},{target:this.canvas,eventName:"mouseleave",toolEventHandler:"mouseLeaveClientArea"},{target:this.canvas,eventName:"mouseover",toolEventHandler:"mouseover"}]}},{key:"isMouseMainButtonPressed",value:function(U){return 0===(null===U||void 0===U?void 0:U.button)}},{key:"domEventSetup",value:function(){var U=this;this.canvas.addEventListener("mousedown",XF),this.trackedDomEvents.forEach(function(F){var Q=F.target,B=F.eventName,R=F.toolEventHandler;U.events[B]=new gl;var V=U.events[B],n=V.dispatch.bind(V);Q.addEventListener(B,n),U.cleanupsForDomEvents.push(function(){Q.removeEventListener(B,n)}),V.add(function(F){return U.updateLastCursorPosition(F),["mouseup","mousedown","click","dbclick"].includes(F.type)&&!U.isMouseMainButtonPressed(F)||(U.useModeIfNeeded(R,F),U.useToolIfNeeded(R,F)),!0},-1)})}},{key:"updateLastCursorPosition",value:function(U){if(["mousemove","click","mousedown","mouseup","mouseover"].includes(U.type)){var F=this.canvasOffset;this.lastCursorPosition=new zF({x:U.pageX-F.x,y:U.pageY-F.y}),this.lastCursorPositionOfCanvas=VQ.viewToCanvas(this.lastCursorPosition)}}},{key:"useToolIfNeeded",value:function(U,F){var Q,B,R=this.tool;return!!R&&(!![U in R,this.canvas.contains(null===F||void 0===F?void 0:F.target)||(null===(Q=R.isSelectionRunning)||void 0===Q?void 0:Q.call(R))].every(function(U){return U})&&(null===(B=R[U])||void 0===B||B.call(R,F),!0))}},{key:"useModeIfNeeded",value:function(U,F){var Q,B;this.isHandToolSelected||null===(Q=this.mode)||void 0===Q||null===(B=Q[U])||void 0===B||B.call(Q,F)}},{key:"switchToMicromolecules",value:function(){var U=Nt.getInstance(this),F=this.micromoleculesEditor.struct(),Q=this.micromoleculesEditor.render.ctab,B=RQ.instance;this.clearTransientViews(),this.clearSelection();var R=fS.convertDrawingEntitiesToStruct(this.drawingEntitiesManager,F,Q).conversionErrorMessage;R&&Jt.getKetcher(this.ketcherId).editor.setMacromoleculeConvertionError(R);U.destroy(),this.drawingEntitiesManager.clearCanvas(),B.resetZoom(),F.applyMonomersTransformations(),Q.render.setMolecule(F),this._type=Sp.Micromolecules,this.drawingEntitiesManager=new nZ}},{key:"resetModeIfNeeded",value:function(){if(0===this.previousModes.length){var U,F,Q=Jt.getKetcher(),B=null===Q||void 0===Q||null===(U=Q.editor)||void 0===U?void 0:U.struct().isBlank(),R=null===(F=this.mode)||void 0===F?void 0:F.modeName,V=B?Wt:St;if(R===V)return;this.onSelectMode(V),this.events.layoutModeChange.dispatch(V)}}},{key:"switchToMacromolecules",value:function(){var U,F;this.resetCanvasOffset(),this.resetKetcherRootElementOffset(),this.resetModeIfNeeded(),this.clearTransientViews(),this.clearSelection();var Q=null!==(U=null===(F=this.micromoleculesEditor)||void 0===F?void 0:F.struct())&&void 0!==U?U:new xB,R=Jt.getKetcher(this.ketcherId),V=fS.convertStructToDrawingEntities(Q,this.drawingEntitiesManager).modelChanges;this.viewModel.initialize((0,B.A)(this.drawingEntitiesManager.bonds.values())),"snake-layout-mode"===this.mode.modeName&&V.merge(this.drawingEntitiesManager.applySnakeLayout(!0,!0,!1)),"sequence-layout-mode"===this.mode.modeName?this.mode.initialize(!1,!1,!1):this.renderersContainer.update(V),null===R||void 0===R||R.editor.clear(),null===R||void 0===R||R.editor.clearHistory(),null===R||void 0===R||R.editor.zoom(1),this._type=Sp.Macromolecules}},{key:"isCurrentModeWithAutozoom",value:function(){return"flex-layout-mode"===this.mode.modeName||"snake-layout-mode"===this.mode.modeName}},{key:"zoomToStructuresIfNeeded",value:function(){if(!window._ketcher_isAutozoomDisabled&&this.isCurrentModeWithAutozoom()&&this.drawingEntitiesManager.hasMonomers){var U=Dt();RQ.instance.zoomStructureToFitHalfOfCanvas(U)}}},{key:"scrollToTopLeftCorner",value:function(){var U=Dt();RQ.instance.scrollTo(new zF(U.left,U.top),!1,RZ-hU/4,VZ-hU/4,!1)}},{key:"destroy",value:function(){this.unsubscribeEvents(),vh=void 0,gV()}}]),U}();function Hh(U,F){var Q=(U||"").toLowerCase(),B=(F||"").toLowerCase(),R=Yh.toLowerCase();return Q===R?-1:B===R?1:Q.localeCompare(B)}function xh(U,F){return Hh(U.title,F.title)}function uh(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(uh=function(){return!!U})()}var wh=function(U){function F(U){return(0,V.A)(this,F),function(U,F,Q){return F=(0,d.A)(F),(0,l.A)(U,uh()?Reflect.construct(F,Q||[],(0,d.A)(U).constructor):F.apply(U,Q))}(this,F,["flex-layout-mode",U])}return(0,N.A)(F,U),(0,n.A)(F,[{key:"initialize",value:function(){var U=b((0,d.A)(F.prototype),"initialize",this).call(this),Q=KV(),B=Q.drawingEntitiesManager.recalculateAntisenseChains(),R=Q.drawingEntitiesManager.applyFlexLayoutMode(!0);return U.merge(Q.drawingEntitiesManager.recalculateCanvasMatrix()),R.merge(B),Q.renderersContainer.update(R),U}},{key:"getNewNodePosition",value:function(){var U=KV();return VQ.canvasToModel(U.lastCursorPositionOfCanvas)}},{key:"applyAdditionalPasteOperations",value:function(U){var F=new PV,Q=KV();return Q.drawingEntitiesManager.recalculateAntisenseChains(),F.merge(Q.drawingEntitiesManager.selectDrawingEntities(U.allEntitiesArray)),Q.drawingEntitiesManager.hasAntisenseChains?(F.merge(Q.drawingEntitiesManager.applySnakeLayout(!0,!0,!0)),F.setUndoOperationsByPriority(),F):F}},{key:"isPasteAllowedByMode",value:function(){return!0}},{key:"isPasteAvailable",value:function(){return!0}},{key:"scrollForView",value:function(){}}]),F}(Tt);function jh(U){return!U||U instanceof on||U instanceof Gn||U instanceof Dn}function Ih(U){var F,Q,B=(null===U||void 0===U||null===(F=U.senseNode)||void 0===F?void 0:F.monomers.reduce(function(U,F){return U.concat(F.hydrogenBonds)},[]))||[];return Boolean(jh(null===U||void 0===U?void 0:U.senseNode)||jh(null===U||void 0===U?void 0:U.antisenseNode)||(null===U||void 0===U||null===(Q=U.antisenseNode)||void 0===Q?void 0:Q.monomers.some(function(U){return U.hydrogenBonds.some(function(U){return B.includes(U)})})))}function Kh(U,F){var Q="undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(!Q){if(Array.isArray(U)||(Q=function(U,F){if(U){if("string"==typeof U)return fh(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?fh(U,F):void 0}}(U))||F&&U&&"number"==typeof U.length){Q&&(U=Q);var B=0,R=function(){};return{s:R,n:function(){return B>=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function fh(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q0&&void 0!==arguments[0])||arguments[0],B=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],R=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],V=b((0,d.A)(F.prototype),"initialize",this).call(this,B),n=KV();n.drawingEntitiesManager.clearCanvas();var l=R?n.drawingEntitiesManager.applySnakeLayout(!0,!1,!0,!this.isEditMode,!1):n.drawingEntitiesManager.recalculateAntisenseChains(!this.isEditMode),J=RQ.instance;n.renderersContainer.update(l);var N=null===(U=n.drawingEntitiesManager.applyMonomersSequenceLayout().firstNode)||void 0===U||null===(U=U.monomer.renderer)||void 0===U?void 0:U.scaledMonomerPositionForSequence;if(N&&Q&&!this.isFirstInit&&J.scrollTo(N),this.isFirstInit=!1,this.isEditMode){var Z=document.querySelector(".drawn-structures");Z&&Z.getBoundingClientRect().bottom>window.innerHeight&&J.scrollToVerticalBottom()}return l.merge(V),l}},{key:"turnOnEditMode",value:function(U){var F=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Q=KV();U&&cN.setCaretPositionNextToMonomer(U.node.monomer),this.isEditMode=!0,this.initialize(!1,F,!1),Q.events.toggleSequenceEditMode.dispatch(!0)}},{key:"turnOffEditMode",value:function(){if(this.isEditMode){var U=KV();this.isEditMode=!1,this.initialize(!1,!0,!0),U.events.toggleSequenceEditMode.dispatch(!1)}}},{key:"turnOnSequenceEditInRNABuilderMode",value:function(){var U=KV();this.isEditInRNABuilderMode=!0,this.initialize(!1,!1,!1),U.events.toggleSequenceEditInRNABuilderMode.dispatch(!0)}},{key:"turnOffSequenceEditInRNABuilderMode",value:function(){var U=KV();this.isEditInRNABuilderMode=!1,this.initialize(!1,!0,!1),U.events.toggleSequenceEditInRNABuilderMode.dispatch(!1)}},{key:"startNewSequence",value:function(U){var F;if(null===(F=KV())||void 0===F||!F.isSequenceEditInRNABuilderMode){var Q=this.isEditMode?cN.currentChainIndex:cN.sequenceViewModel.chains.length-1,B=(0,o.isNumber)(null===U||void 0===U?void 0:U.indexOfRowBefore)?null===U||void 0===U?void 0:U.indexOfRowBefore:Q;this.isEditMode||this.turnOnEditMode(),cN.startNewSequence(B),-1===cN.caretPosition&&cN.setCaretPositionByNode(cN.sequenceViewModel.lastTwoStrandedNode)}}},{key:"modifySequenceInRnaBuilder",value:function(U){var F,Q=KV(),B=Nt.getInstance(Q),R=new PV,V=Kh(U);try{for(V.s();!(F=V.n()).done;){var n=F.value,l=n.nodeIndexOverall;if(void 0===l)return;var d,J=void 0,N=void 0,Z=void 0;if(n.sugarLabel&&(J=nn(Q,n.sugarLabel,WU.Sugar)),n.baseLabel)N=null!==(d=n.rnaBaseMonomerItem)&&void 0!==d?d:nn(Q,n.baseLabel,WU.Base);n.phosphateLabel&&(Z=nn(Q,n.phosphateLabel,WU.Phosphate));var W=cN.getNodeByPointer(l);if(((null===W||void 0===W?void 0:W.senseNode)instanceof Sn||(null===W||void 0===W?void 0:W.senseNode)instanceof Wn)&&(W.senseNode&&J&&R.merge(Q.drawingEntitiesManager.modifyMonomerItem(W.senseNode.sugar,J)),null!==W&&void 0!==W&&W.senseNode.rnaBase&&N&&(null!==W&&void 0!==W&&W.senseNode.rnaBase.monomerItem.isAmbiguous||N.isAmbiguous?R.merge(Yn(Q.drawingEntitiesManager,null===W||void 0===W?void 0:W.senseNode.rnaBase,N)):R.merge(Q.drawingEntitiesManager.modifyMonomerItem(null===W||void 0===W?void 0:W.senseNode.rnaBase,N)))),null!==W&&void 0!==W&&W.senseNode&&Z)if(W.senseNode instanceof Sn)R.merge(Q.drawingEntitiesManager.modifyMonomerItem(W.senseNode.phosphate,Z));else if(W.senseNode instanceof Wn){var S=W.senseNode.sugar.attachmentPointsToBonds.R2;if(S instanceof dR)return;var E=null===S||void 0===S?void 0:S.secondMonomer;S&&R.merge(Q.drawingEntitiesManager.deletePolymerBond(S)),R.merge(this.bondNodesThroughNewPhosphate(new zF(0,0),W.senseNode.sugar,E,n.phosphateLabel))}else W.senseNode.monomer instanceof IV&&R.merge(Q.drawingEntitiesManager.modifyMonomerItem(W.senseNode.monomer,Z))}}catch(k){V.e(k)}finally{V.f()}R.addOperation(new ZN),Q.renderersContainer.update(R),B.update(R)}},{key:"click",value:function(U){var F;if(!this.isEditInRNABuilderMode){var Q=(null===(F=U.target)||void 0===F?void 0:F.__data__)instanceof YJ;this.isEditMode&&Q&&this.unselectAllEntities()}}},{key:"doubleClickOnSequenceItem",value:function(U){var F;if(!this.isEditInRNABuilderMode){var Q=null===(F=U.target)||void 0===F?void 0:F.__data__;this.turnOnEditMode(Q,!1)}}},{key:"mousedownBetweenSequenceItems",value:function(U){var F;if(!this.isEditInRNABuilderMode){var Q=null===(F=U.target)||void 0===F?void 0:F.__data__;this.turnOnEditMode(Q),this.setAntisenseEditMode(Boolean(Q.isAntisenseNode))}}},{key:"mousedown",value:function(U){var F;if(!this.isEditInRNABuilderMode){var Q=null===(F=U.target)||void 0===F?void 0:F.__data__,B=Q instanceof YJ;if(!(Q instanceof EN||Q instanceof dd))this.turnOffEditMode();else if(this.isEditMode&&B&&!U.shiftKey){var R,V=Q.rootBoundingClientRect;if(!V)V=null===(R=cN.getRendererByMonomer(Q.node.monomer))||void 0===R?void 0:R.rootBoundingClientRect;if(!V)return;var n=!!V&&U.clientX>V.x+V.width/2;cN.setCaretPositionByMonomer(Q.node.monomer),n&&cN.moveCaretForwardOrToRowEnd(),cN.resetLastUserDefinedCaretPosition(),this.unselectAllEntities(),this.selectionStarted=!0,this.selectionStartCaretPosition=cN.caretPosition,this.setAntisenseEditMode(Boolean(Q.isAntisenseNode))}}}},{key:"mousemove",value:function(U){var F;if(!this.isEditInRNABuilderMode){var Q=null===(F=U.target)||void 0===F?void 0:F.__data__;if(this.isEditMode&&Q instanceof YJ&&this.selectionStarted&&this.mousemoveCounter>1){var B=KV();cN.setCaretPositionBySequenceItemRenderer(Q);var R=this.selectionStartCaretPosition,V=cN.caretPosition;this.selectionStartCaretPosition>cN.caretPosition?(R=cN.caretPosition,V=this.selectionStartCaretPosition):(cN.setCaretPosition(cN.caretPosition+1),V++);var n=cN.getMonomersByCaretPositionRange(R,V);this.unselectAllEntities();var l=B.drawingEntitiesManager.getAllSelectedEntitiesForEntities(n).command,d=new WN(this.selectionStartCaretPosition,cN.caretPosition,function(U){return cN.setCaretPosition(U)});l.addOperation(d),B.renderersContainer.update(l)}this.selectionStarted&&this.mousemoveCounter++}}},{key:"mouseup",value:function(){this.isEditInRNABuilderMode||(this.selectionStarted&&(this.selectionStarted=!1),this.isEditMode&&cN.resetLastUserDefinedCaretPosition(),this.mousemoveCounter=0)}},{key:"bondNodesThroughNewPhosphate",value:function(U,F,Q,B){var R=KV(),V=nn(R,null!==B&&void 0!==B?B:I.PHOSPHATE);S()(V);var n=R.drawingEntitiesManager.addMonomer(V,U),l=n.operations[0].monomer;return n.merge(this.tryToCreatePolymerBond(F,l)),Q&&n.merge(this.tryToCreatePolymerBond(l,Q)),n}},{key:"handlePeptideNodeAddition",value:function(U,F,Q,B){var R=new PV,V=KV(),n=function(U,F){return U.monomersLibrary.find(function(U){return OR(U)?Vn.getMonomerClass(U.monomers)===WU.AminoAcid&&U.label===F:U.props.MonomerType===eU.PEPTIDE&&U.props.MonomerName===F})}(V,U);if(n){var l=V.drawingEntitiesManager.addMonomer(n,F),d=l.operations[0].monomer,J=d instanceof Vn?new pn(d):new tn(d);return R.merge(l),R.merge(this.insertNewSequenceFragment(J,Q instanceof Gn?Q.secondConnectedNode:Q,B instanceof Gn?B.firstConnectedNode:B)),{modelChanges:R,node:J}}}},{key:"handleRnaDnaNodeAddition",value:function(U,F,Q,B){var R=KV(),V=new PV,n=Q instanceof Sn||Q instanceof Wn||Q instanceof Gn&&(Q.secondConnectedNode instanceof Sn||Q.secondConnectedNode instanceof Wn)?Sn.createOnCanvas(U,F,ln(R.sequenceTypeEnterMode)):Wn.createOnCanvas(U,F,ln(R.sequenceTypeEnterMode)),l=n.modelChanges,d=n.node;if(l&&d)return V.merge(l),V.merge(this.insertNewSequenceFragment(d,Q instanceof Gn?Q.secondConnectedNode:Q,B instanceof Gn?B.firstConnectedNode:B)),{modelChanges:V,node:d}}},{key:"connectNodes",value:function(U,F,Q,B){var R,V,n=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];if(!(!U||U instanceof Dn||!F||F instanceof Dn)){var l=KV(),d=null===(R=U.lastMonomerInNode.attachmentPointsToBonds)||void 0===R?void 0:R.R2,J=null===F||void 0===F||null===(V=F.firstMonomerInNode)||void 0===V?void 0:V.attachmentPointsToBonds.R1;d||J?l.events.error.dispatch("No available attachment points to establish bonds for merge."):n&&U instanceof Wn&&(F instanceof Sn&&!F.isFiveEndPhosphate||F instanceof Wn||F instanceof tn&&F.monomer instanceof IV&&F.monomer.hydrogenBonds.length)?Q.merge(this.bondNodesThroughNewPhosphate(B,U.lastMonomerInNode,F.firstMonomerInNode)):Q.merge(this.tryToCreatePolymerBond(U.lastMonomerInNode,F.firstMonomerInNode))}}},{key:"deleteBondToNextNodeInChain",value:function(U,F){var Q=KV(),B=null===U||void 0===U?void 0:U.lastMonomerInNode.attachmentPointsToBonds.R2;!B||B instanceof dR||F.merge(Q.drawingEntitiesManager.deletePolymerBond(B))}},{key:"finishNodesDeletion",value:function(U,F,Q){var B=KV(),R=Nt.getInstance(B),V=new WN(F,(0,o.isNumber)(Q)?Q:cN.caretPosition,function(U){return cN.setCaretPosition(U)});U.addOperation(new ZN),B.renderersContainer.update(U),U.addOperation(V),R.update(U),this.selectionStartCaretPosition=-1,cN.resetLastUserDefinedCaretPosition()}},{key:"tryToCreatePolymerBond",value:function(U,F){var Q=KV();return this.areR1R2Free(F,U)?Q.drawingEntitiesManager.createPolymerBond(U,F,BR.R2,BR.R1):(this.showMergeWarningModal(),new PV)}},{key:"splitCurrentChain",value:function(){var U=new PV,F=KV(),Q=Nt.getInstance(F),B=cN.previousNodeInSameChain,R=cN.currentEdittingNode;this.needToEditSense&&null!==B&&void 0!==B&&B.senseNode&&(this.deleteBondToNextNodeInChain(B.senseNode instanceof Gn?null===B||void 0===B?void 0:B.senseNode.firstConnectedNode:null===B||void 0===B?void 0:B.senseNode,U),(null===B||void 0===B?void 0:B.senseNode)instanceof Sn&&(U.addOperation(cN.moveCaretForward()),U.merge(F.drawingEntitiesManager.deleteMonomer(B.senseNode.lastMonomerInNode)))),this.needToEditAntisense&&null!==R&&void 0!==R&&R.antisenseNode&&(this.deleteBondToNextNodeInChain(R.antisenseNode instanceof Gn?R.antisenseNode.secondConnectedNode:R.antisenseNode,U),(null===R||void 0===R?void 0:R.antisenseNode)instanceof Sn&&U.merge(F.drawingEntitiesManager.deleteMonomer(R.antisenseNode.lastMonomerInNode))),U.addOperation(new ZN),F.renderersContainer.update(U),Q.update(U)}},{key:"handleNodesDeletion",value:function(U,F){var Q=this,B=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new Set,R=KV(),V=new PV;return U.forEach(function(U){var n,l,d,J,N=U[0].node,Z=U[U.length-1].node,W=TN(N,F),S=TN(Z,F),E=cN.getPreviousNode(N),k=cN.getNextNode(Z),t=cN.getPreviousNodeInSameChain(N),a=cN.getNextNodeInSameChain(Z),T=null!==(n=E&&TN(E,F))&&void 0!==n?n:void 0,e=T&&B.has(T.lastMonomerInNode)?void 0:T,C=null!==(l=k&&TN(k,F))&&void 0!==l?l:void 0,D=C;C instanceof Gn&&(D=F===j.SENSE?C.secondConnectedNode:C.firstConnectedNode),!D||D instanceof Dn||D instanceof Gn||!B.has(D.firstMonomerInNode)||(D=void 0);var o=null!==(d=t&&TN(t,F))&&void 0!==d?d:void 0,p=null!==(J=a&&TN(a,F))&&void 0!==J?J:a,h=p;p instanceof Gn&&(h=p.secondConnectedNode);var c=F===j.SENSE?e:D;if(F!==j.ANTISENSE||!(W instanceof Dn&&!(N.senseNode instanceof Gn||N.senseNode instanceof Dn)||S instanceof Dn&&!(Z.senseNode instanceof Gn||Z.senseNode instanceof Dn))){if(W instanceof Gn||S instanceof Gn){var r=(W instanceof Gn?W:S).firstConnectedNode.lastMonomerInNode.attachmentPointsToBonds.R2;if(!(r instanceof kR))return;return V.merge(R.drawingEntitiesManager.deletePolymerBond(r)),void(c instanceof Sn&&V.merge(R.drawingEntitiesManager.deleteMonomer(c.lastMonomerInNode)))}if(o||!D||!W||D instanceof Dn||V.merge(R.drawingEntitiesManager.moveMonomer(D.monomer,W.monomer.position)),F===j.SENSE){if(!e||e instanceof Dn)return;var m=e===o&&e instanceof Sn&&W instanceof Wn&&(!D||D instanceof Dn);if(m&&V.merge(R.drawingEntitiesManager.deleteMonomer(e.lastMonomerInNode)),!D||D instanceof Dn||!Q.isEditMode&&(D!==h||e!==o))return;e instanceof Wn&&(D instanceof Sn||D instanceof Wn)?V.merge(Q.bondNodesThroughNewPhosphate(Q.getNewSequenceItemPosition(e),e.lastMonomerInNode,D.firstMonomerInNode)):e&&D&&V.merge(Q.tryToCreatePolymerBond(m?e.firstMonomerInNode:e.lastMonomerInNode,D.firstMonomerInNode))}else{if(!D||D instanceof Dn)return;var M=D===h&&D instanceof Sn&&S instanceof Wn&&(!e||e instanceof Dn);if(M&&V.merge(R.drawingEntitiesManager.deleteMonomer(D.lastMonomerInNode)),!e||e instanceof Dn||!Q.isEditMode&&(e!==o||D!==h))return;D instanceof Wn&&(e instanceof Sn||e instanceof Wn)?V.merge(Q.bondNodesThroughNewPhosphate(Q.getNewSequenceItemPosition(e),D.lastMonomerInNode,e.firstMonomerInNode)):e&&D&&V.merge(Q.tryToCreatePolymerBond(M?D.firstMonomerInNode:D.lastMonomerInNode,e.firstMonomerInNode))}}}),V}},{key:"isNodeExistAndNonEmpty",value:function(U){return U&&!((!U.senseNode||U.senseNode instanceof Dn)&&(!U.antisenseNode||U.antisenseNode instanceof Dn))}},{key:"keyboardEventHandlers",get:function(){var U=this,F=function(F){if(!U.isEditInRNABuilderMode){var Q,B=KV(),R=F===Ph.Left?cN.previousNode:cN.getNodeByPointer(cN.caretPosition),V=F===Ph.Left?cN.previousCaretPosition:cN.caretPosition,n=cN.selections,l=new PV;if(n.length){var d=(Q=n).filter(function(U){return U.every(function(U){var F;return null===(F=U.node.senseNode)||void 0===F?void 0:F.monomer.selected})}),J=Q.filter(function(U){return U.every(function(U){var F;return null===(F=U.node.antisenseNode)||void 0===F?void 0:F.monomer.selected})}),N=new Set(B.drawingEntitiesManager.selectedMonomers);l.merge(U.deleteSelectedDrawingEntities()),U.needToEditSense&&l.merge(U.handleNodesDeletion(d,j.SENSE,N)),U.needToEditAntisense&&l.merge(U.handleNodesDeletion(J,j.ANTISENSE,N))}else{if(!R)return;var Z,W=cN.previousNodeInSameChain;Q=[[{node:R,nodeIndexOverall:V}]],U.needToEditSense&&R.senseNode&&(R.senseNode instanceof Gn||R.senseNode.monomers.forEach(function(U){l.merge(B.drawingEntitiesManager.deleteMonomer(U))}),l.merge(U.handleNodesDeletion(Q,j.SENSE))),!U.needToEditAntisense||!R.antisenseNode||R.antisenseNode instanceof Dn&&W||(null===(Z=R.antisenseNode)||void 0===Z||Z.monomers.forEach(function(U){l.merge(B.drawingEntitiesManager.deleteMonomer(U))}),l.merge(U.handleNodesDeletion(Q,j.ANTISENSE)))}U.finishNodesDeletion(l,Q[0][0].nodeIndexOverall,Q[0][0].nodeIndexOverall),0===cN.caretPosition&&0===cN.chainsCollection.chains.length&&U.startNewSequence()}};return{delete:{shortcut:["Delete"],handler:function(){U.isEditInRNABuilderMode||(!U.isEditMode&&cN.selections.length>0?U.deleteSelection():F(Ph.Right))}},backspace:{shortcut:["Backspace"],handler:function(){U.isEditInRNABuilderMode||(!U.isEditMode&&cN.selections.length>0?U.deleteSelection():F(Ph.Left))}},"turn-off-edit-mode":{shortcut:["Escape"],handler:function(){U.isEditInRNABuilderMode||(U.isEditMode?U.turnOffEditMode():KV().events.selectSelectionTool.dispatch())}},"start-new-sequence":{shortcut:["Enter"],handler:function(){U.isEditInRNABuilderMode||(U.unselectAllEntities(),U.isNodeExistAndNonEmpty(cN.currentEdittingNode)&&U.isNodeExistAndNonEmpty(cN.previousNodeInSameChain)?U.splitCurrentChain():(U.isSyncEditMode&&U.turnOffAntisenseEditMode(),U.startNewSequence()))}},"break-editting-chain":{shortcut:["Space"],handler:function(){if(!U.isEditInRNABuilderMode&&!U.isSyncEditMode){var F=new PV,Q=KV(),B=Nt.getInstance(Q),R=cN.currentEdittingNode,V=cN.previousNodeInSameChain;U.isAntisenseEditMode?U.deleteBondToNextNodeInChain(null===R||void 0===R?void 0:R.antisenseNode,F):U.deleteBondToNextNodeInChain(null===V||void 0===V?void 0:V.senseNode,F),F.addOperation(new ZN),Q.renderersContainer.update(F),B.update(F)}}},"break-complimentary-chain":{shortcut:["Minus","NumpadSubtract"],handler:function(){if(!U.isEditInRNABuilderMode){var F=new PV,Q=KV(),B=Nt.getInstance(Q),R=cN.currentEdittingNode,V=cN.previousNodeInSameChain;null===R||void 0===R||!R.senseNode||null===R||void 0===R||!R.antisenseNode||null===V||void 0===V||!V.senseNode||null===V||void 0===V||!V.antisenseNode||(null===R||void 0===R?void 0:R.senseNode)instanceof Dn||(null===R||void 0===R?void 0:R.antisenseNode)instanceof Dn||(null===V||void 0===V?void 0:V.senseNode)instanceof Dn||(null===V||void 0===V?void 0:V.antisenseNode)instanceof Dn||(U.isAntisenseEditMode&&null!==V&&void 0!==V&&V.senseNode?U.deleteBondToNextNodeInChain(V.senseNode,F):!U.isAntisenseEditMode&&null!==R&&void 0!==R&&R.antisenseNode&&U.deleteBondToNextNodeInChain(R.antisenseNode,F),F.addOperation(new ZN),Q.renderersContainer.update(F),B.update(F))}}},"move-caret-up":{shortcut:["ArrowUp"],handler:function(){var F;if(!U.isEditInRNABuilderMode){var Q=cN.currentEdittingNode;U.isAntisenseEditMode&&Boolean(null===Q||void 0===Q?void 0:Q.antisenseNode)?U.turnOffAntisenseEditMode():(cN.moveCaretUp(),null!==(F=cN.currentEdittingNode)&&void 0!==F&&F.antisenseNode&&U.turnOnAntisenseEditMode(),U.unselectAllEntities())}}},"move-caret-down":{shortcut:["ArrowDown"],handler:function(){if(!U.isEditInRNABuilderMode){var F=cN.currentEdittingNode;U.isAntisenseEditMode||!Boolean(null===F||void 0===F?void 0:F.antisenseNode)?(cN.moveCaretDown(),U.turnOffAntisenseEditMode(),U.unselectAllEntities()):U.turnOnAntisenseEditMode()}}},"move-caret-forward":{shortcut:["ArrowRight"],handler:function(){U.isEditInRNABuilderMode||U.isEditMode&&(cN.moveCaretForwardOrToRowEnd(),cN.resetLastUserDefinedCaretPosition(),U.unselectAllEntities())}},"move-caret-back":{shortcut:["ArrowLeft"],handler:function(){U.isEditInRNABuilderMode||U.isEditMode&&(cN.moveCaretBackOrFromRowEnd(),cN.resetLastUserDefinedCaretPosition(),U.unselectAllEntities())}},"move-caret-to-row-start":{shortcut:["Home"],handler:function(){U.isEditInRNABuilderMode||U.isEditMode&&(cN.moveCaretToRowStart(),U.unselectAllEntities())}},"move-caret-to-row-end":{shortcut:["End"],handler:function(){U.isEditInRNABuilderMode||U.isEditMode&&(cN.moveCaretToRowEnd(),U.unselectAllEntities())}},"add-sequence-item":{shortcut:[].concat((0,B.A)(Ah),(0,B.A)(Ah.map(function(U){return U.toLowerCase()}))),handler:function(F){var Q,B,R,V,n,l;if(!U.isEditInRNABuilderMode&&(cN.isEmptyCanvas()&&!U.isEditMode&&(U.turnOnEditMode(),cN.setCaretPosition(0)),U.isEditMode&&U.deleteSelection())){var d=F.code.replace("Key",""),J=KV(),N=Nt.getInstance(J),Z=new PV,W=cN.currentEdittingNode,S=null!==(Q=W&&cN.getPreviousNodeInSameChain(W))&&void 0!==Q?Q:void 0,E=null===W||void 0===W?void 0:W.senseNode,k=J.sequenceTypeEnterMode===Fn.DNA,t=J.sequenceTypeEnterMode===Fn.RNA,a="P"===d.toUpperCase();if(U.needToEditSense){var T=U.insertNewSequenceItem(J,U.isAntisenseEditMode&&!a?nZ.getAntisenseBaseLabel(d,k):d,null===W||void 0===W?void 0:W.senseNode,null===S||void 0===S?void 0:S.senseNode);if(!T)return;Z.merge(T.modelChanges),E=T.node}if(U.needToEditAntisense&&(U.isSyncEditMode?null!==(B=null===S||void 0===S?void 0:S.antisenseNode)&&void 0!==B?B:null===W||void 0===W?void 0:W.antisenseNode:!((null===S||void 0===S?void 0:S.antisenseNode)instanceof Dn)||!((null===W||void 0===W?void 0:W.antisenseNode)instanceof Dn))){var e,C,D,o=U.insertNewSequenceItem(J,U.isAntisenseEditMode||J.sequenceTypeEnterMode!==Fn.DNA&&J.sequenceTypeEnterMode!==Fn.RNA||a?d:nZ.getAntisenseBaseLabel(d,k),null!==(e=null===S||void 0===S?void 0:S.antisenseNode)&&void 0!==e?e:null,null===W||void 0===W?void 0:W.antisenseNode);if(o&&Z.merge(o.modelChanges),U.isSyncEditMode&&o&&E&&(E instanceof Sn||E instanceof Wn))Z.merge(J.drawingEntitiesManager.createPolymerBond(null===(C=E)||void 0===C?void 0:C.rnaBase,o.node instanceof Sn||o.node instanceof Wn?null===(D=o.node)||void 0===D?void 0:D.rnaBase:o.node.monomer,BR.HYDROGEN,BR.HYDROGEN,fl.HYDROGEN))}Z.addOperation(new ZN),J.renderersContainer.update(Z),(k||t)&&a&&(U.needToEditSense?on.isPartOfLinker(null===S||void 0===S||null===(R=S.senseNode)||void 0===R?void 0:R.monomer)||on.isPartOfLinker(null===W||void 0===W||null===(V=W.senseNode)||void 0===V?void 0:V.monomer):on.isPartOfLinker(null===S||void 0===S||null===(n=S.antisenseNode)||void 0===n?void 0:n.monomer)||on.isPartOfLinker(null===W||void 0===W||null===(l=W.antisenseNode)||void 0===l?void 0:l.monomer))||Z.addOperation(cN.moveCaretForward()),N.update(Z)}}},"sequence-edit-select":{shortcut:["Shift+ArrowLeft","Shift+ArrowRight","Shift+ArrowUp","Shift+ArrowDown"],handler:function(F){if(!U.isEditInRNABuilderMode){var Q=F.key;0===cN.caretPosition&&"ArrowLeft"===Q||(U.selectionStartCaretPosition=-1!==U.selectionStartCaretPosition?U.selectionStartCaretPosition:cN.caretPosition,cN.shiftArrowSelectionInEditMode(F),"ArrowLeft"!==Q&&"ArrowRight"!==Q||cN.resetLastUserDefinedCaretPosition())}}}}}},{key:"deleteSelection",value:function(){var U=KV(),F=cN.selections;if(F.length>0){var Q=new Set(U.drawingEntitiesManager.selectedMonomers),B=this.deleteSelectedDrawingEntities();B.merge(this.handleNodesDeletion(F,j.SENSE,Q)),B.merge(this.handleNodesDeletion(F,j.ANTISENSE,Q)),this.finishNodesDeletion(B,cN.caretPosition,F[0][0].nodeIndexOverall)}return!0}},{key:"isPasteAllowedByMode",value:function(U){var F=KV(),Q=vn.fromMonomers((0,B.A)(U.monomers.values()));return!this.isEditMode||(Q.chains.length>1?(F.events.error.dispatch("Paste of several fragments is prohibited in text-editing mode."),!1):0===Q.chains.length?(F.events.error.dispatch("No copied fragments."),!1):this.deleteSelection())}},{key:"isR1Free",value:function(U){var F;return U instanceof cV?null===U.attachmentPointsToBonds.R1:null===(null===U||void 0===U||null===(F=U.firstMonomerInNode)||void 0===F||null===(F=F.attachmentPointsToBonds)||void 0===F?void 0:F.R1)}},{key:"isR2Free",value:function(U){var F;return U instanceof cV?null===U.attachmentPointsToBonds.R2:null===(null===U||void 0===U||null===(F=U.lastMonomerInNode)||void 0===F||null===(F=F.attachmentPointsToBonds)||void 0===F?void 0:F.R2)}},{key:"areR1R2Free",value:function(U,F){return this.isR1Free(U)&&this.isR2Free(F)}},{key:"isConnectionPossible",value:function(U,F,Q,B){return null===U.attachmentPointsToBonds[F]&&null===Q.attachmentPointsToBonds[B]}},{key:"isPasteAvailable",value:function(U){if(!this.isEditMode)return!0;var F=vn.fromMonomers((0,B.A)(U.monomers.values())),Q=cN.currentEdittingNode,R=cN.previousNodeInSameChain,V=F.lastNode,n=F.firstNode,l=(null===Q||void 0===Q?void 0:Q.senseNode)instanceof Dn||!Q,d=!R;return!(!l||R)||(l?this.isR1Free(n)&&this.isR2Free(null===R||void 0===R?void 0:R.senseNode):d?this.isR2Free(V)&&this.isR1Free(null===Q||void 0===Q?void 0:Q.senseNode):this.areR1R2Free(n,V))}},{key:"applyAdditionalPasteOperations",value:function(U){var F,Q;if(!this.isEditMode){var R=new PV;return R.addOperation(new ZN),R}var V=vn.fromMonomers((0,B.A)(U.monomers.values())),n=cN.currentChain,l=null===n||void 0===n||null===(F=n.lastNonEmptyNode)||void 0===F||null===(F=F.monomer)||void 0===F?void 0:F.isPhosphate,d=cN.caretPosition+V.length;l&&(d-=1);var J=null===V||void 0===V||null===(Q=V.lastNode)||void 0===Q||null===(Q=Q.monomer)||void 0===Q?void 0:Q.isPhosphate;!cN.isCaretAtChainEnd&&J&&(d-=1);var N=this.insertNewSequenceFragment(V);return N.addOperation(new ZN),N.addOperation(new WN(cN.caretPosition,d,function(U){return cN.setCaretPosition(U)})),N}},{key:"preserveSideChainConnections",value:function(U){if(0===U.monomer.sideConnections.length)return null;var F=[];return Object.entries(U.monomer.attachmentPointsToBonds).forEach(function(Q){var B=(0,R.A)(Q,2),V=B[0],n=B[1];if(n&&!(n instanceof dR)&&n.isSideChainConnection){var l=n.getAnotherMonomer(U.monomer);if(null!==l&&void 0!==l&&l.attachmentPointsToBonds){var d=Object.entries(null===l||void 0===l?void 0:l.attachmentPointsToBonds).find(function(U){return(0,R.A)(U,2)[1]===n});if(d){var J=(0,R.A)(d,1)[0];F.push({firstMonomerAttachmentPointName:V,secondMonomer:l,secondMonomerAttachmentPointName:J})}}}}),F}},{key:"replaceSelectionWithMonomer",value:function(U,F,Q,B,R){var V,n=this,l=KV(),d=cN.getNextNodeInSameChain(Q),J=F.monomer.position,N=this.preserveSideChainConnections(F),Z=F.monomers.reduce(function(U,F){return U.concat(F.hydrogenBonds.map(function(U){return{toMonomer:U.getAnotherMonomer(F),fromMonomer:F}}))},[]),W=F.firstMonomerInNode.attachmentPointsToBonds.R1,S=F.lastMonomerInNode.attachmentPointsToBonds.R2;F.monomers.forEach(function(U){B.merge(l.drawingEntitiesManager.deleteMonomer(U)),U.forEachBond(function(U){B.merge(l.drawingEntitiesManager.deleteDrawingEntity(U))})});var E=l.drawingEntitiesManager.addMonomer(U,J),k=E.operations[0].monomer,t=new tn(k);return B.merge(E),B.merge(this.insertNewSequenceFragment(t,null!==(V=null===d||void 0===d?void 0:d.senseNode)&&void 0!==V?V:null,R,Boolean(W),Boolean(S))),null===N||void 0===N||N.forEach(function(U){var F=U.firstMonomerAttachmentPointName,Q=U.secondMonomer,R=U.secondMonomerAttachmentPointName;n.isConnectionPossible(k,F,Q,R)&&B.merge(l.drawingEntitiesManager.createPolymerBond(k,Q,F,R))}),Z.forEach(function(U){var F=U.toMonomer;B.merge(l.drawingEntitiesManager.createPolymerBond(k,F,BR.HYDROGEN,BR.HYDROGEN,fl.HYDROGEN))}),t}},{key:"replaceSelectionsWithMonomer",value:function(U,F){var Q=this,B=KV(),R=Nt.getInstance(B),V=new PV;U.forEach(function(U){var B,R=null===(B=cN.getPreviousNodeInSameChain(U[0].node))||void 0===B?void 0:B.senseNode;U.forEach(function(U){var B=U.node.senseNode;!B||B instanceof Dn||(R=Q.replaceSelectionWithMonomer(F,B,U.node,V,R))})}),V.addOperation(new ZN),B.renderersContainer.update(V),V.setUndoOperationReverse(),V.setUndoOperationsByPriority(),R.update(V)}},{key:"checkIfNewMonomerCouldEstablishConnections",value:function(U,F,Q){if(null===F||void 0===F||!F.attachmentPoints)return!1;var B=cV.getAttachmentPointDictFromMonomerDefinition(F.attachmentPoints);return(Q?Object.entries(U.monomer.attachmentPointsToBonds):[[BR.R1,U.firstMonomerInNode.attachmentPointsToBonds.R1],[BR.R2,U.lastMonomerInNode.attachmentPointsToBonds.R2]]).every(function(U){var F=(0,R.A)(U,2),V=F[0],n=F[1];return!n||!(n instanceof dR||(Q?n.isSideChainConnection:n.isBackBoneChainConnection))||B.attachmentPointsList.includes(V)})}},{key:"selectionsContainLinkerNode",value:function(U){return U.some(function(U){return U.some(function(U){return U.node.senseNode instanceof on})})}},{key:"selectionsCantPreserveConnectionsWithMonomer",value:function(U,F,Q){var B=this;return U.some(function(U){return U.some(function(U){return U.node.senseNode&&!B.checkIfNewMonomerCouldEstablishConnections(U.node.senseNode,F,Q)})})}},{key:"presetHasNeededAttachmentPoints",value:function(U){if(!U.sugar)return!1;var F=cV.getAttachmentPointDictFromMonomerDefinition(U.sugar.attachmentPoints).attachmentPointsList.includes(BR.R1);if(U.phosphate){var Q=cV.getAttachmentPointDictFromMonomerDefinition(U.phosphate.attachmentPoints).attachmentPointsList.includes(BR.R2);return F&&Q}return F}},{key:"selectionsCantPreserveConnectionsWithPreset",value:function(U,F,Q){var B=this;return U.some(function(U){return U.some(function(U){return[F.sugar,F.base,F.phosphate].some(function(F){return F&&U.node.senseNode&&!B.checkIfNewMonomerCouldEstablishConnections(U.node.senseNode,F,Q)})})})}},{key:"checkNodeInsertionPossibility",value:function(U){var F,Q,B=cN.previousNodeInSameChain,R=cN.currentEdittingNode,V=!((null===R||void 0===R?void 0:R.senseNode)instanceof Dn),n=null,l=Boolean(null===B||void 0===B||null===(F=B.senseNode)||void 0===F?void 0:F.lastMonomerInNode.hasAttachmentPoint(BR.R2)),d=U.firstMonomerInNode.hasAttachmentPoint(BR.R1),J=Boolean(B)&&(!l||!d);J&&!d&&(n=BR.R1);var N=Boolean(null===R||void 0===R||null===(Q=R.senseNode)||void 0===Q?void 0:Q.firstMonomerInNode.hasAttachmentPoint(BR.R1)),Z=U.lastMonomerInNode.hasAttachmentPoint(BR.R2),W=Boolean(R)&&V&&(!N||!Z);return W&&!Z&&(n=BR.R2),{nodeCanBeInserted:!J&&!W,missingAttachmentPoint:n}}},{key:"isSelectionsContainAntisenseChains",value:function(U){return U.some(function(U){return U.some(function(U){return U.node.antisenseNode})})}},{key:"insertMonomerFromLibrary",value:function(U){var F=this,Q=KV(),B=Nt.getInstance(Q),R=new PV,V=cN.selections;if(V.length>0){if(this.isSelectionsContainAntisenseChains(V))return;if(this.selectionsCantPreserveConnectionsWithMonomer(V,U))return void this.showMergeWarningModal();this.selectionsContainLinkerNode(V)?Q.events.openConfirmationDialog.dispatch({confirmationText:"Symbol @ can represent multiple monomers, all of them are going to be deleted. Do you want to proceed?",onConfirm:function(){F.replaceSelectionsWithMonomer(V,U)}}):this.selectionsCantPreserveConnectionsWithMonomer(V,U,!0)?Q.events.openConfirmationDialog.dispatch({confirmationText:"Side chain connections will be deleted during replacement. Do you want to proceed?",onConfirm:function(){F.replaceSelectionsWithMonomer(V,U)}}):this.replaceSelectionsWithMonomer(V,U)}else if(Q.isSequenceEditMode){var n=this.getNewNodePosition(),l=cN.currentEdittingNode;if(null!==l&&void 0!==l&&l.antisenseNode)return;var d=Q.drawingEntitiesManager.createMonomer(U,n),J=new tn(d),N=this.checkNodeInsertionPossibility(J),Z=N.nodeCanBeInserted,W=N.missingAttachmentPoint;if(!Z){var S=W&&"The monomer lacks ".concat(W," attachment point and cannot be inserted at current position");return void this.showMergeWarningModal(S)}var E=Q.drawingEntitiesManager.addMonomer(U,n,d);R.merge(E),R.merge(this.insertNewSequenceFragment(J)),R.addOperation(new ZN),Q.renderersContainer.update(R),cN.setCaretPositionNextToMonomer(J.lastMonomerInNode),B.update(R)}}},{key:"createRnaPresetNode",value:function(U,F){var Q=KV(),B=U.base,R=U.sugar,V=U.phosphate;S()(R);var n=Q.drawingEntitiesManager.createMonomer(R,F),l=null;B&&(l=Q.drawingEntitiesManager.createMonomer(B,F));var d=null;V&&(d=Q.drawingEntitiesManager.createMonomer(V,F));return l&&n&&d?new Sn(n,l,d):l&&n?new Wn(n,l):new on(n)}},{key:"replaceSelectionWithPreset",value:function(U,F,Q,B,R){var V,n=this,l=KV(),d=cN.getNextNodeInSameChain(Q),J=F.monomer.position,N=F.firstMonomerInNode.attachmentPointsToBonds.R1,Z=F.lastMonomerInNode.attachmentPointsToBonds.R2,W=this.preserveSideChainConnections(F),E=F.monomers.reduce(function(U,F){return U.concat(F.hydrogenBonds.map(function(U){return{toMonomer:U.getAnotherMonomer(F),fromMonomer:F}}))},[]);F.monomers.forEach(function(U){B.merge(l.drawingEntitiesManager.deleteMonomer(U)),U.forEachBond(function(U){B.merge(l.drawingEntitiesManager.deleteDrawingEntity(U))})});var k=this.createRnaPresetNode(U,J);S()(k);var t=l.drawingEntitiesManager.addRnaPresetFromNode(k);B.merge(t),B.merge(this.insertNewSequenceFragment(k,null!==(V=null===d||void 0===d?void 0:d.senseNode)&&void 0!==V?V:null,R,Boolean(N),Boolean(Z),!1));var a=k.monomer;return k instanceof Sn?a=k.phosphate:k instanceof Wn&&(a=k.sugar),null===W||void 0===W||W.forEach(function(U){var F=U.firstMonomerAttachmentPointName,Q=U.secondMonomer,R=U.secondMonomerAttachmentPointName;n.isConnectionPossible(a,F,Q,R)&&B.merge(l.drawingEntitiesManager.createPolymerBond(a,Q,F,R))}),E.forEach(function(U){var F,Q=U.toMonomer,R=U.fromMonomer;(k instanceof Sn||k instanceof Wn)&&(R instanceof uV?F=k.rnaBase:R instanceof HV?F=k.sugar:k instanceof Sn&&R instanceof IV&&(F=k.phosphate)),F&&B.merge(l.drawingEntitiesManager.createPolymerBond(F,Q,BR.HYDROGEN,BR.HYDROGEN,fl.HYDROGEN))}),k}},{key:"replaceSelectionsWithPreset",value:function(U,F){var Q=this,B=KV(),R=Nt.getInstance(B),V=new PV;U.forEach(function(U){var B,R=null===(B=cN.getPreviousNodeInSameChain(U[0].node))||void 0===B?void 0:B.senseNode;U.forEach(function(U){var B=U.node.senseNode;!B||B instanceof Dn||(R=Q.replaceSelectionWithPreset(F,B,U.node,V,R))})}),V.addOperation(new ZN),B.renderersContainer.update(V),V.setUndoOperationReverse(),V.setUndoOperationsByPriority(),R.update(V)}},{key:"insertPresetFromLibrary",value:function(U){var F=this,Q=KV(),B=Nt.getInstance(Q),R=new PV,V=cN.selections;if(V.length>0){if(this.isSelectionsContainAntisenseChains(V))return;if(!this.presetHasNeededAttachmentPoints(U))return void this.showMergeWarningModal();this.selectionsContainLinkerNode(V)?Q.events.openConfirmationDialog.dispatch({confirmationText:"Symbol @ can represent multiple monomers, all of them are going to be deleted. Do you want to proceed?",onConfirm:function(){F.replaceSelectionsWithPreset(V,U)}}):this.selectionsCantPreserveConnectionsWithPreset(V,U,!0)?Q.events.openConfirmationDialog.dispatch({confirmationText:"Side chain connections will be deleted during replacement. Do you want to proceed?",onConfirm:function(){F.replaceSelectionsWithPreset(V,U)}}):this.replaceSelectionsWithPreset(V,U)}else if(Q.isSequenceEditMode){var n=this.getNewNodePosition(),l=cN.currentEdittingNode;if(null!==l&&void 0!==l&&l.antisenseNode)return;var d=this.createRnaPresetNode(U,n);S()(d);var J=this.checkNodeInsertionPossibility(d),N=J.nodeCanBeInserted,Z=J.missingAttachmentPoint;if(!N){var W=Z&&"The monomer lacks ".concat(Z," attachment point and cannot be inserted at current position");return void this.showMergeWarningModal(W)}var E=Q.drawingEntitiesManager.addRnaPresetFromNode(d,U.connections);R.merge(E),R.merge(this.insertNewSequenceFragment(d)),R.addOperation(new ZN),Q.renderersContainer.update(R),cN.setCaretPositionNextToMonomer(d.lastMonomerInNode),B.update(R)}}},{key:"insertNewSequenceItem",value:function(U,F,Q,B){var R=cN.currentEdittingNode,V=this.getNewNodePosition(),n=cN.previousNodeInSameChain;if(!(Q instanceof Dn&&B)||null!==n&&void 0!==n&&n.antisenseNode||this.isR2Free(B)){if(B||!Q||Q instanceof Dn||this.isR1Free(Q)){if(U.sequenceTypeEnterMode!==Fn.PEPTIDE&&"P"===F.toUpperCase()){var l=nn(U,I.PHOSPHATE,WU.Phosphate),d=l&&U.drawingEntitiesManager.addMonomer(l,V),J=null===d||void 0===d?void 0:d.operations[0].monomer;if(!l||!J)return void this.showMergeWarningModal("Phosphate library item not found.");var N=new tn(J),Z=new PV;return Z.merge(d),Z.merge(this.insertNewSequenceFragment(N,R instanceof Gn?R.secondConnectedNode:Q,R instanceof Gn?R.firstConnectedNode:B,!0,!0,!1)),{modelChanges:Z,node:N}}return U.sequenceTypeEnterMode===Fn.PEPTIDE?this.handlePeptideNodeAddition(F,V,Q,B):this.handleRnaDnaNodeAddition(F,V,Q,B)}this.showMergeWarningModal()}else this.showMergeWarningModal()}},{key:"showMergeWarningModal",value:function(U){KV().events.openErrorModal.dispatch({errorTitle:"Error Message",errorMessage:null!==U&&void 0!==U?U:"It is impossible to merge fragments. Attachment point to establish bonds are not available."})}},{key:"insertNewSequenceFragment",value:function(U,F,Q){var B,R,V=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],n=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],l=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],d=U instanceof vn?U:(new vn).add((new cn).addNode(U)),J=null===F?void 0:null!==F&&void 0!==F?F:null===(B=cN.currentEdittingNode)||void 0===B?void 0:B.senseNode,N=null!==Q&&void 0!==Q?Q:null===(R=cN.previousNodeInSameChain)||void 0===R?void 0:R.senseNode,Z=new PV,W=d.lastNode,S=d.firstNode,E=this.getNewNodePosition();return V&&(this.deleteBondToNextNodeInChain(N,Z),this.connectNodes(N,S,Z,E,l)),n&&this.connectNodes(W,J,Z,E,l),Z}},{key:"getNewNodePosition",value:function(){if(this.isEditMode){var U=cN.currentEdittingNode,F=null===U||void 0===U?void 0:U.senseNode,Q=cN.previousFromCurrentEdittingMonomer,B=null===Q||void 0===Q?void 0:Q.senseNode,R=B?cN.getPreviousNodeInSameChain(Q):void 0,V=null===R||void 0===R?void 0:R.senseNode;return this.getNewSequenceItemPosition(B,V,F)}return cN.chainsCollection.chains.length>0?cN.getNextChainPosition():new zF(0,0)}},{key:"deleteSelectedDrawingEntities",value:function(){var U=KV(),F=new PV;return U.drawingEntitiesManager.selectedEntities.forEach(function(Q){var B=(0,R.A)(Q,2)[1];F.merge(U.drawingEntitiesManager.deleteDrawingEntity(B))}),F}},{key:"getNewSequenceItemPosition",value:function(U,F,Q){var B=new zF(1,1);return!U||U instanceof Dn?!Q||Q instanceof Dn?F?F.lastMonomerInNode.position.add(B):new zF(0,0):Q.firstMonomerInNode.position.add(B):U.lastMonomerInNode.position.add(B)}},{key:"scrollForView",value:function(){if(!this.isEditMode){var U=RQ.instance,F=cN.getRenderedStructuresBbox();U.isFitToCanvasHeight(F.height)?U.scrollTo(new zF(F.left,F.top)):U.scrollTo(new zF(F.left,F.bottom),!0)}}},{key:"unselectAllEntities",value:function(){var U=KV(),F=U.drawingEntitiesManager.unselectAllDrawingEntities();F.merge(cN.unselectEmptyAndBackboneSequenceNodes()),U.renderersContainer.update(F)}},{key:"createHydrogenBondForTwoStrandedNode",value:function(U){var F=new PV,Q=KV(),B=U.senseNode,R=U.antisenseNode;return B&&R&&!Ih(U)?(F.merge(Q.drawingEntitiesManager.createPolymerBond(B instanceof Wn||B instanceof Sn?B.rnaBase:B.monomer,R instanceof Wn||R instanceof Sn?R.rnaBase:R.monomer,BR.HYDROGEN,BR.HYDROGEN,fl.HYDROGEN)),F):F}},{key:"deleteHydrogenBondsForNode",value:function(U){var F=new PV,Q=KV();return null===U||void 0===U||U.monomers.forEach(function(U){U.hydrogenBonds.forEach(function(U){F.merge(Q.drawingEntitiesManager.deletePolymerBond(U))})}),F}},{key:"establishHydrogenBond",value:function(U){var F=this,Q=new PV,B=KV(),R=Nt.getInstance(B),V=cN.selections;if(V.length)V.forEach(function(U){U.forEach(function(U){Q.merge(F.createHydrogenBondForTwoStrandedNode(U.node))})});else{var n=U.twoStrandedNode;if(!n)return;Q.merge(this.createHydrogenBondForTwoStrandedNode(n))}Q.addOperation(new ZN),B.renderersContainer.update(Q),R.update(Q)}},{key:"deleteHydrogenBond",value:function(U){var F=this,Q=new PV,B=KV(),R=Nt.getInstance(B),V=cN.selections;if(V.length)V.forEach(function(U){U.forEach(function(U){Q.merge(F.deleteHydrogenBondsForNode(U.node.senseNode)),Q.merge(F.deleteHydrogenBondsForNode(U.node.antisenseNode))})});else{var n=U.node;Q.merge(this.deleteHydrogenBondsForNode(n))}Q.addOperation(new ZN),B.renderersContainer.update(Q),R.update(Q)}},{key:"destroy",value:function(){this.turnOffEditMode(),cN.clear()}}]),F}(Tt);kt("sequence-layout-mode",qh);var _h={fracAngle:vB.fracAngle,calcAngle:vB.calcAngle,degrees:vB.degrees,calcNewAtomPos:vB.calcNewAtomPos};function $h(U,F,Q){(function(U,F){if(F.has(U))throw new TypeError("Cannot initialize the same private elements twice on an object")})(U,F),F.set(U,Q)}var Uc=["radicals","pseudoatoms","stereo","query","overlapping_atoms","overlapping_bonds","rgroups","chiral","3d"],Fc=["molecular-weight","most-abundant-mass","monoisotopic-mass","gross","mass-composition"];function Qc(U,F){if("string"!==typeof U){var Q=new Map,B=U.clone(null,null,!1,Q);return F.serialize(B)}return U}var Bc,Rc=new WeakMap,Vc=new WeakMap,nc=function(){function U(F){(0,V.A)(this,U),$h(this,Rc,{writable:!0,value:void 0}),$h(this,Vc,{writable:!0,value:void 0}),(0,i.A)(this,Rc,F),(0,i.A)(this,Vc,new qS)}return(0,n.A)(U,[{key:"info",value:function(){return(0,M.A)(this,Rc).info()}},{key:"convert",value:function(U,F){var Q,B=null!==(Q=null===F||void 0===F?void 0:F.outputFormat)&&void 0!==Q?Q:FF.KET,R=null===F||void 0===F?void 0:F.inputFormat,V=null===F||void 0===F?void 0:F.outputContentType;return(0,M.A)(this,Rc).convert({struct:Qc(U,(0,M.A)(this,Vc)),output_format:B,input_format:R},{"sequence-type":null===F||void 0===F?void 0:F.sequenceType,"output-content-type":V,"monomer-library-saving-mode":null===F||void 0===F?void 0:F.monomerLibrarySavingMode,"molfile-saving-skip-date":null===F||void 0===F?void 0:F.molfileSavingSkipDate})}},{key:"layout",value:function(U,F){var Q=this;return(0,M.A)(this,Rc).layout({struct:Qc(U,(0,M.A)(this,Vc)),output_format:FF.KET},F).then(function(U){return(0,M.A)(Q,Vc).deserialize(U.struct)})}},{key:"clean",value:function(U){var F=this;return(0,M.A)(this,Rc).clean({struct:Qc(U,(0,M.A)(this,Vc)),output_format:FF.KET}).then(function(U){return(0,M.A)(F,Vc).deserialize(U.struct)})}},{key:"aromatize",value:function(U){var F=this;return(0,M.A)(this,Rc).aromatize({struct:Qc(U,(0,M.A)(this,Vc)),output_format:FF.KET}).then(function(U){return(0,M.A)(F,Vc).deserialize(U.struct)})}},{key:"dearomatize",value:function(U){var F=this;return(0,M.A)(this,Rc).dearomatize({struct:Qc(U,(0,M.A)(this,Vc)),output_format:FF.KET}).then(function(U){return(0,M.A)(F,Vc).deserialize(U.struct)})}},{key:"calculateCip",value:function(U){var F=this;return(0,M.A)(this,Rc).calculateCip({struct:Qc(U,(0,M.A)(this,Vc)),output_format:FF.KET}).then(function(U){return(0,M.A)(F,Vc).deserialize(U.struct)})}},{key:"automap",value:function(U,F){var Q,B=this,R=null!==(Q=null===F||void 0===F?void 0:F.mode)&&void 0!==Q?Q:"discard";return(0,M.A)(this,Rc).automap({struct:Qc(U,(0,M.A)(this,Vc)),output_format:FF.KET,mode:R}).then(function(U){return(0,M.A)(B,Vc).deserialize(U.struct)})}},{key:"check",value:function(U,F){var Q,B=null!==(Q=null===F||void 0===F?void 0:F.types)&&void 0!==Q?Q:Uc;return(0,M.A)(this,Rc).check({struct:Qc(U,(0,M.A)(this,Vc)),types:B})}},{key:"calculate",value:function(U,F){var Q,B=null!==(Q=null===F||void 0===F?void 0:F.properties)&&void 0!==Q?Q:Fc;return(0,M.A)(this,Rc).calculate({struct:Qc(U,(0,M.A)(this,Vc)),properties:B})}},{key:"recognize",value:function(U,F){var Q,B=this,R=null!==(Q=null===F||void 0===F?void 0:F.version)&&void 0!==Q?Q:"";return(0,M.A)(this,Rc).recognize(U,R).then(function(U){return(0,M.A)(B,Vc).deserialize(U.struct)})}},{key:"generateImageAsBase64",value:function(U,F){var Q,B,R,V=null!==(Q=null===F||void 0===F?void 0:F.outputFormat)&&void 0!==Q?Q:"png",n=null!==(B=null===F||void 0===F?void 0:F.backgroundColor)&&void 0!==B?B:"",l=null!==(R=null===F||void 0===F?void 0:F.bondThickness)&&void 0!==R?R:oQ;return(0,M.A)(this,Rc).generateImageAsBase64(Qc(U,(0,M.A)(this,Vc)),{outputFormat:V,backgroundColor:n,bondThickness:l})}},{key:"toggleExplicitHydrogens",value:function(U){var F=this;return(0,M.A)(this,Rc).toggleExplicitHydrogens({struct:Qc(U,(0,M.A)(this,Vc)),output_format:FF.KET}).then(function(U){return(0,M.A)(F,Vc).deserialize(U.struct)})}},{key:"calculateMacromoleculeProperties",value:function(U){return(0,M.A)(this,Rc).calculateMacromoleculeProperties({struct:U})}}]),U}(),lc="object"===typeof Reflect?Reflect:null,dc=lc&&"function"===typeof lc.apply?lc.apply:function(U,F,Q){return Function.prototype.apply.call(U,F,Q)};Bc=lc&&"function"===typeof lc.ownKeys?lc.ownKeys:Object.getOwnPropertySymbols?function(U){return Object.getOwnPropertyNames(U).concat(Object.getOwnPropertySymbols(U))}:function(U){return Object.getOwnPropertyNames(U)};var Jc=Number.isNaN||function(U){return U!==U};function Nc(){Nc.init.call(this)}var Zc=Nc,Wc=function(U,F){return new Promise(function(Q,B){function R(Q){U.removeListener(F,V),B(Q)}function V(){"function"===typeof U.removeListener&&U.removeListener("error",R),Q([].slice.call(arguments))}hc(U,F,V,{once:!0}),"error"!==F&&function(U,F,Q){"function"===typeof U.on&&hc(U,"error",F,Q)}(U,R,{once:!0})})};Nc.EventEmitter=Nc,Nc.prototype._events=void 0,Nc.prototype._eventsCount=0,Nc.prototype._maxListeners=void 0;var Sc,Ec,kc=10;function tc(U){if("function"!==typeof U)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof U)}function ac(U){return void 0===U._maxListeners?Nc.defaultMaxListeners:U._maxListeners}function Tc(U,F,Q,B){var R,V,n,l;if(tc(Q),void 0===(V=U._events)?(V=U._events=Object.create(null),U._eventsCount=0):(void 0!==V.newListener&&(U.emit("newListener",F,Q.listener?Q.listener:Q),V=U._events),n=V[F]),void 0===n)n=V[F]=Q,++U._eventsCount;else if("function"===typeof n?n=V[F]=B?[Q,n]:[n,Q]:B?n.unshift(Q):n.push(Q),(R=ac(U))>0&&n.length>R&&!n.warned){n.warned=!0;var d=new Error("Possible EventEmitter memory leak detected. "+n.length+" "+String(F)+" listeners added. Use emitter.setMaxListeners() to increase limit");d.name="MaxListenersExceededWarning",d.emitter=U,d.type=F,d.count=n.length,l=d,console&&console.warn&&console.warn(l)}return U}function ec(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Cc(U,F,Q){var B={fired:!1,wrapFn:void 0,target:U,type:F,listener:Q},R=ec.bind(B);return R.listener=Q,B.wrapFn=R,R}function Dc(U,F,Q){var B=U._events;if(void 0===B)return[];var R=B[F];return void 0===R?[]:"function"===typeof R?Q?[R.listener||R]:[R]:Q?function(U){for(var F=new Array(U.length),Q=0;Q2&&void 0!==Z[2]&&Z[2],R=KV(),V=new qS,n=at(F),l=F,n===Zt.ket){U.next=9;break}return U.next=8,Q.convert({struct:F,output_format:FF.KET});case 8:l=U.sent.struct;case 9:d=V.deserializeToDrawingEntities(l),S()(d),J=d.drawingEntitiesManager.mergeInto(R.drawingEntitiesManager),N=J.command,Nt.getInstance(R).update(N,B),R.renderersContainer.update(N);case 14:case"end":return U.stop()}},U)})),bc.apply(this,arguments)}function vc(U,F,Q){var B=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Zt.rxn,R=arguments.length>4?arguments[4]:void 0,V=arguments.length>5?arguments[5]:void 0,n=Jt.getKetcher(U).editor.serverSettings,l=F.create(B,n),d=null===R||void 0===R?void 0:R.mergeInto(new nZ);return l.getStringFromStructureAsync(Q,null===d||void 0===d?void 0:d.mergedDrawingEntities,V)}function Gc(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function sc(U){for(var F=1;F0&&(V=F[0]),V instanceof Error)throw V;var n=new Error("Unhandled error."+(V?" ("+V.message+")":""));throw n.context=V,n}var l=R[U];if(void 0===l)return!1;if("function"===typeof l)dc(l,this,F);else{var d=l.length,J=pc(l,d);for(Q=0;Q=0;V--)if(Q[V]===F||Q[V].listener===F){n=Q[V].listener,R=V;break}if(R<0)return this;0===R?Q.shift():function(U,F){for(;F+1=0;B--)this.removeListener(U,F[B]);return this},Nc.prototype.listeners=function(U){return Dc(this,U,!0)},Nc.prototype.rawListeners=function(U){return Dc(this,U,!1)},Nc.listenerCount=function(U,F){return"function"===typeof U.listenerCount?U.listenerCount(F):oc.call(U,F)},Nc.prototype.listenerCount=oc,Nc.prototype.eventNames=function(){return this._eventsCount>0?Bc(this._events):[]},Zc.once=Wc,function(U){U.flex="flex-layout-mode",U.snake="snake-layout-mode",U.sequence="sequence-layout-mode"}(Sc||(Sc={})),function(U){U.svg="image/svg+xml"}(Ec||(Ec={}));var Yc={"general.dearomatize-on-load":"dearomatize-on-load",ignoreChiralFlag:"ignoreChiralFlag",disableQueryElements:"disableQueryElements",bondThickness:"bondThickness"},yc={inputFormat:FF.MonomerLibrary,outputFormat:FF.MonomerLibrary,outputContentType:FF.MonomerLibrary},zc=new WeakMap,Oc=new WeakMap,Lc=new WeakMap,Hc=function(){function U(F,Q){(0,V.A)(this,U),Xc(this,zc,{writable:!0,value:void 0}),Xc(this,Oc,{writable:!0,value:null}),Xc(this,Lc,{writable:!0,value:void 0}),S()(null!=F),S()(null!=Q),this._id=(0,o.uniqueId)(),this.changeEvent=new xl,this.libraryUpdateEvent=new xl,this.structService=F,(0,i.A)(this,zc,Q),this._indigo=new nc(this.structService),(0,i.A)(this,Lc,new Zc.EventEmitter),this.logging={enabled:!1,level:mU.ERROR,showTrace:!1}}return(0,n.A)(U,[{key:"editor",get:function(){return(0,M.A)(this,Oc)}},{key:"eventBus",get:function(){return(0,M.A)(this,Lc)}},{key:"id",get:function(){return this._id}},{key:"formatterFactory",get:function(){return(0,M.A)(this,zc)}},{key:"indigo",get:function(){return this._indigo}},{key:"settings",get:function(){var U=this.editor.options(),F=Object.entries(Yc).reduce(function(F,Q){var B=(0,R.A)(Q,2),V=B[0],n=B[1];return n in U?sc(sc({},F),{},(0,Z.A)({},V,n)):F},{});if(!Object.keys(F).length)throw new Error("Allowed options are not provided");return F}},{key:"addEditor",value:function(U){(0,i.A)(this,Oc,U)}},{key:"setSettings",value:function(U){if(!U)throw new Error("Please provide settings");for(var F={},Q=0,B=Object.entries(Yc);Q0&&void 0!==arguments[0]&&arguments[0];if(window.isPolymerEditorTurnedOn)throw new Error("SMILES format is not available in macro mode");var F=U?Zt.smilesExt:Zt.smiles;return vc(this.id,(0,M.A)(this,zc),this.editor.struct(),F)}},{key:"getExtendedSmiles",value:function(){return this.getSmiles(!0)}},{key:"getMolfile",value:function(){var U=(0,E.A)(t().mark(function U(F){var Q,B,R,V;return t().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:if(!this.containsReaction()){U.next=2;break}throw Error("The structure cannot be saved as *.MOL due to reaction arrows.");case 2:return B="v3000"===F?Zt.molV3000:Zt.mol,R=F?B:Zt.molAuto,U.next=6,vc(this.id,(0,M.A)(this,zc),this.editor.struct(),R,null===(Q=KV())||void 0===Q?void 0:Q.drawingEntitiesManager);case 6:return V=U.sent,U.abrupt("return",V);case 8:case"end":return U.stop()}},U,this)}));return function(F){return U.apply(this,arguments)}}()},{key:"getIdt",value:function(){var U;return vc(this.id,(0,M.A)(this,zc),this.editor.struct(),Zt.idt,null===(U=KV())||void 0===U?void 0:U.drawingEntitiesManager)}},{key:"getAxoLabs",value:function(){var U;return vc(this.id,(0,M.A)(this,zc),this.editor.struct(),Zt.axoLabs,null===(U=KV())||void 0===U?void 0:U.drawingEntitiesManager)}},{key:"getRxn",value:function(){var U=(0,E.A)(t().mark(function U(){var F,Q,B,R=arguments;return t().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:if(F=R.length>0&&void 0!==R[0]?R[0]:"v2000",!window.isPolymerEditorTurnedOn){U.next=3;break}throw new Error("RXN format is not available in macro mode");case 3:if(this.containsReaction()){U.next=5;break}throw Error("The structure cannot be saved as *.RXN: there is no reaction arrows.");case 5:return Q="v3000"===F?Zt.rxnV3000:Zt.rxn,U.next=8,vc(this.id,(0,M.A)(this,zc),this.editor.struct(),Q);case 8:return B=U.sent,U.abrupt("return",B);case 10:case"end":return U.stop()}},U,this)}));return function(){return U.apply(this,arguments)}}()},{key:"getKet",value:function(){var U,F,Q,B,R,V;return vc(this.id,(0,M.A)(this,zc),(null!==(U=null===(F=KV())||void 0===F?void 0:F._type)&&void 0!==U?U:Sp.Micromolecules)===Sp.Micromolecules?this.editor.struct():null===(Q=KV())||void 0===Q||null===(Q=Q.drawingEntitiesManager.micromoleculesHiddenEntities)||void 0===Q?void 0:Q.clone(),Zt.ket,(null!==(B=null===(R=KV())||void 0===R?void 0:R._type)&&void 0!==B?B:Sp.Micromolecules)===Sp.Micromolecules||null===(V=KV())||void 0===V?void 0:V.drawingEntitiesManager,this.editor.selection())}},{key:"getFasta",value:function(){var U;return vc(this.id,(0,M.A)(this,zc),this.editor.struct(),Zt.fasta,null===(U=KV())||void 0===U?void 0:U.drawingEntitiesManager)}},{key:"getSequence",value:function(){var U=(0,E.A)(t().mark(function U(){var F,Q,B,R,V,n,l,d,J,N=arguments;return t().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:if("1-letter"!==(Q=N.length>0&&void 0!==N[0]?N[0]:"1-letter")&&"3-letter"!==Q){U.next=18;break}return B=KV(),R=this.indigo,V=new qS,n=V.serialize(B.drawingEntitiesManager.micromoleculesHiddenEntities.clone(),B.drawingEntitiesManager),l="1-letter"===Q?FF.SEQUENCE:FF.PeptideSequenceThreeLetter,U.prev=7,U.next=10,R.convert(n,{outputFormat:l});case 10:return d=U.sent,U.abrupt("return",d.struct);case 14:throw U.prev=14,U.t0=U.catch(7),J=U.t0 instanceof Error?U.t0.message:"Unknown error occurred",new Error("Failed to convert structure to ".concat(Q," format: ").concat(J));case 18:return U.abrupt("return",vc(this.id,(0,M.A)(this,zc),this.editor.struct(),"3-letter"===Q?Zt.sequence3Letter:Zt.sequence,null===(F=KV())||void 0===F?void 0:F.drawingEntitiesManager));case 19:case"end":return U.stop()}},U,this,[[7,14]])}));return function(){return U.apply(this,arguments)}}()},{key:"getSmarts",value:function(){if(window.isPolymerEditorTurnedOn)throw new Error("SMARTS format is not available in macro mode");return vc(this.id,(0,M.A)(this,zc),this.editor.struct(),Zt.smarts)}},{key:"getCml",value:function(){if(window.isPolymerEditorTurnedOn)throw new Error("CML format is not available in macro mode");return vc(this.id,(0,M.A)(this,zc),this.editor.struct(),Zt.cml)}},{key:"getSdf",value:function(){var U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"v2000";if(window.isPolymerEditorTurnedOn)throw new Error("SDF format is not available in macro mode");var F="v2000"===U?Zt.sdf:Zt.sdfV3000;return vc(this.id,(0,M.A)(this,zc),this.editor.struct(),F)}},{key:"getRdf",value:function(){var U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"v2000";if(window.isPolymerEditorTurnedOn)throw new Error("RDF format is not available in macro mode");var F="v2000"===U?Zt.rdf:Zt.rdfV3000;return vc(this.id,(0,M.A)(this,zc),this.editor.struct(),F)}},{key:"getCDXml",value:function(){if(window.isPolymerEditorTurnedOn)throw new Error("CDXML format is not available in macro mode");return vc(this.id,(0,M.A)(this,zc),this.editor.struct(),Zt.cdxml)}},{key:"getCDX",value:function(){if(window.isPolymerEditorTurnedOn)throw new Error("CDX format is not available in macro mode");return vc(this.id,(0,M.A)(this,zc),this.editor.struct(),Zt.cdx)}},{key:"getInchi",value:function(){var U=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return vc(this.id,(0,M.A)(this,zc),this.editor.struct(),U?Zt.inChIAuxInfo:Zt.inChI)}},{key:"getInChIKey",value:function(){var U=(0,E.A)(t().mark(function U(){var F;return t().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:return U.next=2,vc(this.id,(0,M.A)(this,zc),this.editor.struct(),Zt.ket);case 2:return F=U.sent,U.abrupt("return",this.structService.getInChIKey(F));case 4:case"end":return U.stop()}},U,this)}));return function(){return U.apply(this,arguments)}}()},{key:"containsReaction",value:function(){var U,F=KV();return this.editor.struct().hasRxnArrow()||(null===F||void 0===F||null===(U=F.drawingEntitiesManager)||void 0===U?void 0:U.micromoleculesHiddenEntities.hasRxnArrow())}},{key:"isQueryStructureSelected",value:function(){var U=this.editor.struct(),F=this.editor.selection();if(!F)return!1;var Q=!1;F.atoms&&(Q=F.atoms.some(function(F){var Q=U.atoms.get(F);S()(Q);var B=Array.from(Q.sgs.values()).some(function(F){var Q=U.sgroups.get(F);return S()(Q),MQ.isQuerySGroup(Q)});return Q.isQuery()||B}));var B=!1;return F.bonds&&(B=F.bonds.some(function(F){var Q=U.bonds.get(F);return S()(Q),Q.isQuery()})),Q||B}},{key:"setMolecule",value:function(){var U=(0,E.A)(t().mark(function U(F,Q){var B,R=this;return t().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:if(null===(B=KV())||void 0===B||!B.isSequenceEditInRNABuilderMode){U.next=3;break}return U.abrupt("return");case 3:return U.next=5,sU((0,E.A)(t().mark(function U(){var V,n,l,d,J;return t().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:if(S()("string"===typeof F),!window.isPolymerEditorTurnedOn){U.next=8;break}return Mc(),U.next=5,ic(F,R.structService);case 5:!1!==(null===Q||void 0===Q?void 0:Q.needZoom)&&(null===B||void 0===B||B.zoomToStructuresIfNeeded(),B.mode.initialize()),U.next=18;break;case 8:return U.next=10,cc(F,R.structService,R);case 10:(n=U.sent).rescale(),l=null!==(V=null===Q||void 0===Q?void 0:Q.position)&&void 0!==V?V:{},d=l.x,J=l.y,R.editor.struct(n,!1,d,(0,o.isNumber)(J)?-J:J),R.editor.selection(WD(R.editor.struct())),R.editor.struct().disableInitiallySelected(),R.editor.zoomAccordingContent(n),null==d&&null==J&&R.editor.centerStruct();case 18:case"end":return U.stop()}},U)})),this.eventBus);case 5:case"end":return U.stop()}},U,this)}));return function(F,Q){return U.apply(this,arguments)}}()},{key:"setHelm",value:function(){var U=(0,E.A)(t().mark(function U(F){var Q=this;return t().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:return U.next=2,sU((0,E.A)(t().mark(function U(){var B;return t().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:return S()("string"===typeof F),U.next=3,cc(F,Q.structService,Q);case 3:(B=U.sent).rescale(),Q.editor.struct(B),Q.editor.zoomAccordingContent(B),Q.editor.centerStruct();case 8:case"end":return U.stop()}},U)})),this.eventBus);case 2:case"end":return U.stop()}},U,this)}));return function(F){return U.apply(this,arguments)}}()},{key:"addFragment",value:function(){var U=(0,E.A)(t().mark(function U(F,Q){var B,R=this;return t().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:if(null===(B=KV())||void 0===B||!B.isSequenceEditInRNABuilderMode){U.next=3;break}return U.abrupt("return");case 3:return U.next=5,sU((0,E.A)(t().mark(function U(){var V,n,l,d,J,N;return t().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:if(S()("string"===typeof F),!window.isPolymerEditorTurnedOn){U.next=8;break}return V=!B.drawingEntitiesManager.hasDrawingEntities,U.next=5,ic(F,R.structService);case 5:V&&(null===B||void 0===B||B.zoomToStructuresIfNeeded()),U.next=16;break;case 8:return U.next=10,cc(F,R.structService,R);case 10:(l=U.sent).rescale(),d=null!==(n=null===Q||void 0===Q?void 0:Q.position)&&void 0!==n?n:{},J=d.x,N=d.y,R.editor.structToAddFragment(l,J,(0,o.isNumber)(N)?-N:N),R.editor.selection(WD(R.editor.struct())),R.editor.struct().disableInitiallySelected();case 16:case"end":return U.stop()}},U)})),this.eventBus);case 5:case"end":return U.stop()}},U,this)}));return function(F,Q){return U.apply(this,arguments)}}()},{key:"circularLayoutMonomers",value:function(){var U=(0,E.A)(t().mark(function U(){var F,Q=this;return t().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:return F=KV(),U.next=3,sU((0,E.A)(t().mark(function U(){var B,R,V;return t().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:if(!window.isPolymerEditorTurnedOn){U.next=9;break}return B=new qS,R=B.serialize(new xB,F.drawingEntitiesManager,void 0,!1,!0),U.next=5,Q.structService.layout({struct:R,output_format:FF.KET},{"smart-layout":!1});case 5:return V=U.sent,Mc(),U.next=9,ic(V.struct,Q.structService,!0);case 9:case"end":return U.stop()}},U)})),this.eventBus);case 3:case"end":return U.stop()}},U,this)}));return function(){return U.apply(this,arguments)}}()},{key:"layout",value:function(){var U=(0,E.A)(t().mark(function U(){var F=this;return t().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:if(!window.isPolymerEditorTurnedOn){U.next=2;break}throw new Error("Layout is not available in macro mode");case 2:return U.next=4,sU((0,E.A)(t().mark(function U(){var Q,B;return t().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:return U.next=2,F._indigo.layout(F.editor.struct(),F.editor.serverSettings);case 2:return Q=U.sent,B=new qS,U.next=6,F.setMolecule(B.serialize(Q));case 6:case"end":return U.stop()}},U)})),this.eventBus);case 4:case"end":return U.stop()}},U,this)}));return function(){return U.apply(this,arguments)}}()},{key:"aromatize",value:function(){var U=(0,E.A)(t().mark(function U(){var F=this;return t().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:if(!window.isPolymerEditorTurnedOn){U.next=2;break}throw new Error("Aromatize is not available in macro mode");case 2:return U.next=4,sU((0,E.A)(t().mark(function U(){var Q,B;return t().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:return U.next=2,F._indigo.aromatize(F.editor.struct());case 2:return Q=U.sent,B=new qS,U.next=6,F.setMolecule(B.serialize(Q));case 6:case"end":return U.stop()}},U)})),this.eventBus);case 4:case"end":return U.stop()}},U,this)}));return function(){return U.apply(this,arguments)}}()},{key:"dearomatize",value:function(){var U=(0,E.A)(t().mark(function U(){var F=this;return t().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:if(!window.isPolymerEditorTurnedOn){U.next=2;break}throw new Error("Dearomatize is not available in macro mode");case 2:return U.next=4,sU((0,E.A)(t().mark(function U(){var Q,B;return t().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:return U.next=2,F._indigo.dearomatize(F.editor.struct());case 2:return Q=U.sent,B=new qS,U.next=6,F.setMolecule(B.serialize(Q));case 6:case"end":return U.stop()}},U)})),this.eventBus);case 4:case"end":return U.stop()}},U,this)}));return function(){return U.apply(this,arguments)}}()},{key:"calculate",value:function(){var U=(0,E.A)(t().mark(function U(F){return t().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:if(!window.isPolymerEditorTurnedOn){U.next=2;break}throw new Error("Calculate is not available in macro mode");case 2:return U.next=4,this._indigo.calculate(this.editor.struct(),F);case 4:return U.abrupt("return",U.sent);case 5:case"end":return U.stop()}},U,this)}));return function(F){return U.apply(this,arguments)}}()},{key:"setZoom",value:function(U){var F=KV();F&&U&&F.zoomTool.zoomTo(U)}},{key:"setMode",value:function(U){var F=KV();F&&U&&(F.events.selectMode.dispatch(Sc[U]),F.events.layoutModeChange.dispatch(Sc[U]))}},{key:"exportImage",value:function(U,F){var Q,B=KV();if("svg"===U&&null!==B&&void 0!==B&&B.canvas&&(Q=WF(B.canvas,"file",null===F||void 0===F?void 0:F.margin)),!Q)throw new Error("Cannot export image");var R=new Blob([Q],{type:Ec[U]});(0,O.saveAs)(R,"".concat("ketcher",".").concat(U))}},{key:"recognize",value:function(U,F){if(window.isPolymerEditorTurnedOn)throw new Error("Recognize is not available in macro mode");return this._indigo.recognize(U,{version:F})}},{key:"generateImage",value:function(){var U=(0,E.A)(t().mark(function U(F){var Q,B,R,V,n,l,d,J,N,Z=arguments;return t().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:Q=Z.length>1&&void 0!==Z[1]?Z[1]:{outputFormat:"png"},B="",U.t0=Q.outputFormat,U.next="svg"===U.t0?5:(U.t0,7);break;case 5:return B="image/svg+xml",U.abrupt("break",9);case 7:B="image/png",Q.outputFormat="png";case 9:return R=this.editor.serverSettings,U.next=12,this.structService.generateImageAsBase64(F,sc(sc({},R),Q));case 12:for(V=U.sent,n=atob(V),l=new Array(n.length),d=0;d=F.status}function V(U){try{U.dispatchEvent(new MouseEvent("click"))}catch(B){var F=document.createEvent("MouseEvents");F.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),U.dispatchEvent(F)}}var n="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof Q.g&&Q.g.global===Q.g?Q.g:void 0,l=n.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),d=n.saveAs||("object"!=typeof window||window!==n?function(){}:"download"in HTMLAnchorElement.prototype&&!l?function(U,F,Q){var l=n.URL||n.webkitURL,d=document.createElement("a");F=F||U.name||"download",d.download=F,d.rel="noopener","string"==typeof U?(d.href=U,d.origin===location.origin?V(d):R(d.href)?B(U,F,Q):V(d,d.target="_blank")):(d.href=l.createObjectURL(U),setTimeout(function(){l.revokeObjectURL(d.href)},4e4),setTimeout(function(){V(d)},0))}:"msSaveOrOpenBlob"in navigator?function(U,Q,n){if(Q=Q||U.name||"download","string"!=typeof U)navigator.msSaveOrOpenBlob(F(U,n),Q);else if(R(U))B(U,Q,n);else{var l=document.createElement("a");l.href=U,l.target="_blank",setTimeout(function(){V(l)})}}:function(U,F,Q,R){if((R=R||open("","_blank"))&&(R.document.title=R.document.body.innerText="downloading..."),"string"==typeof U)return B(U,F,Q);var V="application/octet-stream"===U.type,d=/constructor/i.test(n.HTMLElement)||n.safari,J=/CriOS\/[\d]+/.test(navigator.userAgent);if((J||V&&d||l)&&"undefined"!=typeof FileReader){var N=new FileReader;N.onloadend=function(){var U=N.result;U=J?U:U.replace(/^data:[^;]*;/,"data:attachment/file;"),R?R.location.href=U:location=U,R=null},N.readAsDataURL(U)}else{var Z=n.URL||n.webkitURL,W=Z.createObjectURL(U);R?R.location=W:location.href=W,R=null,setTimeout(function(){Z.revokeObjectURL(W)},4e4)}});n.saveAs=d.saveAs=d,U.exports=d})?B.apply(F,R):B)||(U.exports=V)},10739:U=>{U.exports=function(U,F){if(null==U)return{};var Q={};for(var B in U)if({}.hasOwnProperty.call(U,B)){if(-1!==F.indexOf(B))continue;Q[B]=U[B]}return Q},U.exports.__esModule=!0,U.exports.default=U.exports},10874:(U,F,Q)=>{"use strict";var B=Q(44176),R=Q(58349),V=Q(90053),n=Q(20132),l=Q(95362),d=B.RegExp,J=d.prototype;R&&l(function(){var U=!0;try{d(".","d")}catch(l){U=!1}var F={},Q="",B=U?"dgimsy":"gimsy",R=function(U,B){Object.defineProperty(F,U,{get:function(){return Q+=B,!0}})},V={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};for(var n in U&&(V.hasIndices="d"),V)R(n,V[n]);return Object.getOwnPropertyDescriptor(J,"flags").get.call(F)!==B||Q!==B})&&V(J,"flags",{configurable:!0,get:n})},10986:U=>{"use strict";U.exports=URIError},11018:U=>{U.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},U.exports.__esModule=!0,U.exports.default=U.exports},11132:(U,F)=>{"use strict";F.f=Object.getOwnPropertySymbols},11188:(U,F,Q)=>{"use strict";function B(U,F){if(U=function(U){let F;for(;F=U.sourceEvent;)U=F;return U}(U),void 0===F&&(F=U.currentTarget),F){var Q=F.ownerSVGElement||F;if(Q.createSVGPoint){var B=Q.createSVGPoint();return B.x=U.clientX,B.y=U.clientY,[(B=B.matrixTransform(F.getScreenCTM().inverse())).x,B.y]}if(F.getBoundingClientRect){var R=F.getBoundingClientRect();return[U.clientX-R.left-F.clientLeft,U.clientY-R.top-F.clientTop]}}return[U.pageX,U.pageY]}Q.d(F,{A:()=>B})},11288:()=>{!function(){"use strict";if("object"===typeof window)if("IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype)"isIntersecting"in window.IntersectionObserverEntry.prototype||Object.defineProperty(window.IntersectionObserverEntry.prototype,"isIntersecting",{get:function(){return this.intersectionRatio>0}});else{var U=function(){for(var U=window.document,F=R(U);F;)F=R(U=F.ownerDocument);return U}(),F=[],Q=null,B=null;n.prototype.THROTTLE_TIMEOUT=100,n.prototype.POLL_INTERVAL=null,n.prototype.USE_MUTATION_OBSERVER=!0,n._setupCrossOriginUpdater=function(){return Q||(Q=function(U,Q){B=U&&Q?W(U,Q):{top:0,bottom:0,left:0,right:0,width:0,height:0},F.forEach(function(U){U._checkForIntersections()})}),Q},n._resetCrossOriginUpdater=function(){Q=null,B=null},n.prototype.observe=function(U){if(!this._observationTargets.some(function(F){return F.element==U})){if(!U||1!=U.nodeType)throw new Error("target must be an Element");this._registerInstance(),this._observationTargets.push({element:U,entry:null}),this._monitorIntersections(U.ownerDocument),this._checkForIntersections()}},n.prototype.unobserve=function(U){this._observationTargets=this._observationTargets.filter(function(F){return F.element!=U}),this._unmonitorIntersections(U.ownerDocument),0==this._observationTargets.length&&this._unregisterInstance()},n.prototype.disconnect=function(){this._observationTargets=[],this._unmonitorAllIntersections(),this._unregisterInstance()},n.prototype.takeRecords=function(){var U=this._queuedEntries.slice();return this._queuedEntries=[],U},n.prototype._initThresholds=function(U){var F=U||[0];return Array.isArray(F)||(F=[F]),F.sort().filter(function(U,F,Q){if("number"!=typeof U||isNaN(U)||U<0||U>1)throw new Error("threshold must be a number between 0 and 1 inclusively");return U!==Q[F-1]})},n.prototype._parseRootMargin=function(U){var F=(U||"0px").split(/\s+/).map(function(U){var F=/^(-?\d*\.?\d+)(px|%)$/.exec(U);if(!F)throw new Error("rootMargin must be specified in pixels or percent");return{value:parseFloat(F[1]),unit:F[2]}});return F[1]=F[1]||F[0],F[2]=F[2]||F[0],F[3]=F[3]||F[1],F},n.prototype._monitorIntersections=function(F){var Q=F.defaultView;if(Q&&-1==this._monitoringDocuments.indexOf(F)){var B=this._checkForIntersections,V=null,n=null;this.POLL_INTERVAL?V=Q.setInterval(B,this.POLL_INTERVAL):(l(Q,"resize",B,!0),l(F,"scroll",B,!0),this.USE_MUTATION_OBSERVER&&"MutationObserver"in Q&&(n=new Q.MutationObserver(B)).observe(F,{attributes:!0,childList:!0,characterData:!0,subtree:!0})),this._monitoringDocuments.push(F),this._monitoringUnsubscribes.push(function(){var U=F.defaultView;U&&(V&&U.clearInterval(V),d(U,"resize",B,!0)),d(F,"scroll",B,!0),n&&n.disconnect()});var J=this.root&&(this.root.ownerDocument||this.root)||U;if(F!=J){var N=R(F);N&&this._monitorIntersections(N.ownerDocument)}}},n.prototype._unmonitorIntersections=function(F){var Q=this._monitoringDocuments.indexOf(F);if(-1!=Q){var B=this.root&&(this.root.ownerDocument||this.root)||U,V=this._observationTargets.some(function(U){var Q=U.element.ownerDocument;if(Q==F)return!0;for(;Q&&Q!=B;){var V=R(Q);if((Q=V&&V.ownerDocument)==F)return!0}return!1});if(!V){var n=this._monitoringUnsubscribes[Q];if(this._monitoringDocuments.splice(Q,1),this._monitoringUnsubscribes.splice(Q,1),n(),F!=B){var l=R(F);l&&this._unmonitorIntersections(l.ownerDocument)}}}},n.prototype._unmonitorAllIntersections=function(){var U=this._monitoringUnsubscribes.slice(0);this._monitoringDocuments.length=0,this._monitoringUnsubscribes.length=0;for(var F=0;F=0&&l>=0&&{top:Q,bottom:B,left:R,right:V,width:n,height:l}||null}function N(U){var F;try{F=U.getBoundingClientRect()}catch(Q){}return F?(F.width&&F.height||(F={top:F.top,right:F.right,bottom:F.bottom,left:F.left,width:F.right-F.left,height:F.bottom-F.top}),F):{top:0,bottom:0,left:0,right:0,width:0,height:0}}function Z(U){return!U||"x"in U?U:{top:U.top,y:U.top,bottom:U.bottom,left:U.left,x:U.left,right:U.right,width:U.width,height:U.height}}function W(U,F){var Q=F.top-U.top,B=F.left-U.left;return{top:Q,left:B,height:F.height,width:F.width,bottom:Q+F.height,right:B+F.width}}function S(U,F){for(var Q=F;Q;){if(Q==U)return!0;Q=E(Q)}return!1}function E(F){var Q=F.parentNode;return 9==F.nodeType&&F!=U?R(F):(Q&&Q.assignedSlot&&(Q=Q.assignedSlot.parentNode),Q&&11==Q.nodeType&&Q.host?Q.host:Q)}function k(U){return U&&9===U.nodeType}}()},11327:(U,F,Q)=>{var B=Q(10564).default;U.exports=function(U,F){if("object"!=B(U)||!U)return U;var Q=U[Symbol.toPrimitive];if(void 0!==Q){var R=Q.call(U,F||"default");if("object"!=B(R))return R;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===F?String:Number)(U)},U.exports.__esModule=!0,U.exports.default=U.exports},11393:(U,F,Q)=>{"use strict";Q.d(F,{$E:()=>E});var B=Q(54206),R=Q(85154),V=Q(11188),n=Q(53281),l=Q(37731);const d=U=>()=>U;function J(U,F){let{sourceEvent:Q,subject:B,target:R,identifier:V,active:n,x:l,y:d,dx:J,dy:N,dispatch:Z}=F;Object.defineProperties(this,{type:{value:U,enumerable:!0,configurable:!0},sourceEvent:{value:Q,enumerable:!0,configurable:!0},subject:{value:B,enumerable:!0,configurable:!0},target:{value:R,enumerable:!0,configurable:!0},identifier:{value:V,enumerable:!0,configurable:!0},active:{value:n,enumerable:!0,configurable:!0},x:{value:l,enumerable:!0,configurable:!0},y:{value:d,enumerable:!0,configurable:!0},dx:{value:J,enumerable:!0,configurable:!0},dy:{value:N,enumerable:!0,configurable:!0},_:{value:Z}})}function N(U){return!U.ctrlKey&&!U.button}function Z(){return this.parentNode}function W(U,F){return null==F?{x:U.x,y:U.y}:F}function S(){return navigator.maxTouchPoints||"ontouchstart"in this}function E(){var U,F,Q,E,k=N,t=Z,a=W,T=S,e={},C=(0,B.A)("start","drag","end"),D=0,o=0;function p(U){U.on("mousedown.drag",h).filter(T).on("touchstart.drag",m).on("touchmove.drag",M,l.vr).on("touchend.drag touchcancel.drag",i).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(B,V){if(!E&&k.call(this,B,V)){var d=b(this,t.call(this,B,V),B,V,"mouse");d&&((0,R.A)(B.view).on("mousemove.drag",c,l.Rw).on("mouseup.drag",r,l.Rw),(0,n.A)(B.view),(0,l.GK)(B),Q=!1,U=B.clientX,F=B.clientY,d("start",B))}}function c(B){if((0,l.Ay)(B),!Q){var R=B.clientX-U,V=B.clientY-F;Q=R*R+V*V>o}e.mouse("drag",B)}function r(U){(0,R.A)(U.view).on("mousemove.drag mouseup.drag",null),(0,n.y)(U.view,Q),(0,l.Ay)(U),e.mouse("end",U)}function m(U,F){if(k.call(this,U,F)){var Q,B,R=U.changedTouches,V=t.call(this,U,F),n=R.length;for(Q=0;Q{"use strict";function B(U){V.length||(R(),!0),V[V.length]=U}U.exports=B;var R,V=[],n=0;function l(){for(;n1024){for(var F=0,Q=V.length-n;F{"use strict";var B=Q(44176),R=Q(24687),V=B.document,n=R(V)&&R(V.createElement);U.exports=function(U){return n?V.createElement(U):{}}},12597:(U,F,Q)=>{"use strict";var B,R=Q(7705),V=Q(63034);try{B=[].__proto__===Array.prototype}catch(J){if(!J||"object"!==typeof J||!("code"in J)||"ERR_PROTO_ACCESS"!==J.code)throw J}var n=!!B&&V&&V(Object.prototype,"__proto__"),l=Object,d=l.getPrototypeOf;U.exports=n&&"function"===typeof n.get?R([n.get]):"function"===typeof d&&function(U){return d(null==U?U:l(U))}},12681:U=>{"use strict";var F=2*Math.PI;function Q(U,F,Q,B){var R=U*Q+F*B;return R>1&&(R=1),R<-1&&(R=-1),(U*B-F*Q<0?-1:1)*Math.acos(R)}function B(U,F){var Q=4/3*Math.tan(F/4),B=Math.cos(U),R=Math.sin(U),V=Math.cos(U+F),n=Math.sin(U+F);return[B,R,B-R*Q,R+B*Q,V+n*Q,n-V*Q,V,n]}U.exports=function(U,R,V,n,l,d,J,N,Z){var W=Math.sin(Z*F/360),S=Math.cos(Z*F/360),E=S*(U-V)/2+W*(R-n)/2,k=-W*(U-V)/2+S*(R-n)/2;if(0===E&&0===k)return[];if(0===J||0===N)return[];J=Math.abs(J),N=Math.abs(N);var t=E*E/(J*J)+k*k/(N*N);t>1&&(J*=Math.sqrt(t),N*=Math.sqrt(t));var a=function(U,B,R,V,n,l,d,J,N,Z){var W=Z*(U-R)/2+N*(B-V)/2,S=-N*(U-R)/2+Z*(B-V)/2,E=d*d,k=J*J,t=W*W,a=S*S,T=E*k-E*a-k*t;T<0&&(T=0),T/=E*a+k*t;var e=(T=Math.sqrt(T)*(n===l?-1:1))*d/J*S,C=T*-J/d*W,D=Z*e-N*C+(U+R)/2,o=N*e+Z*C+(B+V)/2,p=(W-e)/d,h=(S-C)/J,c=(-W-e)/d,r=(-S-C)/J,m=Q(1,0,p,h),M=Q(p,h,c,r);return 0===l&&M>0&&(M-=F),1===l&&M<0&&(M+=F),[D,o,m,M]}(U,R,V,n,l,d,J,N,W,S),T=[],e=a[2],C=a[3],D=Math.max(Math.ceil(Math.abs(C)/(F/4)),1);C/=D;for(var o=0;o{"use strict";function B(U,F){return function(U){if(Array.isArray(U))return U}(U)||function(U,F){var Q=null==U?null:"undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(null!=Q){var B,R,V,n,l=[],d=!0,J=!1;try{if(V=(Q=Q.call(U)).next,0===F){if(Object(Q)!==Q)return;d=!1}else for(;!(d=(B=V.call(Q)).done)&&(l.push(B.value),l.length!==F);d=!0);}catch(U){J=!0,R=U}finally{try{if(!d&&null!=Q.return&&(n=Q.return(),Object(n)!==n))return}finally{if(J)throw R}}return l}}(U,F)||function(U,F){if(!U)return;if("string"===typeof U)return R(U,F);var Q=Object.prototype.toString.call(U).slice(8,-1);"Object"===Q&&U.constructor&&(Q=U.constructor.name);if("Map"===Q||"Set"===Q)return Array.from(U);if("Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q))return R(U,F)}(U,F)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function R(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=new Array(F);Q10)return!0;for(var F=0;F57)return!0}return 10===U.length&&U>=Math.pow(2,32)}function s(U){return Object.keys(U).filter(G).concat(N(U).filter(Object.prototype.propertyIsEnumerable.bind(U)))}function X(U,F){if(U===F)return 0;for(var Q=U.length,B=F.length,R=0,V=Math.min(Q,B);R{"use strict";Q.d(F,{Kq:()=>FU,Ng:()=>UU,d4:()=>NU,wA:()=>lU});var B=Q(60471),R=Q(56673),V=B.version.startsWith("19"),n=Symbol.for(V?"react.transitional.element":"react.element"),l=Symbol.for("react.portal"),d=Symbol.for("react.fragment"),J=Symbol.for("react.strict_mode"),N=Symbol.for("react.profiler"),Z=Symbol.for("react.consumer"),W=Symbol.for("react.context"),S=Symbol.for("react.forward_ref"),E=Symbol.for("react.suspense"),k=Symbol.for("react.suspense_list"),t=Symbol.for("react.memo"),a=Symbol.for("react.lazy"),T=S,e=t;function C(U){if("object"===typeof U&&null!==U){const{$$typeof:F}=U;switch(F){case n:switch(U=U.type){case d:case N:case J:case E:case k:return U;default:switch(U=U&&U.$$typeof){case W:case S:case a:case t:case Z:return U;default:return F}}case l:return F}}}function D(U,F,Q,B,R){let V,n,l,d,J,{areStatesEqual:N,areOwnPropsEqual:Z,areStatePropsEqual:W}=R,S=!1;function E(R,S){const E=!Z(S,n),k=!N(R,V,S,n);return V=R,n=S,E&&k?(l=U(V,n),F.dependsOnOwnProps&&(d=F(B,n)),J=Q(l,d,n),J):E?(U.dependsOnOwnProps&&(l=U(V,n)),F.dependsOnOwnProps&&(d=F(B,n)),J=Q(l,d,n),J):k?function(){const F=U(V,n),B=!W(F,l);return l=F,B&&(J=Q(l,d,n)),J}():J}return function(R,N){return S?E(R,N):(V=R,n=N,l=U(V,n),d=F(B,n),J=Q(l,d,n),S=!0,J)}}function o(U){return function(F){const Q=U(F);function B(){return Q}return B.dependsOnOwnProps=!1,B}}function p(U){return U.dependsOnOwnProps?Boolean(U.dependsOnOwnProps):1!==U.length}function h(U,F){return function(F,Q){let{displayName:B}=Q;const R=function(U,F){return R.dependsOnOwnProps?R.mapToProps(U,F):R.mapToProps(U,void 0)};return R.dependsOnOwnProps=!0,R.mapToProps=function(F,Q){R.mapToProps=U,R.dependsOnOwnProps=p(U);let B=R(F,Q);return"function"===typeof B&&(R.mapToProps=B,R.dependsOnOwnProps=p(B),B=R(F,Q)),B},R}}function c(U,F){return(Q,B)=>{throw new Error(`Invalid value of type ${typeof U} for ${F} argument when connecting component ${B.wrappedComponentName}.`)}}function r(U,F,Q){return{...Q,...U,...F}}function m(U){U()}var M={notify(){},get:()=>[]};function i(U,F){let Q,B=M,R=0,V=!1;function n(){J.onStateChange&&J.onStateChange()}function l(){R++,Q||(Q=F?F.addNestedSub(n):U.subscribe(n),B=function(){let U=null,F=null;return{clear(){U=null,F=null},notify(){m(()=>{let F=U;for(;F;)F.callback(),F=F.next})},get(){const F=[];let Q=U;for(;Q;)F.push(Q),Q=Q.next;return F},subscribe(Q){let B=!0;const R=F={callback:Q,next:null,prev:F};return R.prev?R.prev.next=R:U=R,function(){B&&null!==U&&(B=!1,R.next?R.next.prev=R.prev:F=R.prev,R.prev?R.prev.next=R.next:U=R.next)}}}}())}function d(){R--,Q&&0===R&&(Q(),Q=void 0,B.clear(),B=M)}const J={addNestedSub:function(U){l();const F=B.subscribe(U);let Q=!1;return()=>{Q||(Q=!0,F(),d())}},notifyNestedSubs:function(){B.notify()},handleChangeWrapper:n,isSubscribed:function(){return V},trySubscribe:function(){V||(V=!0,l())},tryUnsubscribe:function(){V&&(V=!1,d())},getListeners:()=>B};return J}var b=(()=>!("undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement))(),v=(()=>"undefined"!==typeof navigator&&"ReactNative"===navigator.product)(),G=(()=>b||v?B.useLayoutEffect:B.useEffect)();function s(U,F){return U===F?0!==U||0!==F||1/U===1/F:U!==U&&F!==F}function X(U,F){if(s(U,F))return!0;if("object"!==typeof U||null===U||"object"!==typeof F||null===F)return!1;const Q=Object.keys(U),B=Object.keys(F);if(Q.length!==B.length)return!1;for(let R=0;R3&&void 0!==arguments[3]?arguments[3]:{};const Z=N,W=function(U){return U?"function"===typeof U?h(U):c(U,"mapStateToProps"):o(()=>({}))}(U),S=function(U){return U&&"object"===typeof U?o(F=>function(U,F){const Q={};for(const B in U){const R=U[B];"function"===typeof R&&(Q[B]=function(){return F(R(...arguments))})}return Q}(U,F)):U?"function"===typeof U?h(U):c(U,"mapDispatchToProps"):o(U=>({dispatch:U}))}(F),E=function(U){return U?"function"===typeof U?function(U){return function(F,Q){let B,{displayName:R,areMergedPropsEqual:V}=Q,n=!1;return function(F,Q,R){const l=U(F,Q,R);return n?V(l,B)||(B=l):(n=!0,B=l),B}}}(U):c(U,"mergeProps"):()=>r}(Q),k=Boolean(U);return U=>{const F=U.displayName||U.name||"Component",Q=`Connect(${F})`,R={shouldHandleStateChanges:k,displayName:Q,wrappedComponentName:F,WrappedComponent:U,initMapStateToProps:W,initMapDispatchToProps:S,initMergeProps:E,areStatesEqual:V,areStatePropsEqual:l,areOwnPropsEqual:n,areMergedPropsEqual:d};function N(F){const[Q,V,n]=B.useMemo(()=>{const{reactReduxForwardedRef:U,...Q}=F;return[F.context,U,Q]},[F]),l=B.useMemo(()=>Z,[Q,Z]),d=B.useContext(l),J=Boolean(F.store)&&Boolean(F.store.getState)&&Boolean(F.store.dispatch),N=Boolean(d)&&Boolean(d.store);const W=J?F.store:d.store,S=N?d.getServerState:W.getState,E=B.useMemo(()=>function(U,F){let{initMapStateToProps:Q,initMapDispatchToProps:B,initMergeProps:R,...V}=F;return D(Q(U,V),B(U,V),R(U,V),U,V)}(W.dispatch,R),[W]),[t,a]=B.useMemo(()=>{if(!k)return q;const U=i(W,J?void 0:d.subscription),F=U.notifyNestedSubs.bind(U);return[U,F]},[W,J,d]),T=B.useMemo(()=>J?d:{...d,subscription:t},[J,d,t]),e=B.useRef(void 0),C=B.useRef(n),o=B.useRef(void 0),p=B.useRef(!1),h=B.useRef(!1),c=B.useRef(void 0);G(()=>(h.current=!0,()=>{h.current=!1}),[]);const r=B.useMemo(()=>()=>o.current&&n===C.current?o.current:E(W.getState(),n),[W,n]),m=B.useMemo(()=>U=>t?function(U,F,Q,B,R,V,n,l,d,J,N){if(!U)return()=>{};let Z=!1,W=null;const S=()=>{if(Z||!l.current)return;const U=F.getState();let Q,S;try{Q=B(U,R.current)}catch(E){S=E,W=E}S||(W=null),Q===V.current?n.current||J():(V.current=Q,d.current=Q,n.current=!0,N())};return Q.onStateChange=S,Q.trySubscribe(),S(),()=>{if(Z=!0,Q.tryUnsubscribe(),Q.onStateChange=null,W)throw W}}(k,W,t,E,C,e,p,h,o,a,U):()=>{},[t]);var M,b,v;let s;M=_,b=[C,e,p,n,o,a],G(()=>M(...b),v);try{s=B.useSyncExternalStore(m,r,S?()=>E(S(),n):r)}catch(Y){throw c.current&&(Y.message+=`\nThe error may be correlated with this previous error:\n${c.current.stack}\n\n`),Y}G(()=>{c.current=void 0,o.current=void 0,e.current=s});const X=B.useMemo(()=>B.createElement(U,{...s,ref:V}),[V,U,s]);return B.useMemo(()=>k?B.createElement(l.Provider,{value:T},X):X,[l,X,T])}const t=B.memo(N);if(t.WrappedComponent=U,t.displayName=N.displayName=Q,J){const F=B.forwardRef(function(U,F){return B.createElement(t,{...U,reactReduxForwardedRef:F})});return F.displayName=Q,F.WrappedComponent=U,K(F,U)}return K(t,U)}};var FU=function(U){const{children:F,context:Q,serverState:R,store:V}=U,n=B.useMemo(()=>{const U=i(V);return{store:V,subscription:U,getServerState:R?()=>R:void 0}},[V,R]),l=B.useMemo(()=>V.getState(),[V]);G(()=>{const{subscription:U}=n;return U.onStateChange=U.notifyNestedSubs,U.trySubscribe(),l!==V.getState()&&U.notifyNestedSubs(),()=>{U.tryUnsubscribe(),U.onStateChange=void 0}},[n,l]);const d=Q||A;return B.createElement(d.Provider,{value:n},F)};function QU(){let U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:A;return function(){return B.useContext(U)}}var BU=QU();function RU(){let U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:A;const F=U===A?BU:QU(U),Q=()=>{const{store:U}=F();return U};return Object.assign(Q,{withTypes:()=>Q}),Q}var VU=RU();function nU(){let U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:A;const F=U===A?VU:RU(U),Q=()=>F().dispatch;return Object.assign(Q,{withTypes:()=>Q}),Q}var lU=nU(),dU=(U,F)=>U===F;function JU(){let U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:A;const F=U===A?BU:QU(U),Q=function(U){let Q=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{equalityFn:V=dU}="function"===typeof Q?{equalityFn:Q}:Q;const n=F(),{store:l,subscription:d,getServerState:J}=n,N=(B.useRef(!0),B.useCallback({[U.name]:F=>U(F)}[U.name],[U])),Z=(0,R.useSyncExternalStoreWithSelector)(d.addNestedSub,l.getState,J||l.getState,N,V);return B.useDebugValue(Z),Z};return Object.assign(Q,{withTypes:()=>Q}),Q}var NU=JU()},13384:(U,F,Q)=>{"use strict";function B(U,F){"function"===typeof U?U(F):U&&(U.current=F)}Q.d(F,{A:()=>B})},13537:()=>{},13542:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>d,B:()=>l});var B=Q(68102),R=Q(16840),V=Q(85656),n=Q(55106);function l(U){return(0,V.Ay)("MuiInput",U)}const d=(0,B.A)({},n.A,(0,R.A)("MuiInput",["root","underline","input"]))},13677:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>m});var B=Q(49257),R=Q(68102),V=Q(60471),n=Q(15714),l=Q(29962),d=Q(93350),J=Q(19166),N=Q(34315),Z=Q(35423),W=Q(43946),S=Q(82144),E=Q(93623),k=Q(16840),t=Q(85656);function a(U){return(0,t.Ay)("MuiButton",U)}const T=(0,k.A)("MuiButton",["root","text","textInherit","textPrimary","textSecondary","textSuccess","textError","textInfo","textWarning","outlined","outlinedInherit","outlinedPrimary","outlinedSecondary","outlinedSuccess","outlinedError","outlinedInfo","outlinedWarning","contained","containedInherit","containedPrimary","containedSecondary","containedSuccess","containedError","containedInfo","containedWarning","disableElevation","focusVisible","disabled","colorInherit","colorPrimary","colorSecondary","colorSuccess","colorError","colorInfo","colorWarning","textSizeSmall","textSizeMedium","textSizeLarge","outlinedSizeSmall","outlinedSizeMedium","outlinedSizeLarge","containedSizeSmall","containedSizeMedium","containedSizeLarge","sizeMedium","sizeSmall","sizeLarge","fullWidth","startIcon","endIcon","icon","iconSizeSmall","iconSizeMedium","iconSizeLarge"]);var e=Q(8777),C=Q(71857),D=Q(23759);const o=["children","color","component","className","disabled","disableElevation","disableFocusRipple","endIcon","focusVisibleClassName","fullWidth","size","startIcon","type","variant"],p=U=>(0,R.A)({},"small"===U.size&&{"& > *:nth-of-type(1)":{fontSize:18}},"medium"===U.size&&{"& > *:nth-of-type(1)":{fontSize:20}},"large"===U.size&&{"& > *:nth-of-type(1)":{fontSize:22}}),h=(0,N.Ay)(S.A,{shouldForwardProp:U=>(0,Z.A)(U)||"classes"===U,name:"MuiButton",slot:"Root",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[F.root,F[Q.variant],F[`${Q.variant}${(0,E.A)(Q.color)}`],F[`size${(0,E.A)(Q.size)}`],F[`${Q.variant}Size${(0,E.A)(Q.size)}`],"inherit"===Q.color&&F.colorInherit,Q.disableElevation&&F.disableElevation,Q.fullWidth&&F.fullWidth]}})(U=>{let{theme:F,ownerState:Q}=U;var B,V;const n="light"===F.palette.mode?F.palette.grey[300]:F.palette.grey[800],l="light"===F.palette.mode?F.palette.grey.A100:F.palette.grey[700];return(0,R.A)({},F.typography.button,{minWidth:64,padding:"6px 16px",borderRadius:(F.vars||F).shape.borderRadius,transition:F.transitions.create(["background-color","box-shadow","border-color","color"],{duration:F.transitions.duration.short}),"&:hover":(0,R.A)({textDecoration:"none",backgroundColor:F.vars?`rgba(${F.vars.palette.text.primaryChannel} / ${F.vars.palette.action.hoverOpacity})`:(0,J.X4)(F.palette.text.primary,F.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"text"===Q.variant&&"inherit"!==Q.color&&{backgroundColor:F.vars?`rgba(${F.vars.palette[Q.color].mainChannel} / ${F.vars.palette.action.hoverOpacity})`:(0,J.X4)(F.palette[Q.color].main,F.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"outlined"===Q.variant&&"inherit"!==Q.color&&{border:`1px solid ${(F.vars||F).palette[Q.color].main}`,backgroundColor:F.vars?`rgba(${F.vars.palette[Q.color].mainChannel} / ${F.vars.palette.action.hoverOpacity})`:(0,J.X4)(F.palette[Q.color].main,F.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"contained"===Q.variant&&{backgroundColor:F.vars?F.vars.palette.Button.inheritContainedHoverBg:l,boxShadow:(F.vars||F).shadows[4],"@media (hover: none)":{boxShadow:(F.vars||F).shadows[2],backgroundColor:(F.vars||F).palette.grey[300]}},"contained"===Q.variant&&"inherit"!==Q.color&&{backgroundColor:(F.vars||F).palette[Q.color].dark,"@media (hover: none)":{backgroundColor:(F.vars||F).palette[Q.color].main}}),"&:active":(0,R.A)({},"contained"===Q.variant&&{boxShadow:(F.vars||F).shadows[8]}),[`&.${T.focusVisible}`]:(0,R.A)({},"contained"===Q.variant&&{boxShadow:(F.vars||F).shadows[6]}),[`&.${T.disabled}`]:(0,R.A)({color:(F.vars||F).palette.action.disabled},"outlined"===Q.variant&&{border:`1px solid ${(F.vars||F).palette.action.disabledBackground}`},"contained"===Q.variant&&{color:(F.vars||F).palette.action.disabled,boxShadow:(F.vars||F).shadows[0],backgroundColor:(F.vars||F).palette.action.disabledBackground})},"text"===Q.variant&&{padding:"6px 8px"},"text"===Q.variant&&"inherit"!==Q.color&&{color:(F.vars||F).palette[Q.color].main},"outlined"===Q.variant&&{padding:"5px 15px",border:"1px solid currentColor"},"outlined"===Q.variant&&"inherit"!==Q.color&&{color:(F.vars||F).palette[Q.color].main,border:F.vars?`1px solid rgba(${F.vars.palette[Q.color].mainChannel} / 0.5)`:`1px solid ${(0,J.X4)(F.palette[Q.color].main,.5)}`},"contained"===Q.variant&&{color:F.vars?F.vars.palette.text.primary:null==(B=(V=F.palette).getContrastText)?void 0:B.call(V,F.palette.grey[300]),backgroundColor:F.vars?F.vars.palette.Button.inheritContainedBg:n,boxShadow:(F.vars||F).shadows[2]},"contained"===Q.variant&&"inherit"!==Q.color&&{color:(F.vars||F).palette[Q.color].contrastText,backgroundColor:(F.vars||F).palette[Q.color].main},"inherit"===Q.color&&{color:"inherit",borderColor:"currentColor"},"small"===Q.size&&"text"===Q.variant&&{padding:"4px 5px",fontSize:F.typography.pxToRem(13)},"large"===Q.size&&"text"===Q.variant&&{padding:"8px 11px",fontSize:F.typography.pxToRem(15)},"small"===Q.size&&"outlined"===Q.variant&&{padding:"3px 9px",fontSize:F.typography.pxToRem(13)},"large"===Q.size&&"outlined"===Q.variant&&{padding:"7px 21px",fontSize:F.typography.pxToRem(15)},"small"===Q.size&&"contained"===Q.variant&&{padding:"4px 10px",fontSize:F.typography.pxToRem(13)},"large"===Q.size&&"contained"===Q.variant&&{padding:"8px 22px",fontSize:F.typography.pxToRem(15)},Q.fullWidth&&{width:"100%"})},U=>{let{ownerState:F}=U;return F.disableElevation&&{boxShadow:"none","&:hover":{boxShadow:"none"},[`&.${T.focusVisible}`]:{boxShadow:"none"},"&:active":{boxShadow:"none"},[`&.${T.disabled}`]:{boxShadow:"none"}}}),c=(0,N.Ay)("span",{name:"MuiButton",slot:"StartIcon",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[F.startIcon,F[`iconSize${(0,E.A)(Q.size)}`]]}})(U=>{let{ownerState:F}=U;return(0,R.A)({display:"inherit",marginRight:8,marginLeft:-4},"small"===F.size&&{marginLeft:-2},p(F))}),r=(0,N.Ay)("span",{name:"MuiButton",slot:"EndIcon",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[F.endIcon,F[`iconSize${(0,E.A)(Q.size)}`]]}})(U=>{let{ownerState:F}=U;return(0,R.A)({display:"inherit",marginRight:-4,marginLeft:8},"small"===F.size&&{marginRight:-2},p(F))}),m=V.forwardRef(function(U,F){const Q=V.useContext(e.A),J=V.useContext(C.A),N=(0,l.A)(Q,U),Z=(0,W.b)({props:N,name:"MuiButton"}),{children:S,color:k="primary",component:t="button",className:T,disabled:p=!1,disableElevation:m=!1,disableFocusRipple:M=!1,endIcon:i,focusVisibleClassName:b,fullWidth:v=!1,size:G="medium",startIcon:s,type:X,variant:Y="text"}=Z,y=(0,B.A)(Z,o),z=(0,R.A)({},Z,{color:k,component:t,disabled:p,disableElevation:m,disableFocusRipple:M,fullWidth:v,size:G,type:X,variant:Y}),O=(U=>{const{color:F,disableElevation:Q,fullWidth:B,size:V,variant:n,classes:l}=U,J={root:["root",n,`${n}${(0,E.A)(F)}`,`size${(0,E.A)(V)}`,`${n}Size${(0,E.A)(V)}`,`color${(0,E.A)(F)}`,Q&&"disableElevation",B&&"fullWidth"],label:["label"],startIcon:["icon","startIcon",`iconSize${(0,E.A)(V)}`],endIcon:["icon","endIcon",`iconSize${(0,E.A)(V)}`]},N=(0,d.A)(J,a,l);return(0,R.A)({},l,N)})(z),L=s&&(0,D.jsx)(c,{className:O.startIcon,ownerState:z,children:s}),H=i&&(0,D.jsx)(r,{className:O.endIcon,ownerState:z,children:i}),x=J||"";return(0,D.jsxs)(h,(0,R.A)({ownerState:z,className:(0,n.A)(Q.className,O.root,T,x),component:t,disabled:p,focusRipple:!M,focusVisibleClassName:(0,n.A)(O.focusVisible,b),ref:F,type:X},y,{classes:O,children:[L,S,H]}))})},13980:(U,F,Q)=>{"use strict";var B=Q(2784),R=Q(18501);U.exports=function(U){return B(R(U))}},14172:U=>{"use strict";function F(U,F){return[U[0]*F[0]+U[2]*F[1],U[1]*F[0]+U[3]*F[1],U[0]*F[2]+U[2]*F[3],U[1]*F[2]+U[3]*F[3],U[0]*F[4]+U[2]*F[5]+U[4],U[1]*F[4]+U[3]*F[5]+U[5]]}function Q(){if(!(this instanceof Q))return new Q;this.queue=[],this.cache=null}Q.prototype.matrix=function(U){return 1===U[0]&&0===U[1]&&0===U[2]&&1===U[3]&&0===U[4]&&0===U[5]||(this.cache=null,this.queue.push(U)),this},Q.prototype.translate=function(U,F){return 0===U&&0===F||(this.cache=null,this.queue.push([1,0,0,1,U,F])),this},Q.prototype.scale=function(U,F){return 1===U&&1===F||(this.cache=null,this.queue.push([U,0,0,F,0,0])),this},Q.prototype.rotate=function(U,F,Q){var B,R,V;return 0!==U&&(this.translate(F,Q),B=U*Math.PI/180,R=Math.cos(B),V=Math.sin(B),this.queue.push([R,V,-V,R,0,0]),this.cache=null,this.translate(-F,-Q)),this},Q.prototype.skewX=function(U){return 0!==U&&(this.cache=null,this.queue.push([1,0,Math.tan(U*Math.PI/180),1,0,0])),this},Q.prototype.skewY=function(U){return 0!==U&&(this.cache=null,this.queue.push([1,Math.tan(U*Math.PI/180),0,1,0,0])),this},Q.prototype.toArray=function(){if(this.cache)return this.cache;if(!this.queue.length)return this.cache=[1,0,0,1,0,0],this.cache;if(this.cache=this.queue[0],1===this.queue.length)return this.cache;for(var U=1;U{"use strict";Q.d(F,{A:()=>N});var B=Q(60471),R=Q(88818),V=Q(85514),n=Q(34386),l=Q(24300),d=Q(13384),J=Q(23759);const N=B.forwardRef(function(U,F){const{children:Q,container:N,disablePortal:Z=!1}=U,[W,S]=B.useState(null),E=(0,V.A)(B.isValidElement(Q)?(0,n.A)(Q):null,F);if((0,l.A)(()=>{Z||S(function(U){return"function"===typeof U?U():U}(N)||document.body)},[N,Z]),(0,l.A)(()=>{if(W&&!Z)return(0,d.A)(F,W),()=>{(0,d.A)(F,null)}},[F,W,Z]),Z){if(B.isValidElement(Q)){const U={ref:E};return B.cloneElement(Q,U)}return(0,J.jsx)(B.Fragment,{children:Q})}return(0,J.jsx)(B.Fragment,{children:W?R.createPortal(Q,W):W})})},14673:(U,F,Q)=>{"use strict";var B=Q(42433),R=0,V=Math.random(),n=B(1..toString);U.exports=function(U){return"Symbol("+(void 0===U?"":U)+")_"+n(++R+V,36)}},14788:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>e});var B=Q(49257),R=Q(68102),V=Q(60471),n=Q(15714),l=Q(93350),d=Q(82144),J=Q(93623),N=Q(43946),Z=Q(34315),W=Q(16840),S=Q(85656);function E(U){return(0,S.Ay)("MuiTab",U)}const k=(0,W.A)("MuiTab",["root","labelIcon","textColorInherit","textColorPrimary","textColorSecondary","selected","disabled","fullWidth","wrapped","iconWrapper"]);var t=Q(23759);const a=["className","disabled","disableFocusRipple","fullWidth","icon","iconPosition","indicator","label","onChange","onClick","onFocus","selected","selectionFollowsFocus","textColor","value","wrapped"],T=(0,Z.Ay)(d.A,{name:"MuiTab",slot:"Root",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[F.root,Q.label&&Q.icon&&F.labelIcon,F[`textColor${(0,J.A)(Q.textColor)}`],Q.fullWidth&&F.fullWidth,Q.wrapped&&F.wrapped,{[`& .${k.iconWrapper}`]:F.iconWrapper}]}})(U=>{let{theme:F,ownerState:Q}=U;return(0,R.A)({},F.typography.button,{maxWidth:360,minWidth:90,position:"relative",minHeight:48,flexShrink:0,padding:"12px 16px",overflow:"hidden",whiteSpace:"normal",textAlign:"center"},Q.label&&{flexDirection:"top"===Q.iconPosition||"bottom"===Q.iconPosition?"column":"row"},{lineHeight:1.25},Q.icon&&Q.label&&{minHeight:72,paddingTop:9,paddingBottom:9,[`& > .${k.iconWrapper}`]:(0,R.A)({},"top"===Q.iconPosition&&{marginBottom:6},"bottom"===Q.iconPosition&&{marginTop:6},"start"===Q.iconPosition&&{marginRight:F.spacing(1)},"end"===Q.iconPosition&&{marginLeft:F.spacing(1)})},"inherit"===Q.textColor&&{color:"inherit",opacity:.6,[`&.${k.selected}`]:{opacity:1},[`&.${k.disabled}`]:{opacity:(F.vars||F).palette.action.disabledOpacity}},"primary"===Q.textColor&&{color:(F.vars||F).palette.text.secondary,[`&.${k.selected}`]:{color:(F.vars||F).palette.primary.main},[`&.${k.disabled}`]:{color:(F.vars||F).palette.text.disabled}},"secondary"===Q.textColor&&{color:(F.vars||F).palette.text.secondary,[`&.${k.selected}`]:{color:(F.vars||F).palette.secondary.main},[`&.${k.disabled}`]:{color:(F.vars||F).palette.text.disabled}},Q.fullWidth&&{flexShrink:1,flexGrow:1,flexBasis:0,maxWidth:"none"},Q.wrapped&&{fontSize:F.typography.pxToRem(12)})}),e=V.forwardRef(function(U,F){const Q=(0,N.b)({props:U,name:"MuiTab"}),{className:d,disabled:Z=!1,disableFocusRipple:W=!1,fullWidth:S,icon:k,iconPosition:e="top",indicator:C,label:D,onChange:o,onClick:p,onFocus:h,selected:c,selectionFollowsFocus:r,textColor:m="inherit",value:M,wrapped:i=!1}=Q,b=(0,B.A)(Q,a),v=(0,R.A)({},Q,{disabled:Z,disableFocusRipple:W,selected:c,icon:!!k,iconPosition:e,label:!!D,fullWidth:S,textColor:m,wrapped:i}),G=(U=>{const{classes:F,textColor:Q,fullWidth:B,wrapped:R,icon:V,label:n,selected:d,disabled:N}=U,Z={root:["root",V&&n&&"labelIcon",`textColor${(0,J.A)(Q)}`,B&&"fullWidth",R&&"wrapped",d&&"selected",N&&"disabled"],iconWrapper:["iconWrapper"]};return(0,l.A)(Z,E,F)})(v),s=k&&D&&V.isValidElement(k)?V.cloneElement(k,{className:(0,n.A)(G.iconWrapper,k.props.className)}):k;return(0,t.jsxs)(T,(0,R.A)({focusRipple:!W,className:(0,n.A)(G.root,d),ref:F,role:"tab","aria-selected":c,disabled:Z,onClick:U=>{!c&&o&&o(U,M),p&&p(U)},onFocus:U=>{r&&!c&&o&&o(U,M),h&&h(U)},ownerState:v,tabIndex:c?0:-1},b,{children:["top"===e||"start"===e?(0,t.jsxs)(V.Fragment,{children:[s,D]}):(0,t.jsxs)(V.Fragment,{children:[D,s]}),C]}))})},15137:(U,F,Q)=>{"use strict";var B=Q(2428),R=Q(20454),V=TypeError;U.exports=function(U){if(B(U))return U;throw new V(R(U)+" is not a function")}},15198:U=>{window,U.exports=function(U){var F={};function Q(B){if(F[B])return F[B].exports;var R=F[B]={i:B,l:!1,exports:{}};return U[B].call(R.exports,R,R.exports,Q),R.l=!0,R.exports}return Q.m=U,Q.c=F,Q.d=function(U,F,B){Q.o(U,F)||Object.defineProperty(U,F,{enumerable:!0,get:B})},Q.r=function(U){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(U,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(U,"__esModule",{value:!0})},Q.t=function(U,F){if(1&F&&(U=Q(U)),8&F)return U;if(4&F&&"object"==typeof U&&U&&U.__esModule)return U;var B=Object.create(null);if(Q.r(B),Object.defineProperty(B,"default",{enumerable:!0,value:U}),2&F&&"string"!=typeof U)for(var R in U)Q.d(B,R,function(F){return U[F]}.bind(null,R));return B},Q.n=function(U){var F=U&&U.__esModule?function(){return U.default}:function(){return U};return Q.d(F,"a",F),F},Q.o=function(U,F){return Object.prototype.hasOwnProperty.call(U,F)},Q.p="",Q(Q.s=1)}([function(U,F,Q){var B,R;B=[Q(2)],void 0===(R=function(U){function F(B){if(F.is(B,"function"))return Q?B():U.on("raphael.DOMload",B);if(F.is(B,b))return F._engine.create[S](F,B.splice(0,3+F.is(B[0],i))).add(B);var R=Array.prototype.slice.call(arguments,0);if(F.is(R[R.length-1],"function")){var V=R.pop();return Q?V.call(F._engine.create[S](F,R)):U.on("raphael.DOMload",function(){V.call(F._engine.create[S](F,R))})}return F._engine.create[S](F,arguments)}F.version="2.3.0",F.eve=U;var Q,B,R,V,n=/[, ]+/,l={circle:1,rect:1,path:1,ellipse:1,text:1,image:1},d=/\{(\d+)\}/g,J="hasOwnProperty",N={doc:document,win:window},Z={was:Object.prototype[J].call(N.win,"Raphael"),is:N.win.Raphael},W=function(){this.ca=this.customAttributes={}},S="apply",E="concat",k="ontouchstart"in window||window.TouchEvent||window.DocumentTouch&&document instanceof DocumentTouch,t="",a=" ",T=String,e="split",C="click dblclick mousedown mousemove mouseout mouseover mouseup touchstart touchmove touchend touchcancel"[e](a),D={mousedown:"touchstart",mousemove:"touchmove",mouseup:"touchend"},o=T.prototype.toLowerCase,p=Math,h=p.max,c=p.min,r=p.abs,m=p.pow,M=p.PI,i="number",b="array",v=Object.prototype.toString,G=(F._ISURL=/^url\(['"]?(.+?)['"]?\)$/i,/^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+%?)?)\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\))\s*$/i),s={NaN:1,Infinity:1,"-Infinity":1},X=/^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/,Y=p.round,y=parseFloat,z=parseInt,O=T.prototype.toUpperCase,L=F._availableAttrs={"arrow-end":"none","arrow-start":"none",blur:0,"clip-rect":"0 0 1e9 1e9",cursor:"default",cx:0,cy:0,fill:"#fff","fill-opacity":1,font:'10px "Arial"',"font-family":'"Arial"',"font-size":"10","font-style":"normal","font-weight":400,gradient:0,height:0,href:"http://raphaeljs.com/","letter-spacing":0,opacity:1,path:"M0,0",r:0,rx:0,ry:0,src:"",stroke:"#000","stroke-dasharray":"","stroke-linecap":"butt","stroke-linejoin":"butt","stroke-miterlimit":0,"stroke-opacity":1,"stroke-width":1,target:"_blank","text-anchor":"middle",title:"Raphael",transform:"",width:0,x:0,y:0,class:""},H=F._availableAnimAttrs={blur:i,"clip-rect":"csv",cx:i,cy:i,fill:"colour","fill-opacity":i,"font-size":i,height:i,opacity:i,path:"path",r:i,rx:i,ry:i,stroke:"colour","stroke-opacity":i,"stroke-width":i,transform:"transform",width:i,x:i,y:i},x=/[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/,u={hs:1,rg:1},w=/,?([achlmqrstvxz]),?/gi,j=/([achlmrqstvz])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/gi,I=/([rstm])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/gi,K=/(-?\d*\.?\d*(?:e[\-+]?\d+)?)[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/gi,f=(F._radial_gradient=/^r(?:\(([^,]+?)[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*([^\)]+?)\))?/,{}),g=function(U,F){return y(U)-y(F)},P=function(U){return U},A=F._rectPath=function(U,F,Q,B,R){return R?[["M",U+R,F],["l",Q-2*R,0],["a",R,R,0,0,1,R,R],["l",0,B-2*R],["a",R,R,0,0,1,-R,R],["l",2*R-Q,0],["a",R,R,0,0,1,-R,-R],["l",0,2*R-B],["a",R,R,0,0,1,R,-R],["z"]]:[["M",U,F],["l",Q,0],["l",0,B],["l",-Q,0],["z"]]},q=function(U,F,Q,B){return null==B&&(B=Q),[["M",U,F],["m",0,-B],["a",Q,B,0,1,1,0,2*B],["a",Q,B,0,1,1,0,-2*B],["z"]]},_=F._getPath={path:function(U){return U.attr("path")},circle:function(U){var F=U.attrs;return q(F.cx,F.cy,F.r)},ellipse:function(U){var F=U.attrs;return q(F.cx,F.cy,F.rx,F.ry)},rect:function(U){var F=U.attrs;return A(F.x,F.y,F.width,F.height,F.r)},image:function(U){var F=U.attrs;return A(F.x,F.y,F.width,F.height)},text:function(U){var F=U._getBBox();return A(F.x,F.y,F.width,F.height)},set:function(U){var F=U._getBBox();return A(F.x,F.y,F.width,F.height)}},$=F.mapPath=function(U,F){if(!F)return U;var Q,B,R,V,n,l,d;for(R=0,n=(U=mU(U)).length;R',(UU=FU.firstChild).style.behavior="url(#default#VML)",!UU||"object"!=typeof UU.adj)return F.type=t;FU=null}function QU(U){if("function"==typeof U||Object(U)!==U)return U;var F=new U.constructor;for(var Q in U)U[J](Q)&&(F[Q]=QU(U[Q]));return F}F.svg=!(F.vml="VML"==F.type),F._Paper=W,F.fn=B=W.prototype=F.prototype,F._id=0,F.is=function(U,F){return"finite"==(F=o.call(F))?!s[J](+U):"array"==F?U instanceof Array:"null"==F&&null===U||F==typeof U&&null!==U||"object"==F&&U===Object(U)||"array"==F&&Array.isArray&&Array.isArray(U)||v.call(U).slice(8,-1).toLowerCase()==F},F.angle=function(U,Q,B,R,V,n){if(null==V){var l=U-B,d=Q-R;return l||d?(180+180*p.atan2(-d,-l)/M+360)%360:0}return F.angle(U,Q,V,n)-F.angle(B,R,V,n)},F.rad=function(U){return U%360*M/180},F.deg=function(U){return Math.round(180*U/M%360*1e3)/1e3},F.snapTo=function(U,Q,B){if(B=F.is(B,"finite")?B:10,F.is(U,b)){for(var R=U.length;R--;)if(r(U[R]-Q)<=B)return U[R]}else{var V=Q%(U=+U);if(VU-B)return Q-V+U}return Q},F.createUUID=(R=/[xy]/g,V=function(U){var F=16*p.random()|0;return("x"==U?F:3&F|8).toString(16)},function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(R,V).toUpperCase()}),F.setWindow=function(Q){U("raphael.setWindow",F,N.win,Q),N.win=Q,N.doc=N.win.document,F._engine.initWin&&F._engine.initWin(N.win)};var BU=function(U){if(F.vml){var Q,B=/^\s+|\s+$/g;try{var R=new ActiveXObject("htmlfile");R.write(""),R.close(),Q=R.body}catch(U){Q=createPopup().document.body}var V=Q.createTextRange();BU=JU(function(U){try{Q.style.color=T(U).replace(B,t);var F=V.queryCommandValue("ForeColor");return"#"+("000000"+(F=(255&F)<<16|65280&F|(16711680&F)>>>16).toString(16)).slice(-6)}catch(U){return"none"}})}else{var n=N.doc.createElement("i");n.title="Rapha\xebl Colour Picker",n.style.display="none",N.doc.body.appendChild(n),BU=JU(function(U){return n.style.color=U,N.doc.defaultView.getComputedStyle(n,t).getPropertyValue("color")})}return BU(U)},RU=function(){return"hsb("+[this.h,this.s,this.b]+")"},VU=function(){return"hsl("+[this.h,this.s,this.l]+")"},nU=function(){return this.hex},lU=function(U,Q,B){if(null==Q&&F.is(U,"object")&&"r"in U&&"g"in U&&"b"in U&&(B=U.b,Q=U.g,U=U.r),null==Q&&F.is(U,"string")){var R=F.getRGB(U);U=R.r,Q=R.g,B=R.b}return(U>1||Q>1||B>1)&&(U/=255,Q/=255,B/=255),[U,Q,B]},dU=function(U,Q,B,R){var V={r:U*=255,g:Q*=255,b:B*=255,hex:F.rgb(U,Q,B),toString:nU};return F.is(R,"finite")&&(V.opacity=R),V};function JU(U,F,Q){return function B(){var R=Array.prototype.slice.call(arguments,0),V=R.join("\u2400"),n=B.cache=B.cache||{},l=B.count=B.count||[];return n[J](V)?(function(U,F){for(var Q=0,B=U.length;Q=1e3&&delete n[l.shift()],l.push(V),n[V]=U[S](F,R),Q?Q(n[V]):n[V])}}function NU(){return this.hex}function ZU(U,F){for(var Q=[],B=0,R=U.length;R-2*!F>B;B+=2){var V=[{x:+U[B-2],y:+U[B-1]},{x:+U[B],y:+U[B+1]},{x:+U[B+2],y:+U[B+3]},{x:+U[B+4],y:+U[B+5]}];F?B?R-4==B?V[3]={x:+U[0],y:+U[1]}:R-2==B&&(V[2]={x:+U[0],y:+U[1]},V[3]={x:+U[2],y:+U[3]}):V[0]={x:+U[R-2],y:+U[R-1]}:R-4==B?V[3]=V[2]:B||(V[0]={x:+U[B],y:+U[B+1]}),Q.push(["C",(-V[0].x+6*V[1].x+V[2].x)/6,(-V[0].y+6*V[1].y+V[2].y)/6,(V[1].x+6*V[2].x-V[3].x)/6,(V[1].y+6*V[2].y-V[3].y)/6,V[2].x,V[2].y])}return Q}F.color=function(U){var Q;return F.is(U,"object")&&"h"in U&&"s"in U&&"b"in U?(Q=F.hsb2rgb(U),U.r=Q.r,U.g=Q.g,U.b=Q.b,U.hex=Q.hex):F.is(U,"object")&&"h"in U&&"s"in U&&"l"in U?(Q=F.hsl2rgb(U),U.r=Q.r,U.g=Q.g,U.b=Q.b,U.hex=Q.hex):(F.is(U,"string")&&(U=F.getRGB(U)),F.is(U,"object")&&"r"in U&&"g"in U&&"b"in U?(Q=F.rgb2hsl(U),U.h=Q.h,U.s=Q.s,U.l=Q.l,Q=F.rgb2hsb(U),U.v=Q.b):(U={hex:"none"}).r=U.g=U.b=U.h=U.s=U.v=U.l=-1),U.toString=nU,U},F.hsb2rgb=function(U,F,Q,B){var R,V,n,l,d;return this.is(U,"object")&&"h"in U&&"s"in U&&"b"in U&&(Q=U.b,F=U.s,B=U.o,U=U.h),l=(d=Q*F)*(1-r((U=(U*=360)%360/60)%2-1)),R=V=n=Q-d,dU(R+=[d,l,0,0,l,d][U=~~U],V+=[l,d,d,l,0,0][U],n+=[0,0,l,d,d,l][U],B)},F.hsl2rgb=function(U,F,Q,B){var R,V,n,l,d;return this.is(U,"object")&&"h"in U&&"s"in U&&"l"in U&&(Q=U.l,F=U.s,U=U.h),(U>1||F>1||Q>1)&&(U/=360,F/=100,Q/=100),l=(d=2*F*(Q<.5?Q:1-Q))*(1-r((U=(U*=360)%360/60)%2-1)),R=V=n=Q-d/2,dU(R+=[d,l,0,0,l,d][U=~~U],V+=[l,d,d,l,0,0][U],n+=[0,0,l,d,d,l][U],B)},F.rgb2hsb=function(U,F,Q){var B,R;return U=(Q=lU(U,F,Q))[0],F=Q[1],Q=Q[2],{h:((0==(R=(B=h(U,F,Q))-c(U,F,Q))?null:B==U?(F-Q)/R:B==F?(Q-U)/R+2:(U-F)/R+4)+360)%6*60/360,s:0==R?0:R/B,b:B,toString:RU}},F.rgb2hsl=function(U,F,Q){var B,R,V,n;return U=(Q=lU(U,F,Q))[0],F=Q[1],Q=Q[2],B=((R=h(U,F,Q))+(V=c(U,F,Q)))/2,{h:((0==(n=R-V)?null:R==U?(F-Q)/n:R==F?(Q-U)/n+2:(U-F)/n+4)+360)%6*60/360,s:0==n?0:B<.5?n/(2*B):n/(2-2*B),l:B,toString:VU}},F._path2string=function(){return this.join(",").replace(w,"$1")},F._preload=function(U,F){var Q=N.doc.createElement("img");Q.style.cssText="position:absolute;left:-9999em;top:-9999em",Q.onload=function(){F.call(this),this.onload=null,N.doc.body.removeChild(this)},Q.onerror=function(){N.doc.body.removeChild(this)},N.doc.body.appendChild(Q),Q.src=U},F.getRGB=JU(function(U){if(!U||(U=T(U)).indexOf("-")+1)return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:NU};if("none"==U)return{r:-1,g:-1,b:-1,hex:"none",toString:NU};!u[J](U.toLowerCase().substring(0,2))&&"#"!=U.charAt()&&(U=BU(U));var Q,B,R,V,n,l,d=U.match(G);return d?(d[2]&&(R=z(d[2].substring(5),16),B=z(d[2].substring(3,5),16),Q=z(d[2].substring(1,3),16)),d[3]&&(R=z((n=d[3].charAt(3))+n,16),B=z((n=d[3].charAt(2))+n,16),Q=z((n=d[3].charAt(1))+n,16)),d[4]&&(l=d[4][e](x),Q=y(l[0]),"%"==l[0].slice(-1)&&(Q*=2.55),B=y(l[1]),"%"==l[1].slice(-1)&&(B*=2.55),R=y(l[2]),"%"==l[2].slice(-1)&&(R*=2.55),"rgba"==d[1].toLowerCase().slice(0,4)&&(V=y(l[3])),l[3]&&"%"==l[3].slice(-1)&&(V/=100)),d[5]?(l=d[5][e](x),Q=y(l[0]),"%"==l[0].slice(-1)&&(Q*=2.55),B=y(l[1]),"%"==l[1].slice(-1)&&(B*=2.55),R=y(l[2]),"%"==l[2].slice(-1)&&(R*=2.55),("deg"==l[0].slice(-3)||"\xb0"==l[0].slice(-1))&&(Q/=360),"hsba"==d[1].toLowerCase().slice(0,4)&&(V=y(l[3])),l[3]&&"%"==l[3].slice(-1)&&(V/=100),F.hsb2rgb(Q,B,R,V)):d[6]?(l=d[6][e](x),Q=y(l[0]),"%"==l[0].slice(-1)&&(Q*=2.55),B=y(l[1]),"%"==l[1].slice(-1)&&(B*=2.55),R=y(l[2]),"%"==l[2].slice(-1)&&(R*=2.55),("deg"==l[0].slice(-3)||"\xb0"==l[0].slice(-1))&&(Q/=360),"hsla"==d[1].toLowerCase().slice(0,4)&&(V=y(l[3])),l[3]&&"%"==l[3].slice(-1)&&(V/=100),F.hsl2rgb(Q,B,R,V)):((d={r:Q,g:B,b:R,toString:NU}).hex="#"+(16777216|R|B<<8|Q<<16).toString(16).slice(1),F.is(V,"finite")&&(d.opacity=V),d)):{r:-1,g:-1,b:-1,hex:"none",error:1,toString:NU}},F),F.hsb=JU(function(U,Q,B){return F.hsb2rgb(U,Q,B).hex}),F.hsl=JU(function(U,Q,B){return F.hsl2rgb(U,Q,B).hex}),F.rgb=JU(function(U,F,Q){function B(U){return U+.5|0}return"#"+(16777216|B(Q)|B(F)<<8|B(U)<<16).toString(16).slice(1)}),F.getColor=function(U){var F=this.getColor.start=this.getColor.start||{h:0,s:1,b:U||.75},Q=this.hsb2rgb(F.h,F.s,F.b);return F.h+=.075,F.h>1&&(F.h=0,F.s-=.2,F.s<=0&&(this.getColor.start={h:0,s:1,b:F.b})),Q.hex},F.getColor.reset=function(){delete this.start},F.parsePathString=function(U){if(!U)return null;var Q=WU(U);if(Q.arr)return eU(Q.arr);var B={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},R=[];return F.is(U,b)&&F.is(U[0],b)&&(R=eU(U)),R.length||T(U).replace(j,function(U,F,Q){var V=[],n=F.toLowerCase();if(Q.replace(K,function(U,F){F&&V.push(+F)}),"m"==n&&V.length>2&&(R.push([F][E](V.splice(0,2))),n="l",F="m"==F?"l":"L"),"r"==n)R.push([F][E](V));else for(;V.length>=B[n]&&(R.push([F][E](V.splice(0,B[n]))),B[n]););}),R.toString=F._path2string,Q.arr=eU(R),R},F.parseTransformString=JU(function(U){if(!U)return null;var Q=[];return F.is(U,b)&&F.is(U[0],b)&&(Q=eU(U)),Q.length||T(U).replace(I,function(U,F,B){var R=[];o.call(F),B.replace(K,function(U,F){F&&R.push(+F)}),Q.push([F][E](R))}),Q.toString=F._path2string,Q},this,function(U){if(!U)return U;for(var F=[],Q=0;Q1?1:d<0?0:d)/2,N=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],Z=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],W=0,S=0;S<12;S++){var E=J*N[S]+J,k=SU(E,U,Q,R,n),t=SU(E,F,B,V,l),a=k*k+t*t;W+=Z[S]*p.sqrt(a)}return J*W}function kU(U,F,Q,B,R,V,n,l){if(!(h(U,Q)h(R,n)||h(F,B)h(V,l))){var d=(U-Q)*(V-l)-(F-B)*(R-n);if(d){var J=((U*B-F*Q)*(R-n)-(U-Q)*(R*l-V*n))/d,N=((U*B-F*Q)*(V-l)-(F-B)*(R*l-V*n))/d,Z=+J.toFixed(2),W=+N.toFixed(2);if(!(Z<+c(U,Q).toFixed(2)||Z>+h(U,Q).toFixed(2)||Z<+c(R,n).toFixed(2)||Z>+h(R,n).toFixed(2)||W<+c(F,B).toFixed(2)||W>+h(F,B).toFixed(2)||W<+c(V,l).toFixed(2)||W>+h(V,l).toFixed(2)))return{x:J,y:N}}}}function tU(U,Q,B){var R=F.bezierBBox(U),V=F.bezierBBox(Q);if(!F.isBBoxIntersect(R,V))return B?0:[];for(var n=EU.apply(0,U),l=EU.apply(0,Q),d=h(~~(n/5),1),J=h(~~(l/5),1),N=[],Z=[],W={},S=B?0:[],E=0;E=0&&m<=1.001&&M>=0&&M<=1.001&&(B?S++:S.push({x:p.x,y:p.y,t1:c(m,1),t2:c(M,1)}))}}return S}function aU(U,Q,B){U=F._path2curve(U),Q=F._path2curve(Q);for(var R,V,n,l,d,J,N,Z,W,S,E=B?0:[],k=0,t=U.length;kT||a=U.x&&F<=U.x2&&Q>=U.y&&Q<=U.y2},F.isBBoxIntersect=function(U,Q){var B=F.isPointInsideBBox;return B(Q,U.x,U.y)||B(Q,U.x2,U.y)||B(Q,U.x,U.y2)||B(Q,U.x2,U.y2)||B(U,Q.x,Q.y)||B(U,Q.x2,Q.y)||B(U,Q.x,Q.y2)||B(U,Q.x2,Q.y2)||(U.xQ.x||Q.xU.x)&&(U.yQ.y||Q.yU.y)},F.pathIntersection=function(U,F){return aU(U,F)},F.pathIntersectionNumber=function(U,F){return aU(U,F,1)},F.isPointInsidePath=function(U,Q,B){var R=F.pathBBox(U);return F.isPointInsideBBox(R,Q,B)&&aU(U,[["M",Q,B],["H",R.x2+10]],1)%2==1},F._removedFactory=function(F){return function(){U("raphael.log",null,"Rapha\xebl: you are calling to method \u201c"+F+"\u201d of removed object",F)}};var TU=F.pathBBox=function(U){var F=WU(U);if(F.bbox)return QU(F.bbox);if(!U)return{x:0,y:0,width:0,height:0,x2:0,y2:0};for(var Q,B=0,R=0,V=[],n=[],l=0,d=(U=mU(U)).length;l1&&(Q*=T=p.sqrt(T),B*=T);var C=Q*Q,D=B*B,o=(V==n?-1:1)*p.sqrt(r((C*D-C*a*a-D*t*t)/(C*a*a+D*t*t))),h=o*Q*a/B+(U+l)/2,c=o*-B*t/Q+(F+d)/2,m=p.asin(((F-c)/B).toFixed(9)),i=p.asin(((d-c)/B).toFixed(9));(m=Ui&&(m-=2*M),!n&&i>m&&(i-=2*M)}var b=i-m;if(r(b)>Z){var v=i,G=l,s=d;i=m+Z*(n&&i>m?1:-1),l=h+Q*p.cos(i),d=c+B*p.sin(i),S=hU(l,d,Q,B,R,0,n,G,s,[i,v,h,c])}b=i-m;var X=p.cos(m),Y=p.sin(m),y=p.cos(i),z=p.sin(i),O=p.tan(b/4),L=4/3*Q*O,H=4/3*B*O,x=[U,F],u=[U+L*Y,F-H*X],w=[l+L*z,d-H*y],j=[l,d];if(u[0]=2*x[0]-u[0],u[1]=2*x[1]-u[1],J)return[u,w,j][E](S);for(var I=[],K=0,f=(S=[u,w,j][E](S).join()[e](",")).length;K"1e12"&&(W=.5),r(E)>"1e12"&&(E=.5),W>0&&W<1&&(d=cU(U,F,Q,B,R,V,n,l,W),t.push(d.x),k.push(d.y)),E>0&&E<1&&(d=cU(U,F,Q,B,R,V,n,l,E),t.push(d.x),k.push(d.y)),J=V-2*B+F-(l-2*V+B),Z=F-B,W=(-(N=2*(B-F)-2*(V-B))+p.sqrt(N*N-4*J*Z))/2/J,E=(-N-p.sqrt(N*N-4*J*Z))/2/J,r(W)>"1e12"&&(W=.5),r(E)>"1e12"&&(E=.5),W>0&&W<1&&(d=cU(U,F,Q,B,R,V,n,l,W),t.push(d.x),k.push(d.y)),E>0&&E<1&&(d=cU(U,F,Q,B,R,V,n,l,E),t.push(d.x),k.push(d.y)),{min:{x:c[S](0,t),y:c[S](0,k)},max:{x:h[S](0,t),y:h[S](0,k)}}}),mU=F._path2curve=JU(function(U,F){var Q=!F&&WU(U);if(!F&&Q.curve)return eU(Q.curve);for(var B=DU(U),R=F&&DU(F),V={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},n={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},l=function(U,F,Q){var B,R;if(!U)return["C",F.x,F.y,F.x,F.y,F.x,F.y];switch(!(U[0]in{T:1,Q:1})&&(F.qx=F.qy=null),U[0]){case"M":F.X=U[1],F.Y=U[2];break;case"A":U=["C"][E](hU[S](0,[F.x,F.y][E](U.slice(1))));break;case"S":"C"==Q||"S"==Q?(B=2*F.x-F.bx,R=2*F.y-F.by):(B=F.x,R=F.y),U=["C",B,R][E](U.slice(1));break;case"T":"Q"==Q||"T"==Q?(F.qx=2*F.x-F.qx,F.qy=2*F.y-F.qy):(F.qx=F.x,F.qy=F.y),U=["C"][E](pU(F.x,F.y,F.qx,F.qy,U[1],U[2]));break;case"Q":F.qx=U[1],F.qy=U[2],U=["C"][E](pU(F.x,F.y,U[1],U[2],U[3],U[4]));break;case"L":U=["C"][E](oU(F.x,F.y,U[1],U[2]));break;case"H":U=["C"][E](oU(F.x,F.y,U[1],F.y));break;case"V":U=["C"][E](oU(F.x,F.y,F.x,U[1]));break;case"Z":U=["C"][E](oU(F.x,F.y,F.X,F.Y))}return U},d=function(U,F){if(U[F].length>7){U[F].shift();for(var Q=U[F];Q.length;)N[F]="A",R&&(Z[F]="A"),U.splice(F++,0,["C"][E](Q.splice(0,6)));U.splice(F,1),a=h(B.length,R&&R.length||0)}},J=function(U,F,Q,V,n){U&&F&&"M"==U[n][0]&&"M"!=F[n][0]&&(F.splice(n,0,["M",V.x,V.y]),Q.bx=0,Q.by=0,Q.x=U[n][1],Q.y=U[n][2],a=h(B.length,R&&R.length||0))},N=[],Z=[],W="",k="",t=0,a=h(B.length,R&&R.length||0);t.01;)J=EU(U,F,Q,B,R,V,n,l,Z+=(JR){if(Q&&!W.start){if(Z+=["C"+(N=fU(n,l,d[1],d[2],d[3],d[4],d[5],d[6],R-S)).start.x,N.start.y,N.m.x,N.m.y,N.x,N.y],V)return Z;W.start=Z,Z=["M"+N.x,N.y+"C"+N.n.x,N.n.y,N.end.x,N.end.y,d[5],d[6]].join(),S+=J,n=+d[5],l=+d[6];continue}if(!U&&!Q)return{x:(N=fU(n,l,d[1],d[2],d[3],d[4],d[5],d[6],R-S)).x,y:N.y,alpha:N.alpha}}S+=J,n=+d[5],l=+d[6]}Z+=d.shift()+d}return W.end=Z,(N=U?S:Q?W:F.findDotsAtSegment(n,l,d[0],d[1],d[2],d[3],d[4],d[5],1)).alpha&&(N={x:N.x,y:N.y,alpha:N.alpha}),N}},PU=gU(1),AU=gU(),qU=gU(0,1);F.getTotalLength=PU,F.getPointAtLength=AU,F.getSubpath=function(U,F,Q){if(this.getTotalLength(U)-Q<1e-6)return qU(U,F).end;var B=qU(U,Q,1);return F?qU(B,F).end:B},wU.getTotalLength=function(){var U=this.getPath();if(U)return this.node.getTotalLength?this.node.getTotalLength():PU(U)},wU.getPointAtLength=function(U){var F=this.getPath();if(F)return AU(F,U)},wU.getPath=function(){var U,Q=F._getPath[this.type];if("text"!=this.type&&"set"!=this.type)return Q&&(U=Q(this)),U},wU.getSubpath=function(U,Q){var B=this.getPath();if(B)return F.getSubpath(B,U,Q)};var _U=F.easing_formulas={linear:function(U){return U},"<":function(U){return m(U,1.7)},">":function(U){return m(U,.48)},"<>":function(U){var F=.48-U/1.04,Q=p.sqrt(.1734+F*F),B=Q-F,R=-Q-F,V=m(r(B),1/3)*(B<0?-1:1)+m(r(R),1/3)*(R<0?-1:1)+.5;return 3*(1-V)*V*V+V*V*V},backIn:function(U){var F=1.70158;return U*U*((F+1)*U-F)},backOut:function(U){var F=1.70158;return(U-=1)*U*((F+1)*U+F)+1},elastic:function(U){return U==!!U?U:m(2,-10*U)*p.sin(2*M*(U-.075)/.3)+1},bounce:function(U){var F=7.5625,Q=2.75;return U<1/Q?F*U*U:U<2/Q?F*(U-=1.5/Q)*U+.75:U<2.5/Q?F*(U-=2.25/Q)*U+.9375:F*(U-=2.625/Q)*U+.984375}};_U.easeIn=_U["ease-in"]=_U["<"],_U.easeOut=_U["ease-out"]=_U[">"],_U.easeInOut=_U["ease-in-out"]=_U["<>"],_U["back-in"]=_U.backIn,_U["back-out"]=_U.backOut;var $U=[],UF=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(U){setTimeout(U,16)},FF=function(){for(var Q=+new Date,B=0;B<$U.length;B++){var R=$U[B];if(!R.el.removed&&!R.paused){var V,n,l=Q-R.start,d=R.ms,N=R.easing,Z=R.from,W=R.diff,S=R.to,k=(R.t,R.el),t={},T={};if(R.initstatus?(l=(R.initstatus*R.anim.top-R.prev)/(R.percent-R.prev)*d,R.status=R.initstatus,delete R.initstatus,R.stop&&$U.splice(B--,1)):R.status=(R.prev+(R.percent-R.prev)*(l/d))/R.anim.top,!(l<0))if(l1&&!R.next){for(n in S)S[J](n)&&(T[n]=R.totalOrigin[n]);R.el.attr(T),VF(R.anim,R.el,R.anim.percents[0],null,R.totalOrigin,R.repeat-1)}R.next&&!R.stop&&VF(R.anim,R.el,R.next,null,R.totalOrigin,R.repeat)}}}$U.length&&UF(FF)},QF=function(U){return U>255?255:U<0?0:U};function BF(U,F,Q,B,R,V){var n=3*F,l=3*(B-F)-n,d=1-n-l,J=3*Q,N=3*(R-Q)-J,Z=1-J-N;function W(U){return((d*U+l)*U+n)*U}return function(U,F){var Q=function(U,F){var Q,B,R,V,J,N;for(R=U,N=0;N<8;N++){if(V=W(R)-U,r(V)(B=1))return B;for(;QV?Q=R:B=R,R=(B-Q)/2+Q}return R}(U,F);return((Z*Q+N)*Q+J)*Q}(U,1/(200*V))}function RF(U,F){var Q=[],B={};if(this.ms=F,this.times=1,U){for(var R in U)U[J](R)&&(B[y(R)]=U[R],Q.push(y(R)));Q.sort(g)}this.anim=B,this.top=Q[Q.length-1],this.percents=Q}function VF(Q,B,R,V,l,d){R=y(R);var N,Z,W,S,k,t,a=Q.ms,C={},D={},o={};if(V)for(h=0,c=$U.length;hV*Q.top){R=Q.percents[h],k=Q.percents[h-1]||0,a=a/Q.top*(R-k),S=Q.percents[h+1],N=Q.anim[R];break}V&&B.attr(Q.anim[Q.percents[h]])}if(N){if(Z)Z.initstatus=V,Z.start=new Date-Z.ms*V;else{for(var r in N)if(N[J](r)&&(H[J](r)||B.paper.customAttributes[J](r)))switch(C[r]=B.attr(r),null==C[r]&&(C[r]=L[r]),D[r]=N[r],H[r]){case i:o[r]=(D[r]-C[r])/a;break;case"colour":C[r]=F.getRGB(C[r]);var m=F.getRGB(D[r]);o[r]={r:(m.r-C[r].r)/a,g:(m.g-C[r].g)/a,b:(m.b-C[r].b)/a};break;case"path":var M=mU(C[r],D[r]),b=M[1];for(C[r]=M[0],o[r]=[],h=0,c=C[r].length;hd&&(d=Z)}!U[d+="%"].callback&&(U[d].callback=R)}return new RF(U,Q)},wU.animate=function(U,Q,B,R){if(this.removed)return R&&R.call(this),this;var V=U instanceof RF?U:F.animation(U,Q,B,R);return VF(V,this,V.percents[0],null,this.attr()),this},wU.setTime=function(U,F){return U&&null!=F&&this.status(U,c(F,U.ms)/U.ms),this},wU.status=function(U,F){var Q,B,R=[],V=0;if(null!=F)return VF(U,this,-1,c(F,1)),this;for(Q=$U.length;V1)for(var B=0,R=Q.length;B.5)-1;d(W-.5,2)+d(S-.5,2)>.25&&(S=V.sqrt(.25-d(W-.5,2))*R+.5)&&.5!=S&&(S=S.toFixed(5)-1e-5*R)}return Z})).split(/\s*\-\s*/),"linear"==J){var C=R.shift();if(C=-B(C),isNaN(C))return null;var D=[0,0,V.cos(U.rad(C)),V.sin(U.rad(C))],o=1/(n(l(D[2]),l(D[3]))||1);D[2]*=o,D[3]*=o,D[2]<0&&(D[0]=-D[2],D[2]=0),D[3]<0&&(D[1]=-D[3],D[3]=0)}var p=U._parseDots(R);if(!p)return null;if(N=N.replace(/[\(\)\s,\xb0#]/g,"_"),F.gradient&&N!=F.gradient.id&&(k.defs.removeChild(F.gradient),delete F.gradient),!F.gradient){e=t(J+"Gradient",{id:N}),F.gradient=e,t(e,"radial"==J?{fx:W,fy:S}:{x1:D[0],y1:D[1],x2:D[2],y2:D[3],gradientTransform:F.matrix.invert()}),k.defs.appendChild(e);for(var h=0,c=p.length;h1?s.opacity/100:s.opacity});case"stroke":s=U.getRGB(k),d.setAttribute(E,s.hex),"stroke"==E&&s[F]("opacity")&&t(d,{"stroke-opacity":s.opacity>1?s.opacity/100:s.opacity}),"stroke"==E&&B._.arrows&&("startString"in B._.arrows&&C(B,B._.arrows.startString),"endString"in B._.arrows&&C(B,B._.arrows.endString,1));break;case"gradient":("circle"==B.type||"ellipse"==B.type||"r"!=Q(k).charAt())&&a(B,k);break;case"opacity":N.gradient&&!N[F]("stroke-opacity")&&t(d,{"stroke-opacity":k>1?k/100:k});case"fill-opacity":if(N.gradient){(X=U._g.doc.getElementById(d.getAttribute("fill").replace(/^url\(#|\)$/g,Z)))&&(Y=X.getElementsByTagName("stop"),t(Y[Y.length-1],{"stop-opacity":k}));break}default:"font-size"==E&&(k=R(k,10)+"px");var y=E.replace(/(\-.)/g,function(U){return U.substring(1).toUpperCase()});d.style[y]=k,B._.dirty=1,d.setAttribute(E,k)}}h(B,V),d.style.visibility=W},h=function(B,V){if("text"==B.type&&(V[F]("text")||V[F]("font")||V[F]("font-size")||V[F]("x")||V[F]("y"))){var n=B.attrs,l=B.node,d=l.firstChild?R(U._g.doc.defaultView.getComputedStyle(l.firstChild,Z).getPropertyValue("font-size"),10):10;if(V[F]("text")){for(n.text=V.text;l.firstChild;)l.removeChild(l.firstChild);for(var J,N=Q(V.text).split("\n"),W=[],S=0,E=N.length;S"));var g=K.getBoundingClientRect();m.W=k.w=(g.right-g.left)/100,m.H=k.h=(g.bottom-g.top)/100,m.X=k.x,m.Y=k.y+m.H/2,("x"in d||"y"in d)&&(m.path.v=U.format("m{0},{1}l{2},{1}",V(k.x*T),V(k.y*T),V(k.x*T)+1));for(var P=["x","y","text","font","font-family","font-weight","font-style","font-size"],A=0,q=P.length;A.25&&(Q=R.sqrt(.25-l(F-.5,2))*(2*(Q>.5)-1)+.5),J=F+Z+Q),W})).split(/\s*\-\s*/),"linear"==d){var N=V.shift();if(N=-B(N),isNaN(N))return null}var S=U._parseDots(V);if(!S)return null;if(F=F.shape||F.node,S.length){F.removeChild(n),n.on=!0,n.method="none",n.color=S[0].color,n.color2=S[S.length-1].color;for(var E=[],k=0,t=S.length;k')}}catch(U){p=function(U){return F.createElement("<"+U+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}},U._engine.initWin(U._g.win),U._engine.create=function(){var F=U._getContainer.apply(0,arguments),Q=F.container,B=F.height,R=F.width,V=F.x,n=F.y;if(!Q)throw new Error("VML container not found.");var l=new U._Paper,d=l.canvas=U._g.doc.createElement("div"),J=d.style;return V=V||0,n=n||0,R=R||512,B=B||342,l.width=R,l.height=B,R==+R&&(R+="px"),B==+B&&(B+="px"),l.coordsize=216e5+Z+216e5,l.coordorigin="0 0",l.span=U._g.doc.createElement("span"),l.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;",d.appendChild(l.span),J.cssText=U.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",R,B),1==Q?(U._g.doc.body.appendChild(d),J.left=V+"px",J.top=n+"px",J.position="absolute"):Q.firstChild?Q.insertBefore(d,Q.firstChild):Q.appendChild(d),l.renderfix=function(){},l},U.prototype.clear=function(){U.eve("raphael.clear",this),this.canvas.innerHTML=W,this.span=U._g.doc.createElement("span"),this.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;",this.canvas.appendChild(this.span),this.bottom=this.top=null},U.prototype.remove=function(){for(var F in U.eve("raphael.remove",this),this.canvas.parentNode.removeChild(this.canvas),this)this[F]="function"==typeof this[F]?U._removedFactory(F):null;return!0};var i=U.st;for(var b in M)M[F](b)&&!i[F](b)&&(i[b]=function(U){return function(){var F=arguments;return this.forEach(function(Q){Q[U].apply(Q,F)})}}(b))}}.apply(F,B))||(U.exports=R)}])},15430:U=>{"use strict";U.exports=!1},15536:(U,F,Q)=>{"use strict";Q(10874),Q(97425)},15714:(U,F,Q)=>{"use strict";function B(U){var F,Q,R="";if("string"==typeof U||"number"==typeof U)R+=U;else if("object"==typeof U)if(Array.isArray(U)){var V=U.length;for(F=0;FR});const R=function(){for(var U,F,Q=0,R="",V=arguments.length;Q{var B="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function R(U){for(var F="",Q=0,R=0,V=0,n=0,l=0,d=0,J=0,N=0;N>2,l=(3&Q)<<4|(R=U.charCodeAt(N++))>>4,d=(15&R)<<2|(V=U.charCodeAt(N++))>>6,J=63&V,isNaN(R)?d=J=64:isNaN(V)&&(J=64),F+=B.charAt(n)+B.charAt(l)+B.charAt(d)+B.charAt(J);return F}function V(U){var F="",Q=0,R=0,V=0,n=0,l=0,d=0;U=U.replace(/[^\w\+\/\=]/g,"");for(var J=0;J>4,F+=String.fromCharCode(Q),R=(15&n)<<4|(l=B.indexOf(U.charAt(J++)))>>2,64!==l&&(F+=String.fromCharCode(R)),V=(3&l)<<6|(d=B.indexOf(U.charAt(J++))),64!==d&&(F+=String.fromCharCode(V));return F}var n="undefined"!==typeof Buffer&&"undefined"!==typeof process&&"undefined"!==typeof process.versions&&!!process.versions.node,l=function(){if("undefined"!==typeof Buffer){var U=!Buffer.from;if(!U)try{Buffer.from("foo","utf8")}catch(F){U=!0}return U?function(U,F){return F?new Buffer(U,F):new Buffer(U)}:Buffer.from.bind(Buffer)}return function(){}}();function d(U){if(n){if(Buffer.alloc)return Buffer.alloc(U);var F=new Buffer(U);return F.fill(0),F}return"undefined"!=typeof Uint8Array?new Uint8Array(U):new Array(U)}function J(U){return n?Buffer.allocUnsafe?Buffer.allocUnsafe(U):new Buffer(U):"undefined"!=typeof Uint8Array?new Uint8Array(U):new Array(U)}var N=function(U){return n?l(U,"binary"):U.split("").map(function(U){return 255&U.charCodeAt(0)})},Z=/\u0000/g,W=/[\u0001-\u0006]/g,S=function(U){for(var F=[],Q=0;Q0&&Buffer.isBuffer(U[0][0])?Buffer.concat(U[0]):E(U)},N=function(U){return l(U,"binary")},C=function(U){return Buffer.isBuffer(U[0])?Buffer.concat(U):e(U)});var D=function(U,F){return 256*U[F+1]+U[F]},o=function(U,F){var Q=256*U[F+1]+U[F];return Q<32768?Q:-1*(65535-Q+1)},p=function(U,F){return U[F+3]*(1<<24)+(U[F+2]<<16)+(U[F+1]<<8)+U[F]},h=function(U,F){return(U[F+3]<<24)+(U[F+2]<<16)+(U[F+1]<<8)+U[F]};function c(U,F){var Q,B,R=0;switch(U){case 1:Q=function(U,F){return U[F]}(this,this.l);break;case 2:Q=("i"!==F?D:o)(this,this.l);break;case 4:Q=h(this,this.l);break;case 16:R=2,B=a(this,this.l,U)}return this.l+=U,0===R?Q:B}function r(U,F,Q){var B=0,R=0;switch(Q){case"hex":for(;R>8}for(;this.l>>=8,this[this.l+1]=255&F;break;case 4:B=4,function(U,F,Q){U[Q]=255&F,U[Q+1]=F>>>8&255,U[Q+2]=F>>>16&255,U[Q+3]=F>>>24&255}(this,F,this.l);break;case-4:B=4,function(U,F,Q){U[Q]=255&F,U[Q+1]=F>>8&255,U[Q+2]=F>>16&255,U[Q+3]=F>>24&255}(this,F,this.l)}return this.l+=B,this}function m(U,F){var Q=a(this,this.l,U.length>>1);if(Q!==U)throw new Error(F+"Expected "+U+" saw "+Q);this.l+=U.length>>1}function M(U,F){U.l=F,U.read_shift=c,U.chk=m,U.write_shift=r}function i(U){var F=d(U);return M(F,0),F}var b=function(){var U={};U.version="1.2.1";var F=function(){for(var U=0,F=new Array(256),Q=0;256!=Q;++Q)U=1&(U=1&(U=1&(U=1&(U=1&(U=1&(U=1&(U=1&(U=Q)?-306674912^U>>>1:U>>>1)?-306674912^U>>>1:U>>>1)?-306674912^U>>>1:U>>>1)?-306674912^U>>>1:U>>>1)?-306674912^U>>>1:U>>>1)?-306674912^U>>>1:U>>>1)?-306674912^U>>>1:U>>>1)?-306674912^U>>>1:U>>>1,F[Q]=U;return"undefined"!==typeof Int32Array?new Int32Array(F):F}();var Q=function(U){var F=0,Q=0,B=0,R="undefined"!==typeof Int32Array?new Int32Array(4096):new Array(4096);for(B=0;256!=B;++B)R[B]=U[B];for(B=0;256!=B;++B)for(Q=U[B],F=256+B;F<4096;F+=256)Q=R[F]=Q>>>8^U[255&Q];var V=[];for(B=1;16!=B;++B)V[B-1]="undefined"!==typeof Int32Array?R.subarray(256*B,256*B+256):R.slice(256*B,256*B+256);return V}(F),B=Q[0],R=Q[1],V=Q[2],n=Q[3],l=Q[4],d=Q[5],J=Q[6],N=Q[7],Z=Q[8],W=Q[9],S=Q[10],E=Q[11],k=Q[12],t=Q[13],a=Q[14];return U.table=F,U.bstr=function(U,Q){for(var B=-1^Q,R=0,V=U.length;R>>8^F[255&(B^U.charCodeAt(R++))];return~B},U.buf=function(U,Q){for(var T=-1^Q,e=U.length-15,C=0;C>8&255]^k[U[C++]^T>>16&255]^E[U[C++]^T>>>24]^S[U[C++]]^W[U[C++]]^Z[U[C++]]^N[U[C++]]^J[U[C++]]^d[U[C++]]^l[U[C++]]^n[U[C++]]^V[U[C++]]^R[U[C++]]^B[U[C++]]^F[U[C++]];for(e+=15;C>>8^F[255&(T^U[C++])];return~T},U.str=function(U,Q){for(var B=-1^Q,R=0,V=U.length,n=0,l=0;R>>8^F[255&(B^n)]:n<2048?B=(B=B>>>8^F[255&(B^(192|n>>6&31))])>>>8^F[255&(B^(128|63&n))]:n>=55296&&n<57344?(n=64+(1023&n),l=1023&U.charCodeAt(R++),B=(B=(B=(B=B>>>8^F[255&(B^(240|n>>8&7))])>>>8^F[255&(B^(128|n>>2&63))])>>>8^F[255&(B^(128|l>>6&15|(3&n)<<4))])>>>8^F[255&(B^(128|63&l))]):B=(B=(B=B>>>8^F[255&(B^(224|n>>12&15))])>>>8^F[255&(B^(128|n>>6&63))])>>>8^F[255&(B^(128|63&n))];return~B},U}(),v=function(){var U,F={};function B(U){if("/"==U.charAt(U.length-1))return-1===U.slice(0,-1).indexOf("/")?U:B(U.slice(0,-1));var F=U.lastIndexOf("/");return-1===F?U:U.slice(0,F+1)}function E(U){if("/"==U.charAt(U.length-1))return E(U.slice(0,-1));var F=U.lastIndexOf("/");return-1===F?U:U.slice(F+1)}function t(U,F){"string"===typeof F&&(F=new Date(F));var Q=F.getHours();Q=(Q=Q<<6|F.getMinutes())<<5|F.getSeconds()>>>1,U.write_shift(2,Q);var B=F.getFullYear()-1980;B=(B=B<<4|F.getMonth()+1)<<5|F.getDate(),U.write_shift(2,B)}function a(U){M(U,0);for(var F={},Q=0;U.l<=U.length-4;){var B=U.read_shift(2),R=U.read_shift(2),V=U.l+R,n={};if(21589===B)1&(Q=U.read_shift(1))&&(n.mtime=U.read_shift(4)),R>5&&(2&Q&&(n.atime=U.read_shift(4)),4&Q&&(n.ctime=U.read_shift(4))),n.mtime&&(n.mt=new Date(1e3*n.mtime));U.l=V,F[B]=n}return F}function T(){return U||(U=Q(83633))}function e(U,F){if(80==U[0]&&75==U[1])return hU(U,F);if(109==(32|U[0])&&105==(32|U[1]))return function(U,F){if("mime-version:"!=w(U.slice(0,13)).toLowerCase())throw new Error("Unsupported MAD header");var Q=F&&F.root||"",B=(n&&Buffer.isBuffer(U)?U.toString("binary"):w(U)).split("\r\n"),R=0,V="";for(R=0;R0&&(Q=(Q=Q.slice(0,Q.length-1)).slice(0,Q.lastIndexOf("/")+1),V.slice(0,Q.length)!=Q););var l=(B[1]||"").match(/boundary="(.*?)"/);if(!l)throw new Error("MAD cannot find boundary");var d="--"+(l[1]||""),J=[],N=[],Z={FileIndex:J,FullPaths:N};s(Z);var W,S=0;for(R=0;R=R&&(W-=R),!n[W]){d=[];var k=[];for(Z=W;Z>=0;){k[Z]=!0,n[Z]=!0,l[l.length]=Z,d.push(U[Z]);var t=Q[Math.floor(4*Z/B)];if(B<4+(E=4*Z&J))throw new Error("FAT boundary crossed: "+Z+" 4 "+B);if(!U[t])break;if(k[Z=h(U[t],E)])break}V[W]={nodes:l,data:S([d])}}return V}(e,V,N,J);C[V].name="!Directory",B>0&&l!==O&&(C[l].name="!MiniFAT"),C[N[0]].name="!FAT",C.fat_addrs=N,C.ssz=J;var p=[],c=[],m=[];!function(U,F,Q,B,R,V,n,l){for(var d,J=0,N=B.length?2:0,Z=F[U].data,W=0,S=0;W0&&J!==O&&(F[J].name="!StreamData")):t.size>=4096?(t.storage="fat",void 0===F[t.start]&&(F[t.start]=r(Q,t.start,F.fat_addrs,F.ssz)),F[t.start].name=t.name,t.content=F[t.start].data.slice(0,t.size)):(t.storage="minifat",t.size<0?t.size=0:J!==O&&t.start!==O&&F[J]&&(t.content=D(t,F[J].data,(F[l]||{}).data))),t.content&&M(t.content,0),V[d]=t,n.push(t)}}(V,C,e,p,B,{},c,l),function(U,F,Q){for(var B=0,R=0,V=0,n=0,l=0,d=Q.length,J=[],N=[];B0&&n>=0;)V.push(F.slice(n*z,n*z+z)),R-=z,n=h(Q,4*n);return 0===V.length?i(0):C(V).slice(0,U.size)}function o(U,F,Q,B,R){var V=O;if(U===O){if(0!==F)throw new Error("DIFAT chain shorter than expected")}else if(-1!==U){var n=Q[U],l=(B>>>2)-1;if(!n)return;for(var d=0;d=1&&o(h(n,B-4),F-1,Q,B,R)}}function r(U,F,Q,B,R){var V=[],n=[];R||(R=[]);var l=B-1,d=0,J=0;for(d=F;d>=0;){R[d]=!0,V[V.length]=d,n.push(U[d]);var N=Q[Math.floor(4*d/B)];if(B<4+(J=4*d&l))throw new Error("FAT boundary crossed: "+d+" 4 "+B);if(!U[N])break;d=h(U[N],J)}return{nodes:V,data:S([n])}}function G(U,F){return new Date(1e3*(p(U,F+4)/1e7*Math.pow(2,32)+p(U,F)/1e7-11644473600))}function s(U,F){var Q=F||{},B=Q.root||"Root Entry";if(U.FullPaths||(U.FullPaths=[]),U.FileIndex||(U.FileIndex=[]),U.FullPaths.length!==U.FileIndex.length)throw new Error("inconsistent CFB structure");0===U.FullPaths.length&&(U.FullPaths[0]=B+"/",U.FileIndex[0]={name:B,type:5}),Q.CLSID&&(U.FileIndex[0].clsid=Q.CLSID),function(U){var F="\x01Sh33tJ5";if(v.find(U,"/"+F))return;var Q=i(4);Q[0]=55,Q[1]=Q[3]=50,Q[2]=54,U.FileIndex.push({name:F,type:2,content:Q,size:4,L:69,R:69,C:69}),U.FullPaths.push(U.FullPaths[0]+F),X(U)}(U)}function X(U,F){s(U);for(var Q=!1,R=!1,V=U.FullPaths.length-1;V>=0;--V){var n=U.FileIndex[V];switch(n.type){case 0:R?Q=!0:(U.FileIndex.pop(),U.FullPaths.pop());break;case 1:case 2:case 5:R=!0,isNaN(n.R*n.L*n.C)&&(Q=!0),n.R>-1&&n.L>-1&&n.R==n.L&&(Q=!0);break;default:Q=!0}}if(Q||F){var l=new Date(1987,1,19),d=0,J=Object.create?Object.create(null):{},N=[];for(V=0;V1?1:-1,W.size=0,W.type=5;else if("/"==S.slice(-1)){for(d=V+1;d=N.length?-1:d,d=V+1;d=N.length?-1:d,W.type=1}else B(U.FullPaths[V+1]||"")==B(S)&&(W.R=V+1),W.type=2}}}function Y(U,F){var Q=F||{};if("mad"==Q.fileType)return function(U,F){for(var Q=F||{},B=Q.boundary||"SheetJS",R=["MIME-Version: 1.0",'Content-Type: multipart/related; boundary="'+(B="------="+B).slice(2)+'"',"","",""],V=U.FullPaths[0],l=V,d=U.FileIndex[0],J=1;J=32&&E<128&&++W;var t=W>=4*S/5;R.push(B),R.push("Content-Location: "+(Q.root||"file:///C:/SheetJS/")+l),R.push("Content-Transfer-Encoding: "+(t?"quoted-printable":"base64")),R.push("Content-Type: "+mU(d,l)),R.push(""),R.push(t?iU(Z):MU(Z))}return R.push(B+"--\r\n"),R.join("\r\n")}(U,Q);if(X(U),"zip"===Q.fileType)return function(U,F){var Q=F||{},B=[],R=[],V=i(1),n=Q.compression?8:0,l=0;0;var d=0,J=0,N=0,Z=0,W=U.FullPaths[0],S=W,E=U.FileIndex[0],k=[],a=0;for(d=1;d0&&(V<4096?F+=V+63>>6:Q+=V+511>>9)}}for(var n=U.FullPaths.length+3>>2,l=F+127>>7,d=(F+7>>3)+Q+n+l,J=d+127>>7,N=J<=109?0:Math.ceil((J-109)/127);d+J+N+127>>7>J;)N=++J<=109?0:Math.ceil((J-109)/127);var Z=[1,N,J,l,n,Q,F,0];return U.FileIndex[0].size=F<<6,Z[7]=(U.FileIndex[0].start=Z[0]+Z[1]+Z[2]+Z[3]+Z[4]+Z[5])+(Z[6]+7>>3),Z}(U),R=i(B[7]<<9),V=0,l=0;for(V=0;V<8;++V)R.write_shift(1,H[V]);for(V=0;V<8;++V)R.write_shift(2,0);for(R.write_shift(2,62),R.write_shift(2,3),R.write_shift(2,65534),R.write_shift(2,9),R.write_shift(2,6),V=0;V<3;++V)R.write_shift(2,0);for(R.write_shift(4,0),R.write_shift(4,B[2]),R.write_shift(4,B[0]+B[1]+B[2]+B[3]-1),R.write_shift(4,0),R.write_shift(4,4096),R.write_shift(4,B[3]?B[0]+B[1]+B[2]-1:O),R.write_shift(4,B[3]),R.write_shift(-4,B[1]?B[0]-1:O),R.write_shift(4,B[1]),V=0;V<109;++V)R.write_shift(-4,V>9)));for(d(B[6]+7>>3);511&R.l;)R.write_shift(-4,u.ENDOFCHAIN);for(l=V=0,J=0;J=4096||(Z.start=l,d(N+63>>6)));for(;511&R.l;)R.write_shift(-4,u.ENDOFCHAIN);for(V=0;V32&&(console.error("Name "+S+" will be truncated to "+S.slice(0,32)),S=S.slice(0,32)),N=2*(S.length+1),R.write_shift(64,S,"utf16le"),R.write_shift(2,N),R.write_shift(1,Z.type),R.write_shift(1,Z.color),R.write_shift(-4,Z.L),R.write_shift(-4,Z.R),R.write_shift(-4,Z.C),Z.clsid)R.write_shift(16,Z.clsid,"hex");else for(J=0;J<4;++J)R.write_shift(4,0);R.write_shift(4,Z.state||0),R.write_shift(4,0),R.write_shift(4,0),R.write_shift(4,0),R.write_shift(4,0),R.write_shift(4,Z.start),R.write_shift(4,Z.size),R.write_shift(4,0)}else{for(J=0;J<17;++J)R.write_shift(4,0);for(J=0;J<3;++J)R.write_shift(4,-1);for(J=0;J<12;++J)R.write_shift(4,0)}}for(V=1;V=4096)if(R.l=Z.start+1<<9,n&&Buffer.isBuffer(Z.content))Z.content.copy(R,R.l,0,Z.size),R.l+=Z.size+511&-512;else{for(J=0;J0&&Z.size<4096)if(n&&Buffer.isBuffer(Z.content))Z.content.copy(R,R.l,0,Z.size),R.l+=Z.size+63&-64;else{for(J=0;J>16|F>>8|F)}for(var P="undefined"!==typeof Uint8Array,A=P?new Uint8Array(256):[],q=0;q<256;++q)A[q]=g(q);function _(U,F){var Q=A[255&U];return F<=8?Q>>>8-F:(Q=Q<<8|A[U>>8&255],F<=16?Q>>>16-F:(Q=Q<<8|A[U>>16&255])>>>24-F)}function $(U,F){var Q=7&F,B=F>>>3;return(U[B]|(Q<=6?0:U[B+1]<<8))>>>Q&3}function UU(U,F){var Q=7&F,B=F>>>3;return(U[B]|(Q<=5?0:U[B+1]<<8))>>>Q&7}function FU(U,F){var Q=7&F,B=F>>>3;return(U[B]|(Q<=3?0:U[B+1]<<8))>>>Q&31}function QU(U,F){var Q=7&F,B=F>>>3;return(U[B]|(Q<=1?0:U[B+1]<<8))>>>Q&127}function BU(U,F,Q){var B=7&F,R=F>>>3,V=(1<>>B;return Q<8-B?n&V:(n|=U[R+1]<<8-B,Q<16-B?n&V:(n|=U[R+2]<<16-B,Q<24-B?n&V:(n|=U[R+3]<<24-B)&V))}function RU(U,F,Q){var B=7&F,R=F>>>3;return B<=5?U[R]|=(7&Q)<>8-B),F+3}function VU(U,F,Q){return Q=(1&Q)<<(7&F),U[F>>>3]|=Q,F+1}function nU(U,F,Q){var B=F>>>3;return Q<<=7&F,U[B]|=255&Q,Q>>>=8,U[B+1]=Q,F+8}function lU(U,F,Q){var B=F>>>3;return Q<<=7&F,U[B]|=255&Q,Q>>>=8,U[B+1]=255&Q,U[B+2]=Q>>>8,F+16}function dU(U,F){var Q=U.length,B=2*Q>F?2*Q:F+5,R=0;if(Q>=F)return U;if(n){var V=J(B);if(U.copy)U.copy(V);else for(;R>B-Z,n=(1<=0;--n)F[l|n<0;)F[F.l++]=U[Q++]}return F.l}(F,Q):function(F,Q){for(var R=0,V=0,n=P?new Uint16Array(32768):[];V0;)Q[Q.l++]=F[V++];R=8*Q.l}else{R=RU(Q,R,+!(V+l!=F.length)+2);for(var d=0;l-- >0;){var J=F[V],N=-1,Z=0;if((N=n[d=32767&(d<<5^J)])&&((N|=-32768&V)>V&&(N-=32768),N2){(J=B[Z])<=22?R=nU(Q,R,A[J+1]>>1)-1:(nU(Q,R,3),nU(Q,R+=5,A[J-23]>>5),R+=3);var W=J<8?0:J-4>>2;W>0&&(lU(Q,R,Z-K[J]),R+=W),J=U[V-N],R=nU(Q,R,A[J]>>3),R-=3;var S=J<4?0:J-2>>1;S>0&&(lU(Q,R,V-N-f[J]),R+=S);for(var E=0;E>>3;return(U[B]|(Q<=4?0:U[B+1]<<8))>>>Q&15}(U,F+=5)+4;F+=4;for(var V=0,n=P?new Uint8Array(19):JU(19),l=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],d=1,J=P?new Uint8Array(8):JU(8),N=P?new Uint8Array(8):JU(8),Z=n.length,W=0;W>8-E;for(var k=(1<<7-E)-1;k>=0;--k)TU[S|k<>>=3){case 16:for(V=3+$(U,F),F+=2,S=t[t.length-1];V-- >0;)t.push(S);break;case 17:for(V=3+UU(U,F),F+=3;V-- >0;)t.push(0);break;case 18:for(V=11+QU(U,F),F+=7;V-- >0;)t.push(0);break;default:t.push(S),d>>0,l=0,N=0;0==(1&B);)if(B=UU(U,Q),Q+=3,B>>>1!=0)for(B>>1==1?(l=9,N=5):(Q=DU(U,Q),l=eU,N=CU);;){!F&&n>>1==1?ZU[Z]:tU[Z];if(Q+=15&W,0===((W>>>=4)>>>8&255))R[V++]=W;else{if(256==W)break;var S=(W-=257)<8?0:W-4>>2;S>5&&(S=0);var E=V+K[W];S>0&&(E+=BU(U,Q,S),Q+=S),Z=BU(U,Q,N),Q+=15&(W=B>>>1==1?WU[Z]:aU[Z]);var k=(W>>>=4)<4?0:W-2>>1,t=f[W];for(k>0&&(t+=BU(U,Q,k),Q+=k),!F&&n>>3]|U[(Q>>>3)+1]<<8;if(Q+=32,a>0)for(!F&&n0;)R[V++]=U[Q>>>3],Q+=8}return F?[R,Q+7>>>3]:[R.slice(0,V),Q+7>>>3]}(U.slice(U.l||0),F);return U.l+=Q[1],Q[0]}function pU(U,F){if(!U)throw new Error(F);"undefined"!==typeof console&&console.error(F)}function hU(U,F){var Q=U;M(Q,0);var B={FileIndex:[],FullPaths:[]};s(B,{root:F.root});for(var R=Q.length-4;(80!=Q[R]||75!=Q[R+1]||5!=Q[R+2]||6!=Q[R+3])&&R>=0;)--R;Q.l=R+4,Q.l+=4;var V=Q.read_shift(2);Q.l+=6;var n=Q.read_shift(4);for(Q.l=n,R=0;R>>=5);Q>>>=4,B.setMilliseconds(0),B.setFullYear(Q+1980),B.setMonth(V-1),B.setDate(R);var n=31&F,l=63&(F>>>=5);return F>>>=6,B.setHours(F),B.setMinutes(l),B.setSeconds(n<<1),B}(U);if(8257&V)throw new Error("Unsupported ZIP encryption");for(var d=U.read_shift(4),J=U.read_shift(4),N=U.read_shift(4),Z=U.read_shift(2),W=U.read_shift(2),S="",E=0;E{"use strict";Q.d(F,{f3:()=>L,Sh:()=>O,Ay:()=>x,Oj:()=>z,WC:()=>y});var B=Q(49257),R=Q(68102),V=Q(96048),n=Q(60471),l=Q(15714),d=Q(93350),J=Q(3512),N=Q(85514),Z=Q(75544),W=Q(30874),S=Q(24300),E=Q(89344),k=Q(23759);const t=["onChange","maxRows","minRows","style","value"];function a(U){return parseInt(U,10)||0}const T={visibility:"hidden",position:"absolute",overflow:"hidden",height:0,top:0,left:0,transform:"translateZ(0)"};function e(U){return function(U){for(const F in U)return!1;return!0}(U)||0===U.outerHeightStyle&&!U.overflowing}const C=n.forwardRef(function(U,F){const{onChange:Q,maxRows:V,minRows:l=1,style:d,value:J}=U,C=(0,B.A)(U,t),{current:D}=n.useRef(null!=J),o=n.useRef(null),p=(0,N.A)(F,o),h=n.useRef(null),c=n.useRef(null),r=n.useCallback(()=>{const F=o.current,Q=c.current;if(!F||!Q)return;const B=(0,Z.A)(F).getComputedStyle(F);if("0px"===B.width)return{outerHeightStyle:0,overflowing:!1};Q.style.width=B.width,Q.value=F.value||U.placeholder||"x","\n"===Q.value.slice(-1)&&(Q.value+=" ");const R=B.boxSizing,n=a(B.paddingBottom)+a(B.paddingTop),d=a(B.borderBottomWidth)+a(B.borderTopWidth),J=Q.scrollHeight;Q.value="x";const N=Q.scrollHeight;let W=J;l&&(W=Math.max(Number(l)*N,W)),V&&(W=Math.min(Number(V)*N,W)),W=Math.max(W,N);return{outerHeightStyle:W+("border-box"===R?n+d:0),overflowing:Math.abs(W-J)<=1}},[V,l,U.placeholder]),m=(0,W.A)(()=>{const U=o.current,F=r();if(!U||!F||e(F))return!1;const Q=F.outerHeightStyle;return null!=h.current&&h.current!==Q}),M=n.useCallback(()=>{const U=o.current,F=r();if(!U||!F||e(F))return;const Q=F.outerHeightStyle;h.current!==Q&&(h.current=Q,U.style.height=`${Q}px`),U.style.overflow=F.overflowing?"hidden":""},[r]),i=n.useRef(-1);(0,S.A)(()=>{const U=(0,E.A)(M),F=null==o?void 0:o.current;if(!F)return;const Q=(0,Z.A)(F);let B;return Q.addEventListener("resize",U),"undefined"!==typeof ResizeObserver&&(B=new ResizeObserver(()=>{m()&&(B.unobserve(F),cancelAnimationFrame(i.current),M(),i.current=requestAnimationFrame(()=>{B.observe(F)}))}),B.observe(F)),()=>{U.clear(),cancelAnimationFrame(i.current),Q.removeEventListener("resize",U),B&&B.disconnect()}},[r,M,m]),(0,S.A)(()=>{M()});return(0,k.jsxs)(n.Fragment,{children:[(0,k.jsx)("textarea",(0,R.A)({value:J,onChange:U=>{D||M(),Q&&Q(U)},ref:p,rows:l,style:d},C)),(0,k.jsx)("textarea",{"aria-hidden":!0,className:U.className,readOnly:!0,ref:c,tabIndex:-1,style:(0,R.A)({},T,d,{paddingTop:0,paddingBottom:0})})]})});var D=Q(62423),o=Q(26345),p=Q(55425),h=Q(34315),c=Q(43946),r=Q(93623),m=Q(90245),M=Q(6057),i=Q(7276),b=Q(52038),v=Q(89139);const G=function(U){return(0,k.jsx)(i.A,(0,R.A)({},U,{defaultTheme:b.A,themeId:v.A}))};var s=Q(83652),X=Q(55106);const Y=["aria-describedby","autoComplete","autoFocus","className","color","components","componentsProps","defaultValue","disabled","disableInjectingGlobalStyles","endAdornment","error","fullWidth","id","inputComponent","inputProps","inputRef","margin","maxRows","minRows","multiline","name","onBlur","onChange","onClick","onFocus","onKeyDown","onKeyUp","placeholder","readOnly","renderSuffix","rows","size","slotProps","slots","startAdornment","type","value"],y=(U,F)=>{const{ownerState:Q}=U;return[F.root,Q.formControl&&F.formControl,Q.startAdornment&&F.adornedStart,Q.endAdornment&&F.adornedEnd,Q.error&&F.error,"small"===Q.size&&F.sizeSmall,Q.multiline&&F.multiline,Q.color&&F[`color${(0,r.A)(Q.color)}`],Q.fullWidth&&F.fullWidth,Q.hiddenLabel&&F.hiddenLabel]},z=(U,F)=>{const{ownerState:Q}=U;return[F.input,"small"===Q.size&&F.inputSizeSmall,Q.multiline&&F.inputMultiline,"search"===Q.type&&F.inputTypeSearch,Q.startAdornment&&F.inputAdornedStart,Q.endAdornment&&F.inputAdornedEnd,Q.hiddenLabel&&F.inputHiddenLabel]},O=(0,h.Ay)("div",{name:"MuiInputBase",slot:"Root",overridesResolver:y})(U=>{let{theme:F,ownerState:Q}=U;return(0,R.A)({},F.typography.body1,{color:(F.vars||F).palette.text.primary,lineHeight:"1.4375em",boxSizing:"border-box",position:"relative",cursor:"text",display:"inline-flex",alignItems:"center",[`&.${X.A.disabled}`]:{color:(F.vars||F).palette.text.disabled,cursor:"default"}},Q.multiline&&(0,R.A)({padding:"4px 0 5px"},"small"===Q.size&&{paddingTop:1}),Q.fullWidth&&{width:"100%"})}),L=(0,h.Ay)("input",{name:"MuiInputBase",slot:"Input",overridesResolver:z})(U=>{let{theme:F,ownerState:Q}=U;const B="light"===F.palette.mode,V=(0,R.A)({color:"currentColor"},F.vars?{opacity:F.vars.opacity.inputPlaceholder}:{opacity:B?.42:.5},{transition:F.transitions.create("opacity",{duration:F.transitions.duration.shorter})}),n={opacity:"0 !important"},l=F.vars?{opacity:F.vars.opacity.inputPlaceholder}:{opacity:B?.42:.5};return(0,R.A)({font:"inherit",letterSpacing:"inherit",color:"currentColor",padding:"4px 0 5px",border:0,boxSizing:"content-box",background:"none",height:"1.4375em",margin:0,WebkitTapHighlightColor:"transparent",display:"block",minWidth:0,width:"100%",animationName:"mui-auto-fill-cancel",animationDuration:"10ms","&::-webkit-input-placeholder":V,"&::-moz-placeholder":V,"&:-ms-input-placeholder":V,"&::-ms-input-placeholder":V,"&:focus":{outline:0},"&:invalid":{boxShadow:"none"},"&::-webkit-search-decoration":{WebkitAppearance:"none"},[`label[data-shrink=false] + .${X.A.formControl} &`]:{"&::-webkit-input-placeholder":n,"&::-moz-placeholder":n,"&:-ms-input-placeholder":n,"&::-ms-input-placeholder":n,"&:focus::-webkit-input-placeholder":l,"&:focus::-moz-placeholder":l,"&:focus:-ms-input-placeholder":l,"&:focus::-ms-input-placeholder":l},[`&.${X.A.disabled}`]:{opacity:1,WebkitTextFillColor:(F.vars||F).palette.text.disabled},"&:-webkit-autofill":{animationDuration:"5000s",animationName:"mui-auto-fill"}},"small"===Q.size&&{paddingTop:1},Q.multiline&&{height:"auto",resize:"none",padding:0,paddingTop:0},"search"===Q.type&&{MozAppearance:"textfield"})}),H=(0,k.jsx)(G,{styles:{"@keyframes mui-auto-fill":{from:{display:"block"}},"@keyframes mui-auto-fill-cancel":{from:{display:"block"}}}}),x=n.forwardRef(function(U,F){var Q;const N=(0,c.b)({props:U,name:"MuiInputBase"}),{"aria-describedby":Z,autoComplete:W,autoFocus:S,className:E,components:t={},componentsProps:a={},defaultValue:T,disabled:e,disableInjectingGlobalStyles:h,endAdornment:i,fullWidth:b=!1,id:v,inputComponent:G="input",inputProps:y={},inputRef:z,maxRows:x,minRows:u,multiline:w=!1,name:j,onBlur:I,onChange:K,onClick:f,onFocus:g,onKeyDown:P,onKeyUp:A,placeholder:q,readOnly:_,renderSuffix:$,rows:UU,slotProps:FU={},slots:QU={},startAdornment:BU,type:RU="text",value:VU}=N,nU=(0,B.A)(N,Y),lU=null!=y.value?y.value:VU,{current:dU}=n.useRef(null!=lU),JU=n.useRef(),NU=n.useCallback(U=>{0},[]),ZU=(0,m.A)(JU,z,y.ref,NU),[WU,SU]=n.useState(!1),EU=(0,p.A)();const kU=(0,D.A)({props:N,muiFormControl:EU,states:["color","disabled","error","hiddenLabel","size","required","filled"]});kU.focused=EU?EU.focused:WU,n.useEffect(()=>{!EU&&e&&WU&&(SU(!1),I&&I())},[EU,e,WU,I]);const tU=EU&&EU.onFilled,aU=EU&&EU.onEmpty,TU=n.useCallback(U=>{(0,s.lq)(U)?tU&&tU():aU&&aU()},[tU,aU]);(0,M.A)(()=>{dU&&TU({value:lU})},[lU,TU,dU]);n.useEffect(()=>{TU(JU.current)},[]);let eU=G,CU=y;w&&"input"===eU&&(CU=UU?(0,R.A)({type:void 0,minRows:UU,maxRows:UU},CU):(0,R.A)({type:void 0,maxRows:x,minRows:u},CU),eU=C);n.useEffect(()=>{EU&&EU.setAdornedStart(Boolean(BU))},[EU,BU]);const DU=(0,R.A)({},N,{color:kU.color||"primary",disabled:kU.disabled,endAdornment:i,error:kU.error,focused:kU.focused,formControl:EU,fullWidth:b,hiddenLabel:kU.hiddenLabel,multiline:w,size:kU.size,startAdornment:BU,type:RU}),oU=(U=>{const{classes:F,color:Q,disabled:B,error:R,endAdornment:V,focused:n,formControl:l,fullWidth:J,hiddenLabel:N,multiline:Z,readOnly:W,size:S,startAdornment:E,type:k}=U,t={root:["root",`color${(0,r.A)(Q)}`,B&&"disabled",R&&"error",J&&"fullWidth",n&&"focused",l&&"formControl",S&&"medium"!==S&&`size${(0,r.A)(S)}`,Z&&"multiline",E&&"adornedStart",V&&"adornedEnd",N&&"hiddenLabel",W&&"readOnly"],input:["input",B&&"disabled","search"===k&&"inputTypeSearch",Z&&"inputMultiline","small"===S&&"inputSizeSmall",N&&"inputHiddenLabel",E&&"inputAdornedStart",V&&"inputAdornedEnd",W&&"readOnly"]};return(0,d.A)(t,X.g,F)})(DU),pU=QU.root||t.Root||O,hU=FU.root||a.root||{},cU=QU.input||t.Input||L;return CU=(0,R.A)({},CU,null!=(Q=FU.input)?Q:a.input),(0,k.jsxs)(n.Fragment,{children:[!h&&H,(0,k.jsxs)(pU,(0,R.A)({},hU,!(0,J.A)(pU)&&{ownerState:(0,R.A)({},DU,hU.ownerState)},{ref:F,onClick:U=>{JU.current&&U.currentTarget===U.target&&JU.current.focus(),f&&f(U)}},nU,{className:(0,l.A)(oU.root,hU.className,E,_&&"MuiInputBase-readOnly"),children:[BU,(0,k.jsx)(o.A.Provider,{value:null,children:(0,k.jsx)(cU,(0,R.A)({ownerState:DU,"aria-invalid":kU.error,"aria-describedby":Z,autoComplete:W,autoFocus:S,defaultValue:T,disabled:kU.disabled,id:v,onAnimationStart:U=>{TU("mui-auto-fill-cancel"===U.animationName?JU.current:{value:"x"})},name:j,placeholder:q,readOnly:_,required:kU.required,rows:UU,value:lU,onKeyDown:P,onKeyUp:A,type:RU},CU,!(0,J.A)(cU)&&{as:eU,ownerState:(0,R.A)({},DU,CU.ownerState)},{ref:ZU,className:(0,l.A)(oU.input,CU.className,_&&"MuiInputBase-readOnly"),onBlur:U=>{I&&I(U),y.onBlur&&y.onBlur(U),EU&&EU.onBlur?EU.onBlur(U):SU(!1)},onChange:function(U){if(!dU){const F=U.target||JU.current;if(null==F)throw new Error((0,V.A)(1));TU({value:F.value})}for(var F=arguments.length,Q=new Array(F>1?F-1:0),B=1;B{kU.disabled?U.stopPropagation():(g&&g(U),y.onFocus&&y.onFocus(U),EU&&EU.onFocus?EU.onFocus(U):SU(!0))}}))}),i,$?$((0,R.A)({},kU,{startAdornment:BU})):null]}))]})})},16280:(U,F,Q)=>{"use strict";var B=Q(3230);U.exports=function(U){var F=+U;return F!==F||0===F?0:B(F)}},16438:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>R});var B=Q(17451);function R(U,F){if(U){if("string"==typeof U)return(0,B.A)(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?(0,B.A)(U,F):void 0}}},16453:(U,F,Q)=>{"use strict";Q.r(F),Q.d(F,{default:()=>B.A});var B=Q(96048)},16685:(U,F,Q)=>{"use strict";var B=Q(66120);U.exports=function(U){return!!B(U)}},16776:(U,F,Q)=>{"use strict";Q.r(F),Q.d(F,{default:()=>h});var B=function(){if("undefined"!==typeof Map)return Map;function U(U,F){var Q=-1;return U.some(function(U,B){return U[0]===F&&(Q=B,!0)}),Q}return function(){function F(){this.__entries__=[]}return Object.defineProperty(F.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),F.prototype.get=function(F){var Q=U(this.__entries__,F),B=this.__entries__[Q];return B&&B[1]},F.prototype.set=function(F,Q){var B=U(this.__entries__,F);~B?this.__entries__[B][1]=Q:this.__entries__.push([F,Q])},F.prototype.delete=function(F){var Q=this.__entries__,B=U(Q,F);~B&&Q.splice(B,1)},F.prototype.has=function(F){return!!~U(this.__entries__,F)},F.prototype.clear=function(){this.__entries__.splice(0)},F.prototype.forEach=function(U,F){void 0===F&&(F=null);for(var Q=0,B=this.__entries__;Q0},U.prototype.connect_=function(){R&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),d?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},U.prototype.disconnect_=function(){R&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},U.prototype.onTransitionEnd_=function(U){var F=U.propertyName,Q=void 0===F?"":F;l.some(function(U){return!!~Q.indexOf(U)})&&this.refresh()},U.getInstance=function(){return this.instance_||(this.instance_=new U),this.instance_},U.instance_=null,U}(),N=function(U,F){for(var Q=0,B=Object.keys(F);Q0},U}(),o="undefined"!==typeof WeakMap?new WeakMap:new B,p=function U(F){if(!(this instanceof U))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var Q=J.getInstance(),B=new D(F,Q,this);o.set(this,B)};["observe","unobserve","disconnect"].forEach(function(U){p.prototype[U]=function(){var F;return(F=o.get(this))[U].apply(F,arguments)}});const h="undefined"!==typeof V.ResizeObserver?V.ResizeObserver:p},16840:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>R});var B=Q(85656);function R(U,F){let Q=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Mui";const R={};return F.forEach(F=>{R[F]=(0,B.Ay)(U,F,Q)}),R}},16917:(U,F,Q)=>{"use strict";var B=Q(2428),R=Q(18018),V=Q(32594),n=Q(36670);U.exports=function(U,F,Q,l){l||(l={});var d=l.enumerable,J=void 0!==l.name?l.name:F;if(B(Q)&&V(Q,J,l),l.global)d?U[F]=Q:n(F,Q);else{try{l.unsafe?U[F]&&(d=!0):delete U[F]}catch(N){}d?U[F]=Q:R.f(U,F,{value:Q,enumerable:!1,configurable:!l.nonConfigurable,writable:!l.nonWritable})}return U}},17002:(U,F,Q)=>{"use strict";Q.d(F,{Ay:()=>N,p0:()=>l});var B=Q(49257),R=Q(68102);const V=["duration","easing","delay"],n={easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeOut:"cubic-bezier(0.0, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"},l={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function d(U){return`${Math.round(U)}ms`}function J(U){if(!U)return 0;const F=U/36;return Math.round(10*(4+15*F**.25+F/5))}function N(U){const F=(0,R.A)({},n,U.easing),Q=(0,R.A)({},l,U.duration);return(0,R.A)({getAutoHeightDuration:J,create:function(){let U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["all"],R=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{duration:n=Q.standard,easing:l=F.easeInOut,delay:J=0}=R;(0,B.A)(R,V);return(Array.isArray(U)?U:[U]).map(U=>`${U} ${"string"===typeof n?n:d(n)} ${l} ${"string"===typeof J?J:d(J)}`).join(",")}},U,{easing:F,duration:Q})}},17176:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>N,k:()=>d});var B=Q(45138),R=Q(51723),V=Q(42854),n=Q(47067),l=Q(27213);function d(){function U(U,F,Q,R){const l={[U]:F,theme:Q},d=R[U];if(!d)return{[U]:F};const{cssProperty:J=U,themeKey:N,transform:Z,style:W}=d;if(null==F)return null;if("typography"===N&&"inherit"===F)return{[U]:F};const S=(0,V.Yn)(Q,N)||{};if(W)return W(l);return(0,n.NI)(l,F,F=>{let Q=(0,V.BO)(S,Z,F);return F===Q&&"string"===typeof F&&(Q=(0,V.BO)(S,Z,`${U}${"default"===F?"":(0,B.A)(F)}`,F)),!1===J?Q:{[J]:Q}})}return function F(Q){var B;const{sx:V,theme:d={},nested:J}=Q||{};if(!V)return null;const N=null!=(B=d.unstable_sxConfig)?B:l.A;function Z(Q){let B=Q;if("function"===typeof Q)B=Q(d);else if("object"!==typeof Q)return Q;if(!B)return null;const V=(0,n.EU)(d.breakpoints),l=Object.keys(V);let Z=V;return Object.keys(B).forEach(Q=>{const V=(l=B[Q],J=d,"function"===typeof l?l(J):l);var l,J;if(null!==V&&void 0!==V)if("object"===typeof V)if(N[Q])Z=(0,R.A)(Z,U(Q,V,d,N));else{const U=(0,n.NI)({theme:d},V,U=>({[Q]:U}));!function(){for(var U=arguments.length,F=new Array(U),Q=0;QU.concat(Object.keys(F)),[]),R=new Set(B);return F.every(U=>R.size===Object.keys(U).length)}(U,V)?Z=(0,R.A)(Z,U):Z[Q]=F({sx:V,theme:d,nested:!0})}else Z=(0,R.A)(Z,U(Q,V,d,N))}),!J&&d.modularCssLayers?{"@layer sx":(0,n.vf)(l,Z)}:(0,n.vf)(l,Z)}return Array.isArray(V)?V.map(Z):Z(V)}}const J=d();J.filterProps=["sx"];const N=J},17436:(U,F,Q)=>{"use strict";Q.d(F,{Ay:()=>J});var B=Q(35191);function R(U,F,Q,B,R){var V=U*U,n=V*U;return((1-3*U+3*V-n)*F+(4-6*V+3*n)*Q+(1+3*U+3*V-3*n)*B+n*R)/6}var V=Q(76349);function n(U,F){return function(Q){return U+Q*F}}function l(U){return 1===(U=+U)?d:function(F,Q){return Q-F?function(U,F,Q){return U=Math.pow(U,Q),F=Math.pow(F,Q)-U,Q=1/Q,function(B){return Math.pow(U+B*F,Q)}}(F,Q,U):(0,V.A)(isNaN(F)?Q:F)}}function d(U,F){var Q=F-U;return Q?n(U,Q):(0,V.A)(isNaN(U)?F:U)}const J=function U(F){var Q=l(F);function R(U,F){var R=Q((U=(0,B.Qh)(U)).r,(F=(0,B.Qh)(F)).r),V=Q(U.g,F.g),n=Q(U.b,F.b),l=d(U.opacity,F.opacity);return function(F){return U.r=R(F),U.g=V(F),U.b=n(F),U.opacity=l(F),U+""}}return R.gamma=U,R}(1);function N(U){return function(F){var Q,R,V=F.length,n=new Array(V),l=new Array(V),d=new Array(V);for(Q=0;Q=1?(Q=1,F-1):Math.floor(Q*F),V=U[B],n=U[B+1],l=B>0?U[B-1]:2*V-n,d=B{"use strict";function B(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);QB})},17770:(U,F,Q)=>{"use strict";var B=Q(73396),R=Q(61473),V=Q(63719);U.exports=function(){return V(B,R,arguments)}},17843:(U,F,Q)=>{"use strict";function B(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function R(U){for(var F=1;FU.length)&&(Q=U.length),U.substring(Q-F.length,Q)===F}var e="",C="",D="",o="",p={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function h(U){var F=Object.keys(U),Q=Object.create(Object.getPrototypeOf(U));return F.forEach(function(F){Q[F]=U[F]}),Object.defineProperty(Q,"message",{value:U.message}),Q}function c(U){return t(U,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function r(U,F,Q){var B="",R="",V=0,n="",l=!1,d=c(U),J=d.split("\n"),N=c(F).split("\n"),Z=0,W="";if("strictEqual"===Q&&"object"===k(U)&&"object"===k(F)&&null!==U&&null!==F&&(Q="strictEqualObject"),1===J.length&&1===N.length&&J[0]!==N[0]){var S=J[0].length+N[0].length;if(S<=10){if(("object"!==k(U)||null===U)&&("object"!==k(F)||null===F)&&(0!==U||0!==F))return"".concat(p[Q],"\n\n")+"".concat(J[0]," !== ").concat(N[0],"\n")}else if("strictEqualObject"!==Q){if(S<(process.stderr&&process.stderr.isTTY?process.stderr.columns:80)){for(;J[0][Z]===N[0][Z];)Z++;Z>2&&(W="\n ".concat(function(U,F){if(F=Math.floor(F),0==U.length||0==F)return"";var Q=U.length*F;for(F=Math.floor(Math.log(F)/Math.log(2));F;)U+=U,F--;return U+U.substring(0,Q-U.length)}(" ",Z),"^"),Z=0)}}}for(var E=J[J.length-1],t=N[N.length-1];E===t&&(Z++<2?n="\n ".concat(E).concat(n):B=E,J.pop(),N.pop(),0!==J.length&&0!==N.length);)E=J[J.length-1],t=N[N.length-1];var a=Math.max(J.length,N.length);if(0===a){var h=d.split("\n");if(h.length>30)for(h[26]="".concat(e,"...").concat(o);h.length>27;)h.pop();return"".concat(p.notIdentical,"\n\n").concat(h.join("\n"),"\n")}Z>3&&(n="\n".concat(e,"...").concat(o).concat(n),l=!0),""!==B&&(n="\n ".concat(B).concat(n),B="");var r=0,m=p[Q]+"\n".concat(C,"+ actual").concat(o," ").concat(D,"- expected").concat(o),M=" ".concat(e,"...").concat(o," Lines skipped");for(Z=0;Z1&&Z>2&&(i>4?(R+="\n".concat(e,"...").concat(o),l=!0):i>3&&(R+="\n ".concat(N[Z-2]),r++),R+="\n ".concat(N[Z-1]),r++),V=Z,B+="\n".concat(D,"-").concat(o," ").concat(N[Z]),r++;else if(N.length1&&Z>2&&(i>4?(R+="\n".concat(e,"...").concat(o),l=!0):i>3&&(R+="\n ".concat(J[Z-2]),r++),R+="\n ".concat(J[Z-1]),r++),V=Z,R+="\n".concat(C,"+").concat(o," ").concat(J[Z]),r++;else{var b=N[Z],v=J[Z],G=v!==b&&(!T(v,",")||v.slice(0,-1)!==b);G&&T(b,",")&&b.slice(0,-1)===v&&(G=!1,v+=","),G?(i>1&&Z>2&&(i>4?(R+="\n".concat(e,"...").concat(o),l=!0):i>3&&(R+="\n ".concat(J[Z-2]),r++),R+="\n ".concat(J[Z-1]),r++),V=Z,R+="\n".concat(C,"+").concat(o," ").concat(v),B+="\n".concat(D,"-").concat(o," ").concat(b),r+=2):(R+=B,B="",1!==i&&0!==Z||(R+="\n ".concat(v),r++))}if(r>20&&Z30)for(S[26]="".concat(e,"...").concat(o);S.length>27;)S.pop();F=1===S.length?l.call(this,"".concat(W," ").concat(S[0])):l.call(this,"".concat(W,"\n\n").concat(S.join("\n"),"\n"))}else{var E=c(V),t="",T=p[B];"notDeepEqual"===B||"notEqual"===B?(E="".concat(p[B],"\n\n").concat(E)).length>1024&&(E="".concat(E.slice(0,1021),"...")):(t="".concat(c(n)),E.length>512&&(E="".concat(E.slice(0,509),"...")),t.length>512&&(t="".concat(t.slice(0,509),"...")),"deepEqual"===B||"equal"===B?E="".concat(T,"\n\n").concat(E,"\n\nshould equal\n\n"):t=" ".concat(B," ").concat(t)),F=l.call(this,"".concat(E).concat(t))}return Error.stackTraceLimit=Z,F.generatedMessage=!Q,Object.defineProperty(J(F),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),F.code="ERR_ASSERTION",F.actual=V,F.expected=n,F.operator=B,Error.captureStackTrace&&Error.captureStackTrace(J(F),R),F.stack,F.name="AssertionError",d(F)}return Q=N,(B=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:F,value:function(U,F){return t(this,R(R({},F),{},{customInspect:!1,depth:0}))}}])&&n(Q.prototype,B),V&&n(Q,V),Object.defineProperty(Q,"prototype",{writable:!1}),N}(N(Error),t.custom);U.exports=m},18018:(U,F,Q)=>{"use strict";var B=Q(58349),R=Q(8406),V=Q(98883),n=Q(70634),l=Q(74328),d=TypeError,J=Object.defineProperty,N=Object.getOwnPropertyDescriptor,Z="enumerable",W="configurable",S="writable";F.f=B?V?function(U,F,Q){if(n(U),F=l(F),n(Q),"function"===typeof U&&"prototype"===F&&"value"in Q&&S in Q&&!Q[S]){var B=N(U,F);B&&B[S]&&(U[F]=Q.value,Q={configurable:W in Q?Q[W]:B[W],enumerable:Z in Q?Q[Z]:B[Z],writable:!1})}return J(U,F,Q)}:J:function(U,F,Q){if(n(U),F=l(F),n(Q),R)try{return J(U,F,Q)}catch(B){}if("get"in Q||"set"in Q)throw new d("Accessors not supported");return"value"in Q&&(U[F]=Q.value),U}},18501:(U,F,Q)=>{"use strict";var B=Q(430),R=TypeError;U.exports=function(U){if(B(U))throw new R("Can't call method on "+U);return U}},18535:function(U,F,Q){var B;!function(R,V){"use strict";var n="function",l="undefined",d="object",J="string",N="major",Z="model",W="name",S="type",E="vendor",k="version",t="architecture",a="console",T="mobile",e="tablet",C="smarttv",D="wearable",o="embedded",p="Amazon",h="Apple",c="ASUS",r="BlackBerry",m="Browser",M="Chrome",i="Firefox",b="Google",v="Huawei",G="LG",s="Microsoft",X="Motorola",Y="Opera",y="Samsung",z="Sharp",O="Sony",L="Xiaomi",H="Zebra",x="Facebook",u="Chromium OS",w="Mac OS",j=" Browser",I=function(U){for(var F={},Q=0;Q0?2===l.length?typeof l[1]==n?this[l[0]]=l[1].call(this,N):this[l[0]]=l[1]:3===l.length?typeof l[1]!==n||l[1].exec&&l[1].test?this[l[0]]=N?N.replace(l[1],l[2]):V:this[l[0]]=N?l[1].call(this,N,l[2]):V:4===l.length&&(this[l[0]]=N?l[3].call(this,N.replace(l[1],l[2])):V):this[l]=N||V;Z+=2}},A=function(U,F){for(var Q in F)if(typeof F[Q]===d&&F[Q].length>0){for(var B=0;B2&&(U[Z]="iPad",U[S]=e),U},this.getEngine=function(){var U={};return U[W]=V,U[k]=V,P.call(U,B,C.engine),U},this.getOS=function(){var U={};return U[W]=V,U[k]=V,P.call(U,B,C.os),D&&!U[W]&&a&&a.platform&&"Unknown"!=a.platform&&(U[W]=a.platform.replace(/chrome os/i,u).replace(/macos/i,w)),U},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return B},this.setUA=function(U){return B=typeof U===J&&U.length>500?g(U,500):U,this},this.setUA(B),this};$.VERSION="1.0.40",$.BROWSER=I([W,k,N]),$.CPU=I([t]),$.DEVICE=I([Z,E,S,a,T,C,e,D,o]),$.ENGINE=$.OS=I([W,k]),typeof F!==l?(U.exports&&(F=U.exports=$),F.UAParser=$):Q.amdO?(B=function(){return $}.call(F,Q,F,U))===V||(U.exports=B):typeof R!==l&&(R.UAParser=$);var UU=typeof R!==l&&(R.jQuery||R.Zepto);if(UU&&!UU.ua){var FU=new $;UU.ua=FU.getResult(),UU.ua.get=function(){return FU.getUA()},UU.ua.set=function(U){FU.setUA(U);var F=FU.getResult();for(var Q in F)UU.ua[Q]=F[Q]}}}("object"===typeof window?window:this)},18821:(U,F,Q)=>{var B=Q(70569),R=Q(65474),V=Q(37744),n=Q(11018);U.exports=function(U,F){return B(U)||R(U,F)||V(U,F)||n()},U.exports.__esModule=!0,U.exports.default=U.exports},19166:(U,F,Q)=>{"use strict";var B=Q(96784);F.X4=S,F.e$=E,F.tL=t,F.eM=function(U,F){const Q=W(U),B=W(F);return(Math.max(Q,B)+.05)/(Math.min(Q,B)+.05)},F.a=k;var R=B(Q(16453)),V=B(Q(42335));function n(U){let F=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,Q=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return(0,V.default)(U,F,Q)}function l(U){U=U.slice(1);const F=new RegExp(`.{1,${U.length>=6?2:1}}`,"g");let Q=U.match(F);return Q&&1===Q[0].length&&(Q=Q.map(U=>U+U)),Q?`rgb${4===Q.length?"a":""}(${Q.map((U,F)=>F<3?parseInt(U,16):Math.round(parseInt(U,16)/255*1e3)/1e3).join(", ")})`:""}function d(U){if(U.type)return U;if("#"===U.charAt(0))return d(l(U));const F=U.indexOf("("),Q=U.substring(0,F);if(-1===["rgb","rgba","hsl","hsla","color"].indexOf(Q))throw new Error((0,R.default)(9,U));let B,V=U.substring(F+1,U.length-1);if("color"===Q){if(V=V.split(" "),B=V.shift(),4===V.length&&"/"===V[3].charAt(0)&&(V[3]=V[3].slice(1)),-1===["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(B))throw new Error((0,R.default)(10,B))}else V=V.split(",");return V=V.map(U=>parseFloat(U)),{type:Q,values:V,colorSpace:B}}const J=U=>{const F=d(U);return F.values.slice(0,3).map((U,Q)=>-1!==F.type.indexOf("hsl")&&0!==Q?`${U}%`:U).join(" ")};function N(U){const{type:F,colorSpace:Q}=U;let{values:B}=U;return-1!==F.indexOf("rgb")?B=B.map((U,F)=>F<3?parseInt(U,10):U):-1!==F.indexOf("hsl")&&(B[1]=`${B[1]}%`,B[2]=`${B[2]}%`),B=-1!==F.indexOf("color")?`${Q} ${B.join(" ")}`:`${B.join(", ")}`,`${F}(${B})`}function Z(U){U=d(U);const{values:F}=U,Q=F[0],B=F[1]/100,R=F[2]/100,V=B*Math.min(R,1-R),n=function(U){let F=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(U+Q/30)%12;return R-V*Math.max(Math.min(F-3,9-F,1),-1)};let l="rgb";const J=[Math.round(255*n(0)),Math.round(255*n(8)),Math.round(255*n(4))];return"hsla"===U.type&&(l+="a",J.push(F[3])),N({type:l,values:J})}function W(U){let F="hsl"===(U=d(U)).type||"hsla"===U.type?d(Z(U)).values:U.values;return F=F.map(F=>("color"!==U.type&&(F/=255),F<=.03928?F/12.92:((F+.055)/1.055)**2.4)),Number((.2126*F[0]+.7152*F[1]+.0722*F[2]).toFixed(3))}function S(U,F){return U=d(U),F=n(F),"rgb"!==U.type&&"hsl"!==U.type||(U.type+="a"),"color"===U.type?U.values[3]=`/${F}`:U.values[3]=F,N(U)}function E(U,F){if(U=d(U),F=n(F),-1!==U.type.indexOf("hsl"))U.values[2]*=1-F;else if(-1!==U.type.indexOf("rgb")||-1!==U.type.indexOf("color"))for(let Q=0;Q<3;Q+=1)U.values[Q]*=1-F;return N(U)}function k(U,F){if(U=d(U),F=n(F),-1!==U.type.indexOf("hsl"))U.values[2]+=(100-U.values[2])*F;else if(-1!==U.type.indexOf("rgb"))for(let Q=0;Q<3;Q+=1)U.values[Q]+=(255-U.values[Q])*F;else if(-1!==U.type.indexOf("color"))for(let Q=0;Q<3;Q+=1)U.values[Q]+=(1-U.values[Q])*F;return N(U)}function t(U){let F=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.15;return W(U)>.5?E(U,F):k(U,F)}},19215:(U,F,Q)=>{var B=Q(8919),R=function(U){var F="display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;";this.element=B.createElement("div"),this.element.setAttribute("aria-hidden","true"),B.append(this.element,B.createText(U)),this.collapsible=B.createElement("span"),this.expandable=B.createElement("span"),this.collapsibleInner=B.createElement("span"),this.expandableInner=B.createElement("span"),this.lastOffsetWidth=-1,B.style(this.collapsible,F),B.style(this.expandable,F),B.style(this.expandableInner,F),B.style(this.collapsibleInner,"display:inline-block;width:200%;height:200%;"),B.append(this.collapsible,this.collapsibleInner),B.append(this.expandable,this.expandableInner),B.append(this.element,this.collapsible),B.append(this.element,this.expandable)};U.exports=R,R.prototype.getElement=function(){return this.element},R.prototype.setFont=function(U,F){B.style(this.element,"min-width:20px;min-height:20px;display:inline-block;position:absolute;width:auto;margin:0;padding:0;top:-999px;left:-999px;white-space:nowrap;font-size:100px;font-family:"+U+";"+F)},R.prototype.getWidth=function(){return this.element.offsetWidth},R.prototype.setWidth=function(U){this.element.style.width=U+"px"},R.prototype.reset=function(){var U=this.getWidth(),F=U+100;return this.expandableInner.style.width=F+"px",this.expandable.scrollLeft=F,this.collapsible.scrollLeft=this.collapsible.scrollWidth+100,this.lastOffsetWidth!==U&&(this.lastOffsetWidth=U,!0)},R.prototype.onScroll=function(U){this.reset()&&null!==this.element.parentNode&&U(this.lastOffsetWidth)},R.prototype.onResize=function(U){var F=this;this.collapsible.addEventListener("scroll",function(){F.onScroll(U)},!1),this.expandable.addEventListener("scroll",function(){F.onScroll(U)},!1),this.reset()}},19455:U=>{var F=function(U){"use strict";var F,Q=Object.prototype,B=Q.hasOwnProperty,R=Object.defineProperty||function(U,F,Q){U[F]=Q.value},V="function"===typeof Symbol?Symbol:{},n=V.iterator||"@@iterator",l=V.asyncIterator||"@@asyncIterator",d=V.toStringTag||"@@toStringTag";function J(U,F,Q){return Object.defineProperty(U,F,{value:Q,enumerable:!0,configurable:!0,writable:!0}),U[F]}try{J({},"")}catch(s){J=function(U,F,Q){return U[F]=Q}}function N(U,F,Q,B){var V=F&&F.prototype instanceof a?F:a,n=Object.create(V.prototype),l=new b(B||[]);return R(n,"_invoke",{value:r(U,Q,l)}),n}function Z(U,F,Q){try{return{type:"normal",arg:U.call(F,Q)}}catch(s){return{type:"throw",arg:s}}}U.wrap=N;var W="suspendedStart",S="suspendedYield",E="executing",k="completed",t={};function a(){}function T(){}function e(){}var C={};J(C,n,function(){return this});var D=Object.getPrototypeOf,o=D&&D(D(v([])));o&&o!==Q&&B.call(o,n)&&(C=o);var p=e.prototype=a.prototype=Object.create(C);function h(U){["next","throw","return"].forEach(function(F){J(U,F,function(U){return this._invoke(F,U)})})}function c(U,F){function Q(R,V,n,l){var d=Z(U[R],U,V);if("throw"!==d.type){var J=d.arg,N=J.value;return N&&"object"===typeof N&&B.call(N,"__await")?F.resolve(N.__await).then(function(U){Q("next",U,n,l)},function(U){Q("throw",U,n,l)}):F.resolve(N).then(function(U){J.value=U,n(J)},function(U){return Q("throw",U,n,l)})}l(d.arg)}var V;R(this,"_invoke",{value:function(U,B){function R(){return new F(function(F,R){Q(U,B,F,R)})}return V=V?V.then(R,R):R()}})}function r(U,F,Q){var B=W;return function(R,V){if(B===E)throw new Error("Generator is already running");if(B===k){if("throw"===R)throw V;return G()}for(Q.method=R,Q.arg=V;;){var n=Q.delegate;if(n){var l=m(n,Q);if(l){if(l===t)continue;return l}}if("next"===Q.method)Q.sent=Q._sent=Q.arg;else if("throw"===Q.method){if(B===W)throw B=k,Q.arg;Q.dispatchException(Q.arg)}else"return"===Q.method&&Q.abrupt("return",Q.arg);B=E;var d=Z(U,F,Q);if("normal"===d.type){if(B=Q.done?k:S,d.arg===t)continue;return{value:d.arg,done:Q.done}}"throw"===d.type&&(B=k,Q.method="throw",Q.arg=d.arg)}}}function m(U,Q){var B=Q.method,R=U.iterator[B];if(R===F)return Q.delegate=null,"throw"===B&&U.iterator.return&&(Q.method="return",Q.arg=F,m(U,Q),"throw"===Q.method)||"return"!==B&&(Q.method="throw",Q.arg=new TypeError("The iterator does not provide a '"+B+"' method")),t;var V=Z(R,U.iterator,Q.arg);if("throw"===V.type)return Q.method="throw",Q.arg=V.arg,Q.delegate=null,t;var n=V.arg;return n?n.done?(Q[U.resultName]=n.value,Q.next=U.nextLoc,"return"!==Q.method&&(Q.method="next",Q.arg=F),Q.delegate=null,t):n:(Q.method="throw",Q.arg=new TypeError("iterator result is not an object"),Q.delegate=null,t)}function M(U){var F={tryLoc:U[0]};1 in U&&(F.catchLoc=U[1]),2 in U&&(F.finallyLoc=U[2],F.afterLoc=U[3]),this.tryEntries.push(F)}function i(U){var F=U.completion||{};F.type="normal",delete F.arg,U.completion=F}function b(U){this.tryEntries=[{tryLoc:"root"}],U.forEach(M,this),this.reset(!0)}function v(U){if(U){var Q=U[n];if(Q)return Q.call(U);if("function"===typeof U.next)return U;if(!isNaN(U.length)){var R=-1,V=function Q(){for(;++R=0;--V){var n=this.tryEntries[V],l=n.completion;if("root"===n.tryLoc)return R("end");if(n.tryLoc<=this.prev){var d=B.call(n,"catchLoc"),J=B.call(n,"finallyLoc");if(d&&J){if(this.prev=0;--Q){var R=this.tryEntries[Q];if(R.tryLoc<=this.prev&&B.call(R,"finallyLoc")&&this.prev=0;--F){var Q=this.tryEntries[F];if(Q.finallyLoc===U)return this.complete(Q.completion,Q.afterLoc),i(Q),t}},catch:function(U){for(var F=this.tryEntries.length-1;F>=0;--F){var Q=this.tryEntries[F];if(Q.tryLoc===U){var B=Q.completion;if("throw"===B.type){var R=B.arg;i(Q)}return R}}throw new Error("illegal catch attempt")},delegateYield:function(U,Q,B){return this.delegate={iterator:v(U),resultName:Q,nextLoc:B},"next"===this.method&&(this.arg=F),t}},U}(U.exports);try{regeneratorRuntime=F}catch(Q){"object"===typeof globalThis?globalThis.regeneratorRuntime=F:Function("r","regeneratorRuntime = r")(F)}},19504:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>h});var B,R=Q(49257),V=Q(68102),n=Q(60471),l=Q(93350),d=Q(34315),J=Q(35423),N=Q(23759);const Z=["children","classes","className","label","notched"],W=(0,d.Ay)("fieldset",{name:"MuiNotchedOutlined",shouldForwardProp:J.A})({textAlign:"left",position:"absolute",bottom:0,right:0,top:-5,left:0,margin:0,padding:"0 8px",pointerEvents:"none",borderRadius:"inherit",borderStyle:"solid",borderWidth:1,overflow:"hidden",minWidth:"0%"}),S=(0,d.Ay)("legend",{name:"MuiNotchedOutlined",shouldForwardProp:J.A})(U=>{let{ownerState:F,theme:Q}=U;return(0,V.A)({float:"unset",width:"auto",overflow:"hidden"},!F.withLabel&&{padding:0,lineHeight:"11px",transition:Q.transitions.create("width",{duration:150,easing:Q.transitions.easing.easeOut})},F.withLabel&&(0,V.A)({display:"block",padding:0,height:11,fontSize:"0.75em",visibility:"hidden",maxWidth:.01,transition:Q.transitions.create("max-width",{duration:50,easing:Q.transitions.easing.easeOut}),whiteSpace:"nowrap","& > span":{paddingLeft:5,paddingRight:5,display:"inline-block",opacity:0,visibility:"visible"}},F.notched&&{maxWidth:"100%",transition:Q.transitions.create("max-width",{duration:100,easing:Q.transitions.easing.easeOut,delay:50})}))});var E=Q(55425),k=Q(62423),t=Q(43538),a=Q(15925),T=Q(43946);const e=["components","fullWidth","inputComponent","label","multiline","notched","slots","type"],C=(0,d.Ay)(a.Sh,{shouldForwardProp:U=>(0,J.A)(U)||"classes"===U,name:"MuiOutlinedInput",slot:"Root",overridesResolver:a.WC})(U=>{let{theme:F,ownerState:Q}=U;const B="light"===F.palette.mode?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return(0,V.A)({position:"relative",borderRadius:(F.vars||F).shape.borderRadius,[`&:hover .${t.A.notchedOutline}`]:{borderColor:(F.vars||F).palette.text.primary},"@media (hover: none)":{[`&:hover .${t.A.notchedOutline}`]:{borderColor:F.vars?`rgba(${F.vars.palette.common.onBackgroundChannel} / 0.23)`:B}},[`&.${t.A.focused} .${t.A.notchedOutline}`]:{borderColor:(F.vars||F).palette[Q.color].main,borderWidth:2},[`&.${t.A.error} .${t.A.notchedOutline}`]:{borderColor:(F.vars||F).palette.error.main},[`&.${t.A.disabled} .${t.A.notchedOutline}`]:{borderColor:(F.vars||F).palette.action.disabled}},Q.startAdornment&&{paddingLeft:14},Q.endAdornment&&{paddingRight:14},Q.multiline&&(0,V.A)({padding:"16.5px 14px"},"small"===Q.size&&{padding:"8.5px 14px"}))}),D=(0,d.Ay)(function(U){const{className:F,label:Q,notched:n}=U,l=(0,R.A)(U,Z),d=null!=Q&&""!==Q,J=(0,V.A)({},U,{notched:n,withLabel:d});return(0,N.jsx)(W,(0,V.A)({"aria-hidden":!0,className:F,ownerState:J},l,{children:(0,N.jsx)(S,{ownerState:J,children:d?(0,N.jsx)("span",{children:Q}):B||(B=(0,N.jsx)("span",{className:"notranslate",children:"\u200b"}))})}))},{name:"MuiOutlinedInput",slot:"NotchedOutline",overridesResolver:(U,F)=>F.notchedOutline})(U=>{let{theme:F}=U;const Q="light"===F.palette.mode?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return{borderColor:F.vars?`rgba(${F.vars.palette.common.onBackgroundChannel} / 0.23)`:Q}}),o=(0,d.Ay)(a.f3,{name:"MuiOutlinedInput",slot:"Input",overridesResolver:a.Oj})(U=>{let{theme:F,ownerState:Q}=U;return(0,V.A)({padding:"16.5px 14px"},!F.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:"light"===F.palette.mode?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:"light"===F.palette.mode?null:"#fff",caretColor:"light"===F.palette.mode?null:"#fff",borderRadius:"inherit"}},F.vars&&{"&:-webkit-autofill":{borderRadius:"inherit"},[F.getColorSchemeSelector("dark")]:{"&:-webkit-autofill":{WebkitBoxShadow:"0 0 0 100px #266798 inset",WebkitTextFillColor:"#fff",caretColor:"#fff"}}},"small"===Q.size&&{padding:"8.5px 14px"},Q.multiline&&{padding:0},Q.startAdornment&&{paddingLeft:0},Q.endAdornment&&{paddingRight:0})}),p=n.forwardRef(function(U,F){var Q,B,d,J,Z;const W=(0,T.b)({props:U,name:"MuiOutlinedInput"}),{components:S={},fullWidth:p=!1,inputComponent:h="input",label:c,multiline:r=!1,notched:m,slots:M={},type:i="text"}=W,b=(0,R.A)(W,e),v=(U=>{const{classes:F}=U,Q=(0,l.A)({root:["root"],notchedOutline:["notchedOutline"],input:["input"]},t.v,F);return(0,V.A)({},F,Q)})(W),G=(0,E.A)(),s=(0,k.A)({props:W,muiFormControl:G,states:["color","disabled","error","focused","hiddenLabel","size","required"]}),X=(0,V.A)({},W,{color:s.color||"primary",disabled:s.disabled,error:s.error,focused:s.focused,formControl:G,fullWidth:p,hiddenLabel:s.hiddenLabel,multiline:r,size:s.size,type:i}),Y=null!=(Q=null!=(B=M.root)?B:S.Root)?Q:C,y=null!=(d=null!=(J=M.input)?J:S.Input)?d:o;return(0,N.jsx)(a.Ay,(0,V.A)({slots:{root:Y,input:y},renderSuffix:U=>(0,N.jsx)(D,{ownerState:X,className:v.notchedOutline,label:null!=c&&""!==c&&s.required?Z||(Z=(0,N.jsxs)(n.Fragment,{children:[c,"\u2009","*"]})):c,notched:"undefined"!==typeof m?m:Boolean(U.startAdornment||U.filled||U.focused)}),fullWidth:p,inputComponent:h,multiline:r,ref:F,type:i},b,{classes:(0,V.A)({},v,{notchedOutline:null})}))});p.muiName="Input";const h=p},19549:(U,F,Q)=>{"use strict";var B=Q(44176),R=Q(95528).f,V=Q(87112),n=Q(16917),l=Q(36670),d=Q(86097),J=Q(66681);U.exports=function(U,F){var Q,N,Z,W,S,E=U.target,k=U.global,t=U.stat;if(Q=k?B:t?B[E]||l(E,{}):B[E]&&B[E].prototype)for(N in F){if(W=F[N],Z=U.dontCallGetSet?(S=R(Q,N))&&S.value:Q[N],!J(k?N:E+(t?".":"#")+N,U.forced)&&void 0!==Z){if(typeof W==typeof Z)continue;d(W,Z)}(U.sham||Z&&Z.sham)&&V(W,"sham",!0),n(Q,N,W,U)}}},19674:(U,F,Q)=>{"use strict";function B(U,F){return U.get(function(U,F,Q){if("function"==typeof U?U===F:U.has(F))return arguments.length<3?F:Q;throw new TypeError("Private element is not present on this object")}(U,F))}Q.d(F,{A:()=>B})},20132:(U,F,Q)=>{"use strict";var B=Q(70634);U.exports=function(){var U=B(this),F="";return U.hasIndices&&(F+="d"),U.global&&(F+="g"),U.ignoreCase&&(F+="i"),U.multiline&&(F+="m"),U.dotAll&&(F+="s"),U.unicode&&(F+="u"),U.unicodeSets&&(F+="v"),U.sticky&&(F+="y"),F}},20228:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>X});var B=Q(49257),R=Q(68102),V=Q(60471),n=Q(15714),l=Q(27960),d=Q(93350),J=Q(19166),N=Q(8399),Z=Q(85810),W=Q(34386),S=Q(34315),E=Q(41732),k=Q(43946),t=Q(93623),a=Q(57508),T=Q(67500),e=Q(86795),C=Q(90245);const D=Q(64776).A;var o=Q(93842),p=Q(2280),h=Q(8422),c=Q(23759);const r=["arrow","children","classes","components","componentsProps","describeChild","disableFocusListener","disableHoverListener","disableInteractive","disableTouchListener","enterDelay","enterNextDelay","enterTouchDelay","followCursor","id","leaveDelay","leaveTouchDelay","onClose","onOpen","open","placement","PopperComponent","PopperProps","slotProps","slots","title","TransitionComponent","TransitionProps"];const m=(0,S.Ay)(T.A,{name:"MuiTooltip",slot:"Popper",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[F.popper,!Q.disableInteractive&&F.popperInteractive,Q.arrow&&F.popperArrow,!Q.open&&F.popperClose]}})(U=>{let{theme:F,ownerState:Q,open:B}=U;return(0,R.A)({zIndex:(F.vars||F).zIndex.tooltip,pointerEvents:"none"},!Q.disableInteractive&&{pointerEvents:"auto"},!B&&{pointerEvents:"none"},Q.arrow&&{[`&[data-popper-placement*="bottom"] .${h.A.arrow}`]:{top:0,marginTop:"-0.71em","&::before":{transformOrigin:"0 100%"}},[`&[data-popper-placement*="top"] .${h.A.arrow}`]:{bottom:0,marginBottom:"-0.71em","&::before":{transformOrigin:"100% 0"}},[`&[data-popper-placement*="right"] .${h.A.arrow}`]:(0,R.A)({},Q.isRtl?{right:0,marginRight:"-0.71em"}:{left:0,marginLeft:"-0.71em"},{height:"1em",width:"0.71em","&::before":{transformOrigin:"100% 100%"}}),[`&[data-popper-placement*="left"] .${h.A.arrow}`]:(0,R.A)({},Q.isRtl?{left:0,marginLeft:"-0.71em"}:{right:0,marginRight:"-0.71em"},{height:"1em",width:"0.71em","&::before":{transformOrigin:"0 0"}})})}),M=(0,S.Ay)("div",{name:"MuiTooltip",slot:"Tooltip",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[F.tooltip,Q.touch&&F.touch,Q.arrow&&F.tooltipArrow,F[`tooltipPlacement${(0,t.A)(Q.placement.split("-")[0])}`]]}})(U=>{let{theme:F,ownerState:Q}=U;return(0,R.A)({backgroundColor:F.vars?F.vars.palette.Tooltip.bg:(0,J.X4)(F.palette.grey[700],.92),borderRadius:(F.vars||F).shape.borderRadius,color:(F.vars||F).palette.common.white,fontFamily:F.typography.fontFamily,padding:"4px 8px",fontSize:F.typography.pxToRem(11),maxWidth:300,margin:2,wordWrap:"break-word",fontWeight:F.typography.fontWeightMedium},Q.arrow&&{position:"relative",margin:0},Q.touch&&{padding:"8px 16px",fontSize:F.typography.pxToRem(14),lineHeight:(B=16/14,Math.round(1e5*B)/1e5)+"em",fontWeight:F.typography.fontWeightRegular},{[`.${h.A.popper}[data-popper-placement*="left"] &`]:(0,R.A)({transformOrigin:"right center"},Q.isRtl?(0,R.A)({marginLeft:"14px"},Q.touch&&{marginLeft:"24px"}):(0,R.A)({marginRight:"14px"},Q.touch&&{marginRight:"24px"})),[`.${h.A.popper}[data-popper-placement*="right"] &`]:(0,R.A)({transformOrigin:"left center"},Q.isRtl?(0,R.A)({marginRight:"14px"},Q.touch&&{marginRight:"24px"}):(0,R.A)({marginLeft:"14px"},Q.touch&&{marginLeft:"24px"})),[`.${h.A.popper}[data-popper-placement*="top"] &`]:(0,R.A)({transformOrigin:"center bottom",marginBottom:"14px"},Q.touch&&{marginBottom:"24px"}),[`.${h.A.popper}[data-popper-placement*="bottom"] &`]:(0,R.A)({transformOrigin:"center top",marginTop:"14px"},Q.touch&&{marginTop:"24px"})});var B}),i=(0,S.Ay)("span",{name:"MuiTooltip",slot:"Arrow",overridesResolver:(U,F)=>F.arrow})(U=>{let{theme:F}=U;return{overflow:"hidden",position:"absolute",width:"1em",height:"0.71em",boxSizing:"border-box",color:F.vars?F.vars.palette.Tooltip.bg:(0,J.X4)(F.palette.grey[700],.9),"&::before":{content:'""',margin:"auto",display:"block",width:"100%",height:"100%",backgroundColor:"currentColor",transform:"rotate(45deg)"}}});let b=!1;const v=new l.E;let G={x:0,y:0};function s(U,F){return function(Q){for(var B=arguments.length,R=new Array(B>1?B-1:0),V=1;V{void 0!==uU.current&&(document.body.style.WebkitUserSelect=uU.current,uU.current=void 0),zU.clear()});V.useEffect(()=>wU,[wU]);const jU=U=>{v.clear(),b=!0,LU(!0),EU&&!HU&&EU(U)},IU=(0,e.A)(U=>{v.start(800+ZU,()=>{b=!1}),LU(!1),SU&&HU&&SU(U),XU.start(rU.transitions.duration.shortest,()=>{GU.current=!1})}),KU=U=>{GU.current&&"touchstart"!==U.type||(MU&&MU.removeAttribute("title"),YU.clear(),yU.clear(),nU||b&&lU?YU.start(b?lU:nU,()=>{jU(U)}):jU(U))},fU=U=>{YU.clear(),yU.start(ZU,()=>{IU(U)})},{isFocusVisibleRef:gU,onBlur:PU,onFocus:AU,ref:qU}=(0,o.A)(),[,_U]=V.useState(!1),$U=U=>{PU(U),!1===gU.current&&(_U(!1),fU(U))},UF=U=>{MU||iU(U.currentTarget),AU(U),!0===gU.current&&(_U(!0),KU(U))},FF=U=>{GU.current=!0;const F=cU.props;F.onTouchStart&&F.onTouchStart(U)},QF=U=>{FF(U),yU.clear(),XU.clear(),wU(),uU.current=document.body.style.WebkitUserSelect,document.body.style.WebkitUserSelect="none",zU.start(dU,()=>{document.body.style.WebkitUserSelect=uU.current,KU(U)})},BF=U=>{cU.props.onTouchEnd&&cU.props.onTouchEnd(U),wU(),yU.start(WU,()=>{IU(U)})};V.useEffect(()=>{if(HU)return document.addEventListener("keydown",U),()=>{document.removeEventListener("keydown",U)};function U(U){"Escape"!==U.key&&"Esc"!==U.key||IU(U)}},[IU,HU]);const RF=(0,C.A)((0,W.A)(cU),qU,iU,F);DU||0===DU||(HU=!1);const VF=V.useRef(),nF={},lF="string"===typeof DU;FU?(nF.title=HU||!lF||BU?null:DU,nF["aria-describedby"]=HU?xU:null):(nF["aria-label"]=lF?DU:null,nF["aria-labelledby"]=HU&&!lF?xU:null);const dF=(0,R.A)({},nF,hU,cU.props,{className:(0,n.A)(hU.className,cU.props.className),onTouchStart:FF,ref:RF},JU?{onMouseMove:U=>{const F=cU.props;F.onMouseMove&&F.onMouseMove(U),G={x:U.clientX,y:U.clientY},VF.current&&VF.current.update()}}:{});const JF={};VU||(dF.onTouchStart=QF,dF.onTouchEnd=BF),BU||(dF.onMouseOver=s(KU,dF.onMouseOver),dF.onMouseLeave=s(fU,dF.onMouseLeave),sU||(JF.onMouseOver=KU,JF.onMouseLeave=fU)),QU||(dF.onFocus=s(UF,dF.onFocus),dF.onBlur=s($U,dF.onBlur),sU||(JF.onFocus=UF,JF.onBlur=$U));const NF=V.useMemo(()=>{var U;let F=[{name:"arrow",enabled:Boolean(bU),options:{element:bU,padding:4}}];return null!=(U=TU.popperOptions)&&U.modifiers&&(F=F.concat(TU.popperOptions.modifiers)),(0,R.A)({},TU.popperOptions,{modifiers:F})},[bU,TU]),ZF=(0,R.A)({},A,{isRtl:mU,arrow:q,disableInteractive:sU,placement:tU,PopperComponentProp:aU,touch:GU.current}),WF=(U=>{const{classes:F,disableInteractive:Q,arrow:B,touch:R,placement:V}=U,n={popper:["popper",!Q&&"popperInteractive",B&&"popperArrow"],tooltip:["tooltip",B&&"tooltipArrow",R&&"touch",`tooltipPlacement${(0,t.A)(V.split("-")[0])}`],arrow:["arrow"]};return(0,d.A)(n,h.E,F)})(ZF),SF=null!=(Q=null!=(J=CU.popper)?J:$.Popper)?Q:m,EF=null!=(S=null!=(X=null!=(Y=CU.transition)?Y:$.Transition)?X:oU)?S:a.A,kF=null!=(y=null!=(z=CU.tooltip)?z:$.Tooltip)?y:M,tF=null!=(O=null!=(L=CU.arrow)?L:$.Arrow)?O:i,aF=(0,Z.A)(SF,(0,R.A)({},TU,null!=(H=eU.popper)?H:UU.popper,{className:(0,n.A)(WF.popper,null==TU?void 0:TU.className,null==(x=null!=(u=eU.popper)?u:UU.popper)?void 0:x.className)}),ZF),TF=(0,Z.A)(EF,(0,R.A)({},pU,null!=(w=eU.transition)?w:UU.transition),ZF),eF=(0,Z.A)(kF,(0,R.A)({},null!=(j=eU.tooltip)?j:UU.tooltip,{className:(0,n.A)(WF.tooltip,null==(I=null!=(K=eU.tooltip)?K:UU.tooltip)?void 0:I.className)}),ZF),CF=(0,Z.A)(tF,(0,R.A)({},null!=(f=eU.arrow)?f:UU.arrow,{className:(0,n.A)(WF.arrow,null==(g=null!=(P=eU.arrow)?P:UU.arrow)?void 0:g.className)}),ZF);return(0,c.jsxs)(V.Fragment,{children:[V.cloneElement(cU,dF),(0,c.jsx)(SF,(0,R.A)({as:null!=aU?aU:T.A,placement:tU,anchorEl:JU?{getBoundingClientRect:()=>({top:G.y,left:G.x,right:G.x,bottom:G.y,width:0,height:0})}:MU,popperRef:VF,open:!!MU&&HU,id:xU,transition:!0},JF,aF,{popperOptions:NF,children:U=>{let{TransitionProps:F}=U;return(0,c.jsx)(EF,(0,R.A)({timeout:rU.transitions.duration.shorter},F,TF,{children:(0,c.jsxs)(kF,(0,R.A)({},eF,{children:[DU,q?(0,c.jsx)(tF,(0,R.A)({},CF,{ref:vU})):null]}))}))}}))]})})},20300:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>T});var B=Q(49257),R=Q(68102),V=Q(60471),n=Q(93350),l=Q(26904),d=Q(15925),J=Q(34315),N=Q(35423),Z=Q(43946),W=Q(13542),S=Q(23759);const E=["disableUnderline","components","componentsProps","fullWidth","inputComponent","multiline","slotProps","slots","type"],k=(0,J.Ay)(d.Sh,{shouldForwardProp:U=>(0,N.A)(U)||"classes"===U,name:"MuiInput",slot:"Root",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[...(0,d.WC)(U,F),!Q.disableUnderline&&F.underline]}})(U=>{let{theme:F,ownerState:Q}=U;let B="light"===F.palette.mode?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)";return F.vars&&(B=`rgba(${F.vars.palette.common.onBackgroundChannel} / ${F.vars.opacity.inputUnderline})`),(0,R.A)({position:"relative"},Q.formControl&&{"label + &":{marginTop:16}},!Q.disableUnderline&&{"&::after":{borderBottom:`2px solid ${(F.vars||F).palette[Q.color].main}`,left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:F.transitions.create("transform",{duration:F.transitions.duration.shorter,easing:F.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${W.A.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${W.A.error}`]:{"&::before, &::after":{borderBottomColor:(F.vars||F).palette.error.main}},"&::before":{borderBottom:`1px solid ${B}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:F.transitions.create("border-bottom-color",{duration:F.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${W.A.disabled}, .${W.A.error}):before`]:{borderBottom:`2px solid ${(F.vars||F).palette.text.primary}`,"@media (hover: none)":{borderBottom:`1px solid ${B}`}},[`&.${W.A.disabled}:before`]:{borderBottomStyle:"dotted"}})}),t=(0,J.Ay)(d.f3,{name:"MuiInput",slot:"Input",overridesResolver:d.Oj})({}),a=V.forwardRef(function(U,F){var Q,V,J,N;const a=(0,Z.b)({props:U,name:"MuiInput"}),{disableUnderline:T,components:e={},componentsProps:C,fullWidth:D=!1,inputComponent:o="input",multiline:p=!1,slotProps:h,slots:c={},type:r="text"}=a,m=(0,B.A)(a,E),M=(U=>{const{classes:F,disableUnderline:Q}=U,B={root:["root",!Q&&"underline"],input:["input"]},V=(0,n.A)(B,W.B,F);return(0,R.A)({},F,V)})(a),i={root:{ownerState:{disableUnderline:T}}},b=(null!=h?h:C)?(0,l.A)(null!=h?h:C,i):i,v=null!=(Q=null!=(V=c.root)?V:e.Root)?Q:k,G=null!=(J=null!=(N=c.input)?N:e.Input)?J:t;return(0,S.jsx)(d.Ay,(0,R.A)({slots:{root:v,input:G},slotProps:b,fullWidth:D,inputComponent:o,multiline:p,ref:F,type:r},m,{classes:M}))});a.muiName="Input";const T=a},20344:(U,F,Q)=>{"use strict";function B(){return[]}function R(U){return null==U?B:function(){return this.querySelectorAll(U)}}Q.d(F,{A:()=>R})},20454:U=>{"use strict";var F=String;U.exports=function(U){try{return F(U)}catch(Q){return"Object"}}},20704:(U,F,Q)=>{"use strict";var B=Q(53861),R=Q(95362),V=Q(44176).String;U.exports=!!Object.getOwnPropertySymbols&&!R(function(){var U=Symbol("symbol detection");return!V(U)||!(Object(U)instanceof Symbol)||!Symbol.sham&&B&&B<41})},21080:(U,F)=>{"use strict";F.A=function(U,F){if(U&&F){var Q=Array.isArray(F)?F:F.split(","),B=U.name||"",R=(U.type||"").toLowerCase(),V=R.replace(/\/.*$/,"");return Q.some(function(U){var F=U.trim().toLowerCase();return"."===F.charAt(0)?B.toLowerCase().endsWith(F):F.endsWith("/*")?V===F.replace(/\/.*$/,""):R===F})}return!0}},22353:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>R});var B=Q(19674);function R(U,F,Q){return function(U,F,Q){if(F.set)F.set.call(U,Q);else{if(!F.writable)throw new TypeError("attempted to set read only private field");F.value=Q}}(U,(0,B.A)(F,U),Q),Q}},23434:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>B});const B=Q(75544).A},23759:(U,F,Q)=>{"use strict";U.exports=Q(35627)},23793:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>l});var B=Q(49257),R=Q(68102);const V=["values","unit","step"],n=U=>{const F=Object.keys(U).map(F=>({key:F,val:U[F]}))||[];return F.sort((U,F)=>U.val-F.val),F.reduce((U,F)=>(0,R.A)({},U,{[F.key]:F.val}),{})};function l(U){const{values:F={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:Q="px",step:l=5}=U,d=(0,B.A)(U,V),J=n(F),N=Object.keys(J);function Z(U){return`@media (min-width:${"number"===typeof F[U]?F[U]:U}${Q})`}function W(U){return`@media (max-width:${("number"===typeof F[U]?F[U]:U)-l/100}${Q})`}function S(U,B){const R=N.indexOf(B);return`@media (min-width:${"number"===typeof F[U]?F[U]:U}${Q}) and (max-width:${(-1!==R&&"number"===typeof F[N[R]]?F[N[R]]:B)-l/100}${Q})`}return(0,R.A)({keys:N,values:J,up:Z,down:W,between:S,only:function(U){return N.indexOf(U)+1{"use strict";U.exports="undefined"!==typeof Reflect&&Reflect.getPrototypeOf||null},24300:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>R});var B=Q(60471);const R="undefined"!==typeof window?B.useLayoutEffect:B.useEffect},24530:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>X});var B=Q(68102),R=Q(49257),V=Q(96048),n=Q(26904),l=Q(27213),d=Q(17176),J=Q(6303);var N=Q(19166);const Z={black:"#000",white:"#fff"},W={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},S={50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff"},E={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},k={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},t={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},a={50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea"},T={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},e=["mode","contrastThreshold","tonalOffset"],C={text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:Z.white,default:Z.white},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}},D={text:{primary:Z.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:"#121212",default:"#121212"},action:{active:Z.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}};function o(U,F,Q,B){const R=B.light||B,V=B.dark||1.5*B;U[F]||(U.hasOwnProperty(Q)?U[F]=U[Q]:"light"===F?U.light=(0,N.a)(U.main,R):"dark"===F&&(U.dark=(0,N.e$)(U.main,V)))}function p(U){const{mode:F="light",contrastThreshold:Q=3,tonalOffset:l=.2}=U,d=(0,R.A)(U,e),J=U.primary||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:t[200],light:t[50],dark:t[400]}:{main:t[700],light:t[400],dark:t[800]}}(F),p=U.secondary||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:S[200],light:S[50],dark:S[400]}:{main:S[500],light:S[300],dark:S[700]}}(F),h=U.error||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:E[500],light:E[300],dark:E[700]}:{main:E[700],light:E[400],dark:E[800]}}(F),c=U.info||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:a[400],light:a[300],dark:a[700]}:{main:a[700],light:a[500],dark:a[900]}}(F),r=U.success||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:T[400],light:T[300],dark:T[700]}:{main:T[800],light:T[500],dark:T[900]}}(F),m=U.warning||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:k[400],light:k[300],dark:k[700]}:{main:"#ed6c02",light:k[500],dark:k[900]}}(F);function M(U){return(0,N.eM)(U,D.text.primary)>=Q?D.text.primary:C.text.primary}const i=U=>{let{color:F,name:Q,mainShade:R=500,lightShade:n=300,darkShade:d=700}=U;if(F=(0,B.A)({},F),!F.main&&F[R]&&(F.main=F[R]),!F.hasOwnProperty("main"))throw new Error((0,V.A)(11,Q?` (${Q})`:"",R));if("string"!==typeof F.main)throw new Error((0,V.A)(12,Q?` (${Q})`:"",JSON.stringify(F.main)));return o(F,"light",n,l),o(F,"dark",d,l),F.contrastText||(F.contrastText=M(F.main)),F},b={dark:D,light:C};return(0,n.A)((0,B.A)({common:(0,B.A)({},Z),mode:F,primary:i({color:J,name:"primary"}),secondary:i({color:p,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:i({color:h,name:"error"}),warning:i({color:m,name:"warning"}),info:i({color:c,name:"info"}),success:i({color:r,name:"success"}),grey:W,contrastThreshold:Q,getContrastText:M,augmentColor:i,tonalOffset:l},b[F]),d)}const h=["fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem"];const c={textTransform:"uppercase"},r='"Roboto", "Helvetica", "Arial", sans-serif';function m(U,F){const Q="function"===typeof F?F(U):F,{fontFamily:V=r,fontSize:l=14,fontWeightLight:d=300,fontWeightRegular:J=400,fontWeightMedium:N=500,fontWeightBold:Z=700,htmlFontSize:W=16,allVariants:S,pxToRem:E}=Q,k=(0,R.A)(Q,h);const t=l/14,a=E||(U=>U/W*t+"rem"),T=(U,F,Q,R,n)=>{return(0,B.A)({fontFamily:V,fontWeight:U,fontSize:a(F),lineHeight:Q},V===r?{letterSpacing:(l=R/F,Math.round(1e5*l)/1e5)+"em"}:{},n,S);var l},e={h1:T(d,96,1.167,-1.5),h2:T(d,60,1.2,-.5),h3:T(J,48,1.167,0),h4:T(J,34,1.235,.25),h5:T(J,24,1.334,0),h6:T(N,20,1.6,.15),subtitle1:T(J,16,1.75,.15),subtitle2:T(N,14,1.57,.1),body1:T(J,16,1.5,.15),body2:T(J,14,1.43,.15),button:T(N,14,1.75,.4,c),caption:T(J,12,1.66,.4),overline:T(J,12,2.66,1,c),inherit:{fontFamily:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}};return(0,n.A)((0,B.A)({htmlFontSize:W,pxToRem:a,fontFamily:V,fontSize:l,fontWeightLight:d,fontWeightRegular:J,fontWeightMedium:N,fontWeightBold:Z},e),k,{clone:!1})}function M(){return[`${arguments.length<=0?void 0:arguments[0]}px ${arguments.length<=1?void 0:arguments[1]}px ${arguments.length<=2?void 0:arguments[2]}px ${arguments.length<=3?void 0:arguments[3]}px rgba(0,0,0,0.2)`,`${arguments.length<=4?void 0:arguments[4]}px ${arguments.length<=5?void 0:arguments[5]}px ${arguments.length<=6?void 0:arguments[6]}px ${arguments.length<=7?void 0:arguments[7]}px rgba(0,0,0,0.14)`,`${arguments.length<=8?void 0:arguments[8]}px ${arguments.length<=9?void 0:arguments[9]}px ${arguments.length<=10?void 0:arguments[10]}px ${arguments.length<=11?void 0:arguments[11]}px rgba(0,0,0,0.12)`].join(",")}const i=["none",M(0,2,1,-1,0,1,1,0,0,1,3,0),M(0,3,1,-2,0,2,2,0,0,1,5,0),M(0,3,3,-2,0,3,4,0,0,1,8,0),M(0,2,4,-1,0,4,5,0,0,1,10,0),M(0,3,5,-1,0,5,8,0,0,1,14,0),M(0,3,5,-1,0,6,10,0,0,1,18,0),M(0,4,5,-2,0,7,10,1,0,2,16,1),M(0,5,5,-3,0,8,10,1,0,3,14,2),M(0,5,6,-3,0,9,12,1,0,3,16,2),M(0,6,6,-3,0,10,14,1,0,4,18,3),M(0,6,7,-4,0,11,15,1,0,4,20,3),M(0,7,8,-4,0,12,17,2,0,5,22,4),M(0,7,8,-4,0,13,19,2,0,5,24,4),M(0,7,9,-4,0,14,21,2,0,5,26,4),M(0,8,9,-5,0,15,22,2,0,6,28,5),M(0,8,10,-5,0,16,24,2,0,6,30,5),M(0,8,11,-5,0,17,26,2,0,6,32,5),M(0,9,11,-5,0,18,28,2,0,7,34,6),M(0,9,12,-6,0,19,29,2,0,7,36,6),M(0,10,13,-6,0,20,31,3,0,8,38,7),M(0,10,13,-6,0,21,33,3,0,8,40,7),M(0,10,14,-6,0,22,35,3,0,8,42,7),M(0,11,14,-7,0,23,36,3,0,9,44,8),M(0,11,15,-7,0,24,38,3,0,9,46,8)];var b=Q(17002);const v={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500},G=["breakpoints","mixins","spacing","palette","transitions","typography","shape"];function s(){let U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{mixins:F={},palette:Q={},transitions:N={},typography:Z={}}=U,W=(0,R.A)(U,G);if(U.vars&&void 0===U.generateCssVars)throw new Error((0,V.A)(18));const S=p(Q),E=(0,J.A)(U);let k=(0,n.A)(E,{mixins:(t=E.breakpoints,a=F,(0,B.A)({toolbar:{minHeight:56,[t.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[t.up("sm")]:{minHeight:64}}},a)),palette:S,shadows:i.slice(),typography:m(S,Z),transitions:(0,b.Ay)(N),zIndex:(0,B.A)({},v)});var t,a;k=(0,n.A)(k,W);for(var T=arguments.length,e=new Array(T>1?T-1:0),C=1;C(0,n.A)(U,F),k),k.unstable_sxConfig=(0,B.A)({},l.A,null==W?void 0:W.unstable_sxConfig),k.unstable_sx=function(U){return(0,d.A)({sx:U,theme:this})},k}const X=s},24687:(U,F,Q)=>{"use strict";var B=Q(2428);U.exports=function(U){return"object"==typeof U?null!==U:B(U)}},24968:(U,F,Q)=>{"use strict";function B(U){const F=U.documentElement.clientWidth;return Math.abs(window.innerWidth-F)}Q.d(F,{A:()=>B})},25306:(U,F,Q)=>{"use strict";var B=Q(54029);U.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(B)},25576:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>B});const B=function(U,F,Q){return"function"===typeof U?U(F,Q):U}},25907:(U,F,Q)=>{"use strict";Q.d(F,{VB:()=>JU});var B=Q(60471),R=Q(86625),V=Q.n(R);function n(U,F,Q,B){return new(Q||(Q=Promise))(function(R,V){function n(U){try{d(B.next(U))}catch(F){V(F)}}function l(U){try{d(B.throw(U))}catch(F){V(F)}}function d(U){var F;U.done?R(U.value):(F=U.value,F instanceof Q?F:new Q(function(U){U(F)})).then(n,l)}d((B=B.apply(U,F||[])).next())})}function l(U,F){var Q,B,R,V={label:0,sent:function(){if(1&R[0])throw R[1];return R[1]},trys:[],ops:[]},n=Object.create(("function"===typeof Iterator?Iterator:Object).prototype);return n.next=l(0),n.throw=l(1),n.return=l(2),"function"===typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function l(l){return function(d){return function(l){if(Q)throw new TypeError("Generator is already executing.");for(;n&&(n=0,l[0]&&(V=0)),V;)try{if(Q=1,B&&(R=2&l[0]?B.return:l[0]?B.throw||((R=B.return)&&R.call(B),0):B.next)&&!(R=R.call(B,l[1])).done)return R;switch(B=0,R&&(l=[2&l[0],R.value]),l[0]){case 0:case 1:R=l;break;case 4:return V.label++,{value:l[1],done:!1};case 5:V.label++,B=l[1],l=[0];continue;case 7:l=V.ops.pop(),V.trys.pop();continue;default:if(!(R=(R=V.trys).length>0&&R[R.length-1])&&(6===l[0]||2===l[0])){V=0;continue}if(3===l[0]&&(!R||l[1]>R[0]&&l[1]0)&&!(B=V.next()).done;)n.push(B.value)}catch(l){R={error:l}}finally{try{B&&!B.done&&(Q=V.return)&&Q.call(V)}finally{if(R)throw R.error}}return n}function J(){for(var U=[],F=0;F0?B:U.name,writable:!1,configurable:!1,enumerable:!0})}return Q}var W=[".DS_Store","Thumbs.db"];function S(U){return"object"===typeof U&&null!==U}function E(U){return T(U.target.files).map(function(U){return Z(U)})}function k(U){return n(this,void 0,void 0,function(){return l(this,function(F){switch(F.label){case 0:return[4,Promise.all(U.map(function(U){return U.getFile()}))];case 1:return[2,F.sent().map(function(U){return Z(U)})]}})})}function t(U,F){return n(this,void 0,void 0,function(){var Q;return l(this,function(B){switch(B.label){case 0:return null===U?[2,[]]:U.items?(Q=T(U.items).filter(function(U){return"file"===U.kind}),"drop"!==F?[2,Q]:[4,Promise.all(Q.map(e))]):[3,2];case 1:return[2,a(C(B.sent()))];case 2:return[2,a(T(U.files).map(function(U){return Z(U)}))]}})})}function a(U){return U.filter(function(U){return-1===W.indexOf(U.name)})}function T(U){if(null===U)return[];for(var F=[],Q=0;QU.length)&&(F=U.length);for(var Q=0,B=new Array(F);QQ)return[!1,y(Q)];if(U.sizeQ)return[!1,y(Q)]}return[!0,null]}function x(U){return void 0!==U&&null!==U}function u(U){return"function"===typeof U.isPropagationStopped?U.isPropagationStopped():"undefined"!==typeof U.cancelBubble&&U.cancelBubble}function w(U){return U.dataTransfer?Array.prototype.some.call(U.dataTransfer.types,function(U){return"Files"===U||"application/x-moz-file"===U}):!!U.target&&!!U.target.files}function j(U){U.preventDefault()}function I(){for(var U=arguments.length,F=new Array(U),Q=0;Q1?Q-1:0),R=1;RU.length)&&(F=U.length);for(var Q=0,B=new Array(F);Q=0||(R[Q]=U[Q]);return R}(U,F);if(Object.getOwnPropertySymbols){var V=Object.getOwnPropertySymbols(U);for(B=0;B=0||Object.prototype.propertyIsEnumerable.call(U,Q)&&(R[Q]=U[Q])}return R}var nU=(0,B.forwardRef)(function(U,F){var Q=U.children,R=JU(VU(U,g)),V=R.open,n=VU(R,P);return(0,B.useImperativeHandle)(F,function(){return{open:V}},[V]),B.createElement(B.Fragment,null,Q(BU(BU({},n),{},{open:V})))});nU.displayName="Dropzone";var lU={disabled:!1,getFilesFromEvent:function(U){return n(this,void 0,void 0,function(){return l(this,function(F){return S(U)&&S(U.dataTransfer)?[2,t(U.dataTransfer,U.type)]:function(U){return S(U)&&S(U.target)}(U)?[2,E(U)]:Array.isArray(U)&&U.every(function(U){return"getFile"in U&&"function"===typeof U.getFile})?[2,k(U)]:[2,[]]})})},maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!1};nU.defaultProps=lU,nU.propTypes={children:V().func,accept:V().oneOfType([V().string,V().arrayOf(V().string)]),multiple:V().bool,preventDropOnDocument:V().bool,noClick:V().bool,noKeyboard:V().bool,noDrag:V().bool,noDragEventsBubbling:V().bool,minSize:V().number,maxSize:V().number,maxFiles:V().number,disabled:V().bool,getFilesFromEvent:V().func,onFileDialogCancel:V().func,onFileDialogOpen:V().func,useFsAccessApi:V().bool,onDragEnter:V().func,onDragLeave:V().func,onDragOver:V().func,onDrop:V().func,onDropAccepted:V().func,onDropRejected:V().func,validator:V().func};var dU={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,draggedFiles:[],acceptedFiles:[],fileRejections:[]};function JU(){var U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},F=BU(BU({},lU),U),Q=F.accept,R=F.disabled,V=F.getFilesFromEvent,n=F.maxSize,l=F.minSize,d=F.multiple,J=F.maxFiles,N=F.onDragEnter,Z=F.onDragLeave,W=F.onDragOver,S=F.onDrop,E=F.onDropAccepted,k=F.onDropRejected,t=F.onFileDialogCancel,a=F.onFileDialogOpen,T=F.useFsAccessApi,e=F.preventDropOnDocument,C=F.noClick,D=F.noKeyboard,o=F.noDrag,p=F.noDragEventsBubbling,h=F.validator,c=(0,B.useMemo)(function(){return"function"===typeof a?a:ZU},[a]),r=(0,B.useMemo)(function(){return"function"===typeof t?t:ZU},[t]),m=(0,B.useRef)(null),M=(0,B.useRef)(null),b=$((0,B.useReducer)(NU,dU),2),v=b[0],G=b[1],s=v.isFocused,X=v.isFileDialogActive,Y=v.draggedFiles,y=function(){X&&setTimeout(function(){M.current&&(M.current.files.length||(G({type:"closeDialog"}),r()))},300)};(0,B.useEffect)(function(){return T&&K()?function(){}:(window.addEventListener("focus",y,!1),function(){window.removeEventListener("focus",y,!1)})},[M,X,r,T]);var z=(0,B.useRef)([]),x=function(U){m.current&&m.current.contains(U.target)||(U.preventDefault(),z.current=[])};(0,B.useEffect)(function(){return e&&(document.addEventListener("dragover",j,!1),document.addEventListener("drop",x,!1)),function(){e&&(document.removeEventListener("dragover",j),document.removeEventListener("drop",x))}},[m,e]);var g=(0,B.useCallback)(function(U){U.preventDefault(),U.persist(),TU(U),z.current=[].concat(_(z.current),[U.target]),w(U)&&Promise.resolve(V(U)).then(function(F){u(U)&&!p||(G({draggedFiles:F,isDragActive:!0,type:"setDraggedFiles"}),N&&N(U))})},[V,N,p]),P=(0,B.useCallback)(function(U){U.preventDefault(),U.persist(),TU(U);var F=w(U);if(F&&U.dataTransfer)try{U.dataTransfer.dropEffect="copy"}catch(Q){}return F&&W&&W(U),!1},[W,p]),UU=(0,B.useCallback)(function(U){U.preventDefault(),U.persist(),TU(U);var F=z.current.filter(function(U){return m.current&&m.current.contains(U)}),Q=F.indexOf(U.target);-1!==Q&&F.splice(Q,1),z.current=F,F.length>0||(G({isDragActive:!1,type:"setDraggedFiles",draggedFiles:[]}),w(U)&&Z&&Z(U))},[m,Z,p]),FU=(0,B.useCallback)(function(U,F){var B=[],R=[];U.forEach(function(U){var F=$(L(U,Q),2),V=F[0],d=F[1],J=$(H(U,l,n),2),N=J[0],Z=J[1],W=h?h(U):null;if(V&&N&&!W)B.push(U);else{var S=[d,Z];W&&(S=S.concat(W)),R.push({file:U,errors:S.filter(function(U){return U})})}}),(!d&&B.length>1||d&&J>=1&&B.length>J)&&(B.forEach(function(U){R.push({file:U,errors:[O]})}),B.splice(0)),G({acceptedFiles:B,fileRejections:R,type:"setFiles"}),S&&S(B,R,F),R.length>0&&k&&k(R,F),B.length>0&&E&&E(B,F)},[G,d,Q,l,n,J,S,E,k,h]),QU=(0,B.useCallback)(function(U){U.preventDefault(),U.persist(),TU(U),z.current=[],w(U)&&Promise.resolve(V(U)).then(function(F){u(U)&&!p||FU(F,U)}),G({type:"reset"})},[V,FU,p]),nU=(0,B.useCallback)(function(){if(T&&K()){G({type:"openDialog"}),c();var U={multiple:d,types:f(Q)};window.showOpenFilePicker(U).then(function(U){return V(U)}).then(function(U){return FU(U,null)}).catch(function(U){return r(U)}).finally(function(){return G({type:"closeDialog"})})}else M.current&&(G({type:"openDialog"}),c(),M.current.value=null,M.current.click())},[G,c,r,T,FU,Q,d]),JU=(0,B.useCallback)(function(U){m.current&&m.current.isEqualNode(U.target)&&(32!==U.keyCode&&13!==U.keyCode||(U.preventDefault(),nU()))},[m,M,nU]),WU=(0,B.useCallback)(function(){G({type:"focus"})},[]),SU=(0,B.useCallback)(function(){G({type:"blur"})},[]),EU=(0,B.useCallback)(function(){C||(!function(){var U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.navigator.userAgent;return function(U){return-1!==U.indexOf("MSIE")||-1!==U.indexOf("Trident/")}(U)||function(U){return-1!==U.indexOf("Edge/")}(U)}()?nU():setTimeout(nU,0))},[M,C,nU]),kU=function(U){return R?null:U},tU=function(U){return D?null:kU(U)},aU=function(U){return o?null:kU(U)},TU=function(U){p&&U.stopPropagation()},eU=(0,B.useMemo)(function(){return function(){var U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},F=U.refKey,Q=void 0===F?"ref":F,B=U.role,V=U.onKeyDown,n=U.onFocus,l=U.onBlur,d=U.onClick,J=U.onDragEnter,N=U.onDragOver,Z=U.onDragLeave,W=U.onDrop,S=VU(U,A);return BU(BU(RU({onKeyDown:tU(I(V,JU)),onFocus:tU(I(n,WU)),onBlur:tU(I(l,SU)),onClick:kU(I(d,EU)),onDragEnter:aU(I(J,g)),onDragOver:aU(I(N,P)),onDragLeave:aU(I(Z,UU)),onDrop:aU(I(W,QU)),role:"string"===typeof B&&""!==B?B:"button"},Q,m),R||D?{}:{tabIndex:0}),S)}},[m,JU,WU,SU,EU,g,P,UU,QU,D,o,R]),CU=(0,B.useCallback)(function(U){U.stopPropagation()},[]),DU=(0,B.useMemo)(function(){return function(){var U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},F=U.refKey,B=void 0===F?"ref":F,R=U.onChange,V=U.onClick,n=VU(U,q);return BU(BU({},RU({accept:Q,multiple:d,type:"file",style:{display:"none"},onChange:kU(I(R,QU)),onClick:kU(I(V,CU)),autoComplete:"off",tabIndex:-1},B,M)),n)}},[M,Q,d,QU,R]),oU=Y.length,pU=oU>0&&function(U){var F=U.files,Q=U.accept,B=U.minSize,R=U.maxSize,V=U.multiple,n=U.maxFiles;return!(!V&&F.length>1||V&&n>=1&&F.length>n)&&F.every(function(U){var F=i(L(U,Q),1)[0],V=i(H(U,B,R),1)[0];return F&&V})}({files:Y,accept:Q,minSize:l,maxSize:n,multiple:d,maxFiles:J}),hU=oU>0&&!pU;return BU(BU({},v),{},{isDragAccept:pU,isDragReject:hU,isFocused:s&&!R,getRootProps:eU,getInputProps:DU,rootRef:m,inputRef:M,open:kU(nU)})}function NU(U,F){switch(F.type){case"focus":return BU(BU({},U),{},{isFocused:!0});case"blur":return BU(BU({},U),{},{isFocused:!1});case"openDialog":return BU(BU({},dU),{},{isFileDialogActive:!0});case"closeDialog":return BU(BU({},U),{},{isFileDialogActive:!1});case"setDraggedFiles":var Q=F.isDragActive,B=F.draggedFiles;return BU(BU({},U),{},{draggedFiles:B,isDragActive:Q});case"setFiles":return BU(BU({},U),{},{acceptedFiles:F.acceptedFiles,fileRejections:F.fileRejections});case"reset":return BU({},dU);default:return U}}function ZU(){}},26345:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>B});const B=Q(60471).createContext(void 0)},26382:(U,F,Q)=>{"use strict";Q.r(F),Q.d(F,{default:()=>B.A,extendSxProp:()=>R.A,unstable_createStyleFunctionSx:()=>B.k,unstable_defaultSxConfig:()=>V.A});var B=Q(17176),R=Q(52918),V=Q(27213)},26899:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>t});var B=Q(68102),R=Q(5112),V=Q(65320),n=Q(33048),l=Q(75190),d=Q(60471),J=Q(82514),N=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|popover|popoverTarget|popoverTargetAction|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,Z=(0,J.A)(function(U){return N.test(U)||111===U.charCodeAt(0)&&110===U.charCodeAt(1)&&U.charCodeAt(2)<91}),W=function(U){return"theme"!==U},S=function(U){return"string"===typeof U&&U.charCodeAt(0)>96?Z:W},E=function(U,F,Q){var B;if(F){var R=F.shouldForwardProp;B=U.__emotion_forwardProp&&R?function(F){return U.__emotion_forwardProp(F)&&R(F)}:R}return"function"!==typeof B&&Q&&(B=U.__emotion_forwardProp),B},k=function(U){var F=U.cache,Q=U.serialized,B=U.isStringTag;return(0,l.SF)(F,Q,B),(0,n.s)(function(){return(0,l.sk)(F,Q,B)}),null},t=function U(F,Q){var n,J,N=F.__emotion_real===F,Z=N&&F.__emotion_base||F;void 0!==Q&&(n=Q.label,J=Q.target);var W=E(F,Q,N),t=W||S(Z),a=!t("as");return function(){var T=arguments,e=N&&void 0!==F.__emotion_styles?F.__emotion_styles.slice(0):[];if(void 0!==n&&e.push("label:"+n+";"),null==T[0]||void 0===T[0].raw)e.push.apply(e,T);else{var C=T[0];e.push(C[0]);for(var D=T.length,o=1;o{"use strict";Q.d(F,{A:()=>l,Q:()=>V});var B=Q(68102),R=Q(60471);function V(U){if("object"!==typeof U||null===U)return!1;const F=Object.getPrototypeOf(U);return(null===F||F===Object.prototype||null===Object.getPrototypeOf(F))&&!(Symbol.toStringTag in U)&&!(Symbol.iterator in U)}function n(U){if(R.isValidElement(U)||!V(U))return U;const F={};return Object.keys(U).forEach(Q=>{F[Q]=n(U[Q])}),F}function l(U,F){let Q=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{clone:!0};const d=Q.clone?(0,B.A)({},U):U;return V(U)&&V(F)&&Object.keys(F).forEach(B=>{R.isValidElement(F[B])?d[B]=F[B]:V(F[B])&&Object.prototype.hasOwnProperty.call(U,B)&&V(U[B])?d[B]=l(U[B],F[B],Q):Q.clone?d[B]=V(F[B])?n(F[B]):F[B]:d[B]=F[B]}),d}},26906:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>d,N:()=>l});var B=Q(68102),R=Q(16840),V=Q(85656),n=Q(55106);function l(U){return(0,V.Ay)("MuiFilledInput",U)}const d=(0,B.A)({},n.A,(0,R.A)("MuiFilledInput",["root","underline","input"]))},26946:(U,F,Q)=>{"use strict";var B=Q(13980),R=Q(7203),V=Q(69181),n=function(U){return function(F,Q,n){var l=B(F),d=V(l);if(0===d)return!U&&-1;var J,N=R(n,d);if(U&&Q!==Q){for(;d>N;)if((J=l[N++])!==J)return!0}else for(;d>N;N++)if((U||N in l)&&l[N]===Q)return U||N||0;return!U&&-1}};U.exports={includes:n(!0),indexOf:n(!1)}},27213:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>X});var B=Q(99255),R=Q(42854),V=Q(51723);const n=function(){for(var U=arguments.length,F=new Array(U),Q=0;Q(F.filterProps.forEach(Q=>{U[Q]=F}),U),{}),R=U=>Object.keys(U).reduce((F,Q)=>B[Q]?(0,V.A)(F,B[Q](U)):F,{});return R.propTypes={},R.filterProps=F.reduce((U,F)=>U.concat(F.filterProps),[]),R};var l=Q(47067);function d(U){return"number"!==typeof U?U:`${U}px solid`}function J(U,F){return(0,R.Ay)({prop:U,themeKey:"borders",transform:F})}const N=J("border",d),Z=J("borderTop",d),W=J("borderRight",d),S=J("borderBottom",d),E=J("borderLeft",d),k=J("borderColor"),t=J("borderTopColor"),a=J("borderRightColor"),T=J("borderBottomColor"),e=J("borderLeftColor"),C=J("outline",d),D=J("outlineColor"),o=U=>{if(void 0!==U.borderRadius&&null!==U.borderRadius){const F=(0,B.MA)(U.theme,"shape.borderRadius",4,"borderRadius"),Q=U=>({borderRadius:(0,B._W)(F,U)});return(0,l.NI)(U,U.borderRadius,Q)}return null};o.propTypes={},o.filterProps=["borderRadius"];n(N,Z,W,S,E,k,t,a,T,e,o,C,D);const p=U=>{if(void 0!==U.gap&&null!==U.gap){const F=(0,B.MA)(U.theme,"spacing",8,"gap"),Q=U=>({gap:(0,B._W)(F,U)});return(0,l.NI)(U,U.gap,Q)}return null};p.propTypes={},p.filterProps=["gap"];const h=U=>{if(void 0!==U.columnGap&&null!==U.columnGap){const F=(0,B.MA)(U.theme,"spacing",8,"columnGap"),Q=U=>({columnGap:(0,B._W)(F,U)});return(0,l.NI)(U,U.columnGap,Q)}return null};h.propTypes={},h.filterProps=["columnGap"];const c=U=>{if(void 0!==U.rowGap&&null!==U.rowGap){const F=(0,B.MA)(U.theme,"spacing",8,"rowGap"),Q=U=>({rowGap:(0,B._W)(F,U)});return(0,l.NI)(U,U.rowGap,Q)}return null};c.propTypes={},c.filterProps=["rowGap"];n(p,h,c,(0,R.Ay)({prop:"gridColumn"}),(0,R.Ay)({prop:"gridRow"}),(0,R.Ay)({prop:"gridAutoFlow"}),(0,R.Ay)({prop:"gridAutoColumns"}),(0,R.Ay)({prop:"gridAutoRows"}),(0,R.Ay)({prop:"gridTemplateColumns"}),(0,R.Ay)({prop:"gridTemplateRows"}),(0,R.Ay)({prop:"gridTemplateAreas"}),(0,R.Ay)({prop:"gridArea"}));function r(U,F){return"grey"===F?F:U}n((0,R.Ay)({prop:"color",themeKey:"palette",transform:r}),(0,R.Ay)({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:r}),(0,R.Ay)({prop:"backgroundColor",themeKey:"palette",transform:r}));function m(U){return U<=1&&0!==U?100*U+"%":U}const M=(0,R.Ay)({prop:"width",transform:m}),i=U=>{if(void 0!==U.maxWidth&&null!==U.maxWidth){const F=F=>{var Q,B;const R=(null==(Q=U.theme)||null==(Q=Q.breakpoints)||null==(Q=Q.values)?void 0:Q[F])||l.zu[F];return R?"px"!==(null==(B=U.theme)||null==(B=B.breakpoints)?void 0:B.unit)?{maxWidth:`${R}${U.theme.breakpoints.unit}`}:{maxWidth:R}:{maxWidth:m(F)}};return(0,l.NI)(U,U.maxWidth,F)}return null};i.filterProps=["maxWidth"];const b=(0,R.Ay)({prop:"minWidth",transform:m}),v=(0,R.Ay)({prop:"height",transform:m}),G=(0,R.Ay)({prop:"maxHeight",transform:m}),s=(0,R.Ay)({prop:"minHeight",transform:m}),X=((0,R.Ay)({prop:"size",cssProperty:"width",transform:m}),(0,R.Ay)({prop:"size",cssProperty:"height",transform:m}),n(M,i,b,v,G,s,(0,R.Ay)({prop:"boxSizing"})),{border:{themeKey:"borders",transform:d},borderTop:{themeKey:"borders",transform:d},borderRight:{themeKey:"borders",transform:d},borderBottom:{themeKey:"borders",transform:d},borderLeft:{themeKey:"borders",transform:d},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:d},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:o},color:{themeKey:"palette",transform:r},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:r},backgroundColor:{themeKey:"palette",transform:r},p:{style:B.Ms},pt:{style:B.Ms},pr:{style:B.Ms},pb:{style:B.Ms},pl:{style:B.Ms},px:{style:B.Ms},py:{style:B.Ms},padding:{style:B.Ms},paddingTop:{style:B.Ms},paddingRight:{style:B.Ms},paddingBottom:{style:B.Ms},paddingLeft:{style:B.Ms},paddingX:{style:B.Ms},paddingY:{style:B.Ms},paddingInline:{style:B.Ms},paddingInlineStart:{style:B.Ms},paddingInlineEnd:{style:B.Ms},paddingBlock:{style:B.Ms},paddingBlockStart:{style:B.Ms},paddingBlockEnd:{style:B.Ms},m:{style:B.Lc},mt:{style:B.Lc},mr:{style:B.Lc},mb:{style:B.Lc},ml:{style:B.Lc},mx:{style:B.Lc},my:{style:B.Lc},margin:{style:B.Lc},marginTop:{style:B.Lc},marginRight:{style:B.Lc},marginBottom:{style:B.Lc},marginLeft:{style:B.Lc},marginX:{style:B.Lc},marginY:{style:B.Lc},marginInline:{style:B.Lc},marginInlineStart:{style:B.Lc},marginInlineEnd:{style:B.Lc},marginBlock:{style:B.Lc},marginBlockStart:{style:B.Lc},marginBlockEnd:{style:B.Lc},displayPrint:{cssProperty:!1,transform:U=>({"@media print":{display:U}})},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:p},rowGap:{style:c},columnGap:{style:h},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:m},maxWidth:{style:i},minWidth:{transform:m},height:{transform:m},maxHeight:{transform:m},minHeight:{transform:m},boxSizing:{},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}})},27507:(U,F,Q)=>{"use strict";var B=Q(59338);U.exports=function(){return"function"===typeof Object.is?Object.is:B}},27960:(U,F,Q)=>{"use strict";Q.d(F,{E:()=>n,A:()=>l});var B=Q(60471);const R={};const V=[];class n{constructor(){this.currentId=null,this.clear=()=>{null!==this.currentId&&(clearTimeout(this.currentId),this.currentId=null)},this.disposeEffect=()=>this.clear}static create(){return new n}start(U,F){this.clear(),this.currentId=setTimeout(()=>{this.currentId=null,F()},U)}}function l(){const U=function(U,F){const Q=B.useRef(R);return Q.current===R&&(Q.current=U(F)),Q}(n.create).current;var F;return F=U.disposeEffect,B.useEffect(F,V),U}},27989:U=>{"use strict";U.exports=Math.round},28721:(U,F,Q)=>{"use strict";var B=Q(8500),R=B.ValidatorResult,V=B.SchemaError,n={ignoreProperties:{id:!0,default:!0,description:!0,title:!0,additionalItems:!0,then:!0,else:!0,$schema:!0,$ref:!0,extends:!0}},l=n.validators={};function d(U,F,Q,B,R){var V=F.throwError,n=F.throwAll;F.throwError=!1,F.throwAll=!1;var l=this.validateSchema(U,R,F,Q);return F.throwError=V,F.throwAll=n,!l.valid&&B instanceof Function&&B(l),l.valid}function J(U,F){if(Object.hasOwnProperty.call(U,F))return U[F];if(F in U)for(;U=Object.getPrototypeOf(U);)if(Object.propertyIsEnumerable.call(U,F))return U[F]}function N(U,F,Q,B,R,V){if(this.types.object(U)&&(!F.properties||void 0===F.properties[R]))if(!1===F.additionalProperties)V.addError({name:"additionalProperties",argument:R,message:"is not allowed to have the additional property "+JSON.stringify(R)});else{var n=F.additionalProperties||{};"function"==typeof Q.preValidateProperty&&Q.preValidateProperty(U,R,n,Q,B);var l=this.validateSchema(U[R],n,Q,B.makeChild(n,R));l.instance!==V.instance[R]&&(V.instance[R]=l.instance),V.importErrors(l)}}l.type=function(U,F,Q,B){if(void 0===U)return null;var V=new R(U,F,Q,B),n=Array.isArray(F.type)?F.type:[F.type];if(!n.some(this.testType.bind(this,U,F,Q,B))){var l=n.map(function(U){if(U){var F=U.$id||U.id;return F?"<"+F+">":U+""}});V.addError({name:"type",argument:l,message:"is not of a type(s) "+l})}return V},l.anyOf=function(U,F,Q,B){if(void 0===U)return null;var n=new R(U,F,Q,B),l=new R(U,F,Q,B);if(!Array.isArray(F.anyOf))throw new V("anyOf must be an array");if(!F.anyOf.some(d.bind(this,U,Q,B,function(U){l.importErrors(U)}))){var J=F.anyOf.map(function(U,F){var Q=U.$id||U.id;return Q?"<"+Q+">":U.title&&JSON.stringify(U.title)||U.$ref&&"<"+U.$ref+">"||"[subschema "+F+"]"});Q.nestedErrors&&n.importErrors(l),n.addError({name:"anyOf",argument:J,message:"is not any of "+J.join(",")})}return n},l.allOf=function(U,F,Q,B){if(void 0===U)return null;if(!Array.isArray(F.allOf))throw new V("allOf must be an array");var n=new R(U,F,Q,B),l=this;return F.allOf.forEach(function(F,R){var V=l.validateSchema(U,F,Q,B);if(!V.valid){var d=F.$id||F.id||F.title&&JSON.stringify(F.title)||F.$ref&&"<"+F.$ref+">"||"[subschema "+R+"]";n.addError({name:"allOf",argument:{id:d,length:V.errors.length,valid:V},message:"does not match allOf schema "+d+" with "+V.errors.length+" error[s]:"}),n.importErrors(V)}}),n},l.oneOf=function(U,F,Q,B){if(void 0===U)return null;if(!Array.isArray(F.oneOf))throw new V("oneOf must be an array");var n=new R(U,F,Q,B),l=new R(U,F,Q,B),J=F.oneOf.filter(d.bind(this,U,Q,B,function(U){l.importErrors(U)})).length,N=F.oneOf.map(function(U,F){return U.$id||U.id||U.title&&JSON.stringify(U.title)||U.$ref&&"<"+U.$ref+">"||"[subschema "+F+"]"});return 1!==J&&(Q.nestedErrors&&n.importErrors(l),n.addError({name:"oneOf",argument:N,message:"is not exactly one from "+N.join(",")})),n},l.if=function(U,F,Q,V){if(void 0===U)return null;if(!B.isSchema(F.if))throw new Error('Expected "if" keyword to be a schema');var n,l=d.call(this,U,Q,V,null,F.if),J=new R(U,F,Q,V);if(l){if(void 0===F.then)return;if(!B.isSchema(F.then))throw new Error('Expected "then" keyword to be a schema');n=this.validateSchema(U,F.then,Q,V.makeChild(F.then)),J.importErrors(n)}else{if(void 0===F.else)return;if(!B.isSchema(F.else))throw new Error('Expected "else" keyword to be a schema');n=this.validateSchema(U,F.else,Q,V.makeChild(F.else)),J.importErrors(n)}return J},l.propertyNames=function(U,F,Q,n){if(this.types.object(U)){var l=new R(U,F,Q,n),d=void 0!==F.propertyNames?F.propertyNames:{};if(!B.isSchema(d))throw new V('Expected "propertyNames" to be a schema (object or boolean)');for(var N in U)if(void 0!==J(U,N)){var Z=this.validateSchema(N,d,Q,n.makeChild(d));l.importErrors(Z)}return l}},l.properties=function(U,F,Q,B){if(this.types.object(U)){var n=new R(U,F,Q,B),l=F.properties||{};for(var d in l){var N=l[d];if(void 0!==N){if(null===N)throw new V('Unexpected null, expected schema in "properties"');"function"==typeof Q.preValidateProperty&&Q.preValidateProperty(U,d,N,Q,B);var Z=J(U,d),W=this.validateSchema(Z,N,Q,B.makeChild(N,d));W.instance!==n.instance[d]&&(n.instance[d]=W.instance),n.importErrors(W)}}return n}},l.patternProperties=function(U,F,Q,B){if(this.types.object(U)){var n=new R(U,F,Q,B),l=F.patternProperties||{};for(var d in U){var J=!0;for(var Z in l){var W=l[Z];if(void 0!==W){if(null===W)throw new V('Unexpected null, expected schema in "patternProperties"');try{var S=new RegExp(Z,"u")}catch(k){S=new RegExp(Z)}if(S.test(d)){J=!1,"function"==typeof Q.preValidateProperty&&Q.preValidateProperty(U,d,W,Q,B);var E=this.validateSchema(U[d],W,Q,B.makeChild(W,d));E.instance!==n.instance[d]&&(n.instance[d]=E.instance),n.importErrors(E)}}}J&&N.call(this,U,F,Q,B,d,n)}return n}},l.additionalProperties=function(U,F,Q,B){if(this.types.object(U)){if(F.patternProperties)return null;var V=new R(U,F,Q,B);for(var n in U)N.call(this,U,F,Q,B,n,V);return V}},l.minProperties=function(U,F,Q,B){if(this.types.object(U)){var V=new R(U,F,Q,B);return Object.keys(U).length>=F.minProperties||V.addError({name:"minProperties",argument:F.minProperties,message:"does not meet minimum property length of "+F.minProperties}),V}},l.maxProperties=function(U,F,Q,B){if(this.types.object(U)){var V=new R(U,F,Q,B);return Object.keys(U).length<=F.maxProperties||V.addError({name:"maxProperties",argument:F.maxProperties,message:"does not meet maximum property length of "+F.maxProperties}),V}},l.items=function(U,F,Q,B){var V=this;if(this.types.array(U)&&void 0!==F.items){var n=new R(U,F,Q,B);return U.every(function(U,R){if(Array.isArray(F.items))var l=void 0===F.items[R]?F.additionalItems:F.items[R];else l=F.items;if(void 0===l)return!0;if(!1===l)return n.addError({name:"items",message:"additionalItems not permitted"}),!1;var d=V.validateSchema(U,l,Q,B.makeChild(l,R));return d.instance!==n.instance[R]&&(n.instance[R]=d.instance),n.importErrors(d),!0}),n}},l.contains=function(U,F,Q,V){var n=this;if(this.types.array(U)&&void 0!==F.contains){if(!B.isSchema(F.contains))throw new Error('Expected "contains" keyword to be a schema');var l=new R(U,F,Q,V);return!1===U.some(function(U,B){return 0===n.validateSchema(U,F.contains,Q,V.makeChild(F.contains,B)).errors.length})&&l.addError({name:"contains",argument:F.contains,message:"must contain an item matching given schema"}),l}},l.minimum=function(U,F,Q,B){if(this.types.number(U)){var V=new R(U,F,Q,B);return F.exclusiveMinimum&&!0===F.exclusiveMinimum?U>F.minimum||V.addError({name:"minimum",argument:F.minimum,message:"must be greater than "+F.minimum}):U>=F.minimum||V.addError({name:"minimum",argument:F.minimum,message:"must be greater than or equal to "+F.minimum}),V}},l.maximum=function(U,F,Q,B){if(this.types.number(U)){var V=new R(U,F,Q,B);return F.exclusiveMaximum&&!0===F.exclusiveMaximum?UF.exclusiveMinimum||V.addError({name:"exclusiveMinimum",argument:F.exclusiveMinimum,message:"must be strictly greater than "+F.exclusiveMinimum}),V}},l.exclusiveMaximum=function(U,F,Q,B){if("boolean"!==typeof F.exclusiveMaximum&&this.types.number(U)){var V=new R(U,F,Q,B);return U=F.minLength||V.addError({name:"minLength",argument:F.minLength,message:"does not meet minimum length of "+F.minLength}),V}},l.maxLength=function(U,F,Q,B){if(this.types.string(U)){var V=new R(U,F,Q,B),n=U.match(/[\uDC00-\uDFFF]/g);return U.length-(n?n.length:0)<=F.maxLength||V.addError({name:"maxLength",argument:F.maxLength,message:"does not meet maximum length of "+F.maxLength}),V}},l.minItems=function(U,F,Q,B){if(this.types.array(U)){var V=new R(U,F,Q,B);return U.length>=F.minItems||V.addError({name:"minItems",argument:F.minItems,message:"does not meet minimum length of "+F.minItems}),V}},l.maxItems=function(U,F,Q,B){if(this.types.array(U)){var V=new R(U,F,Q,B);return U.length<=F.maxItems||V.addError({name:"maxItems",argument:F.maxItems,message:"does not meet maximum length of "+F.maxItems}),V}},l.uniqueItems=function(U,F,Q,B){if(!0===F.uniqueItems&&this.types.array(U)){var V=new R(U,F,Q,B);return U.every(W)||V.addError({name:"uniqueItems",message:"contains duplicate item"}),V}},l.dependencies=function(U,F,Q,B){if(this.types.object(U)){var V=new R(U,F,Q,B);for(var n in F.dependencies)if(void 0!==U[n]){var l=F.dependencies[n],d=B.makeChild(l,n);if("string"==typeof l&&(l=[l]),Array.isArray(l))l.forEach(function(F){void 0===U[F]&&V.addError({name:"dependencies",argument:d.propertyPath,message:"property "+F+" not found, required by "+d.propertyPath})});else{var J=this.validateSchema(U,l,Q,d);V.instance!==J.instance&&(V.instance=J.instance),J&&J.errors.length&&(V.addError({name:"dependencies",argument:d.propertyPath,message:"does not meet dependency required by "+d.propertyPath}),V.importErrors(J))}}return V}},l.enum=function(U,F,Q,n){if(void 0===U)return null;if(!Array.isArray(F.enum))throw new V("enum expects an array",F);var l=new R(U,F,Q,n);return F.enum.some(B.deepCompareStrict.bind(null,U))||l.addError({name:"enum",argument:F.enum,message:"is not one of enum values: "+F.enum.map(String).join(",")}),l},l.const=function(U,F,Q,V){if(void 0===U)return null;var n=new R(U,F,Q,V);return B.deepCompareStrict(F.const,U)||n.addError({name:"const",argument:F.const,message:"does not exactly match expected constant: "+F.const}),n},l.not=l.disallow=function(U,F,Q,B){var V=this;if(void 0===U)return null;var n=new R(U,F,Q,B),l=F.not||F.disallow;return l?(Array.isArray(l)||(l=[l]),l.forEach(function(R){if(V.testType(U,F,Q,B,R)){var l=R&&(R.$id||R.id)||R;n.addError({name:"not",argument:l,message:"is of prohibited type "+l})}}),n):null},U.exports=n},28918:U=>{"use strict";var F={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},Q=[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279];function B(U){return 10===U||13===U||8232===U||8233===U||32===U||9===U||11===U||12===U||160===U||U>=5760&&Q.indexOf(U)>=0}function R(U){return U>=48&&U<=57}function V(U){return U>=48&&U<=57||43===U||45===U||46===U}function n(U){this.index=0,this.path=U,this.max=U.length,this.result=[],this.param=0,this.err="",this.segmentStart=0,this.data=[]}function l(U){for(;U.index=V)U.err="SvgPath: missed param (at pos "+B+")";else if(43!==(F=U.path.charCodeAt(B))&&45!==F||(F=++B2&&(U.result.push([Q,R[0],R[1]]),R=R.slice(2),B="l",Q="m"===Q?"l":"L"),"r"===B)U.result.push([Q].concat(R));else for(;R.length>=F[B]&&(U.result.push([Q].concat(R.splice(0,F[B]))),F[B]););}function Z(U){var Q,B,R,n,Z,W=U.max;if(U.segmentStart=U.index,Q=U.path.charCodeAt(U.index),B=97===(32|Q),function(U){switch(32|U){case 109:case 122:case 108:case 104:case 118:case 99:case 115:case 113:case 116:case 97:case 114:return!0}return!1}(Q))if(n=F[U.path[U.index].toLowerCase()],U.index++,l(U),U.data=[],n){for(R=!1;;){for(Z=n;Z>0;Z--){if(!B||3!==Z&&4!==Z?J(U):d(U),U.err.length)return void N(U);U.data.push(U.param),l(U),R=!1,U.index=U.max)break;if(!V(U.path.charCodeAt(U.index)))break}}N(U)}else N(U);else U.err="SvgPath: bad command "+U.path[U.index]+" (at pos "+U.index+")"}U.exports=function(U){var F=new n(U),Q=F.max;for(l(F);F.index0||d+B0?[["dictionary",B.definitions],R]:R},deserialize:function(U,F,Q,B,R){var V=U,n=!Q,l=n&&U&&U.length&&"dictionary"===U[0][0];if(Q=Q||{},Array.isArray(U)){var d=U[0],J="dictionary"===d;if(1==U.length&&/^#/.test(d))return Q.dictionary[d];V=[];for(var Z=(d=N.exports[d])?1:0,W=U.length;ZU.length&&(Q=U.length);for(var n=0;n0){var V=F[R],n=V&&V[B];n&&n.call(this,R)}},statics:{inject:function U(F){var Q=F._events;if(Q){var B={};N.each(Q,function(U,Q){var R="string"===typeof U,V=R?U:Q,n=N.capitalize(V),l=V.substring(2).toLowerCase();B[l]=R?{}:U,V="_"+V,F["get"+n]=function(){return this[V]},F["set"+n]=function(U){var F=this[V];F&&this.off(l,F),U&&this.on(l,U),this[V]=U}}),F._eventTypes=B}return U.base.apply(this,arguments)}}},W=N.extend({_class:"PaperScope",initialize:function U(){WU=this,this.settings=new N({applyMatrix:!0,insertItems:!0,handleSize:4,hitTolerance:0}),this.project=null,this.projects=[],this.tools=[],this._id=U._id++,U._scopes[this._id]=this;var F=U.prototype;if(!this.support){var Q=dU.getContext(1,1)||{};F.support={nativeDash:"setLineDash"in Q||"mozDash"in Q,nativeBlendModes:JU.nativeModes},dU.release(Q)}if(!this.agent){var B=n.navigator.userAgent.toLowerCase(),R=(/(darwin|win|mac|linux|freebsd|sunos)/.exec(B)||[])[0],V="darwin"===R?"mac":R,l=F.agent=F.browser={platform:V};V&&(l[V]=!0),B.replace(/(opera|chrome|safari|webkit|firefox|msie|trident|atom|node|jsdom)\/?\s*([.\d]+)(?:.*version\/([.\d]+))?(?:.*rv\:v?([.\d]+))?/g,function(U,F,Q,B,R){if(!l.chrome){var V="opera"===F?B:/^(node|trident)$/.test(F)?R:Q;l.version=V,l.versionNumber=parseFloat(V),F={trident:"msie",jsdom:"node"}[F]||F,l.name=F,l[F]=!0}}),l.chrome&&delete l.webkit,l.atom&&delete l.chrome}},version:"0.12.18",getView:function(){var U=this.project;return U&&U._view},getPaper:function(){return this},execute:function(U,F){var Q=WU.PaperScript.execute(U,this,F);return _.updateFocus(),Q},install:function(U){var F=this;for(var Q in N.each(["project","view","tool"],function(Q){N.define(U,Q,{configurable:!0,get:function(){return F[Q]}})}),this)!/^_/.test(Q)&&this[Q]&&(U[Q]=this[Q])},setup:function(U){return WU=this,this.project=new r(U),this},createCanvas:function(U,F){return dU.getCanvas(U,F)},activate:function(){WU=this},clear:function(){for(var U=this.projects,F=this.tools,Q=U.length-1;Q>=0;Q--)U[Q].remove();for(Q=F.length-1;Q>=0;Q--)F[Q].remove()},remove:function(){this.clear(),delete W._scopes[this._id]},statics:new function(){function U(U){return U+="Attribute",function(F,Q){return F[U](Q)||F[U]("data-paper-"+Q)}}return{_scopes:{},_id:0,get:function(U){return this._scopes[U]||null},getAttribute:U("get"),hasAttribute:U("has")}}}),S=N.extend(Z,{initialize:function(U){this._scope=WU,this._index=this._scope[this._list].push(this)-1,!U&&this._scope[this._reference]||this.activate()},activate:function(){if(!this._scope)return!1;var U=this._scope[this._reference];return U&&U!==this&&U.emit("deactivate"),this._scope[this._reference]=this,this.emit("activate",U),!0},isActive:function(){return this._scope[this._reference]===this},remove:function(){return null!=this._index&&(N.splice(this._scope[this._list],null,this._index,1),this._scope[this._reference]==this&&(this._scope[this._reference]=null),this._scope=null,!0)},getView:function(){return this._scope.getView()}}),E={findItemBoundsCollisions:function(U,F,Q){function B(U){for(var F=new Array(U.length),Q=0;Q>>1;n[U[V]][F]=l;(R||(D&&v||o&&b)&&r>=i[W]-Q&&m<=i[S]+Q)&&(D&&v&&p.push(V?M:M-l),o&&b&&a[M].push(C))}}}if(D&&(U===F&&p.push(T),a[T]=p),t.length){var G=J(t,Z,e[Z]);t.splice(G+1,0,T)}else t.push(T)}for(k=0;kQ?Q:U}function J(U,F,B){function R(U){var F=134217729*U,Q=U-F+F;return[Q,U-Q]}var V=F*F-U*B,n=F*F+U*B;if(3*Q(V)1e8)?R(2,-Math.round(V(U))):0}return{EPSILON:n,MACHINE_EPSILON:l,CURVETIME_EPSILON:1e-8,GEOMETRIC_EPSILON:1e-7,TRIGONOMETRIC_EPSILON:1e-8,ANGULAR_EPSILON:1e-5,KAPPA:4*(B(2)-1)/3,isZero:function(U){return U>=-1e-12&&U<=n},isMachineZero:function(U){return U>=-112e-18&&U<=l},clamp:d,integrate:function(Q,B,R,V){for(var n=U[V-2],l=F[V-2],d=.5*(R-B),J=d+B,N=0,Z=V+1>>1,W=1&V?l[N++]*Q(J):0;N0?(V=B,B=W<=R?.5*(R+V):W):(R=B,B=W>=V?.5*(R+V):W)}return d(B,R,V)},solveQuadratic:function(U,F,R,V,Z,W){var S,E=1/0;if(Q(U)=-112e-18){var a=k<0?0:B(k),T=F+(F<0?-a:a);0===T?E=-(S=R/U):(S=T/U,E=R/T)}}var e=0,C=null==Z,D=Z-n,o=W+n;return isFinite(S)&&(C||S>D&&SD&&E0?1.324717957244746*Math.max(p,B(c)):p,m=E-h*r;if(m!==E){do{D(m),m=0===T?E:E-e/T/(1+l)}while(h*m>h*E);Q(U)*E*E>Q(J/E)&&(k=((a=-J/E)-V)/E)}}var M=t.solveQuadratic(U,k,a,Z,W,S),i=null==W;return isFinite(E)&&(0===M||M>0&&E!==Z[0]&&E!==Z[1])&&(i||E>W-n&&E1?n[1]:n[0])):"x"in n?this._set(n.x||0,n.y||0):"width"in n?this._set(n.width||0,n.height||0):"angle"in n?(this._set(n.length||0,0),this.setAngle(n.angle||0)):(this._set(0,0),R=0)}return B&&(this.__read=R),this},set:"#initialize",_set:function(U,F){return this.x=U,this.y=F,this},equals:function(U){return this===U||U&&(this.x===U.x&&this.y===U.y||Array.isArray(U)&&this.x===U[0]&&this.y===U[1])||!1},clone:function(){return new T(this.x,this.y)},toString:function(){var U=k.instance;return"{ x: "+U.number(this.x)+", y: "+U.number(this.y)+" }"},_serialize:function(U){var F=U.formatter;return[F.number(this.x),F.number(this.y)]},getLength:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},setLength:function(U){if(this.isZero()){var F=this._angle||0;this._set(Math.cos(F)*U,Math.sin(F)*U)}else{var Q=U/this.getLength();t.isZero(Q)&&this.getAngle(),this._set(this.x*Q,this.y*Q)}},getAngle:function(){return 180*this.getAngleInRadians.apply(this,arguments)/Math.PI},setAngle:function(U){this.setAngleInRadians.call(this,U*Math.PI/180)},getAngleInDegrees:"#getAngle",setAngleInDegrees:"#setAngle",getAngleInRadians:function(){if(arguments.length){var U=T.read(arguments),F=this.getLength()*U.getLength();if(t.isZero(F))return NaN;var Q=this.dot(U)/F;return Math.acos(Q<-1?-1:Q>1?1:Q)}return this.isZero()?this._angle||0:this._angle=Math.atan2(this.y,this.x)},setAngleInRadians:function(U){if(this._angle=U,!this.isZero()){var F=this.getLength();this._set(Math.cos(U)*F,Math.sin(U)*F)}},getQuadrant:function(){return this.x>=0?this.y>=0?1:4:this.y>=0?2:3}},{beans:!1,getDirectedAngle:function(){var U=T.read(arguments);return 180*Math.atan2(this.cross(U),this.dot(U))/Math.PI},getDistance:function(){var U=arguments,F=T.read(U),Q=F.x-this.x,B=F.y-this.y,R=Q*Q+B*B;return N.read(U)?R:Math.sqrt(R)},normalize:function(U){U===l&&(U=1);var F=this.getLength(),Q=0!==F?U/F:0,B=new T(this.x*Q,this.y*Q);return Q>=0&&(B._angle=this._angle),B},rotate:function(U,F){if(0===U)return this.clone();U=U*Math.PI/180;var Q=F?this.subtract(F):this,B=Math.sin(U),R=Math.cos(U);return Q=new T(Q.x*R-Q.y*B,Q.x*B+Q.y*R),F?Q.add(F):Q},transform:function(U){return U?U._transformPoint(this):this},add:function(){var U=T.read(arguments);return new T(this.x+U.x,this.y+U.y)},subtract:function(){var U=T.read(arguments);return new T(this.x-U.x,this.y-U.y)},multiply:function(){var U=T.read(arguments);return new T(this.x*U.x,this.y*U.y)},divide:function(){var U=T.read(arguments);return new T(this.x/U.x,this.y/U.y)},modulo:function(){var U=T.read(arguments);return new T(this.x%U.x,this.y%U.y)},negate:function(){return new T(-this.x,-this.y)},isInside:function(){return o.read(arguments).contains(this)},isClose:function(){var U=arguments,F=T.read(U),Q=N.read(U);return this.getDistance(F)<=Q},isCollinear:function(){var U=T.read(arguments);return T.isCollinear(this.x,this.y,U.x,U.y)},isColinear:"#isCollinear",isOrthogonal:function(){var U=T.read(arguments);return T.isOrthogonal(this.x,this.y,U.x,U.y)},isZero:function(){var U=t.isZero;return U(this.x)&&U(this.y)},isNaN:function(){return isNaN(this.x)||isNaN(this.y)},isInQuadrant:function(U){return this.x*(U>1&&U<4?-1:1)>=0&&this.y*(U>2?-1:1)>=0},dot:function(){var U=T.read(arguments);return this.x*U.x+this.y*U.y},cross:function(){var U=T.read(arguments);return this.x*U.y-this.y*U.x},project:function(){var U=T.read(arguments),F=U.isZero()?0:this.dot(U)/U.dot(U);return new T(U.x*F,U.y*F)},statics:{min:function(){var U=arguments,F=T.read(U),Q=T.read(U);return new T(Math.min(F.x,Q.x),Math.min(F.y,Q.y))},max:function(){var U=arguments,F=T.read(U),Q=T.read(U);return new T(Math.max(F.x,Q.x),Math.max(F.y,Q.y))},random:function(){return new T(Math.random(),Math.random())},isCollinear:function(U,F,Q,B){return Math.abs(U*B-F*Q)<=1e-8*Math.sqrt((U*U+F*F)*(Q*Q+B*B))},isOrthogonal:function(U,F,Q,B){return Math.abs(U*Q+F*B)<=1e-8*Math.sqrt((U*U+F*F)*(Q*Q+B*B))}}},N.each(["round","ceil","floor","abs"],function(U){var F=Math[U];this[U]=function(){return new T(F(this.x),F(this.y))}},{})),e=T.extend({initialize:function(U,F,Q,B){this._x=U,this._y=F,this._owner=Q,this._setter=B},_set:function(U,F,Q){return this._x=U,this._y=F,Q||this._owner[this._setter](this),this},getX:function(){return this._x},setX:function(U){this._x=U,this._owner[this._setter](this)},getY:function(){return this._y},setY:function(U){this._y=U,this._owner[this._setter](this)},isSelected:function(){return!!(this._owner._selection&this._getSelection())},setSelected:function(U){this._owner._changeSelection(this._getSelection(),U)},_getSelection:function(){return"setPosition"===this._setter?4:0}}),C=N.extend({_class:"Size",_readIndex:!0,initialize:function(U,F){var Q=typeof U,B=this.__read,R=0;if("number"===Q){var V="number"===typeof F;this._set(U,V?F:U),B&&(R=V?2:1)}else if("undefined"===Q||null===U)this._set(0,0),B&&(R=null===U?1:0);else{var n="string"===Q?U.split(/[\s,]+/)||[]:U;R=1,Array.isArray(n)?this._set(+n[0],+(n.length>1?n[1]:n[0])):"width"in n?this._set(n.width||0,n.height||0):"x"in n?this._set(n.x||0,n.y||0):(this._set(0,0),R=0)}return B&&(this.__read=R),this},set:"#initialize",_set:function(U,F){return this.width=U,this.height=F,this},equals:function(U){return U===this||U&&(this.width===U.width&&this.height===U.height||Array.isArray(U)&&this.width===U[0]&&this.height===U[1])||!1},clone:function(){return new C(this.width,this.height)},toString:function(){var U=k.instance;return"{ width: "+U.number(this.width)+", height: "+U.number(this.height)+" }"},_serialize:function(U){var F=U.formatter;return[F.number(this.width),F.number(this.height)]},add:function(){var U=C.read(arguments);return new C(this.width+U.width,this.height+U.height)},subtract:function(){var U=C.read(arguments);return new C(this.width-U.width,this.height-U.height)},multiply:function(){var U=C.read(arguments);return new C(this.width*U.width,this.height*U.height)},divide:function(){var U=C.read(arguments);return new C(this.width/U.width,this.height/U.height)},modulo:function(){var U=C.read(arguments);return new C(this.width%U.width,this.height%U.height)},negate:function(){return new C(-this.width,-this.height)},isZero:function(){var U=t.isZero;return U(this.width)&&U(this.height)},isNaN:function(){return isNaN(this.width)||isNaN(this.height)},statics:{min:function(U,F){return new C(Math.min(U.width,F.width),Math.min(U.height,F.height))},max:function(U,F){return new C(Math.max(U.width,F.width),Math.max(U.height,F.height))},random:function(){return new C(Math.random(),Math.random())}}},N.each(["round","ceil","floor","abs"],function(U){var F=Math[U];this[U]=function(){return new C(F(this.width),F(this.height))}},{})),D=C.extend({initialize:function(U,F,Q,B){this._width=U,this._height=F,this._owner=Q,this._setter=B},_set:function(U,F,Q){return this._width=U,this._height=F,Q||this._owner[this._setter](this),this},getWidth:function(){return this._width},setWidth:function(U){this._width=U,this._owner[this._setter](this)},getHeight:function(){return this._height},setHeight:function(U){this._height=U,this._owner[this._setter](this)}}),o=N.extend({_class:"Rectangle",_readIndex:!0,beans:!0,initialize:function(U,F,Q,B){var R,V=arguments,n=typeof U;if("number"===n?(this._set(U,F,Q,B),R=4):"undefined"===n||null===U?(this._set(0,0,0,0),R=null===U?1:0):1===V.length&&(Array.isArray(U)?(this._set.apply(this,U),R=1):U.x!==l||U.width!==l?(this._set(U.x||0,U.y||0,U.width||0,U.height||0),R=1):U.from===l&&U.to===l&&(this._set(0,0,0,0),N.readSupported(V,this)&&(R=1))),R===l){var d,J,Z=T.readNamed(V,"from"),W=N.peek(V),S=Z.x,E=Z.y;if(W&&W.x!==l||N.hasNamed(V,"to")){var k=T.readNamed(V,"to");d=k.x-S,J=k.y-E,d<0&&(S=k.x,d=-d),J<0&&(E=k.y,J=-J)}else{var t=C.read(V);d=t.width,J=t.height}this._set(S,E,d,J),R=V.__index}var a=V.__filtered;return a&&(this.__filtered=a),this.__read&&(this.__read=R),this},set:"#initialize",_set:function(U,F,Q,B){return this.x=U,this.y=F,this.width=Q,this.height=B,this},clone:function(){return new o(this.x,this.y,this.width,this.height)},equals:function(U){var F=N.isPlainValue(U)?o.read(arguments):U;return F===this||F&&this.x===F.x&&this.y===F.y&&this.width===F.width&&this.height===F.height||!1},toString:function(){var U=k.instance;return"{ x: "+U.number(this.x)+", y: "+U.number(this.y)+", width: "+U.number(this.width)+", height: "+U.number(this.height)+" }"},_serialize:function(U){var F=U.formatter;return[F.number(this.x),F.number(this.y),F.number(this.width),F.number(this.height)]},getPoint:function(U){return new(U?T:e)(this.x,this.y,this,"setPoint")},setPoint:function(){var U=T.read(arguments);this.x=U.x,this.y=U.y},getSize:function(U){return new(U?C:D)(this.width,this.height,this,"setSize")},_fw:1,_fh:1,setSize:function(){var U=C.read(arguments),F=this._sx,Q=this._sy,B=U.width,R=U.height;F&&(this.x+=(this.width-B)*F),Q&&(this.y+=(this.height-R)*Q),this.width=B,this.height=R,this._fw=this._fh=1},getLeft:function(){return this.x},setLeft:function(U){if(!this._fw){var F=U-this.x;this.width-=.5===this._sx?2*F:F}this.x=U,this._sx=this._fw=0},getTop:function(){return this.y},setTop:function(U){if(!this._fh){var F=U-this.y;this.height-=.5===this._sy?2*F:F}this.y=U,this._sy=this._fh=0},getRight:function(){return this.x+this.width},setRight:function(U){if(!this._fw){var F=U-this.x;this.width=.5===this._sx?2*F:F}this.x=U-this.width,this._sx=1,this._fw=0},getBottom:function(){return this.y+this.height},setBottom:function(U){if(!this._fh){var F=U-this.y;this.height=.5===this._sy?2*F:F}this.y=U-this.height,this._sy=1,this._fh=0},getCenterX:function(){return this.x+this.width/2},setCenterX:function(U){this._fw||.5===this._sx?this.x=U-this.width/2:(this._sx&&(this.x+=2*(U-this.x)*this._sx),this.width=2*(U-this.x)),this._sx=.5,this._fw=0},getCenterY:function(){return this.y+this.height/2},setCenterY:function(U){this._fh||.5===this._sy?this.y=U-this.height/2:(this._sy&&(this.y+=2*(U-this.y)*this._sy),this.height=2*(U-this.y)),this._sy=.5,this._fh=0},getCenter:function(U){return new(U?T:e)(this.getCenterX(),this.getCenterY(),this,"setCenter")},setCenter:function(){var U=T.read(arguments);return this.setCenterX(U.x),this.setCenterY(U.y),this},getArea:function(){return this.width*this.height},isEmpty:function(){return 0===this.width||0===this.height},contains:function(U){return U&&U.width!==l||4===(Array.isArray(U)?U:arguments).length?this._containsRectangle(o.read(arguments)):this._containsPoint(T.read(arguments))},_containsPoint:function(U){var F=U.x,Q=U.y;return F>=this.x&&Q>=this.y&&F<=this.x+this.width&&Q<=this.y+this.height},_containsRectangle:function(U){var F=U.x,Q=U.y;return F>=this.x&&Q>=this.y&&F+U.width<=this.x+this.width&&Q+U.height<=this.y+this.height},intersects:function(){var U=o.read(arguments),F=N.read(arguments)||0;return U.x+U.width>this.x-F&&U.y+U.height>this.y-F&&U.x=4&&(U[1]+=B?"Y":"X");var R=U[B?0:1],V=U[B?1:0],n="get"+R,l="get"+V,d="set"+R,J="set"+V,N="set"+Q;this["get"+Q]=function(U){return new(U?T:e)(this[n](),this[l](),this,N)},this[N]=function(){var U=T.read(arguments);this[d](U.x),this[J](U.y)}},{beans:!0})),p=o.extend({initialize:function(U,F,Q,B,R,V){this._set(U,F,Q,B,!0),this._owner=R,this._setter=V},_set:function(U,F,Q,B,R){return this._x=U,this._y=F,this._width=Q,this._height=B,R||this._owner[this._setter](this),this}},new function(){var U=o.prototype;return N.each(["x","y","width","height"],function(U){var F=N.capitalize(U),Q="_"+U;this["get"+F]=function(){return this[Q]},this["set"+F]=function(U){this[Q]=U,this._dontNotify||this._owner[this._setter](this)}},N.each(["Point","Size","Center","Left","Top","Right","Bottom","CenterX","CenterY","TopLeft","TopRight","BottomLeft","BottomRight","LeftCenter","TopCenter","RightCenter","BottomCenter"],function(F){var Q="set"+F;this[Q]=function(){this._dontNotify=!0,U[Q].apply(this,arguments),this._dontNotify=!1,this._owner[this._setter](this)}},{isSelected:function(){return!!(2&this._owner._selection)},setSelected:function(U){var F=this._owner;F._changeSelection&&F._changeSelection(2,U)}}))}),h=N.extend({_class:"Matrix",initialize:function U(F,Q){var B=arguments,R=B.length,V=!0;if(R>=6?this._set.apply(this,B):1===R||2===R?F instanceof U?this._set(F._a,F._b,F._c,F._d,F._tx,F._ty,Q):Array.isArray(F)?this._set.apply(this,Q?F.concat([Q]):F):V=!1:R?V=!1:this.reset(),!V)throw new Error("Unsupported matrix parameters");return this},set:"#initialize",_set:function(U,F,Q,B,R,V,n){return this._a=U,this._b=F,this._c=Q,this._d=B,this._tx=R,this._ty=V,n||this._changed(),this},_serialize:function(U,F){return N.serialize(this.getValues(),U,!0,F)},_changed:function(){var U=this._owner;U&&(U._applyMatrix?U.transform(null,!0):U._changed(25))},clone:function(){return new h(this._a,this._b,this._c,this._d,this._tx,this._ty)},equals:function(U){return U===this||U&&this._a===U._a&&this._b===U._b&&this._c===U._c&&this._d===U._d&&this._tx===U._tx&&this._ty===U._ty},toString:function(){var U=k.instance;return"[["+[U.number(this._a),U.number(this._c),U.number(this._tx)].join(", ")+"], ["+[U.number(this._b),U.number(this._d),U.number(this._ty)].join(", ")+"]]"},reset:function(U){return this._a=this._d=1,this._b=this._c=this._tx=this._ty=0,U||this._changed(),this},apply:function(U,F){var Q=this._owner;return!!Q&&(Q.transform(null,N.pick(U,!0),F),this.isIdentity())},translate:function(){var U=T.read(arguments),F=U.x,Q=U.y;return this._tx+=F*this._a+Q*this._c,this._ty+=F*this._b+Q*this._d,this._changed(),this},scale:function(){var U=arguments,F=T.read(U),Q=T.read(U,0,{readNull:!0});return Q&&this.translate(Q),this._a*=F.x,this._b*=F.x,this._c*=F.y,this._d*=F.y,Q&&this.translate(Q.negate()),this._changed(),this},rotate:function(U){U*=Math.PI/180;var F=T.read(arguments,1),Q=F.x,B=F.y,R=Math.cos(U),V=Math.sin(U),n=Q-Q*R+B*V,l=B-Q*V-B*R,d=this._a,J=this._b,N=this._c,Z=this._d;return this._a=R*d+V*N,this._b=R*J+V*Z,this._c=-V*d+R*N,this._d=-V*J+R*Z,this._tx+=n*d+l*N,this._ty+=n*J+l*Z,this._changed(),this},shear:function(){var U=arguments,F=T.read(U),Q=T.read(U,0,{readNull:!0});Q&&this.translate(Q);var B=this._a,R=this._b;return this._a+=F.y*this._c,this._b+=F.y*this._d,this._c+=F.x*B,this._d+=F.x*R,Q&&this.translate(Q.negate()),this._changed(),this},skew:function(){var U=arguments,F=T.read(U),Q=T.read(U,0,{readNull:!0}),B=Math.PI/180,R=new T(Math.tan(F.x*B),Math.tan(F.y*B));return this.shear(R,Q)},append:function(U,F){if(U){var Q=this._a,B=this._b,R=this._c,V=this._d,n=U._a,l=U._c,d=U._b,J=U._d,N=U._tx,Z=U._ty;this._a=n*Q+d*R,this._c=l*Q+J*R,this._b=n*B+d*V,this._d=l*B+J*V,this._tx+=N*Q+Z*R,this._ty+=N*B+Z*V,F||this._changed()}return this},prepend:function(U,F){if(U){var Q=this._a,B=this._b,R=this._c,V=this._d,n=this._tx,l=this._ty,d=U._a,J=U._c,N=U._b,Z=U._d,W=U._tx,S=U._ty;this._a=d*Q+J*B,this._c=d*R+J*V,this._b=N*Q+Z*B,this._d=N*R+Z*V,this._tx=d*n+J*l+W,this._ty=N*n+Z*l+S,F||this._changed()}return this},appended:function(U){return this.clone().append(U)},prepended:function(U){return this.clone().prepend(U)},invert:function(){var U=this._a,F=this._b,Q=this._c,B=this._d,R=this._tx,V=this._ty,n=U*B-F*Q,l=null;return n&&!isNaN(n)&&isFinite(R)&&isFinite(V)&&(this._a=B/n,this._b=-F/n,this._c=-Q/n,this._d=U/n,this._tx=(Q*V-B*R)/n,this._ty=(F*R-U*V)/n,l=this),l},inverted:function(){return this.clone().invert()},concatenate:"#append",preConcatenate:"#prepend",chain:"#appended",_shiftless:function(){return new h(this._a,this._b,this._c,this._d,0,0)},_orNullIfIdentity:function(){return this.isIdentity()?null:this},isIdentity:function(){return 1===this._a&&0===this._b&&0===this._c&&1===this._d&&0===this._tx&&0===this._ty},isInvertible:function(){var U=this._a*this._d-this._c*this._b;return U&&!isNaN(U)&&isFinite(this._tx)&&isFinite(this._ty)},isSingular:function(){return!this.isInvertible()},transform:function(U,F,Q){return arguments.length<3?this._transformPoint(T.read(arguments)):this._transformCoordinates(U,F,Q)},_transformPoint:function(U,F,Q){var B=U.x,R=U.y;return F||(F=new T),F._set(B*this._a+R*this._c+this._tx,B*this._b+R*this._d+this._ty,Q)},_transformCoordinates:function(U,F,Q){for(var B=0,R=2*Q;BV[d]&&(V[d]=l)}return F||(F=new o),F._set(R[0],R[1],V[0]-R[0],V[1]-R[1],Q)},inverseTransform:function(){return this._inverseTransform(T.read(arguments))},_inverseTransform:function(U,F,Q){var B=this._a,R=this._b,V=this._c,n=this._d,l=this._tx,d=this._ty,J=B*n-R*V,N=null;if(J&&!isNaN(J)&&isFinite(l)&&isFinite(d)){var Z=U.x-this._tx,W=U.y-this._ty;F||(F=new T),N=F._set((Z*n-W*V)/J,(W*B-Z*R)/J,Q)}return N},decompose:function(){var U,F,Q,B=this._a,R=this._b,V=this._c,n=this._d,l=B*n-R*V,d=Math.sqrt,J=Math.atan2,N=180/Math.PI;if(0!==B||0!==R){var Z=d(B*B+R*R);U=Math.acos(B/Z)*(R>0?1:-1),F=[Z,l/Z],Q=[J(B*V+R*n,Z*Z),0]}else if(0!==V||0!==n){var W=d(V*V+n*n);U=Math.asin(V/W)*(n>0?1:-1),F=[l/W,W],Q=[0,J(B*V+R*n,W*W)]}else U=0,Q=F=[0,0];return{translation:this.getTranslation(),rotation:U*N,scaling:new T(F),skewing:new T(Q[0]*N,Q[1]*N)}},getValues:function(){return[this._a,this._b,this._c,this._d,this._tx,this._ty]},getTranslation:function(){return new T(this._tx,this._ty)},getScaling:function(){return this.decompose().scaling},getRotation:function(){return this.decompose().rotation},applyToContext:function(U){this.isIdentity()||U.transform(this._a,this._b,this._c,this._d,this._tx,this._ty)}},N.each(["a","b","c","d","tx","ty"],function(U){var F=N.capitalize(U),Q="_"+U;this["get"+F]=function(){return this[Q]},this["set"+F]=function(U){this[Q]=U,this._changed()}},{})),c=N.extend({_class:"Line",initialize:function(U,F,Q,B,R){var V=!1;arguments.length>=4?(this._px=U,this._py=F,this._vx=Q,this._vy=B,V=R):(this._px=U.x,this._py=U.y,this._vx=F.x,this._vy=F.y,V=Q),V||(this._vx-=this._px,this._vy-=this._py)},getPoint:function(){return new T(this._px,this._py)},getVector:function(){return new T(this._vx,this._vy)},getLength:function(){return this.getVector().getLength()},intersect:function(U,F){return c.intersect(this._px,this._py,this._vx,this._vy,U._px,U._py,U._vx,U._vy,!0,F)},getSide:function(U,F){return c.getSide(this._px,this._py,this._vx,this._vy,U.x,U.y,!0,F)},getDistance:function(U){return Math.abs(this.getSignedDistance(U))},getSignedDistance:function(U){return c.getSignedDistance(this._px,this._py,this._vx,this._vy,U.x,U.y,!0)},isCollinear:function(U){return T.isCollinear(this._vx,this._vy,U._vx,U._vy)},isOrthogonal:function(U){return T.isOrthogonal(this._vx,this._vy,U._vx,U._vy)},statics:{intersect:function(U,F,Q,B,R,V,n,l,d,J){d||(Q-=U,B-=F,n-=R,l-=V);var N=Q*l-B*n;if(!t.isMachineZero(N)){var Z=U-R,W=F-V,S=(n*W-l*Z)/N,E=(Q*W-B*Z)/N,k=-1e-12,a=1+1e-12;if(J||k=1?1:S),new T(U+S*Q,F+S*B)}},getSide:function(U,F,Q,B,R,V,n,l){n||(Q-=U,B-=F);var d=R-U,J=d*B-(V-F)*Q;return!l&&t.isMachineZero(J)&&(J=(d*Q+d*Q)/(Q*Q+B*B))>=0&&J<=1&&(J=0),J<0?-1:J>0?1:0},getSignedDistance:function(U,F,Q,B,R,V,n){return n||(Q-=U,B-=F),0===Q?B>0?R-U:U-R:0===B?Q<0?V-F:F-V:((R-U)*B-(V-F)*Q)/(B>Q?B*Math.sqrt(1+Q*Q/(B*B)):Q*Math.sqrt(1+B*B/(Q*Q)))},getDistance:function(U,F,Q,B,R,V,n){return Math.abs(c.getSignedDistance(U,F,Q,B,R,V,n))}}}),r=S.extend({_class:"Project",_list:"projects",_reference:"project",_compactSerialize:!0,initialize:function(U){S.call(this,!0),this._children=[],this._namedChildren={},this._activeLayer=null,this._currentStyle=new P(null,null,this),this._view=_.create(this,U||dU.getCanvas(1,1)),this._selectionItems={},this._selectionCount=0,this._updateVersion=0},_serialize:function(U,F){return N.serialize(this._children,U,!0,F)},_changed:function(U,F){if(1&U){var Q=this._view;Q&&(Q._needsUpdate=!0,!Q._requested&&Q._autoUpdate&&Q.requestUpdate())}var B=this._changes;if(B&&F){var R=this._changesById,V=F._id,n=R[V];n?n.flags|=U:B.push(R[V]={item:F,flags:U})}},clear:function(){for(var U=this._children,F=U.length-1;F>=0;F--)U[F].remove()},isEmpty:function(){return!this._children.length},remove:function U(){return!!U.base.call(this)&&(this._view&&this._view.remove(),!0)},getView:function(){return this._view},getCurrentStyle:function(){return this._currentStyle},setCurrentStyle:function(U){this._currentStyle.set(U)},getIndex:function(){return this._index},getOptions:function(){return this._scope.settings},getLayers:function(){return this._children},getActiveLayer:function(){return this._activeLayer||new i({project:this,insert:!0})},getSymbolDefinitions:function(){var U=[],F={};return this.getItems({class:G,match:function(Q){var B=Q._definition,R=B._id;return F[R]||(F[R]=!0,U.push(B)),!1}}),U},getSymbols:"getSymbolDefinitions",getSelectedItems:function(){var U=this._selectionItems,F=[];for(var Q in U){var B=U[Q],R=B._selection;1&R&&B.isInserted()?F.push(B):R||this._updateSelection(B)}return F},_updateSelection:function(U){var F=U._id,Q=this._selectionItems;U._selection?Q[F]!==U&&(this._selectionCount++,Q[F]=U):Q[F]===U&&(this._selectionCount--,delete Q[F])},selectAll:function(){for(var U=this._children,F=0,Q=U.length;F0){U.save(),U.strokeWidth=1;var l=this._selectionItems,d=this._scope.settings.handleSize,J=this._updateVersion;for(var Z in l)l[Z]._drawSelection(U,F,d,l,J);U.restore()}}}),m=N.extend(Z,{statics:{extend:function U(F){return F._serializeFields&&(F._serializeFields=N.set({},this.prototype._serializeFields,F._serializeFields)),U.base.apply(this,arguments)},INSERT:{insert:!0},NO_INSERT:{insert:!1}},_class:"Item",_name:null,_applyMatrix:!0,_canApplyMatrix:!0,_canScaleStroke:!1,_pivot:null,_visible:!0,_blendMode:"normal",_opacity:1,_locked:!1,_guide:!1,_clipMask:!1,_selection:0,_selectBounds:!0,_selectChildren:!1,_serializeFields:{name:null,applyMatrix:null,matrix:new h,pivot:null,visible:!0,blendMode:"normal",opacity:1,locked:!1,guide:!1,clipMask:!1,selected:!1,data:{}},_prioritize:["applyMatrix"]},new function(){var U=["onMouseDown","onMouseUp","onMouseDrag","onClick","onDoubleClick","onMouseMove","onMouseEnter","onMouseLeave"];return N.each(U,function(U){this._events[U]={install:function(U){this.getView()._countItemEvent(U,1)},uninstall:function(U){this.getView()._countItemEvent(U,-1)}}},{_events:{onFrame:{install:function(){this.getView()._animateItem(this,!0)},uninstall:function(){this.getView()._animateItem(this,!1)}},onLoad:{},onError:{}},statics:{_itemHandlers:U}})},{initialize:function(){},_initialize:function(U,F){var Q=U&&N.isPlainObject(U),B=Q&&!0===U.internal,R=this._matrix=new h,V=Q&&U.project||WU.project,n=WU.settings;return this._id=B?null:a.get(),this._parent=this._index=null,this._applyMatrix=this._canApplyMatrix&&n.applyMatrix,F&&R.translate(F),R._owner=this,this._style=new P(V._currentStyle,this,V),B||Q&&0==U.insert||!n.insertItems&&(!Q||1!=U.insert)?this._setProject(V):(Q&&U.parent||V)._insertItem(l,this,!0),Q&&U!==m.NO_INSERT&&U!==m.INSERT&&this.set(U,{internal:!0,insert:!0,project:!0,parent:!0}),Q},_serialize:function(U,F){var Q={},B=this;function R(R){for(var V in R){var n=B[V];N.equals(n,"leading"===V?1.2*R.fontSize:R[V])||(Q[V]=N.serialize(n,U,"data"!==V,F))}}return R(this._serializeFields),this instanceof M||R(this._style._defaults),[this._class,Q]},_changed:function(U){var F=this._symbol,Q=this._parent||F,B=this._project;8&U&&(this._bounds=this._position=this._decomposed=l),16&U&&(this._globalMatrix=l),Q&&72&U&&m._clearBoundsCache(Q),2&U&&m._clearBoundsCache(this),B&&B._changed(U,this),F&&F._changed(U)},getId:function(){return this._id},getName:function(){return this._name},setName:function(U){if(this._name&&this._removeNamed(),U===+U+"")throw new Error("Names consisting only of numbers are not supported.");var F=this._getOwner();if(U&&F){var Q=F._children,B=F._namedChildren;(B[U]=B[U]||[]).push(this),U in Q||(Q[U]=this)}this._name=U||l,this._changed(256)},getStyle:function(){return this._style},setStyle:function(U){this.getStyle().set(U)}},N.each(["locked","visible","blendMode","opacity","guide"],function(U){var F=N.capitalize(U),Q="_"+U,B={locked:256,visible:265};this["get"+F]=function(){return this[Q]},this["set"+F]=function(F){F!=this[Q]&&(this[Q]=F,this._changed(B[U]||257))}},{}),{beans:!0,getSelection:function(){return this._selection},setSelection:function(U){if(U!==this._selection){this._selection=U;var F=this._project;F&&(F._updateSelection(this),this._changed(257))}},_changeSelection:function(U,F){var Q=this._selection;this.setSelection(F?Q|U:Q&~U)},isSelected:function(){if(this._selectChildren)for(var U=this._children,F=0,Q=U.length;F=0;Q--)if(F[Q].contains(U))return!0;return!1}return U.isInside(this.getInternalBounds())},isInside:function(){return o.read(arguments).contains(this.getBounds())},_asPathItem:function(){return new H.Rectangle({rectangle:this.getInternalBounds(),matrix:this._matrix,insert:!1})},intersects:function(U,F){return U instanceof m&&this._asPathItem().getIntersections(U._asPathItem(),null,F,!0).length>0}},new function(){function U(){var U=arguments;return this._hitTest(T.read(U),X.getOptions(U))}function F(){var U=arguments,F=T.read(U),Q=X.getOptions(U),B=[];return this._hitTest(F,new N({all:B},Q)),B}function Q(U,F,Q,B){var R=this._children;if(R)for(var V=R.length-1;V>=0;V--){var n=R[V],l=n!==B&&n._hitTest(U,F,Q);if(l&&!F.all)return l}return null}return r.inject({hitTest:U,hitTestAll:F,_hitTest:Q}),{hitTest:U,hitTestAll:F,_hitTestChildren:Q}},{_hitTest:function(U,F,Q){if(this._locked||!this._visible||this._guide&&!F.guides||this.isEmpty())return null;var B=this._matrix,R=Q?Q.appended(B):this.getGlobalMatrix().prepend(this.getView()._matrix),V=Math.max(F.tolerance,1e-12),n=F._tolerancePadding=new C(H._getStrokePadding(V,B._shiftless().invert()));if(!(U=B._inverseTransform(U))||!this._children&&!this.getBounds({internal:!0,stroke:!0,handle:!0}).expand(n.multiply(2))._containsPoint(U))return null;var l,d,J=!(F.guides&&!this._guide||F.selected&&!this.isSelected()||F.type&&F.type!==N.hyphenate(this._class)||F.class&&!(this instanceof F.class)),Z=F.match,W=this;function S(U){return U&&Z&&!Z(U)&&(U=null),U&&F.all&&F.all.push(U),U}function E(F,Q){var B=Q?l["get"+Q]():W.getPosition();if(U.subtract(B).divide(n).length<=1)return new X(F,W,{name:Q?N.hyphenate(Q):F,point:B})}var k=F.position,t=F.center,a=F.bounds;if(J&&this._parent&&(k||t||a)){if((t||a)&&(l=this.getInternalBounds()),!(d=k&&E("position")||t&&E("center","Center"))&&a)for(var T=["TopLeft","TopRight","BottomLeft","BottomRight","LeftCenter","TopCenter","RightCenter","BottomCenter"],e=0;e<8&&!d;e++)d=E("bounds",T[e]);d=S(d)}return d||(d=this._hitTestChildren(U,F,R)||J&&S(this._hitTestSelf(U,F,R,this.getStrokeScaling()?null:R._shiftless().invert()))||null),d&&d.point&&(d.point=B.transform(d.point)),d},_hitTestSelf:function(U,F){if(F.fill&&this.hasFill()&&this._contains(U))return new X("fill",this)},matches:function(U,F){var Q=typeof U;if("object"===Q){for(var B in U)if(U.hasOwnProperty(B)&&!this.matches(B,U[B]))return!1;return!0}if("function"===Q)return U(this);if("match"===U)return F(this);var R=/^(empty|editable)$/.test(U)?this["is"+N.capitalize(U)]():"type"===U?N.hyphenate(this._class):this[U];if("class"===U){if("function"===typeof F)return this instanceof F;R=this._class}if("function"===typeof F)return!!F(R);if(F){if(F.test)return F.test(R);if(N.isPlainObject(F))return function U(F,Q){for(var B in F)if(F.hasOwnProperty(B)){var R=F[B],V=Q[B];if(N.isPlainObject(R)&&N.isPlainObject(V)){if(!U(R,V))return!1}else if(!N.equals(R,V))return!1}return!0}(F,R)}return N.equals(R,F)},getItems:function(U){return m._getItems(this,U,this._matrix)},getItem:function(U){return m._getItems(this,U,this._matrix,null,!0)[0]||null},statics:{_getItems:function U(F,Q,B,R,V){if(!R){var n="object"===typeof Q&&Q,l=n&&n.overlapping,d=n&&n.inside,J=(T=l||d)&&o.read([T]);R={items:[],recursive:n&&!1!==n.recursive,inside:!!d,overlapping:!!l,rect:J,path:l&&new H.Rectangle({rectangle:J,insert:!1})},n&&(Q=N.filter({},Q,{recursive:!0,inside:!0,overlapping:!0}))}var Z=F._children,W=R.items;B=(J=R.rect)&&(B||new h);for(var S=0,E=Z&&Z.length;S0)break}return W}}},{importJSON:function(U){var F=N.importJSON(U,this);return F!==this?this.addChild(F):F},addChild:function(U){return this.insertChild(l,U)},insertChild:function(U,F){var Q=F?this.insertChildren(U,[F]):null;return Q&&Q[0]},addChildren:function(U){return this.insertChildren(this._children.length,U)},insertChildren:function(U,F){var Q=this._children;if(Q&&F&&F.length>0){for(var B={},R=(F=N.slice(F)).length-1;R>=0;R--){var V=(J=F[R])&&J._id;!J||B[V]?F.splice(R,1):(J._remove(!1,!0),B[V]=!0)}N.splice(Q,F,U,0);for(var n=this._project,l=n._changes,d=(R=0,F.length);R=0;B--)Q[B]._remove(!0,!1);return Q.length>0&&this._changed(11),Q},clear:"#removeChildren",reverseChildren:function(){if(this._children){this._children.reverse();for(var U=0,F=this._children.length;U0},isInserted:function(){return!!this._parent&&this._parent.isInserted()},isAbove:function(U){return-1===this._getOrder(U)},isBelow:function(U){return 1===this._getOrder(U)},isParent:function(U){return this._parent===U},isChild:function(U){return U&&U._parent===this},isDescendant:function(U){for(var F=this;F=F._parent;)if(F===U)return!0;return!1},isAncestor:function(U){return!!U&&U.isDescendant(this)},isSibling:function(U){return this._parent===U._parent},isGroupedWith:function(U){for(var F=this._parent;F;){if(F._parent&&/^(Group|Layer|CompoundPath)$/.test(F._class)&&U.isDescendant(F))return!0;F=F._parent}return!1}},N.each(["rotate","scale","shear","skew"],function(U){var F="rotate"===U;this[U]=function(){var Q=arguments,B=(F?N:T).read(Q),R=T.read(Q,0,{readNull:!0});return this.transform((new h)[U](B,R||this.getPosition(!0)))}},{translate:function(){var U=new h;return this.transform(U.translate.apply(U,arguments))},transform:function(U,F,Q){var B=this._matrix,R=U&&!U.isIdentity(),V=Q&&this._canApplyMatrix||this._applyMatrix&&(R||!B.isIdentity()||F&&this._children);if(!R&&!V)return this;if(R){!U.isInvertible()&&B.isInvertible()&&(B._backup=B.getValues()),B.prepend(U,!0);var n=this._style,l=n.getFillColor(!0),d=n.getStrokeColor(!0);l&&l.transform(U),d&&d.transform(U)}if(V&&(V=this._transformContent(B,F,Q))){var J=this._pivot;J&&B._transformPoint(J,J,!0),B.reset(!0),Q&&this._canApplyMatrix&&(this._applyMatrix=!0)}var N=this._bounds,Z=this._position;(R||V)&&this._changed(25);var W=R&&N&&U.decompose();if(W&&W.skewing.isZero()&&W.rotation%90===0){for(var S in N){var E=N[S];if(E.nonscaling)delete N[S];else if(V||!E.internal){var k=E.rect;U._transformBounds(k,k)}}this._bounds=N;var t=N[this._getBoundsCacheKey(this._boundsOptions||{})];t&&(this._position=this._getPositionFromBounds(t.rect))}else R&&Z&&this._pivot&&(this._position=U._transformPoint(Z,Z));return this},_transformContent:function(U,F,Q){var B=this._children;if(B){for(var R=0,V=B.length;RR:B1&&V<4?-1:1,V>2?-1:1),l=n.multiply(R),d=l.subtract(n.multiply(B));if(new o(Q?l.add(n.multiply(Q)):l,d).contains(F))return{point:d,quadrant:V}}}function F(U,F,Q,B){var R=U.divide(F);return(!B||R.isInQuadrant(B))&&R.subtract(R.normalize()).multiply(F).divide(Q).length<=1}return{_contains:function F(Q){if("rectangle"===this._type){var B=U(this,Q);return B?Q.subtract(B.point).divide(this._radius).getLength()<=1:F.base.call(this,Q)}return Q.divide(this.size).getLength()<=.5},_hitTestSelf:function Q(B,R,V,n){var l=!1,d=this._style,J=R.stroke&&d.hasStroke(),N=R.fill&&d.hasFill();if(J||N){var Z=this._type,W=this._radius,S=J?d.getStrokeWidth()/2:0,E=R._tolerancePadding.add(H._getStrokePadding(S,!d.getStrokeScaling()&&n));if("rectangle"===Z){var k=E.multiply(2),t=U(this,B,k);if(t)l=F(B.subtract(t.point),W,E,t.quadrant);else{var a=new o(this._size).setCenter(0,0),T=a.expand(k),e=a.expand(k.negate());l=T._containsPoint(B)&&!e._containsPoint(B)}}else l=F(B,W,E)}return l?new X(J?"stroke":"fill",this):Q.base.apply(this,arguments)}}},{statics:new function(){function U(U,F,Q,B,R){var V=N.create(b.prototype);return V._type=U,V._size=Q,V._radius=B,V._initialize(N.getNamed(R),F),V}return{Circle:function(){var F=arguments,Q=T.readNamed(F,"center"),B=N.readNamed(F,"radius");return U("circle",Q,new C(2*B),B,F)},Rectangle:function(){var F=arguments,Q=o.readNamed(F,"rectangle"),B=C.min(C.readNamed(F,"radius"),Q.getSize(!0).divide(2));return U("rectangle",Q.getCenter(!0),Q.getSize(!0),B,F)},Ellipse:function(){var F=arguments,Q=b._readEllipse(F),B=Q.radius;return U("ellipse",Q.center,B.multiply(2),B,F)},_readEllipse:function(U){var F,Q;if(N.hasNamed(U,"radius"))F=T.readNamed(U,"center"),Q=C.readNamed(U,"radius");else{var B=o.readNamed(U,"rectangle");F=B.getCenter(!0),Q=B.getSize(!0).divide(2)}return{center:F,radius:Q}}}}}),v=m.extend({_class:"Raster",_applyMatrix:!1,_canApplyMatrix:!1,_boundsOptions:{stroke:!1,handle:!1},_serializeFields:{crossOrigin:null,source:null},_prioritize:["crossOrigin"],_smoothing:"low",beans:!0,initialize:function(U,F){if(!this._initialize(U,F!==l&&T.read(arguments))){var Q,B=typeof U,R="string"===B?J.getElementById(U):"object"===B?U:null;if(R&&R!==m.NO_INSERT)if(R.getContext||null!=R.naturalHeight)Q=R;else if(R){var V=C.read(arguments);V.isZero()||(Q=dU.getCanvas(V))}Q?this.setImage(Q):this.setSource(U)}this._size||(this._size=new C,this._loaded=!1)},_equals:function(U){return this.getSource()===U.getSource()},copyContent:function(U){var F=U._image,Q=U._canvas;if(F)this._setImage(F);else if(Q){var B=dU.getCanvas(U._size);B.getContext("2d").drawImage(Q,0,0),this._setImage(B)}this._crossOrigin=U._crossOrigin},getSize:function(){var U=this._size;return new D(U?U.width:0,U?U.height:0,this,"setSize")},setSize:function(U,F){var Q=C.read(arguments);if(Q.equals(this._size))F&&this.clear();else if(Q.width>0&&Q.height>0){var B=!F&&this.getElement();this._setImage(dU.getCanvas(Q)),B&&this.getContext(!0).drawImage(B,0,0,Q.width,Q.height)}else this._canvas&&dU.release(this._canvas),this._size=Q.clone()},getWidth:function(){return this._size?this._size.width:0},setWidth:function(U){this.setSize(U,this.getHeight())},getHeight:function(){return this._size?this._size.height:0},setHeight:function(U){this.setSize(this.getWidth(),U)},getLoaded:function(){return this._loaded},isEmpty:function(){var U=this._size;return!U||0===U.width&&0===U.height},getResolution:function(){var U=this._matrix,F=new T(0,0).transform(U),Q=new T(1,0).transform(U).subtract(F),B=new T(0,1).transform(U).subtract(F);return new C(72/Q.getLength(),72/B.getLength())},getPpi:"#getResolution",getImage:function(){return this._image},setImage:function(U){var F=this;function Q(U){var Q=F.getView(),B=U&&U.type||"load";Q&&F.responds(B)&&(WU=Q._scope,F.emit(B,new UU(U)))}this._setImage(U),this._loaded?setTimeout(Q,0):U&&q.add(U,{load:function(B){F._setImage(U),Q(B)},error:Q})},_setImage:function(U){this._canvas&&dU.release(this._canvas),U&&U.getContext?(this._image=null,this._canvas=U,this._loaded=!0):(this._image=U,this._canvas=null,this._loaded=!!(U&&U.src&&U.complete)),this._size=new C(U?U.naturalWidth||U.width:0,U?U.naturalHeight||U.height:0),this._context=null,this._changed(1033)},getCanvas:function(){if(!this._canvas){var U=dU.getContext(this._size);try{this._image&&U.drawImage(this._image,0,0),this._canvas=U.canvas}catch(F){dU.release(U)}}return this._canvas},setCanvas:"#setImage",getContext:function(U){return this._context||(this._context=this.getCanvas().getContext("2d")),U&&(this._image=null,this._changed(1025)),this._context},setContext:function(U){this._context=U},getSource:function(){var U=this._image;return U&&U.src||this.toDataURL()},setSource:function(U){var F=new n.Image,Q=this._crossOrigin;Q&&(F.crossOrigin=Q),U&&(F.src=U),this.setImage(F)},getCrossOrigin:function(){var U=this._image;return U&&U.crossOrigin||this._crossOrigin||""},setCrossOrigin:function(U){this._crossOrigin=U;var F=this._image;F&&(F.crossOrigin=U)},getSmoothing:function(){return this._smoothing},setSmoothing:function(U){this._smoothing="string"===typeof U?U:U?"low":"off",this._changed(257)},getElement:function(){return this._canvas||this._loaded&&this._image}},{beans:!1,getSubCanvas:function(){var U=o.read(arguments),F=dU.getContext(U.getSize());return F.drawImage(this.getCanvas(),U.x,U.y,U.width,U.height,0,0,U.width,U.height),F.canvas},getSubRaster:function(){var U=o.read(arguments),F=new v(m.NO_INSERT);return F._setImage(this.getSubCanvas(U)),F.translate(U.getCenter().subtract(this.getSize().divide(2))),F._matrix.prepend(this._matrix),F.insertAbove(this),F},toDataURL:function(){var U=this._image,F=U&&U.src;if(/^data:/.test(F))return F;var Q=this.getCanvas();return Q?Q.toDataURL.apply(Q,arguments):null},drawImage:function(U){var F=T.read(arguments,1);this.getContext(!0).drawImage(U,F.x,F.y)},getAverageColor:function(U){var F,Q;if(U?U instanceof L?(Q=U,F=U.getBounds()):"object"===typeof U&&("width"in U?F=new o(U):"x"in U&&(F=new o(U.x-.5,U.y-.5,1,1))):F=this.getBounds(),!F)return null;var B=Math.min(F.width,32),R=Math.min(F.height,32),V=v._sampleContext;V?V.clearRect(0,0,33,33):V=v._sampleContext=dU.getContext(new C(32)),V.save();var n=(new h).scale(B/F.width,R/F.height).translate(-F.x,-F.y);n.applyToContext(V),Q&&Q.draw(V,new N({clip:!0,matrices:[n]})),this._matrix.applyToContext(V);var l=this.getElement(),d=this._size;l&&V.drawImage(l,-d.width/2,-d.height/2),V.restore();for(var J=V.getImageData(.5,.5,Math.ceil(B),Math.ceil(R)).data,Z=[0,0,0],W=0,S=0,E=J.length;S0&&B.height>0){U.globalAlpha=t.clamp(this._opacity,0,1),this._setStyles(U,F,Q);var R=this._smoothing,V="off"===R;A.setPrefixed(U,V?"imageSmoothingEnabled":"imageSmoothingQuality",!V&&R),U.drawImage(B,-this._size.width/2,-this._size.height/2)}},_canComposite:function(){return!0}}),G=m.extend({_class:"SymbolItem",_applyMatrix:!1,_canApplyMatrix:!1,_boundsOptions:{stroke:!0},_serializeFields:{symbol:null},initialize:function(U,F){this._initialize(U,F!==l&&T.read(arguments,1))||this.setDefinition(U instanceof s?U:new s(U))},_equals:function(U){return this._definition===U._definition},copyContent:function(U){this.setDefinition(U._definition)},getDefinition:function(){return this._definition},setDefinition:function(U){this._definition=U,this._changed(9)},getSymbol:"#getDefinition",setSymbol:"#setDefinition",isEmpty:function(){return this._definition._item.isEmpty()},_getBounds:function(U,F){var Q=this._definition._item;return Q._getCachedBounds(Q._matrix.prepended(U),F)},_hitTestSelf:function(U,F,Q){var B=F.extend({all:!1}),R=this._definition._item._hitTest(U,B,Q);return R&&(R.item=this),R},_draw:function(U,F){this._definition._item.draw(U,F)}}),s=N.extend({_class:"SymbolDefinition",initialize:function(U,F){this._id=a.get(),this.project=WU.project,U&&this.setItem(U,F)},_serialize:function(U,F){return F.add(this,function(){return N.serialize([this._class,this._item],U,!1,F)})},_changed:function(U){8&U&&m._clearBoundsCache(this),1&U&&this.project._changed(U)},getItem:function(){return this._item},setItem:function(U,F){U._symbol&&(U=U.clone()),this._item&&(this._item._symbol=null),this._item=U,U.remove(),U.setSelected(!1),F||U.setPosition(new T),U._symbol=this,this._changed(9)},getDefinition:"#getItem",setDefinition:"#setItem",place:function(U){return new G(this,U)},clone:function(){return new s(this._item.clone(!1))},equals:function(U){return U===this||U&&this._item.equals(U._item)||!1}}),X=N.extend({_class:"HitResult",initialize:function(U,F,Q){this.type=U,this.item=F,Q&&this.inject(Q)},statics:{getOptions:function(U){var F=U&&N.read(U);return new N({type:null,tolerance:WU.settings.hitTolerance,fill:!F,stroke:!F,segments:!F,handles:!1,ends:!1,position:!1,center:!1,bounds:!1,guides:!1,selected:!1},F)}}}),Y=N.extend({_class:"Segment",beans:!0,_selection:0,initialize:function(U,F,Q,B,R,V){var n,d,J,N,Z=arguments.length;Z>0&&(null==U||"object"===typeof U?1===Z&&U&&"point"in U?(n=U.point,d=U.handleIn,J=U.handleOut,N=U.selection):(n=U,d=F,J=Q,N=B):(n=[U,F],d=Q!==l?[Q,B]:null,J=R!==l?[R,V]:null)),new y(n,this,"_point"),new y(d,this,"_handleIn"),new y(J,this,"_handleOut"),N&&this.setSelection(N)},_serialize:function(U,F){var Q=this._point,B=this._selection,R=B||this.hasHandles()?[Q,this._handleIn,this._handleOut]:Q;return B&&R.push(B),N.serialize(R,U,!0,F)},_changed:function(U){var F=this._path;if(F){var Q,B=F._curves,R=this._index;B&&(U&&U!==this._point&&U!==this._handleIn||!(Q=R>0?B[R-1]:F._closed?B[B.length-1]:null)||Q._changed(),U&&U!==this._point&&U!==this._handleOut||!(Q=B[R])||Q._changed()),F._changed(41)}},getPoint:function(){return this._point},setPoint:function(){this._point.set(T.read(arguments))},getHandleIn:function(){return this._handleIn},setHandleIn:function(){this._handleIn.set(T.read(arguments))},getHandleOut:function(){return this._handleOut},setHandleOut:function(){this._handleOut.set(T.read(arguments))},hasHandles:function(){return!this._handleIn.isZero()||!this._handleOut.isZero()},isSmooth:function(){var U=this._handleIn,F=this._handleOut;return!U.isZero()&&!F.isZero()&&U.isCollinear(F)},clearHandles:function(){this._handleIn._set(0,0),this._handleOut._set(0,0)},getSelection:function(){return this._selection},setSelection:function(U){var F=this._selection,Q=this._path;this._selection=U=U||0,Q&&U!==F&&(Q._updateSelection(this,F,U),Q._changed(257))},_changeSelection:function(U,F){var Q=this._selection;this.setSelection(F?Q|U:Q&~U)},isSelected:function(){return!!(7&this._selection)},setSelected:function(U){this._changeSelection(7,U)},getIndex:function(){return this._index!==l?this._index:null},getPath:function(){return this._path||null},getCurve:function(){var U=this._path,F=this._index;return U?(F>0&&!U._closed&&F===U._segments.length-1&&F--,U.getCurves()[F]||null):null},getLocation:function(){var U=this.getCurve();return U?new O(U,this===U._segment1?0:1):null},getNext:function(){var U=this._path&&this._path._segments;return U&&(U[this._index+1]||this._path._closed&&U[0])||null},smooth:function(U,F,Q){var B=U||{},R=B.type,V=B.factor,n=this.getPrevious(),d=this.getNext(),J=(n||this)._point,N=this._point,Z=(d||this)._point,W=J.getDistance(N),S=N.getDistance(Z);if(R&&"catmull-rom"!==R){if("geometric"!==R)throw new Error("Smoothing method '"+R+"' not supported.");if(n&&d){var E=J.subtract(Z),k=V===l?.4:V,t=k*W/(W+S);F||this.setHandleIn(E.multiply(t)),Q||this.setHandleOut(E.multiply(t-k))}}else{var a=V===l?.5:V,e=Math.pow(W,a),C=e*e,D=Math.pow(S,a),o=D*D;if(!F&&n){var p=2*o+3*D*e+C,h=3*D*(D+e);this.setHandleIn(0!==h?new T((o*J._x+p*N._x-C*Z._x)/h-N._x,(o*J._y+p*N._y-C*Z._y)/h-N._y):new T)}if(!Q&&d){p=2*C+3*e*D+o,h=3*e*(e+D);this.setHandleOut(0!==h?new T((C*Z._x+p*N._x-o*J._x)/h-N._x,(C*Z._y+p*N._y-o*J._y)/h-N._y):new T)}}},getPrevious:function(){var U=this._path&&this._path._segments;return U&&(U[this._index-1]||this._path._closed&&U[U.length-1])||null},isFirst:function(){return!this._index},isLast:function(){var U=this._path;return U&&this._index===U._segments.length-1||!1},reverse:function(){var U=this._handleIn,F=this._handleOut,Q=U.clone();U.set(F),F.set(Q)},reversed:function(){return new Y(this._point,this._handleOut,this._handleIn)},remove:function(){return!!this._path&&!!this._path.removeSegment(this._index)},clone:function(){return new Y(this._point,this._handleIn,this._handleOut)},equals:function(U){return U===this||U&&this._class===U._class&&this._point.equals(U._point)&&this._handleIn.equals(U._handleIn)&&this._handleOut.equals(U._handleOut)||!1},toString:function(){var U=["point: "+this._point];return this._handleIn.isZero()||U.push("handleIn: "+this._handleIn),this._handleOut.isZero()||U.push("handleOut: "+this._handleOut),"{ "+U.join(", ")+" }"},transform:function(U){this._transformCoordinates(U,new Array(6),!0),this._changed()},interpolate:function(U,F,Q){var B=1-Q,R=Q,V=U._point,n=F._point,l=U._handleIn,d=F._handleIn,J=F._handleOut,N=U._handleOut;this._point._set(B*V._x+R*n._x,B*V._y+R*n._y,!0),this._handleIn._set(B*l._x+R*d._x,B*l._y+R*d._y,!0),this._handleOut._set(B*N._x+R*J._x,B*N._y+R*J._y,!0),this._changed()},_transformCoordinates:function(U,F,Q){var B=this._point,R=Q&&this._handleIn.isZero()?null:this._handleIn,V=Q&&this._handleOut.isZero()?null:this._handleOut,n=B._x,l=B._y,d=2;return F[0]=n,F[1]=l,R&&(F[d++]=R._x+n,F[d++]=R._y+l),V&&(F[d++]=V._x+n,F[d++]=V._y+l),U&&(U._transformCoordinates(F,F,d/2),n=F[0],l=F[1],Q?(B._x=n,B._y=l,d=2,R&&(R._x=F[d++]-n,R._y=F[d++]-l),V&&(V._x=F[d++]-n,V._y=F[d++]-l)):(R||(F[d++]=n,F[d++]=l),V||(F[d++]=n,F[d++]=l))),F}}),y=T.extend({initialize:function(U,F,Q){var B,R,V;if(U)if((B=U[0])!==l)R=U[1];else{var n=U;(B=n.x)===l&&(B=(n=T.read(arguments)).x),R=n.y,V=n.selected}else B=R=0;this._x=B,this._y=R,this._owner=F,F[Q]=this,V&&this.setSelected(!0)},_set:function(U,F){return this._x=U,this._y=F,this._owner._changed(this),this},getX:function(){return this._x},setX:function(U){this._x=U,this._owner._changed(this)},getY:function(){return this._y},setY:function(U){this._y=U,this._owner._changed(this)},isZero:function(){var U=t.isZero;return U(this._x)&&U(this._y)},isSelected:function(){return!!(this._owner._selection&this._getSelection())},setSelected:function(U){this._owner._changeSelection(this._getSelection(),U)},_getSelection:function(){var U=this._owner;return this===U._point?1:this===U._handleIn?2:this===U._handleOut?4:0}}),z=N.extend({_class:"Curve",beans:!0,initialize:function(U,F,Q,B,R,V,n,l){var d,J,N,Z,W,S,E=arguments.length;3===E?(this._path=U,d=F,J=Q):E?1===E?"segment1"in U?(d=new Y(U.segment1),J=new Y(U.segment2)):"point1"in U?(N=U.point1,W=U.handle1,S=U.handle2,Z=U.point2):Array.isArray(U)&&(N=[U[0],U[1]],Z=[U[6],U[7]],W=[U[2]-U[0],U[3]-U[1]],S=[U[4]-U[6],U[5]-U[7]]):2===E?(d=new Y(U),J=new Y(F)):4===E?(N=U,W=F,S=Q,Z=B):8===E&&(N=[U,F],Z=[n,l],W=[Q-U,B-F],S=[R-n,V-l]):(d=new Y,J=new Y),this._segment1=d||new Y(N,null,W),this._segment2=J||new Y(Z,S,null)},_serialize:function(U,F){return N.serialize(this.hasHandles()?[this.getPoint1(),this.getHandle1(),this.getHandle2(),this.getPoint2()]:[this.getPoint1(),this.getPoint2()],U,!0,F)},_changed:function(){this._length=this._bounds=l},clone:function(){return new z(this._segment1,this._segment2)},toString:function(){var U=["point1: "+this._segment1._point];return this._segment1._handleOut.isZero()||U.push("handle1: "+this._segment1._handleOut),this._segment2._handleIn.isZero()||U.push("handle2: "+this._segment2._handleIn),U.push("point2: "+this._segment2._point),"{ "+U.join(", ")+" }"},classify:function(){return z.classify(this.getValues())},remove:function(){var U=!1;if(this._path){var F=this._segment2,Q=F._handleOut;(U=F.remove())&&this._segment1._handleOut.set(Q)}return U},getPoint1:function(){return this._segment1._point},setPoint1:function(){this._segment1._point.set(T.read(arguments))},getPoint2:function(){return this._segment2._point},setPoint2:function(){this._segment2._point.set(T.read(arguments))},getHandle1:function(){return this._segment1._handleOut},setHandle1:function(){this._segment1._handleOut.set(T.read(arguments))},getHandle2:function(){return this._segment2._handleIn},setHandle2:function(){this._segment2._handleIn.set(T.read(arguments))},getSegment1:function(){return this._segment1},getSegment2:function(){return this._segment2},getPath:function(){return this._path},getIndex:function(){return this._segment1._index},getNext:function(){var U=this._path&&this._path._curves;return U&&(U[this._segment1._index+1]||this._path._closed&&U[0])||null},getPrevious:function(){var U=this._path&&this._path._curves;return U&&(U[this._segment1._index-1]||this._path._closed&&U[U.length-1])||null},isFirst:function(){return!this._segment1._index},isLast:function(){var U=this._path;return U&&this._segment1._index===U._curves.length-1||!1},isSelected:function(){return this.getPoint1().isSelected()&&this.getHandle1().isSelected()&&this.getHandle2().isSelected()&&this.getPoint2().isSelected()},setSelected:function(U){this.getPoint1().setSelected(U),this.getHandle1().setSelected(U),this.getHandle2().setSelected(U),this.getPoint2().setSelected(U)},getValues:function(U){return z.getValues(this._segment1,this._segment2,U)},getPoints:function(){for(var U=this.getValues(),F=[],Q=0;Q<8;Q+=2)F.push(new T(U[Q],U[Q+1]));return F}},{getLength:function(){return null==this._length&&(this._length=z.getLength(this.getValues(),0,1)),this._length},getArea:function(){return z.getArea(this.getValues())},getLine:function(){return new c(this._segment1._point,this._segment2._point)},getPart:function(U,F){return new z(z.getPart(this.getValues(),U,F))},getPartLength:function(U,F){return z.getLength(this.getValues(),U,F)},divideAt:function(U){return this.divideAtTime(U&&U.curve===this?U.time:this.getTimeAt(U))},divideAtTime:function(U,F){var Q=null;if(U>=1e-8&&U<=.99999999){var B=z.subdivide(this.getValues(),U),R=B[0],V=B[1],n=F||this.hasHandles(),l=this._segment1,d=this._segment2,J=this._path;n&&(l._handleOut._set(R[2]-R[0],R[3]-R[1]),d._handleIn._set(V[4]-V[6],V[5]-V[7]));var N=R[6],Z=R[7],W=new Y(new T(N,Z),n&&new T(R[4]-N,R[5]-Z),n&&new T(V[2]-N,V[3]-Z));J?(J.insert(l._index+1,W),Q=this.getNext()):(this._segment2=W,this._changed(),Q=new z(W,d))}return Q},splitAt:function(U){var F=this._path;return F?F.splitAt(U):null},splitAtTime:function(U){return this.splitAt(this.getLocationAtTime(U))},divide:function(U,F){return this.divideAtTime(U===l?.5:F?U:this.getTimeAt(U))},split:function(U,F){return this.splitAtTime(U===l?.5:F?U:this.getTimeAt(U))},reversed:function(){return new z(this._segment2.reversed(),this._segment1.reversed())},clearHandles:function(){this._segment1._handleOut._set(0,0),this._segment2._handleIn._set(0,0)},statics:{getValues:function(U,F,Q,B){var R=U._point,V=U._handleOut,n=F._handleIn,l=F._point,d=R.x,J=R.y,N=l.x,Z=l.y,W=B?[d,J,d,J,N,Z,N,Z]:[d,J,d+V._x,J+V._y,N+n._x,Z+n._y,N,Z];return Q&&Q._transformCoordinates(W,W,4),W},subdivide:function(U,F){var Q=U[0],B=U[1],R=U[2],V=U[3],n=U[4],d=U[5],J=U[6],N=U[7];F===l&&(F=.5);var Z=1-F,W=Z*Q+F*R,S=Z*B+F*V,E=Z*R+F*n,k=Z*V+F*d,t=Z*n+F*J,a=Z*d+F*N,T=Z*W+F*E,e=Z*S+F*k,C=Z*E+F*t,D=Z*k+F*a,o=Z*T+F*C,p=Z*e+F*D;return[[Q,B,W,S,T,e,o,p],[o,p,C,D,t,a,J,N]]},getMonoCurves:function(U,F){var Q=[],B=F?0:1,R=U[B+0],V=U[B+2],n=U[B+4],l=U[B+6];if(R>=V===V>=n&&V>=n===n>=l||z.isStraight(U))Q.push(U);else{var d=3*(V-n)-R+l,J=2*(R+n)-4*V,N=V-R,Z=[],W=t.solveQuadratic(d,J,N,Z,1e-8,.99999999);if(W){Z.sort();var S=Z[0],E=z.subdivide(U,S);Q.push(E[0]),W>1&&(S=(Z[1]-S)/(1-S),E=z.subdivide(E[1],S),Q.push(E[0])),Q.push(E[1])}else Q.push(U)}return Q},solveCubic:function(U,F,Q,B,R,V){var n=U[F],l=U[F+2],d=U[F+4],J=U[F+6],N=0;if(!(nQ&&J>Q&&l>Q&&d>Q)){var Z=3*(l-n),W=3*(d-l)-Z,S=J-n-Z-W;N=t.solveCubic(S,W,Z,n-Q,B,R,V)}return N},getTimeOf:function(U,F){var Q=new T(U[0],U[1]),B=new T(U[6],U[7]),R=1e-7;if(null===(F.isClose(Q,1e-12)?0:F.isClose(B,1e-12)?1:null))for(var V=[F.x,F.y],n=[],l=0;l<2;l++)for(var d=z.solveCubic(U,l,V[l],n,0,1),J=0;J.999999999999?1:z.getTimeOf(U,new T(Q+l*R,B+l*V))}var d=1/0,J=0;function N(Q){if(Q>=0&&Q<=1){var B=F.getDistance(z.getPoint(U,Q),!0);if(B1e-8;)N(J-W)||N(J+W)||(W/=2);return J},getPart:function(U,F,Q){var B=F>Q;if(B){var R=F;F=Q,Q=R}return F>0&&(U=z.subdivide(U,F)[1]),Q<1&&(U=z.subdivide(U,(Q-F)/(1-F))[0]),B?[U[6],U[7],U[4],U[5],U[2],U[3],U[0],U[1]]:U},isFlatEnough:function(U,F){var Q=U[0],B=U[1],R=U[2],V=U[3],n=U[4],l=U[5],d=U[6],J=U[7],N=3*R-2*Q-d,Z=3*V-2*B-J,W=3*n-2*d-Q,S=3*l-2*J-B;return Math.max(N*N,W*W)+Math.max(Z*Z,S*S)<=16*F*F},getArea:function(U){var F=U[0],Q=U[1],B=U[2],R=U[3],V=U[4],n=U[5],l=U[6],d=U[7];return 3*((d-Q)*(B+V)-(l-F)*(R+n)+R*(F-V)-B*(Q-n)+d*(V+F/3)-l*(n+Q/3))/20},getBounds:function(U){for(var F=U.slice(0,2),Q=F.slice(),B=[0,0],R=0;R<2;R++)z._addBounds(U[R],U[R+2],U[R+4],U[R+6],R,0,F,Q,B);return new o(F[0],F[1],Q[0]-F[0],Q[1]-F[1])},_addBounds:function(U,F,Q,B,R,V,n,l,d){function J(U,F){var Q=U-F,B=U+F;Ql[R]&&(l[R]=B)}V/=2;var N=n[R]+V,Z=l[R]-V;if(UZ||F>Z||Q>Z||B>Z)if(F=0&&l<=1&&d<=0&&d>=-1}}return!1},isLinear:function(U,F,Q,B){var R=B.subtract(U).divide(3);return F.equals(R)&&Q.negate().equals(R)}},function(U,F){this[F]=function(F){var Q=this._segment1,B=this._segment2;return U(Q._point,Q._handleOut,B._handleIn,B._point,F)},this.statics[F]=function(F,Q){var B=F[0],R=F[1],V=F[6],n=F[7];return U(new T(B,R),new T(F[2]-B,F[3]-R),new T(F[4]-V,F[5]-n),new T(V,n),Q)}},{statics:{},hasHandles:function(){return!this._segment1._handleOut.isZero()||!this._segment2._handleIn.isZero()},hasLength:function(U){return(!this.getPoint1().equals(this.getPoint2())||this.hasHandles())&&this.getLength()>(U||0)},isCollinear:function(U){return U&&this.isStraight()&&U.isStraight()&&this.getLine().isCollinear(U.getLine())},isHorizontal:function(){return this.isStraight()&&Math.abs(this.getTangentAtTime(.5).y)<1e-8},isVertical:function(){return this.isStraight()&&Math.abs(this.getTangentAtTime(.5).x)<1e-8}}),{beans:!1,getLocationAt:function(U,F){return this.getLocationAtTime(F?U:this.getTimeAt(U))},getLocationAtTime:function(U){return null!=U&&U>=0&&U<=1?new O(this,U):null},getTimeAt:function(U,F){return z.getTimeAt(this.getValues(),U,F)},getParameterAt:"#getTimeAt",getTimesWithTangent:function(){var U=T.read(arguments);return U.isZero()?[]:z.getTimesWithTangent(this.getValues(),U)},getOffsetAtTime:function(U){return this.getPartLength(0,U)},getLocationOf:function(){return this.getLocationAtTime(this.getTimeOf(T.read(arguments)))},getOffsetOf:function(){var U=this.getLocationOf.apply(this,arguments);return U?U.getOffset():null},getTimeOf:function(){return z.getTimeOf(this.getValues(),T.read(arguments))},getParameterOf:"#getTimeOf",getNearestLocation:function(){var U=T.read(arguments),F=this.getValues(),Q=z.getNearestTime(F,U),B=z.getPoint(F,Q);return new O(this,Q,B,null,U.getDistance(B))},getNearestPoint:function(){var U=this.getNearestLocation.apply(this,arguments);return U?U.getPoint():U}},new function(){var U=["getPoint","getTangent","getNormal","getWeightedTangent","getWeightedNormal","getCurvature"];return N.each(U,function(U){this[U+"At"]=function(F,Q){var B=this.getValues();return z[U](B,Q?F:z.getTimeAt(B,F))},this[U+"AtTime"]=function(F){return z[U](this.getValues(),F)}},{statics:{_evaluateMethods:U}})},new function(){function U(U){var F=U[0],Q=U[1],B=U[2],R=U[3],V=U[4],n=U[5],l=U[6],d=U[7],J=9*(B-V)+3*(l-F),N=6*(F+V)-12*B,Z=3*(B-F),W=9*(R-n)+3*(d-Q),S=6*(Q+n)-12*R,E=3*(R-Q);return function(U){var F=(J*U+N)*U+Z,Q=(W*U+S)*U+E;return Math.sqrt(F*F+Q*Q)}}function F(U,F){return Math.max(2,Math.min(16,Math.ceil(32*Math.abs(F-U))))}function Q(U,F,Q,B){if(null==F||F<0||F>1)return null;var R=U[0],V=U[1],n=U[2],l=U[3],d=U[4],J=U[5],N=U[6],Z=U[7],W=t.isZero;W(n-R)&&W(l-V)&&(n=R,l=V),W(d-N)&&W(J-Z)&&(d=N,J=Z);var S,E,k=3*(n-R),a=3*(d-n)-k,e=N-R-k-a,C=3*(l-V),D=3*(J-l)-C,o=Z-V-C-D;if(0===Q)S=0===F?R:1===F?N:((e*F+a)*F+k)*F+R,E=0===F?V:1===F?Z:((o*F+D)*F+C)*F+V;else{var p=1e-8,h=1-p;if(Fh?(S=3*(N-d),E=3*(Z-J)):(S=(3*e*F+2*a)*F+k,E=(3*o*F+2*D)*F+C),B){0===S&&0===E&&(Fh)&&(S=d-n,E=J-l);var c=Math.sqrt(S*S+E*E);c&&(S/=c,E/=c)}if(3===Q){d=6*e*F+2*a,J=6*o*F+2*D;var r=Math.pow(S*S+E*E,1.5);S=0!==r?(S*J-E*d)/r:0,E=0}}return 2===Q?new T(E,-S):new T(S,E)}return{statics:{classify:function(U){var F=U[0],Q=U[1],B=U[2],R=U[3],V=U[4],n=U[5],d=U[6],J=U[7],N=B*(Q-J)+R*(d-F)+F*J-Q*d,Z=3*(V*(R-Q)+n*(F-B)+B*Q-R*F),W=Z-N,S=W-N+(F*(J-n)+Q*(V-d)+d*n-J*V),E=Math.sqrt(S*S+W*W+Z*Z),k=0!==E?1/E:0,a=t.isZero,T="serpentine";function e(U,F,Q){var B=F!==l,R=B&&F>0&&F<1,V=B&&Q>0&&Q<1;return!B||(R||V)&&("loop"!==U||R&&V)||(U="arch",R=V=!1),{type:U,roots:R||V?R&&V?F0?Math.sqrt(C/3):Math.sqrt(-C),o=2*S;return e(C>0?T:"loop",(W+D)/o,(W-D)/o)},getLength:function(Q,B,R,V){if(B===l&&(B=0),R===l&&(R=1),z.isStraight(Q)){var n=Q;R<1&&(n=z.subdivide(n,R)[0],B/=R),B>0&&(n=z.subdivide(n,B)[1]);var d=n[6]-n[0],J=n[7]-n[1];return Math.sqrt(d*d+J*J)}return t.integrate(V||U(Q),B,R,F(B,R))},getTimeAt:function(Q,B,R){if(R===l&&(R=B<0?1:0),0===B)return R;var V=Math.abs,n=B>0,d=n?R:0,J=n?1:R,N=U(Q),Z=z.getLength(Q,d,J,N),W=V(B)-Z;if(V(W)<1e-12)return n?J:d;if(W>1e-12)return null;var S=B/Z,E=0;return t.findRoot(function(U){return E+=t.integrate(N,R,U,F(R,U)),R=U,E-B},N,R+S,d,J,32,1e-12)},getPoint:function(U,F){return Q(U,F,0,!1)},getTangent:function(U,F){return Q(U,F,1,!0)},getWeightedTangent:function(U,F){return Q(U,F,1,!1)},getNormal:function(U,F){return Q(U,F,2,!0)},getWeightedNormal:function(U,F){return Q(U,F,2,!1)},getCurvature:function(U,F){return Q(U,F,3,!1).x},getPeaks:function(U){var F=U[0],Q=U[1],B=U[2],R=U[3],V=U[4],n=U[5],l=3*B-F-3*V+U[6],d=3*F-6*B+3*V,J=-3*F+3*B,N=3*R-Q-3*n+U[7],Z=3*Q-6*R+3*n,W=-3*Q+3*R,S=[];return t.solveCubic(9*(l*l+N*N),9*(l*d+Z*N),2*(d*d+Z*Z)+3*(J*l+W*N),J*d+Z*W,S,1e-8,.99999999),S.sort()}}}},new function(){function U(U,F,Q,B,R,V,n){var l=!n&&Q.getPrevious()===R,d=!n&&Q!==R&&Q.getNext()===R,J=1e-8,N=1-J;if(null!==B&&B>=(l?J:0)&&B<=(d?N:1)&&null!==V&&V>=(d?J:0)&&V<=(l?N:1)){var Z=new O(Q,B,null,n),W=new O(R,V,null,n);Z._intersection=W,W._intersection=Z,F&&!F(Z)||O.insert(U,Z,!0)}}function F(B,R,V,n,l,d,J,N,Z,W,S,E,k){if(++Z>=4096||++N>=40)return Z;var t,a,T=R[0],e=R[1],C=R[6],D=R[7],o=c.getSignedDistance,p=o(T,e,C,D,R[2],R[3]),h=o(T,e,C,D,R[4],R[5]),r=p*h>0?3/4:4/9,m=r*Math.min(0,p,h),M=r*Math.max(0,p,h),i=o(T,e,C,D,B[0],B[1]),b=o(T,e,C,D,B[2],B[3]),v=o(T,e,C,D,B[4],B[5]),G=o(T,e,C,D,B[6],B[7]),s=function(U,F,Q,B){var R,V=[0,U],n=[1/3,F],l=[2/3,Q],d=[1,B],J=F-(2*U+B)/3,N=Q-(U+2*B)/3;if(J*N<0)R=[[V,n,d],[V,l,d]];else{var Z=J/N;R=[Z>=2?[V,n,d]:Z<=.5?[V,l,d]:[V,n,l,d],[V,d]]}return(J||N)<0?R.reverse():R}(i,b,v,G),X=s[0],Y=s[1];if(0===p&&0===h&&0===i&&0===b&&0===v&&0===G||null==(t=Q(X,Y,m,M))||null==(a=Q(X.reverse(),Y.reverse(),m,M)))return Z;var y=W+(S-W)*t,O=W+(S-W)*a;if(Math.max(k-E,O-y)<1e-9){var L=(y+O)/2,H=(E+k)/2;U(l,d,J?n:V,J?H:L,J?V:n,J?L:H)}else{B=z.getPart(B,t,a);var x=k-E;if(a-t>.8)if(O-y>x){L=(y+O)/2;Z=F(R,(u=z.subdivide(B,.5))[0],n,V,l,d,!J,N,Z,E,k,y,L),Z=F(R,u[1],n,V,l,d,!J,N,Z,E,k,L,O)}else{var u;H=(E+k)/2;Z=F((u=z.subdivide(R,.5))[0],B,n,V,l,d,!J,N,Z,E,H,y,O),Z=F(u[1],B,n,V,l,d,!J,N,Z,H,k,y,O)}else Z=0===x||x>=1e-9?F(R,B,n,V,l,d,!J,N,Z,E,k,y,O):F(B,R,V,n,l,d,J,N,Z,y,O,E,k)}return Z}function Q(U,F,Q,R){return U[0][1]R?B(F,!1,R):U[0][0]}function B(U,F,Q){for(var B=U[0][0],R=U[0][1],V=1,n=U.length;V=Q:d<=Q)return d===Q?l:B+(Q-R)*(l-B)/(d-R);B=l,R=d}return null}function R(U,F,Q,B,R){var V=t.isZero;if(V(B)&&V(R)){var n=z.getTimeOf(U,new T(F,Q));return null===n?[]:[n]}for(var l=Math.atan2(-R,B),d=Math.sin(l),J=Math.cos(l),N=[],Z=[],W=0;W<8;W+=2){var S=U[W]-F,E=U[W+1]-Q;N.push(S*J-E*d,S*d+E*J)}return z.solveCubic(N,1,0,Z,0,1),Z}function V(F,Q,B,V,n,l,d){for(var J=Q[0],N=Q[1],Z=R(F,J,N,Q[6]-J,Q[7]-N),W=0,S=Z.length;WW(B[0],B[2],B[4],B[6])&&W(Q[0],Q[2],Q[4],Q[6])-ZW(B[1],B[3],B[5],B[7])&&W(Q[1],Q[3],Q[5],Q[7])-Z>1,h=1&k,c=6*p,r=6*h,m=new T(Q[c],Q[c+1]),M=new T(B[r],B[r+1]);m.isClose(M,Z)&&U(d,N,R,p,l,h)}}}return d}function d(F,Q,B,R){var V=z.classify(F);if("loop"===V.type){var n=V.roots;U(B,R,Q,n[0],Q,n[1])}return B}function J(U,F){function Q(U){var F=U[6]-U[0],Q=U[7]-U[1];return F*F+Q*Q}var B=Math.abs,R=c.getDistance,V=1e-7,n=z.isStraight(U),l=z.isStraight(F),d=n&&l,J=Q(U)>1,p=z.getTimeOf(t[C],new T(t[D][o?6:0],t[D][o?7:1]));if(null!=p){var h=C?[o,p]:[p,o];(!a.length||B(h[0]-a[0][0])>1e-8&&B(h[1]-a[0][1])>1e-8)&&a.push(h)}if(e>2&&!a.length)break}if(2!==a.length)a=null;else if(!d){var r=z.getPart(U,a[0][0],a[1][0]),m=z.getPart(F,a[0][1],a[1][1]);(B(m[2]-r[2])>V||B(m[3]-r[3])>V||B(m[4]-r[4])>V||B(m[5]-r[5])>V)&&(a=null)}return a}return{getIntersections:function(U){var F=this.getValues(),Q=U&&U!==this&&U.getValues();return Q?l(F,Q,this,U,[]):d(F,this,[])},statics:{getOverlaps:J,getIntersections:function(U,F,Q,B,R,V){var n=!F;n&&(F=U);for(var J=U.length,N=F.length,Z=new Array(J),W=n?Z:new Array(N),S=[],k=0;ka){var p=F[o];l(e,W[o],T,p,S,Q)}}}return S},getCurveLineIntersections:R,getTimesWithTangent:function(U,F){var Q=U[0],B=U[1],R=U[2],V=U[3],n=U[4],l=U[5],d=U[6],J=U[7],N=F.normalize(),Z=N.x,W=N.y,S=3*d-9*n+9*R-3*Q,E=3*J-9*l+9*V-3*B,k=6*n-12*R+6*Q,a=6*l-12*V+6*B,T=3*R-3*Q,e=3*V-3*B,C=2*S*W-2*E*Z,D=[];if(Math.abs(C)=0&&o<=1&&D.push(o)}}else{var p=(k*k-4*S*T)*W*W+(-2*k*a+4*E*T+4*S*e)*Z*W+(a*a-4*E*e)*Z*Z,h=k*W-a*Z;if(p>=0&&0!=C){var c=Math.sqrt(p),r=-(h+c)/C,m=(-h+c)/C;r>=0&&r<=1&&D.push(r),m>=0&&m<=1&&D.push(m)}}return D}}}}),O=N.extend({_class:"CurveLocation",initialize:function(U,F,Q,B,R){if(F>=.99999999){var V=U.getNext();V&&(F=0,U=V)}this._setCurve(U),this._time=F,this._point=Q||U.getPointAtTime(F),this._overlap=B,this._distance=R,this._intersection=this._next=this._previous=null},_setPath:function(U){this._path=U,this._version=U?U._version:0},_setCurve:function(U){this._setPath(U._path),this._curve=U,this._segment=null,this._segment1=U._segment1,this._segment2=U._segment2},_setSegment:function(U){var F=U.getCurve();F?this._setCurve(F):(this._setPath(U._path),this._segment1=U,this._segment2=null),this._segment=U,this._time=U===this._segment1?0:1,this._point=U._point.clone()},getSegment:function(){var U=this._segment;if(!U){var F=this.getCurve(),Q=this.getTime();0===Q?U=F._segment1:1===Q?U=F._segment2:null!=Q&&(U=F.getPartLength(0,Q)=B&&F<=R,n=Q>=B&&Q<=R;if(V&&n)return!this.isTouching();var l=this.getCurve(),d=l&&FR&&(l=l.getNext()),Q>R&&(J=J.getNext()),!d||!l||!N||!J)return!1;var Z=[];function W(U,F){var Q=U.getValues(),B=z.classify(Q).roots||z.getPeaks(Q),R=B.length,V=z.getLength(Q,F&&R?B[R-1]:0,!F&&R?B[0]:1);Z.push(R?V:V/32)}function S(U,F,Q){return FF&&UF||U=-1&&V<=B;V+=R){var n=U[(V%B+B)%B];if(!F.getPoint().isClose(n.getPoint(),1e-7))break;if(F.equals(n))return n}return null}for(;R<=V;){var l,d=R+V>>>1,J=U[d];if(Q&&(l=F.equals(J)?J:n(d,-1)||n(d,1)))return F._overlap&&(l._overlap=l._intersection._overlap=!0),l;var N=F.getPath(),Z=J.getPath();(N!==Z?N._id-Z._id:F.getIndex()+F.getTime()-(J.getIndex()+J.getTime()))<0?V=d-1:R=d+1}return U.splice(R,0,F),F}return{statics:{insert:U,expand:function(F){for(var Q=F.slice(),B=F.length-1;B>=0;B--)U(Q,F[B]._intersection,!1);return Q}}}}),L=m.extend({_class:"PathItem",_selectBounds:!1,_canScaleStroke:!0,beans:!0,initialize:function(){},statics:{create:function(U){var F,Q,B;if(N.isPlainObject(U)?(Q=U.segments,F=U.pathData):Array.isArray(U)?Q=U:"string"===typeof U&&(F=U),Q){var R=Q[0];B=R&&Array.isArray(R[0])}else F&&(B=(F.match(/m/gi)||[]).length>1||/z\s*\S+/i.test(F));return new(B?x:H)(U)}},_asPathItem:function(){return this},isClockwise:function(){return this.getArea()>=0},setClockwise:function(U){this.isClockwise()!=(U=!!U)&&this.reverse()},setPathData:function(U){var F,Q,B,R=U&&U.match(/[mlhvcsqtaz][^mlhvcsqtaz]*/gi),V=!1,n=new T,l=new T;function d(U,Q){var B=+F[U];return V&&(B+=n[Q]),B}function J(U){return new T(d(U,"x"),d(U+1,"y"))}this.clear();for(var N=0,Z=R&&R.length;NJ&&this[B?"removeSegments":"removeChildren"](J,d);for(Z=0;Z=0&&F;J--){var N=Q[J];F=!1;var Z=d[J];if(Z)for(var W=Z.length-1;W>=0&&!F;W--)N.compare(B[Z[W]])&&(n[Z[W]]||(n[Z[W]]=!0,l++),F=!0)}F=F&&l===V}return F}}),H=L.extend({_class:"Path",_serializeFields:{segments:[],closed:!1},initialize:function(U){this._closed=!1,this._segments=[],this._version=0;var F=arguments,Q=Array.isArray(U)?"object"===typeof U[0]?U:F:!U||U.size!==l||U.x===l&&U.point===l?null:F;Q&&Q.length>0?this.setSegments(Q):(this._curves=l,this._segmentSelection=0,Q||"string"!==typeof U||(this.setPathData(U),U=null)),this._initialize(!Q&&U)},_equals:function(U){return this._closed===U._closed&&N.equals(this._segments,U._segments)},copyContent:function(U){this.setSegments(U._segments),this._closed=U._closed},_changed:function U(F){if(U.base.call(this,F),8&F){if(this._length=this._area=l,32&F)this._version++;else if(this._curves)for(var Q=0,B=this._curves.length;Q0&&(a(N[0],!0),t.push("z")),t.join("")},isEmpty:function(){return!this._segments.length},_transformContent:function(U){for(var F=this._segments,Q=new Array(6),B=0,R=F.length;B0&&F+R-1===J?F-1:F,W=Z,S=Math.min(Z+R,J);U._curves&&(B.splice.apply(B,[Z,0].concat(U._curves)),W+=U._curves.length);for(n=W;n0?U-1:U},add:function(U){var F=arguments;return F.length>1&&"number"!==typeof U?this._add(Y.readList(F)):this._add([Y.read(F)])[0]},insert:function(U,F){var Q=arguments;return Q.length>2&&"number"!==typeof F?this._add(Y.readList(Q,1),U):this._add([Y.read(Q,1)],U)[0]},addSegment:function(){return this._add([Y.read(arguments)])[0]},insertSegment:function(U){return this._add([Y.read(arguments,1)],U)[0]},addSegments:function(U){return this._add(Y.readList(U))},insertSegments:function(U,F){return this._add(Y.readList(F),U)},removeSegment:function(U){return this.removeSegments(U,U+1)[0]||null},removeSegments:function(U,F,Q){U=U||0,F=N.pick(F,this._segments.length);var B=this._segments,R=this._curves,V=B.length,n=B.splice(U,F-U),l=n.length;if(!l)return n;for(var d=0;d0&&F===V+(this._closed?1:0)?U-1:U;for(d=(R=R.splice(W,l)).length-1;d>=0;d--)R[d]._path=null;Q&&(n._curves=R.slice(1)),this._adjustCurves(W,W)}return this._changed(41),n},clear:"#removeSegments",hasHandles:function(){for(var U=this._segments,F=0,Q=U.length;F0&&this._segmentSelection===7*U},setFullySelected:function(U){U&&this._selectSegments(!0),this.setSelected(U)},setSelection:function U(F){1&F||this._selectSegments(!1),U.base.call(this,F)},_selectSegments:function(U){var F=this._segments,Q=F.length,B=U?7:0;this._segmentSelection=B*Q;for(var R=0;R0&&this.setSelected(!0)},divideAt:function(U){var F,Q=this.getLocationAt(U);return Q&&(F=Q.getCurve().divideAt(Q.getCurveOffset()))?F._segment1:null},splitAt:function(U){var F=this.getLocationAt(U),Q=F&&F.index,B=F&&F.time;B>.99999999&&(Q++,B=0);var R=this.getCurves();if(Q>=0&&Q=1e-8&&R[Q++].divideAtTime(B);var V,n=this.removeSegments(Q,this._segments.length,!0);return this._closed?(this.setClosed(!1),V=this):((V=new H(m.NO_INSERT)).insertAbove(this),V.copyAttributes(this)),V._add(n,0),this.addSegment(n[0]),V}return null},split:function(U,F){var Q,B=F===l?U:(Q=this.getCurves()[U])&&Q.getLocationAtTime(F);return null!=B?this.splitAt(B):null},join:function(U,F){var Q=F||0;if(U&&U!==this){var B=U._segments,R=this.getLastSegment(),V=U.getLastSegment();if(!V)return this;R&&R._point.isClose(V._point,Q)&&U.reverse();var n=U.getFirstSegment();if(R&&R._point.isClose(n._point,Q))R.setHandleOut(n._handleOut),this._add(B.slice(1));else{var l=this.getFirstSegment();l&&l._point.isClose(n._point,Q)&&U.reverse(),V=U.getLastSegment(),l&&l._point.isClose(V._point,Q)?(l.setHandleIn(V._handleIn),this._add(B.slice(0,B.length-1),0)):this._add(B.slice())}U._closed&&this._add([B[0]]),U.remove()}var d=this.getFirstSegment(),J=this.getLastSegment();return d!==J&&d._point.isClose(J._point,Q)&&(d.setHandleIn(J._handleIn),J.remove(),this.setClosed(!0)),this},reduce:function(U){for(var F=this.getCurves(),Q=U&&U.simplify,B=Q?1e-7:0,R=F.length-1;R>=0;R--){var V=F[R];!V.hasHandles()&&(!V.hasLength(B)||Q&&V.isCollinear(V.getNext()))&&V.remove()}return this},reverse:function(){this._segments.reverse();for(var U=0,F=this._segments.length;U0&&B.push(new Y(F[Q-1].curve.slice(6))),this.setSegments(B)},simplify:function(U){var F=new w(this).fit(U||2.5);return F&&this.setSegments(F),!!F},smooth:function(U){var F=this,Q=U||{},B=Q.type||"asymmetric",R=this._segments,V=R.length,n=this._closed;function d(U,Q){var B=U&&U.index;if(null!=B){var R=U.path;if(R&&R!==F)throw new Error(U._class+" "+B+" of "+R+" is not part of "+F);Q&&U instanceof z&&B++}else B="number"===typeof U?U:Q;return Math.min(B<0&&n?B%V:B<0?B+V:B,V-1)}var J=n&&Q.from===l&&Q.to===l,N=d(Q.from,0),Z=d(Q.to,V-1);if(N>Z)if(n)N-=V;else{var W=N;N=Z,Z=W}if(/^(?:asymmetric|continuous)$/.test(B)){var S="asymmetric"===B,E=Math.min,k=Z-N+1,t=k-1,a=J?E(k,4):1,T=a,e=a,C=[];if(n||(T=E(1,N),e=E(1,V-Z-1)),(t+=T+e)<=1)return;for(var D=0,o=N-T;D<=t;D++,o++)C[D]=R[(o<0?o+V:o)%V]._point;var p=C[0]._x+2*C[1]._x,h=C[0]._y+2*C[1]._y,c=2,r=t-1,m=[p],M=[h],i=[c],b=[],v=[];for(D=1;D=0;D--)b[D]=(m[D]-b[D+1])/i[D],v[D]=(M[D]-v[D+1])/i[D];b[t]=(3*C[t]._x-b[r])/2,v[t]=(3*C[t]._y-v[r])/2;D=T;var O=t-e;for(o=N;D<=O;D++,o++){var L=R[o<0?o+V:o],H=L._point,x=b[D]-H._x,u=v[D]-H._y;(J||DT)&&L.setHandleIn(-x,-u)}}else for(D=N;D<=Z;D++)R[D<0?D+V:D].smooth(Q,!J&&D===N,!J&&D===Z)},toShape:function(U){if(!this._closed)return null;var F,Q,B,R,V=this._segments;function n(U,F){var Q=V[U],B=Q.getNext(),R=V[F],n=R.getNext();return Q._handleOut.isZero()&&B._handleIn.isZero()&&R._handleOut.isZero()&&n._handleIn.isZero()&&B._point.subtract(Q._point).isCollinear(n._point.subtract(R._point))}function d(U){var F=V[U],Q=F.getNext(),B=F._handleOut,R=Q._handleIn,n=.5522847498307936;if(B.isOrthogonal(R)){var l=F._point,d=Q._point,J=new c(l,B,!0).intersect(new c(d,R,!0),!0);return J&&t.isZero(B.getLength()/J.subtract(l).getLength()-n)&&t.isZero(R.getLength()/J.subtract(d).getLength()-n)}return!1}function J(U,F){return V[U]._point.getDistance(V[F]._point)}if(!this.hasHandles()&&4===V.length&&n(0,2)&&n(1,3)&&function(U){var F=V[U],Q=F.getPrevious(),B=F.getNext();return Q._handleOut.isZero()&&F._handleIn.isZero()&&F._handleOut.isZero()&&B._handleIn.isZero()&&F._point.subtract(Q._point).isOrthogonal(B._point.subtract(F._point))}(1)?(F=b.Rectangle,Q=new C(J(0,3),J(0,1)),R=V[1]._point.add(V[2]._point).divide(2)):8===V.length&&d(0)&&d(2)&&d(4)&&d(6)&&n(1,5)&&n(3,7)?(F=b.Rectangle,B=(Q=new C(J(1,6),J(0,3))).subtract(new C(J(0,7),J(1,2))).divide(2),R=V[3]._point.add(V[4]._point).divide(2)):4===V.length&&d(0)&&d(1)&&d(2)&&d(3)&&(t.isZero(J(0,2)-J(1,3))?(F=b.Circle,B=J(0,2)/2):(F=b.Ellipse,B=new C(J(2,0)/2,J(3,1)/2)),R=V[1]._point),F){var N=this.getPosition(!0),Z=new F({center:N,size:Q,radius:B,insert:!1});return Z.copyAttributes(this,!0),Z._matrix.prepend(this._matrix),Z.rotate(R.subtract(N).getAngle()+90),(U===l||U)&&Z.insertAbove(this),Z}return null},toPath:"#clone",compare:function U(F){if(!F||F instanceof x)return U.base.call(this,F);var Q=this.getCurves(),B=F.getCurves(),R=Q.length,V=B.length;if(!R||!V)return R==V;for(var n,l,d=Q[0].getValues(),J=[],N=0,Z=0,W=0;W0?V-1:W,l=t[0][1];break}}var E,k=Math.abs;for(S=J[n];d&&S;){var t;if(t=z.getOverlaps(d,S))if(k(t[0][0]-Z)<1e-8){1===(Z=t[1][0])&&(d=++N=V&&(n=0),S=J[n]||B[n].getValues(),l=0),!d)return E[0]===n&&E[1]===l;continue}}break}return!1},_hitTestSelf:function(U,F,Q,B){var R,V,n,l,d,J,N=this,Z=this.getStyle(),W=this._segments,S=W.length,E=this._closed,k=F._tolerancePadding,t=k,a=F.stroke&&Z.hasStroke(),T=F.fill&&Z.hasFill(),e=F.curves,C=a?Z.getStrokeWidth()/2:T&&F.tolerance>0||e?0:null;function D(F,Q){return U.subtract(F).divide(Q).length<=1}function o(U,Q,B){if(!F.selected||Q.isSelected()){var R=U._point;if(Q!==R&&(Q=Q.add(R)),D(Q,t))return new X(B,N,{segment:U,point:Q})}}function p(U,Q){return(Q||F.segments)&&o(U,U._point,"segment")||!Q&&F.handles&&(o(U,U._handleIn,"handle-in")||o(U,U._handleOut,"handle-out"))}function h(U){l.add(U)}function c(F){var Q,d=E||F._index>0&&F._index0?(R=Z.getStrokeJoin(),V=Z.getStrokeCap(),n=Z.getMiterLimit(),t=t.add(H._getStrokePadding(C,B))):R=V="round"),!F.ends||F.segments||E){if(F.segments||F.handles)for(var r=0;r1?c(d.getSegment())||(d=null):D(d.getPoint(),t)||(d=null)}if(!d&&"miter"===R&&S>1)for(r=0;rU)return n.getLocationAt(U-V)}if(F.length>0&&U<=this.getLength())return new O(F[F.length-1],1)}else if(U&&U.getPath&&U.getPath()===this)return U;return null},getOffsetsWithTangent:function(){var U=T.read(arguments);if(U.isZero())return[];for(var F=[],Q=0,B=this.getCurves(),R=0,V=B.length;R0&&k(Z[0])}return{_draw:function(F,Q,B,R){var V=Q.dontStart,n=Q.dontFinish||Q.clip,l=this.getStyle(),d=l.hasFill(),J=l.hasStroke(),N=l.getDashArray(),Z=!WU.support.nativeDash&&J&&N&&N.length;function W(U){return N[(U%Z+Z)%Z]}if(V||F.beginPath(),(d||J&&!Z||n)&&(U(F,this,R),this._closed&&F.closePath()),!n&&(d||J)&&(this._setStyles(F,Q,B),d&&(F.fill(l.getFillRule()),F.shadowColor="rgba(0,0,0,0)"),J)){if(Z){V||F.beginPath();for(var S,E=new u(this,.25,32,!1,R),k=E.length,t=-l.getDashOffset(),a=0;t>0;)t-=W(a--)+W(a--);for(;t0||S>0)&&E.drawPart(F,Math.max(t,0),Math.max(S,0)),t=S+W(a++)}F.stroke()}},_drawSelected:function(F,Q){F.beginPath(),U(F,this,Q),F.stroke(),function(U,F,Q,B){if(!(B<=0))for(var R,V,n=B/2,l=B-2,d=n-1,J=new Array(6),N=0,Z=F.length;N0&&!(1&S)){var E=U.fillStyle;U.fillStyle="#ffffff",U.fillRect(R-d,V-d,l,l),U.fillStyle=E}}function k(F){var Q=J[F],B=J[F+1];R==Q&&V==B||(U.beginPath(),U.moveTo(R,V),U.lineTo(Q,B),U.stroke(),U.beginPath(),U.arc(Q,B,n,0,2*Math.PI,!0),U.fill())}}(F,this._segments,Q,WU.settings.handleSize)}}},new function(){function U(U){var F=U._segments;if(!F.length)throw new Error("Use a moveTo() command first");return F[F.length-1]}return{moveTo:function(){var U=this._segments;1===U.length&&this.removeSegment(0),U.length||this._add([new Y(T.read(arguments))])},moveBy:function(){throw new Error("moveBy() is unsupported on Path items.")},lineTo:function(){this._add([new Y(T.read(arguments))])},cubicCurveTo:function(){var F=arguments,Q=T.read(F),B=T.read(F),R=T.read(F),V=U(this);V.setHandleOut(Q.subtract(V._point)),this._add([new Y(R,B.subtract(R))])},quadraticCurveTo:function(){var F=arguments,Q=T.read(F),B=T.read(F),R=U(this)._point;this.cubicCurveTo(Q.add(R.subtract(Q).multiply(1/3)),Q.add(B.subtract(Q).multiply(1/3)),B)},curveTo:function(){var F=arguments,Q=T.read(F),B=T.read(F),R=N.pick(N.read(F),.5),V=1-R,n=U(this)._point,l=Q.subtract(n.multiply(V*V)).subtract(B.multiply(R*R)).divide(2*R*V);if(l.isNaN())throw new Error("Cannot put a curve through points with parameter = "+R);this.quadraticCurveTo(l,B)},arcTo:function(){var F,Q,B,R,V=arguments,n=Math.abs,l=Math.sqrt,d=U(this),J=d._point,Z=T.read(V),W=N.peek(V);if("boolean"===typeof(e=N.pick(W,!0)))var S=(o=J.add(Z).divide(2)).add(o.subtract(J).rotate(e?-90:90));else if(N.remain(V)<=2)S=Z,Z=T.read(V);else if(!J.equals(Z)){var E=C.read(V),k=t.isZero;if(k(E.width)||k(E.height))return this.lineTo(Z);var a=N.read(V),e=!!N.read(V),D=!!N.read(V),o=J.add(Z).divide(2),p=(f=J.subtract(o).rotate(-a)).x,r=f.y,m=n(E.width),M=n(E.height),i=m*m,b=M*M,v=p*p,G=r*r,s=l(v/i+G/b);if(s>1&&(i=(m*=s)*m,b=(M*=s)*M),n(s=(i*b-i*G-b*v)/(i*G+b*v))<1e-12&&(s=0),s<0)throw new Error("Cannot create an arc with the given arguments");F=new T(m*r/M,-M*p/m).multiply((D===e?-1:1)*l(s)).rotate(a).add(o),Q=(B=(R=(new h).translate(F).rotate(a).scale(m,M))._inverseTransform(J)).getDirectedAngle(R._inverseTransform(Z)),!e&&Q>0?Q-=360:e&&Q<0&&(Q+=360)}if(S){var X=new c(J.add(S).divide(2),S.subtract(J).rotate(90),!0),y=new c(S.add(Z).divide(2),Z.subtract(S).rotate(90),!0),z=new c(J,Z),O=z.getSide(S);if(!(F=X.intersect(y,!0))){if(!O)return this.lineTo(Z);throw new Error("Cannot create an arc with the given arguments")}Q=(B=J.subtract(F)).getDirectedAngle(Z.subtract(F));var L=z.getSide(F,!0);0===L?Q=O*n(Q):O===L&&(Q+=Q<0?360:-360)}if(Q){for(var H=n(Q),x=H>=360?4:Math.ceil((H-1e-5)/90),u=Q/x,w=u*Math.PI/360,j=4/3*Math.sin(w)/(1+Math.cos(w)),I=[],K=0;K<=x;K++){var f=Z,g=null;if(K0){for(var p=1;p=180)&&(Z=Z.negate(),W=W.negate()),l&&n(N),n(N.add(Z)),"miter"===F){var E=new c(N.add(Z),new T(-Z.y,Z.x),!0).intersect(new c(N.add(W),new T(-W.y,W.x),!0),!0);E&&N.getDistance(E)<=B*Q&&n(E)}n(N.add(W))},_addSquareCap:function(U,F,Q,B,R,V,n){var l=U._point.transform(B),d=U.getLocation(),J=d.getNormal().multiply(0===d.getTime()?Q:-Q).transform(R);"square"===F&&(n&&(V(l.subtract(J)),V(l.add(J))),l=l.add(J.rotate(-90))),V(l.add(J)),V(l.subtract(J))},getHandleBounds:function(U,F,Q,B,R){var V,n,l=Q.getStyle();if(R.stroke&&l.hasStroke()){var d=Q._getStrokeMatrix(B,R),J=l.getStrokeWidth()/2,N=J;"miter"===l.getStrokeJoin()&&(N=J*l.getMiterLimit()),"square"===l.getStrokeCap()&&(N=Math.max(N,J*Math.SQRT2)),V=H._getStrokePadding(J,d),n=H._getStrokePadding(N,d)}for(var Z=new Array(6),W=1/0,S=-W,E=W,k=S,t=0,a=U.length;tS&&(S=r),mk&&(k=M)}}return new o(W,E,S-W,k-E)}}});H.inject({statics:new function(){var U=.5522847498307936,F=[new Y([-1,0],[0,U],[0,-U]),new Y([0,-1],[-U,0],[U,0]),new Y([1,0],[0,-U],[0,U]),new Y([0,1],[U,0],[-U,0])];function Q(U,F,Q){var B=N.getNamed(Q),R=new H(B&&(1==B.insert?m.INSERT:0==B.insert?m.NO_INSERT:null));return R._add(U),R._closed=F,R.set(B,m.INSERT)}function B(U,B,R){for(var V=new Array(4),n=0;n<4;n++){var l=F[n];V[n]=new Y(l._point.multiply(B).add(U),l._handleIn.multiply(B),l._handleOut.multiply(B))}return Q(V,!0,R)}return{Line:function(){var U=arguments;return Q([new Y(T.readNamed(U,"from")),new Y(T.readNamed(U,"to"))],!1,U)},Circle:function(){var U=arguments,F=T.readNamed(U,"center"),Q=N.readNamed(U,"radius");return B(F,new C(Q),U)},Rectangle:function(){var F,B=arguments,R=o.readNamed(B,"rectangle"),V=C.readNamed(B,"radius",0,{readNull:!0}),n=R.getBottomLeft(!0),l=R.getTopLeft(!0),d=R.getTopRight(!0),J=R.getBottomRight(!0);if(!V||V.isZero())F=[new Y(n),new Y(l),new Y(d),new Y(J)];else{var N=(V=C.min(V,R.getSize(!0).divide(2))).width,Z=V.height,W=N*U,S=Z*U;F=[new Y(n.add(N,0),null,[-W,0]),new Y(n.subtract(0,Z),[0,S]),new Y(l.add(0,Z),null,[0,-S]),new Y(l.add(N,0),[-W,0],null),new Y(d.subtract(N,0),null,[W,0]),new Y(d.add(0,Z),[0,-S],null),new Y(J.subtract(0,Z),null,[0,S]),new Y(J.subtract(N,0),[W,0])]}return Q(F,!0,B)},RoundRectangle:"#Rectangle",Ellipse:function(){var U=arguments,F=b._readEllipse(U);return B(F.center,F.radius,U)},Oval:"#Ellipse",Arc:function(){var U=arguments,F=T.readNamed(U,"from"),Q=T.readNamed(U,"through"),B=T.readNamed(U,"to"),R=N.getNamed(U),V=new H(R&&0==R.insert&&m.NO_INSERT);return V.moveTo(F),V.arcTo(Q,B),V.set(R)},RegularPolygon:function(){for(var U=arguments,F=T.readNamed(U,"center"),B=N.readNamed(U,"sides"),R=N.readNamed(U,"radius"),V=360/B,n=B%3===0,l=new T(0,n?-R:R),d=n?-1:.5,J=new Array(B),Z=0;Z=0;V--){var n=B[V];B!==Q||n instanceof H||(B=N.slice(B)),Array.isArray(n)?B[V]=new H({segments:n,insert:!1}):n instanceof x&&(B.splice.apply(B,[V,1].concat(n.removeChildren())),n.remove())}return U.base.call(this,F,B)},reduce:function U(F){for(var Q=this._children,B=Q.length-1;B>=0;B--){var R;(R=Q[B].reduce(F)).isEmpty()&&R.remove()}return Q.length?U.base.call(this):((R=new H(m.NO_INSERT)).copyAttributes(this),R.insertAbove(this),this.remove(),R)},isClosed:function(){for(var U=this._children,F=0,Q=U.length;F=0;E--){var k=l[E].split();k&&(S(k)&&k.getFirstSegment().setHandleIn(0,0),B.getLastSegment().setHandleOut(0,0))}return S(B),n(W,!1,U,F)}function W(U,F){for(var Q=U;Q;){if(Q===F)return;Q=Q._previous}for(;U._next&&U._next!==F;)U=U._next;if(!U._next){for(;F._previous;)F=F._previous;U._next=F,F._previous=U}}function S(U){for(var F=U.length-1;F>=0;F--)U[F].clearHandles()}function k(U,F,B){var R=U&&U.length;if(R){var V=N.each(U,function(U,F){this[U._id]={container:null,winding:U.isClockwise()?1:-1,index:F}},{}),n=U.slice().sort(function(U,F){return Q(F.getArea())-Q(U.getArea())}),l=n[0],d=E.findItemBoundsCollisions(n,null,t.GEOMETRIC_EPSILON);null==B&&(B=l.isClockwise());for(var J=0;J=0;T--)if(k[T]=0;k--){(t=Q[k])._path&&(Z[E(t)]=!0)}for(k=U.length-1;k>=0;k--){var t,a,T=U[k],e=T._time,C=e,D=F&&!F(T);if((t=T._curve)&&(t!==R?(J=!t.hasHandles()||Z&&Z[E(t)],B=[],V=null,R=t):V>=l&&(e/=V)),D)B&&B.push(T);else{if(F&&n.unshift(T),V=C,ed)a=t._segment2;else{var o=t.divideAtTime(e,!0);J&&N.push(t,o),a=o._segment1;for(var p=B.length-1;p>=0;p--){var h=B[p];h._time=(h._time-e)/(1-e)}}T._setSegment(a);var c=a._intersection,r=T._intersection;if(c){W(c,r);for(var m=c;m;)W(m._intersection,c),m=m._next}else a._intersection=r}}return Q||S(N),n||U}function T(B,R,V,n,l){var d,J,N=Array.isArray(R)?R:R[V?"hor":"ver"],Z=V?1:0,W=1^Z,S=[B.x,B.y],E=S[Z],k=S[W],t=1e-6,a=E-1e-9,e=E+1e-9,C=0,D=0,o=0,p=0,h=!1,c=!1,r=1,m=[];function M(Q){var J=Q[W+0],N=Q[W+6];if(!(kF(J,N))){var S=Q[Z+0],C=Q[Z+2],D=Q[Z+4],c=Q[Z+6];if(J!==N){var M=k===J?0:k===N||a>F(S,C,D,c)||e0?m[0]:1,i=0===M?S:1===M?c:z.getPoint(Q,M)[V?"y":"x"],b=J>N?1:-1,v=d[W]>d[W+6]?1:-1,G=d[Z+6];return k!==J?(ie?p+=b:h=!0,i>E-t&&ie&&(p+=b):S!=G&&(Ge?(p+=b,h=!0):G>a&&ia&&ia||ca)&&(h=!0)}}function i(Q){var B=Q[W+0],R=Q[W+2],n=Q[W+4],l=Q[W+6];if(k<=F(B,R,n,l)&&k>=U(B,R,n,l))for(var d,J=Q[Z+0],N=Q[Z+2],S=Q[Z+4],E=Q[Z+6],t=a>F(J,N,S,E)||eZ.quality&&(Z=r);break}J-=a}}for(S=n.length-1;S>=0;S--)n[S].segment._winding=Z}function C(U,F){var Q,B=[];function R(U){var Q;return!(!U||U._visited||F&&(!F[(Q=U._winding||{}).winding]||F.unite&&2===Q.winding&&Q.windingL&&Q.windingR))}function V(U){if(U)for(var F=0,B=Q.length;F=0;d--){var J=l[d],Z=J._path,W=J._segment,E=W.getPrevious(),k=W.getNext();Q(E,Z)&&Q(k,Z)&&(W.remove(),E._handleOut._set(0,0),k._handleIn._set(0,0),E===W||E.getCurve().hasLength()||(k._handleIn.set(E._handleIn),E.remove()))}R&&(a(V,B&&function(U){var F=U.getCurve(),Q=U.getSegment(),B=U._intersection,R=B._curve,V=B._segment;if(F&&R&&F._path&&R._path)return!0;Q&&(Q._intersection=null),V&&(V._intersection=null)},n),n&&S(n),F=C(N.each(F,function(U){N.push(this,U._segments)},[])));var t,T=F.length;return T>1&&U?(F!==U&&this.setChildren(F),t=this):1!==T||U||(F[0]!==this&&this.setSegments(F[0].removeSegments()),t=this),t||((t=new x(m.NO_INSERT)).addChildren(F),(t=t.reduce()).copyAttributes(this),this.replaceWith(t)),t},reorient:function(U,F){var Q=this._children;return Q&&Q.length?this.setChildren(k(this.removeChildren(),function(F){return!!(U?F:1&F)},F)):F!==l&&this.setClockwise(F),this},getInteriorPoint:function(){var Q=this.getBounds().getCenter(!0);if(!this.contains(Q)){for(var B=this.getCurves(),R=Q.y,V=[],n=[],l=0,d=B.length;l=U(N,Z,W,S)&&R<=F(N,Z,W,S))for(var E=z.getMonoCurves(J),k=0,t=E.length;k=T&&R<=e||R>=e&&R<=T)){var C=R===T?a[0]:R===e?a[6]:1===z.solveCubic(a,1,R,n,0,1)?z.getPoint(a,n[0]).x:(a[0]+a[6])/2;V.push(C)}}}V.length>1&&(V.sort(function(U,F){return U-F}),Q.x=(V[0]+V[1])/2)}return Q}}});var u=N.extend({_class:"PathFlattener",initialize:function(U,F,Q,B,R){var V,n=[],l=[],d=0,J=1/(Q||32),N=U._segments,Z=N[0];function W(U,F){var Q=z.getValues(U,F,R);n.push(Q),S(Q,U._index,0,1)}function S(U,Q,R,V){if(!(V-R>J)||B&&z.isStraight(U)||z.isFlatEnough(U,F||.25)){var n=U[6]-U[0],N=U[7]-U[1],Z=Math.sqrt(n*n+N*N);Z>0&&(d+=Z,l.push({offset:d,curve:U,index:Q,time:V}))}else{var W=z.subdivide(U,.5),E=(R+V)/2;S(W[0],Q,R,E),S(W[1],Q,E,V)}}for(var E=1,k=N.length;E=U){this.index=F;var n=Q[F-1],l=n&&n.index===V.index?n.time:0,d=n?n.offset:0;return{index:V.index,time:l+(V.time-l)*(U-d)/(V.offset-d)}}}return{index:Q[B-1].index,time:1}},drawPart:function(U,F,Q){for(var B=this._get(F),R=this._get(Q),V=B.index,n=R.index;V<=n;V++){var l=z.getPart(this.curves[V],V===B.index?B.time:0,V===R.index?R.time:1);V===B.index&&U.moveTo(l[0],l[1]),U.bezierCurveTo.apply(U,l.slice(2))}}},N.each(z._evaluateMethods,function(U){this[U+"At"]=function(F){var Q=this._get(F);return z[U](this.curves[Q.index],Q.time)}},{})),w=N.extend({initialize:function(U){for(var F,Q=this.points=[],B=U._segments,R=U._closed,V=0,n=B.length;V0&&(B=[new Y(F[0])],Q>1&&(this.fitCubic(B,U,0,Q-1,F[1].subtract(F[0]),F[Q-2].subtract(F[Q-1])),this.closed&&(B.shift(),B.pop()))),B},fitCubic:function(U,F,Q,B,R,V){var n=this.points;if(B-Q!==1){for(var l,d=this.chordLengthParameterize(Q,B),J=Math.max(F,F*F),N=!0,Z=0;Z<=4;Z++){var W=this.generateBezier(Q,B,d,R,V),S=this.findMaxError(Q,B,W,d);if(S.error=J)break;N=this.reparameterize(Q,B,d,W),J=S.error}var E=n[l-1].subtract(n[l+1]);this.fitCubic(U,F,Q,l,R,E),this.fitCubic(U,F,l,B,E.negate(),V)}else{var k=n[Q],t=n[B],a=k.getDistance(t)/3;this.addCurve(U,[k,k.add(R.normalize(a)),t.add(V.normalize(a)),t])}},addCurve:function(U,F){U[U.length-1].setHandleOut(F[1].subtract(F[0])),U.push(new Y(F[3],F[2].subtract(F[3])))},generateBezier:function(U,F,Q,B,R){for(var V=1e-12,n=Math.abs,l=this.points,d=l[U],J=l[F],N=[[0,0],[0,0]],Z=[0,0],W=0,S=F-U+1;WV){var m=N[0][0]*Z[1]-N[1][0]*Z[0];h=(Z[0]*N[1][1]-Z[1]*N[0][1])/r,c=m/r}else{var M=N[0][0]+N[0][1],i=N[1][0]+N[1][1];h=c=n(M)>V?Z[0]/M:n(i)>V?Z[1]/i:0}var b,v,G=J.getDistance(d),s=V*G;if(hG*G&&(h=c=G/3,b=v=null)}return[d,d.add(b||B.normalize(h)),J.add(v||R.normalize(c)),J]},reparameterize:function(U,F,Q,B){for(var R=U;R<=F;R++)Q[R-U]=this.findRoot(B,this.points[R],Q[R-U]);R=1;for(var V=Q.length;R=V&&(V=d,R=n)}return{error:V,index:R}}}),j=m.extend({_class:"TextItem",_applyMatrix:!1,_canApplyMatrix:!1,_serializeFields:{content:null},_boundsOptions:{stroke:!1,handle:!1},initialize:function(U){this._content="",this._lines=[];var F=U&&N.isPlainObject(U)&&U.x===l&&U.y===l;this._initialize(F&&U,!F&&T.read(arguments))},_equals:function(U){return this._content===U._content},copyContent:function(U){this.setContent(U._content)},getContent:function(){return this._content},setContent:function(U){this._content=""+U,this._lines=this._content.split(/\r\n|\n|\r/gm),this._changed(521)},isEmpty:function(){return!this._content},getCharacterStyle:"#getStyle",setCharacterStyle:"#setStyle",getParagraphStyle:"#getStyle",setParagraphStyle:"#setStyle"}),I=j.extend({_class:"PointText",initialize:function(){j.apply(this,arguments)},getPoint:function(){var U=this._matrix.getTranslation();return new e(U.x,U.y,this,"setPoint")},setPoint:function(){var U=T.read(arguments);this.translate(U.subtract(this._matrix.getTranslation()))},_draw:function(U,F,Q){if(this._content){this._setStyles(U,F,Q);var B=this._lines,R=this._style,V=R.hasFill(),n=R.hasStroke(),l=R.getLeading(),d=U.shadowColor;U.font=R.getFontStyle(),U.textAlign=R.getJustification();for(var J=0,N=B.length;J1&&(d-=1),n[l]=6*d<1?V+6*(R-V)*d:2*d<1?R:3*d<2?V+(R-V)*(2/3-d)*6:V}return n},"rgb-gray":function(U,F,Q){return[.2989*U+.587*F+.114*Q]},"gray-rgb":function(U){return[U,U,U]},"gray-hsb":function(U){return[0,0,U]},"gray-hsl":function(U){return[0,0,U]},"gradient-rgb":function(){return[]},"rgb-gradient":function(){return[]}};return N.each(F,function(U,B){Q[B]=[],N.each(U,function(U,R){var V=N.capitalize(U),n=/^(hue|saturation)$/.test(U),l=Q[B][R]="gradient"===B?"gradient"===U?function(U){var F=this._components[0];return F!==(U=f.read(Array.isArray(U)?U:arguments,0,{readNull:!0}))&&(F&&F._removeOwner(this),U&&U._addOwner(this)),U}:function(){return T.read(arguments,0,{readNull:"highlight"===U,clone:!0})}:function(U){return null==U||isNaN(U)?0:+U};this["get"+V]=function(){return this._type===B||n&&/^hs[bl]$/.test(this._type)?this._components[R]:this._convert(B)[R]},this["set"+V]=function(U){this._type===B||n&&/^hs[bl]$/.test(this._type)||(this._components=this._convert(B),this._properties=F[B],this._type=B),this._components[R]=l.call(this,U),this._changed()}},this)},{_class:"Color",_readIndex:!0,initialize:function R(V){var n,l,J,Z,W=arguments,S=this.__read,E=0;Array.isArray(V)&&(V=(W=V)[0]);var k=null!=V&&typeof V;if("string"===k&&V in F&&(n=V,V=W[1],Array.isArray(V)?(l=V,J=W[2]):(S&&(E=1),W=N.slice(W,1),k=typeof V)),!l){if(Z="number"===k?W:"object"===k&&null!=V.length?V:null){n||(n=Z.length>=3?"rgb":"gray");var t=F[n].length;J=Z[t],S&&(E+=Z===arguments?t+(null!=J?1:0):1),Z.length>t&&(Z=N.slice(Z,0,t))}else if("string"===k){var a=function(F){var Q,R=F.match(/^#([\da-f]{2})([\da-f]{2})([\da-f]{2})([\da-f]{2})?$/i)||F.match(/^#([\da-f])([\da-f])([\da-f])([\da-f])?$/i),V="rgb";if(R){var n=R[4]?4:3;Q=new Array(n);for(var l=0;l1?1:U))}return F=[B(F[0]),B(F[1]),B(F[2])],Q<1&&F.push(Q<0?0:Q),U?"#"+((1<<24)+(F[0]<<16)+(F[1]<<8)+F[2]).toString(16).slice(1):(4==F.length?"rgba(":"rgb(")+F.join(",")+")"},toCanvasStyle:function(U,F){if(this._canvasStyle)return this._canvasStyle;if("gradient"!==this._type)return this._canvasStyle=this.toCSS();var Q,B=this._components,R=B[0],V=R._stops,n=B[1],l=B[2],d=B[3],J=F&&F.inverted();if(J&&(n=J._transformPoint(n),l=J._transformPoint(l),d&&(d=J._transformPoint(d))),R._radial){var N=l.getDistance(n);if(d){var Z=d.subtract(n);Z.getLength()>N&&(d=n.add(Z.normalize(N-.1)))}var W=d||n;Q=U.createRadialGradient(W.x,W.y,0,n.x,n.y,N)}else Q=U.createLinearGradient(n.x,n.y,l.x,l.y);for(var S=0,E=V.length;S0&&!(B instanceof x);if(V)for(var n=0,l=R.length;n0&&!(B instanceof x);if(V&&!U)for(var d=0,J=R.length;d0},hasStroke:function(){var U=this.getStrokeColor();return!!U&&U.alpha>0&&this.getStrokeWidth()>0},hasShadow:function(){var U=this.getShadowColor();return!!U&&U.alpha>0&&(this.getShadowBlur()>0||!this.getShadowOffset().isZero())},getView:function(){return this._project._view},getFontStyle:function(){var U=this.getFontSize();return this.getFontWeight()+" "+U+(/[a-z]/i.test(U+"")?" ":"px ")+this.getFontFamily()},getFont:"#getFontFamily",setFont:"#setFontFamily",getLeading:function U(){var F=U.base.call(this),Q=this.getFontSize();return/pt|em|%|px/.test(Q)&&(Q=this.getView().getPixelSize(Q)),null!=F?F:1.2*Q}}),A=new function(){function U(U,F,Q,B){for(var R=["","webkit","moz","Moz","ms","o"],V=F[0].toUpperCase()+F.substring(1),n=0;n<6;n++){var l=R[n],d=l?l+V:F;if(d in U){if(!Q)return U[d];U[d]=B;break}}}return{getStyles:function(U){var F=U&&9!==U.nodeType?U.ownerDocument:U,Q=F&&F.defaultView;return Q&&Q.getComputedStyle(U,"")},getBounds:function(U,F){var Q,B=U.ownerDocument,R=B.body,V=B.documentElement;try{Q=U.getBoundingClientRect()}catch(J){Q={left:0,top:0,width:0,height:0}}var n=Q.left-(V.clientLeft||R.clientLeft||0),l=Q.top-(V.clientTop||R.clientTop||0);if(!F){var d=B.defaultView;n+=d.pageXOffset||V.scrollLeft||R.scrollLeft,l+=d.pageYOffset||V.scrollTop||R.scrollTop}return new o(n,l,Q.width,Q.height)},getViewportBounds:function(U){var F=U.ownerDocument,Q=F.defaultView,B=F.documentElement;return new o(0,0,Q.innerWidth||B.clientWidth,Q.innerHeight||B.clientHeight)},getOffset:function(U,F){return A.getBounds(U,F).getPoint()},getSize:function(U){return A.getBounds(U,!0).getSize()},isInvisible:function(U){return A.getSize(U).equals(new C(0,0))},isInView:function(U){return!A.isInvisible(U)&&A.getViewportBounds(U).intersects(A.getBounds(U,!0))},isInserted:function(U){return J.body.contains(U)},getPrefixed:function(F,Q){return F&&U(F,Q)},setPrefixed:function(F,Q,B){if("object"===typeof Q)for(var R in Q)U(F,R,!0,Q[R]);else U(F,Q,!0,B)}}},q={add:function(U,F){if(U)for(var Q in F)for(var B=F[Q],R=Q.split(/[\s,]+/g),V=0,n=R.length;V1?N.hyphenate(F):F.toLowerCase())}function W(F,Q,B,l){var d,J=_._focused;if(R[Q]=F,F?V[Q]=B:delete V[Q],Q.length>1&&(d=N.camelize(Q))in n){n[d]=F;var Z=WU&&WU.agent;if("meta"===d&&Z&&Z.mac)if(F)U={};else{for(var S in U)S in V&&W(!1,S,U[S],l);U=null}}else F&&U&&(U[Q]=B);J&&J._handleKeyEvent(F?"keydown":"keyup",l,Q,B)}return q.add(J,{keydown:function(U){var Q=Z(U),R=WU&&WU.agent;Q.length>1||R&&R.chrome&&(U.altKey||R.mac&&U.metaKey||!R.mac&&U.ctrlKey)?W(!0,Q,B[Q]||(Q.length>1?"":Q),U):F=Q},keypress:function(U){if(F){var Q=Z(U),B=U.charCode,R=B>=32?String.fromCharCode(B):Q.length>1?"":Q;Q!==F&&(Q=R.toLowerCase()),W(!0,Q,R,U),F=null}},keyup:function(U){var F=Z(U);F in V&&W(!1,F,V[F],U)}}),q.add(d,{blur:function(U){for(var F in V)W(!1,F,V[F],U)}}),{modifiers:n,isDown:function(U){return!!R[U]}}},BU=UU.extend({_class:"MouseEvent",initialize:function(U,F,Q,B,R){this.type=U,this.event=F,this.point=Q,this.target=B,this.delta=R},toString:function(){return"{ type: '"+this.type+"', point: "+this.point+", target: "+this.target+(this.delta?", delta: "+this.delta:"")+", modifiers: "+this.getModifiers()+" }"}}),RU=UU.extend({_class:"ToolEvent",_item:null,initialize:function(U,F,Q){this.tool=U,this.type=F,this.event=Q},_choosePoint:function(U,F){return U||(F?F.clone():null)},getPoint:function(){return this._choosePoint(this._point,this.tool._point)},setPoint:function(U){this._point=U},getLastPoint:function(){return this._choosePoint(this._lastPoint,this.tool._lastPoint)},setLastPoint:function(U){this._lastPoint=U},getDownPoint:function(){return this._choosePoint(this._downPoint,this.tool._downPoint)},setDownPoint:function(U){this._downPoint=U},getMiddlePoint:function(){return!this._middlePoint&&this.tool._lastPoint?this.tool._point.add(this.tool._lastPoint).divide(2):this._middlePoint},setMiddlePoint:function(U){this._middlePoint=U},getDelta:function(){return!this._delta&&this.tool._lastPoint?this.tool._point.subtract(this.tool._lastPoint):this._delta},setDelta:function(U){this._delta=U},getCount:function(){return this.tool[/^mouse(down|up)$/.test(this.type)?"_downCount":"_moveCount"]},setCount:function(U){this.tool[/^mouse(down|up)$/.test(this.type)?"downCount":"count"]=U},getItem:function(){if(!this._item){var U=this.tool._scope.project.hitTest(this.getPoint());if(U){for(var F=U.item,Q=F._parent;/^(Group|CompoundPath)$/.test(Q._class);)F=Q,Q=Q._parent;this._item=F}}return this._item},setItem:function(U){this._item=U},toString:function(){return"{ type: "+this.type+", point: "+this.getPoint()+", count: "+this.getCount()+", modifiers: "+this.getModifiers()+" }"}}),VU=S.extend({_class:"Tool",_list:"tools",_reference:"tool",_events:["onMouseDown","onMouseUp","onMouseDrag","onMouseMove","onActivate","onDeactivate","onEditOptions","onKeyDown","onKeyUp"],initialize:function(U){S.call(this),this._moveCount=-1,this._downCount=-1,this.set(U)},getMinDistance:function(){return this._minDistance},setMinDistance:function(U){this._minDistance=U,null!=U&&null!=this._maxDistance&&U>this._maxDistance&&(this._maxDistance=U)},getMaxDistance:function(){return this._maxDistance},setMaxDistance:function(U){this._maxDistance=U,null!=this._minDistance&&null!=U&&U=0&&V.equals(n))return!1;if(n&&(null!=U||null!=F)){var d=V.subtract(n),J=d.getLength();if(J<(U||0))return!1;F&&(V=n.add(d.normalize(Math.min(J,F))))}l._moveCount++}return l._point=V,l._lastPoint=n||V,B.down&&(l._moveCount=-1,l._downPoint=V,l._downCount++),!0}function J(){V&&(n=l.emit(U,new RU(l,U,F))||n)}if(B.down)d(),J();else if(B.up)d(null,this._maxDistance),J();else if(V)for(;d(this._minDistance,this._maxDistance);)J();return n}}),nU=N.extend(Z,{_class:"Tween",statics:{easings:new N({linear:function(U){return U},easeInQuad:function(U){return U*U},easeOutQuad:function(U){return U*(2-U)},easeInOutQuad:function(U){return U<.5?2*U*U:2*(2-U)*U-1},easeInCubic:function(U){return U*U*U},easeOutCubic:function(U){return--U*U*U+1},easeInOutCubic:function(U){return U<.5?4*U*U*U:(U-1)*(2*U-2)*(2*U-2)+1},easeInQuart:function(U){return U*U*U*U},easeOutQuart:function(U){return 1- --U*U*U*U},easeInOutQuart:function(U){return U<.5?8*U*U*U*U:1-8*--U*U*U*U},easeInQuint:function(U){return U*U*U*U*U},easeOutQuint:function(U){return 1+--U*U*U*U*U},easeInOutQuint:function(U){return U<.5?16*U*U*U*U*U:1+16*--U*U*U*U*U}})},initialize:function U(F,Q,B,R,V,n){this.object=F;var l=typeof V,d="function"===l;this.type=d?l:"string"===l?V:"linear",this.easing=d?V:U.easings[this.type],this.duration=R,this.running=!1,this._then=null,this._startTime=null;var J=Q||B;this._keys=J?Object.keys(J):[],this._parsedKeys=this._parseKeys(this._keys),this._from=J&&this._getState(Q),this._to=J&&this._getState(B),!1!==n&&this.start()},then:function(U){return this._then=U,this},start:function(){return this._startTime=null,this.running=!0,this},stop:function(){return this.running=!1,this},update:function(U){if(this.running){U>=1&&(U=1,this.running=!1);for(var F=this.easing(U),Q=this._keys,B=function(Q){return"function"===typeof Q?Q(F,U):Q},R=0,V=Q&&Q.length;R255){var N=255-B,E=n-B;d=B+(d-B)*N/E,J=B+(J-B)*N/E,Z=B+(Z-B)*N/E}}function a(U,F,Q){return S(U,F,Q)-W(U,F,Q)}function T(U,F,Q,B){var R,V=[U,F,Q],n=S(U,F,Q),l=W(U,F,Q);R=0===W(l=l===U?0:l===F?1:2,n=n===U?0:n===F?1:2)?1===S(l,n)?2:1:0,V[n]>V[l]?(V[R]=(V[R]-V[l])*B/(V[n]-V[l]),V[n]=B):V[R]=V[n]=0,V[l]=0,d=V[0],J=V[1],Z=V[2]}var e={multiply:function(){d=R*U/255,J=V*F/255,Z=n*Q/255},screen:function(){d=R+U-R*U/255,J=V+F-V*F/255,Z=n+Q-n*Q/255},overlay:function(){d=R<128?2*R*U/255:255-2*(255-R)*(255-U)/255,J=V<128?2*V*F/255:255-2*(255-V)*(255-F)/255,Z=n<128?2*n*Q/255:255-2*(255-n)*(255-Q)/255},"soft-light":function(){var B=U*R/255;d=B+R*(255-(255-R)*(255-U)/255-B)/255,J=(B=F*V/255)+V*(255-(255-V)*(255-F)/255-B)/255,Z=(B=Q*n/255)+n*(255-(255-n)*(255-Q)/255-B)/255},"hard-light":function(){d=U<128?2*U*R/255:255-2*(255-U)*(255-R)/255,J=F<128?2*F*V/255:255-2*(255-F)*(255-V)/255,Z=Q<128?2*Q*n/255:255-2*(255-Q)*(255-n)/255},"color-dodge":function(){d=0===R?0:255===U?255:W(255,255*R/(255-U)),J=0===V?0:255===F?255:W(255,255*V/(255-F)),Z=0===n?0:255===Q?255:W(255,255*n/(255-Q))},"color-burn":function(){d=255===R?255:0===U?0:S(0,255-255*(255-R)/U),J=255===V?255:0===F?0:S(0,255-255*(255-V)/F),Z=255===n?255:0===Q?0:S(0,255-255*(255-n)/Q)},darken:function(){d=RU?R:U,J=V>F?V:F,Z=n>Q?n:Q},difference:function(){(d=R-U)<0&&(d=-d),(J=V-F)<0&&(J=-J),(Z=n-Q)<0&&(Z=-Z)},exclusion:function(){d=R+U*(255-R-R)/255,J=V+F*(255-V-V)/255,Z=n+Q*(255-n-n)/255},hue:function(){T(U,F,Q,a(R,V,n)),t(d,J,Z,k(R,V,n))},saturation:function(){T(R,V,n,a(U,F,Q)),t(d,J,Z,k(R,V,n))},luminosity:function(){t(R,V,n,k(U,F,Q))},color:function(){t(U,F,Q,k(R,V,n))},add:function(){d=W(R+U,255),J=W(V+F,255),Z=W(n+Q,255)},subtract:function(){d=S(R-U,0),J=S(V-F,0),Z=S(n-Q,0)},average:function(){d=(R+U)/2,J=(V+F)/2,Z=(n+Q)/2},negation:function(){d=255-E(255-U-R),J=255-E(255-F-V),Z=255-E(255-Q-n)}},C=this.nativeModes=N.each(["source-over","source-in","source-out","source-atop","destination-over","destination-in","destination-out","destination-atop","lighter","darker","copy","xor"],function(U){this[U]=!0},{}),D=dU.getContext(1,1,{willReadFrequently:!0});D&&(N.each(e,function(U,F){var Q="darken"===F,B=!1;D.save();try{D.fillStyle=Q?"#300":"#a00",D.fillRect(0,0,1,1),D.globalCompositeOperation=F,D.globalCompositeOperation===F&&(D.fillStyle=Q?"#a00":"#300",D.fillRect(0,0,1,1),B=D.getImageData(0,0,1,1).data[0]!==Q?170:51)}catch(R){}D.restore(),C[F]=B}),dU.release(D)),this.process=function(N,W,S,E,k){var t=W.canvas,a="normal"===N;if(a||C[N])S.save(),S.setTransform(1,0,0,1,0,0),S.globalAlpha=E,a||(S.globalCompositeOperation=N),S.drawImage(t,k.x,k.y),S.restore();else{var T=e[N];if(!T)return;for(var D=S.getImageData(k.x,k.y,t.width,t.height),o=D.data,p=W.getImageData(0,0,t.width,t.height).data,h=0,c=o.length;h=2&&!Q.hasHandles())if(J>2){l=Q._closed?"polygon":"polyline";for(var Z=[],W=0;W3){for(Q.sort(function(U,F){return F.length-U.length}),F+="switch(str.length){",B=0;B=170&&HU.test(String.fromCharCode(U)))},IU=U.isIdentifierChar=function(U){return U<48?36===U:U<58||!(U<65)&&(U<91||(U<97?95===U:U<123||U>=170&&xU.test(String.fromCharCode(U))))};function KU(){this.line=k,this.column=l-t}function fU(){k=1,l=t=0,E=!0,qU()}function gU(U,Q){J=l,F.locations&&(Z=new KU),W=U,qU(),S=Q,E=U.beforeExpr}function PU(){var U,B=F.onComment&&F.locations&&new KU,R=l,V=Q.indexOf("*/",l+=2);if(-1===V&&h(l-2,"Unterminated comment"),l=V+2,F.locations)for(wU.lastIndex=R;(U=wU.exec(Q))&&U.index8&&U<14)++l;else if(47===U){var R;if(42===(R=Q.charCodeAt(l+1)))PU();else{if(47!==R)break;AU()}}else if(160===U)++l;else{if(!(U>=5760&&OU.test(String.fromCharCode(U))))break;++l}}}function _U(U){switch(U){case 46:return function(){var U=Q.charCodeAt(l+1);return U>=48&&U<=57?BF(!0):(++l,gU(SU))}();case 40:return++l,gU(dU);case 41:return++l,gU(JU);case 59:return++l,gU(ZU);case 44:return++l,gU(NU);case 91:return++l,gU(RU);case 93:return++l,gU(VU);case 123:return++l,gU(nU);case 125:return++l,gU(lU);case 58:return++l,gU(WU);case 63:return++l,gU(EU);case 48:var R=Q.charCodeAt(l+1);if(120===R||88===R)return function(){l+=2;var U=QF(16);return null==U&&h(d+2,"Expected hexadecimal number"),jU(Q.charCodeAt(l))&&h(l,"Identifier directly after number"),gU(r,U)}();case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return BF(!1);case 34:case 39:return function(U){l++;for(var R="";;){l>=B&&h(d,"Unterminated string constant");var V=Q.charCodeAt(l);if(V===U)return++l,gU(i,R);if(92===V){V=Q.charCodeAt(++l);var n=/^[0-7]+/.exec(Q.slice(l,l+3));for(n&&(n=n[0]);n&&parseInt(n,8)>255;)n=n.slice(0,-1);if("0"===n&&(n=null),++l,n)o&&h(l-2,"Octal literal in strict mode"),R+=String.fromCharCode(parseInt(n,8)),l+=n.length-1;else switch(V){case 110:R+="\n";break;case 114:R+="\r";break;case 120:R+=String.fromCharCode(RF(2));break;case 117:R+=String.fromCharCode(RF(4));break;case 85:R+=String.fromCharCode(RF(8));break;case 116:R+="\t";break;case 98:R+="\b";break;case 118:R+="\v";break;case 102:R+="\f";break;case 48:R+="\0";break;case 13:10===Q.charCodeAt(l)&&++l;case 10:F.locations&&(t=l,++k);break;default:R+=String.fromCharCode(V)}}else 13!==V&&10!==V&&8232!==V&&8233!==V||h(d,"Unterminated string constant"),R+=String.fromCharCode(V),++l}}(U);case 47:return function(){var U=Q.charCodeAt(l+1);return E?(++l,FF()):61===U?UF(aU,2):UF(kU,1)}();case 37:case 42:return 61===Q.charCodeAt(l+1)?UF(aU,2):UF(iU,1);case 124:case 38:return function(U){var F=Q.charCodeAt(l+1);return F===U?UF(124===U?CU:DU,2):61===F?UF(aU,2):UF(124===U?oU:hU,1)}(U);case 94:return 61===Q.charCodeAt(l+1)?UF(aU,2):UF(pU,1);case 43:case 45:return function(U){var F=Q.charCodeAt(l+1);return F===U?45==F&&62==Q.charCodeAt(l+2)&&uU.test(Q.slice(T,l))?(l+=3,AU(),qU(),$U()):UF(TU,2):61===F?UF(aU,2):UF(MU,1)}(U);case 60:case 62:return function(U){var F=Q.charCodeAt(l+1),B=1;return F===U?(B=62===U&&62===Q.charCodeAt(l+2)?3:2,61===Q.charCodeAt(l+B)?UF(aU,B+1):UF(mU,B)):33==F&&60==U&&45==Q.charCodeAt(l+2)&&45==Q.charCodeAt(l+3)?(l+=4,AU(),qU(),$U()):(61===F&&(B=61===Q.charCodeAt(l+2)?3:2),UF(rU,B))}(U);case 61:case 33:return function(U){return 61===Q.charCodeAt(l+1)?UF(cU,61===Q.charCodeAt(l+2)?3:2):UF(61===U?tU:eU,1)}(U);case 126:return UF(eU,1)}return!1}function $U(U){if(U?l=d+1:d=l,F.locations&&(N=new KU),U)return FF();if(l>=B)return gU(v);var R=Q.charCodeAt(l);if(jU(R)||92===R)return nF();var V=_U(R);if(!1===V){var n=String.fromCharCode(R);if("\\"===n||HU.test(n))return nF();h(l,"Unexpected character '"+n+"'")}return V}function UF(U,F){var B=Q.slice(l,l+F);l+=F,gU(U,B)}function FF(){for(var U,F,R=l;;){l>=B&&h(R,"Unterminated regular expression");var V=Q.charAt(l);if(uU.test(V)&&h(R,"Unterminated regular expression"),U)U=!1;else{if("["===V)F=!0;else if("]"===V&&F)F=!1;else if("/"===V&&!F)break;U="\\"===V}++l}var n=Q.slice(R,l);++l;var d=VF();d&&!/^[gmsiy]*$/.test(d)&&h(R,"Invalid regexp flag");try{var J=new RegExp(n,d)}catch(m){m instanceof SyntaxError&&h(R,m.message),h(m)}return gU(M,J)}function QF(U,F){for(var B=l,R=0,V=0,n=null==F?1/0:F;V=97?J-97+10:J>=65?J-65+10:J>=48&&J<=57?J-48:1/0)>=U)break;++l,R=R*U+d}return l===B||null!=F&&l-B!==F?null:R}function BF(U){var F=l,B=!1,R=48===Q.charCodeAt(l);U||null!==QF(10)||h(F,"Invalid number"),46===Q.charCodeAt(l)&&(++l,QF(10),B=!0);var V=Q.charCodeAt(l);69!==V&&101!==V||(43!==(V=Q.charCodeAt(++l))&&45!==V||++l,null===QF(10)&&h(F,"Invalid number"),B=!0),jU(Q.charCodeAt(l))&&h(l,"Identifier directly after number");var n,d=Q.slice(F,l);return B?n=parseFloat(d):R&&1!==d.length?/[89]/.test(d)||o?h(F,"Invalid number"):n=parseInt(d,8):n=parseInt(d,10),gU(r,n)}function RF(U){var F=QF(16,U);return null===F&&h(d,"Bad character escape sequence"),F}function VF(){GU=!1;for(var U,F=!0,B=l;;){var R=Q.charCodeAt(l);if(IU(R))GU&&(U+=Q.charAt(l)),++l;else{if(92!==R)break;GU||(U=Q.slice(B,l)),GU=!0,117!=Q.charCodeAt(++l)&&h(l,"Expecting Unicode escape sequence \\uXXXX"),++l;var V=RF(4),n=String.fromCharCode(V);n||h(l-1,"Invalid Unicode escape"),(F?jU(V):IU(V))||h(l-4,"Invalid Unicode escape"),U+=n}F=!1}return GU?U:Q.slice(B,l)}function nF(){var U=VF(),F=b;return!GU&&zU(U)&&(F=BU[U]),gU(F,U)}function lF(){a=d,T=J,e=Z,$U()}function dF(U){if(o=U,l=d,F.locations)for(;l=5&&"ExpressionStatement"===U.type&&"Literal"===U.expression.type&&"use strict"===U.expression.value}function kF(U){if(W===U)return lF(),!0}function tF(){return!F.strictSemicolons&&(W===v||W===lU||uU.test(Q.slice(T,d)))}function aF(){kF(ZU)||tF()||eF()}function TF(U){W===U?lF():eF()}function eF(){h(d,"Unexpected token")}function CF(U){"Identifier"!==U.type&&"MemberExpression"!==U.type&&h(U.start,"Assigning to rvalue"),o&&"Identifier"===U.type&&yU(U.name)&&h(U.start,"Assigning to "+U.name+" in strict mode")}var DF={kind:"loop"},oF={kind:"switch"};function pF(){(W===kU||W===aU&&"/="==S)&&$U(!0);var U=W,B=ZF();switch(U){case G:case Y:lF();var R=U===G;kF(ZU)||tF()?B.label=null:W!==b?eF():(B.label=OF(),aF());for(var V=0;VF){var R=WF(U);R.left=U,R.operator=S;var V=W;return lF(),R.right=vF(GF(),B,Q),vF(SF(R,V===CU||V===DU?"LogicalExpression":"BinaryExpression"),F,Q)}return U}function GF(){if(W.prefix){var U=ZF(),F=W.isUpdate;return U.operator=S,U.prefix=!0,E=!0,lF(),U.argument=GF(),F?CF(U.argument):o&&"delete"===U.operator&&"Identifier"===U.argument.type&&h(U.start,"Deleting local variable in strict mode"),SF(U,F?"UpdateExpression":"UnaryExpression")}for(var Q=sF(XF());W.postfix&&!tF();)(U=WF(Q)).operator=S,U.prefix=!1,U.argument=Q,CF(Q),lF(),Q=SF(U,"UpdateExpression");return Q}function sF(U,F){var Q;return kF(SU)?((Q=WF(U)).object=U,Q.property=OF(!0),Q.computed=!1,sF(SF(Q,"MemberExpression"),F)):kF(RU)?((Q=WF(U)).object=U,Q.property=iF(),Q.computed=!0,TF(VU),sF(SF(Q,"MemberExpression"),F)):!F&&kF(dU)?((Q=WF(U)).callee=U,Q.arguments=zF(JU,!1),sF(SF(Q,"CallExpression"),F)):U}function XF(){switch(W){case _:var U=ZF();return lF(),SF(U,"ThisExpression");case b:return OF();case r:case i:case M:return(U=ZF()).value=S,U.raw=Q.slice(d,J),lF(),SF(U,"Literal");case $:case UU:case FU:return(U=ZF()).value=W.atomValue,U.raw=W.keyword,lF(),SF(U,"Literal");case dU:var B=N,R=d;lF();var V=iF();return V.start=R,V.end=J,F.locations&&(V.loc.start=B,V.loc.end=Z),F.ranges&&(V.range=[R,J]),TF(JU),V;case RU:return U=ZF(),lF(),U.elements=zF(VU,!0,!0),SF(U,"ArrayExpression");case nU:return function(){var U=ZF(),Q=!0,B=!1;for(U.properties=[],lF();!kF(lU);){if(Q)Q=!1;else if(TF(NU),F.allowTrailingCommas&&kF(lU))break;var R,V={key:YF()},n=!1;if(kF(WU)?(V.value=iF(!0),R=V.kind="init"):F.ecmaVersion>=5&&"Identifier"===V.key.type&&("get"===V.key.name||"set"===V.key.name)?(n=B=!0,R=V.kind=V.key.name,V.key=YF(),W!==dU&&eF(),V.value=yF(ZF(),!1)):eF(),"Identifier"===V.key.type&&(o||B))for(var l=0;l=0)for(var l=0;l=U)break;U+=R[1]}return U}function R(F){return U.substring(B(F.range[0]),B(F.range[1]))}function V(F,R){for(var V=B(F.range[0]),n=B(F.range[1]),l=0,d=Q.length-1;d>=0;d--)if(V>Q[d][0]){l=d+1;break}Q.splice(l,0,[V,R.length-n+V]),U=U.substring(0,V)+R+U.substring(n)}function l(F,Q){switch(F.type){case"UnaryExpression":if(F.operator in a&&"Literal"!==F.argument.type){var n=R(F.argument);V(F,'$__("'+F.operator+'", '+n+")")}break;case"BinaryExpression":if(F.operator in t&&"Literal"!==F.left.type){var l=R(F.left),d=R(F.right),J=function(F,Q){return U.substring(B(F.range[1]),B(Q.range[0]))}(F.left,F.right),N=F.operator;V(F,"__$__("+l+","+J.replace(new RegExp("\\"+N),'"'+N+'"')+", "+d+")")}break;case"UpdateExpression":case"AssignmentExpression":var Z=Q&&Q.type;if(!("ForStatement"===Z||"BinaryExpression"===Z&&/^[=!<>]/.test(Q.operator)||"MemberExpression"===Z&&Q.computed))if("UpdateExpression"===F.type){var W=(n=R(F.argument))+" = "+(S="__$__("+n+', "'+F.operator[0]+'", 1)');F.prefix?W="("+W+")":"AssignmentExpression"!==Z&&"VariableDeclarator"!==Z&&"BinaryExpression"!==Z||(R(Q.left||Q.id)===n&&(W=S),W=n+"; "+W),V(F,W)}else if(/^.=$/.test(F.operator)&&"Literal"!==F.left.type){l=R(F.left),d=R(F.right);var S=l+" = __$__("+l+', "'+F.operator[0]+'", '+d+")";V(F,/^\(.*\)$/.test(R(F))?"("+S+")":S)}}}var N,Z=(F=F||{}).url||"",W=F.sourceMaps,S=F.paperFeatures||{},E=F.source||U,T=F.offset||0,e=WU.agent,C=e.versionNumber,D=!1,o=/\r\n|\n|\r/gm;if(W&&(e.chrome&&C>=30||e.webkit&&C>=537.76||e.firefox&&C>=23||e.node)){if(e.node)T-=2;else if(d&&Z&&!d.location.href.indexOf(Z)){var p=J.getElementsByTagName("html")[0].innerHTML;T=p.substr(0,p.indexOf(U)+1).match(o).length+1}var h=["AA"+function(U){var F="";for(U=(Math.abs(U)<<1)+(U<0?1:0);U||!F;){var Q=31&U;(U>>=5)&&(Q|=32),F+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[Q]}return F}((D=T>0&&!(e.chrome&&C>=36||e.safari&&C>=600||e.firefox&&C>=40||e.node))?0:T)+"A"];h.length=(U.match(o)||[]).length+1+(D?T:0),N={version:3,file:Z,names:[],mappings:h.join(";AACA"),sourceRoot:"",sources:[Z],sourcesContent:[E]}}return!1===S.operatorOverloading&&!1===S.moduleExports||function U(F,Q,B){if(F){for(var n in F)if("range"!==n&&"loc"!==n){var d=F[n];if(Array.isArray(d))for(var J=0,N=d.length;J{var F={task:void 0,next:null},Q=F,B=!1,R=void 0,V=!1;function n(){for(;F.next;){var U=(F=F.next).task;F.task=void 0;var Q=F.domain;Q&&(F.domain=void 0,Q.enter());try{U()}catch(R){if(V)throw Q&&Q.exit(),setTimeout(n,0),Q&&Q.enter(),R;setTimeout(function(){throw R},0)}Q&&Q.exit()}B=!1}if("undefined"!==typeof process&&process.nextTick)V=!0,R=function(){process.nextTick(n)};else if("function"===typeof setImmediate)R="undefined"!==typeof window?setImmediate.bind(window,n):function(){setImmediate(n)};else if("undefined"!==typeof MessageChannel){var l=new MessageChannel;l.port1.onmessage=n,R=function(){l.port2.postMessage(0)}}else R=function(){setTimeout(n,0)};U.exports=function(U){Q=Q.next={task:U,domain:V&&process.domain,next:null},B||(B=!0,R())}},29675:(U,F,Q)=>{"use strict";Q.d(F,{Ay:()=>t});var B=Q(49257),R=Q(51449),V=Q(60471),n=Q(88818);const l=!1;var d=Q(87042),J="unmounted",N="exited",Z="entering",W="entered",S="exiting",E=function(U){function F(F,Q){var B;B=U.call(this,F,Q)||this;var R,V=Q&&!Q.isMounting?F.enter:F.appear;return B.appearStatus=null,F.in?V?(R=N,B.appearStatus=Z):R=W:R=F.unmountOnExit||F.mountOnEnter?J:N,B.state={status:R},B.nextCallback=null,B}(0,R.A)(F,U),F.getDerivedStateFromProps=function(U,F){return U.in&&F.status===J?{status:N}:null};var Q=F.prototype;return Q.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},Q.componentDidUpdate=function(U){var F=null;if(U!==this.props){var Q=this.state.status;this.props.in?Q!==Z&&Q!==W&&(F=Z):Q!==Z&&Q!==W||(F=S)}this.updateStatus(!1,F)},Q.componentWillUnmount=function(){this.cancelNextCallback()},Q.getTimeouts=function(){var U,F,Q,B=this.props.timeout;return U=F=Q=B,null!=B&&"number"!==typeof B&&(U=B.exit,F=B.enter,Q=void 0!==B.appear?B.appear:F),{exit:U,enter:F,appear:Q}},Q.updateStatus=function(U,F){if(void 0===U&&(U=!1),null!==F)if(this.cancelNextCallback(),F===Z){if(this.props.unmountOnExit||this.props.mountOnEnter){var Q=this.props.nodeRef?this.props.nodeRef.current:n.findDOMNode(this);Q&&function(U){U.scrollTop}(Q)}this.performEnter(U)}else this.performExit();else this.props.unmountOnExit&&this.state.status===N&&this.setState({status:J})},Q.performEnter=function(U){var F=this,Q=this.props.enter,B=this.context?this.context.isMounting:U,R=this.props.nodeRef?[B]:[n.findDOMNode(this),B],V=R[0],d=R[1],J=this.getTimeouts(),N=B?J.appear:J.enter;!U&&!Q||l?this.safeSetState({status:W},function(){F.props.onEntered(V)}):(this.props.onEnter(V,d),this.safeSetState({status:Z},function(){F.props.onEntering(V,d),F.onTransitionEnd(N,function(){F.safeSetState({status:W},function(){F.props.onEntered(V,d)})})}))},Q.performExit=function(){var U=this,F=this.props.exit,Q=this.getTimeouts(),B=this.props.nodeRef?void 0:n.findDOMNode(this);F&&!l?(this.props.onExit(B),this.safeSetState({status:S},function(){U.props.onExiting(B),U.onTransitionEnd(Q.exit,function(){U.safeSetState({status:N},function(){U.props.onExited(B)})})})):this.safeSetState({status:N},function(){U.props.onExited(B)})},Q.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},Q.safeSetState=function(U,F){F=this.setNextCallback(F),this.setState(U,F)},Q.setNextCallback=function(U){var F=this,Q=!0;return this.nextCallback=function(B){Q&&(Q=!1,F.nextCallback=null,U(B))},this.nextCallback.cancel=function(){Q=!1},this.nextCallback},Q.onTransitionEnd=function(U,F){this.setNextCallback(F);var Q=this.props.nodeRef?this.props.nodeRef.current:n.findDOMNode(this),B=null==U&&!this.props.addEndListener;if(Q&&!B){if(this.props.addEndListener){var R=this.props.nodeRef?[this.nextCallback]:[Q,this.nextCallback],V=R[0],l=R[1];this.props.addEndListener(V,l)}null!=U&&setTimeout(this.nextCallback,U)}else setTimeout(this.nextCallback,0)},Q.render=function(){var U=this.state.status;if(U===J)return null;var F=this.props,Q=F.children,R=(F.in,F.mountOnEnter,F.unmountOnExit,F.appear,F.enter,F.exit,F.timeout,F.addEndListener,F.onEnter,F.onEntering,F.onEntered,F.onExit,F.onExiting,F.onExited,F.nodeRef,(0,B.A)(F,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]));return V.createElement(d.A.Provider,{value:null},"function"===typeof Q?Q(U,R):V.cloneElement(V.Children.only(Q),R))},F}(V.Component);function k(){}E.contextType=d.A,E.propTypes={},E.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:k,onEntering:k,onEntered:k,onExit:k,onExiting:k,onExited:k},E.UNMOUNTED=J,E.EXITED=N,E.ENTERING=Z,E.ENTERED=W,E.EXITING=S;const t=E},29886:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>V});var B=Q(60471),R=Q(5112);const V=function(){let U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;const F=B.useContext(R.T);return F&&(Q=F,0!==Object.keys(Q).length)?F:U;var Q}},29962:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>R});var B=Q(68102);function R(U,F){const Q=(0,B.A)({},F);return Object.keys(U).forEach(V=>{if(V.toString().match(/^(components|slots)$/))Q[V]=(0,B.A)({},U[V],Q[V]);else if(V.toString().match(/^(componentsProps|slotProps)$/)){const n=U[V]||{},l=F[V];Q[V]={},l&&Object.keys(l)?n&&Object.keys(n)?(Q[V]=(0,B.A)({},l),Object.keys(n).forEach(U=>{Q[V][U]=R(n[U],l[U])})):Q[V]=l:Q[V]=n}else void 0===Q[V]&&(Q[V]=U[V])}),Q}},29989:(U,F,Q)=>{"use strict";var B=Q(27507),R=Q(63591);U.exports=function(){var U=B();return R(Object,{is:U},{is:function(){return Object.is!==U}}),U}},30279:(U,F,Q)=>{"use strict";var B=Q(91087);U.exports=B.getPrototypeOf||null},30874:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>V});var B=Q(60471),R=Q(24300);const V=function(U){const F=B.useRef(U);return(0,R.A)(()=>{F.current=U}),B.useRef(function(){return(0,F.current)(...arguments)}).current}},31645:(U,F,Q)=>{"use strict";var B=Q(62648);U.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:B}},31726:function(U,F,Q){var B;U=Q.nmd(U),function(){function R(U,F,Q){switch(Q.length){case 0:return U.call(F);case 1:return U.call(F,Q[0]);case 2:return U.call(F,Q[0],Q[1]);case 3:return U.call(F,Q[0],Q[1],Q[2])}return U.apply(F,Q)}function V(U,F,Q,B){for(var R=-1,V=null==U?0:U.length;++R-1}function Z(U,F,Q){for(var B=-1,R=null==U?0:U.length;++B-1;);return Q}function X(U,F){for(var Q=U.length;Q--&&C(F,U[Q],0)>-1;);return Q}function Y(U){return"\\"+$F[U]}function y(U){return gF.test(U)}function z(U){return PF.test(U)}function O(U){var F=-1,Q=Array(U.size);return U.forEach(function(U,B){Q[++F]=[B,U]}),Q}function L(U,F){return function(Q){return U(F(Q))}}function H(U,F){for(var Q=-1,B=U.length,R=0,V=[];++Q>>1,lU=[["ary",$],["bind",1],["bindKey",2],["curry",8],["curryRight",A],["flip",512],["partial",q],["partialRight",_],["rearg",UU]],dU="[object Arguments]",JU="[object Array]",NU="[object Boolean]",ZU="[object Date]",WU="[object Error]",SU="[object Function]",EU="[object GeneratorFunction]",kU="[object Map]",tU="[object Number]",aU="[object Object]",TU="[object Promise]",eU="[object RegExp]",CU="[object Set]",DU="[object String]",oU="[object Symbol]",pU="[object WeakMap]",hU="[object ArrayBuffer]",cU="[object DataView]",rU="[object Float32Array]",mU="[object Float64Array]",MU="[object Int8Array]",iU="[object Int16Array]",bU="[object Int32Array]",vU="[object Uint8Array]",GU="[object Uint8ClampedArray]",sU="[object Uint16Array]",XU="[object Uint32Array]",YU=/\b__p\+='';/g,yU=/\b(__p\+=)''\+/g,zU=/(__e\(.*?\)|\b__t\))\+'';/g,OU=/&(?:amp|lt|gt|quot|#39);/g,LU=/[&<>"']/g,HU=RegExp(OU.source),xU=RegExp(LU.source),uU=/<%-([\s\S]+?)%>/g,wU=/<%([\s\S]+?)%>/g,jU=/<%=([\s\S]+?)%>/g,IU=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,KU=/^\w*$/,fU=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,gU=/[\\^$.*+?()[\]{}|]/g,PU=RegExp(gU.source),AU=/^\s+/,qU=/\s/,_U=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,$U=/\{\n\/\* \[wrapped with (.+)\] \*/,UF=/,? & /,FF=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,QF=/[()=,{}\[\]\/\s]/,BF=/\\(\\)?/g,RF=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,VF=/\w*$/,nF=/^[-+]0x[0-9a-f]+$/i,lF=/^0b[01]+$/i,dF=/^\[object .+?Constructor\]$/,JF=/^0o[0-7]+$/i,NF=/^(?:0|[1-9]\d*)$/,ZF=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,WF=/($^)/,SF=/['\n\r\u2028\u2029\\]/g,EF="\\ud800-\\udfff",kF="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",tF="\\u2700-\\u27bf",aF="a-z\\xdf-\\xf6\\xf8-\\xff",TF="A-Z\\xc0-\\xd6\\xd8-\\xde",eF="\\ufe0e\\ufe0f",CF="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",DF="['\u2019]",oF="["+EF+"]",pF="["+CF+"]",hF="["+kF+"]",cF="\\d+",rF="["+tF+"]",mF="["+aF+"]",MF="[^"+EF+CF+cF+tF+aF+TF+"]",iF="\\ud83c[\\udffb-\\udfff]",bF="[^"+EF+"]",vF="(?:\\ud83c[\\udde6-\\uddff]){2}",GF="[\\ud800-\\udbff][\\udc00-\\udfff]",sF="["+TF+"]",XF="\\u200d",YF="(?:"+mF+"|"+MF+")",yF="(?:"+sF+"|"+MF+")",zF="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",OF="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",LF="(?:"+hF+"|"+iF+")"+"?",HF="["+eF+"]?",xF=HF+LF+("(?:"+XF+"(?:"+[bF,vF,GF].join("|")+")"+HF+LF+")*"),uF="(?:"+[rF,vF,GF].join("|")+")"+xF,wF="(?:"+[bF+hF+"?",hF,vF,GF,oF].join("|")+")",jF=RegExp(DF,"g"),IF=RegExp(hF,"g"),KF=RegExp(iF+"(?="+iF+")|"+wF+xF,"g"),fF=RegExp([sF+"?"+mF+"+"+zF+"(?="+[pF,sF,"$"].join("|")+")",yF+"+"+OF+"(?="+[pF,sF+YF,"$"].join("|")+")",sF+"?"+YF+"+"+zF,sF+"+"+OF,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",cF,uF].join("|"),"g"),gF=RegExp("["+XF+EF+kF+eF+"]"),PF=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,AF=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],qF={};qF[rU]=qF[mU]=qF[MU]=qF[iU]=qF[bU]=qF[vU]=qF[GU]=qF[sU]=qF[XU]=!0,qF[dU]=qF[JU]=qF[hU]=qF[NU]=qF[cU]=qF[ZU]=qF[WU]=qF[SU]=qF[kU]=qF[tU]=qF[aU]=qF[eU]=qF[CU]=qF[DU]=qF[pU]=!1;var _F={};_F[dU]=_F[JU]=_F[hU]=_F[cU]=_F[NU]=_F[ZU]=_F[rU]=_F[mU]=_F[MU]=_F[iU]=_F[bU]=_F[kU]=_F[tU]=_F[aU]=_F[eU]=_F[CU]=_F[DU]=_F[oU]=_F[vU]=_F[GU]=_F[sU]=_F[XU]=!0,_F[WU]=_F[SU]=_F[pU]=!1;var $F={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},UQ=parseFloat,FQ=parseInt,QQ="object"==typeof Q.g&&Q.g&&Q.g.Object===Object&&Q.g,BQ="object"==typeof self&&self&&self.Object===Object&&self,RQ=QQ||BQ||Function("return this")(),VQ=F&&!F.nodeType&&F,nQ=VQ&&U&&!U.nodeType&&U,lQ=nQ&&nQ.exports===VQ,dQ=lQ&&QQ.process,JQ=function(){try{var U=nQ&&nQ.require&&nQ.require("util").types;return U||dQ&&dQ.binding&&dQ.binding("util")}catch(U){}}(),NQ=JQ&&JQ.isArrayBuffer,ZQ=JQ&&JQ.isDate,WQ=JQ&&JQ.isMap,SQ=JQ&&JQ.isRegExp,EQ=JQ&&JQ.isSet,kQ=JQ&&JQ.isTypedArray,tQ=h("length"),aQ=c({"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\u0100":"A","\u0102":"A","\u0104":"A","\u0101":"a","\u0103":"a","\u0105":"a","\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\u010e":"D","\u0110":"D","\u010f":"d","\u0111":"d","\u0112":"E","\u0114":"E","\u0116":"E","\u0118":"E","\u011a":"E","\u0113":"e","\u0115":"e","\u0117":"e","\u0119":"e","\u011b":"e","\u011c":"G","\u011e":"G","\u0120":"G","\u0122":"G","\u011d":"g","\u011f":"g","\u0121":"g","\u0123":"g","\u0124":"H","\u0126":"H","\u0125":"h","\u0127":"h","\u0128":"I","\u012a":"I","\u012c":"I","\u012e":"I","\u0130":"I","\u0129":"i","\u012b":"i","\u012d":"i","\u012f":"i","\u0131":"i","\u0134":"J","\u0135":"j","\u0136":"K","\u0137":"k","\u0138":"k","\u0139":"L","\u013b":"L","\u013d":"L","\u013f":"L","\u0141":"L","\u013a":"l","\u013c":"l","\u013e":"l","\u0140":"l","\u0142":"l","\u0143":"N","\u0145":"N","\u0147":"N","\u014a":"N","\u0144":"n","\u0146":"n","\u0148":"n","\u014b":"n","\u014c":"O","\u014e":"O","\u0150":"O","\u014d":"o","\u014f":"o","\u0151":"o","\u0154":"R","\u0156":"R","\u0158":"R","\u0155":"r","\u0157":"r","\u0159":"r","\u015a":"S","\u015c":"S","\u015e":"S","\u0160":"S","\u015b":"s","\u015d":"s","\u015f":"s","\u0161":"s","\u0162":"T","\u0164":"T","\u0166":"T","\u0163":"t","\u0165":"t","\u0167":"t","\u0168":"U","\u016a":"U","\u016c":"U","\u016e":"U","\u0170":"U","\u0172":"U","\u0169":"u","\u016b":"u","\u016d":"u","\u016f":"u","\u0171":"u","\u0173":"u","\u0174":"W","\u0175":"w","\u0176":"Y","\u0177":"y","\u0178":"Y","\u0179":"Z","\u017b":"Z","\u017d":"Z","\u017a":"z","\u017c":"z","\u017e":"z","\u0132":"IJ","\u0133":"ij","\u0152":"Oe","\u0153":"oe","\u0149":"'n","\u017f":"s"}),TQ=c({"&":"&","<":"<",">":">",'"':""","'":"'"}),eQ=c({"&":"&","<":"<",">":">",""":'"',"'":"'"}),CQ=function U(F){function Q(U){if(OR(U)&&!Ml(U)&&!(U instanceof qU)){if(U instanceof c)return U;if(mV.call(U,"__wrapped__"))return NR(U)}return new c(U)}function B(){}function c(U,F){this.__wrapped__=U,this.__actions__=[],this.__chain__=!!F,this.__index__=0,this.__values__=K}function qU(U){this.__wrapped__=U,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=RU,this.__views__=[]}function FF(U){var F=-1,Q=null==U?0:U.length;for(this.clear();++F=F?U:F)),U}function bF(U,F,Q,B,R,V){var l,d=1&F,J=2&F,N=4&F;if(Q&&(l=R?Q(U,B,R,V):Q(U)),l!==K)return l;if(!zR(U))return U;var Z=Ml(U);if(Z){if(l=function(U){var F=U.length,Q=new U.constructor(F);return F&&"string"==typeof U[0]&&mV.call(U,"index")&&(Q.index=U.index,Q.input=U.input),Q}(U),!d)return dB(U,l)}else{var W=On(U),S=W==SU||W==EU;if(bl(U))return QB(U,d);if(W==aU||W==dU||S&&!R){if(l=J||S?{}:KB(U),!d)return J?function(U,F){return JB(U,zn(U),F)}(U,function(U,F){return U&&JB(F,$R(F),U)}(l,U)):function(U,F){return JB(U,yn(U),F)}(U,rF(l,U))}else{if(!_F[W])return R?U:{};l=function(U,F,Q){var B=U.constructor;switch(F){case hU:return BB(U);case NU:case ZU:return new B(+U);case cU:return function(U,F){return new U.constructor(F?BB(U.buffer):U.buffer,U.byteOffset,U.byteLength)}(U,Q);case rU:case mU:case MU:case iU:case bU:case vU:case GU:case sU:case XU:return RB(U,Q);case kU:return new B;case tU:case DU:return new B(U);case eU:return function(U){var F=new U.constructor(U.source,VF.exec(U));return F.lastIndex=U.lastIndex,F}(U);case CU:return new B;case oU:return function(U){return on?TV(on.call(U)):{}}(U)}}(U,W,d)}}V||(V=new aF);var E=V.get(U);if(E)return E;V.set(U,l),Xl(U)?U.forEach(function(B){l.add(bF(B,F,Q,B,U,V))}):Gl(U)&&U.forEach(function(B,R){l.set(R,bF(B,F,Q,R,U,V))});var k=Z?K:(N?J?OB:zB:J?$R:_R)(U);return n(k||U,function(B,R){k&&(B=U[R=B]),pF(l,R,bF(B,F,Q,R,U,V))}),l}function vF(U,F,Q){var B=Q.length;if(null==U)return!B;for(U=TV(U);B--;){var R=Q[B],V=F[R],n=U[R];if(n===K&&!(R in U)||!V(n))return!1}return!0}function GF(U,F,Q){if("function"!=typeof U)throw new DV(f);return xn(function(){U.apply(K,Q)},F)}function sF(U,F,Q,B){var R=-1,V=N,n=!0,l=U.length,d=[],J=F.length;if(!l)return d;Q&&(F=W(F,b(Q))),B?(V=Z,n=!1):F.length>=200&&(V=G,n=!1,F=new tF(F));U:for(;++R0&&Q(l)?F>1?zF(l,F-1,Q,B,R):S(R,l):B||(R[R.length]=l)}return R}function OF(U,F){return U&&mn(U,F,_R)}function LF(U,F){return U&&Mn(U,F,_R)}function HF(U,F){return J(F,function(F){return XR(U[F])})}function xF(U,F){for(var Q=0,B=(F=UB(F,U)).length;null!=U&&QF}function fF(U,F){return null!=U&&mV.call(U,F)}function gF(U,F){return null!=U&&F in TV(U)}function PF(U,F,Q){for(var B=Q?Z:N,R=U[0].length,V=U.length,n=V,l=SV(V),d=1/0,J=[];n--;){var S=U[n];n&&F&&(S=W(S,b(F))),d=Bn(S.length,d),l[n]=!Q&&(F||R>=120&&S.length>=120)?new tF(n&&S):K}S=U[0];var E=-1,k=l[0];U:for(;++E=l?d:d*("desc"==Q[B]?-1:1)}return U.b-F.b}(U,F,Q)})}function MQ(U,F,Q){for(var B=-1,R=F.length,V={};++B-1;)l!==U&&xV.call(l,d,1),xV.call(U,d,1);return U}function bQ(U,F){for(var Q=U?F.length:0,B=Q-1;Q--;){var R=F[Q];if(Q==B||R!==V){var V=R;gB(R)?xV.call(U,R,1):KQ(U,R)}}return U}function vQ(U,F){return U+AV(nn()*(F-U+1))}function GQ(U,F){var Q="";if(!U||F<1||F>QU)return Q;do{F%2&&(Q+=U),(F=AV(F/2))&&(U+=U)}while(F);return Q}function sQ(U,F){return un(FR(U,F,nV),U+"")}function XQ(U){return eF(FV(U))}function YQ(U,F){var Q=FV(U);return nR(Q,iF(F,0,Q.length))}function yQ(U,F,Q,B){if(!zR(U))return U;for(var R=-1,V=(F=UB(F,U)).length,n=V-1,l=U;null!=l&&++RR?0:R+F),(Q=Q>R?R:Q)<0&&(Q+=R),R=F>Q?0:Q-F>>>0,F>>>=0;for(var V=SV(R);++B>>1,n=U[V];null!==n&&!uR(n)&&(Q?n<=F:n=200){var J=F?null:Xn(U);if(J)return x(J);n=!1,R=G,d=new tF}else d=F?[]:l;U:for(;++B=B?U:OQ(U,F,Q)}function QB(U,F){if(F)return U.slice();var Q=U.length,B=zV?zV(Q):new U.constructor(Q);return U.copy(B),B}function BB(U){var F=new U.constructor(U.byteLength);return new yV(F).set(new yV(U)),F}function RB(U,F){return new U.constructor(F?BB(U.buffer):U.buffer,U.byteOffset,U.length)}function VB(U,F){if(U!==F){var Q=U!==K,B=null===U,R=U===U,V=uR(U),n=F!==K,l=null===F,d=F===F,J=uR(F);if(!l&&!J&&!V&&U>F||V&&n&&d&&!l&&!J||B&&n&&d||!Q&&d||!R)return 1;if(!B&&!V&&!J&&U1?Q[R-1]:K,n=R>2?Q[2]:K;for(V=U.length>3&&"function"==typeof V?(R--,V):K,n&&PB(Q[0],Q[1],n)&&(V=R<3?K:V,R=1),F=TV(F);++B-1?R[V?F[n]:n]:K}}function eB(U){return yB(function(F){var Q=F.length,B=Q,R=c.prototype.thru;for(U&&F.reverse();B--;){var V=F[B];if("function"!=typeof V)throw new DV(f);if(R&&!n&&"wrapper"==LB(V))var n=new c([],!0)}for(B=n?B:Q;++B1&&T.reverse(),N&&dl))return!1;var J=V.get(U),N=V.get(F);if(J&&N)return J==F&&N==U;var Z=-1,W=!0,S=2&Q?new tF:K;for(V.set(U,F),V.set(F,U);++Z-1&&U%1==0&&U1?"& ":"")+F[B],F=F.join(Q>2?", ":" "),U.replace(_U,"{\n/* [wrapped with "+F+"] */\n")}(B,JR(function(U){var F=U.match($U);return F?F[1].split(UF):[]}(B),Q)))}function VR(U){var F=0,Q=0;return function(){var B=Rn(),R=16-(B-Q);if(Q=B,R>0){if(++F>=800)return arguments[0]}else F=0;return U.apply(K,arguments)}}function nR(U,F){var Q=-1,B=U.length,R=B-1;for(F=F===K?B:F;++Q0&&(Q=F.apply(this,arguments)),U<=1&&(F=K),Q}}function mR(U,F,Q){function B(F){var Q=d,B=J;return d=J=K,E=F,Z=U.apply(B,Q)}function R(U){var Q=U-S;return S===K||Q>=F||Q<0||t&&U-E>=N}function V(){var U=tl();return R(U)?n(U):(W=xn(V,function(U){var Q=F-(U-S);return t?Bn(Q,N-(U-E)):Q}(U)),K)}function n(U){return W=K,a&&d?B(U):(d=J=K,Z)}function l(){var U=tl(),Q=R(U);if(d=arguments,J=this,S=U,Q){if(W===K)return function(U){return E=U,W=xn(V,F),k?B(U):Z}(S);if(t)return sn(W),W=xn(V,F),B(S)}return W===K&&(W=xn(V,F)),Z}var d,J,N,Z,W,S,E=0,k=!1,t=!1,a=!0;if("function"!=typeof U)throw new DV(f);return F=fR(F)||0,zR(Q)&&(k=!!Q.leading,N=(t="maxWait"in Q)?Qn(fR(Q.maxWait)||0,F):N,a="trailing"in Q?!!Q.trailing:a),l.cancel=function(){W!==K&&sn(W),E=0,d=S=J=W=K},l.flush=function(){return W===K?Z:n(tl())},l}function MR(U,F){if("function"!=typeof U||null!=F&&"function"!=typeof F)throw new DV(f);var Q=function(){var B=arguments,R=F?F.apply(this,B):B[0],V=Q.cache;if(V.has(R))return V.get(R);var n=U.apply(this,B);return Q.cache=V.set(R,n)||V,n};return Q.cache=new(MR.Cache||kF),Q}function iR(U){if("function"!=typeof U)throw new DV(f);return function(){var F=arguments;switch(F.length){case 0:return!U.call(this);case 1:return!U.call(this,F[0]);case 2:return!U.call(this,F[0],F[1]);case 3:return!U.call(this,F[0],F[1],F[2])}return!U.apply(this,F)}}function bR(U,F){return U===F||U!==U&&F!==F}function vR(U){return null!=U&&yR(U.length)&&!XR(U)}function GR(U){return OR(U)&&vR(U)}function sR(U){if(!OR(U))return!1;var F=wF(U);return F==WU||"[object DOMException]"==F||"string"==typeof U.message&&"string"==typeof U.name&&!HR(U)}function XR(U){if(!zR(U))return!1;var F=wF(U);return F==SU||F==EU||"[object AsyncFunction]"==F||"[object Proxy]"==F}function YR(U){return"number"==typeof U&&U==IR(U)}function yR(U){return"number"==typeof U&&U>-1&&U%1==0&&U<=QU}function zR(U){var F=typeof U;return null!=U&&("object"==F||"function"==F)}function OR(U){return null!=U&&"object"==typeof U}function LR(U){return"number"==typeof U||OR(U)&&wF(U)==tU}function HR(U){if(!OR(U)||wF(U)!=aU)return!1;var F=OV(U);if(null===F)return!0;var Q=mV.call(F,"constructor")&&F.constructor;return"function"==typeof Q&&Q instanceof Q&&rV.call(Q)==vV}function xR(U){return"string"==typeof U||!Ml(U)&&OR(U)&&wF(U)==DU}function uR(U){return"symbol"==typeof U||OR(U)&&wF(U)==oU}function wR(U){if(!U)return[];if(vR(U))return xR(U)?w(U):dB(U);if(wV&&U[wV])return function(U){for(var F,Q=[];!(F=U.next()).done;)Q.push(F.value);return Q}(U[wV]());var F=On(U);return(F==kU?O:F==CU?x:FV)(U)}function jR(U){return U?(U=fR(U))===FU||U===-FU?17976931348623157e292*(U<0?-1:1):U===U?U:0:0===U?U:0}function IR(U){var F=jR(U),Q=F%1;return F===F?Q?F-Q:F:0}function KR(U){return U?iF(IR(U),0,RU):0}function fR(U){if("number"==typeof U)return U;if(uR(U))return BU;if(zR(U)){var F="function"==typeof U.valueOf?U.valueOf():U;U=zR(F)?F+"":F}if("string"!=typeof U)return 0===U?U:+U;U=i(U);var Q=lF.test(U);return Q||JF.test(U)?FQ(U.slice(2),Q?2:8):nF.test(U)?BU:+U}function gR(U){return JB(U,$R(U))}function PR(U){return null==U?"":jQ(U)}function AR(U,F,Q){var B=null==U?K:xF(U,F);return B===K?Q:B}function qR(U,F){return null!=U&&IB(U,F,gF)}function _R(U){return vR(U)?TF(U):JQ(U)}function $R(U){return vR(U)?TF(U,!0):tQ(U)}function UV(U,F){if(null==U)return{};var Q=W(OB(U),function(U){return[U]});return F=xB(F),MQ(U,Q,function(U,Q){return F(U,Q[0])})}function FV(U){return null==U?[]:v(U,_R(U))}function QV(U){return ld(PR(U).toLowerCase())}function BV(U){return(U=PR(U))&&U.replace(ZF,aQ).replace(IF,"")}function RV(U,F,Q){return U=PR(U),(F=Q?K:F)===K?z(U)?I(U):a(U):U.match(F)||[]}function VV(U){return function(){return U}}function nV(U){return U}function lV(U){return dQ("function"==typeof U?U:bF(U,1))}function dV(U,F,Q){var B=_R(F),R=HF(F,B);null!=Q||zR(F)&&(R.length||!B.length)||(Q=F,F=U,U=this,R=HF(F,_R(F)));var V=!(zR(Q)&&"chain"in Q&&!Q.chain),l=XR(U);return n(R,function(Q){var B=F[Q];U[Q]=B,l&&(U.prototype[Q]=function(){var F=this.__chain__;if(V||F){var Q=U(this.__wrapped__);return(Q.__actions__=dB(this.__actions__)).push({func:B,args:arguments,thisArg:U}),Q.__chain__=F,Q}return B.apply(U,S([this.value()],arguments))})}),U}function JV(){}function NV(U){return AB(U)?h(lR(U)):function(U){return function(F){return xF(F,U)}}(U)}function ZV(){return[]}function WV(){return!1}var SV=(F=null==F?RQ:CQ.defaults(RQ.Object(),F,CQ.pick(RQ,AF))).Array,EV=F.Date,kV=F.Error,tV=F.Function,aV=F.Math,TV=F.Object,eV=F.RegExp,CV=F.String,DV=F.TypeError,oV=SV.prototype,pV=tV.prototype,hV=TV.prototype,cV=F["__core-js_shared__"],rV=pV.toString,mV=hV.hasOwnProperty,MV=0,iV=function(){var U=/[^.]+$/.exec(cV&&cV.keys&&cV.keys.IE_PROTO||"");return U?"Symbol(src)_1."+U:""}(),bV=hV.toString,vV=rV.call(TV),GV=RQ._,sV=eV("^"+rV.call(mV).replace(gU,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),XV=lQ?F.Buffer:K,YV=F.Symbol,yV=F.Uint8Array,zV=XV?XV.allocUnsafe:K,OV=L(TV.getPrototypeOf,TV),LV=TV.create,HV=hV.propertyIsEnumerable,xV=oV.splice,uV=YV?YV.isConcatSpreadable:K,wV=YV?YV.iterator:K,jV=YV?YV.toStringTag:K,IV=function(){try{var U=jB(TV,"defineProperty");return U({},"",{}),U}catch(U){}}(),KV=F.clearTimeout!==RQ.clearTimeout&&F.clearTimeout,fV=EV&&EV.now!==RQ.Date.now&&EV.now,gV=F.setTimeout!==RQ.setTimeout&&F.setTimeout,PV=aV.ceil,AV=aV.floor,qV=TV.getOwnPropertySymbols,_V=XV?XV.isBuffer:K,$V=F.isFinite,Un=oV.join,Fn=L(TV.keys,TV),Qn=aV.max,Bn=aV.min,Rn=EV.now,Vn=F.parseInt,nn=aV.random,ln=oV.reverse,dn=jB(F,"DataView"),Jn=jB(F,"Map"),Nn=jB(F,"Promise"),Zn=jB(F,"Set"),Wn=jB(F,"WeakMap"),Sn=jB(TV,"create"),En=Wn&&new Wn,kn={},tn=dR(dn),an=dR(Jn),Tn=dR(Nn),en=dR(Zn),Cn=dR(Wn),Dn=YV?YV.prototype:K,on=Dn?Dn.valueOf:K,pn=Dn?Dn.toString:K,hn=function(){function U(){}return function(F){if(!zR(F))return{};if(LV)return LV(F);U.prototype=F;var Q=new U;return U.prototype=K,Q}}();Q.templateSettings={escape:uU,evaluate:wU,interpolate:jU,variable:"",imports:{_:Q}},Q.prototype=B.prototype,Q.prototype.constructor=Q,c.prototype=hn(B.prototype),c.prototype.constructor=c,qU.prototype=hn(B.prototype),qU.prototype.constructor=qU,FF.prototype.clear=function(){this.__data__=Sn?Sn(null):{},this.size=0},FF.prototype.delete=function(U){var F=this.has(U)&&delete this.__data__[U];return this.size-=F?1:0,F},FF.prototype.get=function(U){var F=this.__data__;if(Sn){var Q=F[U];return Q===g?K:Q}return mV.call(F,U)?F[U]:K},FF.prototype.has=function(U){var F=this.__data__;return Sn?F[U]!==K:mV.call(F,U)},FF.prototype.set=function(U,F){var Q=this.__data__;return this.size+=this.has(U)?0:1,Q[U]=Sn&&F===K?g:F,this},EF.prototype.clear=function(){this.__data__=[],this.size=0},EF.prototype.delete=function(U){var F=this.__data__,Q=hF(F,U);return!(Q<0)&&(Q==F.length-1?F.pop():xV.call(F,Q,1),--this.size,!0)},EF.prototype.get=function(U){var F=this.__data__,Q=hF(F,U);return Q<0?K:F[Q][1]},EF.prototype.has=function(U){return hF(this.__data__,U)>-1},EF.prototype.set=function(U,F){var Q=this.__data__,B=hF(Q,U);return B<0?(++this.size,Q.push([U,F])):Q[B][1]=F,this},kF.prototype.clear=function(){this.size=0,this.__data__={hash:new FF,map:new(Jn||EF),string:new FF}},kF.prototype.delete=function(U){var F=uB(this,U).delete(U);return this.size-=F?1:0,F},kF.prototype.get=function(U){return uB(this,U).get(U)},kF.prototype.has=function(U){return uB(this,U).has(U)},kF.prototype.set=function(U,F){var Q=uB(this,U),B=Q.size;return Q.set(U,F),this.size+=Q.size==B?0:1,this},tF.prototype.add=tF.prototype.push=function(U){return this.__data__.set(U,g),this},tF.prototype.has=function(U){return this.__data__.has(U)},aF.prototype.clear=function(){this.__data__=new EF,this.size=0},aF.prototype.delete=function(U){var F=this.__data__,Q=F.delete(U);return this.size=F.size,Q},aF.prototype.get=function(U){return this.__data__.get(U)},aF.prototype.has=function(U){return this.__data__.has(U)},aF.prototype.set=function(U,F){var Q=this.__data__;if(Q instanceof EF){var B=Q.__data__;if(!Jn||B.length<199)return B.push([U,F]),this.size=++Q.size,this;Q=this.__data__=new kF(B)}return Q.set(U,F),this.size=Q.size,this};var cn=WB(OF),rn=WB(LF,!0),mn=SB(),Mn=SB(!0),bn=En?function(U,F){return En.set(U,F),U}:nV,vn=IV?function(U,F){return IV(U,"toString",{configurable:!0,enumerable:!1,value:VV(F),writable:!0})}:nV,Gn=sQ,sn=KV||function(U){return RQ.clearTimeout(U)},Xn=Zn&&1/x(new Zn([,-0]))[1]==FU?function(U){return new Zn(U)}:JV,Yn=En?function(U){return En.get(U)}:JV,yn=qV?function(U){return null==U?[]:(U=TV(U),J(qV(U),function(F){return HV.call(U,F)}))}:ZV,zn=qV?function(U){for(var F=[];U;)S(F,yn(U)),U=OV(U);return F}:ZV,On=wF;(dn&&On(new dn(new ArrayBuffer(1)))!=cU||Jn&&On(new Jn)!=kU||Nn&&On(Nn.resolve())!=TU||Zn&&On(new Zn)!=CU||Wn&&On(new Wn)!=pU)&&(On=function(U){var F=wF(U),Q=F==aU?U.constructor:K,B=Q?dR(Q):"";if(B)switch(B){case tn:return cU;case an:return kU;case Tn:return TU;case en:return CU;case Cn:return pU}return F});var Ln=cV?XR:WV,Hn=VR(bn),xn=gV||function(U,F){return RQ.setTimeout(U,F)},un=VR(vn),wn=function(U){var F=MR(U,function(U){return 500===Q.size&&Q.clear(),U}),Q=F.cache;return F}(function(U){var F=[];return 46===U.charCodeAt(0)&&F.push(""),U.replace(fU,function(U,Q,B,R){F.push(B?R.replace(BF,"$1"):Q||U)}),F}),jn=sQ(function(U,F){return GR(U)?sF(U,zF(F,1,GR,!0)):[]}),In=sQ(function(U,F){var Q=kR(F);return GR(Q)&&(Q=K),GR(U)?sF(U,zF(F,1,GR,!0),xB(Q,2)):[]}),Kn=sQ(function(U,F){var Q=kR(F);return GR(Q)&&(Q=K),GR(U)?sF(U,zF(F,1,GR,!0),K,Q):[]}),fn=sQ(function(U){var F=W(U,_Q);return F.length&&F[0]===U[0]?PF(F):[]}),gn=sQ(function(U){var F=kR(U),Q=W(U,_Q);return F===kR(Q)?F=K:Q.pop(),Q.length&&Q[0]===U[0]?PF(Q,xB(F,2)):[]}),Pn=sQ(function(U){var F=kR(U),Q=W(U,_Q);return(F="function"==typeof F?F:K)&&Q.pop(),Q.length&&Q[0]===U[0]?PF(Q,K,F):[]}),An=sQ(tR),qn=yB(function(U,F){var Q=null==U?0:U.length,B=MF(U,F);return bQ(U,W(F,function(U){return gB(U,Q)?+U:U}).sort(VB)),B}),_n=sQ(function(U){return IQ(zF(U,1,GR,!0))}),$n=sQ(function(U){var F=kR(U);return GR(F)&&(F=K),IQ(zF(U,1,GR,!0),xB(F,2))}),Ul=sQ(function(U){var F=kR(U);return F="function"==typeof F?F:K,IQ(zF(U,1,GR,!0),K,F)}),Fl=sQ(function(U,F){return GR(U)?sF(U,F):[]}),Ql=sQ(function(U){return AQ(J(U,GR))}),Bl=sQ(function(U){var F=kR(U);return GR(F)&&(F=K),AQ(J(U,GR),xB(F,2))}),Rl=sQ(function(U){var F=kR(U);return F="function"==typeof F?F:K,AQ(J(U,GR),K,F)}),Vl=sQ(TR),nl=sQ(function(U){var F=U.length,Q=F>1?U[F-1]:K;return Q="function"==typeof Q?(U.pop(),Q):K,eR(U,Q)}),ll=yB(function(U){var F=U.length,Q=F?U[0]:0,B=this.__wrapped__,R=function(F){return MF(F,U)};return!(F>1||this.__actions__.length)&&B instanceof qU&&gB(Q)?((B=B.slice(Q,+Q+(F?1:0))).__actions__.push({func:DR,args:[R],thisArg:K}),new c(B,this.__chain__).thru(function(U){return F&&!U.length&&U.push(K),U})):this.thru(R)}),dl=NB(function(U,F,Q){mV.call(U,Q)?++U[Q]:mF(U,Q,1)}),Jl=TB(ZR),Nl=TB(WR),Zl=NB(function(U,F,Q){mV.call(U,Q)?U[Q].push(F):mF(U,Q,[F])}),Wl=sQ(function(U,F,Q){var B=-1,V="function"==typeof F,n=vR(U)?SV(U.length):[];return cn(U,function(U){n[++B]=V?R(F,U,Q):$F(U,F,Q)}),n}),Sl=NB(function(U,F,Q){mF(U,Q,F)}),El=NB(function(U,F,Q){U[Q?0:1].push(F)},function(){return[[],[]]}),kl=sQ(function(U,F){if(null==U)return[];var Q=F.length;return Q>1&&PB(U,F[0],F[1])?F=[]:Q>2&&PB(F[0],F[1],F[2])&&(F=[F[0]]),mQ(U,zF(F,1),[])}),tl=fV||function(){return RQ.Date.now()},al=sQ(function(U,F,Q){var B=1;if(Q.length){var R=H(Q,HB(al));B|=q}return vB(U,B,F,Q,R)}),Tl=sQ(function(U,F,Q){var B=3;if(Q.length){var R=H(Q,HB(Tl));B|=q}return vB(F,B,U,Q,R)}),el=sQ(function(U,F){return GF(U,1,F)}),Cl=sQ(function(U,F,Q){return GF(U,fR(F)||0,Q)});MR.Cache=kF;var Dl=Gn(function(U,F){var Q=(F=1==F.length&&Ml(F[0])?W(F[0],b(xB())):W(zF(F,1),b(xB()))).length;return sQ(function(B){for(var V=-1,n=Bn(B.length,Q);++V=F}),ml=QQ(function(){return arguments}())?QQ:function(U){return OR(U)&&mV.call(U,"callee")&&!HV.call(U,"callee")},Ml=SV.isArray,il=NQ?b(NQ):function(U){return OR(U)&&wF(U)==hU},bl=_V||WV,vl=ZQ?b(ZQ):function(U){return OR(U)&&wF(U)==ZU},Gl=WQ?b(WQ):function(U){return OR(U)&&On(U)==kU},sl=SQ?b(SQ):function(U){return OR(U)&&wF(U)==eU},Xl=EQ?b(EQ):function(U){return OR(U)&&On(U)==CU},Yl=kQ?b(kQ):function(U){return OR(U)&&yR(U.length)&&!!qF[wF(U)]},yl=mB(DQ),zl=mB(function(U,F){return U<=F}),Ol=ZB(function(U,F){if(_B(F)||vR(F))return JB(F,_R(F),U),K;for(var Q in F)mV.call(F,Q)&&pF(U,Q,F[Q])}),Ll=ZB(function(U,F){JB(F,$R(F),U)}),Hl=ZB(function(U,F,Q,B){JB(F,$R(F),U,B)}),xl=ZB(function(U,F,Q,B){JB(F,_R(F),U,B)}),ul=yB(MF),wl=sQ(function(U,F){U=TV(U);var Q=-1,B=F.length,R=B>2?F[2]:K;for(R&&PB(F[0],F[1],R)&&(B=1);++Q1),F}),JB(U,OB(U),Q),B&&(Q=bF(Q,7,XB));for(var R=F.length;R--;)KQ(Q,F[R]);return Q}),ql=yB(function(U,F){return null==U?{}:function(U,F){return MQ(U,F,function(F,Q){return qR(U,Q)})}(U,F)}),_l=bB(_R),$l=bB($R),Ud=kB(function(U,F,Q){return F=F.toLowerCase(),U+(Q?QV(F):F)}),Fd=kB(function(U,F,Q){return U+(Q?"-":"")+F.toLowerCase()}),Qd=kB(function(U,F,Q){return U+(Q?" ":"")+F.toLowerCase()}),Bd=EB("toLowerCase"),Rd=kB(function(U,F,Q){return U+(Q?"_":"")+F.toLowerCase()}),Vd=kB(function(U,F,Q){return U+(Q?" ":"")+ld(F)}),nd=kB(function(U,F,Q){return U+(Q?" ":"")+F.toUpperCase()}),ld=EB("toUpperCase"),dd=sQ(function(U,F){try{return R(U,K,F)}catch(R){return sR(R)?R:new kV(R)}}),Jd=yB(function(U,F){return n(F,function(F){F=lR(F),mF(U,F,al(U[F],U))}),U}),Nd=eB(),Zd=eB(!0),Wd=sQ(function(U,F){return function(Q){return $F(Q,U,F)}}),Sd=sQ(function(U,F){return function(Q){return $F(U,Q,F)}}),Ed=pB(W),kd=pB(d),td=pB(t),ad=rB(),Td=rB(!0),ed=oB(function(U,F){return U+F},0),Cd=iB("ceil"),Dd=oB(function(U,F){return U/F},1),od=iB("floor"),pd=oB(function(U,F){return U*F},1),hd=iB("round"),cd=oB(function(U,F){return U-F},0);return Q.after=function(U,F){if("function"!=typeof F)throw new DV(f);return U=IR(U),function(){if(--U<1)return F.apply(this,arguments)}},Q.ary=cR,Q.assign=Ol,Q.assignIn=Ll,Q.assignInWith=Hl,Q.assignWith=xl,Q.at=ul,Q.before=rR,Q.bind=al,Q.bindAll=Jd,Q.bindKey=Tl,Q.castArray=function(){if(!arguments.length)return[];var U=arguments[0];return Ml(U)?U:[U]},Q.chain=CR,Q.chunk=function(U,F,Q){F=(Q?PB(U,F,Q):F===K)?1:Qn(IR(F),0);var B=null==U?0:U.length;if(!B||F<1)return[];for(var R=0,V=0,n=SV(PV(B/F));RR?0:R+Q),(B=B===K||B>R?R:IR(B))<0&&(B+=R),B=Q>B?0:KR(B);Q>>0)?(U=PR(U))&&("string"==typeof F||null!=F&&!sl(F))&&(!(F=jQ(F))&&y(U))?FB(w(U),0,Q):U.split(F,Q):[]},Q.spread=function(U,F){if("function"!=typeof U)throw new DV(f);return F=null==F?0:Qn(IR(F),0),sQ(function(Q){var B=Q[F],V=FB(Q,0,F);return B&&S(V,B),R(U,this,V)})},Q.tail=function(U){var F=null==U?0:U.length;return F?OQ(U,1,F):[]},Q.take=function(U,F,Q){return U&&U.length?OQ(U,0,(F=Q||F===K?1:IR(F))<0?0:F):[]},Q.takeRight=function(U,F,Q){var B=null==U?0:U.length;return B?OQ(U,(F=B-(F=Q||F===K?1:IR(F)))<0?0:F,B):[]},Q.takeRightWhile=function(U,F){return U&&U.length?gQ(U,xB(F,3),!1,!0):[]},Q.takeWhile=function(U,F){return U&&U.length?gQ(U,xB(F,3)):[]},Q.tap=function(U,F){return F(U),U},Q.throttle=function(U,F,Q){var B=!0,R=!0;if("function"!=typeof U)throw new DV(f);return zR(Q)&&(B="leading"in Q?!!Q.leading:B,R="trailing"in Q?!!Q.trailing:R),mR(U,F,{leading:B,maxWait:F,trailing:R})},Q.thru=DR,Q.toArray=wR,Q.toPairs=_l,Q.toPairsIn=$l,Q.toPath=function(U){return Ml(U)?W(U,lR):uR(U)?[U]:dB(wn(PR(U)))},Q.toPlainObject=gR,Q.transform=function(U,F,Q){var B=Ml(U),R=B||bl(U)||Yl(U);if(F=xB(F,4),null==Q){var V=U&&U.constructor;Q=R?B?new V:[]:zR(U)&&XR(V)?hn(OV(U)):{}}return(R?n:OF)(U,function(U,B,R){return F(Q,U,B,R)}),Q},Q.unary=function(U){return cR(U,1)},Q.union=_n,Q.unionBy=$n,Q.unionWith=Ul,Q.uniq=function(U){return U&&U.length?IQ(U):[]},Q.uniqBy=function(U,F){return U&&U.length?IQ(U,xB(F,2)):[]},Q.uniqWith=function(U,F){return F="function"==typeof F?F:K,U&&U.length?IQ(U,K,F):[]},Q.unset=function(U,F){return null==U||KQ(U,F)},Q.unzip=TR,Q.unzipWith=eR,Q.update=function(U,F,Q){return null==U?U:fQ(U,F,$Q(Q))},Q.updateWith=function(U,F,Q,B){return B="function"==typeof B?B:K,null==U?U:fQ(U,F,$Q(Q),B)},Q.values=FV,Q.valuesIn=function(U){return null==U?[]:v(U,$R(U))},Q.without=Fl,Q.words=RV,Q.wrap=function(U,F){return ol($Q(F),U)},Q.xor=Ql,Q.xorBy=Bl,Q.xorWith=Rl,Q.zip=Vl,Q.zipObject=function(U,F){return qQ(U||[],F||[],pF)},Q.zipObjectDeep=function(U,F){return qQ(U||[],F||[],yQ)},Q.zipWith=nl,Q.entries=_l,Q.entriesIn=$l,Q.extend=Ll,Q.extendWith=Hl,dV(Q,Q),Q.add=ed,Q.attempt=dd,Q.camelCase=Ud,Q.capitalize=QV,Q.ceil=Cd,Q.clamp=function(U,F,Q){return Q===K&&(Q=F,F=K),Q!==K&&(Q=(Q=fR(Q))===Q?Q:0),F!==K&&(F=(F=fR(F))===F?F:0),iF(fR(U),F,Q)},Q.clone=function(U){return bF(U,4)},Q.cloneDeep=function(U){return bF(U,5)},Q.cloneDeepWith=function(U,F){return bF(U,5,F="function"==typeof F?F:K)},Q.cloneWith=function(U,F){return bF(U,4,F="function"==typeof F?F:K)},Q.conformsTo=function(U,F){return null==F||vF(U,F,_R(F))},Q.deburr=BV,Q.defaultTo=function(U,F){return null==U||U!==U?F:U},Q.divide=Dd,Q.endsWith=function(U,F,Q){U=PR(U),F=jQ(F);var B=U.length,R=Q=Q===K?B:iF(IR(Q),0,B);return(Q-=F.length)>=0&&U.slice(Q,R)==F},Q.eq=bR,Q.escape=function(U){return(U=PR(U))&&xU.test(U)?U.replace(LU,TQ):U},Q.escapeRegExp=function(U){return(U=PR(U))&&PU.test(U)?U.replace(gU,"\\$&"):U},Q.every=function(U,F,Q){var B=Ml(U)?d:XF;return Q&&PB(U,F,Q)&&(F=K),B(U,xB(F,3))},Q.find=Jl,Q.findIndex=ZR,Q.findKey=function(U,F){return T(U,xB(F,3),OF)},Q.findLast=Nl,Q.findLastIndex=WR,Q.findLastKey=function(U,F){return T(U,xB(F,3),LF)},Q.floor=od,Q.forEach=oR,Q.forEachRight=pR,Q.forIn=function(U,F){return null==U?U:mn(U,xB(F,3),$R)},Q.forInRight=function(U,F){return null==U?U:Mn(U,xB(F,3),$R)},Q.forOwn=function(U,F){return U&&OF(U,xB(F,3))},Q.forOwnRight=function(U,F){return U&&LF(U,xB(F,3))},Q.get=AR,Q.gt=cl,Q.gte=rl,Q.has=function(U,F){return null!=U&&IB(U,F,fF)},Q.hasIn=qR,Q.head=ER,Q.identity=nV,Q.includes=function(U,F,Q,B){U=vR(U)?U:FV(U),Q=Q&&!B?IR(Q):0;var R=U.length;return Q<0&&(Q=Qn(R+Q,0)),xR(U)?Q<=R&&U.indexOf(F,Q)>-1:!!R&&C(U,F,Q)>-1},Q.indexOf=function(U,F,Q){var B=null==U?0:U.length;if(!B)return-1;var R=null==Q?0:IR(Q);return R<0&&(R=Qn(B+R,0)),C(U,F,R)},Q.inRange=function(U,F,Q){return F=jR(F),Q===K?(Q=F,F=0):Q=jR(Q),function(U,F,Q){return U>=Bn(F,Q)&&U=-QU&&U<=QU},Q.isSet=Xl,Q.isString=xR,Q.isSymbol=uR,Q.isTypedArray=Yl,Q.isUndefined=function(U){return U===K},Q.isWeakMap=function(U){return OR(U)&&On(U)==pU},Q.isWeakSet=function(U){return OR(U)&&"[object WeakSet]"==wF(U)},Q.join=function(U,F){return null==U?"":Un.call(U,F)},Q.kebabCase=Fd,Q.last=kR,Q.lastIndexOf=function(U,F,Q){var B=null==U?0:U.length;if(!B)return-1;var R=B;return Q!==K&&(R=(R=IR(Q))<0?Qn(B+R,0):Bn(R,B-1)),F===F?function(U,F,Q){for(var B=Q+1;B--;)if(U[B]===F)return B;return B}(U,F,R):e(U,o,R,!0)},Q.lowerCase=Qd,Q.lowerFirst=Bd,Q.lt=yl,Q.lte=zl,Q.max=function(U){return U&&U.length?YF(U,nV,KF):K},Q.maxBy=function(U,F){return U&&U.length?YF(U,xB(F,2),KF):K},Q.mean=function(U){return p(U,nV)},Q.meanBy=function(U,F){return p(U,xB(F,2))},Q.min=function(U){return U&&U.length?YF(U,nV,DQ):K},Q.minBy=function(U,F){return U&&U.length?YF(U,xB(F,2),DQ):K},Q.stubArray=ZV,Q.stubFalse=WV,Q.stubObject=function(){return{}},Q.stubString=function(){return""},Q.stubTrue=function(){return!0},Q.multiply=pd,Q.nth=function(U,F){return U&&U.length?rQ(U,IR(F)):K},Q.noConflict=function(){return RQ._===this&&(RQ._=GV),this},Q.noop=JV,Q.now=tl,Q.pad=function(U,F,Q){U=PR(U);var B=(F=IR(F))?u(U):0;if(!F||B>=F)return U;var R=(F-B)/2;return hB(AV(R),Q)+U+hB(PV(R),Q)},Q.padEnd=function(U,F,Q){U=PR(U);var B=(F=IR(F))?u(U):0;return F&&BF){var B=U;U=F,F=B}if(Q||U%1||F%1){var R=nn();return Bn(U+R*(F-U+UQ("1e-"+((R+"").length-1))),F)}return vQ(U,F)},Q.reduce=function(U,F,Q){var B=Ml(U)?E:r,R=arguments.length<3;return B(U,xB(F,4),Q,R,cn)},Q.reduceRight=function(U,F,Q){var B=Ml(U)?k:r,R=arguments.length<3;return B(U,xB(F,4),Q,R,rn)},Q.repeat=function(U,F,Q){return F=(Q?PB(U,F,Q):F===K)?1:IR(F),GQ(PR(U),F)},Q.replace=function(){var U=arguments,F=PR(U[0]);return U.length<3?F:F.replace(U[1],U[2])},Q.result=function(U,F,Q){var B=-1,R=(F=UB(F,U)).length;for(R||(R=1,U=K);++BQU)return[];var Q=RU,B=Bn(U,RU);F=xB(F),U-=RU;for(var R=M(B,F);++Q=V)return U;var l=Q-u(B);if(l<1)return B;var d=n?FB(n,0,l).join(""):U.slice(0,l);if(R===K)return d+B;if(n&&(l+=d.length-l),sl(R)){if(U.slice(l).search(R)){var J,N=d;for(R.global||(R=eV(R.source,PR(VF.exec(R))+"g")),R.lastIndex=0;J=R.exec(N);)var Z=J.index;d=d.slice(0,Z===K?l:Z)}}else if(U.indexOf(jQ(R),l)!=l){var W=d.lastIndexOf(R);W>-1&&(d=d.slice(0,W))}return d+B},Q.unescape=function(U){return(U=PR(U))&&HU.test(U)?U.replace(OU,eQ):U},Q.uniqueId=function(U){var F=++MV;return PR(U)+F},Q.upperCase=nd,Q.upperFirst=ld,Q.each=oR,Q.eachRight=pR,Q.first=ER,dV(Q,function(){var U={};return OF(Q,function(F,B){mV.call(Q.prototype,B)||(U[B]=F)}),U}(),{chain:!1}),Q.VERSION="4.18.1",n(["bind","bindKey","curry","curryRight","partial","partialRight"],function(U){Q[U].placeholder=Q}),n(["drop","take"],function(U,F){qU.prototype[U]=function(Q){Q=Q===K?1:Qn(IR(Q),0);var B=this.__filtered__&&!F?new qU(this):this.clone();return B.__filtered__?B.__takeCount__=Bn(Q,B.__takeCount__):B.__views__.push({size:Bn(Q,RU),type:U+(B.__dir__<0?"Right":"")}),B},qU.prototype[U+"Right"]=function(F){return this.reverse()[U](F).reverse()}}),n(["filter","map","takeWhile"],function(U,F){var Q=F+1,B=1==Q||3==Q;qU.prototype[U]=function(U){var F=this.clone();return F.__iteratees__.push({iteratee:xB(U,3),type:Q}),F.__filtered__=F.__filtered__||B,F}}),n(["head","last"],function(U,F){var Q="take"+(F?"Right":"");qU.prototype[U]=function(){return this[Q](1).value()[0]}}),n(["initial","tail"],function(U,F){var Q="drop"+(F?"":"Right");qU.prototype[U]=function(){return this.__filtered__?new qU(this):this[Q](1)}}),qU.prototype.compact=function(){return this.filter(nV)},qU.prototype.find=function(U){return this.filter(U).head()},qU.prototype.findLast=function(U){return this.reverse().find(U)},qU.prototype.invokeMap=sQ(function(U,F){return"function"==typeof U?new qU(this):this.map(function(Q){return $F(Q,U,F)})}),qU.prototype.reject=function(U){return this.filter(iR(xB(U)))},qU.prototype.slice=function(U,F){U=IR(U);var Q=this;return Q.__filtered__&&(U>0||F<0)?new qU(Q):(U<0?Q=Q.takeRight(-U):U&&(Q=Q.drop(U)),F!==K&&(Q=(F=IR(F))<0?Q.dropRight(-F):Q.take(F-U)),Q)},qU.prototype.takeRightWhile=function(U){return this.reverse().takeWhile(U).reverse()},qU.prototype.toArray=function(){return this.take(RU)},OF(qU.prototype,function(U,F){var B=/^(?:filter|find|map|reject)|While$/.test(F),R=/^(?:head|last)$/.test(F),V=Q[R?"take"+("last"==F?"Right":""):F],n=R||/^find/.test(F);V&&(Q.prototype[F]=function(){var F=this.__wrapped__,l=R?[1]:arguments,d=F instanceof qU,J=l[0],N=d||Ml(F),Z=function(U){var F=V.apply(Q,S([U],l));return R&&W?F[0]:F};N&&B&&"function"==typeof J&&1!=J.length&&(d=N=!1);var W=this.__chain__,E=!!this.__actions__.length,k=n&&!W,t=d&&!E;if(!n&&N){F=t?F:new qU(this);var a=U.apply(F,l);return a.__actions__.push({func:DR,args:[Z],thisArg:K}),new c(a,W)}return k&&t?U.apply(this,l):(a=this.thru(Z),k?R?a.value()[0]:a.value():a)})}),n(["pop","push","shift","sort","splice","unshift"],function(U){var F=oV[U],B=/^(?:push|sort|unshift)$/.test(U)?"tap":"thru",R=/^(?:pop|shift)$/.test(U);Q.prototype[U]=function(){var U=arguments;if(R&&!this.__chain__){var Q=this.value();return F.apply(Ml(Q)?Q:[],U)}return this[B](function(Q){return F.apply(Ml(Q)?Q:[],U)})}}),OF(qU.prototype,function(U,F){var B=Q[F];if(B){var R=B.name+"";mV.call(kn,R)||(kn[R]=[]),kn[R].push({name:F,func:B})}}),kn[CB(K,2).name]=[{name:"wrapper",func:K}],qU.prototype.clone=function(){var U=new qU(this.__wrapped__);return U.__actions__=dB(this.__actions__),U.__dir__=this.__dir__,U.__filtered__=this.__filtered__,U.__iteratees__=dB(this.__iteratees__),U.__takeCount__=this.__takeCount__,U.__views__=dB(this.__views__),U},qU.prototype.reverse=function(){if(this.__filtered__){var U=new qU(this);U.__dir__=-1,U.__filtered__=!0}else(U=this.clone()).__dir__*=-1;return U},qU.prototype.value=function(){var U=this.__wrapped__.value(),F=this.__dir__,Q=Ml(U),B=F<0,R=Q?U.length:0,V=function(U,F,Q){for(var B=-1,R=Q.length;++B=this.__values__.length;return{done:U,value:U?K:this.__values__[this.__index__++]}},Q.prototype.plant=function(U){for(var F,Q=this;Q instanceof B;){var R=NR(Q);R.__index__=0,R.__values__=K,F?V.__wrapped__=R:F=R;var V=R;Q=Q.__wrapped__}return V.__wrapped__=U,F},Q.prototype.reverse=function(){var U=this.__wrapped__;if(U instanceof qU){var F=U;return this.__actions__.length&&(F=new qU(this)),(F=F.reverse()).__actions__.push({func:DR,args:[aR],thisArg:K}),new c(F,this.__chain__)}return this.thru(aR)},Q.prototype.toJSON=Q.prototype.valueOf=Q.prototype.value=function(){return PQ(this.__wrapped__,this.__actions__)},Q.prototype.first=Q.prototype.head,wV&&(Q.prototype[wV]=function(){return this}),Q}();RQ._=CQ,void 0===(B=function(){return CQ}.call(F,Q,F,U))||(U.exports=B)}.call(this)},31916:(U,F,Q)=>{var B=Q(31726).runInContext();U.exports=Q(73273)(B,B)},32063:(U,F,Q)=>{"use strict";var B=Q(60760),R=Q(2428),V=Q(24687),n=TypeError;U.exports=function(U,F){var Q,l;if("string"===F&&R(Q=U.toString)&&!V(l=B(Q,U)))return l;if(R(Q=U.valueOf)&&!V(l=B(Q,U)))return l;if("string"!==F&&R(Q=U.toString)&&!V(l=B(Q,U)))return l;throw new n("Can't convert object to primitive value")}},32522:(U,F,Q)=>{"use strict";Q.r(F),Q.d(F,{default:()=>B.A});var B=Q(45138)},32594:(U,F,Q)=>{"use strict";var B=Q(42433),R=Q(95362),V=Q(2428),n=Q(35938),l=Q(58349),d=Q(38383).CONFIGURABLE,J=Q(38645),N=Q(97022),Z=N.enforce,W=N.get,S=String,E=Object.defineProperty,k=B("".slice),t=B("".replace),a=B([].join),T=l&&!R(function(){return 8!==E(function(){},"length",{value:8}).length}),e=String(String).split("String"),C=U.exports=function(U,F,Q){"Symbol("===k(S(F),0,7)&&(F="["+t(S(F),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),Q&&Q.getter&&(F="get "+F),Q&&Q.setter&&(F="set "+F),(!n(U,"name")||d&&U.name!==F)&&(l?E(U,"name",{value:F,configurable:!0}):U.name=F),T&&Q&&n(Q,"arity")&&U.length!==Q.arity&&E(U,"length",{value:Q.arity});try{Q&&n(Q,"constructor")&&Q.constructor?l&&E(U,"prototype",{writable:!1}):U.prototype&&(U.prototype=void 0)}catch(R){}var B=Z(U);return n(B,"source")||(B.source=a(e,"string"==typeof F?F:"")),U};Function.prototype.toString=C(function(){return V(this)&&W(this).source||J(this)},"toString")},32651:U=>{"use strict";var F,Q,B=Function.prototype.toString,R="object"===typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"===typeof R&&"function"===typeof Object.defineProperty)try{F=Object.defineProperty({},"length",{get:function(){throw Q}}),Q={},R(function(){throw 42},null,F)}catch(S){S!==Q&&(R=null)}else R=null;var V=/^\s*class\b/,n=function(U){try{var F=B.call(U);return V.test(F)}catch(Q){return!1}},l=function(U){try{return!n(U)&&(B.call(U),!0)}catch(F){return!1}},d=Object.prototype.toString,J="function"===typeof Symbol&&!!Symbol.toStringTag,N=!(0 in[,]),Z=function(){return!1};if("object"===typeof document){var W=document.all;d.call(W)===d.call(document.all)&&(Z=function(U){if((N||!U)&&("undefined"===typeof U||"object"===typeof U))try{var F=d.call(U);return("[object HTMLAllCollection]"===F||"[object HTML document.all class]"===F||"[object HTMLCollection]"===F||"[object Object]"===F)&&null==U("")}catch(Q){}return!1})}U.exports=R?function(U){if(Z(U))return!0;if(!U)return!1;if("function"!==typeof U&&"object"!==typeof U)return!1;try{R(U,null,F)}catch(B){if(B!==Q)return!1}return!n(U)&&l(U)}:function(U){if(Z(U))return!0;if(!U)return!1;if("function"!==typeof U&&"object"!==typeof U)return!1;if(J)return l(U);if(n(U))return!1;var F=d.call(U);return!("[object Function]"!==F&&"[object GeneratorFunction]"!==F&&!/^\[object HTML/.test(F))&&l(U)}},32736:(U,F,Q)=>{"use strict";var B=Q(91508),R=Q(2428),V=Q(67410),n=Q(33),l=Object;U.exports=n?function(U){return"symbol"==typeof U}:function(U){var F=B("Symbol");return R(F)&&V(F.prototype,l(U))}},32850:U=>{"use strict";U.exports="function"==typeof Bun&&Bun&&"string"==typeof Bun.version},33048:(U,F,Q)=>{"use strict";var B;Q.d(F,{i:()=>l,s:()=>n});var R=Q(60471),V=!!(B||(B=Q.t(R,2))).useInsertionEffect&&(B||(B=Q.t(R,2))).useInsertionEffect,n=V||function(U){return U()},l=V||R.useLayoutEffect},33784:(U,F,Q)=>{"use strict";var B=Q(29546);function R(U,F,Q,B){this.onFulfilled="function"===typeof U?U:null,this.onRejected="function"===typeof F?F:null,this.resolve=Q,this.reject=B}function V(U,F,Q){var B=!1;try{U(function(U){B||(B=!0,F(U))},function(U){B||(B=!0,Q(U))})}catch(R){if(B)return;B=!0,Q(R)}}U.exports=function(U){if("object"!==typeof this)throw new TypeError("Promises must be constructed via new");if("function"!==typeof U)throw new TypeError("not a function");var F=null,Q=null,n=[],l=this;function d(U){null!==F?B(function(){var B=F?U.onFulfilled:U.onRejected;if(null!==B){var R;try{R=B(Q)}catch(V){return void U.reject(V)}U.resolve(R)}else(F?U.resolve:U.reject)(Q)}):n.push(U)}function J(U){F=!1,Q=U,N()}function N(){for(var U=0,F=n.length;U{"use strict";Q.d(F,{A:()=>g});var B=Q(49257),R=Q(68102),V=Q(60471),n=Q(15714),l=Q(93350),d=Q(8399),J=Q(10400),N=Q(34315),Z=Q(43946),W=Q(41732),S=Q(79090);let E;function k(){if(E)return E;const U=document.createElement("div"),F=document.createElement("div");return F.style.width="10px",F.style.height="1px",U.appendChild(F),U.dir="rtl",U.style.fontSize="14px",U.style.width="4px",U.style.height="1px",U.style.position="absolute",U.style.top="-1000px",U.style.overflow="scroll",document.body.appendChild(U),E="reverse",U.scrollLeft>0?E="default":(U.scrollLeft=1,0===U.scrollLeft&&(E="negative")),document.body.removeChild(U),E}function t(U,F){const Q=U.scrollLeft;if("rtl"!==F)return Q;switch(k()){case"negative":return U.scrollWidth-U.clientWidth+Q;case"reverse":return U.scrollWidth-U.clientWidth-Q;default:return Q}}function a(U){return(1+Math.sin(Math.PI*U-Math.PI/2))/2}var T=Q(6057),e=Q(23434),C=Q(23759);const D=["onChange"],o={width:99,height:99,position:"absolute",top:-9999,overflow:"scroll"};var p=Q(45441);const h=(0,p.A)((0,C.jsx)("path",{d:"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"}),"KeyboardArrowLeft"),c=(0,p.A)((0,C.jsx)("path",{d:"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"}),"KeyboardArrowRight");var r=Q(82144),m=Q(16840),M=Q(85656);function i(U){return(0,M.Ay)("MuiTabScrollButton",U)}const b=(0,m.A)("MuiTabScrollButton",["root","vertical","horizontal","disabled"]),v=["className","slots","slotProps","direction","orientation","disabled"],G=(0,N.Ay)(r.A,{name:"MuiTabScrollButton",slot:"Root",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[F.root,Q.orientation&&F[Q.orientation]]}})(U=>{let{ownerState:F}=U;return(0,R.A)({width:40,flexShrink:0,opacity:.8,[`&.${b.disabled}`]:{opacity:0}},"vertical"===F.orientation&&{width:"100%",height:40,"& svg":{transform:`rotate(${F.isRtl?-90:90}deg)`}})}),s=V.forwardRef(function(U,F){var Q,V;const N=(0,Z.b)({props:U,name:"MuiTabScrollButton"}),{className:W,slots:S={},slotProps:E={},direction:k}=N,t=(0,B.A)(N,v),a=(0,d.I)(),T=(0,R.A)({isRtl:a},N),e=(U=>{const{classes:F,orientation:Q,disabled:B}=U,R={root:["root",Q,B&&"disabled"]};return(0,l.A)(R,i,F)})(T),D=null!=(Q=S.StartScrollButtonIcon)?Q:h,o=null!=(V=S.EndScrollButtonIcon)?V:c,p=(0,J.A)({elementType:D,externalSlotProps:E.startScrollButtonIcon,additionalProps:{fontSize:"small"},ownerState:T}),r=(0,J.A)({elementType:o,externalSlotProps:E.endScrollButtonIcon,additionalProps:{fontSize:"small"},ownerState:T});return(0,C.jsx)(G,(0,R.A)({component:"div",className:(0,n.A)(e.root,W),ref:F,role:null,ownerState:T,tabIndex:null},t,{children:"left"===k?(0,C.jsx)(D,(0,R.A)({},p)):(0,C.jsx)(o,(0,R.A)({},r))}))});var X=Q(86795);function Y(U){return(0,M.Ay)("MuiTabs",U)}const y=(0,m.A)("MuiTabs",["root","vertical","flexContainer","flexContainerVertical","centered","scroller","fixed","scrollableX","scrollableY","hideScrollbar","scrollButtons","scrollButtonsHideMobile","indicator"]);var z=Q(60487);const O=["aria-label","aria-labelledby","action","centered","children","className","component","allowScrollButtonsMobile","indicatorColor","onChange","orientation","ScrollButtonComponent","scrollButtons","selectionFollowsFocus","slots","slotProps","TabIndicatorProps","TabScrollButtonProps","textColor","value","variant","visibleScrollbar"],L=(U,F)=>U===F?U.firstChild:F&&F.nextElementSibling?F.nextElementSibling:U.firstChild,H=(U,F)=>U===F?U.lastChild:F&&F.previousElementSibling?F.previousElementSibling:U.lastChild,x=(U,F,Q)=>{let B=!1,R=Q(U,F);for(;R;){if(R===U.firstChild){if(B)return;B=!0}const F=R.disabled||"true"===R.getAttribute("aria-disabled");if(R.hasAttribute("tabindex")&&!F)return void R.focus();R=Q(U,R)}},u=(0,N.Ay)("div",{name:"MuiTabs",slot:"Root",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[{[`& .${y.scrollButtons}`]:F.scrollButtons},{[`& .${y.scrollButtons}`]:Q.scrollButtonsHideMobile&&F.scrollButtonsHideMobile},F.root,Q.vertical&&F.vertical]}})(U=>{let{ownerState:F,theme:Q}=U;return(0,R.A)({overflow:"hidden",minHeight:48,WebkitOverflowScrolling:"touch",display:"flex"},F.vertical&&{flexDirection:"column"},F.scrollButtonsHideMobile&&{[`& .${y.scrollButtons}`]:{[Q.breakpoints.down("sm")]:{display:"none"}}})}),w=(0,N.Ay)("div",{name:"MuiTabs",slot:"Scroller",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[F.scroller,Q.fixed&&F.fixed,Q.hideScrollbar&&F.hideScrollbar,Q.scrollableX&&F.scrollableX,Q.scrollableY&&F.scrollableY]}})(U=>{let{ownerState:F}=U;return(0,R.A)({position:"relative",display:"inline-block",flex:"1 1 auto",whiteSpace:"nowrap"},F.fixed&&{overflowX:"hidden",width:"100%"},F.hideScrollbar&&{scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}},F.scrollableX&&{overflowX:"auto",overflowY:"hidden"},F.scrollableY&&{overflowY:"auto",overflowX:"hidden"})}),j=(0,N.Ay)("div",{name:"MuiTabs",slot:"FlexContainer",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[F.flexContainer,Q.vertical&&F.flexContainerVertical,Q.centered&&F.centered]}})(U=>{let{ownerState:F}=U;return(0,R.A)({display:"flex"},F.vertical&&{flexDirection:"column"},F.centered&&{justifyContent:"center"})}),I=(0,N.Ay)("span",{name:"MuiTabs",slot:"Indicator",overridesResolver:(U,F)=>F.indicator})(U=>{let{ownerState:F,theme:Q}=U;return(0,R.A)({position:"absolute",height:2,bottom:0,width:"100%",transition:Q.transitions.create()},"primary"===F.indicatorColor&&{backgroundColor:(Q.vars||Q).palette.primary.main},"secondary"===F.indicatorColor&&{backgroundColor:(Q.vars||Q).palette.secondary.main},F.vertical&&{height:"100%",width:2,right:0})}),K=(0,N.Ay)(function(U){const{onChange:F}=U,Q=(0,B.A)(U,D),n=V.useRef(),l=V.useRef(null),d=()=>{n.current=l.current.offsetHeight-l.current.clientHeight};return(0,T.A)(()=>{const U=(0,S.A)(()=>{const U=n.current;d(),U!==n.current&&F(n.current)}),Q=(0,e.A)(l.current);return Q.addEventListener("resize",U),()=>{U.clear(),Q.removeEventListener("resize",U)}},[F]),V.useEffect(()=>{d(),F(n.current)},[F]),(0,C.jsx)("div",(0,R.A)({style:o},Q,{ref:l}))})({overflowX:"auto",overflowY:"hidden",scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}),f={};const g=V.forwardRef(function(U,F){const Q=(0,Z.b)({props:U,name:"MuiTabs"}),N=(0,W.A)(),E=(0,d.I)(),{"aria-label":T,"aria-labelledby":D,action:o,centered:p=!1,children:h,className:c,component:r="div",allowScrollButtonsMobile:m=!1,indicatorColor:M="primary",onChange:i,orientation:b="horizontal",ScrollButtonComponent:v=s,scrollButtons:G="auto",selectionFollowsFocus:y,slots:g={},slotProps:P={},TabIndicatorProps:A={},TabScrollButtonProps:q={},textColor:_="primary",value:$,variant:UU="standard",visibleScrollbar:FU=!1}=Q,QU=(0,B.A)(Q,O),BU="scrollable"===UU,RU="vertical"===b,VU=RU?"scrollTop":"scrollLeft",nU=RU?"top":"left",lU=RU?"bottom":"right",dU=RU?"clientHeight":"clientWidth",JU=RU?"height":"width",NU=(0,R.A)({},Q,{component:r,allowScrollButtonsMobile:m,indicatorColor:M,orientation:b,vertical:RU,scrollButtons:G,textColor:_,variant:UU,visibleScrollbar:FU,fixed:!BU,hideScrollbar:BU&&!FU,scrollableX:BU&&!RU,scrollableY:BU&&RU,centered:p&&!BU,scrollButtonsHideMobile:!m}),ZU=(U=>{const{vertical:F,fixed:Q,hideScrollbar:B,scrollableX:R,scrollableY:V,centered:n,scrollButtonsHideMobile:d,classes:J}=U,N={root:["root",F&&"vertical"],scroller:["scroller",Q&&"fixed",B&&"hideScrollbar",R&&"scrollableX",V&&"scrollableY"],flexContainer:["flexContainer",F&&"flexContainerVertical",n&&"centered"],indicator:["indicator"],scrollButtons:["scrollButtons",d&&"scrollButtonsHideMobile"],scrollableX:[R&&"scrollableX"],hideScrollbar:[B&&"hideScrollbar"]};return(0,l.A)(N,Y,J)})(NU),WU=(0,J.A)({elementType:g.StartScrollButtonIcon,externalSlotProps:P.startScrollButtonIcon,ownerState:NU}),SU=(0,J.A)({elementType:g.EndScrollButtonIcon,externalSlotProps:P.endScrollButtonIcon,ownerState:NU});const[EU,kU]=V.useState(!1),[tU,aU]=V.useState(f),[TU,eU]=V.useState(!1),[CU,DU]=V.useState(!1),[oU,pU]=V.useState(!1),[hU,cU]=V.useState({overflow:"hidden",scrollbarWidth:0}),rU=new Map,mU=V.useRef(null),MU=V.useRef(null),iU=()=>{const U=mU.current;let F,Q;if(U){const Q=U.getBoundingClientRect();F={clientWidth:U.clientWidth,scrollLeft:U.scrollLeft,scrollTop:U.scrollTop,scrollLeftNormalized:t(U,E?"rtl":"ltr"),scrollWidth:U.scrollWidth,top:Q.top,bottom:Q.bottom,left:Q.left,right:Q.right}}if(U&&!1!==$){const U=MU.current.children;if(U.length>0){const F=U[rU.get($)];0,Q=F?F.getBoundingClientRect():null}}return{tabsMeta:F,tabMeta:Q}},bU=(0,X.A)(()=>{const{tabsMeta:U,tabMeta:F}=iU();let Q,B=0;if(RU)Q="top",F&&U&&(B=F.top-U.top+U.scrollTop);else if(Q=E?"right":"left",F&&U){const R=E?U.scrollLeftNormalized+U.clientWidth-U.scrollWidth:U.scrollLeft;B=(E?-1:1)*(F[Q]-U[Q]+R)}const R={[Q]:B,[JU]:F?F[JU]:0};if(isNaN(tU[Q])||isNaN(tU[JU]))aU(R);else{const U=Math.abs(tU[Q]-R[Q]),F=Math.abs(tU[JU]-R[JU]);(U>=1||F>=1)&&aU(R)}}),vU=function(U){let{animation:F=!0}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};F?function(U,F,Q){let B=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},R=arguments.length>4&&void 0!==arguments[4]?arguments[4]:()=>{};const{ease:V=a,duration:n=300}=B;let l=null;const d=F[U];let J=!1;const N=()=>{J=!0},Z=B=>{if(J)return void R(new Error("Animation cancelled"));null===l&&(l=B);const N=Math.min(1,(B-l)/n);F[U]=V(N)*(Q-d)+d,N>=1?requestAnimationFrame(()=>{R(null)}):requestAnimationFrame(Z)};d===Q?R(new Error("Element already at target position")):requestAnimationFrame(Z)}(VU,mU.current,U,{duration:N.transitions.duration.standard}):mU.current[VU]=U},GU=U=>{let F=mU.current[VU];RU?F+=U:(F+=U*(E?-1:1),F*=E&&"reverse"===k()?-1:1),vU(F)},sU=()=>{const U=mU.current[dU];let F=0;const Q=Array.from(MU.current.children);for(let B=0;BU){0===B&&(F=U);break}F+=R[dU]}return F},XU=()=>{GU(-1*sU())},YU=()=>{GU(sU())},yU=V.useCallback(U=>{cU({overflow:null,scrollbarWidth:U})},[]),zU=(0,X.A)(U=>{const{tabsMeta:F,tabMeta:Q}=iU();if(Q&&F)if(Q[nU]F[lU]){const B=F[VU]+(Q[lU]-F[lU]);vU(B,{animation:U})}}),OU=(0,X.A)(()=>{BU&&!1!==G&&pU(!oU)});V.useEffect(()=>{const U=(0,S.A)(()=>{mU.current&&bU()});let F;const Q=Q=>{Q.forEach(U=>{U.removedNodes.forEach(U=>{var Q;null==(Q=F)||Q.unobserve(U)}),U.addedNodes.forEach(U=>{var Q;null==(Q=F)||Q.observe(U)})}),U(),OU()},B=(0,e.A)(mU.current);let R;return B.addEventListener("resize",U),"undefined"!==typeof ResizeObserver&&(F=new ResizeObserver(U),Array.from(MU.current.children).forEach(U=>{F.observe(U)})),"undefined"!==typeof MutationObserver&&(R=new MutationObserver(Q),R.observe(MU.current,{childList:!0})),()=>{var Q,V;U.clear(),B.removeEventListener("resize",U),null==(Q=R)||Q.disconnect(),null==(V=F)||V.disconnect()}},[bU,OU]),V.useEffect(()=>{const U=Array.from(MU.current.children),F=U.length;if("undefined"!==typeof IntersectionObserver&&F>0&&BU&&!1!==G){const Q=U[0],B=U[F-1],R={root:mU.current,threshold:.99},V=new IntersectionObserver(U=>{eU(!U[0].isIntersecting)},R);V.observe(Q);const n=new IntersectionObserver(U=>{DU(!U[0].isIntersecting)},R);return n.observe(B),()=>{V.disconnect(),n.disconnect()}}},[BU,G,oU,null==h?void 0:h.length]),V.useEffect(()=>{kU(!0)},[]),V.useEffect(()=>{bU()}),V.useEffect(()=>{zU(f!==tU)},[zU,tU]),V.useImperativeHandle(o,()=>({updateIndicator:bU,updateScrollButtons:OU}),[bU,OU]);const LU=(0,C.jsx)(I,(0,R.A)({},A,{className:(0,n.A)(ZU.indicator,A.className),ownerState:NU,style:(0,R.A)({},tU,A.style)}));let HU=0;const xU=V.Children.map(h,U=>{if(!V.isValidElement(U))return null;const F=void 0===U.props.value?HU:U.props.value;rU.set(F,HU);const Q=F===$;return HU+=1,V.cloneElement(U,(0,R.A)({fullWidth:"fullWidth"===UU,indicator:Q&&!EU&&LU,selected:Q,selectionFollowsFocus:y,onChange:i,textColor:_,value:F},1!==HU||!1!==$||U.props.tabIndex?{}:{tabIndex:0}))}),uU=(()=>{const U={};U.scrollbarSizeListener=BU?(0,C.jsx)(K,{onChange:yU,className:(0,n.A)(ZU.scrollableX,ZU.hideScrollbar)}):null;const F=BU&&("auto"===G&&(TU||CU)||!0===G);return U.scrollButtonStart=F?(0,C.jsx)(v,(0,R.A)({slots:{StartScrollButtonIcon:g.StartScrollButtonIcon},slotProps:{startScrollButtonIcon:WU},orientation:b,direction:E?"right":"left",onClick:XU,disabled:!TU},q,{className:(0,n.A)(ZU.scrollButtons,q.className)})):null,U.scrollButtonEnd=F?(0,C.jsx)(v,(0,R.A)({slots:{EndScrollButtonIcon:g.EndScrollButtonIcon},slotProps:{endScrollButtonIcon:SU},orientation:b,direction:E?"left":"right",onClick:YU,disabled:!CU},q,{className:(0,n.A)(ZU.scrollButtons,q.className)})):null,U})();return(0,C.jsxs)(u,(0,R.A)({className:(0,n.A)(ZU.root,c),ownerState:NU,ref:F,as:r},QU,{children:[uU.scrollButtonStart,uU.scrollbarSizeListener,(0,C.jsxs)(w,{className:ZU.scroller,ownerState:NU,style:{overflow:hU.overflow,[RU?"margin"+(E?"Left":"Right"):"marginBottom"]:FU?void 0:-hU.scrollbarWidth},ref:mU,children:[(0,C.jsx)(j,{"aria-label":T,"aria-labelledby":D,"aria-orientation":"vertical"===b?"vertical":null,className:ZU.flexContainer,ownerState:NU,onKeyDown:U=>{const F=MU.current,Q=(0,z.A)(F).activeElement;if("tab"!==Q.getAttribute("role"))return;let B="horizontal"===b?"ArrowLeft":"ArrowUp",R="horizontal"===b?"ArrowRight":"ArrowDown";switch("horizontal"===b&&E&&(B="ArrowRight",R="ArrowLeft"),U.key){case B:U.preventDefault(),x(F,Q,H);break;case R:U.preventDefault(),x(F,Q,L);break;case"Home":U.preventDefault(),x(F,null,L);break;case"End":U.preventDefault(),x(F,null,H)}},ref:MU,role:"tablist",children:xU}),EU&&LU]}),uU.scrollButtonEnd]}))})},33929:(U,F,Q)=>{var B=Q(67114),R=Q(89736);U.exports=function U(F,Q){function V(U,R,n,l){try{var d=F[U](R),J=d.value;return J instanceof B?Q.resolve(J.v).then(function(U){V("next",U,n,l)},function(U){V("throw",U,n,l)}):Q.resolve(J).then(function(U){d.value=U,n(d)},function(U){return V("throw",U,n,l)})}catch(F){l(F)}}var n;this.next||(R(U.prototype),R(U.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",function(){return this})),R(this,"_invoke",function(U,F,B){function R(){return new Q(function(F,Q){V(U,B,F,Q)})}return n=n?n.then(R,R):R()},!0)},U.exports.__esModule=!0,U.exports.default=U.exports},34315:(U,F,Q)=>{"use strict";Q.d(F,{Ay:()=>l});var B=Q(42080),R=Q(52038),V=Q(89139),n=Q(35423);const l=(0,B.Ay)({themeId:V.A,defaultTheme:R.A,rootShouldForwardProp:n.A})},34386:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>R});var B=Q(60471);function R(U){var F;return parseInt(B.version,10)>=19?(null==U||null==(F=U.props)?void 0:F.ref)||null:(null==U?void 0:U.ref)||null}},35191:(U,F,Q)=>{"use strict";function B(U,F,Q){U.prototype=F.prototype=Q,Q.constructor=U}function R(U,F){var Q=Object.create(U.prototype);for(var B in F)Q[B]=F[B];return Q}function V(){}Q.d(F,{Ay:()=>D,Qh:()=>h});var n=.7,l=1/n,d="\\s*([+-]?\\d+)\\s*",J="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",N="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Z=/^#([0-9a-f]{3,8})$/,W=new RegExp(`^rgb\\(${d},${d},${d}\\)$`),S=new RegExp(`^rgb\\(${N},${N},${N}\\)$`),E=new RegExp(`^rgba\\(${d},${d},${d},${J}\\)$`),k=new RegExp(`^rgba\\(${N},${N},${N},${J}\\)$`),t=new RegExp(`^hsl\\(${J},${N},${N}\\)$`),a=new RegExp(`^hsla\\(${J},${N},${N},${J}\\)$`),T={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 e(){return this.rgb().formatHex()}function C(){return this.rgb().formatRgb()}function D(U){var F,Q;return U=(U+"").trim().toLowerCase(),(F=Z.exec(U))?(Q=F[1].length,F=parseInt(F[1],16),6===Q?o(F):3===Q?new c(F>>8&15|F>>4&240,F>>4&15|240&F,(15&F)<<4|15&F,1):8===Q?p(F>>24&255,F>>16&255,F>>8&255,(255&F)/255):4===Q?p(F>>12&15|F>>8&240,F>>8&15|F>>4&240,F>>4&15|240&F,((15&F)<<4|15&F)/255):null):(F=W.exec(U))?new c(F[1],F[2],F[3],1):(F=S.exec(U))?new c(255*F[1]/100,255*F[2]/100,255*F[3]/100,1):(F=E.exec(U))?p(F[1],F[2],F[3],F[4]):(F=k.exec(U))?p(255*F[1]/100,255*F[2]/100,255*F[3]/100,F[4]):(F=t.exec(U))?v(F[1],F[2]/100,F[3]/100,1):(F=a.exec(U))?v(F[1],F[2]/100,F[3]/100,F[4]):T.hasOwnProperty(U)?o(T[U]):"transparent"===U?new c(NaN,NaN,NaN,0):null}function o(U){return new c(U>>16&255,U>>8&255,255&U,1)}function p(U,F,Q,B){return B<=0&&(U=F=Q=NaN),new c(U,F,Q,B)}function h(U,F,Q,B){return 1===arguments.length?function(U){return U instanceof V||(U=D(U)),U?new c((U=U.rgb()).r,U.g,U.b,U.opacity):new c}(U):new c(U,F,Q,null==B?1:B)}function c(U,F,Q,B){this.r=+U,this.g=+F,this.b=+Q,this.opacity=+B}function r(){return`#${b(this.r)}${b(this.g)}${b(this.b)}`}function m(){const U=M(this.opacity);return`${1===U?"rgb(":"rgba("}${i(this.r)}, ${i(this.g)}, ${i(this.b)}${1===U?")":`, ${U})`}`}function M(U){return isNaN(U)?1:Math.max(0,Math.min(1,U))}function i(U){return Math.max(0,Math.min(255,Math.round(U)||0))}function b(U){return((U=i(U))<16?"0":"")+U.toString(16)}function v(U,F,Q,B){return B<=0?U=F=Q=NaN:Q<=0||Q>=1?U=F=NaN:F<=0&&(U=NaN),new s(U,F,Q,B)}function G(U){if(U instanceof s)return new s(U.h,U.s,U.l,U.opacity);if(U instanceof V||(U=D(U)),!U)return new s;if(U instanceof s)return U;var F=(U=U.rgb()).r/255,Q=U.g/255,B=U.b/255,R=Math.min(F,Q,B),n=Math.max(F,Q,B),l=NaN,d=n-R,J=(n+R)/2;return d?(l=F===n?(Q-B)/d+6*(Q0&&J<1?0:l,new s(l,d,J,U.opacity)}function s(U,F,Q,B){this.h=+U,this.s=+F,this.l=+Q,this.opacity=+B}function X(U){return(U=(U||0)%360)<0?U+360:U}function Y(U){return Math.max(0,Math.min(1,U||0))}function y(U,F,Q){return 255*(U<60?F+(Q-F)*U/60:U<180?Q:U<240?F+(Q-F)*(240-U)/60:F)}B(V,D,{copy(U){return Object.assign(new this.constructor,this,U)},displayable(){return this.rgb().displayable()},hex:e,formatHex:e,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return G(this).formatHsl()},formatRgb:C,toString:C}),B(c,h,R(V,{brighter(U){return U=null==U?l:Math.pow(l,U),new c(this.r*U,this.g*U,this.b*U,this.opacity)},darker(U){return U=null==U?n:Math.pow(n,U),new c(this.r*U,this.g*U,this.b*U,this.opacity)},rgb(){return this},clamp(){return new c(i(this.r),i(this.g),i(this.b),M(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:r,formatHex:r,formatHex8:function(){return`#${b(this.r)}${b(this.g)}${b(this.b)}${b(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:m,toString:m})),B(s,function(U,F,Q,B){return 1===arguments.length?G(U):new s(U,F,Q,null==B?1:B)},R(V,{brighter(U){return U=null==U?l:Math.pow(l,U),new s(this.h,this.s,this.l*U,this.opacity)},darker(U){return U=null==U?n:Math.pow(n,U),new s(this.h,this.s,this.l*U,this.opacity)},rgb(){var U=this.h%360+360*(this.h<0),F=isNaN(U)||isNaN(this.s)?0:this.s,Q=this.l,B=Q+(Q<.5?Q:1-Q)*F,R=2*Q-B;return new c(y(U>=240?U-240:U+120,R,B),y(U,R,B),y(U<120?U+240:U-120,R,B),this.opacity)},clamp(){return new s(X(this.h),Y(this.s),Y(this.l),M(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 U=M(this.opacity);return`${1===U?"hsl(":"hsla("}${X(this.h)}, ${100*Y(this.s)}%, ${100*Y(this.l)}%${1===U?")":`, ${U})`}`}}))},35423:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>R});var B=Q(66607);const R=U=>(0,B.A)(U)&&"classes"!==U},35627:(U,F)=>{"use strict";var Q=Symbol.for("react.transitional.element"),B=Symbol.for("react.fragment");function R(U,F,B){var R=null;if(void 0!==B&&(R=""+B),void 0!==F.key&&(R=""+F.key),"key"in F)for(var V in B={},F)"key"!==V&&(B[V]=F[V]);else B=F;return F=B.ref,{$$typeof:Q,type:U,key:R,ref:void 0!==F?F:null,props:B}}F.Fragment=B,F.jsx=R,F.jsxs=R},35938:(U,F,Q)=>{"use strict";var B=Q(42433),R=Q(54108),V=B({}.hasOwnProperty);U.exports=Object.hasOwn||function(U,F){return V(R(U),F)}},36611:(U,F,Q)=>{"use strict";var B=Q(98874);U.exports=function(){return Object.assign?function(){if(!Object.assign)return!1;for(var U="abcdefghijklmnopqrst",F=U.split(""),Q={},B=0;B{"use strict";var B=Q(44176),R=Object.defineProperty;U.exports=function(U,F){try{R(B,U,{value:F,configurable:!0,writable:!0})}catch(Q){B[U]=F}return F}},36873:(U,F,Q)=>{"use strict";var B=Q(60471);var R="function"===typeof Object.is?Object.is:function(U,F){return U===F&&(0!==U||1/U===1/F)||U!==U&&F!==F},V=B.useSyncExternalStore,n=B.useRef,l=B.useEffect,d=B.useMemo,J=B.useDebugValue;F.useSyncExternalStoreWithSelector=function(U,F,Q,B,N){var Z=n(null);if(null===Z.current){var W={hasValue:!1,value:null};Z.current=W}else W=Z.current;Z=d(function(){function U(U){if(!l){if(l=!0,V=U,U=B(U),void 0!==N&&W.hasValue){var F=W.value;if(N(F,U))return n=F}return n=U}if(F=n,R(V,U))return F;var Q=B(U);return void 0!==N&&N(F,Q)?(V=U,F):(V=U,n=Q)}var V,n,l=!1,d=void 0===Q?null:Q;return[function(){return U(F())},null===d?void 0:function(){return U(d())}]},[F,Q,B,N]);var S=V(U,Z[0],Z[1]);return l(function(){W.hasValue=!0,W.value=S},[S]),J(S),S}},37731:(U,F,Q)=>{"use strict";Q.d(F,{Ay:()=>n,GK:()=>V,Rw:()=>R,vr:()=>B});const B={passive:!1},R={capture:!0,passive:!1};function V(U){U.stopImmediatePropagation()}function n(U){U.preventDefault(),U.stopImmediatePropagation()}},37744:(U,F,Q)=>{var B=Q(78113);U.exports=function(U,F){if(U){if("string"==typeof U)return B(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?B(U,F):void 0}},U.exports.__esModule=!0,U.exports.default=U.exports},38383:(U,F,Q)=>{"use strict";var B=Q(58349),R=Q(35938),V=Function.prototype,n=B&&Object.getOwnPropertyDescriptor,l=R(V,"name"),d=l&&"something"===function(){}.name,J=l&&(!B||B&&n(V,"name").configurable);U.exports={EXISTS:l,PROPER:d,CONFIGURABLE:J}},38468:(U,F,Q)=>{"use strict";function B(U){return B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(U){return typeof U}:function(U){return U&&"function"==typeof Symbol&&U.constructor===Symbol&&U!==Symbol.prototype?"symbol":typeof U},B(U)}function R(U,F){for(var Q=0;Q2?"one of ".concat(F," ").concat(U.slice(0,Q-1).join(", "),", or ")+U[Q-1]:2===Q?"one of ".concat(F," ").concat(U[0]," or ").concat(U[1]):"of ".concat(F," ").concat(U[0])}return"of ".concat(F," ").concat(String(U))}W("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),W("ERR_INVALID_ARG_TYPE",function(U,F,R){var V,n,l,d;if(void 0===J&&(J=Q(3431)),J("string"===typeof U,"'name' must be a string"),"string"===typeof F&&(n="not ",F.substr(!l||l<0?0:+l,n.length)===n)?(V="must not be",F=F.replace(/^not /,"")):V="must be",function(U,F,Q){return(void 0===Q||Q>U.length)&&(Q=U.length),U.substring(Q-F.length,Q)===F}(U," argument"))d="The ".concat(U," ").concat(V," ").concat(S(F,"type"));else{var N=function(U,F,Q){return"number"!==typeof Q&&(Q=0),!(Q+F.length>U.length)&&-1!==U.indexOf(F,Q)}(U,".")?"property":"argument";d='The "'.concat(U,'" ').concat(N," ").concat(V," ").concat(S(F,"type"))}return d+=". Received type ".concat(B(R))},TypeError),W("ERR_INVALID_ARG_VALUE",function(U,F){var B=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===N&&(N=Q(40746));var R=N.inspect(F);return R.length>128&&(R="".concat(R.slice(0,128),"...")),"The argument '".concat(U,"' ").concat(B,". Received ").concat(R)},TypeError,RangeError),W("ERR_INVALID_RETURN_VALUE",function(U,F,Q){var R;return R=Q&&Q.constructor&&Q.constructor.name?"instance of ".concat(Q.constructor.name):"type ".concat(B(Q)),"Expected ".concat(U,' to be returned from the "').concat(F,'"')+" function but got ".concat(R,".")},TypeError),W("ERR_MISSING_ARGS",function(){for(var U=arguments.length,F=new Array(U),B=0;B0,"At least one arg needs to be specified");var R="The ",V=F.length;switch(F=F.map(function(U){return'"'.concat(U,'"')}),V){case 1:R+="".concat(F[0]," argument");break;case 2:R+="".concat(F[0]," and ").concat(F[1]," arguments");break;default:R+=F.slice(0,V-1).join(", "),R+=", and ".concat(F[V-1]," arguments")}return"".concat(R," must be specified")},TypeError),U.exports.codes=Z},38559:U=>{"use strict";var F=1e-10,Q=Math.PI/180;function B(U,F,Q){if(!(this instanceof B))return new B(U,F,Q);this.rx=U,this.ry=F,this.ax=Q}B.prototype.transform=function(U){var B=Math.cos(this.ax*Q),R=Math.sin(this.ax*Q),V=[this.rx*(U[0]*B+U[2]*R),this.rx*(U[1]*B+U[3]*R),this.ry*(-U[0]*R+U[2]*B),this.ry*(-U[1]*R+U[3]*B)],n=V[0]*V[0]+V[2]*V[2],l=V[1]*V[1]+V[3]*V[3],d=((V[0]-V[3])*(V[0]-V[3])+(V[2]+V[1])*(V[2]+V[1]))*((V[0]+V[3])*(V[0]+V[3])+(V[2]-V[1])*(V[2]-V[1])),J=(n+l)/2;if(dMath.abs(Z-l)?(Z-n)/N:N/(Z-l))/Math.PI,this.ax>=0?(this.rx=Math.sqrt(Z),this.ry=Math.sqrt(W)):(this.ax+=90,this.rx=Math.sqrt(W),this.ry=Math.sqrt(Z)),this},B.prototype.isDegenerate=function(){return this.rx{"use strict";var B=Q(42433),R=Q(2428),V=Q(42870),n=B(Function.toString);R(V.inspectSource)||(V.inspectSource=function(U){return n(U)}),U.exports=V.inspectSource},38674:(U,F,Q)=>{"use strict";var B=Q(63591),R=Q(89548),V=Q(59338),n=Q(27507),l=Q(29989),d=R(n(),Object);B(d,{getPolyfill:n,implementation:V,shim:l}),U.exports=d},38848:(U,F,Q)=>{"use strict";var B=Q(91508),R=Q(42433),V=Q(78317),n=Q(11132),l=Q(70634),d=R([].concat);U.exports=B("Reflect","ownKeys")||function(U){var F=V.f(l(U)),Q=n.f;return Q?d(F,Q(U)):F}},39015:(U,F,Q)=>{"use strict";var B=Q(24193),R=Q(30279),V=Q(12597);U.exports=B?function(U){return B(U)}:R?function(U){if(!U||"object"!==typeof U&&"function"!==typeof U)throw new TypeError("getProto: not an object");return R(U)}:V?function(U){return V(U)}:null},39054:(U,F)=>{"use strict";function Q(U,F){var Q=U.length;U.push(F);U:for(;0>>1,R=U[B];if(!(0>>1;BV(d,Q))JV(N,d)?(U[B]=N,U[J]=Q,B=J):(U[B]=d,U[l]=Q,B=l);else{if(!(JV(N,Q)))break U;U[B]=N,U[J]=Q,B=J}}}return F}function V(U,F){var Q=U.sortIndex-F.sortIndex;return 0!==Q?Q:U.id-F.id}if(F.unstable_now=void 0,"object"===typeof performance&&"function"===typeof performance.now){var n=performance;F.unstable_now=function(){return n.now()}}else{var l=Date,d=l.now();F.unstable_now=function(){return l.now()-d}}var J=[],N=[],Z=1,W=null,S=3,E=!1,k=!1,t=!1,a=!1,T="function"===typeof setTimeout?setTimeout:null,e="function"===typeof clearTimeout?clearTimeout:null,C="undefined"!==typeof setImmediate?setImmediate:null;function D(U){for(var F=B(N);null!==F;){if(null===F.callback)R(N);else{if(!(F.startTime<=U))break;R(N),F.sortIndex=F.expirationTime,Q(J,F)}F=B(N)}}function o(U){if(t=!1,D(U),!k)if(null!==B(J))k=!0,h||(h=!0,p());else{var F=B(N);null!==F&&G(o,F.startTime-U)}}var p,h=!1,c=-1,r=5,m=-1;function M(){return!!a||!(F.unstable_now()-mU&&M());){var n=W.callback;if("function"===typeof n){W.callback=null,S=W.priorityLevel;var l=n(W.expirationTime<=U);if(U=F.unstable_now(),"function"===typeof l){W.callback=l,D(U),Q=!0;break F}W===B(J)&&R(J),D(U)}else R(J);W=B(J)}if(null!==W)Q=!0;else{var d=B(N);null!==d&&G(o,d.startTime-U),Q=!1}}break U}finally{W=null,S=V,E=!1}Q=void 0}}finally{Q?p():h=!1}}}if("function"===typeof C)p=function(){C(i)};else if("undefined"!==typeof MessageChannel){var b=new MessageChannel,v=b.port2;b.port1.onmessage=i,p=function(){v.postMessage(null)}}else p=function(){T(i,0)};function G(U,Q){c=T(function(){U(F.unstable_now())},Q)}F.unstable_IdlePriority=5,F.unstable_ImmediatePriority=1,F.unstable_LowPriority=4,F.unstable_NormalPriority=3,F.unstable_Profiling=null,F.unstable_UserBlockingPriority=2,F.unstable_cancelCallback=function(U){U.callback=null},F.unstable_forceFrameRate=function(U){0>U||125n?(U.sortIndex=V,Q(N,U),null===B(J)&&U===B(N)&&(t?(e(c),c=-1):t=!0,G(o,V-n))):(U.sortIndex=l,Q(J,U),k||E||(k=!0,h||(h=!0,p()))),U},F.unstable_shouldYield=M,F.unstable_wrapCallback=function(U){var F=S;return function(){var Q=S;S=F;try{return U.apply(this,arguments)}finally{S=Q}}}},39278:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>E});var B=Q(68102),R=Q(49257),V=Q(60471),n=Q(29675),l=Q(34386),d=Q(41732),J=Q(77977),N=Q(90245),Z=Q(23759);const W=["addEndListener","appear","children","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"],S={entering:{opacity:1},entered:{opacity:1}},E=V.forwardRef(function(U,F){const Q=(0,d.A)(),E={enter:Q.transitions.duration.enteringScreen,exit:Q.transitions.duration.leavingScreen},{addEndListener:k,appear:t=!0,children:a,easing:T,in:e,onEnter:C,onEntered:D,onEntering:o,onExit:p,onExited:h,onExiting:c,style:r,timeout:m=E,TransitionComponent:M=n.Ay}=U,i=(0,R.A)(U,W),b=V.useRef(null),v=(0,N.A)(b,(0,l.A)(a),F),G=U=>F=>{if(U){const Q=b.current;void 0===F?U(Q):U(Q,F)}},s=G(o),X=G((U,F)=>{(0,J.q)(U);const B=(0,J.c)({style:r,timeout:m,easing:T},{mode:"enter"});U.style.webkitTransition=Q.transitions.create("opacity",B),U.style.transition=Q.transitions.create("opacity",B),C&&C(U,F)}),Y=G(D),y=G(c),z=G(U=>{const F=(0,J.c)({style:r,timeout:m,easing:T},{mode:"exit"});U.style.webkitTransition=Q.transitions.create("opacity",F),U.style.transition=Q.transitions.create("opacity",F),p&&p(U)}),O=G(h);return(0,Z.jsx)(M,(0,B.A)({appear:t,in:e,nodeRef:b,onEnter:X,onEntered:Y,onEntering:s,onExit:z,onExited:O,onExiting:y,addEndListener:U=>{k&&k(b.current,U)},timeout:m},i,{children:(U,F)=>V.cloneElement(a,(0,B.A)({style:(0,B.A)({opacity:0,visibility:"exited"!==U||e?void 0:"hidden"},S[U],r,a.props.style),ref:v},F))}))})},39479:(U,F,Q)=>{"use strict";U.exports=Q(89571)},39550:(U,F,Q)=>{"use strict";var B,R=Q(91087),V=Q(65388),n=Q(4920),l=Q(98113),d=Q(465),J=Q(47777),N=Q(82170),Z=Q(10986),W=Q(2193),S=Q(69619),E=Q(86003),k=Q(58369),t=Q(94491),a=Q(27989),T=Q(88468),e=Function,C=function(U){try{return e('"use strict"; return ('+U+").constructor;")()}catch(F){}},D=Q(63034),o=Q(9326),p=function(){throw new N},h=D?function(){try{return p}catch(U){try{return D(arguments,"callee").get}catch(F){return p}}}():p,c=Q(880)(),r=Q(39015),m=Q(30279),M=Q(24193),i=Q(61473),b=Q(65877),v={},G="undefined"!==typeof Uint8Array&&r?r(Uint8Array):B,s={__proto__:null,"%AggregateError%":"undefined"===typeof AggregateError?B:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"===typeof ArrayBuffer?B:ArrayBuffer,"%ArrayIteratorPrototype%":c&&r?r([][Symbol.iterator]()):B,"%AsyncFromSyncIteratorPrototype%":B,"%AsyncFunction%":v,"%AsyncGenerator%":v,"%AsyncGeneratorFunction%":v,"%AsyncIteratorPrototype%":v,"%Atomics%":"undefined"===typeof Atomics?B:Atomics,"%BigInt%":"undefined"===typeof BigInt?B:BigInt,"%BigInt64Array%":"undefined"===typeof BigInt64Array?B:BigInt64Array,"%BigUint64Array%":"undefined"===typeof BigUint64Array?B:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"===typeof DataView?B:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":V,"%eval%":eval,"%EvalError%":n,"%Float16Array%":"undefined"===typeof Float16Array?B:Float16Array,"%Float32Array%":"undefined"===typeof Float32Array?B:Float32Array,"%Float64Array%":"undefined"===typeof Float64Array?B:Float64Array,"%FinalizationRegistry%":"undefined"===typeof FinalizationRegistry?B:FinalizationRegistry,"%Function%":e,"%GeneratorFunction%":v,"%Int8Array%":"undefined"===typeof Int8Array?B:Int8Array,"%Int16Array%":"undefined"===typeof Int16Array?B:Int16Array,"%Int32Array%":"undefined"===typeof Int32Array?B:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":c&&r?r(r([][Symbol.iterator]())):B,"%JSON%":"object"===typeof JSON?JSON:B,"%Map%":"undefined"===typeof Map?B:Map,"%MapIteratorPrototype%":"undefined"!==typeof Map&&c&&r?r((new Map)[Symbol.iterator]()):B,"%Math%":Math,"%Number%":Number,"%Object%":R,"%Object.getOwnPropertyDescriptor%":D,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"===typeof Promise?B:Promise,"%Proxy%":"undefined"===typeof Proxy?B:Proxy,"%RangeError%":l,"%ReferenceError%":d,"%Reflect%":"undefined"===typeof Reflect?B:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"===typeof Set?B:Set,"%SetIteratorPrototype%":"undefined"!==typeof Set&&c&&r?r((new Set)[Symbol.iterator]()):B,"%SharedArrayBuffer%":"undefined"===typeof SharedArrayBuffer?B:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":c&&r?r(""[Symbol.iterator]()):B,"%Symbol%":c?Symbol:B,"%SyntaxError%":J,"%ThrowTypeError%":h,"%TypedArray%":G,"%TypeError%":N,"%Uint8Array%":"undefined"===typeof Uint8Array?B:Uint8Array,"%Uint8ClampedArray%":"undefined"===typeof Uint8ClampedArray?B:Uint8ClampedArray,"%Uint16Array%":"undefined"===typeof Uint16Array?B:Uint16Array,"%Uint32Array%":"undefined"===typeof Uint32Array?B:Uint32Array,"%URIError%":Z,"%WeakMap%":"undefined"===typeof WeakMap?B:WeakMap,"%WeakRef%":"undefined"===typeof WeakRef?B:WeakRef,"%WeakSet%":"undefined"===typeof WeakSet?B:WeakSet,"%Function.prototype.call%":b,"%Function.prototype.apply%":i,"%Object.defineProperty%":o,"%Object.getPrototypeOf%":m,"%Math.abs%":W,"%Math.floor%":S,"%Math.max%":E,"%Math.min%":k,"%Math.pow%":t,"%Math.round%":a,"%Math.sign%":T,"%Reflect.getPrototypeOf%":M};if(r)try{null.error}catch(f){var X=r(r(f));s["%Error.prototype%"]=X}var Y=function U(F){var Q;if("%AsyncFunction%"===F)Q=C("async function () {}");else if("%GeneratorFunction%"===F)Q=C("function* () {}");else if("%AsyncGeneratorFunction%"===F)Q=C("async function* () {}");else if("%AsyncGenerator%"===F){var B=U("%AsyncGeneratorFunction%");B&&(Q=B.prototype)}else if("%AsyncIteratorPrototype%"===F){var R=U("%AsyncGenerator%");R&&r&&(Q=r(R.prototype))}return s[F]=Q,Q},y={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},z=Q(73396),O=Q(69796),L=z.call(b,Array.prototype.concat),H=z.call(i,Array.prototype.splice),x=z.call(b,String.prototype.replace),u=z.call(b,String.prototype.slice),w=z.call(b,RegExp.prototype.exec),j=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,I=/\\(\\)?/g,K=function(U,F){var Q,B=U;if(O(y,B)&&(B="%"+(Q=y[B])[0]+"%"),O(s,B)){var R=s[B];if(R===v&&(R=Y(B)),"undefined"===typeof R&&!F)throw new N("intrinsic "+U+" exists, but is not available. Please file an issue!");return{alias:Q,name:B,value:R}}throw new J("intrinsic "+U+" does not exist!")};U.exports=function(U,F){if("string"!==typeof U||0===U.length)throw new N("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!==typeof F)throw new N('"allowMissing" argument must be a boolean');if(null===w(/^%?[^%]*%?$/,U))throw new J("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var Q=function(U){var F=u(U,0,1),Q=u(U,-1);if("%"===F&&"%"!==Q)throw new J("invalid intrinsic syntax, expected closing `%`");if("%"===Q&&"%"!==F)throw new J("invalid intrinsic syntax, expected opening `%`");var B=[];return x(U,j,function(U,F,Q,R){B[B.length]=Q?x(R,I,"$1"):F||U}),B}(U),B=Q.length>0?Q[0]:"",R=K("%"+B+"%",F),V=R.name,n=R.value,l=!1,d=R.alias;d&&(B=d[0],H(Q,L([0,1],d)));for(var Z=1,W=!0;Z=Q.length){var t=D(n,S);n=(W=!!t)&&"get"in t&&!("originalValue"in t.get)?t.get:n[S]}else W=O(n,S),n=n[S];W&&!l&&(s[V]=n)}}return n}},39805:U=>{U.exports=function(U,F){if(!(U instanceof F))throw new TypeError("Cannot call a class as a function")},U.exports.__esModule=!0,U.exports.default=U.exports},40453:(U,F,Q)=>{var B=Q(10739);U.exports=function(U,F){if(null==U)return{};var Q,R,V=B(U,F);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(U);for(R=0;R{"use strict";Q.d(F,{A:()=>R});var B=Q(60471);function R(U){let{controlled:F,default:Q,name:R,state:V="value"}=U;const{current:n}=B.useRef(void 0!==F),[l,d]=B.useState(Q);return[n?F:l,B.useCallback(U=>{n||d(U)},[])]}},40694:(U,F,Q)=>{"use strict";function B(U){return B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(U){return typeof U}:function(U){return U&&"function"==typeof Symbol&&U.constructor===Symbol&&U!==Symbol.prototype?"symbol":typeof U},B(U)}Q.d(F,{A:()=>B})},40746:(U,F,Q)=>{var B=Object.getOwnPropertyDescriptors||function(U){for(var F=Object.keys(U),Q={},B=0;B=V)return U;switch(U){case"%s":return String(B[Q++]);case"%d":return Number(B[Q++]);case"%j":try{return JSON.stringify(B[Q++])}catch(F){return"[Circular]"}default:return U}}),l=B[Q];Q=3&&(B.depth=arguments[2]),arguments.length>=4&&(B.colors=arguments[3]),k(Q)?B.showHidden=Q:Q&&F._extend(B,Q),e(B.showHidden)&&(B.showHidden=!1),e(B.depth)&&(B.depth=2),e(B.colors)&&(B.colors=!1),e(B.customInspect)&&(B.customInspect=!0),B.colors&&(B.stylize=J),Z(B,U,B.depth)}function J(U,F){var Q=d.styles[F];return Q?"\x1b["+d.colors[Q][0]+"m"+U+"\x1b["+d.colors[Q][1]+"m":U}function N(U,F){return U}function Z(U,Q,B){if(U.customInspect&&Q&&h(Q.inspect)&&Q.inspect!==F.inspect&&(!Q.constructor||Q.constructor.prototype!==Q)){var R=Q.inspect(B,U);return T(R)||(R=Z(U,R,B)),R}var V=function(U,F){if(e(F))return U.stylize("undefined","undefined");if(T(F)){var Q="'"+JSON.stringify(F).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return U.stylize(Q,"string")}if(a(F))return U.stylize(""+F,"number");if(k(F))return U.stylize(""+F,"boolean");if(t(F))return U.stylize("null","null")}(U,Q);if(V)return V;var n=Object.keys(Q),l=function(U){var F={};return U.forEach(function(U,Q){F[U]=!0}),F}(n);if(U.showHidden&&(n=Object.getOwnPropertyNames(Q)),p(Q)&&(n.indexOf("message")>=0||n.indexOf("description")>=0))return W(Q);if(0===n.length){if(h(Q)){var d=Q.name?": "+Q.name:"";return U.stylize("[Function"+d+"]","special")}if(C(Q))return U.stylize(RegExp.prototype.toString.call(Q),"regexp");if(o(Q))return U.stylize(Date.prototype.toString.call(Q),"date");if(p(Q))return W(Q)}var J,N="",D=!1,c=["{","}"];(E(Q)&&(D=!0,c=["[","]"]),h(Q))&&(N=" [Function"+(Q.name?": "+Q.name:"")+"]");return C(Q)&&(N=" "+RegExp.prototype.toString.call(Q)),o(Q)&&(N=" "+Date.prototype.toUTCString.call(Q)),p(Q)&&(N=" "+W(Q)),0!==n.length||D&&0!=Q.length?B<0?C(Q)?U.stylize(RegExp.prototype.toString.call(Q),"regexp"):U.stylize("[Object]","special"):(U.seen.push(Q),J=D?function(U,F,Q,B,R){for(var V=[],n=0,l=F.length;n=0&&0,U+F.replace(/\u001b\[\d\d?m/g,"").length+1},0);if(B>60)return Q[0]+(""===F?"":F+"\n ")+" "+U.join(",\n ")+" "+Q[1];return Q[0]+F+" "+U.join(", ")+" "+Q[1]}(J,N,c)):c[0]+N+c[1]}function W(U){return"["+Error.prototype.toString.call(U)+"]"}function S(U,F,Q,B,R,V){var n,l,d;if((d=Object.getOwnPropertyDescriptor(F,R)||{value:F[R]}).get?l=d.set?U.stylize("[Getter/Setter]","special"):U.stylize("[Getter]","special"):d.set&&(l=U.stylize("[Setter]","special")),M(B,R)||(n="["+R+"]"),l||(U.seen.indexOf(d.value)<0?(l=t(Q)?Z(U,d.value,null):Z(U,d.value,Q-1)).indexOf("\n")>-1&&(l=V?l.split("\n").map(function(U){return" "+U}).join("\n").slice(2):"\n"+l.split("\n").map(function(U){return" "+U}).join("\n")):l=U.stylize("[Circular]","special")),e(n)){if(V&&R.match(/^\d+$/))return l;(n=JSON.stringify(""+R)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(n=n.slice(1,-1),n=U.stylize(n,"name")):(n=n.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),n=U.stylize(n,"string"))}return n+": "+l}function E(U){return Array.isArray(U)}function k(U){return"boolean"===typeof U}function t(U){return null===U}function a(U){return"number"===typeof U}function T(U){return"string"===typeof U}function e(U){return void 0===U}function C(U){return D(U)&&"[object RegExp]"===c(U)}function D(U){return"object"===typeof U&&null!==U}function o(U){return D(U)&&"[object Date]"===c(U)}function p(U){return D(U)&&("[object Error]"===c(U)||U instanceof Error)}function h(U){return"function"===typeof U}function c(U){return Object.prototype.toString.call(U)}function r(U){return U<10?"0"+U.toString(10):U.toString(10)}F.debuglog=function(U){if(U=U.toUpperCase(),!V[U])if(n.test(U)){var Q=process.pid;V[U]=function(){var B=F.format.apply(F,arguments);console.error("%s %d: %s",U,Q,B)}}else V[U]=function(){};return V[U]},F.inspect=d,d.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},d.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},F.types=Q(66821),F.isArray=E,F.isBoolean=k,F.isNull=t,F.isNullOrUndefined=function(U){return null==U},F.isNumber=a,F.isString=T,F.isSymbol=function(U){return"symbol"===typeof U},F.isUndefined=e,F.isRegExp=C,F.types.isRegExp=C,F.isObject=D,F.isDate=o,F.types.isDate=o,F.isError=p,F.types.isNativeError=p,F.isFunction=h,F.isPrimitive=function(U){return null===U||"boolean"===typeof U||"number"===typeof U||"string"===typeof U||"symbol"===typeof U||"undefined"===typeof U},F.isBuffer=Q(45914);var m=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function M(U,F){return Object.prototype.hasOwnProperty.call(U,F)}F.log=function(){console.log("%s - %s",function(){var U=new Date,F=[r(U.getHours()),r(U.getMinutes()),r(U.getSeconds())].join(":");return[U.getDate(),m[U.getMonth()],F].join(" ")}(),F.format.apply(F,arguments))},F.inherits=Q(49557),F._extend=function(U,F){if(!F||!D(F))return U;for(var Q=Object.keys(F),B=Q.length;B--;)U[Q[B]]=F[Q[B]];return U};var i="undefined"!==typeof Symbol?Symbol("util.promisify.custom"):void 0;function b(U,F){if(!U){var Q=new Error("Promise was rejected with a falsy value");Q.reason=U,U=Q}return F(U)}F.promisify=function(U){if("function"!==typeof U)throw new TypeError('The "original" argument must be of type Function');if(i&&U[i]){var F;if("function"!==typeof(F=U[i]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(F,i,{value:F,enumerable:!1,writable:!1,configurable:!0}),F}function F(){for(var F,Q,B=new Promise(function(U,B){F=U,Q=B}),R=[],V=0;V{var B=Q(45498);function R(U,F){for(var Q=0;Q{"use strict";function B(U){return F=>{let{dispatch:Q,getState:B}=F;return F=>R=>"function"===typeof R?R(Q,B,U):F(R)}}Q.d(F,{P:()=>R,Y:()=>V});var R=B(),V=B},41404:U=>{"use strict";U.exports=Number.isNaN||function(U){return U!==U}},41612:(U,F,Q)=>{"use strict";var B=Q(9326),R=Q(47777),V=Q(82170),n=Q(63034);U.exports=function(U,F,Q){if(!U||"object"!==typeof U&&"function"!==typeof U)throw new V("`obj` must be an object or a function`");if("string"!==typeof F&&"symbol"!==typeof F)throw new V("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!==typeof arguments[3]&&null!==arguments[3])throw new V("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!==typeof arguments[4]&&null!==arguments[4])throw new V("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!==typeof arguments[5]&&null!==arguments[5])throw new V("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!==typeof arguments[6])throw new V("`loose`, if provided, must be a boolean");var l=arguments.length>3?arguments[3]:null,d=arguments.length>4?arguments[4]:null,J=arguments.length>5?arguments[5]:null,N=arguments.length>6&&arguments[6],Z=!!n&&n(U,F);if(B)B(U,F,{configurable:null===J&&Z?Z.configurable:!J,enumerable:null===l&&Z?Z.enumerable:!l,value:Q,writable:null===d&&Z?Z.writable:!d});else{if(!N&&(l||d||J))throw new R("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");U[F]=Q}}},41705:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>R});var B=Q(92162);function R(U,F,Q){return(F=(0,B.A)(F))in U?Object.defineProperty(U,F,{value:Q,enumerable:!0,configurable:!0,writable:!0}):U[F]=Q,U}},41732:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>n});Q(60471);var B=Q(45859),R=Q(52038),V=Q(89139);function n(){const U=(0,B.A)(R.A);return U[V.A]||U}},42080:(U,F,Q)=>{"use strict";var B=Q(96784);F.Ay=function(){let U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{themeId:F,defaultTheme:Q=t,rootShouldForwardProp:B=E,slotShouldForwardProp:d=E}=U,N=U=>(0,J.default)((0,R.default)({},U,{theme:T((0,R.default)({},U,{defaultTheme:Q,themeId:F}))}));return N.__mui_systemSx=!0,function(U){let J=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,n.internal_processStyles)(U,U=>U.filter(U=>!(null!=U&&U.__mui_systemSx)));const{name:Z,slot:S,skipVariantsResolver:k,skipSx:t,overridesResolver:D=e(a(S))}=J,o=(0,V.default)(J,W),p=Z&&Z.startsWith("Mui")||S?"components":"custom",h=void 0!==k?k:S&&"Root"!==S&&"root"!==S||!1,c=t||!1;let r=E;"Root"===S||"root"===S?r=B:S?r=d:function(U){return"string"===typeof U&&U.charCodeAt(0)>96}(U)&&(r=void 0);const m=(0,n.default)(U,(0,R.default)({shouldForwardProp:r,label:undefined},o)),M=U=>"function"===typeof U&&U.__emotion_real!==U||(0,l.isPlainObject)(U)?B=>{const V=T({theme:B.theme,defaultTheme:Q,themeId:F});return C(U,(0,R.default)({},B,{theme:V}),V.modularCssLayers?p:void 0)}:U,i=function(B){let V=M(B);for(var n=arguments.length,l=new Array(n>1?n-1:0),d=1;d{const B=T((0,R.default)({},U,{defaultTheme:Q,themeId:F}));if(!B.components||!B.components[Z]||!B.components[Z].styleOverrides)return null;const V=B.components[Z].styleOverrides,n={};return Object.entries(V).forEach(F=>{let[Q,V]=F;n[Q]=C(V,(0,R.default)({},U,{theme:B}),B.modularCssLayers?"theme":void 0)}),D(U,n)}),Z&&!h&&J.push(U=>{var B;const V=T((0,R.default)({},U,{defaultTheme:Q,themeId:F}));return C({variants:null==V||null==(B=V.components)||null==(B=B[Z])?void 0:B.variants},(0,R.default)({},U,{theme:V}),V.modularCssLayers?"theme":void 0)}),c||J.push(N);const W=J.length-l.length;if(Array.isArray(B)&&W>0){const U=new Array(W).fill("");V=[...B,...U],V.raw=[...B.raw,...U]}const S=m(V,...J);return U.muiName&&(S.muiName=U.muiName),S};return m.withConfig&&(i.withConfig=m.withConfig),i}};var R=B(Q(78304)),V=B(Q(10739)),n=function(U,F){if(!F&&U&&U.__esModule)return U;if(null===U||"object"!=typeof U&&"function"!=typeof U)return{default:U};var Q=S(F);if(Q&&Q.has(U))return Q.get(U);var B={__proto__:null},R=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var V in U)if("default"!==V&&Object.prototype.hasOwnProperty.call(U,V)){var n=R?Object.getOwnPropertyDescriptor(U,V):null;n&&(n.get||n.set)?Object.defineProperty(B,V,n):B[V]=U[V]}return B.default=U,Q&&Q.set(U,B),B}(Q(51333)),l=Q(7950),d=(B(Q(32522)),B(Q(93790)),B(Q(8281))),J=B(Q(26382));const N=["ownerState"],Z=["variants"],W=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function S(U){if("function"!=typeof WeakMap)return null;var F=new WeakMap,Q=new WeakMap;return(S=function(U){return U?Q:F})(U)}function E(U){return"ownerState"!==U&&"theme"!==U&&"sx"!==U&&"as"!==U}function k(U,F){return F&&U&&"object"===typeof U&&U.styles&&!U.styles.startsWith("@layer")&&(U.styles=`@layer ${F}{${String(U.styles)}}`),U}const t=(0,d.default)(),a=U=>U?U.charAt(0).toLowerCase()+U.slice(1):U;function T(U){let{defaultTheme:F,theme:Q,themeId:B}=U;return R=Q,0===Object.keys(R).length?F:Q[B]||Q;var R}function e(U){return U?(F,Q)=>Q[U]:null}function C(U,F,Q){let{ownerState:B}=F,l=(0,V.default)(F,N);const d="function"===typeof U?U((0,R.default)({ownerState:B},l)):U;if(Array.isArray(d))return d.flatMap(U=>C(U,(0,R.default)({ownerState:B},l),Q));if(d&&"object"===typeof d&&Array.isArray(d.variants)){const{variants:U=[]}=d;let F=(0,V.default)(d,Z);return U.forEach(U=>{let V=!0;if("function"===typeof U.props?V=U.props((0,R.default)({ownerState:B},l,B)):Object.keys(U.props).forEach(F=>{(null==B?void 0:B[F])!==U.props[F]&&l[F]!==U.props[F]&&(V=!1)}),V){Array.isArray(F)||(F=[F]);const V="function"===typeof U.style?U.style((0,R.default)({ownerState:B},l,B)):U.style;F.push(Q?k((0,n.internal_serializeStyles)(V),Q):V)}}),F}return Q?k((0,n.internal_serializeStyles)(d),Q):d}},42335:(U,F,Q)=>{"use strict";Q.r(F),Q.d(F,{default:()=>B.A});var B=Q(87368)},42433:(U,F,Q)=>{"use strict";var B=Q(89263),R=Function.prototype,V=R.call,n=B&&R.bind.bind(V,V);U.exports=B?n:function(U){return function(){return V.apply(U,arguments)}}},42546:(U,F,Q)=>{"use strict";var B=Q(91508);U.exports=B("document","documentElement")},42854:(U,F,Q)=>{"use strict";Q.d(F,{Ay:()=>l,BO:()=>n,Yn:()=>V});var B=Q(45138),R=Q(47067);function V(U,F){let Q=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!F||"string"!==typeof F)return null;if(U&&U.vars&&Q){const Q=`vars.${F}`.split(".").reduce((U,F)=>U&&U[F]?U[F]:null,U);if(null!=Q)return Q}return F.split(".").reduce((U,F)=>U&&null!=U[F]?U[F]:null,U)}function n(U,F,Q){let B,R=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Q;return B="function"===typeof U?U(Q):Array.isArray(U)?U[Q]||R:V(U,Q)||R,F&&(B=F(B,R,U)),B}const l=function(U){const{prop:F,cssProperty:Q=U.prop,themeKey:l,transform:d}=U,J=U=>{if(null==U[F])return null;const J=U[F],N=V(U.theme,l)||{};return(0,R.NI)(U,J,U=>{let R=n(N,d,U);return U===R&&"string"===typeof U&&(R=n(N,d,`${F}${"default"===U?"":(0,B.A)(U)}`,U)),!1===Q?R:{[Q]:R}})};return J.propTypes={},J.filterProps=[F],J}},42870:(U,F,Q)=>{"use strict";var B=Q(15430),R=Q(44176),V=Q(36670),n="__core-js_shared__",l=U.exports=R[n]||V(n,{});(l.versions||(l.versions=[])).push({version:"3.36.0",mode:B?"pure":"global",copyright:"\xa9 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.36.0/LICENSE",source:"https://github.com/zloirock/core-js"})},42895:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>RU});var B=function(){function U(U){var F=this;this._insertTag=function(U){var Q;Q=0===F.tags.length?F.insertionPoint?F.insertionPoint.nextSibling:F.prepend?F.container.firstChild:F.before:F.tags[F.tags.length-1].nextSibling,F.container.insertBefore(U,Q),F.tags.push(U)},this.isSpeedy=void 0===U.speedy||U.speedy,this.tags=[],this.ctr=0,this.nonce=U.nonce,this.key=U.key,this.container=U.container,this.prepend=U.prepend,this.insertionPoint=U.insertionPoint,this.before=null}var F=U.prototype;return F.hydrate=function(U){U.forEach(this._insertTag)},F.insert=function(U){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag(function(U){var F=document.createElement("style");return F.setAttribute("data-emotion",U.key),void 0!==U.nonce&&F.setAttribute("nonce",U.nonce),F.appendChild(document.createTextNode("")),F.setAttribute("data-s",""),F}(this));var F=this.tags[this.tags.length-1];if(this.isSpeedy){var Q=function(U){if(U.sheet)return U.sheet;for(var F=0;F0?N(C,--T):0,t--,10===e&&(t=1,k--),e}function h(){return e=T2||M(e)>3?"":" "}function s(U,F){for(;--F&&h()&&!(e<48||e>102||e>57&&e<65||e>70&&e<97););return m(U,r()+(F<6&&32==c()&&32==h()))}function X(U){for(;h();)switch(e){case U:return T;case 34:case 39:34!==U&&39!==U&&X(e);break;case 40:41===U&&X(U);break;case 92:h()}return T}function Y(U,F){for(;h()&&U+e!==57&&(U+e!==84||47!==c()););return"/*"+m(F,T-1)+"*"+V(47===U?U:h())}function y(U){for(;!M(c());)h();return m(U,T)}var z="-ms-",O="-moz-",L="-webkit-",H="comm",x="rule",u="decl",w="@keyframes";function j(U,F){for(var Q="",B=S(U),R=0;R0&&W(O)-a&&E(e>32?A(O+";",B,Q,a-1):A(d(O," ","")+";",B,Q,a-2),S);break;case 59:O+=";";default:if(E(z=g(O,F,Q,k,t,R,Z,i,b=[],X=[],a),n),123===M)if(0===t)f(O,F,z,z,b,n,a,Z,X);else switch(99===T&&110===N(O,3)?100:T){case 100:case 108:case 109:case 115:f(U,z,z,B&&E(g(U,z,z,0,0,R,Z,i,R,b=[],a),X),R,X,a,Z,B?b:X);break;default:f(O,z,z,z,[""],X,0,Z,X)}}k=t=e=0,D=m=1,i=O="",a=l;break;case 58:a=1+W(O),e=C;default:if(D<1)if(123==M)--D;else if(125==M&&0==D++&&125==p())continue;switch(O+=V(M),M*D){case 38:m=t>0?1:(O+="\f",-1);break;case 44:Z[k++]=(W(O)-1)*m,m=1;break;case 64:45===c()&&(O+=v(h())),T=c(),t=a=W(i=O+=y(r())),M++;break;case 45:45===C&&2==W(O)&&(D=0)}}return n}function g(U,F,Q,B,V,n,J,N,W,E,k){for(var t=V-1,a=0===V?n:[""],T=S(a),e=0,C=0,o=0;e0?a[p]+" "+h:d(h,/&\f/g,a[p])))&&(W[o++]=c);return D(U,F,Q,0===V?x:N,W,E,k)}function P(U,F,Q){return D(U,F,Q,H,V(e),Z(U,2,-2),0)}function A(U,F,Q,B){return D(U,F,Q,u,Z(U,0,B),Z(U,B+1,-1),B)}var q=function(U,F,Q){for(var B=0,R=0;B=R,R=c(),38===B&&12===R&&(F[Q]=1),!M(R);)h();return m(U,T)},_=function(U,F){return b(function(U,F){var Q=-1,B=44;do{switch(M(B)){case 0:38===B&&12===c()&&(F[Q]=1),U[Q]+=q(T-1,F,Q);break;case 2:U[Q]+=v(B);break;case 4:if(44===B){U[++Q]=58===c()?"&\f":"",F[Q]=U[Q].length;break}default:U[Q]+=V(B)}}while(B=h());return U}(i(U),F))},$=new WeakMap,UU=function(U){if("rule"===U.type&&U.parent&&!(U.length<1)){for(var F=U.value,Q=U.parent,B=U.column===Q.column&&U.line===Q.line;"rule"!==Q.type;)if(!(Q=Q.parent))return;if((1!==U.props.length||58===F.charCodeAt(0)||$.get(Q))&&!B){$.set(U,!0);for(var R=[],V=_(F,R),n=Q.props,l=0,d=0;l6)switch(N(U,F+1)){case 109:if(45!==N(U,F+4))break;case 102:return d(U,/(.+:)(.+)-([^]+)/,"$1"+L+"$2-$3$1"+O+(108==N(U,F+3)?"$3":"$2-$3"))+U;case 115:return~J(U,"stretch")?QU(d(U,"stretch","fill-available"),F)+U:U}break;case 4949:if(115!==N(U,F+1))break;case 6444:switch(N(U,W(U)-3-(~J(U,"!important")&&10))){case 107:return d(U,":",":"+L)+U;case 101:return d(U,/(.+:)([^;!]+)(;|!.+)?/,"$1"+L+(45===N(U,14)?"inline-":"")+"box$3$1"+L+"$2$3$1"+z+"$2box$3")+U}break;case 5936:switch(N(U,F+11)){case 114:return L+U+z+d(U,/[svh]\w+-[tblr]{2}/,"tb")+U;case 108:return L+U+z+d(U,/[svh]\w+-[tblr]{2}/,"tb-rl")+U;case 45:return L+U+z+d(U,/[svh]\w+-[tblr]{2}/,"lr")+U}return L+U+z+U+U}return U}var BU=[function(U,F,Q,B){if(U.length>-1&&!U.return)switch(U.type){case u:U.return=QU(U.value,U.length);break;case w:return j([o(U,{value:d(U.value,"@","@"+L)})],B);case x:if(U.length)return function(U,F){return U.map(F).join("")}(U.props,function(F){switch(function(U,F){return(U=F.exec(U))?U[0]:U}(F,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return j([o(U,{props:[d(F,/:(read-\w+)/,":-moz-$1")]})],B);case"::placeholder":return j([o(U,{props:[d(F,/:(plac\w+)/,":"+L+"input-$1")]}),o(U,{props:[d(F,/:(plac\w+)/,":-moz-$1")]}),o(U,{props:[d(F,/:(plac\w+)/,z+"input-$1")]})],B)}return""})}}],RU=function(U){var F=U.key;if("css"===F){var Q=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(Q,function(U){-1!==U.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(U),U.setAttribute("data-s",""))})}var R,V,n=U.stylisPlugins||BU,l={},d=[];R=U.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+F+' "]'),function(U){for(var F=U.getAttribute("data-emotion").split(" "),Q=1;Q{"use strict";Q.d(F,{A:()=>V});var B=Q(40694),R=Q(72367);function V(U,F){if(F&&("object"==(0,B.A)(F)||"function"==typeof F))return F;if(void 0!==F)throw new TypeError("Derived constructors may only return object or undefined");return(0,R.A)(U)}},43234:(U,F,Q)=>{"use strict";F.A=void 0;var B=function(U,F){if(!F&&U&&U.__esModule)return U;if(null===U||"object"!=typeof U&&"function"!=typeof U)return{default:U};var Q=V(F);if(Q&&Q.has(U))return Q.get(U);var B={__proto__:null},R=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in U)if("default"!==n&&Object.prototype.hasOwnProperty.call(U,n)){var l=R?Object.getOwnPropertyDescriptor(U,n):null;l&&(l.get||l.set)?Object.defineProperty(B,n,l):B[n]=U[n]}return B.default=U,Q&&Q.set(U,B),B}(Q(60471)),R=Q(51333);function V(U){if("function"!=typeof WeakMap)return null;var F=new WeakMap,Q=new WeakMap;return(V=function(U){return U?Q:F})(U)}F.A=function(){let U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;const F=B.useContext(R.ThemeContext);return F&&(Q=F,0!==Object.keys(Q).length)?F:U;var Q}},43500:(U,F,Q)=>{"use strict";function B(U,F){return U=+U,F=+F,function(Q){return U*(1-Q)+F*Q}}Q.d(F,{A:()=>B})},43538:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>d,v:()=>l});var B=Q(68102),R=Q(16840),V=Q(85656),n=Q(55106);function l(U){return(0,V.Ay)("MuiOutlinedInput",U)}const d=(0,B.A)({},n.A,(0,R.A)("MuiOutlinedInput",["root","notchedOutline","input"]))},43946:(U,F,Q)=>{"use strict";Q.d(F,{b:()=>R});Q(60471);var B=Q(56514);Q(23759);function R(U){return(0,B.b)(U)}},44176:function(U,F,Q){"use strict";var B=function(U){return U&&U.Math===Math&&U};U.exports=B("object"==typeof globalThis&&globalThis)||B("object"==typeof window&&window)||B("object"==typeof self&&self)||B("object"==typeof Q.g&&Q.g)||B("object"==typeof this&&this)||function(){return this}()||Function("return this")()},44392:(U,F,Q)=>{"use strict";function B(U){return U&&U.ownerDocument||document}Q.d(F,{A:()=>B})},44393:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>V});Q(60471);var B=Q(55830),R=Q(23759);function V(U){const{styles:F,defaultTheme:Q={}}=U,V="function"===typeof F?U=>{return F(void 0===(B=U)||null===B||0===Object.keys(B).length?Q:U);var B}:F;return(0,R.jsx)(B.mL,{styles:V})}},45138:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>R});var B=Q(96048);function R(U){if("string"!==typeof U)throw new Error((0,B.A)(7));return U.charAt(0).toUpperCase()+U.slice(1)}},45441:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>e});var B=Q(68102),R=Q(60471),V=Q(49257),n=Q(15714),l=Q(93350),d=Q(93623),J=Q(43946),N=Q(34315),Z=Q(16840),W=Q(85656);function S(U){return(0,W.Ay)("MuiSvgIcon",U)}(0,Z.A)("MuiSvgIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]);var E=Q(23759);const k=["children","className","color","component","fontSize","htmlColor","inheritViewBox","titleAccess","viewBox"],t=(0,N.Ay)("svg",{name:"MuiSvgIcon",slot:"Root",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[F.root,"inherit"!==Q.color&&F[`color${(0,d.A)(Q.color)}`],F[`fontSize${(0,d.A)(Q.fontSize)}`]]}})(U=>{let{theme:F,ownerState:Q}=U;var B,R,V,n,l,d,J,N,Z,W,S,E,k;return{userSelect:"none",width:"1em",height:"1em",display:"inline-block",fill:Q.hasSvgAsChild?void 0:"currentColor",flexShrink:0,transition:null==(B=F.transitions)||null==(R=B.create)?void 0:R.call(B,"fill",{duration:null==(V=F.transitions)||null==(V=V.duration)?void 0:V.shorter}),fontSize:{inherit:"inherit",small:(null==(n=F.typography)||null==(l=n.pxToRem)?void 0:l.call(n,20))||"1.25rem",medium:(null==(d=F.typography)||null==(J=d.pxToRem)?void 0:J.call(d,24))||"1.5rem",large:(null==(N=F.typography)||null==(Z=N.pxToRem)?void 0:Z.call(N,35))||"2.1875rem"}[Q.fontSize],color:null!=(W=null==(S=(F.vars||F).palette)||null==(S=S[Q.color])?void 0:S.main)?W:{action:null==(E=(F.vars||F).palette)||null==(E=E.action)?void 0:E.active,disabled:null==(k=(F.vars||F).palette)||null==(k=k.action)?void 0:k.disabled,inherit:void 0}[Q.color]}}),a=R.forwardRef(function(U,F){const Q=(0,J.b)({props:U,name:"MuiSvgIcon"}),{children:N,className:Z,color:W="inherit",component:a="svg",fontSize:T="medium",htmlColor:e,inheritViewBox:C=!1,titleAccess:D,viewBox:o="0 0 24 24"}=Q,p=(0,V.A)(Q,k),h=R.isValidElement(N)&&"svg"===N.type,c=(0,B.A)({},Q,{color:W,component:a,fontSize:T,instanceFontSize:U.fontSize,inheritViewBox:C,viewBox:o,hasSvgAsChild:h}),r={};C||(r.viewBox=o);const m=(U=>{const{color:F,fontSize:Q,classes:B}=U,R={root:["root","inherit"!==F&&`color${(0,d.A)(F)}`,`fontSize${(0,d.A)(Q)}`]};return(0,l.A)(R,S,B)})(c);return(0,E.jsxs)(t,(0,B.A)({as:a,className:(0,n.A)(m.root,Z),focusable:"false",color:e,"aria-hidden":!D||void 0,role:D?"img":void 0,ref:F},r,p,h&&N.props,{ownerState:c,children:[h?N.props.children:N,D?(0,E.jsx)("title",{children:D}):null]}))});a.muiName="SvgIcon";const T=a;function e(U,F){function Q(Q,R){return(0,E.jsx)(T,(0,B.A)({"data-testid":`${F}Icon`,ref:R},Q,{children:U}))}return Q.muiName=T.muiName,R.memo(R.forwardRef(Q))}},45498:(U,F,Q)=>{var B=Q(10564).default,R=Q(11327);U.exports=function(U){var F=R(U,"string");return"symbol"==B(F)?F:F+""},U.exports.__esModule=!0,U.exports.default=U.exports},45841:(U,F,Q)=>{"use strict";function B(U,F,Q,B,R,V,n){try{var l=U[V](n),d=l.value}catch(U){return void Q(U)}l.done?F(d):Promise.resolve(d).then(B,R)}function R(U){return function(){var F=this,Q=arguments;return new Promise(function(R,V){var n=U.apply(F,Q);function l(U){B(n,R,V,l,d,"next",U)}function d(U){B(n,R,V,l,d,"throw",U)}l(void 0)})}}Q.d(F,{A:()=>R})},45859:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>n});var B=Q(6303),R=Q(29886);const V=(0,B.A)();const n=function(){let U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:V;return(0,R.A)(U)}},45914:U=>{U.exports=function(U){return U&&"object"===typeof U&&"function"===typeof U.copy&&"function"===typeof U.fill&&"function"===typeof U.readUInt8}},46313:(U,F,Q)=>{var B=Q(9535),R=Q(33929);U.exports=function(U,F,Q,V,n){return new R(B().w(U,F,Q,V),n||Promise)},U.exports.__esModule=!0,U.exports.default=U.exports},46559:(U,F,Q)=>{"use strict";var B=Q(44176),R=Q(79569);U.exports="process"===R(B.process)},47067:(U,F,Q)=>{"use strict";Q.d(F,{EU:()=>n,NI:()=>V,vf:()=>l,zu:()=>B});const B={xs:0,sm:600,md:900,lg:1200,xl:1536},R={keys:["xs","sm","md","lg","xl"],up:U=>`@media (min-width:${B[U]}px)`};function V(U,F,Q){const V=U.theme||{};if(Array.isArray(F)){const U=V.breakpoints||R;return F.reduce((B,R,V)=>(B[U.up(U.keys[V])]=Q(F[V]),B),{})}if("object"===typeof F){const U=V.breakpoints||R;return Object.keys(F).reduce((R,V)=>{if(-1!==Object.keys(U.values||B).indexOf(V)){R[U.up(V)]=Q(F[V],V)}else{const U=V;R[U]=F[U]}return R},{})}return Q(F)}function n(){let U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var F;return(null==(F=U.keys)?void 0:F.reduce((F,Q)=>(F[U.up(Q)]={},F),{}))||{}}function l(U,F){return U.reduce((U,F)=>{const Q=U[F];return(!Q||0===Object.keys(Q).length)&&delete U[F],U},F)}},47211:(U,F,Q)=>{"use strict";var B=Q(33784),R=Q(29546);U.exports=B,B.prototype.done=function(U,F){(arguments.length?this.then.apply(this,arguments):this).then(null,function(U){R(function(){throw U})})}},47397:(U,F,Q)=>{"use strict";Q.r(F),Q.d(F,{DOMException:()=>o,Headers:()=>N,Request:()=>a,Response:()=>C,fetch:()=>p});var B="undefined"!==typeof globalThis&&globalThis||"undefined"!==typeof self&&self||"undefined"!==typeof Q.g&&Q.g||{},R={searchParams:"URLSearchParams"in B,iterable:"Symbol"in B&&"iterator"in Symbol,blob:"FileReader"in B&&"Blob"in B&&function(){try{return new Blob,!0}catch(U){return!1}}(),formData:"FormData"in B,arrayBuffer:"ArrayBuffer"in B};if(R.arrayBuffer)var V=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],n=ArrayBuffer.isView||function(U){return U&&V.indexOf(Object.prototype.toString.call(U))>-1};function l(U){if("string"!==typeof U&&(U=String(U)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(U)||""===U)throw new TypeError('Invalid character in header field name: "'+U+'"');return U.toLowerCase()}function d(U){return"string"!==typeof U&&(U=String(U)),U}function J(U){var F={next:function(){var F=U.shift();return{done:void 0===F,value:F}}};return R.iterable&&(F[Symbol.iterator]=function(){return F}),F}function N(U){this.map={},U instanceof N?U.forEach(function(U,F){this.append(F,U)},this):Array.isArray(U)?U.forEach(function(U){if(2!=U.length)throw new TypeError("Headers constructor: expected name/value pair to be length 2, found"+U.length);this.append(U[0],U[1])},this):U&&Object.getOwnPropertyNames(U).forEach(function(F){this.append(F,U[F])},this)}function Z(U){if(!U._noBody)return U.bodyUsed?Promise.reject(new TypeError("Already read")):void(U.bodyUsed=!0)}function W(U){return new Promise(function(F,Q){U.onload=function(){F(U.result)},U.onerror=function(){Q(U.error)}})}function S(U){var F=new FileReader,Q=W(F);return F.readAsArrayBuffer(U),Q}function E(U){if(U.slice)return U.slice(0);var F=new Uint8Array(U.byteLength);return F.set(new Uint8Array(U)),F.buffer}function k(){return this.bodyUsed=!1,this._initBody=function(U){var F;this.bodyUsed=this.bodyUsed,this._bodyInit=U,U?"string"===typeof U?this._bodyText=U:R.blob&&Blob.prototype.isPrototypeOf(U)?this._bodyBlob=U:R.formData&&FormData.prototype.isPrototypeOf(U)?this._bodyFormData=U:R.searchParams&&URLSearchParams.prototype.isPrototypeOf(U)?this._bodyText=U.toString():R.arrayBuffer&&R.blob&&((F=U)&&DataView.prototype.isPrototypeOf(F))?(this._bodyArrayBuffer=E(U.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):R.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(U)||n(U))?this._bodyArrayBuffer=E(U):this._bodyText=U=Object.prototype.toString.call(U):(this._noBody=!0,this._bodyText=""),this.headers.get("content-type")||("string"===typeof U?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):R.searchParams&&URLSearchParams.prototype.isPrototypeOf(U)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},R.blob&&(this.blob=function(){var U=Z(this);if(U)return U;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))}),this.arrayBuffer=function(){if(this._bodyArrayBuffer){var U=Z(this);return U||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}if(R.blob)return this.blob().then(S);throw new Error("could not read as ArrayBuffer")},this.text=function(){var U=Z(this);if(U)return U;if(this._bodyBlob)return function(U){var F=new FileReader,Q=W(F),B=/charset=([A-Za-z0-9_-]+)/.exec(U.type),R=B?B[1]:"utf-8";return F.readAsText(U,R),Q}(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(function(U){for(var F=new Uint8Array(U),Q=new Array(F.length),B=0;B-1?F:U}(F.method||this.method||"GET"),this.mode=F.mode||this.mode||null,this.signal=F.signal||this.signal||function(){if("AbortController"in B)return(new AbortController).signal}(),this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&Q)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(Q),("GET"===this.method||"HEAD"===this.method)&&("no-store"===F.cache||"no-cache"===F.cache)){var R=/([?&])_=[^&]*/;if(R.test(this.url))this.url=this.url.replace(R,"$1_="+(new Date).getTime());else{this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}}function T(U){var F=new FormData;return U.trim().split("&").forEach(function(U){if(U){var Q=U.split("="),B=Q.shift().replace(/\+/g," "),R=Q.join("=").replace(/\+/g," ");F.append(decodeURIComponent(B),decodeURIComponent(R))}}),F}function e(U){var F=new N;return U.replace(/\r?\n[\t ]+/g," ").split("\r").map(function(U){return 0===U.indexOf("\n")?U.substr(1,U.length):U}).forEach(function(U){var Q=U.split(":"),B=Q.shift().trim();if(B){var R=Q.join(":").trim();try{F.append(B,R)}catch(V){console.warn("Response "+V.message)}}}),F}function C(U,F){if(!(this instanceof C))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(F||(F={}),this.type="default",this.status=void 0===F.status?200:F.status,this.status<200||this.status>599)throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");this.ok=this.status>=200&&this.status<300,this.statusText=void 0===F.statusText?"":""+F.statusText,this.headers=new N(F.headers),this.url=F.url||"",this._initBody(U)}a.prototype.clone=function(){return new a(this,{body:this._bodyInit})},k.call(a.prototype),k.call(C.prototype),C.prototype.clone=function(){return new C(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new N(this.headers),url:this.url})},C.error=function(){var U=new C(null,{status:200,statusText:""});return U.ok=!1,U.status=0,U.type="error",U};var D=[301,302,303,307,308];C.redirect=function(U,F){if(-1===D.indexOf(F))throw new RangeError("Invalid status code");return new C(null,{status:F,headers:{location:U}})};var o=B.DOMException;try{new o}catch(h){(o=function(U,F){this.message=U,this.name=F;var Q=Error(U);this.stack=Q.stack}).prototype=Object.create(Error.prototype),o.prototype.constructor=o}function p(U,F){return new Promise(function(Q,V){var n=new a(U,F);if(n.signal&&n.signal.aborted)return V(new o("Aborted","AbortError"));var J=new XMLHttpRequest;function Z(){J.abort()}if(J.onload=function(){var U={statusText:J.statusText,headers:e(J.getAllResponseHeaders()||"")};0===n.url.indexOf("file://")&&(J.status<200||J.status>599)?U.status=200:U.status=J.status,U.url="responseURL"in J?J.responseURL:U.headers.get("X-Request-URL");var F="response"in J?J.response:J.responseText;setTimeout(function(){Q(new C(F,U))},0)},J.onerror=function(){setTimeout(function(){V(new TypeError("Network request failed"))},0)},J.ontimeout=function(){setTimeout(function(){V(new TypeError("Network request timed out"))},0)},J.onabort=function(){setTimeout(function(){V(new o("Aborted","AbortError"))},0)},J.open(n.method,function(U){try{return""===U&&B.location.href?B.location.href:U}catch(F){return U}}(n.url),!0),"include"===n.credentials?J.withCredentials=!0:"omit"===n.credentials&&(J.withCredentials=!1),"responseType"in J&&(R.blob?J.responseType="blob":R.arrayBuffer&&(J.responseType="arraybuffer")),F&&"object"===typeof F.headers&&!(F.headers instanceof N||B.Headers&&F.headers instanceof B.Headers)){var W=[];Object.getOwnPropertyNames(F.headers).forEach(function(U){W.push(l(U)),J.setRequestHeader(U,d(F.headers[U]))}),n.headers.forEach(function(U,F){-1===W.indexOf(F)&&J.setRequestHeader(F,U)})}else n.headers.forEach(function(U,F){J.setRequestHeader(F,U)});n.signal&&(n.signal.addEventListener("abort",Z),J.onreadystatechange=function(){4===J.readyState&&n.signal.removeEventListener("abort",Z)}),J.send("undefined"===typeof n._bodyInit?null:n._bodyInit)})}p.polyfill=!0,B.fetch||(B.fetch=p,B.Headers=N,B.Request=a,B.Response=C)},47777:U=>{"use strict";U.exports=SyntaxError},48067:(U,F,Q)=>{"use strict";var B,R=Object.prototype.toString,V=Function.prototype.toString,n=/^\s*(?:function)?\*/,l=Q(69743)(),d=Object.getPrototypeOf;U.exports=function(U){if("function"!==typeof U)return!1;if(n.test(V.call(U)))return!0;if(!l)return"[object GeneratorFunction]"===R.call(U);if(!d)return!1;if("undefined"===typeof B){var F=function(){if(!l)return!1;try{return Function("return function*() {}")()}catch(U){}}();B=!!F&&d(F)}return d(U)===B}},48183:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>V});var B=Q(92162);function R(U,F){for(var Q=0;Q{"use strict";function B(U,F){if(null==U)return{};var Q={};for(var B in U)if({}.hasOwnProperty.call(U,B)){if(-1!==F.indexOf(B))continue;Q[B]=U[B]}return Q}Q.d(F,{A:()=>B})},49322:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>C});var B=Q(49257),R=Q(68102),V=Q(60471),n=Q(15714),l=Q(93350),d=Q(43946),J=Q(34315),N=Q(83652),Z=Q(93623);const W=function(U,F){var Q,B;return V.isValidElement(U)&&-1!==F.indexOf(null!=(Q=U.type.muiName)?Q:null==(B=U.type)||null==(B=B._payload)||null==(B=B.value)?void 0:B.muiName)};var S=Q(26345),E=Q(16840),k=Q(85656);function t(U){return(0,k.Ay)("MuiFormControl",U)}(0,E.A)("MuiFormControl",["root","marginNone","marginNormal","marginDense","fullWidth","disabled"]);var a=Q(23759);const T=["children","className","color","component","disabled","error","focused","fullWidth","hiddenLabel","margin","required","size","variant"],e=(0,J.Ay)("div",{name:"MuiFormControl",slot:"Root",overridesResolver:(U,F)=>{let{ownerState:Q}=U;return(0,R.A)({},F.root,F[`margin${(0,Z.A)(Q.margin)}`],Q.fullWidth&&F.fullWidth)}})(U=>{let{ownerState:F}=U;return(0,R.A)({display:"inline-flex",flexDirection:"column",position:"relative",minWidth:0,padding:0,margin:0,border:0,verticalAlign:"top"},"normal"===F.margin&&{marginTop:16,marginBottom:8},"dense"===F.margin&&{marginTop:8,marginBottom:4},F.fullWidth&&{width:"100%"})}),C=V.forwardRef(function(U,F){const Q=(0,d.b)({props:U,name:"MuiFormControl"}),{children:J,className:E,color:k="primary",component:C="div",disabled:D=!1,error:o=!1,focused:p,fullWidth:h=!1,hiddenLabel:c=!1,margin:r="none",required:m=!1,size:M="medium",variant:i="outlined"}=Q,b=(0,B.A)(Q,T),v=(0,R.A)({},Q,{color:k,component:C,disabled:D,error:o,fullWidth:h,hiddenLabel:c,margin:r,required:m,size:M,variant:i}),G=(U=>{const{classes:F,margin:Q,fullWidth:B}=U,R={root:["root","none"!==Q&&`margin${(0,Z.A)(Q)}`,B&&"fullWidth"]};return(0,l.A)(R,t,F)})(v),[s,X]=V.useState(()=>{let U=!1;return J&&V.Children.forEach(J,F=>{if(!W(F,["Input","Select"]))return;const Q=W(F,["Select"])?F.props.input:F;Q&&(0,N.gr)(Q.props)&&(U=!0)}),U}),[Y,y]=V.useState(()=>{let U=!1;return J&&V.Children.forEach(J,F=>{W(F,["Input","Select"])&&((0,N.lq)(F.props,!0)||(0,N.lq)(F.props.inputProps,!0))&&(U=!0)}),U}),[z,O]=V.useState(!1);D&&z&&O(!1);const L=void 0===p||D?z:p;let H;const x=V.useMemo(()=>({adornedStart:s,setAdornedStart:X,color:k,disabled:D,error:o,filled:Y,focused:L,fullWidth:h,hiddenLabel:c,size:M,onBlur:()=>{O(!1)},onEmpty:()=>{y(!1)},onFilled:()=>{y(!0)},onFocus:()=>{O(!0)},registerEffect:H,required:m,variant:i}),[s,k,D,o,Y,L,h,c,H,m,M,i]);return(0,a.jsx)(S.A.Provider,{value:x,children:(0,a.jsx)(e,(0,R.A)({as:C,ownerState:v,className:(0,n.A)(G.root,E),ref:F},b,{children:J}))})})},49557:U=>{"function"===typeof Object.create?U.exports=function(U,F){F&&(U.super_=F,U.prototype=Object.create(F.prototype,{constructor:{value:U,enumerable:!1,writable:!0,configurable:!0}}))}:U.exports=function(U,F){if(F){U.super_=F;var Q=function(){};Q.prototype=F.prototype,U.prototype=new Q,U.prototype.constructor=U}}},50171:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>R});var B=Q(91576);function R(U,F){if("function"!=typeof F&&null!==F)throw new TypeError("Super expression must either be null or a function");U.prototype=Object.create(F&&F.prototype,{constructor:{value:U,writable:!0,configurable:!0}}),Object.defineProperty(U,"prototype",{writable:!1}),F&&(0,B.A)(U,F)}},50435:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>R});var B=Q(99494);function R(U){var F=U+="",Q=F.indexOf(":");return Q>=0&&"xmlns"!==(F=U.slice(0,Q))&&(U=U.slice(Q+1)),B.A.hasOwnProperty(F)?{space:B.A[F],local:U}:U}},50889:(U,F,Q)=>{"use strict";var B=U.exports.Validator=Q(72095);Q(8500).ValidatorResult,Q(8500).ValidatorResultError,Q(8500).ValidationError,Q(8500).SchemaError,Q(8628),Q(8628).S},50948:(U,F)=>{"use strict";var Q=Symbol.for("react.transitional.element"),B=Symbol.for("react.portal"),R=Symbol.for("react.fragment"),V=Symbol.for("react.strict_mode"),n=Symbol.for("react.profiler"),l=Symbol.for("react.consumer"),d=Symbol.for("react.context"),J=Symbol.for("react.forward_ref"),N=Symbol.for("react.suspense"),Z=Symbol.for("react.memo"),W=Symbol.for("react.lazy"),S=Symbol.iterator;var E={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},k=Object.assign,t={};function a(U,F,Q){this.props=U,this.context=F,this.refs=t,this.updater=Q||E}function T(){}function e(U,F,Q){this.props=U,this.context=F,this.refs=t,this.updater=Q||E}a.prototype.isReactComponent={},a.prototype.setState=function(U,F){if("object"!==typeof U&&"function"!==typeof U&&null!=U)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,U,F,"setState")},a.prototype.forceUpdate=function(U){this.updater.enqueueForceUpdate(this,U,"forceUpdate")},T.prototype=a.prototype;var C=e.prototype=new T;C.constructor=e,k(C,a.prototype),C.isPureReactComponent=!0;var D=Array.isArray,o={H:null,A:null,T:null,S:null,V:null},p=Object.prototype.hasOwnProperty;function h(U,F,B,R,V,n){return B=n.ref,{$$typeof:Q,type:U,key:F,ref:void 0!==B?B:null,props:n}}function c(U){return"object"===typeof U&&null!==U&&U.$$typeof===Q}var r=/\/+/g;function m(U,F){return"object"===typeof U&&null!==U&&null!=U.key?function(U){var F={"=":"=0",":":"=2"};return"$"+U.replace(/[=:]/g,function(U){return F[U]})}(""+U.key):F.toString(36)}function M(){}function i(U,F,R,V,n){var l=typeof U;"undefined"!==l&&"boolean"!==l||(U=null);var d,J,N=!1;if(null===U)N=!0;else switch(l){case"bigint":case"string":case"number":N=!0;break;case"object":switch(U.$$typeof){case Q:case B:N=!0;break;case W:return i((N=U._init)(U._payload),F,R,V,n)}}if(N)return n=n(U),N=""===V?"."+m(U,0):V,D(n)?(R="",null!=N&&(R=N.replace(r,"$&/")+"/"),i(n,F,R,"",function(U){return U})):null!=n&&(c(n)&&(d=n,J=R+(null==n.key||U&&U.key===n.key?"":(""+n.key).replace(r,"$&/")+"/")+N,n=h(d.type,J,void 0,0,0,d.props)),F.push(n)),1;N=0;var Z,E=""===V?".":V+":";if(D(U))for(var k=0;k{},51299:(U,F,Q)=>{"use strict";var B=Q(44176),R=Q(71862),V=Q(2428),n=Q(32850),l=Q(54029),d=Q(61825),J=Q(62933),N=B.Function,Z=/MSIE .\./.test(l)||n&&function(){var U=B.Bun.version.split(".");return U.length<3||"0"===U[0]&&(U[1]<3||"3"===U[1]&&"0"===U[2])}();U.exports=function(U,F){var Q=F?2:1;return Z?function(B,n){var l=J(arguments.length,1)>Q,Z=V(B)?B:N(B),W=l?d(arguments,Q):[],S=l?function(){R(Z,this,W)}:Z;return F?U(S,n):U(S)}:U}},51333:(U,F,Q)=>{"use strict";Q.r(F),Q.d(F,{GlobalStyles:()=>W.A,StyledEngineProvider:()=>Z,ThemeContext:()=>n.T,css:()=>V.AH,default:()=>S,internal_processStyles:()=>E,internal_serializeStyles:()=>t,keyframes:()=>V.i7});var B=Q(1276),R=Q(65320),V=Q(55830),n=Q(5112),l=Q(60471),d=Q(42895),J=Q(23759);const N=new Map;function Z(U){const{injectFirst:F,enableCssLayer:Q,children:B}=U,R=l.useMemo(()=>{const U=`${F}-${Q}`;if("object"===typeof document&&N.has(U))return N.get(U);const B=function(U,F){const Q=(0,d.A)({key:"css",prepend:U});if(F){const U=Q.insert;Q.insert=function(){for(var F=arguments.length,Q=new Array(F),B=0;B{Array.isArray(U.__emotion_styles)&&(U.__emotion_styles=F(U.__emotion_styles))},k=[];function t(U){return k[0]=U,(0,R.J)(k)}},51358:U=>{"use strict";U.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},51449:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>R});var B=Q(91576);function R(U,F){U.prototype=Object.create(F.prototype),U.prototype.constructor=U,(0,B.A)(U,F)}},51723:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>R});var B=Q(26904);const R=function(U,F){return F?(0,B.A)(U,F,{clone:!1}):U}},52038:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>B});const B=(0,Q(24530).A)()},52327:(U,F,Q)=>{"use strict";U.exports=Q(39054)},52728:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>L});var B=Q(49257),R=Q(68102),V=Q(60471),n=Q(15714),l=Q(93350),d=Q(10400),J=Q(85514),N=Q(34386),Z=Q(44392),W=Q(23759);const S=["input","select","textarea","a[href]","button","[tabindex]","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])'].join(",");function E(U){const F=[],Q=[];return Array.from(U.querySelectorAll(S)).forEach((U,B)=>{const R=function(U){const F=parseInt(U.getAttribute("tabindex")||"",10);return Number.isNaN(F)?"true"===U.contentEditable||("AUDIO"===U.nodeName||"VIDEO"===U.nodeName||"DETAILS"===U.nodeName)&&null===U.getAttribute("tabindex")?0:U.tabIndex:F}(U);-1!==R&&function(U){return!(U.disabled||"INPUT"===U.tagName&&"hidden"===U.type||function(U){if("INPUT"!==U.tagName||"radio"!==U.type)return!1;if(!U.name)return!1;const F=F=>U.ownerDocument.querySelector(`input[type="radio"]${F}`);let Q=F(`[name="${U.name}"]:checked`);return Q||(Q=F(`[name="${U.name}"]`)),Q!==U}(U))}(U)&&(0===R?F.push(U):Q.push({documentOrder:B,tabIndex:R,node:U}))}),Q.sort((U,F)=>U.tabIndex===F.tabIndex?U.documentOrder-F.documentOrder:U.tabIndex-F.tabIndex).map(U=>U.node).concat(F)}function k(){return!0}const t=function(U){const{children:F,disableAutoFocus:Q=!1,disableEnforceFocus:B=!1,disableRestoreFocus:R=!1,getTabbable:n=E,isEnabled:l=k,open:d}=U,S=V.useRef(!1),t=V.useRef(null),a=V.useRef(null),T=V.useRef(null),e=V.useRef(null),C=V.useRef(!1),D=V.useRef(null),o=(0,J.A)((0,N.A)(F),D),p=V.useRef(null);V.useEffect(()=>{d&&D.current&&(C.current=!Q)},[Q,d]),V.useEffect(()=>{if(!d||!D.current)return;const U=(0,Z.A)(D.current);return D.current.contains(U.activeElement)||(D.current.hasAttribute("tabIndex")||D.current.setAttribute("tabIndex","-1"),C.current&&D.current.focus()),()=>{R||(T.current&&T.current.focus&&(S.current=!0,T.current.focus()),T.current=null)}},[d]),V.useEffect(()=>{if(!d||!D.current)return;const U=(0,Z.A)(D.current),F=F=>{p.current=F,!B&&l()&&"Tab"===F.key&&U.activeElement===D.current&&F.shiftKey&&(S.current=!0,a.current&&a.current.focus())},Q=()=>{const F=D.current;if(null===F)return;if(!U.hasFocus()||!l()||S.current)return void(S.current=!1);if(F.contains(U.activeElement))return;if(B&&U.activeElement!==t.current&&U.activeElement!==a.current)return;if(U.activeElement!==e.current)e.current=null;else if(null!==e.current)return;if(!C.current)return;let Q=[];if(U.activeElement!==t.current&&U.activeElement!==a.current||(Q=n(D.current)),Q.length>0){var R,V;const U=Boolean((null==(R=p.current)?void 0:R.shiftKey)&&"Tab"===(null==(V=p.current)?void 0:V.key)),F=Q[0],B=Q[Q.length-1];"string"!==typeof F&&"string"!==typeof B&&(U?B.focus():F.focus())}else F.focus()};U.addEventListener("focusin",Q),U.addEventListener("keydown",F,!0);const R=setInterval(()=>{U.activeElement&&"BODY"===U.activeElement.tagName&&Q()},50);return()=>{clearInterval(R),U.removeEventListener("focusin",Q),U.removeEventListener("keydown",F,!0)}},[Q,B,R,l,d,n]);const h=U=>{null===T.current&&(T.current=U.relatedTarget),C.current=!0};return(0,W.jsxs)(V.Fragment,{children:[(0,W.jsx)("div",{tabIndex:d?0:-1,onFocus:h,ref:t,"data-testid":"sentinelStart"}),V.cloneElement(F,{ref:o,onFocus:U=>{null===T.current&&(T.current=U.relatedTarget),C.current=!0,e.current=U.target;const Q=F.props.onFocus;Q&&Q(U)}}),(0,W.jsx)("div",{tabIndex:d?0:-1,onFocus:h,ref:a,"data-testid":"sentinelEnd"})]})};var a=Q(14666),T=Q(34315),e=Q(43946),C=Q(85137),D=Q(30874);function o(){for(var U=arguments.length,F=new Array(U),Q=0;Qnull==F?U:function(){for(var Q=arguments.length,B=new Array(Q),R=0;R{})}var p=Q(85670),h=Q(75544),c=Q(24968);function r(U,F){F?U.setAttribute("aria-hidden","true"):U.removeAttribute("aria-hidden")}function m(U){return parseInt((0,h.A)(U).getComputedStyle(U).paddingRight,10)||0}function M(U,F,Q,B,R){const V=[F,Q,...B];[].forEach.call(U.children,U=>{const F=-1===V.indexOf(U),Q=!function(U){const F=-1!==["TEMPLATE","SCRIPT","STYLE","LINK","MAP","META","NOSCRIPT","PICTURE","COL","COLGROUP","PARAM","SLOT","SOURCE","TRACK"].indexOf(U.tagName),Q="INPUT"===U.tagName&&"hidden"===U.getAttribute("type");return F||Q}(U);F&&Q&&r(U,R)})}function i(U,F){let Q=-1;return U.some((U,B)=>!!F(U)&&(Q=B,!0)),Q}function b(U,F){const Q=[],B=U.container;if(!F.disableScrollLock){if(function(U){const F=(0,Z.A)(U);return F.body===U?(0,h.A)(U).innerWidth>F.documentElement.clientWidth:U.scrollHeight>U.clientHeight}(B)){const U=(0,c.A)((0,Z.A)(B));Q.push({value:B.style.paddingRight,property:"padding-right",el:B}),B.style.paddingRight=`${m(B)+U}px`;const F=(0,Z.A)(B).querySelectorAll(".mui-fixed");[].forEach.call(F,F=>{Q.push({value:F.style.paddingRight,property:"padding-right",el:F}),F.style.paddingRight=`${m(F)+U}px`})}let U;if(B.parentNode instanceof DocumentFragment)U=(0,Z.A)(B).body;else{const F=B.parentElement,Q=(0,h.A)(B);U="HTML"===(null==F?void 0:F.nodeName)&&"scroll"===Q.getComputedStyle(F).overflowY?F:B}Q.push({value:U.style.overflow,property:"overflow",el:U},{value:U.style.overflowX,property:"overflow-x",el:U},{value:U.style.overflowY,property:"overflow-y",el:U}),U.style.overflow="hidden"}return()=>{Q.forEach(U=>{let{value:F,el:Q,property:B}=U;F?Q.style.setProperty(B,F):Q.style.removeProperty(B)})}}const v=new class{constructor(){this.containers=void 0,this.modals=void 0,this.modals=[],this.containers=[]}add(U,F){let Q=this.modals.indexOf(U);if(-1!==Q)return Q;Q=this.modals.length,this.modals.push(U),U.modalRef&&r(U.modalRef,!1);const B=function(U){const F=[];return[].forEach.call(U.children,U=>{"true"===U.getAttribute("aria-hidden")&&F.push(U)}),F}(F);M(F,U.mount,U.modalRef,B,!0);const R=i(this.containers,U=>U.container===F);return-1!==R?(this.containers[R].modals.push(U),Q):(this.containers.push({modals:[U],container:F,restore:null,hiddenSiblings:B}),Q)}mount(U,F){const Q=i(this.containers,F=>-1!==F.modals.indexOf(U)),B=this.containers[Q];B.restore||(B.restore=b(B,F))}remove(U){let F=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const Q=this.modals.indexOf(U);if(-1===Q)return Q;const B=i(this.containers,F=>-1!==F.modals.indexOf(U)),R=this.containers[B];if(R.modals.splice(R.modals.indexOf(U),1),this.modals.splice(Q,1),0===R.modals.length)R.restore&&R.restore(),U.modalRef&&r(U.modalRef,F),M(R.container,U.mount,U.modalRef,R.hiddenSiblings,!1),this.containers.splice(B,1);else{const U=R.modals[R.modals.length-1];U.modalRef&&r(U.modalRef,!1)}return Q}isTopModal(U){return this.modals.length>0&&this.modals[this.modals.length-1]===U}};const G=function(U){const{container:F,disableEscapeKeyDown:Q=!1,disableScrollLock:B=!1,manager:n=v,closeAfterTransition:l=!1,onTransitionEnter:d,onTransitionExited:N,children:W,onClose:S,open:E,rootRef:k}=U,t=V.useRef({}),a=V.useRef(null),T=V.useRef(null),e=(0,J.A)(T,k),[C,h]=V.useState(!E),c=function(U){return!!U&&U.props.hasOwnProperty("in")}(W);let m=!0;"false"!==U["aria-hidden"]&&!1!==U["aria-hidden"]||(m=!1);const M=()=>(t.current.modalRef=T.current,t.current.mount=a.current,t.current),i=()=>{n.mount(M(),{disableScrollLock:B}),T.current&&(T.current.scrollTop=0)},b=(0,D.A)(()=>{const U=function(U){return"function"===typeof U?U():U}(F)||(0,Z.A)(a.current).body;n.add(M(),U),T.current&&i()}),G=V.useCallback(()=>n.isTopModal(M()),[n]),s=(0,D.A)(U=>{a.current=U,U&&(E&&G()?i():T.current&&r(T.current,m))}),X=V.useCallback(()=>{n.remove(M(),m)},[m,n]);V.useEffect(()=>()=>{X()},[X]),V.useEffect(()=>{E?b():c&&l||X()},[E,X,c,l,b]);const Y=U=>F=>{var B;null==(B=U.onKeyDown)||B.call(U,F),"Escape"===F.key&&229!==F.which&&G()&&(Q||(F.stopPropagation(),S&&S(F,"escapeKeyDown")))},y=U=>F=>{var Q;null==(Q=U.onClick)||Q.call(U,F),F.target===F.currentTarget&&S&&S(F,"backdropClick")};return{getRootProps:function(){let F=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const Q=(0,p.A)(U);delete Q.onTransitionEnter,delete Q.onTransitionExited;const B=(0,R.A)({},Q,F);return(0,R.A)({role:"presentation"},B,{onKeyDown:Y(B),ref:e})},getBackdropProps:function(){const U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(0,R.A)({"aria-hidden":!0},U,{onClick:y(U),open:E})},getTransitionProps:()=>({onEnter:o(()=>{h(!1),d&&d()},null==W?void 0:W.props.onEnter),onExited:o(()=>{h(!0),N&&N(),l&&X()},null==W?void 0:W.props.onExited)}),rootRef:e,portalRef:s,isTopModal:G,exited:C,hasTransition:c}};var s=Q(16840),X=Q(85656);function Y(U){return(0,X.Ay)("MuiModal",U)}(0,s.A)("MuiModal",["root","hidden","backdrop"]);const y=["BackdropComponent","BackdropProps","classes","className","closeAfterTransition","children","container","component","components","componentsProps","disableAutoFocus","disableEnforceFocus","disableEscapeKeyDown","disablePortal","disableRestoreFocus","disableScrollLock","hideBackdrop","keepMounted","onBackdropClick","onClose","onTransitionEnter","onTransitionExited","open","slotProps","slots","theme"],z=(0,T.Ay)("div",{name:"MuiModal",slot:"Root",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[F.root,!Q.open&&Q.exited&&F.hidden]}})(U=>{let{theme:F,ownerState:Q}=U;return(0,R.A)({position:"fixed",zIndex:(F.vars||F).zIndex.modal,right:0,bottom:0,top:0,left:0},!Q.open&&Q.exited&&{visibility:"hidden"})}),O=(0,T.Ay)(C.A,{name:"MuiModal",slot:"Backdrop",overridesResolver:(U,F)=>F.backdrop})({zIndex:-1}),L=V.forwardRef(function(U,F){var Q,J,N,Z,S,E;const k=(0,e.b)({name:"MuiModal",props:U}),{BackdropComponent:T=O,BackdropProps:C,className:D,closeAfterTransition:o=!1,children:p,container:h,component:c,components:r={},componentsProps:m={},disableAutoFocus:M=!1,disableEnforceFocus:i=!1,disableEscapeKeyDown:b=!1,disablePortal:v=!1,disableRestoreFocus:s=!1,disableScrollLock:X=!1,hideBackdrop:L=!1,keepMounted:H=!1,onBackdropClick:x,open:u,slotProps:w,slots:j}=k,I=(0,B.A)(k,y),K=(0,R.A)({},k,{closeAfterTransition:o,disableAutoFocus:M,disableEnforceFocus:i,disableEscapeKeyDown:b,disablePortal:v,disableRestoreFocus:s,disableScrollLock:X,hideBackdrop:L,keepMounted:H}),{getRootProps:f,getBackdropProps:g,getTransitionProps:P,portalRef:A,isTopModal:q,exited:_,hasTransition:$}=G((0,R.A)({},K,{rootRef:F})),UU=(0,R.A)({},K,{exited:_}),FU=(U=>{const{open:F,exited:Q,classes:B}=U,R={root:["root",!F&&Q&&"hidden"],backdrop:["backdrop"]};return(0,l.A)(R,Y,B)})(UU),QU={};if(void 0===p.props.tabIndex&&(QU.tabIndex="-1"),$){const{onEnter:U,onExited:F}=P();QU.onEnter=U,QU.onExited=F}const BU=null!=(Q=null!=(J=null==j?void 0:j.root)?J:r.Root)?Q:z,RU=null!=(N=null!=(Z=null==j?void 0:j.backdrop)?Z:r.Backdrop)?N:T,VU=null!=(S=null==w?void 0:w.root)?S:m.root,nU=null!=(E=null==w?void 0:w.backdrop)?E:m.backdrop,lU=(0,d.A)({elementType:BU,externalSlotProps:VU,externalForwardedProps:I,getSlotProps:f,additionalProps:{ref:F,as:c},ownerState:UU,className:(0,n.A)(D,null==VU?void 0:VU.className,null==FU?void 0:FU.root,!UU.open&&UU.exited&&(null==FU?void 0:FU.hidden))}),dU=(0,d.A)({elementType:RU,externalSlotProps:nU,additionalProps:C,getSlotProps:U=>g((0,R.A)({},U,{onClick:F=>{x&&x(F),null!=U&&U.onClick&&U.onClick(F)}})),className:(0,n.A)(null==nU?void 0:nU.className,null==C?void 0:C.className,null==FU?void 0:FU.backdrop),ownerState:UU});return H||u||$&&!_?(0,W.jsx)(a.A,{ref:A,container:h,disablePortal:v,children:(0,W.jsxs)(BU,(0,R.A)({},lU,{children:[!L&&T?(0,W.jsx)(RU,(0,R.A)({},dU)):null,(0,W.jsx)(t,{disableEnforceFocus:i,disableAutoFocus:M,disableRestoreFocus:s,isEnabled:q,open:u,children:V.cloneElement(p,QU)})]}))}):null})},52746:U=>{"use strict";U.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},52918:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>J});var B=Q(68102),R=Q(49257),V=Q(26904),n=Q(27213);const l=["sx"],d=U=>{var F,Q;const B={systemProps:{},otherProps:{}},R=null!=(F=null==U||null==(Q=U.theme)?void 0:Q.unstable_sxConfig)?F:n.A;return Object.keys(U).forEach(F=>{R[F]?B.systemProps[F]=U[F]:B.otherProps[F]=U[F]}),B};function J(U){const{sx:F}=U,Q=(0,R.A)(U,l),{systemProps:n,otherProps:J}=d(Q);let N;return N=Array.isArray(F)?[n,...F]:"function"===typeof F?function(){const U=F(...arguments);return(0,V.Q)(U)?(0,B.A)({},n,U):n}:(0,B.A)({},n,F),(0,B.A)({},J,{sx:N})}},53051:(U,F,Q)=>{var B=Q(67114),R=Q(9535),V=Q(62507),n=Q(46313),l=Q(33929),d=Q(95315),J=Q(66961);function N(){"use strict";var F=R(),Q=F.m(N),Z=(Object.getPrototypeOf?Object.getPrototypeOf(Q):Q.__proto__).constructor;function W(U){var F="function"==typeof U&&U.constructor;return!!F&&(F===Z||"GeneratorFunction"===(F.displayName||F.name))}var S={throw:1,return:2,break:3,continue:3};function E(U){var F,Q;return function(B){F||(F={stop:function(){return Q(B.a,2)},catch:function(){return B.v},abrupt:function(U,F){return Q(B.a,S[U],F)},delegateYield:function(U,R,V){return F.resultName=R,Q(B.d,J(U),V)},finish:function(U){return Q(B.f,U)}},Q=function(U,Q,R){B.p=F.prev,B.n=F.next;try{return U(Q,R)}finally{F.next=B.n}}),F.resultName&&(F[F.resultName]=B.v,F.resultName=void 0),F.sent=B.v,F.next=B.n;try{return U.call(this,F)}finally{B.p=F.prev,B.n=F.next}}}return(U.exports=N=function(){return{wrap:function(U,Q,B,R){return F.w(E(U),Q,B,R&&R.reverse())},isGeneratorFunction:W,mark:F.m,awrap:function(U,F){return new B(U,F)},AsyncIterator:l,async:function(U,F,Q,B,R){return(W(F)?n:V)(E(U),F,Q,B,R)},keys:d,values:J}},U.exports.__esModule=!0,U.exports.default=U.exports)()}U.exports=N,U.exports.__esModule=!0,U.exports.default=U.exports},53281:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>V,y:()=>n});var B=Q(85154),R=Q(37731);function V(U){var F=U.document.documentElement,Q=(0,B.A)(U).on("dragstart.drag",R.Ay,R.Rw);"onselectstart"in F?Q.on("selectstart.drag",R.Ay,R.Rw):(F.__noselect=F.style.MozUserSelect,F.style.MozUserSelect="none")}function n(U,F){var Q=U.document.documentElement,V=(0,B.A)(U).on("dragstart.drag",null);F&&(V.on("click.drag",R.Ay,R.Rw),setTimeout(function(){V.on("click.drag",null)},0)),"onselectstart"in Q?V.on("selectstart.drag",null):(Q.style.MozUserSelect=Q.__noselect,delete Q.__noselect)}},53861:(U,F,Q)=>{"use strict";var B,R,V=Q(44176),n=Q(54029),l=V.process,d=V.Deno,J=l&&l.versions||d&&d.version,N=J&&J.v8;N&&(R=(B=N.split("."))[0]>0&&B[0]<4?1:+(B[0]+B[1])),!R&&n&&(!(B=n.match(/Edge\/(\d+)/))||B[1]>=74)&&(B=n.match(/Chrome\/(\d+)/))&&(R=+B[1]),U.exports=R},54029:U=>{"use strict";U.exports="undefined"!=typeof navigator&&String(navigator.userAgent)||""},54108:(U,F,Q)=>{"use strict";var B=Q(18501),R=Object;U.exports=function(U){return R(B(U))}},54206:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>d});var B={value:()=>{}};function R(){for(var U,F=0,Q=arguments.length,B={};F=0&&(F=U.slice(Q+1),U=U.slice(0,Q)),U&&!B.hasOwnProperty(U))throw new Error("unknown type: "+U);return{type:U,name:F}})),d=-1,J=V.length;if(!(arguments.length<2)){if(null!=F&&"function"!==typeof F)throw new Error("invalid callback: "+F);for(;++d0)for(var Q,B,R=new Array(Q),V=0;V{"use strict";function B(U){return U.ownerDocument&&U.ownerDocument.defaultView||U.document&&U||U.defaultView}Q.d(F,{A:()=>B})},54914:(U,F,Q)=>{"use strict";var B=Q(60760),R=Q(24687),V=Q(32736),n=Q(82369),l=Q(32063),d=Q(96714),J=TypeError,N=d("toPrimitive");U.exports=function(U,F){if(!R(U)||V(U))return U;var Q,d=n(U,N);if(d){if(void 0===F&&(F="default"),Q=B(d,U,F),!R(Q)||V(Q))return Q;throw new J("Can't convert object to primitive value")}return void 0===F&&(F="number"),l(U,F)}},54929:(U,F,Q)=>{"use strict";Q.d(F,{G:()=>G});var B,R,V=Q(67713),n=Q(54206),l=0,d=0,J=0,N=0,Z=0,W=0,S="object"===typeof performance&&performance.now?performance:Date,E="object"===typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(U){setTimeout(U,17)};function k(){return Z||(E(t),Z=S.now()+W)}function t(){Z=0}function a(){this._call=this._time=this._next=null}function T(U,F,Q){var B=new a;return B.restart(U,F,Q),B}function e(){Z=(N=S.now())+W,l=d=0;try{!function(){k(),++l;for(var U,F=B;F;)(U=Z-F._time)>=0&&F._call.call(void 0,U),F=F._next;--l}()}finally{l=0,function(){var U,F,Q=B,V=1/0;for(;Q;)Q._call?(V>Q._time&&(V=Q._time),U=Q,Q=Q._next):(F=Q._next,Q._next=null,Q=U?U._next=F:B=F);R=U,D(V)}(),Z=0}}function C(){var U=S.now(),F=U-N;F>1e3&&(W-=F,N=U)}function D(U){l||(d&&(d=clearTimeout(d)),U-Z>24?(U<1/0&&(d=setTimeout(e,U-S.now()-W)),J&&(J=clearInterval(J))):(J||(N=S.now(),J=setInterval(C,1e3)),l=1,E(e)))}function o(U,F,Q){var B=new a;return F=null==F?0:+F,B.restart(Q=>{B.stop(),U(Q+F)},F,Q),B}a.prototype=T.prototype={constructor:a,restart:function(U,F,Q){if("function"!==typeof U)throw new TypeError("callback is not a function");Q=(null==Q?k():+Q)+(null==F?0:+F),this._next||R===this||(R?R._next=this:B=this,R=this),this._call=U,this._time=Q,D()},stop:function(){this._call&&(this._call=null,this._time=1/0,D())}};var p=(0,n.A)("start","end","cancel","interrupt"),h=[],c=2,r=5,m=6;function M(U,F,Q,B,R,V){var n=U.__transition;if(n){if(Q in n)return}else U.__transition={};!function(U,F,Q){var B,R=U.__transition;function V(U){Q.state=1,Q.timer.restart(n,Q.delay,Q.time),Q.delay<=U&&n(U-Q.delay)}function n(V){var J,N,Z,W;if(1!==Q.state)return d();for(J in R)if((W=R[J]).name===Q.name){if(3===W.state)return o(n);4===W.state?(W.state=m,W.timer.stop(),W.on.call("interrupt",U,U.__data__,W.index,W.group),delete R[J]):+J0)throw new Error("too late; already scheduled");return Q}function b(U,F){var Q=v(U,F);if(Q.state>3)throw new Error("too late; already running");return Q}function v(U,F){var Q=U.__transition;if(!Q||!(Q=Q[F]))throw new Error("transition not found");return Q}function G(U,F){var Q,B,R,V=U.__transition,n=!0;if(V){for(R in F=null==F?null:F+"",V)(Q=V[R]).name===F?(B=Q.state>c&&Q.state180?F+=360:F-U>180&&(U+=360),V.push({i:Q.push(R(Q)+"rotate(",null,B)-2,x:(0,X.A)(U,F)})):F&&Q.push(R(Q)+"rotate("+F+B)}(V.rotate,n.rotate,l,d),function(U,F,Q,V){U!==F?V.push({i:Q.push(R(Q)+"skewX(",null,B)-2,x:(0,X.A)(U,F)}):F&&Q.push(R(Q)+"skewX("+F+B)}(V.skewX,n.skewX,l,d),function(U,F,Q,B,V,n){if(U!==Q||F!==B){var l=V.push(R(V)+"scale(",null,",",null,")");n.push({i:l-4,x:(0,X.A)(U,Q)},{i:l-2,x:(0,X.A)(F,B)})}else 1===Q&&1===B||V.push(R(V)+"scale("+Q+","+B+")")}(V.scaleX,V.scaleY,n.scaleX,n.scaleY,l,d),V=n=null,function(U){for(var F,Q=-1,B=d.length;++Q=0&&(U=U.slice(0,F)),!U||"start"===U})}(F)?i:b;return function(){var n=V(this,U),l=n.on;l!==B&&(R=(B=l).copy()).on(F,Q),n.on=R}}(Q,U,F))},attr:function(U,F){var Q=(0,x.A)(U),B="transform"===Q?H:g;return this.attrTween(U,"function"===typeof F?(Q.local?UU:$)(Q,B,j(this,"attr."+U,F)):null==F?(Q.local?A:P)(Q):(Q.local?_:q)(Q,B,F))},attrTween:function(U,F){var Q="attr."+U;if(arguments.length<2)return(Q=this.tween(Q))&&Q._value;if(null==F)return this.tween(Q,null);if("function"!==typeof F)throw new Error;var B=(0,x.A)(U);return this.tween(Q,(B.local?FU:QU)(B,F))},style:function(U,F,Q){var B="transform"===(U+="")?L:g;return null==F?this.styleTween(U,function(U,F){var Q,B,R;return function(){var V=(0,ZU.j)(this,U),n=(this.style.removeProperty(U),(0,ZU.j)(this,U));return V===n?null:V===Q&&n===B?R:R=F(Q=V,B=n)}}(U,B)).on("end.style."+U,WU(U)):"function"===typeof F?this.styleTween(U,function(U,F,Q){var B,R,V;return function(){var n=(0,ZU.j)(this,U),l=Q(this),d=l+"";return null==l&&(this.style.removeProperty(U),d=l=(0,ZU.j)(this,U)),n===d?null:n===B&&d===R?V:(R=d,V=F(B=n,l))}}(U,B,j(this,"style."+U,F))).each(function(U,F){var Q,B,R,V,n="style."+F,l="end."+n;return function(){var d=b(this,U),J=d.on,N=null==d.value[n]?V||(V=WU(F)):void 0;J===Q&&R===N||(B=(Q=J).copy()).on(l,R=N),d.on=B}}(this._id,U)):this.styleTween(U,function(U,F,Q){var B,R,V=Q+"";return function(){var n=(0,ZU.j)(this,U);return n===V?null:n===B?R:R=F(B=n,Q)}}(U,B,F),Q).on("end.style."+U,null)},styleTween:function(U,F,Q){var B="style."+(U+="");if(arguments.length<2)return(B=this.tween(B))&&B._value;if(null==F)return this.tween(B,null);if("function"!==typeof F)throw new Error;return this.tween(B,function(U,F,Q){var B,R;function V(){var V=F.apply(this,arguments);return V!==R&&(B=(R=V)&&function(U,F,Q){return function(B){this.style.setProperty(U,F.call(this,B),Q)}}(U,V,Q)),B}return V._value=F,V}(U,F,null==Q?"":Q))},text:function(U){return this.tween("text","function"===typeof U?function(U){return function(){var F=U(this);this.textContent=null==F?"":F}}(j(this,"text",U)):function(U){return function(){this.textContent=U}}(null==U?"":U+""))},textTween:function(U){var F="text";if(arguments.length<1)return(F=this.tween(F))&&F._value;if(null==U)return this.tween(F,null);if("function"!==typeof U)throw new Error;return this.tween(F,function(U){var F,Q;function B(){var B=U.apply(this,arguments);return B!==Q&&(F=(Q=B)&&function(U){return function(F){this.textContent=U.call(this,F)}}(B)),F}return B._value=U,B}(U))},remove:function(){return this.on("end.remove",function(U){return function(){var F=this.parentNode;for(var Q in this.__transition)if(+Q!==U)return;F&&F.removeChild(this)}}(this._id))},tween:function(U,F){var Q=this._id;if(U+="",arguments.length<2){for(var B,R=v(this.node(),Q).tween,V=0,n=R.length;V{"use strict";Q.d(F,{A:()=>n,g:()=>V});var B=Q(16840),R=Q(85656);function V(U){return(0,R.Ay)("MuiInputBase",U)}const n=(0,B.A)("MuiInputBase",["root","formControl","focused","disabled","adornedStart","adornedEnd","error","sizeSmall","multiline","colorSecondary","fullWidth","hiddenLabel","readOnly","input","inputSizeSmall","inputMultiline","inputTypeSearch","inputAdornedStart","inputAdornedEnd","inputHiddenLabel"])},55425:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>V});var B=Q(60471),R=Q(26345);function V(){return B.useContext(R.A)}},55593:(U,F,Q)=>{"use strict";var B=Q(44176),R=Q(2428),V=B.WeakMap;U.exports=R(V)&&/native code/.test(String(V))},55619:(U,F,Q)=>{"use strict";var B=Q(42433),R=Q(35938),V=Q(13980),n=Q(26946).indexOf,l=Q(57268),d=B([].push);U.exports=function(U,F){var Q,B=V(U),J=0,N=[];for(Q in B)!R(l,Q)&&R(B,Q)&&d(N,Q);for(;F.length>J;)R(B,Q=F[J++])&&(~n(N,Q)||d(N,Q));return N}},55830:(U,F,Q)=>{"use strict";Q.d(F,{AH:()=>N,i7:()=>Z,mL:()=>J});var B=Q(5112),R=Q(60471),V=Q(75190),n=Q(33048),l=Q(65320),d=(Q(42895),Q(62271),function(U,F){var Q=arguments;if(null==F||!B.h.call(F,"css"))return R.createElement.apply(void 0,Q);var V=Q.length,n=new Array(V);n[0]=B.E,n[1]=(0,B.c)(U,F);for(var l=2;l{"use strict";Q.d(F,{Lt:()=>B.A});var B=Q(85154)},56046:(U,F,Q)=>{"use strict";Q(54929);const{abs:B,max:R,min:V}=Math;function n(U){return[+U[0],+U[1]]}function l(U){return[n(U[0]),n(U[1])]}["w","e"].map(d),["n","s"].map(d),["n","w","e","s","nw","ne","sw","se"].map(d);function d(U){return{type:U}}},56174:(U,F,Q)=>{"use strict";function B(U){return function(){return this.matches(U)}}function R(U){return function(F){return F.matches(U)}}Q.d(F,{A:()=>B,j:()=>R})},56321:(U,F,Q)=>{"use strict";function B(U){return`Minified Redux error #${U}; visit https://redux.js.org/Errors?code=${U} for the full message or use the non-minified dev environment for full errors. `}Q.d(F,{HY:()=>J,Qd:()=>l,Tw:()=>Z,Zz:()=>N,ve:()=>W,y$:()=>d});var R=(()=>"function"===typeof Symbol&&Symbol.observable||"@@observable")(),V=()=>Math.random().toString(36).substring(7).split("").join("."),n={INIT:`@@redux/INIT${V()}`,REPLACE:`@@redux/REPLACE${V()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${V()}`};function l(U){if("object"!==typeof U||null===U)return!1;let F=U;for(;null!==Object.getPrototypeOf(F);)F=Object.getPrototypeOf(F);return Object.getPrototypeOf(U)===F||null===Object.getPrototypeOf(U)}function d(U,F,Q){if("function"!==typeof U)throw new Error(B(2));if("function"===typeof F&&"function"===typeof Q||"function"===typeof Q&&"function"===typeof arguments[3])throw new Error(B(0));if("function"===typeof F&&"undefined"===typeof Q&&(Q=F,F=void 0),"undefined"!==typeof Q){if("function"!==typeof Q)throw new Error(B(1));return Q(d)(U,F)}let V=U,J=F,N=new Map,Z=N,W=0,S=!1;function E(){Z===N&&(Z=new Map,N.forEach((U,F)=>{Z.set(F,U)}))}function k(){if(S)throw new Error(B(3));return J}function t(U){if("function"!==typeof U)throw new Error(B(4));if(S)throw new Error(B(5));let F=!0;E();const Q=W++;return Z.set(Q,U),function(){if(F){if(S)throw new Error(B(6));F=!1,E(),Z.delete(Q),N=null}}}function a(U){if(!l(U))throw new Error(B(7));if("undefined"===typeof U.type)throw new Error(B(8));if("string"!==typeof U.type)throw new Error(B(17));if(S)throw new Error(B(9));try{S=!0,J=V(J,U)}finally{S=!1}return(N=Z).forEach(U=>{U()}),U}a({type:n.INIT});return{dispatch:a,subscribe:t,getState:k,replaceReducer:function(U){if("function"!==typeof U)throw new Error(B(10));V=U,a({type:n.REPLACE})},[R]:function(){const U=t;return{subscribe(F){if("object"!==typeof F||null===F)throw new Error(B(11));function Q(){const U=F;U.next&&U.next(k())}Q();return{unsubscribe:U(Q)}},[R](){return this}}}}}function J(U){const F=Object.keys(U),Q={};for(let B=0;B{const Q=U[F];if("undefined"===typeof Q(void 0,{type:n.INIT}))throw new Error(B(12));if("undefined"===typeof Q(void 0,{type:n.PROBE_UNKNOWN_ACTION()}))throw new Error(B(13))})}(Q)}catch(l){V=l}return function(){let U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},F=arguments.length>1?arguments[1]:void 0;if(V)throw V;let n=!1;const l={};for(let V=0;VU:1===F.length?F[0]:F.reduce((U,F)=>function(){return U(F(...arguments))})}function Z(){for(var U=arguments.length,F=new Array(U),Q=0;Q(Q,R)=>{const V=U(Q,R);let n=()=>{throw new Error(B(15))};const l={getState:V.getState,dispatch:function(U){for(var F=arguments.length,Q=new Array(F>1?F-1:0),B=1;BU(l));return n=N(...d)(V.dispatch),{...V,dispatch:n}}}function W(U){return l(U)&&"type"in U&&"string"===typeof U.type}},56514:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>d,b:()=>l});var B=Q(60471),R=Q(29962),V=Q(23759);const n=B.createContext(void 0);function l(U){let{props:F,name:Q}=U;return function(U){const{theme:F,name:Q,props:B}=U;if(!F||!F.components||!F.components[Q])return B;const V=F.components[Q];return V.defaultProps?(0,R.A)(V.defaultProps,B):V.styleOverrides||V.variants?B:(0,R.A)(V,B)}({props:F,name:Q,theme:{components:B.useContext(n)}})}const d=function(U){let{value:F,children:Q}=U;return(0,V.jsx)(n.Provider,{value:F,children:Q})}},56673:(U,F,Q)=>{"use strict";U.exports=Q(36873)},57268:U=>{"use strict";U.exports={}},57508:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>T});var B=Q(68102),R=Q(49257),V=Q(60471),n=Q(27960),l=Q(34386),d=Q(29675),J=Q(41732),N=Q(77977),Z=Q(90245),W=Q(23759);const S=["addEndListener","appear","children","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"];function E(U){return`scale(${U}, ${U**2})`}const k={entering:{opacity:1,transform:E(1)},entered:{opacity:1,transform:"none"}},t="undefined"!==typeof navigator&&/^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent)&&/(os |version\/)15(.|_)4/i.test(navigator.userAgent),a=V.forwardRef(function(U,F){const{addEndListener:Q,appear:a=!0,children:T,easing:e,in:C,onEnter:D,onEntered:o,onEntering:p,onExit:h,onExited:c,onExiting:r,style:m,timeout:M="auto",TransitionComponent:i=d.Ay}=U,b=(0,R.A)(U,S),v=(0,n.A)(),G=V.useRef(),s=(0,J.A)(),X=V.useRef(null),Y=(0,Z.A)(X,(0,l.A)(T),F),y=U=>F=>{if(U){const Q=X.current;void 0===F?U(Q):U(Q,F)}},z=y(p),O=y((U,F)=>{(0,N.q)(U);const{duration:Q,delay:B,easing:R}=(0,N.c)({style:m,timeout:M,easing:e},{mode:"enter"});let V;"auto"===M?(V=s.transitions.getAutoHeightDuration(U.clientHeight),G.current=V):V=Q,U.style.transition=[s.transitions.create("opacity",{duration:V,delay:B}),s.transitions.create("transform",{duration:t?V:.666*V,delay:B,easing:R})].join(","),D&&D(U,F)}),L=y(o),H=y(r),x=y(U=>{const{duration:F,delay:Q,easing:B}=(0,N.c)({style:m,timeout:M,easing:e},{mode:"exit"});let R;"auto"===M?(R=s.transitions.getAutoHeightDuration(U.clientHeight),G.current=R):R=F,U.style.transition=[s.transitions.create("opacity",{duration:R,delay:Q}),s.transitions.create("transform",{duration:t?R:.666*R,delay:t?Q:Q||.333*R,easing:B})].join(","),U.style.opacity=0,U.style.transform=E(.75),h&&h(U)}),u=y(c);return(0,W.jsx)(i,(0,B.A)({appear:a,in:C,nodeRef:X,onEnter:O,onEntered:L,onEntering:z,onExit:x,onExited:u,onExiting:H,addEndListener:U=>{"auto"===M&&v.start(G.current||0,U),Q&&Q(X.current,U)},timeout:"auto"===M?null:M},b,{children:(U,F)=>V.cloneElement(T,(0,B.A)({style:(0,B.A)({opacity:0,transform:E(.75),visibility:"exited"!==U||C?void 0:"hidden"},k[U],m,T.props.style),ref:Y},F))}))});a.muiSupportAuto=!0;const T=a},57843:function(U,F){!function(U){"use strict";var F=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,7,9,32,4,318,1,80,3,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,68,8,2,0,3,0,2,3,2,4,2,0,15,1,83,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,7,19,58,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,343,9,54,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,10,5350,0,7,14,11465,27,2343,9,87,9,39,4,60,6,26,9,535,9,470,0,2,54,8,3,82,0,12,1,19628,1,4178,9,519,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,245,1,2,9,726,6,110,6,6,9,4759,9,787719,239],Q=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,4,51,13,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,39,27,10,22,251,41,7,1,17,2,60,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,31,9,2,0,3,0,2,37,2,0,26,0,2,0,45,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,200,32,32,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,26,3994,6,582,6842,29,1763,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,433,44,212,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,42,9,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,229,29,3,0,496,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,16,621,2467,541,1507,4938,6,4191],B="\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0897-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0cf3\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ece\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\u30fb\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f\uff65",R="\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c8a\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7cd\ua7d0\ua7d1\ua7d3\ua7d5-\ua7dc\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc",V={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},n="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",l={5:n,"5module":n+" export import",6:n+" const class extends export import super"},d=/^in(stanceof)?$/,J=new RegExp("["+R+"]"),N=new RegExp("["+R+B+"]");function Z(U,F){for(var Q=65536,B=0;BU)return!1;if((Q+=F[B+1])>=U)return!0}return!1}function W(U,F){return U<65?36===U:U<91||(U<97?95===U:U<123||(U<=65535?U>=170&&J.test(String.fromCharCode(U)):!1!==F&&Z(U,Q)))}function S(U,B){return U<48?36===U:U<58||!(U<65)&&(U<91||(U<97?95===U:U<123||(U<=65535?U>=170&&N.test(String.fromCharCode(U)):!1!==B&&(Z(U,Q)||Z(U,F)))))}var E=function(U,F){void 0===F&&(F={}),this.label=U,this.keyword=F.keyword,this.beforeExpr=!!F.beforeExpr,this.startsExpr=!!F.startsExpr,this.isLoop=!!F.isLoop,this.isAssign=!!F.isAssign,this.prefix=!!F.prefix,this.postfix=!!F.postfix,this.binop=F.binop||null,this.updateContext=null};function k(U,F){return new E(U,{beforeExpr:!0,binop:F})}var t={beforeExpr:!0},a={startsExpr:!0},T={};function e(U,F){return void 0===F&&(F={}),F.keyword=U,T[U]=new E(U,F)}var C={num:new E("num",a),regexp:new E("regexp",a),string:new E("string",a),name:new E("name",a),privateId:new E("privateId",a),eof:new E("eof"),bracketL:new E("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new E("]"),braceL:new E("{",{beforeExpr:!0,startsExpr:!0}),braceR:new E("}"),parenL:new E("(",{beforeExpr:!0,startsExpr:!0}),parenR:new E(")"),comma:new E(",",t),semi:new E(";",t),colon:new E(":",t),dot:new E("."),question:new E("?",t),questionDot:new E("?."),arrow:new E("=>",t),template:new E("template"),invalidTemplate:new E("invalidTemplate"),ellipsis:new E("...",t),backQuote:new E("`",a),dollarBraceL:new E("${",{beforeExpr:!0,startsExpr:!0}),eq:new E("=",{beforeExpr:!0,isAssign:!0}),assign:new E("_=",{beforeExpr:!0,isAssign:!0}),incDec:new E("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new E("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:k("||",1),logicalAND:k("&&",2),bitwiseOR:k("|",3),bitwiseXOR:k("^",4),bitwiseAND:k("&",5),equality:k("==/!=/===/!==",6),relational:k("/<=/>=",7),bitShift:k("<>/>>>",8),plusMin:new E("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:k("%",10),star:k("*",10),slash:k("/",10),starstar:new E("**",{beforeExpr:!0}),coalesce:k("??",1),_break:e("break"),_case:e("case",t),_catch:e("catch"),_continue:e("continue"),_debugger:e("debugger"),_default:e("default",t),_do:e("do",{isLoop:!0,beforeExpr:!0}),_else:e("else",t),_finally:e("finally"),_for:e("for",{isLoop:!0}),_function:e("function",a),_if:e("if"),_return:e("return",t),_switch:e("switch"),_throw:e("throw",t),_try:e("try"),_var:e("var"),_const:e("const"),_while:e("while",{isLoop:!0}),_with:e("with"),_new:e("new",{beforeExpr:!0,startsExpr:!0}),_this:e("this",a),_super:e("super",a),_class:e("class",a),_extends:e("extends",t),_export:e("export"),_import:e("import",a),_null:e("null",a),_true:e("true",a),_false:e("false",a),_in:e("in",{beforeExpr:!0,binop:7}),_instanceof:e("instanceof",{beforeExpr:!0,binop:7}),_typeof:e("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:e("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:e("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},D=/\r\n?|\n|\u2028|\u2029/,o=new RegExp(D.source,"g");function p(U){return 10===U||13===U||8232===U||8233===U}function h(U,F,Q){void 0===Q&&(Q=U.length);for(var B=F;B>10),56320+(1023&U)))}var Y=/(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/,y=function(U,F){this.line=U,this.column=F};y.prototype.offset=function(U){return new y(this.line,this.column+U)};var z=function(U,F,Q){this.start=F,this.end=Q,null!==U.sourceFile&&(this.source=U.sourceFile)};function O(U,F){for(var Q=1,B=0;;){var R=h(U,B,F);if(R<0)return new y(Q,F-B);++Q,B=R}}var L={ecmaVersion:null,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:null,allowSuperOutsideMethod:null,allowHashBang:!1,checkPrivateFields:!0,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1},H=!1;function x(U){var F={};for(var Q in L)F[Q]=U&&b(U,Q)?U[Q]:L[Q];if("latest"===F.ecmaVersion?F.ecmaVersion=1e8:null==F.ecmaVersion?(!H&&"object"===typeof console&&console.warn&&(H=!0,console.warn("Since Acorn 8.0.0, options.ecmaVersion is required.\nDefaulting to 2020, but this will stop working in the future.")),F.ecmaVersion=11):F.ecmaVersion>=2015&&(F.ecmaVersion-=2009),null==F.allowReserved&&(F.allowReserved=F.ecmaVersion<5),U&&null!=U.allowHashBang||(F.allowHashBang=F.ecmaVersion>=14),v(F.onToken)){var B=F.onToken;F.onToken=function(U){return B.push(U)}}return v(F.onComment)&&(F.onComment=u(F,F.onComment)),F}function u(U,F){return function(Q,B,R,V,n,l){var d={type:Q?"Block":"Line",value:B,start:R,end:V};U.locations&&(d.loc=new z(this,n,l)),U.ranges&&(d.range=[R,V]),F.push(d)}}var w=1,j=2,I=4,K=8,f=16,g=32,P=64,A=128,q=256,_=512,$=w|j|q;function UU(U,F){return j|(U?I:0)|(F?K:0)}var FU=0,QU=1,BU=2,RU=3,VU=4,nU=5,lU=function(U,F,Q){this.options=U=x(U),this.sourceFile=U.sourceFile,this.keywords=s(l[U.ecmaVersion>=6?6:"module"===U.sourceType?"5module":5]);var B="";!0!==U.allowReserved&&(B=V[U.ecmaVersion>=6?6:5===U.ecmaVersion?5:3],"module"===U.sourceType&&(B+=" await")),this.reservedWords=s(B);var R=(B?B+" ":"")+V.strict;this.reservedWordsStrict=s(R),this.reservedWordsStrictBind=s(R+" "+V.strictBind),this.input=String(F),this.containsEsc=!1,Q?(this.pos=Q,this.lineStart=this.input.lastIndexOf("\n",Q-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(D).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=C.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule="module"===U.sourceType,this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.potentialArrowInForAwait=!1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports=Object.create(null),0===this.pos&&U.allowHashBang&&"#!"===this.input.slice(0,2)&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(w),this.regexpState=null,this.privateNameStack=[]},dU={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},canAwait:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0},allowNewDotTarget:{configurable:!0},inClassStaticBlock:{configurable:!0}};lU.prototype.parse=function(){var U=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(U)},dU.inFunction.get=function(){return(this.currentVarScope().flags&j)>0},dU.inGenerator.get=function(){return(this.currentVarScope().flags&K)>0},dU.inAsync.get=function(){return(this.currentVarScope().flags&I)>0},dU.canAwait.get=function(){for(var U=this.scopeStack.length-1;U>=0;U--){var F=this.scopeStack[U].flags;if(F&(q|_))return!1;if(F&j)return(F&I)>0}return this.inModule&&this.options.ecmaVersion>=13||this.options.allowAwaitOutsideFunction},dU.allowSuper.get=function(){return(this.currentThisScope().flags&P)>0||this.options.allowSuperOutsideMethod},dU.allowDirectSuper.get=function(){return(this.currentThisScope().flags&A)>0},dU.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},dU.allowNewDotTarget.get=function(){for(var U=this.scopeStack.length-1;U>=0;U--){var F=this.scopeStack[U].flags;if(F&(q|_)||F&j&&!(F&f))return!0}return!1},dU.inClassStaticBlock.get=function(){return(this.currentVarScope().flags&q)>0},lU.extend=function(){for(var U=[],F=arguments.length;F--;)U[F]=arguments[F];for(var Q=this,B=0;B=,?^&]/.test(R)||"!"===R&&"="===this.input.charAt(B+1))}U+=F[0].length,r.lastIndex=U,U+=r.exec(this.input)[0].length,";"===this.input[U]&&U++}},JU.eat=function(U){return this.type===U&&(this.next(),!0)},JU.isContextual=function(U){return this.type===C.name&&this.value===U&&!this.containsEsc},JU.eatContextual=function(U){return!!this.isContextual(U)&&(this.next(),!0)},JU.expectContextual=function(U){this.eatContextual(U)||this.unexpected()},JU.canInsertSemicolon=function(){return this.type===C.eof||this.type===C.braceR||D.test(this.input.slice(this.lastTokEnd,this.start))},JU.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},JU.semicolon=function(){this.eat(C.semi)||this.insertSemicolon()||this.unexpected()},JU.afterTrailingComma=function(U,F){if(this.type===U)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),F||this.next(),!0},JU.expect=function(U){this.eat(U)||this.unexpected()},JU.unexpected=function(U){this.raise(null!=U?U:this.start,"Unexpected token")};var ZU=function(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1};JU.checkPatternErrors=function(U,F){if(U){U.trailingComma>-1&&this.raiseRecoverable(U.trailingComma,"Comma is not permitted after the rest element");var Q=F?U.parenthesizedAssign:U.parenthesizedBind;Q>-1&&this.raiseRecoverable(Q,F?"Assigning to rvalue":"Parenthesized pattern")}},JU.checkExpressionErrors=function(U,F){if(!U)return!1;var Q=U.shorthandAssign,B=U.doubleProto;if(!F)return Q>=0||B>=0;Q>=0&&this.raise(Q,"Shorthand property assignments are valid only in destructuring patterns"),B>=0&&this.raiseRecoverable(B,"Redefinition of __proto__ property")},JU.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos55295&&B<56320)return!0;if(W(B,!0)){for(var R=Q+1;S(B=this.input.charCodeAt(R),!0);)++R;if(92===B||B>55295&&B<56320)return!0;var V=this.input.slice(Q,R);if(!d.test(V))return!0}return!1},WU.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;r.lastIndex=this.pos;var U,F=r.exec(this.input),Q=this.pos+F[0].length;return!D.test(this.input.slice(this.pos,Q))&&"function"===this.input.slice(Q,Q+8)&&(Q+8===this.input.length||!(S(U=this.input.charCodeAt(Q+8))||U>55295&&U<56320))},WU.isUsingKeyword=function(U,F){if(this.options.ecmaVersion<17||!this.isContextual(U?"await":"using"))return!1;r.lastIndex=this.pos;var Q=r.exec(this.input),B=this.pos+Q[0].length;if(D.test(this.input.slice(this.pos,B)))return!1;if(U){var R,V=B+5;if("using"!==this.input.slice(B,V)||V===this.input.length||S(R=this.input.charCodeAt(V))||R>55295&&R<56320)return!1;r.lastIndex=V;var n=r.exec(this.input);if(n&&D.test(this.input.slice(V,V+n[0].length)))return!1}if(F){var l,d=B+2;if("of"===this.input.slice(B,d)&&(d===this.input.length||!S(l=this.input.charCodeAt(d))&&!(l>55295&&l<56320)))return!1}var J=this.input.charCodeAt(B);return W(J,!0)||92===J},WU.isAwaitUsing=function(U){return this.isUsingKeyword(!0,U)},WU.isUsing=function(U){return this.isUsingKeyword(!1,U)},WU.parseStatement=function(U,F,Q){var B,R=this.type,V=this.startNode();switch(this.isLet(U)&&(R=C._var,B="let"),R){case C._break:case C._continue:return this.parseBreakContinueStatement(V,R.keyword);case C._debugger:return this.parseDebuggerStatement(V);case C._do:return this.parseDoStatement(V);case C._for:return this.parseForStatement(V);case C._function:return U&&(this.strict||"if"!==U&&"label"!==U)&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(V,!1,!U);case C._class:return U&&this.unexpected(),this.parseClass(V,!0);case C._if:return this.parseIfStatement(V);case C._return:return this.parseReturnStatement(V);case C._switch:return this.parseSwitchStatement(V);case C._throw:return this.parseThrowStatement(V);case C._try:return this.parseTryStatement(V);case C._const:case C._var:return B=B||this.value,U&&"var"!==B&&this.unexpected(),this.parseVarStatement(V,B);case C._while:return this.parseWhileStatement(V);case C._with:return this.parseWithStatement(V);case C.braceL:return this.parseBlock(!0,V);case C.semi:return this.parseEmptyStatement(V);case C._export:case C._import:if(this.options.ecmaVersion>10&&R===C._import){r.lastIndex=this.pos;var n=r.exec(this.input),l=this.pos+n[0].length,d=this.input.charCodeAt(l);if(40===d||46===d)return this.parseExpressionStatement(V,this.parseExpression())}return this.options.allowImportExportEverywhere||(F||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),R===C._import?this.parseImport(V):this.parseExport(V,Q);default:if(this.isAsyncFunction())return U&&this.unexpected(),this.next(),this.parseFunctionStatement(V,!0,!U);var J=this.isAwaitUsing(!1)?"await using":this.isUsing(!1)?"using":null;if(J)return F&&"script"===this.options.sourceType&&this.raise(this.start,"Using declaration cannot appear in the top level when source type is `script`"),"await using"===J&&(this.canAwait||this.raise(this.start,"Await using cannot appear outside of async function"),this.next()),this.next(),this.parseVar(V,!1,J),this.semicolon(),this.finishNode(V,"VariableDeclaration");var N=this.value,Z=this.parseExpression();return R===C.name&&"Identifier"===Z.type&&this.eat(C.colon)?this.parseLabeledStatement(V,N,Z,U):this.parseExpressionStatement(V,Z)}},WU.parseBreakContinueStatement=function(U,F){var Q="break"===F;this.next(),this.eat(C.semi)||this.insertSemicolon()?U.label=null:this.type!==C.name?this.unexpected():(U.label=this.parseIdent(),this.semicolon());for(var B=0;B=6?this.eat(C.semi):this.semicolon(),this.finishNode(U,"DoWhileStatement")},WU.parseForStatement=function(U){this.next();var F=this.options.ecmaVersion>=9&&this.canAwait&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(SU),this.enterScope(0),this.expect(C.parenL),this.type===C.semi)return F>-1&&this.unexpected(F),this.parseFor(U,null);var Q=this.isLet();if(this.type===C._var||this.type===C._const||Q){var B=this.startNode(),R=Q?"let":this.value;return this.next(),this.parseVar(B,!0,R),this.finishNode(B,"VariableDeclaration"),this.parseForAfterInit(U,B,F)}var V=this.isContextual("let"),n=!1,l=this.isUsing(!0)?"using":this.isAwaitUsing(!0)?"await using":null;if(l){var d=this.startNode();return this.next(),"await using"===l&&this.next(),this.parseVar(d,!0,l),this.finishNode(d,"VariableDeclaration"),this.parseForAfterInit(U,d,F)}var J=this.containsEsc,N=new ZU,Z=this.start,W=F>-1?this.parseExprSubscripts(N,"await"):this.parseExpression(!0,N);return this.type===C._in||(n=this.options.ecmaVersion>=6&&this.isContextual("of"))?(F>-1?(this.type===C._in&&this.unexpected(F),U.await=!0):n&&this.options.ecmaVersion>=8&&(W.start!==Z||J||"Identifier"!==W.type||"async"!==W.name?this.options.ecmaVersion>=9&&(U.await=!1):this.unexpected()),V&&n&&this.raise(W.start,"The left-hand side of a for-of loop may not start with 'let'."),this.toAssignable(W,!1,N),this.checkLValPattern(W),this.parseForIn(U,W)):(this.checkExpressionErrors(N,!0),F>-1&&this.unexpected(F),this.parseFor(U,W))},WU.parseForAfterInit=function(U,F,Q){return(this.type===C._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&1===F.declarations.length?(this.options.ecmaVersion>=9&&(this.type===C._in?Q>-1&&this.unexpected(Q):U.await=Q>-1),this.parseForIn(U,F)):(Q>-1&&this.unexpected(Q),this.parseFor(U,F))},WU.parseFunctionStatement=function(U,F,Q){return this.next(),this.parseFunction(U,tU|(Q?0:aU),!1,F)},WU.parseIfStatement=function(U){return this.next(),U.test=this.parseParenExpression(),U.consequent=this.parseStatement("if"),U.alternate=this.eat(C._else)?this.parseStatement("if"):null,this.finishNode(U,"IfStatement")},WU.parseReturnStatement=function(U){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function"),this.next(),this.eat(C.semi)||this.insertSemicolon()?U.argument=null:(U.argument=this.parseExpression(),this.semicolon()),this.finishNode(U,"ReturnStatement")},WU.parseSwitchStatement=function(U){var F;this.next(),U.discriminant=this.parseParenExpression(),U.cases=[],this.expect(C.braceL),this.labels.push(EU),this.enterScope(0);for(var Q=!1;this.type!==C.braceR;)if(this.type===C._case||this.type===C._default){var B=this.type===C._case;F&&this.finishNode(F,"SwitchCase"),U.cases.push(F=this.startNode()),F.consequent=[],this.next(),B?F.test=this.parseExpression():(Q&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),Q=!0,F.test=null),this.expect(C.colon)}else F||this.unexpected(),F.consequent.push(this.parseStatement(null));return this.exitScope(),F&&this.finishNode(F,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(U,"SwitchStatement")},WU.parseThrowStatement=function(U){return this.next(),D.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),U.argument=this.parseExpression(),this.semicolon(),this.finishNode(U,"ThrowStatement")};var kU=[];WU.parseCatchClauseParam=function(){var U=this.parseBindingAtom(),F="Identifier"===U.type;return this.enterScope(F?g:0),this.checkLValPattern(U,F?VU:BU),this.expect(C.parenR),U},WU.parseTryStatement=function(U){if(this.next(),U.block=this.parseBlock(),U.handler=null,this.type===C._catch){var F=this.startNode();this.next(),this.eat(C.parenL)?F.param=this.parseCatchClauseParam():(this.options.ecmaVersion<10&&this.unexpected(),F.param=null,this.enterScope(0)),F.body=this.parseBlock(!1),this.exitScope(),U.handler=this.finishNode(F,"CatchClause")}return U.finalizer=this.eat(C._finally)?this.parseBlock():null,U.handler||U.finalizer||this.raise(U.start,"Missing catch or finally clause"),this.finishNode(U,"TryStatement")},WU.parseVarStatement=function(U,F,Q){return this.next(),this.parseVar(U,!1,F,Q),this.semicolon(),this.finishNode(U,"VariableDeclaration")},WU.parseWhileStatement=function(U){return this.next(),U.test=this.parseParenExpression(),this.labels.push(SU),U.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(U,"WhileStatement")},WU.parseWithStatement=function(U){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),U.object=this.parseParenExpression(),U.body=this.parseStatement("with"),this.finishNode(U,"WithStatement")},WU.parseEmptyStatement=function(U){return this.next(),this.finishNode(U,"EmptyStatement")},WU.parseLabeledStatement=function(U,F,Q,B){for(var R=0,V=this.labels;R=0;l--){var d=this.labels[l];if(d.statementStart!==U.start)break;d.statementStart=this.start,d.kind=n}return this.labels.push({name:F,kind:n,statementStart:this.start}),U.body=this.parseStatement(B?-1===B.indexOf("label")?B+"label":B:"label"),this.labels.pop(),U.label=Q,this.finishNode(U,"LabeledStatement")},WU.parseExpressionStatement=function(U,F){return U.expression=F,this.semicolon(),this.finishNode(U,"ExpressionStatement")},WU.parseBlock=function(U,F,Q){for(void 0===U&&(U=!0),void 0===F&&(F=this.startNode()),F.body=[],this.expect(C.braceL),U&&this.enterScope(0);this.type!==C.braceR;){var B=this.parseStatement(null);F.body.push(B)}return Q&&(this.strict=!1),this.next(),U&&this.exitScope(),this.finishNode(F,"BlockStatement")},WU.parseFor=function(U,F){return U.init=F,this.expect(C.semi),U.test=this.type===C.semi?null:this.parseExpression(),this.expect(C.semi),U.update=this.type===C.parenR?null:this.parseExpression(),this.expect(C.parenR),U.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(U,"ForStatement")},WU.parseForIn=function(U,F){var Q=this.type===C._in;return this.next(),"VariableDeclaration"===F.type&&null!=F.declarations[0].init&&(!Q||this.options.ecmaVersion<8||this.strict||"var"!==F.kind||"Identifier"!==F.declarations[0].id.type)&&this.raise(F.start,(Q?"for-in":"for-of")+" loop variable declaration may not have an initializer"),U.left=F,U.right=Q?this.parseExpression():this.parseMaybeAssign(),this.expect(C.parenR),U.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(U,Q?"ForInStatement":"ForOfStatement")},WU.parseVar=function(U,F,Q,B){for(U.declarations=[],U.kind=Q;;){var R=this.startNode();if(this.parseVarId(R,Q),this.eat(C.eq)?R.init=this.parseMaybeAssign(F):B||"const"!==Q||this.type===C._in||this.options.ecmaVersion>=6&&this.isContextual("of")?B||"using"!==Q&&"await using"!==Q||!(this.options.ecmaVersion>=17)||this.type===C._in||this.isContextual("of")?B||"Identifier"===R.id.type||F&&(this.type===C._in||this.isContextual("of"))?R.init=null:this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):this.raise(this.lastTokEnd,"Missing initializer in "+Q+" declaration"):this.unexpected(),U.declarations.push(this.finishNode(R,"VariableDeclarator")),!this.eat(C.comma))break}return U},WU.parseVarId=function(U,F){U.id="using"===F||"await using"===F?this.parseIdent():this.parseBindingAtom(),this.checkLValPattern(U.id,"var"===F?QU:BU,!1)};var tU=1,aU=2,TU=4;function eU(U,F){var Q=F.key.name,B=U[Q],R="true";return"MethodDefinition"!==F.type||"get"!==F.kind&&"set"!==F.kind||(R=(F.static?"s":"i")+F.kind),"iget"===B&&"iset"===R||"iset"===B&&"iget"===R||"sget"===B&&"sset"===R||"sset"===B&&"sget"===R?(U[Q]="true",!1):!!B||(U[Q]=R,!1)}function CU(U,F){var Q=U.computed,B=U.key;return!Q&&("Identifier"===B.type&&B.name===F||"Literal"===B.type&&B.value===F)}WU.parseFunction=function(U,F,Q,B,R){this.initFunction(U),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!B)&&(this.type===C.star&&F&aU&&this.unexpected(),U.generator=this.eat(C.star)),this.options.ecmaVersion>=8&&(U.async=!!B),F&tU&&(U.id=F&TU&&this.type!==C.name?null:this.parseIdent(),!U.id||F&aU||this.checkLValSimple(U.id,this.strict||U.generator||U.async?this.treatFunctionsAsVar?QU:BU:RU));var V=this.yieldPos,n=this.awaitPos,l=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(UU(U.async,U.generator)),F&tU||(U.id=this.type===C.name?this.parseIdent():null),this.parseFunctionParams(U),this.parseFunctionBody(U,Q,!1,R),this.yieldPos=V,this.awaitPos=n,this.awaitIdentPos=l,this.finishNode(U,F&tU?"FunctionDeclaration":"FunctionExpression")},WU.parseFunctionParams=function(U){this.expect(C.parenL),U.params=this.parseBindingList(C.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},WU.parseClass=function(U,F){this.next();var Q=this.strict;this.strict=!0,this.parseClassId(U,F),this.parseClassSuper(U);var B=this.enterClassBody(),R=this.startNode(),V=!1;for(R.body=[],this.expect(C.braceL);this.type!==C.braceR;){var n=this.parseClassElement(null!==U.superClass);n&&(R.body.push(n),"MethodDefinition"===n.type&&"constructor"===n.kind?(V&&this.raiseRecoverable(n.start,"Duplicate constructor in the same class"),V=!0):n.key&&"PrivateIdentifier"===n.key.type&&eU(B,n)&&this.raiseRecoverable(n.key.start,"Identifier '#"+n.key.name+"' has already been declared"))}return this.strict=Q,this.next(),U.body=this.finishNode(R,"ClassBody"),this.exitClassBody(),this.finishNode(U,F?"ClassDeclaration":"ClassExpression")},WU.parseClassElement=function(U){if(this.eat(C.semi))return null;var F=this.options.ecmaVersion,Q=this.startNode(),B="",R=!1,V=!1,n="method",l=!1;if(this.eatContextual("static")){if(F>=13&&this.eat(C.braceL))return this.parseClassStaticBlock(Q),Q;this.isClassElementNameStart()||this.type===C.star?l=!0:B="static"}if(Q.static=l,!B&&F>=8&&this.eatContextual("async")&&(!this.isClassElementNameStart()&&this.type!==C.star||this.canInsertSemicolon()?B="async":V=!0),!B&&(F>=9||!V)&&this.eat(C.star)&&(R=!0),!B&&!V&&!R){var d=this.value;(this.eatContextual("get")||this.eatContextual("set"))&&(this.isClassElementNameStart()?n=d:B=d)}if(B?(Q.computed=!1,Q.key=this.startNodeAt(this.lastTokStart,this.lastTokStartLoc),Q.key.name=B,this.finishNode(Q.key,"Identifier")):this.parseClassElementName(Q),F<13||this.type===C.parenL||"method"!==n||R||V){var J=!Q.static&&CU(Q,"constructor"),N=J&&U;J&&"method"!==n&&this.raise(Q.key.start,"Constructor can't have get/set modifier"),Q.kind=J?"constructor":n,this.parseClassMethod(Q,R,V,N)}else this.parseClassField(Q);return Q},WU.isClassElementNameStart=function(){return this.type===C.name||this.type===C.privateId||this.type===C.num||this.type===C.string||this.type===C.bracketL||this.type.keyword},WU.parseClassElementName=function(U){this.type===C.privateId?("constructor"===this.value&&this.raise(this.start,"Classes can't have an element named '#constructor'"),U.computed=!1,U.key=this.parsePrivateIdent()):this.parsePropertyName(U)},WU.parseClassMethod=function(U,F,Q,B){var R=U.key;"constructor"===U.kind?(F&&this.raise(R.start,"Constructor can't be a generator"),Q&&this.raise(R.start,"Constructor can't be an async method")):U.static&&CU(U,"prototype")&&this.raise(R.start,"Classes may not have a static property named prototype");var V=U.value=this.parseMethod(F,Q,B);return"get"===U.kind&&0!==V.params.length&&this.raiseRecoverable(V.start,"getter should have no params"),"set"===U.kind&&1!==V.params.length&&this.raiseRecoverable(V.start,"setter should have exactly one param"),"set"===U.kind&&"RestElement"===V.params[0].type&&this.raiseRecoverable(V.params[0].start,"Setter cannot use rest params"),this.finishNode(U,"MethodDefinition")},WU.parseClassField=function(U){return CU(U,"constructor")?this.raise(U.key.start,"Classes can't have a field named 'constructor'"):U.static&&CU(U,"prototype")&&this.raise(U.key.start,"Classes can't have a static field named 'prototype'"),this.eat(C.eq)?(this.enterScope(_|P),U.value=this.parseMaybeAssign(),this.exitScope()):U.value=null,this.semicolon(),this.finishNode(U,"PropertyDefinition")},WU.parseClassStaticBlock=function(U){U.body=[];var F=this.labels;for(this.labels=[],this.enterScope(q|P);this.type!==C.braceR;){var Q=this.parseStatement(null);U.body.push(Q)}return this.next(),this.exitScope(),this.labels=F,this.finishNode(U,"StaticBlock")},WU.parseClassId=function(U,F){this.type===C.name?(U.id=this.parseIdent(),F&&this.checkLValSimple(U.id,BU,!1)):(!0===F&&this.unexpected(),U.id=null)},WU.parseClassSuper=function(U){U.superClass=this.eat(C._extends)?this.parseExprSubscripts(null,!1):null},WU.enterClassBody=function(){var U={declared:Object.create(null),used:[]};return this.privateNameStack.push(U),U.declared},WU.exitClassBody=function(){var U=this.privateNameStack.pop(),F=U.declared,Q=U.used;if(this.options.checkPrivateFields)for(var B=this.privateNameStack.length,R=0===B?null:this.privateNameStack[B-1],V=0;V=11&&(this.eatContextual("as")?(U.exported=this.parseModuleExportName(),this.checkExport(F,U.exported,this.lastTokStart)):U.exported=null),this.expectContextual("from"),this.type!==C.string&&this.unexpected(),U.source=this.parseExprAtom(),this.options.ecmaVersion>=16&&(U.attributes=this.parseWithClause()),this.semicolon(),this.finishNode(U,"ExportAllDeclaration")},WU.parseExport=function(U,F){if(this.next(),this.eat(C.star))return this.parseExportAllDeclaration(U,F);if(this.eat(C._default))return this.checkExport(F,"default",this.lastTokStart),U.declaration=this.parseExportDefaultDeclaration(),this.finishNode(U,"ExportDefaultDeclaration");if(this.shouldParseExportStatement())U.declaration=this.parseExportDeclaration(U),"VariableDeclaration"===U.declaration.type?this.checkVariableExport(F,U.declaration.declarations):this.checkExport(F,U.declaration.id,U.declaration.id.start),U.specifiers=[],U.source=null,this.options.ecmaVersion>=16&&(U.attributes=[]);else{if(U.declaration=null,U.specifiers=this.parseExportSpecifiers(F),this.eatContextual("from"))this.type!==C.string&&this.unexpected(),U.source=this.parseExprAtom(),this.options.ecmaVersion>=16&&(U.attributes=this.parseWithClause());else{for(var Q=0,B=U.specifiers;Q=16&&(U.attributes=[])}this.semicolon()}return this.finishNode(U,"ExportNamedDeclaration")},WU.parseExportDeclaration=function(U){return this.parseStatement(null)},WU.parseExportDefaultDeclaration=function(){var U;if(this.type===C._function||(U=this.isAsyncFunction())){var F=this.startNode();return this.next(),U&&this.next(),this.parseFunction(F,tU|TU,!1,U)}if(this.type===C._class){var Q=this.startNode();return this.parseClass(Q,"nullableID")}var B=this.parseMaybeAssign();return this.semicolon(),B},WU.checkExport=function(U,F,Q){U&&("string"!==typeof F&&(F="Identifier"===F.type?F.name:F.value),b(U,F)&&this.raiseRecoverable(Q,"Duplicate export '"+F+"'"),U[F]=!0)},WU.checkPatternExport=function(U,F){var Q=F.type;if("Identifier"===Q)this.checkExport(U,F,F.start);else if("ObjectPattern"===Q)for(var B=0,R=F.properties;B=16&&(U.attributes=this.parseWithClause()),this.semicolon(),this.finishNode(U,"ImportDeclaration")},WU.parseImportSpecifier=function(){var U=this.startNode();return U.imported=this.parseModuleExportName(),this.eatContextual("as")?U.local=this.parseIdent():(this.checkUnreserved(U.imported),U.local=U.imported),this.checkLValSimple(U.local,BU),this.finishNode(U,"ImportSpecifier")},WU.parseImportDefaultSpecifier=function(){var U=this.startNode();return U.local=this.parseIdent(),this.checkLValSimple(U.local,BU),this.finishNode(U,"ImportDefaultSpecifier")},WU.parseImportNamespaceSpecifier=function(){var U=this.startNode();return this.next(),this.expectContextual("as"),U.local=this.parseIdent(),this.checkLValSimple(U.local,BU),this.finishNode(U,"ImportNamespaceSpecifier")},WU.parseImportSpecifiers=function(){var U=[],F=!0;if(this.type===C.name&&(U.push(this.parseImportDefaultSpecifier()),!this.eat(C.comma)))return U;if(this.type===C.star)return U.push(this.parseImportNamespaceSpecifier()),U;for(this.expect(C.braceL);!this.eat(C.braceR);){if(F)F=!1;else if(this.expect(C.comma),this.afterTrailingComma(C.braceR))break;U.push(this.parseImportSpecifier())}return U},WU.parseWithClause=function(){var U=[];if(!this.eat(C._with))return U;this.expect(C.braceL);for(var F={},Q=!0;!this.eat(C.braceR);){if(Q)Q=!1;else if(this.expect(C.comma),this.afterTrailingComma(C.braceR))break;var B=this.parseImportAttribute(),R="Identifier"===B.key.type?B.key.name:B.key.value;b(F,R)&&this.raiseRecoverable(B.key.start,"Duplicate attribute key '"+R+"'"),F[R]=!0,U.push(B)}return U},WU.parseImportAttribute=function(){var U=this.startNode();return U.key=this.type===C.string?this.parseExprAtom():this.parseIdent("never"!==this.options.allowReserved),this.expect(C.colon),this.type!==C.string&&this.unexpected(),U.value=this.parseExprAtom(),this.finishNode(U,"ImportAttribute")},WU.parseModuleExportName=function(){if(this.options.ecmaVersion>=13&&this.type===C.string){var U=this.parseLiteral(this.value);return Y.test(U.value)&&this.raise(U.start,"An export name cannot include a lone surrogate."),U}return this.parseIdent(!0)},WU.adaptDirectivePrologue=function(U){for(var F=0;F=5&&"ExpressionStatement"===U.type&&"Literal"===U.expression.type&&"string"===typeof U.expression.value&&('"'===this.input[U.start]||"'"===this.input[U.start])};var DU=lU.prototype;DU.toAssignable=function(U,F,Q){if(this.options.ecmaVersion>=6&&U)switch(U.type){case"Identifier":this.inAsync&&"await"===U.name&&this.raise(U.start,"Cannot use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":break;case"ObjectExpression":U.type="ObjectPattern",Q&&this.checkPatternErrors(Q,!0);for(var B=0,R=U.properties;B=8&&!l&&"async"===d.name&&!this.canInsertSemicolon()&&this.eat(C._function))return this.overrideContext(pU.f_expr),this.parseFunction(this.startNodeAt(V,n),0,!1,!0,F);if(R&&!this.canInsertSemicolon()){if(this.eat(C.arrow))return this.parseArrowExpression(this.startNodeAt(V,n),[d],!1,F);if(this.options.ecmaVersion>=8&&"async"===d.name&&this.type===C.name&&!l&&(!this.potentialArrowInForAwait||"of"!==this.value||this.containsEsc))return d=this.parseIdent(!1),!this.canInsertSemicolon()&&this.eat(C.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(V,n),[d],!0,F)}return d;case C.regexp:var J=this.value;return(B=this.parseLiteral(J.value)).regex={pattern:J.pattern,flags:J.flags},B;case C.num:case C.string:return this.parseLiteral(this.value);case C._null:case C._true:case C._false:return(B=this.startNode()).value=this.type===C._null?null:this.type===C._true,B.raw=this.type.keyword,this.next(),this.finishNode(B,"Literal");case C.parenL:var N=this.start,Z=this.parseParenAndDistinguishExpression(R,F);return U&&(U.parenthesizedAssign<0&&!this.isSimpleAssignTarget(Z)&&(U.parenthesizedAssign=N),U.parenthesizedBind<0&&(U.parenthesizedBind=N)),Z;case C.bracketL:return B=this.startNode(),this.next(),B.elements=this.parseExprList(C.bracketR,!0,!0,U),this.finishNode(B,"ArrayExpression");case C.braceL:return this.overrideContext(pU.b_expr),this.parseObj(!1,U);case C._function:return B=this.startNode(),this.next(),this.parseFunction(B,0);case C._class:return this.parseClass(this.startNode(),!1);case C._new:return this.parseNew();case C.backQuote:return this.parseTemplate();case C._import:return this.options.ecmaVersion>=11?this.parseExprImport(Q):this.unexpected();default:return this.parseExprAtomDefault()}},cU.parseExprAtomDefault=function(){this.unexpected()},cU.parseExprImport=function(U){var F=this.startNode();if(this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import"),this.next(),this.type===C.parenL&&!U)return this.parseDynamicImport(F);if(this.type===C.dot){var Q=this.startNodeAt(F.start,F.loc&&F.loc.start);return Q.name="import",F.meta=this.finishNode(Q,"Identifier"),this.parseImportMeta(F)}this.unexpected()},cU.parseDynamicImport=function(U){if(this.next(),U.source=this.parseMaybeAssign(),this.options.ecmaVersion>=16)this.eat(C.parenR)?U.options=null:(this.expect(C.comma),this.afterTrailingComma(C.parenR)?U.options=null:(U.options=this.parseMaybeAssign(),this.eat(C.parenR)||(this.expect(C.comma),this.afterTrailingComma(C.parenR)||this.unexpected())));else if(!this.eat(C.parenR)){var F=this.start;this.eat(C.comma)&&this.eat(C.parenR)?this.raiseRecoverable(F,"Trailing comma is not allowed in import()"):this.unexpected(F)}return this.finishNode(U,"ImportExpression")},cU.parseImportMeta=function(U){this.next();var F=this.containsEsc;return U.property=this.parseIdent(!0),"meta"!==U.property.name&&this.raiseRecoverable(U.property.start,"The only valid meta property for import is 'import.meta'"),F&&this.raiseRecoverable(U.start,"'import.meta' must not contain escaped characters"),"module"===this.options.sourceType||this.options.allowImportExportEverywhere||this.raiseRecoverable(U.start,"Cannot use 'import.meta' outside a module"),this.finishNode(U,"MetaProperty")},cU.parseLiteral=function(U){var F=this.startNode();return F.value=U,F.raw=this.input.slice(this.start,this.end),110===F.raw.charCodeAt(F.raw.length-1)&&(F.bigint=null!=F.value?F.value.toString():F.raw.slice(0,-1).replace(/_/g,"")),this.next(),this.finishNode(F,"Literal")},cU.parseParenExpression=function(){this.expect(C.parenL);var U=this.parseExpression();return this.expect(C.parenR),U},cU.shouldParseArrow=function(U){return!this.canInsertSemicolon()},cU.parseParenAndDistinguishExpression=function(U,F){var Q,B=this.start,R=this.startLoc,V=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var n,l=this.start,d=this.startLoc,J=[],N=!0,Z=!1,W=new ZU,S=this.yieldPos,E=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==C.parenR;){if(N?N=!1:this.expect(C.comma),V&&this.afterTrailingComma(C.parenR,!0)){Z=!0;break}if(this.type===C.ellipsis){n=this.start,J.push(this.parseParenItem(this.parseRestBinding())),this.type===C.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element");break}J.push(this.parseMaybeAssign(!1,W,this.parseParenItem))}var k=this.lastTokEnd,t=this.lastTokEndLoc;if(this.expect(C.parenR),U&&this.shouldParseArrow(J)&&this.eat(C.arrow))return this.checkPatternErrors(W,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=S,this.awaitPos=E,this.parseParenArrowList(B,R,J,F);J.length&&!Z||this.unexpected(this.lastTokStart),n&&this.unexpected(n),this.checkExpressionErrors(W,!0),this.yieldPos=S||this.yieldPos,this.awaitPos=E||this.awaitPos,J.length>1?((Q=this.startNodeAt(l,d)).expressions=J,this.finishNodeAt(Q,"SequenceExpression",k,t)):Q=J[0]}else Q=this.parseParenExpression();if(this.options.preserveParens){var a=this.startNodeAt(B,R);return a.expression=Q,this.finishNode(a,"ParenthesizedExpression")}return Q},cU.parseParenItem=function(U){return U},cU.parseParenArrowList=function(U,F,Q,B){return this.parseArrowExpression(this.startNodeAt(U,F),Q,!1,B)};var MU=[];cU.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var U=this.startNode();if(this.next(),this.options.ecmaVersion>=6&&this.type===C.dot){var F=this.startNodeAt(U.start,U.loc&&U.loc.start);F.name="new",U.meta=this.finishNode(F,"Identifier"),this.next();var Q=this.containsEsc;return U.property=this.parseIdent(!0),"target"!==U.property.name&&this.raiseRecoverable(U.property.start,"The only valid meta property for new is 'new.target'"),Q&&this.raiseRecoverable(U.start,"'new.target' must not contain escaped characters"),this.allowNewDotTarget||this.raiseRecoverable(U.start,"'new.target' can only be used in functions and class static block"),this.finishNode(U,"MetaProperty")}var B=this.start,R=this.startLoc;return U.callee=this.parseSubscripts(this.parseExprAtom(null,!1,!0),B,R,!0,!1),this.eat(C.parenL)?U.arguments=this.parseExprList(C.parenR,this.options.ecmaVersion>=8,!1):U.arguments=MU,this.finishNode(U,"NewExpression")},cU.parseTemplateElement=function(U){var F=U.isTagged,Q=this.startNode();return this.type===C.invalidTemplate?(F||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),Q.value={raw:this.value.replace(/\r\n?/g,"\n"),cooked:null}):Q.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value},this.next(),Q.tail=this.type===C.backQuote,this.finishNode(Q,"TemplateElement")},cU.parseTemplate=function(U){void 0===U&&(U={});var F=U.isTagged;void 0===F&&(F=!1);var Q=this.startNode();this.next(),Q.expressions=[];var B=this.parseTemplateElement({isTagged:F});for(Q.quasis=[B];!B.tail;)this.type===C.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(C.dollarBraceL),Q.expressions.push(this.parseExpression()),this.expect(C.braceR),Q.quasis.push(B=this.parseTemplateElement({isTagged:F}));return this.next(),this.finishNode(Q,"TemplateLiteral")},cU.isAsyncProp=function(U){return!U.computed&&"Identifier"===U.key.type&&"async"===U.key.name&&(this.type===C.name||this.type===C.num||this.type===C.string||this.type===C.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===C.star)&&!D.test(this.input.slice(this.lastTokEnd,this.start))},cU.parseObj=function(U,F){var Q=this.startNode(),B=!0,R={};for(Q.properties=[],this.next();!this.eat(C.braceR);){if(B)B=!1;else if(this.expect(C.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(C.braceR))break;var V=this.parseProperty(U,F);U||this.checkPropClash(V,R,F),Q.properties.push(V)}return this.finishNode(Q,U?"ObjectPattern":"ObjectExpression")},cU.parseProperty=function(U,F){var Q,B,R,V,n=this.startNode();if(this.options.ecmaVersion>=9&&this.eat(C.ellipsis))return U?(n.argument=this.parseIdent(!1),this.type===C.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element"),this.finishNode(n,"RestElement")):(n.argument=this.parseMaybeAssign(!1,F),this.type===C.comma&&F&&F.trailingComma<0&&(F.trailingComma=this.start),this.finishNode(n,"SpreadElement"));this.options.ecmaVersion>=6&&(n.method=!1,n.shorthand=!1,(U||F)&&(R=this.start,V=this.startLoc),U||(Q=this.eat(C.star)));var l=this.containsEsc;return this.parsePropertyName(n),!U&&!l&&this.options.ecmaVersion>=8&&!Q&&this.isAsyncProp(n)?(B=!0,Q=this.options.ecmaVersion>=9&&this.eat(C.star),this.parsePropertyName(n)):B=!1,this.parsePropertyValue(n,U,Q,B,R,V,F,l),this.finishNode(n,"Property")},cU.parseGetterSetter=function(U){var F=U.key.name;this.parsePropertyName(U),U.value=this.parseMethod(!1),U.kind=F;var Q="get"===U.kind?0:1;if(U.value.params.length!==Q){var B=U.value.start;"get"===U.kind?this.raiseRecoverable(B,"getter should have no params"):this.raiseRecoverable(B,"setter should have exactly one param")}else"set"===U.kind&&"RestElement"===U.value.params[0].type&&this.raiseRecoverable(U.value.params[0].start,"Setter cannot use rest params")},cU.parsePropertyValue=function(U,F,Q,B,R,V,n,l){(Q||B)&&this.type===C.colon&&this.unexpected(),this.eat(C.colon)?(U.value=F?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,n),U.kind="init"):this.options.ecmaVersion>=6&&this.type===C.parenL?(F&&this.unexpected(),U.method=!0,U.value=this.parseMethod(Q,B),U.kind="init"):F||l||!(this.options.ecmaVersion>=5)||U.computed||"Identifier"!==U.key.type||"get"!==U.key.name&&"set"!==U.key.name||this.type===C.comma||this.type===C.braceR||this.type===C.eq?this.options.ecmaVersion>=6&&!U.computed&&"Identifier"===U.key.type?((Q||B)&&this.unexpected(),this.checkUnreserved(U.key),"await"!==U.key.name||this.awaitIdentPos||(this.awaitIdentPos=R),F?U.value=this.parseMaybeDefault(R,V,this.copyNode(U.key)):this.type===C.eq&&n?(n.shorthandAssign<0&&(n.shorthandAssign=this.start),U.value=this.parseMaybeDefault(R,V,this.copyNode(U.key))):U.value=this.copyNode(U.key),U.kind="init",U.shorthand=!0):this.unexpected():((Q||B)&&this.unexpected(),this.parseGetterSetter(U))},cU.parsePropertyName=function(U){if(this.options.ecmaVersion>=6){if(this.eat(C.bracketL))return U.computed=!0,U.key=this.parseMaybeAssign(),this.expect(C.bracketR),U.key;U.computed=!1}return U.key=this.type===C.num||this.type===C.string?this.parseExprAtom():this.parseIdent("never"!==this.options.allowReserved)},cU.initFunction=function(U){U.id=null,this.options.ecmaVersion>=6&&(U.generator=U.expression=!1),this.options.ecmaVersion>=8&&(U.async=!1)},cU.parseMethod=function(U,F,Q){var B=this.startNode(),R=this.yieldPos,V=this.awaitPos,n=this.awaitIdentPos;return this.initFunction(B),this.options.ecmaVersion>=6&&(B.generator=U),this.options.ecmaVersion>=8&&(B.async=!!F),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(UU(F,B.generator)|P|(Q?A:0)),this.expect(C.parenL),B.params=this.parseBindingList(C.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(B,!1,!0,!1),this.yieldPos=R,this.awaitPos=V,this.awaitIdentPos=n,this.finishNode(B,"FunctionExpression")},cU.parseArrowExpression=function(U,F,Q,B){var R=this.yieldPos,V=this.awaitPos,n=this.awaitIdentPos;return this.enterScope(UU(Q,!1)|f),this.initFunction(U),this.options.ecmaVersion>=8&&(U.async=!!Q),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,U.params=this.toAssignableList(F,!0),this.parseFunctionBody(U,!0,!1,B),this.yieldPos=R,this.awaitPos=V,this.awaitIdentPos=n,this.finishNode(U,"ArrowFunctionExpression")},cU.parseFunctionBody=function(U,F,Q,B){var R=F&&this.type!==C.braceL,V=this.strict,n=!1;if(R)U.body=this.parseMaybeAssign(B),U.expression=!0,this.checkParams(U,!1);else{var l=this.options.ecmaVersion>=7&&!this.isSimpleParamList(U.params);V&&!l||(n=this.strictDirective(this.end))&&l&&this.raiseRecoverable(U.start,"Illegal 'use strict' directive in function with non-simple parameter list");var d=this.labels;this.labels=[],n&&(this.strict=!0),this.checkParams(U,!V&&!n&&!F&&!Q&&this.isSimpleParamList(U.params)),this.strict&&U.id&&this.checkLValSimple(U.id,nU),U.body=this.parseBlock(!1,void 0,n&&!V),U.expression=!1,this.adaptDirectivePrologue(U.body.body),this.labels=d}this.exitScope()},cU.isSimpleParamList=function(U){for(var F=0,Q=U;F-1||R.functions.indexOf(U)>-1||R.var.indexOf(U)>-1,R.lexical.push(U),this.inModule&&R.flags&w&&delete this.undefinedExports[U]}else if(F===VU)this.currentScope().lexical.push(U);else if(F===RU){var V=this.currentScope();B=this.treatFunctionsAsVar?V.lexical.indexOf(U)>-1:V.lexical.indexOf(U)>-1||V.var.indexOf(U)>-1,V.functions.push(U)}else for(var n=this.scopeStack.length-1;n>=0;--n){var l=this.scopeStack[n];if(l.lexical.indexOf(U)>-1&&!(l.flags&g&&l.lexical[0]===U)||!this.treatFunctionsAsVarInScope(l)&&l.functions.indexOf(U)>-1){B=!0;break}if(l.var.push(U),this.inModule&&l.flags&w&&delete this.undefinedExports[U],l.flags&$)break}B&&this.raiseRecoverable(Q,"Identifier '"+U+"' has already been declared")},bU.checkLocalExport=function(U){-1===this.scopeStack[0].lexical.indexOf(U.name)&&-1===this.scopeStack[0].var.indexOf(U.name)&&(this.undefinedExports[U.name]=U)},bU.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},bU.currentVarScope=function(){for(var U=this.scopeStack.length-1;;U--){var F=this.scopeStack[U];if(F.flags&($|_|q))return F}},bU.currentThisScope=function(){for(var U=this.scopeStack.length-1;;U--){var F=this.scopeStack[U];if(F.flags&($|_|q)&&!(F.flags&f))return F}};var GU=function(U,F,Q){this.type="",this.start=F,this.end=0,U.options.locations&&(this.loc=new z(U,Q)),U.options.directSourceFile&&(this.sourceFile=U.options.directSourceFile),U.options.ranges&&(this.range=[F,0])},sU=lU.prototype;function XU(U,F,Q,B){return U.type=F,U.end=Q,this.options.locations&&(U.loc.end=B),this.options.ranges&&(U.range[1]=Q),U}sU.startNode=function(){return new GU(this,this.start,this.startLoc)},sU.startNodeAt=function(U,F){return new GU(this,U,F)},sU.finishNode=function(U,F){return XU.call(this,U,F,this.lastTokEnd,this.lastTokEndLoc)},sU.finishNodeAt=function(U,F,Q,B){return XU.call(this,U,F,Q,B)},sU.copyNode=function(U){var F=new GU(this,U.start,this.startLoc);for(var Q in U)F[Q]=U[Q];return F};var YU="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS",yU=YU+" Extended_Pictographic",zU=yU+" EBase EComp EMod EPres ExtPict",OU={9:YU,10:yU,11:yU,12:zU,13:zU,14:zU},LU={9:"",10:"",11:"",12:"",13:"",14:"Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Flag_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence RGI_Emoji"},HU="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu",xU="Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb",uU=xU+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",wU=uU+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho",jU=wU+" Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi",IU=jU+" Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith",KU={9:xU,10:uU,11:wU,12:jU,13:IU,14:IU+" Gara Garay Gukh Gurung_Khema Hrkt Katakana_Or_Hiragana Kawi Kirat_Rai Krai Nag_Mundari Nagm Ol_Onal Onao Sunu Sunuwar Todhri Todr Tulu_Tigalari Tutg Unknown Zzzz"},fU={};function gU(U){var F=fU[U]={binary:s(OU[U]+" "+HU),binaryOfStrings:s(LU[U]),nonBinary:{General_Category:s(HU),Script:s(KU[U])}};F.nonBinary.Script_Extensions=F.nonBinary.Script,F.nonBinary.gc=F.nonBinary.General_Category,F.nonBinary.sc=F.nonBinary.Script,F.nonBinary.scx=F.nonBinary.Script_Extensions}for(var PU=0,AU=[9,10,11,12,13,14];PU=6?"uy":"")+(U.options.ecmaVersion>=9?"s":"")+(U.options.ecmaVersion>=13?"d":"")+(U.options.ecmaVersion>=15?"v":""),this.unicodeProperties=fU[U.options.ecmaVersion>=14?14:U.options.ecmaVersion],this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchV=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=Object.create(null),this.backReferenceNames=[],this.branchID=null};function UF(U){for(var F in U)return!0;return!1}function FF(U){return 105===U||109===U||115===U}function QF(U){return 36===U||U>=40&&U<=43||46===U||63===U||U>=91&&U<=94||U>=123&&U<=125}function BF(U){return W(U,!0)||36===U||95===U}function RF(U){return S(U,!0)||36===U||95===U||8204===U||8205===U}function VF(U){return U>=65&&U<=90||U>=97&&U<=122}function nF(U){return U>=0&&U<=1114111}$U.prototype.reset=function(U,F,Q){var B=-1!==Q.indexOf("v"),R=-1!==Q.indexOf("u");this.start=0|U,this.source=F+"",this.flags=Q,B&&this.parser.options.ecmaVersion>=15?(this.switchU=!0,this.switchV=!0,this.switchN=!0):(this.switchU=R&&this.parser.options.ecmaVersion>=6,this.switchV=!1,this.switchN=R&&this.parser.options.ecmaVersion>=9)},$U.prototype.raise=function(U){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+U)},$U.prototype.at=function(U,F){void 0===F&&(F=!1);var Q=this.source,B=Q.length;if(U>=B)return-1;var R=Q.charCodeAt(U);if(!F&&!this.switchU||R<=55295||R>=57344||U+1>=B)return R;var V=Q.charCodeAt(U+1);return V>=56320&&V<=57343?(R<<10)+V-56613888:R},$U.prototype.nextIndex=function(U,F){void 0===F&&(F=!1);var Q=this.source,B=Q.length;if(U>=B)return B;var R,V=Q.charCodeAt(U);return!F&&!this.switchU||V<=55295||V>=57344||U+1>=B||(R=Q.charCodeAt(U+1))<56320||R>57343?U+1:U+2},$U.prototype.current=function(U){return void 0===U&&(U=!1),this.at(this.pos,U)},$U.prototype.lookahead=function(U){return void 0===U&&(U=!1),this.at(this.nextIndex(this.pos,U),U)},$U.prototype.advance=function(U){void 0===U&&(U=!1),this.pos=this.nextIndex(this.pos,U)},$U.prototype.eat=function(U,F){return void 0===F&&(F=!1),this.current(F)===U&&(this.advance(F),!0)},$U.prototype.eatChars=function(U,F){void 0===F&&(F=!1);for(var Q=this.pos,B=0,R=U;B-1&&this.raise(U.start,"Duplicate regular expression flag"),"u"===n&&(B=!0),"v"===n&&(R=!0)}this.options.ecmaVersion>=15&&B&&R&&this.raise(U.start,"Invalid regular expression flag")},qU.validateRegExpPattern=function(U){this.regexp_pattern(U),!U.switchN&&this.options.ecmaVersion>=9&&UF(U.groupNames)&&(U.switchN=!0,this.regexp_pattern(U))},qU.regexp_pattern=function(U){U.pos=0,U.lastIntValue=0,U.lastStringValue="",U.lastAssertionIsQuantifiable=!1,U.numCapturingParens=0,U.maxBackReference=0,U.groupNames=Object.create(null),U.backReferenceNames.length=0,U.branchID=null,this.regexp_disjunction(U),U.pos!==U.source.length&&(U.eat(41)&&U.raise("Unmatched ')'"),(U.eat(93)||U.eat(125))&&U.raise("Lone quantifier brackets")),U.maxBackReference>U.numCapturingParens&&U.raise("Invalid escape");for(var F=0,Q=U.backReferenceNames;F=16;for(F&&(U.branchID=new _U(U.branchID,null)),this.regexp_alternative(U);U.eat(124);)F&&(U.branchID=U.branchID.sibling()),this.regexp_alternative(U);F&&(U.branchID=U.branchID.parent),this.regexp_eatQuantifier(U,!0)&&U.raise("Nothing to repeat"),U.eat(123)&&U.raise("Lone quantifier brackets")},qU.regexp_alternative=function(U){for(;U.pos=9&&(Q=U.eat(60)),U.eat(61)||U.eat(33))return this.regexp_disjunction(U),U.eat(41)||U.raise("Unterminated group"),U.lastAssertionIsQuantifiable=!Q,!0}return U.pos=F,!1},qU.regexp_eatQuantifier=function(U,F){return void 0===F&&(F=!1),!!this.regexp_eatQuantifierPrefix(U,F)&&(U.eat(63),!0)},qU.regexp_eatQuantifierPrefix=function(U,F){return U.eat(42)||U.eat(43)||U.eat(63)||this.regexp_eatBracedQuantifier(U,F)},qU.regexp_eatBracedQuantifier=function(U,F){var Q=U.pos;if(U.eat(123)){var B=0,R=-1;if(this.regexp_eatDecimalDigits(U)&&(B=U.lastIntValue,U.eat(44)&&this.regexp_eatDecimalDigits(U)&&(R=U.lastIntValue),U.eat(125)))return-1!==R&&R=16){var Q=this.regexp_eatModifiers(U),B=U.eat(45);if(Q||B){for(var R=0;R-1&&U.raise("Duplicate regular expression modifiers")}if(B){var n=this.regexp_eatModifiers(U);Q||n||58!==U.current()||U.raise("Invalid regular expression modifiers");for(var l=0;l-1||Q.indexOf(d)>-1)&&U.raise("Duplicate regular expression modifiers")}}}}if(U.eat(58)){if(this.regexp_disjunction(U),U.eat(41))return!0;U.raise("Unterminated group")}}U.pos=F}return!1},qU.regexp_eatCapturingGroup=function(U){if(U.eat(40)){if(this.options.ecmaVersion>=9?this.regexp_groupSpecifier(U):63===U.current()&&U.raise("Invalid group"),this.regexp_disjunction(U),U.eat(41))return U.numCapturingParens+=1,!0;U.raise("Unterminated group")}return!1},qU.regexp_eatModifiers=function(U){for(var F="",Q=0;-1!==(Q=U.current())&&FF(Q);)F+=X(Q),U.advance();return F},qU.regexp_eatExtendedAtom=function(U){return U.eat(46)||this.regexp_eatReverseSolidusAtomEscape(U)||this.regexp_eatCharacterClass(U)||this.regexp_eatUncapturingGroup(U)||this.regexp_eatCapturingGroup(U)||this.regexp_eatInvalidBracedQuantifier(U)||this.regexp_eatExtendedPatternCharacter(U)},qU.regexp_eatInvalidBracedQuantifier=function(U){return this.regexp_eatBracedQuantifier(U,!0)&&U.raise("Nothing to repeat"),!1},qU.regexp_eatSyntaxCharacter=function(U){var F=U.current();return!!QF(F)&&(U.lastIntValue=F,U.advance(),!0)},qU.regexp_eatPatternCharacters=function(U){for(var F=U.pos,Q=0;-1!==(Q=U.current())&&!QF(Q);)U.advance();return U.pos!==F},qU.regexp_eatExtendedPatternCharacter=function(U){var F=U.current();return!(-1===F||36===F||F>=40&&F<=43||46===F||63===F||91===F||94===F||124===F)&&(U.advance(),!0)},qU.regexp_groupSpecifier=function(U){if(U.eat(63)){this.regexp_eatGroupName(U)||U.raise("Invalid group");var F=this.options.ecmaVersion>=16,Q=U.groupNames[U.lastStringValue];if(Q)if(F)for(var B=0,R=Q;B=11,B=U.current(Q);return U.advance(Q),92===B&&this.regexp_eatRegExpUnicodeEscapeSequence(U,Q)&&(B=U.lastIntValue),BF(B)?(U.lastIntValue=B,!0):(U.pos=F,!1)},qU.regexp_eatRegExpIdentifierPart=function(U){var F=U.pos,Q=this.options.ecmaVersion>=11,B=U.current(Q);return U.advance(Q),92===B&&this.regexp_eatRegExpUnicodeEscapeSequence(U,Q)&&(B=U.lastIntValue),RF(B)?(U.lastIntValue=B,!0):(U.pos=F,!1)},qU.regexp_eatAtomEscape=function(U){return!!(this.regexp_eatBackReference(U)||this.regexp_eatCharacterClassEscape(U)||this.regexp_eatCharacterEscape(U)||U.switchN&&this.regexp_eatKGroupName(U))||(U.switchU&&(99===U.current()&&U.raise("Invalid unicode escape"),U.raise("Invalid escape")),!1)},qU.regexp_eatBackReference=function(U){var F=U.pos;if(this.regexp_eatDecimalEscape(U)){var Q=U.lastIntValue;if(U.switchU)return Q>U.maxBackReference&&(U.maxBackReference=Q),!0;if(Q<=U.numCapturingParens)return!0;U.pos=F}return!1},qU.regexp_eatKGroupName=function(U){if(U.eat(107)){if(this.regexp_eatGroupName(U))return U.backReferenceNames.push(U.lastStringValue),!0;U.raise("Invalid named reference")}return!1},qU.regexp_eatCharacterEscape=function(U){return this.regexp_eatControlEscape(U)||this.regexp_eatCControlLetter(U)||this.regexp_eatZero(U)||this.regexp_eatHexEscapeSequence(U)||this.regexp_eatRegExpUnicodeEscapeSequence(U,!1)||!U.switchU&&this.regexp_eatLegacyOctalEscapeSequence(U)||this.regexp_eatIdentityEscape(U)},qU.regexp_eatCControlLetter=function(U){var F=U.pos;if(U.eat(99)){if(this.regexp_eatControlLetter(U))return!0;U.pos=F}return!1},qU.regexp_eatZero=function(U){return 48===U.current()&&!tF(U.lookahead())&&(U.lastIntValue=0,U.advance(),!0)},qU.regexp_eatControlEscape=function(U){var F=U.current();return 116===F?(U.lastIntValue=9,U.advance(),!0):110===F?(U.lastIntValue=10,U.advance(),!0):118===F?(U.lastIntValue=11,U.advance(),!0):102===F?(U.lastIntValue=12,U.advance(),!0):114===F&&(U.lastIntValue=13,U.advance(),!0)},qU.regexp_eatControlLetter=function(U){var F=U.current();return!!VF(F)&&(U.lastIntValue=F%32,U.advance(),!0)},qU.regexp_eatRegExpUnicodeEscapeSequence=function(U,F){void 0===F&&(F=!1);var Q=U.pos,B=F||U.switchU;if(U.eat(117)){if(this.regexp_eatFixedHexDigits(U,4)){var R=U.lastIntValue;if(B&&R>=55296&&R<=56319){var V=U.pos;if(U.eat(92)&&U.eat(117)&&this.regexp_eatFixedHexDigits(U,4)){var n=U.lastIntValue;if(n>=56320&&n<=57343)return U.lastIntValue=1024*(R-55296)+(n-56320)+65536,!0}U.pos=V,U.lastIntValue=R}return!0}if(B&&U.eat(123)&&this.regexp_eatHexDigits(U)&&U.eat(125)&&nF(U.lastIntValue))return!0;B&&U.raise("Invalid unicode escape"),U.pos=Q}return!1},qU.regexp_eatIdentityEscape=function(U){if(U.switchU)return!!this.regexp_eatSyntaxCharacter(U)||!!U.eat(47)&&(U.lastIntValue=47,!0);var F=U.current();return!(99===F||U.switchN&&107===F)&&(U.lastIntValue=F,U.advance(),!0)},qU.regexp_eatDecimalEscape=function(U){U.lastIntValue=0;var F=U.current();if(F>=49&&F<=57){do{U.lastIntValue=10*U.lastIntValue+(F-48),U.advance()}while((F=U.current())>=48&&F<=57);return!0}return!1};var lF=0,dF=1,JF=2;function NF(U){return 100===U||68===U||115===U||83===U||119===U||87===U}function ZF(U){return VF(U)||95===U}function WF(U){return ZF(U)||tF(U)}function SF(U){return 33===U||U>=35&&U<=38||U>=42&&U<=44||46===U||U>=58&&U<=64||94===U||96===U||126===U}function EF(U){return 40===U||41===U||45===U||47===U||U>=91&&U<=93||U>=123&&U<=125}function kF(U){return 33===U||35===U||37===U||38===U||44===U||45===U||U>=58&&U<=62||64===U||96===U||126===U}function tF(U){return U>=48&&U<=57}function aF(U){return U>=48&&U<=57||U>=65&&U<=70||U>=97&&U<=102}function TF(U){return U>=65&&U<=70?U-65+10:U>=97&&U<=102?U-97+10:U-48}function eF(U){return U>=48&&U<=55}qU.regexp_eatCharacterClassEscape=function(U){var F=U.current();if(NF(F))return U.lastIntValue=-1,U.advance(),dF;var Q=!1;if(U.switchU&&this.options.ecmaVersion>=9&&((Q=80===F)||112===F)){var B;if(U.lastIntValue=-1,U.advance(),U.eat(123)&&(B=this.regexp_eatUnicodePropertyValueExpression(U))&&U.eat(125))return Q&&B===JF&&U.raise("Invalid property name"),B;U.raise("Invalid property name")}return lF},qU.regexp_eatUnicodePropertyValueExpression=function(U){var F=U.pos;if(this.regexp_eatUnicodePropertyName(U)&&U.eat(61)){var Q=U.lastStringValue;if(this.regexp_eatUnicodePropertyValue(U)){var B=U.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(U,Q,B),dF}}if(U.pos=F,this.regexp_eatLoneUnicodePropertyNameOrValue(U)){var R=U.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(U,R)}return lF},qU.regexp_validateUnicodePropertyNameAndValue=function(U,F,Q){b(U.unicodeProperties.nonBinary,F)||U.raise("Invalid property name"),U.unicodeProperties.nonBinary[F].test(Q)||U.raise("Invalid property value")},qU.regexp_validateUnicodePropertyNameOrValue=function(U,F){return U.unicodeProperties.binary.test(F)?dF:U.switchV&&U.unicodeProperties.binaryOfStrings.test(F)?JF:void U.raise("Invalid property name")},qU.regexp_eatUnicodePropertyName=function(U){var F=0;for(U.lastStringValue="";ZF(F=U.current());)U.lastStringValue+=X(F),U.advance();return""!==U.lastStringValue},qU.regexp_eatUnicodePropertyValue=function(U){var F=0;for(U.lastStringValue="";WF(F=U.current());)U.lastStringValue+=X(F),U.advance();return""!==U.lastStringValue},qU.regexp_eatLoneUnicodePropertyNameOrValue=function(U){return this.regexp_eatUnicodePropertyValue(U)},qU.regexp_eatCharacterClass=function(U){if(U.eat(91)){var F=U.eat(94),Q=this.regexp_classContents(U);return U.eat(93)||U.raise("Unterminated character class"),F&&Q===JF&&U.raise("Negated character class may contain strings"),!0}return!1},qU.regexp_classContents=function(U){return 93===U.current()?dF:U.switchV?this.regexp_classSetExpression(U):(this.regexp_nonEmptyClassRanges(U),dF)},qU.regexp_nonEmptyClassRanges=function(U){for(;this.regexp_eatClassAtom(U);){var F=U.lastIntValue;if(U.eat(45)&&this.regexp_eatClassAtom(U)){var Q=U.lastIntValue;!U.switchU||-1!==F&&-1!==Q||U.raise("Invalid character class"),-1!==F&&-1!==Q&&F>Q&&U.raise("Range out of order in character class")}}},qU.regexp_eatClassAtom=function(U){var F=U.pos;if(U.eat(92)){if(this.regexp_eatClassEscape(U))return!0;if(U.switchU){var Q=U.current();(99===Q||eF(Q))&&U.raise("Invalid class escape"),U.raise("Invalid escape")}U.pos=F}var B=U.current();return 93!==B&&(U.lastIntValue=B,U.advance(),!0)},qU.regexp_eatClassEscape=function(U){var F=U.pos;if(U.eat(98))return U.lastIntValue=8,!0;if(U.switchU&&U.eat(45))return U.lastIntValue=45,!0;if(!U.switchU&&U.eat(99)){if(this.regexp_eatClassControlLetter(U))return!0;U.pos=F}return this.regexp_eatCharacterClassEscape(U)||this.regexp_eatCharacterEscape(U)},qU.regexp_classSetExpression=function(U){var F,Q=dF;if(this.regexp_eatClassSetRange(U));else if(F=this.regexp_eatClassSetOperand(U)){F===JF&&(Q=JF);for(var B=U.pos;U.eatChars([38,38]);)38!==U.current()&&(F=this.regexp_eatClassSetOperand(U))?F!==JF&&(Q=dF):U.raise("Invalid character in character class");if(B!==U.pos)return Q;for(;U.eatChars([45,45]);)this.regexp_eatClassSetOperand(U)||U.raise("Invalid character in character class");if(B!==U.pos)return Q}else U.raise("Invalid character in character class");for(;;)if(!this.regexp_eatClassSetRange(U)){if(!(F=this.regexp_eatClassSetOperand(U)))return Q;F===JF&&(Q=JF)}},qU.regexp_eatClassSetRange=function(U){var F=U.pos;if(this.regexp_eatClassSetCharacter(U)){var Q=U.lastIntValue;if(U.eat(45)&&this.regexp_eatClassSetCharacter(U)){var B=U.lastIntValue;return-1!==Q&&-1!==B&&Q>B&&U.raise("Range out of order in character class"),!0}U.pos=F}return!1},qU.regexp_eatClassSetOperand=function(U){return this.regexp_eatClassSetCharacter(U)?dF:this.regexp_eatClassStringDisjunction(U)||this.regexp_eatNestedClass(U)},qU.regexp_eatNestedClass=function(U){var F=U.pos;if(U.eat(91)){var Q=U.eat(94),B=this.regexp_classContents(U);if(U.eat(93))return Q&&B===JF&&U.raise("Negated character class may contain strings"),B;U.pos=F}if(U.eat(92)){var R=this.regexp_eatCharacterClassEscape(U);if(R)return R;U.pos=F}return null},qU.regexp_eatClassStringDisjunction=function(U){var F=U.pos;if(U.eatChars([92,113])){if(U.eat(123)){var Q=this.regexp_classStringDisjunctionContents(U);if(U.eat(125))return Q}else U.raise("Invalid escape");U.pos=F}return null},qU.regexp_classStringDisjunctionContents=function(U){for(var F=this.regexp_classString(U);U.eat(124);)this.regexp_classString(U)===JF&&(F=JF);return F},qU.regexp_classString=function(U){for(var F=0;this.regexp_eatClassSetCharacter(U);)F++;return 1===F?dF:JF},qU.regexp_eatClassSetCharacter=function(U){var F=U.pos;if(U.eat(92))return!(!this.regexp_eatCharacterEscape(U)&&!this.regexp_eatClassSetReservedPunctuator(U))||(U.eat(98)?(U.lastIntValue=8,!0):(U.pos=F,!1));var Q=U.current();return!(Q<0||Q===U.lookahead()&&SF(Q))&&!EF(Q)&&(U.advance(),U.lastIntValue=Q,!0)},qU.regexp_eatClassSetReservedPunctuator=function(U){var F=U.current();return!!kF(F)&&(U.lastIntValue=F,U.advance(),!0)},qU.regexp_eatClassControlLetter=function(U){var F=U.current();return!(!tF(F)&&95!==F)&&(U.lastIntValue=F%32,U.advance(),!0)},qU.regexp_eatHexEscapeSequence=function(U){var F=U.pos;if(U.eat(120)){if(this.regexp_eatFixedHexDigits(U,2))return!0;U.switchU&&U.raise("Invalid escape"),U.pos=F}return!1},qU.regexp_eatDecimalDigits=function(U){var F=U.pos,Q=0;for(U.lastIntValue=0;tF(Q=U.current());)U.lastIntValue=10*U.lastIntValue+(Q-48),U.advance();return U.pos!==F},qU.regexp_eatHexDigits=function(U){var F=U.pos,Q=0;for(U.lastIntValue=0;aF(Q=U.current());)U.lastIntValue=16*U.lastIntValue+TF(Q),U.advance();return U.pos!==F},qU.regexp_eatLegacyOctalEscapeSequence=function(U){if(this.regexp_eatOctalDigit(U)){var F=U.lastIntValue;if(this.regexp_eatOctalDigit(U)){var Q=U.lastIntValue;F<=3&&this.regexp_eatOctalDigit(U)?U.lastIntValue=64*F+8*Q+U.lastIntValue:U.lastIntValue=8*F+Q}else U.lastIntValue=F;return!0}return!1},qU.regexp_eatOctalDigit=function(U){var F=U.current();return eF(F)?(U.lastIntValue=F-48,U.advance(),!0):(U.lastIntValue=0,!1)},qU.regexp_eatFixedHexDigits=function(U,F){var Q=U.pos;U.lastIntValue=0;for(var B=0;B=this.input.length?this.finishToken(C.eof):U.override?U.override(this):void this.readToken(this.fullCharCodeAtPos())},DF.readToken=function(U){return W(U,this.options.ecmaVersion>=6)||92===U?this.readWord():this.getTokenFromCode(U)},DF.fullCharCodeAtPos=function(){var U=this.input.charCodeAt(this.pos);if(U<=55295||U>=56320)return U;var F=this.input.charCodeAt(this.pos+1);return F<=56319||F>=57344?U:(U<<10)+F-56613888},DF.skipBlockComment=function(){var U=this.options.onComment&&this.curPosition(),F=this.pos,Q=this.input.indexOf("*/",this.pos+=2);if(-1===Q&&this.raise(this.pos-2,"Unterminated comment"),this.pos=Q+2,this.options.locations)for(var B=void 0,R=F;(B=h(this.input,R,this.pos))>-1;)++this.curLine,R=this.lineStart=B;this.options.onComment&&this.options.onComment(!0,this.input.slice(F+2,Q),F,this.pos,U,this.curPosition())},DF.skipLineComment=function(U){for(var F=this.pos,Q=this.options.onComment&&this.curPosition(),B=this.input.charCodeAt(this.pos+=U);this.pos8&&U<14||U>=5760&&c.test(String.fromCharCode(U))))break U;++this.pos}}},DF.finishToken=function(U,F){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var Q=this.type;this.type=U,this.value=F,this.updateContext(Q)},DF.readToken_dot=function(){var U=this.input.charCodeAt(this.pos+1);if(U>=48&&U<=57)return this.readNumber(!0);var F=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&46===U&&46===F?(this.pos+=3,this.finishToken(C.ellipsis)):(++this.pos,this.finishToken(C.dot))},DF.readToken_slash=function(){var U=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===U?this.finishOp(C.assign,2):this.finishOp(C.slash,1)},DF.readToken_mult_modulo_exp=function(U){var F=this.input.charCodeAt(this.pos+1),Q=1,B=42===U?C.star:C.modulo;return this.options.ecmaVersion>=7&&42===U&&42===F&&(++Q,B=C.starstar,F=this.input.charCodeAt(this.pos+2)),61===F?this.finishOp(C.assign,Q+1):this.finishOp(B,Q)},DF.readToken_pipe_amp=function(U){var F=this.input.charCodeAt(this.pos+1);return F===U?this.options.ecmaVersion>=12&&61===this.input.charCodeAt(this.pos+2)?this.finishOp(C.assign,3):this.finishOp(124===U?C.logicalOR:C.logicalAND,2):61===F?this.finishOp(C.assign,2):this.finishOp(124===U?C.bitwiseOR:C.bitwiseAND,1)},DF.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(C.assign,2):this.finishOp(C.bitwiseXOR,1)},DF.readToken_plus_min=function(U){var F=this.input.charCodeAt(this.pos+1);return F===U?45!==F||this.inModule||62!==this.input.charCodeAt(this.pos+2)||0!==this.lastTokEnd&&!D.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(C.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):61===F?this.finishOp(C.assign,2):this.finishOp(C.plusMin,1)},DF.readToken_lt_gt=function(U){var F=this.input.charCodeAt(this.pos+1),Q=1;return F===U?(Q=62===U&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+Q)?this.finishOp(C.assign,Q+1):this.finishOp(C.bitShift,Q)):33!==F||60!==U||this.inModule||45!==this.input.charCodeAt(this.pos+2)||45!==this.input.charCodeAt(this.pos+3)?(61===F&&(Q=2),this.finishOp(C.relational,Q)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},DF.readToken_eq_excl=function(U){var F=this.input.charCodeAt(this.pos+1);return 61===F?this.finishOp(C.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===U&&62===F&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(C.arrow)):this.finishOp(61===U?C.eq:C.prefix,1)},DF.readToken_question=function(){var U=this.options.ecmaVersion;if(U>=11){var F=this.input.charCodeAt(this.pos+1);if(46===F){var Q=this.input.charCodeAt(this.pos+2);if(Q<48||Q>57)return this.finishOp(C.questionDot,2)}if(63===F)return U>=12&&61===this.input.charCodeAt(this.pos+2)?this.finishOp(C.assign,3):this.finishOp(C.coalesce,2)}return this.finishOp(C.question,1)},DF.readToken_numberSign=function(){var U=35;if(this.options.ecmaVersion>=13&&(++this.pos,W(U=this.fullCharCodeAtPos(),!0)||92===U))return this.finishToken(C.privateId,this.readWord1());this.raise(this.pos,"Unexpected character '"+X(U)+"'")},DF.getTokenFromCode=function(U){switch(U){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(C.parenL);case 41:return++this.pos,this.finishToken(C.parenR);case 59:return++this.pos,this.finishToken(C.semi);case 44:return++this.pos,this.finishToken(C.comma);case 91:return++this.pos,this.finishToken(C.bracketL);case 93:return++this.pos,this.finishToken(C.bracketR);case 123:return++this.pos,this.finishToken(C.braceL);case 125:return++this.pos,this.finishToken(C.braceR);case 58:return++this.pos,this.finishToken(C.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(C.backQuote);case 48:var F=this.input.charCodeAt(this.pos+1);if(120===F||88===F)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(111===F||79===F)return this.readRadixNumber(8);if(98===F||66===F)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(U);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(U);case 124:case 38:return this.readToken_pipe_amp(U);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(U);case 60:case 62:return this.readToken_lt_gt(U);case 61:case 33:return this.readToken_eq_excl(U);case 63:return this.readToken_question();case 126:return this.finishOp(C.prefix,1);case 35:return this.readToken_numberSign()}this.raise(this.pos,"Unexpected character '"+X(U)+"'")},DF.finishOp=function(U,F){var Q=this.input.slice(this.pos,this.pos+F);return this.pos+=F,this.finishToken(U,Q)},DF.readRegexp=function(){for(var U,F,Q=this.pos;;){this.pos>=this.input.length&&this.raise(Q,"Unterminated regular expression");var B=this.input.charAt(this.pos);if(D.test(B)&&this.raise(Q,"Unterminated regular expression"),U)U=!1;else{if("["===B)F=!0;else if("]"===B&&F)F=!1;else if("/"===B&&!F)break;U="\\"===B}++this.pos}var R=this.input.slice(Q,this.pos);++this.pos;var V=this.pos,n=this.readWord1();this.containsEsc&&this.unexpected(V);var l=this.regexpState||(this.regexpState=new $U(this));l.reset(Q,R,n),this.validateRegExpFlags(l),this.validateRegExpPattern(l);var d=null;try{d=new RegExp(R,n)}catch(J){}return this.finishToken(C.regexp,{pattern:R,flags:n,value:d})},DF.readInt=function(U,F,Q){for(var B=this.options.ecmaVersion>=12&&void 0===F,R=Q&&48===this.input.charCodeAt(this.pos),V=this.pos,n=0,l=0,d=0,J=null==F?1/0:F;d=97?N-97+10:N>=65?N-65+10:N>=48&&N<=57?N-48:1/0)>=U)break;l=N,n=n*U+Z}}return B&&95===l&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===V||null!=F&&this.pos-V!==F?null:n},DF.readRadixNumber=function(U){var F=this.pos;this.pos+=2;var Q=this.readInt(U);return null==Q&&this.raise(this.start+2,"Expected number in radix "+U),this.options.ecmaVersion>=11&&110===this.input.charCodeAt(this.pos)?(Q=pF(this.input.slice(F,this.pos)),++this.pos):W(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(C.num,Q)},DF.readNumber=function(U){var F=this.pos;U||null!==this.readInt(10,void 0,!0)||this.raise(F,"Invalid number");var Q=this.pos-F>=2&&48===this.input.charCodeAt(F);Q&&this.strict&&this.raise(F,"Invalid number");var B=this.input.charCodeAt(this.pos);if(!Q&&!U&&this.options.ecmaVersion>=11&&110===B){var R=pF(this.input.slice(F,this.pos));return++this.pos,W(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(C.num,R)}Q&&/[89]/.test(this.input.slice(F,this.pos))&&(Q=!1),46!==B||Q||(++this.pos,this.readInt(10),B=this.input.charCodeAt(this.pos)),69!==B&&101!==B||Q||(43!==(B=this.input.charCodeAt(++this.pos))&&45!==B||++this.pos,null===this.readInt(10)&&this.raise(F,"Invalid number")),W(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var V=oF(this.input.slice(F,this.pos),Q);return this.finishToken(C.num,V)},DF.readCodePoint=function(){var U;if(123===this.input.charCodeAt(this.pos)){this.options.ecmaVersion<6&&this.unexpected();var F=++this.pos;U=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,U>1114111&&this.invalidStringToken(F,"Code point out of bounds")}else U=this.readHexChar(4);return U},DF.readString=function(U){for(var F="",Q=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var B=this.input.charCodeAt(this.pos);if(B===U)break;92===B?(F+=this.input.slice(Q,this.pos),F+=this.readEscapedChar(!1),Q=this.pos):8232===B||8233===B?(this.options.ecmaVersion<10&&this.raise(this.start,"Unterminated string constant"),++this.pos,this.options.locations&&(this.curLine++,this.lineStart=this.pos)):(p(B)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return F+=this.input.slice(Q,this.pos++),this.finishToken(C.string,F)};var hF={};DF.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(U){if(U!==hF)throw U;this.readInvalidTemplateToken()}this.inTemplateElement=!1},DF.invalidStringToken=function(U,F){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw hF;this.raise(U,F)},DF.readTmplToken=function(){for(var U="",F=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var Q=this.input.charCodeAt(this.pos);if(96===Q||36===Q&&123===this.input.charCodeAt(this.pos+1))return this.pos!==this.start||this.type!==C.template&&this.type!==C.invalidTemplate?(U+=this.input.slice(F,this.pos),this.finishToken(C.template,U)):36===Q?(this.pos+=2,this.finishToken(C.dollarBraceL)):(++this.pos,this.finishToken(C.backQuote));if(92===Q)U+=this.input.slice(F,this.pos),U+=this.readEscapedChar(!0),F=this.pos;else if(p(Q)){switch(U+=this.input.slice(F,this.pos),++this.pos,Q){case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:U+="\n";break;default:U+=String.fromCharCode(Q)}this.options.locations&&(++this.curLine,this.lineStart=this.pos),F=this.pos}else++this.pos}},DF.readInvalidTemplateToken=function(){for(;this.pos=48&&F<=55){var B=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],R=parseInt(B,8);return R>255&&(B=B.slice(0,-1),R=parseInt(B,8)),this.pos+=B.length-1,F=this.input.charCodeAt(this.pos),"0"===B&&56!==F&&57!==F||!this.strict&&!U||this.invalidStringToken(this.pos-1-B.length,U?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(R)}return p(F)?(this.options.locations&&(this.lineStart=this.pos,++this.curLine),""):String.fromCharCode(F)}},DF.readHexChar=function(U){var F=this.pos,Q=this.readInt(16,U);return null===Q&&this.invalidStringToken(F,"Bad character escape sequence"),Q},DF.readWord1=function(){this.containsEsc=!1;for(var U="",F=!0,Q=this.pos,B=this.options.ecmaVersion>=6;this.pos{function F(U,F,Q,B,R,V,n){try{var l=U[V](n),d=l.value}catch(U){return void Q(U)}l.done?F(d):Promise.resolve(d).then(B,R)}U.exports=function(U){return function(){var Q=this,B=arguments;return new Promise(function(R,V){var n=U.apply(Q,B);function l(U){F(n,R,V,l,d,"next",U)}function d(U){F(n,R,V,l,d,"throw",U)}l(void 0)})}},U.exports.__esModule=!0,U.exports.default=U.exports},58349:(U,F,Q)=>{"use strict";var B=Q(95362);U.exports=!B(function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]})},58369:U=>{"use strict";U.exports=Math.min},58801:(U,F,Q)=>{"use strict";var B=Q(5997);U.exports=B;var R=N(!0),V=N(!1),n=N(null),l=N(void 0),d=N(0),J=N("");function N(U){var F=new B(B._D);return F._y=1,F._z=U,F}B.resolve=function(U){if(U instanceof B)return U;if(null===U)return n;if(void 0===U)return l;if(!0===U)return R;if(!1===U)return V;if(0===U)return d;if(""===U)return J;if("object"===typeof U||"function"===typeof U)try{var F=U.then;if("function"===typeof F)return new B(F.bind(U))}catch(Q){return new B(function(U,F){F(Q)})}return N(U)};var Z=function(U){return"function"===typeof Array.from?(Z=Array.from,Array.from(U)):(Z=function(U){return Array.prototype.slice.call(U)},Array.prototype.slice.call(U))};function W(U){return{status:"fulfilled",value:U}}function S(U){return{status:"rejected",reason:U}}function E(U){if(U&&("object"===typeof U||"function"===typeof U)){if(U instanceof B&&U.then===B.prototype.then)return U.then(W,S);var F=U.then;if("function"===typeof F)return new B(F.bind(U)).then(W,S)}return W(U)}function k(U){if("function"===typeof AggregateError)return new AggregateError(U,"All promises were rejected");var F=new Error("All promises were rejected");return F.name="AggregateError",F.errors=U,F}B.all=function(U){var F=Z(U);return new B(function(U,Q){if(0===F.length)return U([]);var R=F.length;function V(n,l){if(l&&("object"===typeof l||"function"===typeof l)){if(l instanceof B&&l.then===B.prototype.then){for(;3===l._y;)l=l._z;return 1===l._y?V(n,l._z):(2===l._y&&Q(l._z),void l.then(function(U){V(n,U)},Q))}var d=l.then;if("function"===typeof d)return void new B(d.bind(l)).then(function(U){V(n,U)},Q)}F[n]=l,0===--R&&U(F)}for(var n=0;n{"use strict";var F=function(U){return U!==U};U.exports=function(U,Q){return 0===U&&0===Q?1/U===1/Q:U===Q||!(!F(U)||!F(Q))}},60251:(U,F,Q)=>{"use strict";var B=Q(63591),R=Q(31645);U.exports=function(){var U=R();return B(Number,{isNaN:U},{isNaN:function(){return Number.isNaN!==U}}),U}},60471:(U,F,Q)=>{"use strict";U.exports=Q(50948)},60479:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>B});const B=Q(60471).createContext({})},60487:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>B});const B=Q(44392).A},60622:(U,F,Q)=>{"use strict";var B=Q(44176),R=Q(81452),V=Q(18018).f,n=Q(95528).f,l=B.Symbol;if(R("dispose"),l){var d=n(l,"dispose");d.enumerable&&d.configurable&&d.writable&&V(l,"dispose",{value:d.value,enumerable:!1,configurable:!1,writable:!1})}},60718:U=>{"use strict";var F=Object.prototype.toString;U.exports=function(U){var Q=F.call(U),B="[object Arguments]"===Q;return B||(B="[object Array]"!==Q&&null!==U&&"object"===typeof U&&"number"===typeof U.length&&U.length>=0&&"[object Function]"===F.call(U.callee)),B}},60760:(U,F,Q)=>{"use strict";var B=Q(89263),R=Function.prototype.call;U.exports=B?R.bind(R):function(){return R.apply(R,arguments)}},61473:U=>{"use strict";U.exports=Function.prototype.apply},61741:U=>{U.exports={}},61790:(U,F,Q)=>{var B=Q(53051)();U.exports=B;try{regeneratorRuntime=B}catch(R){"object"===typeof globalThis?globalThis.regeneratorRuntime=B:Function("r","regeneratorRuntime = r")(B)}},61825:(U,F,Q)=>{"use strict";var B=Q(42433);U.exports=B([].slice)},61994:U=>{"use strict";U.exports="undefined"!==typeof Reflect&&Reflect&&Reflect.apply},62271:(U,F,Q)=>{"use strict";var B=Q(39479),R={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},V={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},n={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function d(U){return B.isMemo(U)?n:l[U.$$typeof]||R}l[B.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[B.Memo]=n;var J=Object.defineProperty,N=Object.getOwnPropertyNames,Z=Object.getOwnPropertySymbols,W=Object.getOwnPropertyDescriptor,S=Object.getPrototypeOf,E=Object.prototype;U.exports=function U(F,Q,B){if("string"!==typeof Q){if(E){var R=S(Q);R&&R!==E&&U(F,R,B)}var n=N(Q);Z&&(n=n.concat(Z(Q)));for(var l=d(F),k=d(Q),t=0;t{"use strict";function B(U){let{props:F,states:Q,muiFormControl:B}=U;return Q.reduce((U,Q)=>(U[Q]=F[Q],B&&"undefined"===typeof F[Q]&&(U[Q]=B[Q]),U),{})}Q.d(F,{A:()=>B})},62506:(U,F,Q)=>{"use strict";var B=Q(42870);U.exports=function(U,F){return B[U]||(B[U]=F||{})}},62507:(U,F,Q)=>{var B=Q(46313);U.exports=function(U,F,Q,R,V){var n=B(U,F,Q,R,V);return n.next().then(function(U){return U.done?U.value:n.next()})},U.exports.__esModule=!0,U.exports.default=U.exports},62648:U=>{"use strict";U.exports=function(U){return U!==U}},62933:U=>{"use strict";var F=TypeError;U.exports=function(U,Q){if(U{"use strict";var B=Q(78542);if(B)try{B([],"length")}catch(R){B=null}U.exports=B},63145:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>X});var B=Q(49257),R=Q(68102),V=Q(60471),n=Q(93350),l=Q(10400),d=Q(27960),J=Q(30874),N=Q(85670);const Z=function(){let U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{autoHideDuration:F=null,disableWindowBlurListener:Q=!1,onClose:B,open:n,resumeHideDuration:l}=U,Z=(0,d.A)();V.useEffect(()=>{if(n)return document.addEventListener("keydown",U),()=>{document.removeEventListener("keydown",U)};function U(U){U.defaultPrevented||"Escape"!==U.key&&"Esc"!==U.key||null==B||B(U,"escapeKeyDown")}},[n,B]);const W=(0,J.A)((U,F)=>{null==B||B(U,F)}),S=(0,J.A)(U=>{B&&null!=U&&Z.start(U,()=>{W(null,"timeout")})});V.useEffect(()=>(n&&S(F),Z.clear),[n,F,S,Z]);const E=Z.clear,k=V.useCallback(()=>{null!=F&&S(null!=l?l:.5*F)},[F,l,S]),t=U=>F=>{const Q=U.onFocus;null==Q||Q(F),E()},a=U=>F=>{const Q=U.onMouseEnter;null==Q||Q(F),E()},T=U=>F=>{const Q=U.onMouseLeave;null==Q||Q(F),k()};return V.useEffect(()=>{if(!Q&&n)return window.addEventListener("focus",k),window.addEventListener("blur",E),()=>{window.removeEventListener("focus",k),window.removeEventListener("blur",E)}},[Q,n,k,E]),{getRootProps:function(){let F=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const Q=(0,R.A)({},(0,N.A)(U),(0,N.A)(F));return(0,R.A)({role:"presentation"},F,Q,{onBlur:(B=Q,U=>{const F=B.onBlur;null==F||F(U),k()}),onFocus:t(Q),onMouseEnter:a(Q),onMouseLeave:T(Q)});var B},onClickAway:U=>{null==B||B(U,"clickaway")}}};var W=Q(88368),S=Q(34315),E=Q(41732),k=Q(43946),t=Q(93623),a=Q(57508),T=Q(15714),e=Q(19166),C=Q(5162),D=Q(16840),o=Q(85656);function p(U){return(0,o.Ay)("MuiSnackbarContent",U)}(0,D.A)("MuiSnackbarContent",["root","message","action"]);var h=Q(23759);const c=["action","className","message","role"],r=(0,S.Ay)(C.A,{name:"MuiSnackbarContent",slot:"Root",overridesResolver:(U,F)=>F.root})(U=>{let{theme:F}=U;const Q="light"===F.palette.mode?.8:.98,B=(0,e.tL)(F.palette.background.default,Q);return(0,R.A)({},F.typography.body2,{color:F.vars?F.vars.palette.SnackbarContent.color:F.palette.getContrastText(B),backgroundColor:F.vars?F.vars.palette.SnackbarContent.bg:B,display:"flex",alignItems:"center",flexWrap:"wrap",padding:"6px 16px",borderRadius:(F.vars||F).shape.borderRadius,flexGrow:1,[F.breakpoints.up("sm")]:{flexGrow:"initial",minWidth:288}})}),m=(0,S.Ay)("div",{name:"MuiSnackbarContent",slot:"Message",overridesResolver:(U,F)=>F.message})({padding:"8px 0"}),M=(0,S.Ay)("div",{name:"MuiSnackbarContent",slot:"Action",overridesResolver:(U,F)=>F.action})({display:"flex",alignItems:"center",marginLeft:"auto",paddingLeft:16,marginRight:-8}),i=V.forwardRef(function(U,F){const Q=(0,k.b)({props:U,name:"MuiSnackbarContent"}),{action:V,className:l,message:d,role:J="alert"}=Q,N=(0,B.A)(Q,c),Z=Q,W=(U=>{const{classes:F}=U;return(0,n.A)({root:["root"],action:["action"],message:["message"]},p,F)})(Z);return(0,h.jsxs)(r,(0,R.A)({role:J,square:!0,elevation:6,className:(0,T.A)(W.root,l),ownerState:Z,ref:F},N,{children:[(0,h.jsx)(m,{className:W.message,ownerState:Z,children:d}),V?(0,h.jsx)(M,{className:W.action,ownerState:Z,children:V}):null]}))});function b(U){return(0,o.Ay)("MuiSnackbar",U)}(0,D.A)("MuiSnackbar",["root","anchorOriginTopCenter","anchorOriginBottomCenter","anchorOriginTopRight","anchorOriginBottomRight","anchorOriginTopLeft","anchorOriginBottomLeft"]);const v=["onEnter","onExited"],G=["action","anchorOrigin","autoHideDuration","children","className","ClickAwayListenerProps","ContentProps","disableWindowBlurListener","message","onBlur","onClose","onFocus","onMouseEnter","onMouseLeave","open","resumeHideDuration","TransitionComponent","transitionDuration","TransitionProps"],s=(0,S.Ay)("div",{name:"MuiSnackbar",slot:"Root",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[F.root,F[`anchorOrigin${(0,t.A)(Q.anchorOrigin.vertical)}${(0,t.A)(Q.anchorOrigin.horizontal)}`]]}})(U=>{let{theme:F,ownerState:Q}=U;return(0,R.A)({zIndex:(F.vars||F).zIndex.snackbar,position:"fixed",display:"flex",left:8,right:8,justifyContent:"center",alignItems:"center"},"top"===Q.anchorOrigin.vertical?{top:8}:{bottom:8},"left"===Q.anchorOrigin.horizontal&&{justifyContent:"flex-start"},"right"===Q.anchorOrigin.horizontal&&{justifyContent:"flex-end"},{[F.breakpoints.up("sm")]:(0,R.A)({},"top"===Q.anchorOrigin.vertical?{top:24}:{bottom:24},"center"===Q.anchorOrigin.horizontal&&{left:"50%",right:"auto",transform:"translateX(-50%)"},"left"===Q.anchorOrigin.horizontal&&{left:24,right:"auto"},"right"===Q.anchorOrigin.horizontal&&{right:24,left:"auto"})})}),X=V.forwardRef(function(U,F){const Q=(0,k.b)({props:U,name:"MuiSnackbar"}),d=(0,E.A)(),J={enter:d.transitions.duration.enteringScreen,exit:d.transitions.duration.leavingScreen},{action:N,anchorOrigin:{vertical:S,horizontal:T}={vertical:"bottom",horizontal:"left"},autoHideDuration:e=null,children:C,className:D,ClickAwayListenerProps:o,ContentProps:p,disableWindowBlurListener:c=!1,message:r,open:m,TransitionComponent:M=a.A,transitionDuration:X=J,TransitionProps:{onEnter:Y,onExited:y}={}}=Q,z=(0,B.A)(Q.TransitionProps,v),O=(0,B.A)(Q,G),L=(0,R.A)({},Q,{anchorOrigin:{vertical:S,horizontal:T},autoHideDuration:e,disableWindowBlurListener:c,TransitionComponent:M,transitionDuration:X}),H=(U=>{const{classes:F,anchorOrigin:Q}=U,B={root:["root",`anchorOrigin${(0,t.A)(Q.vertical)}${(0,t.A)(Q.horizontal)}`]};return(0,n.A)(B,b,F)})(L),{getRootProps:x,onClickAway:u}=Z((0,R.A)({},L)),[w,j]=V.useState(!0),I=(0,l.A)({elementType:s,getSlotProps:x,externalForwardedProps:O,ownerState:L,additionalProps:{ref:F},className:[H.root,D]});return!m&&w?null:(0,h.jsx)(W.x,(0,R.A)({onClickAway:u},o,{children:(0,h.jsx)(s,(0,R.A)({},I,{children:(0,h.jsx)(M,(0,R.A)({appear:!0,in:m,timeout:X,direction:"top"===S?"down":"up",onEnter:(U,F)=>{j(!1),Y&&Y(U,F)},onExited:U=>{j(!0),y&&y(U)}},z,{children:C||(0,h.jsx)(i,(0,R.A)({message:r,action:N},p))}))}))}))})},63385:(U,F,Q)=>{"use strict";var B=Q(19549),R=Q(44176),V=Q(81730).clear;B({global:!0,bind:!0,enumerable:!0,forced:R.clearImmediate!==V},{clearImmediate:V})},63591:(U,F,Q)=>{"use strict";var B=Q(498),R="function"===typeof Symbol&&"symbol"===typeof Symbol("foo"),V=Object.prototype.toString,n=Array.prototype.concat,l=Q(41612),d=Q(2969)(),J=function(U,F,Q,B){if(F in U)if(!0===B){if(U[F]===Q)return}else if("function"!==typeof(R=B)||"[object Function]"!==V.call(R)||!B())return;var R;d?l(U,F,Q,!0):l(U,F,Q)},N=function(U,F){var Q=arguments.length>2?arguments[2]:{},V=B(F);R&&(V=n.call(V,Object.getOwnPropertySymbols(F)));for(var l=0;l{"use strict";var B=Q(73396),R=Q(61473),V=Q(65877),n=Q(61994);U.exports=n||B.call(V,R)},64344:(U,F,Q)=>{"use strict";var B=Q(62506),R=Q(14673),V=B("keys");U.exports=function(U){return V[U]||(V[U]=R(U))}},64377:(U,F,Q)=>{"use strict";var B=Q(5997),R=[ReferenceError,TypeError,RangeError],V=!1;function n(){V=!1,B._B=null,B._C=null}function l(U,F){return F.some(function(F){return U instanceof F})}F.disable=n,F.enable=function(U){U=U||{},V&&n();V=!0;var F=0,Q=0,d={};function J(F){(U.allRejections||l(d[F].error,U.whitelist||R))&&(d[F].displayId=Q++,U.onUnhandled?(d[F].logged=!0,U.onUnhandled(d[F].displayId,d[F].error)):(d[F].logged=!0,function(U,F){console.warn("Possible Unhandled Promise Rejection (id: "+U+"):"),((F&&(F.stack||F))+"").split("\n").forEach(function(U){console.warn(" "+U)})}(d[F].displayId,d[F].error)))}B._B=function(F){2===F._y&&d[F._E]&&(d[F._E].logged?function(F){d[F].logged&&(U.onHandled?U.onHandled(d[F].displayId,d[F].error):d[F].onUnhandled||(console.warn("Promise Rejection Handled (id: "+d[F].displayId+"):"),console.warn(' This means you can ignore any previous messages of the form "Possible Unhandled Promise Rejection" with id '+d[F].displayId+".")))}(F._E):clearTimeout(d[F._E].timeout),delete d[F._E])},B._C=function(U,Q){0===U._x&&(U._E=F++,d[U._E]={displayId:null,error:Q,timeout:setTimeout(J.bind(null,U._E),l(Q,R)?100:2e3),logged:!1})}}},64776:(U,F,Q)=>{"use strict";var B;Q.d(F,{A:()=>l});var R=Q(60471);let V=0;const n=(B||(B=Q.t(R,2)))["useId".toString()];function l(U){if(void 0!==n){const F=n();return null!=U?U:F}return function(U){const[F,Q]=R.useState(U),B=U||F;return R.useEffect(()=>{null==F&&(V+=1,Q(`mui-${V}`))},[F]),B}(U)}},65320:(U,F,Q)=>{"use strict";Q.d(F,{J:()=>t});var B={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},R=Q(82514),V=!1,n=/[A-Z]|^ms/g,l=/_EMO_([^_]+?)_([^]*?)_EMO_/g,d=function(U){return 45===U.charCodeAt(1)},J=function(U){return null!=U&&"boolean"!==typeof U},N=(0,R.A)(function(U){return d(U)?U:U.replace(n,"-$&").toLowerCase()}),Z=function(U,F){switch(U){case"animation":case"animationName":if("string"===typeof F)return F.replace(l,function(U,F,Q){return E={name:F,styles:Q,next:E},F})}return 1===B[U]||d(U)||"number"!==typeof F||0===F?F:F+"px"},W="Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";function S(U,F,Q){if(null==Q)return"";var B=Q;if(void 0!==B.__emotion_styles)return B;switch(typeof Q){case"boolean":return"";case"object":var R=Q;if(1===R.anim)return E={name:R.name,styles:R.styles,next:E},R.name;var n=Q;if(void 0!==n.styles){var l=n.next;if(void 0!==l)for(;void 0!==l;)E={name:l.name,styles:l.styles,next:E},l=l.next;return n.styles+";"}return function(U,F,Q){var B="";if(Array.isArray(Q))for(var R=0;R=4;++B,R-=4)F=1540483477*(65535&(F=255&U.charCodeAt(B)|(255&U.charCodeAt(++B))<<8|(255&U.charCodeAt(++B))<<16|(255&U.charCodeAt(++B))<<24))+(59797*(F>>>16)<<16),Q=1540483477*(65535&(F^=F>>>24))+(59797*(F>>>16)<<16)^1540483477*(65535&Q)+(59797*(Q>>>16)<<16);switch(R){case 3:Q^=(255&U.charCodeAt(B+2))<<16;case 2:Q^=(255&U.charCodeAt(B+1))<<8;case 1:Q=1540483477*(65535&(Q^=255&U.charCodeAt(B)))+(59797*(Q>>>16)<<16)}return(((Q=1540483477*(65535&(Q^=Q>>>13))+(59797*(Q>>>16)<<16))^Q>>>15)>>>0).toString(36)}(R)+d;return{name:J,styles:R,next:E}}},65388:U=>{"use strict";U.exports=Error},65408:(U,F)=>{"use strict";var Q={}.propertyIsEnumerable,B=Object.getOwnPropertyDescriptor,R=B&&!Q.call({1:2},1);F.f=R?function(U){var F=B(this,U);return!!F&&F.enumerable}:Q},65474:U=>{U.exports=function(U,F){var Q=null==U?null:"undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(null!=Q){var B,R,V,n,l=[],d=!0,J=!1;try{if(V=(Q=Q.call(U)).next,0===F){if(Object(Q)!==Q)return;d=!1}else for(;!(d=(B=V.call(Q)).done)&&(l.push(B.value),l.length!==F);d=!0);}catch(U){J=!0,R=U}finally{try{if(!d&&null!=Q.return&&(n=Q.return(),Object(n)!==n))return}finally{if(J)throw R}}return l}},U.exports.__esModule=!0,U.exports.default=U.exports},65877:U=>{"use strict";U.exports=Function.prototype.call},66033:(U,F,Q)=>{"use strict";function B(U){return function(){return U}}Q.d(F,{JL:()=>i,lU:()=>v,n8:()=>X});const R=Math.abs,V=Math.atan2,n=Math.cos,l=Math.max,d=Math.min,J=Math.sin,N=Math.sqrt,Z=1e-12,W=Math.PI,S=W/2,E=2*W;function k(U){return U>=1?S:U<=-1?-S:Math.asin(U)}const t=Math.PI,a=2*t,T=1e-6,e=a-T;function C(U){this._+=U[0];for(let F=1,Q=U.length;F=0))throw new Error(`invalid digits: ${U}`);if(F>15)return C;const Q=10**F;return function(U){this._+=U[0];for(let F=1,B=U.length;FT)if(Math.abs(N*l-d*J)>T&&R){let W=Q-V,S=B-n,E=l*l+d*d,k=W*W+S*S,a=Math.sqrt(E),e=Math.sqrt(Z),C=R*Math.tan((t-Math.acos((E+Z-k)/(2*a*e)))/2),D=C/e,o=C/a;Math.abs(D-1)>T&&this._append`L${U+D*J},${F+D*N}`,this._append`A${R},${R},0,0,${+(N*W>J*S)},${this._x1=U+o*l},${this._y1=F+o*d}`}else this._append`L${this._x1=U},${this._y1=F}`;else;}arc(U,F,Q,B,R,V){if(U=+U,F=+F,V=!!V,(Q=+Q)<0)throw new Error(`negative radius: ${Q}`);let n=Q*Math.cos(B),l=Q*Math.sin(B),d=U+n,J=F+l,N=1^V,Z=V?B-R:R-B;null===this._x1?this._append`M${d},${J}`:(Math.abs(this._x1-d)>T||Math.abs(this._y1-J)>T)&&this._append`L${d},${J}`,Q&&(Z<0&&(Z=Z%a+a),Z>e?this._append`A${Q},${Q},0,1,${N},${U-n},${F-l}A${Q},${Q},0,1,${N},${this._x1=d},${this._y1=J}`:Z>T&&this._append`A${Q},${Q},0,${+(Z>=t)},${N},${this._x1=U+Q*Math.cos(R)},${this._y1=F+Q*Math.sin(R)}`)}rect(U,F,Q,B){this._append`M${this._x0=this._x1=+U},${this._y0=this._y1=+F}h${Q=+Q}v${+B}h${-Q}Z`}toString(){return this._}}function o(U){let F=3;return U.digits=function(Q){if(!arguments.length)return F;if(null==Q)F=null;else{const U=Math.floor(Q);if(!(U>=0))throw new RangeError(`invalid digits: ${Q}`);F=U}return U},()=>new D(F)}function p(U){return U.innerRadius}function h(U){return U.outerRadius}function c(U){return U.startAngle}function r(U){return U.endAngle}function m(U){return U&&U.padAngle}function M(U,F,Q,B,R,V,n){var d=U-Q,J=F-B,Z=(n?V:-V)/N(d*d+J*J),W=Z*J,S=-Z*d,E=U+W,k=F+S,t=Q+W,a=B+S,T=(E+t)/2,e=(k+a)/2,C=t-E,D=a-k,o=C*C+D*D,p=R-V,h=E*a-t*k,c=(D<0?-1:1)*N(l(0,p*p*o-h*h)),r=(h*D-C*c)/o,m=(-h*C-D*c)/o,M=(h*D+C*c)/o,i=(-h*C+D*c)/o,b=r-T,v=m-e,G=M-T,s=i-e;return b*b+v*v>G*G+s*s&&(r=M,m=i),{cx:r,cy:m,x01:-W,y01:-S,x11:r*(R/p-1),y11:m*(R/p-1)}}function i(){var U=p,F=h,Q=B(0),l=null,t=c,a=r,T=m,e=null,C=o(D);function D(){var B,D,o=+U.apply(this,arguments),p=+F.apply(this,arguments),h=t.apply(this,arguments)-S,c=a.apply(this,arguments)-S,r=R(c-h),m=c>h;if(e||(e=B=C()),pZ)if(r>E-Z)e.moveTo(p*n(h),p*J(h)),e.arc(0,0,p,h,c,!m),o>Z&&(e.moveTo(o*n(c),o*J(c)),e.arc(0,0,o,c,h,m));else{var i,b,v=h,G=c,s=h,X=c,Y=r,y=r,z=T.apply(this,arguments)/2,O=z>Z&&(l?+l.apply(this,arguments):N(o*o+p*p)),L=d(R(p-o)/2,+Q.apply(this,arguments)),H=L,x=L;if(O>Z){var u=k(O/o*J(z)),w=k(O/p*J(z));(Y-=2*u)>Z?(s+=u*=m?1:-1,X-=u):(Y=0,s=X=(h+c)/2),(y-=2*w)>Z?(v+=w*=m?1:-1,G-=w):(y=0,v=G=(h+c)/2)}var j=p*n(v),I=p*J(v),K=o*n(X),f=o*J(X);if(L>Z){var g,P=p*n(G),A=p*J(G),q=o*n(s),_=o*J(s);if(r1?0:U<-1?W:Math.acos(U)}(($*FU+UU*QU)/(N($*$+UU*UU)*N(FU*FU+QU*QU)))/2),RU=N(g[0]*g[0]+g[1]*g[1]);H=d(L,(o-RU)/(BU-1)),x=d(L,(p-RU)/(BU+1))}else H=x=0}y>Z?x>Z?(i=M(q,_,j,I,p,x,m),b=M(P,A,K,f,p,x,m),e.moveTo(i.cx+i.x01,i.cy+i.y01),xZ&&Y>Z?H>Z?(i=M(K,f,P,A,o,-H,m),b=M(j,I,q,_,o,-H,m),e.lineTo(i.cx+i.x01,i.cy+i.y01),H{"use strict";var B=Q(92091),R=Q(89986),V=Q(89548),n=Q(86537),l=Q(63034),d=Q(39015),J=n("Object.prototype.toString"),N=Q(69743)(),Z="undefined"===typeof globalThis?Q.g:globalThis,W=R(),S=n("String.prototype.slice"),E=n("Array.prototype.indexOf",!0)||function(U,F){for(var Q=0;Q-1?F:"Object"===F&&function(U){var F=!1;return B(k,function(Q,B){if(!F)try{Q(U),F=S(B,1)}catch(R){}}),F}(U)}return l?function(U){var F=!1;return B(k,function(Q,B){if(!F)try{"$"+Q(U)===B&&(F=S(B,1))}catch(R){}}),F}(U):null}},66396:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>l,j:()=>d});var B=Q(54450);function R(U){return function(){this.style.removeProperty(U)}}function V(U,F,Q){return function(){this.style.setProperty(U,F,Q)}}function n(U,F,Q){return function(){var B=F.apply(this,arguments);null==B?this.style.removeProperty(U):this.style.setProperty(U,B,Q)}}function l(U,F,Q){return arguments.length>1?this.each((null==F?R:"function"===typeof F?n:V)(U,F,null==Q?"":Q)):d(this.node(),U)}function d(U,F){return U.style.getPropertyValue(F)||(0,B.A)(U).getComputedStyle(U,null).getPropertyValue(F)}},66607:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>B});const B=function(U){return"ownerState"!==U&&"theme"!==U&&"sx"!==U&&"as"!==U}},66681:(U,F,Q)=>{"use strict";var B=Q(95362),R=Q(2428),V=/#|\.prototype\./,n=function(U,F){var Q=d[l(U)];return Q===N||Q!==J&&(R(F)?B(F):!!F)},l=n.normalize=function(U){return String(U).replace(V,".").toLowerCase()},d=n.data={},J=n.NATIVE="N",N=n.POLYFILL="P";U.exports=n},66821:(U,F,Q)=>{"use strict";var B=Q(88385),R=Q(48067),V=Q(66120),n=Q(16685);function l(U){return U.call.bind(U)}var d="undefined"!==typeof BigInt,J="undefined"!==typeof Symbol,N=l(Object.prototype.toString),Z=l(Number.prototype.valueOf),W=l(String.prototype.valueOf),S=l(Boolean.prototype.valueOf);if(d)var E=l(BigInt.prototype.valueOf);if(J)var k=l(Symbol.prototype.valueOf);function t(U,F){if("object"!==typeof U)return!1;try{return F(U),!0}catch(Q){return!1}}function a(U){return"[object Map]"===N(U)}function T(U){return"[object Set]"===N(U)}function e(U){return"[object WeakMap]"===N(U)}function C(U){return"[object WeakSet]"===N(U)}function D(U){return"[object ArrayBuffer]"===N(U)}function o(U){return"undefined"!==typeof ArrayBuffer&&(D.working?D(U):U instanceof ArrayBuffer)}function p(U){return"[object DataView]"===N(U)}function h(U){return"undefined"!==typeof DataView&&(p.working?p(U):U instanceof DataView)}F.isArgumentsObject=B,F.isGeneratorFunction=R,F.isTypedArray=n,F.isPromise=function(U){return"undefined"!==typeof Promise&&U instanceof Promise||null!==U&&"object"===typeof U&&"function"===typeof U.then&&"function"===typeof U.catch},F.isArrayBufferView=function(U){return"undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(U):n(U)||h(U)},F.isUint8Array=function(U){return"Uint8Array"===V(U)},F.isUint8ClampedArray=function(U){return"Uint8ClampedArray"===V(U)},F.isUint16Array=function(U){return"Uint16Array"===V(U)},F.isUint32Array=function(U){return"Uint32Array"===V(U)},F.isInt8Array=function(U){return"Int8Array"===V(U)},F.isInt16Array=function(U){return"Int16Array"===V(U)},F.isInt32Array=function(U){return"Int32Array"===V(U)},F.isFloat32Array=function(U){return"Float32Array"===V(U)},F.isFloat64Array=function(U){return"Float64Array"===V(U)},F.isBigInt64Array=function(U){return"BigInt64Array"===V(U)},F.isBigUint64Array=function(U){return"BigUint64Array"===V(U)},a.working="undefined"!==typeof Map&&a(new Map),F.isMap=function(U){return"undefined"!==typeof Map&&(a.working?a(U):U instanceof Map)},T.working="undefined"!==typeof Set&&T(new Set),F.isSet=function(U){return"undefined"!==typeof Set&&(T.working?T(U):U instanceof Set)},e.working="undefined"!==typeof WeakMap&&e(new WeakMap),F.isWeakMap=function(U){return"undefined"!==typeof WeakMap&&(e.working?e(U):U instanceof WeakMap)},C.working="undefined"!==typeof WeakSet&&C(new WeakSet),F.isWeakSet=function(U){return C(U)},D.working="undefined"!==typeof ArrayBuffer&&D(new ArrayBuffer),F.isArrayBuffer=o,p.working="undefined"!==typeof ArrayBuffer&&"undefined"!==typeof DataView&&p(new DataView(new ArrayBuffer(1),0,1)),F.isDataView=h;var c="undefined"!==typeof SharedArrayBuffer?SharedArrayBuffer:void 0;function r(U){return"[object SharedArrayBuffer]"===N(U)}function m(U){return"undefined"!==typeof c&&("undefined"===typeof r.working&&(r.working=r(new c)),r.working?r(U):U instanceof c)}function M(U){return t(U,Z)}function i(U){return t(U,W)}function b(U){return t(U,S)}function v(U){return d&&t(U,E)}function G(U){return J&&t(U,k)}F.isSharedArrayBuffer=m,F.isAsyncFunction=function(U){return"[object AsyncFunction]"===N(U)},F.isMapIterator=function(U){return"[object Map Iterator]"===N(U)},F.isSetIterator=function(U){return"[object Set Iterator]"===N(U)},F.isGeneratorObject=function(U){return"[object Generator]"===N(U)},F.isWebAssemblyCompiledModule=function(U){return"[object WebAssembly.Module]"===N(U)},F.isNumberObject=M,F.isStringObject=i,F.isBooleanObject=b,F.isBigIntObject=v,F.isSymbolObject=G,F.isBoxedPrimitive=function(U){return M(U)||i(U)||b(U)||v(U)||G(U)},F.isAnyArrayBuffer=function(U){return"undefined"!==typeof Uint8Array&&(o(U)||m(U))},["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(U){Object.defineProperty(F,U,{enumerable:!1,value:function(){throw new Error(U+" is not supported in userland")}})})},66961:(U,F,Q)=>{var B=Q(10564).default;U.exports=function(U){if(null!=U){var F=U["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],Q=0;if(F)return F.call(U);if("function"==typeof U.next)return U;if(!isNaN(U.length))return{next:function(){return U&&Q>=U.length&&(U=void 0),{value:U&&U[Q++],done:!U}}}}throw new TypeError(B(U)+" is not iterable")},U.exports.__esModule=!0,U.exports.default=U.exports},67114:U=>{U.exports=function(U,F){this.v=U,this.k=F},U.exports.__esModule=!0,U.exports.default=U.exports},67410:(U,F,Q)=>{"use strict";var B=Q(42433);U.exports=B({}.isPrototypeOf)},67500:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>xU});var B=Q(68102),R=Q(49257),V=Q(43234),n=Q(60471),l=Q(85514),d=Q(24300),J=Q(44392);function N(U){if(null==U)return window;if("[object Window]"!==U.toString()){var F=U.ownerDocument;return F&&F.defaultView||window}return U}function Z(U){return U instanceof N(U).Element||U instanceof Element}function W(U){return U instanceof N(U).HTMLElement||U instanceof HTMLElement}function S(U){return"undefined"!==typeof ShadowRoot&&(U instanceof N(U).ShadowRoot||U instanceof ShadowRoot)}var E=Math.max,k=Math.min,t=Math.round;function a(){var U=navigator.userAgentData;return null!=U&&U.brands&&Array.isArray(U.brands)?U.brands.map(function(U){return U.brand+"/"+U.version}).join(" "):navigator.userAgent}function T(){return!/^((?!chrome|android).)*safari/i.test(a())}function e(U,F,Q){void 0===F&&(F=!1),void 0===Q&&(Q=!1);var B=U.getBoundingClientRect(),R=1,V=1;F&&W(U)&&(R=U.offsetWidth>0&&t(B.width)/U.offsetWidth||1,V=U.offsetHeight>0&&t(B.height)/U.offsetHeight||1);var n=(Z(U)?N(U):window).visualViewport,l=!T()&&Q,d=(B.left+(l&&n?n.offsetLeft:0))/R,J=(B.top+(l&&n?n.offsetTop:0))/V,S=B.width/R,E=B.height/V;return{width:S,height:E,top:J,right:d+S,bottom:J+E,left:d,x:d,y:J}}function C(U){var F=N(U);return{scrollLeft:F.pageXOffset,scrollTop:F.pageYOffset}}function D(U){return U?(U.nodeName||"").toLowerCase():null}function o(U){return((Z(U)?U.ownerDocument:U.document)||window.document).documentElement}function p(U){return e(o(U)).left+C(U).scrollLeft}function h(U){return N(U).getComputedStyle(U)}function c(U){var F=h(U),Q=F.overflow,B=F.overflowX,R=F.overflowY;return/auto|scroll|overlay|hidden/.test(Q+R+B)}function r(U,F,Q){void 0===Q&&(Q=!1);var B=W(F),R=W(F)&&function(U){var F=U.getBoundingClientRect(),Q=t(F.width)/U.offsetWidth||1,B=t(F.height)/U.offsetHeight||1;return 1!==Q||1!==B}(F),V=o(F),n=e(U,R,Q),l={scrollLeft:0,scrollTop:0},d={x:0,y:0};return(B||!B&&!Q)&&(("body"!==D(F)||c(V))&&(l=function(U){return U!==N(U)&&W(U)?{scrollLeft:(F=U).scrollLeft,scrollTop:F.scrollTop}:C(U);var F}(F)),W(F)?((d=e(F,!0)).x+=F.clientLeft,d.y+=F.clientTop):V&&(d.x=p(V))),{x:n.left+l.scrollLeft-d.x,y:n.top+l.scrollTop-d.y,width:n.width,height:n.height}}function m(U){var F=e(U),Q=U.offsetWidth,B=U.offsetHeight;return Math.abs(F.width-Q)<=1&&(Q=F.width),Math.abs(F.height-B)<=1&&(B=F.height),{x:U.offsetLeft,y:U.offsetTop,width:Q,height:B}}function M(U){return"html"===D(U)?U:U.assignedSlot||U.parentNode||(S(U)?U.host:null)||o(U)}function i(U){return["html","body","#document"].indexOf(D(U))>=0?U.ownerDocument.body:W(U)&&c(U)?U:i(M(U))}function b(U,F){var Q;void 0===F&&(F=[]);var B=i(U),R=B===(null==(Q=U.ownerDocument)?void 0:Q.body),V=N(B),n=R?[V].concat(V.visualViewport||[],c(B)?B:[]):B,l=F.concat(n);return R?l:l.concat(b(M(n)))}function v(U){return["table","td","th"].indexOf(D(U))>=0}function G(U){return W(U)&&"fixed"!==h(U).position?U.offsetParent:null}function s(U){for(var F=N(U),Q=G(U);Q&&v(Q)&&"static"===h(Q).position;)Q=G(Q);return Q&&("html"===D(Q)||"body"===D(Q)&&"static"===h(Q).position)?F:Q||function(U){var F=/firefox/i.test(a());if(/Trident/i.test(a())&&W(U)&&"fixed"===h(U).position)return null;var Q=M(U);for(S(Q)&&(Q=Q.host);W(Q)&&["html","body"].indexOf(D(Q))<0;){var B=h(Q);if("none"!==B.transform||"none"!==B.perspective||"paint"===B.contain||-1!==["transform","perspective"].indexOf(B.willChange)||F&&"filter"===B.willChange||F&&B.filter&&"none"!==B.filter)return Q;Q=Q.parentNode}return null}(U)||F}var X="top",Y="bottom",y="right",z="left",O="auto",L=[X,Y,y,z],H="start",x="end",u="viewport",w="popper",j=L.reduce(function(U,F){return U.concat([F+"-"+H,F+"-"+x])},[]),I=[].concat(L,[O]).reduce(function(U,F){return U.concat([F,F+"-"+H,F+"-"+x])},[]),K=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function f(U){var F=new Map,Q=new Set,B=[];function R(U){Q.add(U.name),[].concat(U.requires||[],U.requiresIfExists||[]).forEach(function(U){if(!Q.has(U)){var B=F.get(U);B&&R(B)}}),B.push(U)}return U.forEach(function(U){F.set(U.name,U)}),U.forEach(function(U){Q.has(U.name)||R(U)}),B}function g(U){var F;return function(){return F||(F=new Promise(function(Q){Promise.resolve().then(function(){F=void 0,Q(U())})})),F}}var P={placement:"bottom",modifiers:[],strategy:"absolute"};function A(){for(var U=arguments.length,F=new Array(U),Q=0;Q=0?"x":"y"}function QU(U){var F,Q=U.reference,B=U.element,R=U.placement,V=R?$(R):null,n=R?UU(R):null,l=Q.x+Q.width/2-B.width/2,d=Q.y+Q.height/2-B.height/2;switch(V){case X:F={x:l,y:Q.y-B.height};break;case Y:F={x:l,y:Q.y+Q.height};break;case y:F={x:Q.x+Q.width,y:d};break;case z:F={x:Q.x-B.width,y:d};break;default:F={x:Q.x,y:Q.y}}var J=V?FU(V):null;if(null!=J){var N="y"===J?"height":"width";switch(n){case H:F[J]=F[J]-(Q[N]/2-B[N]/2);break;case x:F[J]=F[J]+(Q[N]/2-B[N]/2)}}return F}var BU={top:"auto",right:"auto",bottom:"auto",left:"auto"};function RU(U){var F,Q=U.popper,B=U.popperRect,R=U.placement,V=U.variation,n=U.offsets,l=U.position,d=U.gpuAcceleration,J=U.adaptive,Z=U.roundOffsets,W=U.isFixed,S=n.x,E=void 0===S?0:S,k=n.y,a=void 0===k?0:k,T="function"===typeof Z?Z({x:E,y:a}):{x:E,y:a};E=T.x,a=T.y;var e=n.hasOwnProperty("x"),C=n.hasOwnProperty("y"),D=z,p=X,c=window;if(J){var r=s(Q),m="clientHeight",M="clientWidth";if(r===N(Q)&&"static"!==h(r=o(Q)).position&&"absolute"===l&&(m="scrollHeight",M="scrollWidth"),R===X||(R===z||R===y)&&V===x)p=Y,a-=(W&&r===c&&c.visualViewport?c.visualViewport.height:r[m])-B.height,a*=d?1:-1;if(R===z||(R===X||R===Y)&&V===x)D=y,E-=(W&&r===c&&c.visualViewport?c.visualViewport.width:r[M])-B.width,E*=d?1:-1}var i,b=Object.assign({position:l},J&&BU),v=!0===Z?function(U,F){var Q=U.x,B=U.y,R=F.devicePixelRatio||1;return{x:t(Q*R)/R||0,y:t(B*R)/R||0}}({x:E,y:a},N(Q)):{x:E,y:a};return E=v.x,a=v.y,d?Object.assign({},b,((i={})[p]=C?"0":"",i[D]=e?"0":"",i.transform=(c.devicePixelRatio||1)<=1?"translate("+E+"px, "+a+"px)":"translate3d("+E+"px, "+a+"px, 0)",i)):Object.assign({},b,((F={})[p]=C?a+"px":"",F[D]=e?E+"px":"",F.transform="",F))}const VU={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(U){var F=U.state,Q=U.options,B=U.name,R=Q.offset,V=void 0===R?[0,0]:R,n=I.reduce(function(U,Q){return U[Q]=function(U,F,Q){var B=$(U),R=[z,X].indexOf(B)>=0?-1:1,V="function"===typeof Q?Q(Object.assign({},F,{placement:U})):Q,n=V[0],l=V[1];return n=n||0,l=(l||0)*R,[z,y].indexOf(B)>=0?{x:l,y:n}:{x:n,y:l}}(Q,F.rects,V),U},{}),l=n[F.placement],d=l.x,J=l.y;null!=F.modifiersData.popperOffsets&&(F.modifiersData.popperOffsets.x+=d,F.modifiersData.popperOffsets.y+=J),F.modifiersData[B]=n}};var nU={left:"right",right:"left",bottom:"top",top:"bottom"};function lU(U){return U.replace(/left|right|bottom|top/g,function(U){return nU[U]})}var dU={start:"end",end:"start"};function JU(U){return U.replace(/start|end/g,function(U){return dU[U]})}function NU(U,F){var Q=F.getRootNode&&F.getRootNode();if(U.contains(F))return!0;if(Q&&S(Q)){var B=F;do{if(B&&U.isSameNode(B))return!0;B=B.parentNode||B.host}while(B)}return!1}function ZU(U){return Object.assign({},U,{left:U.x,top:U.y,right:U.x+U.width,bottom:U.y+U.height})}function WU(U,F,Q){return F===u?ZU(function(U,F){var Q=N(U),B=o(U),R=Q.visualViewport,V=B.clientWidth,n=B.clientHeight,l=0,d=0;if(R){V=R.width,n=R.height;var J=T();(J||!J&&"fixed"===F)&&(l=R.offsetLeft,d=R.offsetTop)}return{width:V,height:n,x:l+p(U),y:d}}(U,Q)):Z(F)?function(U,F){var Q=e(U,!1,"fixed"===F);return Q.top=Q.top+U.clientTop,Q.left=Q.left+U.clientLeft,Q.bottom=Q.top+U.clientHeight,Q.right=Q.left+U.clientWidth,Q.width=U.clientWidth,Q.height=U.clientHeight,Q.x=Q.left,Q.y=Q.top,Q}(F,Q):ZU(function(U){var F,Q=o(U),B=C(U),R=null==(F=U.ownerDocument)?void 0:F.body,V=E(Q.scrollWidth,Q.clientWidth,R?R.scrollWidth:0,R?R.clientWidth:0),n=E(Q.scrollHeight,Q.clientHeight,R?R.scrollHeight:0,R?R.clientHeight:0),l=-B.scrollLeft+p(U),d=-B.scrollTop;return"rtl"===h(R||Q).direction&&(l+=E(Q.clientWidth,R?R.clientWidth:0)-V),{width:V,height:n,x:l,y:d}}(o(U)))}function SU(U,F,Q,B){var R="clippingParents"===F?function(U){var F=b(M(U)),Q=["absolute","fixed"].indexOf(h(U).position)>=0&&W(U)?s(U):U;return Z(Q)?F.filter(function(U){return Z(U)&&NU(U,Q)&&"body"!==D(U)}):[]}(U):[].concat(F),V=[].concat(R,[Q]),n=V[0],l=V.reduce(function(F,Q){var R=WU(U,Q,B);return F.top=E(R.top,F.top),F.right=k(R.right,F.right),F.bottom=k(R.bottom,F.bottom),F.left=E(R.left,F.left),F},WU(U,n,B));return l.width=l.right-l.left,l.height=l.bottom-l.top,l.x=l.left,l.y=l.top,l}function EU(U){return Object.assign({},{top:0,right:0,bottom:0,left:0},U)}function kU(U,F){return F.reduce(function(F,Q){return F[Q]=U,F},{})}function tU(U,F){void 0===F&&(F={});var Q=F,B=Q.placement,R=void 0===B?U.placement:B,V=Q.strategy,n=void 0===V?U.strategy:V,l=Q.boundary,d=void 0===l?"clippingParents":l,J=Q.rootBoundary,N=void 0===J?u:J,W=Q.elementContext,S=void 0===W?w:W,E=Q.altBoundary,k=void 0!==E&&E,t=Q.padding,a=void 0===t?0:t,T=EU("number"!==typeof a?a:kU(a,L)),C=S===w?"reference":w,D=U.rects.popper,p=U.elements[k?C:S],h=SU(Z(p)?p:p.contextElement||o(U.elements.popper),d,N,n),c=e(U.elements.reference),r=QU({reference:c,element:D,strategy:"absolute",placement:R}),m=ZU(Object.assign({},D,r)),M=S===w?m:c,i={top:h.top-M.top+T.top,bottom:M.bottom-h.bottom+T.bottom,left:h.left-M.left+T.left,right:M.right-h.right+T.right},b=U.modifiersData.offset;if(S===w&&b){var v=b[R];Object.keys(i).forEach(function(U){var F=[y,Y].indexOf(U)>=0?1:-1,Q=[X,Y].indexOf(U)>=0?"y":"x";i[U]+=v[Q]*F})}return i}function aU(U,F,Q){return E(U,k(F,Q))}const TU={name:"preventOverflow",enabled:!0,phase:"main",fn:function(U){var F=U.state,Q=U.options,B=U.name,R=Q.mainAxis,V=void 0===R||R,n=Q.altAxis,l=void 0!==n&&n,d=Q.boundary,J=Q.rootBoundary,N=Q.altBoundary,Z=Q.padding,W=Q.tether,S=void 0===W||W,t=Q.tetherOffset,a=void 0===t?0:t,T=tU(F,{boundary:d,rootBoundary:J,padding:Z,altBoundary:N}),e=$(F.placement),C=UU(F.placement),D=!C,o=FU(e),p="x"===o?"y":"x",h=F.modifiersData.popperOffsets,c=F.rects.reference,r=F.rects.popper,M="function"===typeof a?a(Object.assign({},F.rects,{placement:F.placement})):a,i="number"===typeof M?{mainAxis:M,altAxis:M}:Object.assign({mainAxis:0,altAxis:0},M),b=F.modifiersData.offset?F.modifiersData.offset[F.placement]:null,v={x:0,y:0};if(h){if(V){var G,O="y"===o?X:z,L="y"===o?Y:y,x="y"===o?"height":"width",u=h[o],w=u+T[O],j=u-T[L],I=S?-r[x]/2:0,K=C===H?c[x]:r[x],f=C===H?-r[x]:-c[x],g=F.elements.arrow,P=S&&g?m(g):{width:0,height:0},A=F.modifiersData["arrow#persistent"]?F.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},q=A[O],_=A[L],QU=aU(0,c[x],P[x]),BU=D?c[x]/2-I-QU-q-i.mainAxis:K-QU-q-i.mainAxis,RU=D?-c[x]/2+I+QU+_+i.mainAxis:f+QU+_+i.mainAxis,VU=F.elements.arrow&&s(F.elements.arrow),nU=VU?"y"===o?VU.clientTop||0:VU.clientLeft||0:0,lU=null!=(G=null==b?void 0:b[o])?G:0,dU=u+RU-lU,JU=aU(S?k(w,u+BU-lU-nU):w,u,S?E(j,dU):j);h[o]=JU,v[o]=JU-u}if(l){var NU,ZU="x"===o?X:z,WU="x"===o?Y:y,SU=h[p],EU="y"===p?"height":"width",kU=SU+T[ZU],TU=SU-T[WU],eU=-1!==[X,z].indexOf(e),CU=null!=(NU=null==b?void 0:b[p])?NU:0,DU=eU?kU:SU-c[EU]-r[EU]-CU+i.altAxis,oU=eU?SU+c[EU]+r[EU]-CU-i.altAxis:TU,pU=S&&eU?function(U,F,Q){var B=aU(U,F,Q);return B>Q?Q:B}(DU,SU,oU):aU(S?DU:kU,SU,S?oU:TU);h[p]=pU,v[p]=pU-SU}F.modifiersData[B]=v}},requiresIfExists:["offset"]};const eU={name:"arrow",enabled:!0,phase:"main",fn:function(U){var F,Q=U.state,B=U.name,R=U.options,V=Q.elements.arrow,n=Q.modifiersData.popperOffsets,l=$(Q.placement),d=FU(l),J=[z,y].indexOf(l)>=0?"height":"width";if(V&&n){var N=function(U,F){return EU("number"!==typeof(U="function"===typeof U?U(Object.assign({},F.rects,{placement:F.placement})):U)?U:kU(U,L))}(R.padding,Q),Z=m(V),W="y"===d?X:z,S="y"===d?Y:y,E=Q.rects.reference[J]+Q.rects.reference[d]-n[d]-Q.rects.popper[J],k=n[d]-Q.rects.reference[d],t=s(V),a=t?"y"===d?t.clientHeight||0:t.clientWidth||0:0,T=E/2-k/2,e=N[W],C=a-Z[J]-N[S],D=a/2-Z[J]/2+T,o=aU(e,D,C),p=d;Q.modifiersData[B]=((F={})[p]=o,F.centerOffset=o-D,F)}},effect:function(U){var F=U.state,Q=U.options.element,B=void 0===Q?"[data-popper-arrow]":Q;null!=B&&("string"!==typeof B||(B=F.elements.popper.querySelector(B)))&&NU(F.elements.popper,B)&&(F.elements.arrow=B)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function CU(U,F,Q){return void 0===Q&&(Q={x:0,y:0}),{top:U.top-F.height-Q.y,right:U.right-F.width+Q.x,bottom:U.bottom-F.height+Q.y,left:U.left-F.width-Q.x}}function DU(U){return[X,y,Y,z].some(function(F){return U[F]>=0})}var oU=q({defaultModifiers:[{name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(U){var F=U.state,Q=U.instance,B=U.options,R=B.scroll,V=void 0===R||R,n=B.resize,l=void 0===n||n,d=N(F.elements.popper),J=[].concat(F.scrollParents.reference,F.scrollParents.popper);return V&&J.forEach(function(U){U.addEventListener("scroll",Q.update,_)}),l&&d.addEventListener("resize",Q.update,_),function(){V&&J.forEach(function(U){U.removeEventListener("scroll",Q.update,_)}),l&&d.removeEventListener("resize",Q.update,_)}},data:{}},{name:"popperOffsets",enabled:!0,phase:"read",fn:function(U){var F=U.state,Q=U.name;F.modifiersData[Q]=QU({reference:F.rects.reference,element:F.rects.popper,strategy:"absolute",placement:F.placement})},data:{}},{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(U){var F=U.state,Q=U.options,B=Q.gpuAcceleration,R=void 0===B||B,V=Q.adaptive,n=void 0===V||V,l=Q.roundOffsets,d=void 0===l||l,J={placement:$(F.placement),variation:UU(F.placement),popper:F.elements.popper,popperRect:F.rects.popper,gpuAcceleration:R,isFixed:"fixed"===F.options.strategy};null!=F.modifiersData.popperOffsets&&(F.styles.popper=Object.assign({},F.styles.popper,RU(Object.assign({},J,{offsets:F.modifiersData.popperOffsets,position:F.options.strategy,adaptive:n,roundOffsets:d})))),null!=F.modifiersData.arrow&&(F.styles.arrow=Object.assign({},F.styles.arrow,RU(Object.assign({},J,{offsets:F.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:d})))),F.attributes.popper=Object.assign({},F.attributes.popper,{"data-popper-placement":F.placement})},data:{}},{name:"applyStyles",enabled:!0,phase:"write",fn:function(U){var F=U.state;Object.keys(F.elements).forEach(function(U){var Q=F.styles[U]||{},B=F.attributes[U]||{},R=F.elements[U];W(R)&&D(R)&&(Object.assign(R.style,Q),Object.keys(B).forEach(function(U){var F=B[U];!1===F?R.removeAttribute(U):R.setAttribute(U,!0===F?"":F)}))})},effect:function(U){var F=U.state,Q={popper:{position:F.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(F.elements.popper.style,Q.popper),F.styles=Q,F.elements.arrow&&Object.assign(F.elements.arrow.style,Q.arrow),function(){Object.keys(F.elements).forEach(function(U){var B=F.elements[U],R=F.attributes[U]||{},V=Object.keys(F.styles.hasOwnProperty(U)?F.styles[U]:Q[U]).reduce(function(U,F){return U[F]="",U},{});W(B)&&D(B)&&(Object.assign(B.style,V),Object.keys(R).forEach(function(U){B.removeAttribute(U)}))})}},requires:["computeStyles"]},VU,{name:"flip",enabled:!0,phase:"main",fn:function(U){var F=U.state,Q=U.options,B=U.name;if(!F.modifiersData[B]._skip){for(var R=Q.mainAxis,V=void 0===R||R,n=Q.altAxis,l=void 0===n||n,d=Q.fallbackPlacements,J=Q.padding,N=Q.boundary,Z=Q.rootBoundary,W=Q.altBoundary,S=Q.flipVariations,E=void 0===S||S,k=Q.allowedAutoPlacements,t=F.options.placement,a=$(t),T=d||(a===t||!E?[lU(t)]:function(U){if($(U)===O)return[];var F=lU(U);return[JU(U),F,JU(F)]}(t)),e=[t].concat(T).reduce(function(U,Q){return U.concat($(Q)===O?function(U,F){void 0===F&&(F={});var Q=F,B=Q.placement,R=Q.boundary,V=Q.rootBoundary,n=Q.padding,l=Q.flipVariations,d=Q.allowedAutoPlacements,J=void 0===d?I:d,N=UU(B),Z=N?l?j:j.filter(function(U){return UU(U)===N}):L,W=Z.filter(function(U){return J.indexOf(U)>=0});0===W.length&&(W=Z);var S=W.reduce(function(F,Q){return F[Q]=tU(U,{placement:Q,boundary:R,rootBoundary:V,padding:n})[$(Q)],F},{});return Object.keys(S).sort(function(U,F){return S[U]-S[F]})}(F,{placement:Q,boundary:N,rootBoundary:Z,padding:J,flipVariations:E,allowedAutoPlacements:k}):Q)},[]),C=F.rects.reference,D=F.rects.popper,o=new Map,p=!0,h=e[0],c=0;c=0,b=i?"width":"height",v=tU(F,{placement:r,boundary:N,rootBoundary:Z,altBoundary:W,padding:J}),G=i?M?y:z:M?Y:X;C[b]>D[b]&&(G=lU(G));var s=lU(G),x=[];if(V&&x.push(v[m]<=0),l&&x.push(v[G]<=0,v[s]<=0),x.every(function(U){return U})){h=r,p=!1;break}o.set(r,x)}if(p)for(var u=function(U){var F=e.find(function(F){var Q=o.get(F);if(Q)return Q.slice(0,U).every(function(U){return U})});if(F)return h=F,"break"},w=E?3:1;w>0;w--){if("break"===u(w))break}F.placement!==h&&(F.modifiersData[B]._skip=!0,F.placement=h,F.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},TU,eU,{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(U){var F=U.state,Q=U.name,B=F.rects.reference,R=F.rects.popper,V=F.modifiersData.preventOverflow,n=tU(F,{elementContext:"reference"}),l=tU(F,{altBoundary:!0}),d=CU(n,B),J=CU(l,R,V),N=DU(d),Z=DU(J);F.modifiersData[Q]={referenceClippingOffsets:d,popperEscapeOffsets:J,isReferenceHidden:N,hasPopperEscaped:Z},F.attributes.popper=Object.assign({},F.attributes.popper,{"data-popper-reference-hidden":N,"data-popper-escaped":Z})}}]}),pU=Q(93350),hU=Q(10400),cU=Q(14666),rU=Q(16840),mU=Q(85656);function MU(U){return(0,mU.Ay)("MuiPopper",U)}(0,rU.A)("MuiPopper",["root"]);var iU=Q(23759);const bU=["anchorEl","children","direction","disablePortal","modifiers","open","placement","popperOptions","popperRef","slotProps","slots","TransitionProps","ownerState"],vU=["anchorEl","children","container","direction","disablePortal","keepMounted","modifiers","open","placement","popperOptions","popperRef","style","transition","slotProps","slots"];function GU(U){return"function"===typeof U?U():U}function sU(U){return void 0!==U.nodeType}const XU={},YU=n.forwardRef(function(U,F){var Q;const{anchorEl:V,children:J,direction:N,disablePortal:Z,modifiers:W,open:S,placement:E,popperOptions:k,popperRef:t,slotProps:a={},slots:T={},TransitionProps:e}=U,C=(0,R.A)(U,bU),D=n.useRef(null),o=(0,l.A)(D,F),p=n.useRef(null),h=(0,l.A)(p,t),c=n.useRef(h);(0,d.A)(()=>{c.current=h},[h]),n.useImperativeHandle(t,()=>p.current,[]);const r=function(U,F){if("ltr"===F)return U;switch(U){case"bottom-end":return"bottom-start";case"bottom-start":return"bottom-end";case"top-end":return"top-start";case"top-start":return"top-end";default:return U}}(E,N),[m,M]=n.useState(r),[i,b]=n.useState(GU(V));n.useEffect(()=>{p.current&&p.current.forceUpdate()}),n.useEffect(()=>{V&&b(GU(V))},[V]),(0,d.A)(()=>{if(!i||!S)return;let U=[{name:"preventOverflow",options:{altBoundary:Z}},{name:"flip",options:{altBoundary:Z}},{name:"onUpdate",enabled:!0,phase:"afterWrite",fn:U=>{let{state:F}=U;M(F.placement)}}];null!=W&&(U=U.concat(W)),k&&null!=k.modifiers&&(U=U.concat(k.modifiers));const F=oU(i,D.current,(0,B.A)({placement:r},k,{modifiers:U}));return c.current(F),()=>{F.destroy(),c.current(null)}},[i,Z,W,S,k,r]);const v={placement:m};null!==e&&(v.TransitionProps=e);const G=(U=>{const{classes:F}=U;return(0,pU.A)({root:["root"]},MU,F)})(U),s=null!=(Q=T.root)?Q:"div",X=(0,hU.A)({elementType:s,externalSlotProps:a.root,externalForwardedProps:C,additionalProps:{role:"tooltip",ref:o},ownerState:U,className:G.root});return(0,iU.jsx)(s,(0,B.A)({},X,{children:"function"===typeof J?J(v):J}))}),yU=n.forwardRef(function(U,F){const{anchorEl:Q,children:V,container:l,direction:d="ltr",disablePortal:N=!1,keepMounted:Z=!1,modifiers:W,open:S,placement:E="bottom",popperOptions:k=XU,popperRef:t,style:a,transition:T=!1,slotProps:e={},slots:C={}}=U,D=(0,R.A)(U,vU),[o,p]=n.useState(!0);if(!Z&&!S&&(!T||o))return null;let h;if(l)h=l;else if(Q){const U=GU(Q);h=U&&sU(U)?(0,J.A)(U).body:(0,J.A)(null).body}const c=S||!Z||T&&!o?void 0:"none",r=T?{in:S,onEnter:()=>{p(!1)},onExited:()=>{p(!0)}}:void 0;return(0,iU.jsx)(cU.A,{disablePortal:N,container:h,children:(0,iU.jsx)(YU,(0,B.A)({anchorEl:Q,direction:d,disablePortal:N,modifiers:W,ref:F,open:T?!o:S,placement:E,popperOptions:k,popperRef:t,slotProps:e,slots:C},D,{style:(0,B.A)({position:"fixed",top:0,left:0,display:c},a),TransitionProps:r,children:V}))})});var zU=Q(34315),OU=Q(43946);const LU=["anchorEl","component","components","componentsProps","container","disablePortal","keepMounted","modifiers","open","placement","popperOptions","popperRef","transition","slots","slotProps"],HU=(0,zU.Ay)(yU,{name:"MuiPopper",slot:"Root",overridesResolver:(U,F)=>F.root})({}),xU=n.forwardRef(function(U,F){var Q;const n=(0,V.A)(),l=(0,OU.b)({props:U,name:"MuiPopper"}),{anchorEl:d,component:J,components:N,componentsProps:Z,container:W,disablePortal:S,keepMounted:E,modifiers:k,open:t,placement:a,popperOptions:T,popperRef:e,transition:C,slots:D,slotProps:o}=l,p=(0,R.A)(l,LU),h=null!=(Q=null==D?void 0:D.root)?Q:null==N?void 0:N.Root,c=(0,B.A)({anchorEl:d,container:W,disablePortal:S,keepMounted:E,modifiers:k,open:t,placement:a,popperOptions:T,popperRef:e,transition:C},p);return(0,iU.jsx)(HU,(0,B.A)({as:J,direction:null==n?void 0:n.direction,slots:{root:h},slotProps:null!=o?o:Z},c,{ref:F}))})},67713:(U,F,Q)=>{"use strict";Q.d(F,{LN:()=>nU,Ay:()=>dU,zr:()=>VU});var B=Q(92071);var R=Q(20344);function V(U){return function(){return function(U){return null==U?[]:Array.isArray(U)?U:Array.from(U)}(U.apply(this,arguments))}}var n=Q(56174),l=Array.prototype.find;function d(){return this.firstElementChild}var J=Array.prototype.filter;function N(){return Array.from(this.children)}function Z(U){return new Array(U.length)}function W(U,F){this.ownerDocument=U.ownerDocument,this.namespaceURI=U.namespaceURI,this._next=null,this._parent=U,this.__data__=F}function S(U,F,Q,B,R,V){for(var n,l=0,d=F.length,J=V.length;lF?1:U>=F?0:NaN}W.prototype={constructor:W,appendChild:function(U){return this._parent.insertBefore(U,this._next)},insertBefore:function(U,F){return this._parent.insertBefore(U,F)},querySelector:function(U){return this._parent.querySelector(U)},querySelectorAll:function(U){return this._parent.querySelectorAll(U)}};var T=Q(50435);function e(U){return function(){this.removeAttribute(U)}}function C(U){return function(){this.removeAttributeNS(U.space,U.local)}}function D(U,F){return function(){this.setAttribute(U,F)}}function o(U,F){return function(){this.setAttributeNS(U.space,U.local,F)}}function p(U,F){return function(){var Q=F.apply(this,arguments);null==Q?this.removeAttribute(U):this.setAttribute(U,Q)}}function h(U,F){return function(){var Q=F.apply(this,arguments);null==Q?this.removeAttributeNS(U.space,U.local):this.setAttributeNS(U.space,U.local,Q)}}var c=Q(66396);function r(U){return function(){delete this[U]}}function m(U,F){return function(){this[U]=F}}function M(U,F){return function(){var Q=F.apply(this,arguments);null==Q?delete this[U]:this[U]=Q}}function i(U){return U.trim().split(/^|\s+/)}function b(U){return U.classList||new v(U)}function v(U){this._node=U,this._names=i(U.getAttribute("class")||"")}function G(U,F){for(var Q=b(U),B=-1,R=F.length;++B=0&&(this._names.splice(F,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(U){return this._names.indexOf(U)>=0}};var I=Q(99494);function K(U){return function(){var F=this.ownerDocument,Q=this.namespaceURI;return Q===I.g&&F.documentElement.namespaceURI===I.g?F.createElement(U):F.createElementNS(Q,U)}}function f(U){return function(){return this.ownerDocument.createElementNS(U.space,U.local)}}function g(U){var F=(0,T.A)(U);return(F.local?f:K)(F)}function P(){return null}function A(){var U=this.parentNode;U&&U.removeChild(this)}function q(){var U=this.cloneNode(!1),F=this.parentNode;return F?F.insertBefore(U,this.nextSibling):U}function _(){var U=this.cloneNode(!0),F=this.parentNode;return F?F.insertBefore(U,this.nextSibling):U}function $(U){return function(){var F=this.__on;if(F){for(var Q,B=0,R=-1,V=F.length;B=h&&(h=p+1);!(o=C[h])&&++h=0;)(B=R[V])&&(n&&4^B.compareDocumentPosition(n)&&n.parentNode.insertBefore(B,n),n=B);return this},sort:function(U){function F(F,Q){return F&&Q?U(F.__data__,Q.__data__):!F-!Q}U||(U=a);for(var Q=this._groups,B=Q.length,R=new Array(B),V=0;V1?this.each((null==F?r:"function"===typeof F?M:m)(U,F)):this.node()[U]},classed:function(U,F){var Q=i(U+"");if(arguments.length<2){for(var B=b(this.node()),R=-1,V=Q.length;++R=0&&(F=U.slice(Q+1),U=U.slice(0,Q)),{type:U,name:F}})}(U+""),n=V.length;if(!(arguments.length<2)){for(l=F?UU:$,B=0;B{"use strict";function B(){return B=Object.assign?Object.assign.bind():function(U){for(var F=1;FB})},68203:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>V});Q(60471);var B=Q(45441),R=Q(23759);const V=(0,B.A)((0,R.jsx)("path",{d:"M7 10l5 5 5-5z"}),"ArrowDropDown")},68459:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>R});var B=Q(19674);function R(U,F){return function(U,F){return F.get?F.get.call(U):F.value}(U,(0,B.A)(F,U))}},68695:U=>{"use strict";U.exports=["Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array"]},69181:(U,F,Q)=>{"use strict";var B=Q(88699);U.exports=function(U){return B(U.length)}},69594:(U,F,Q)=>{"use strict";var B=Q(39550),R=Q(41612),V=Q(2969)(),n=Q(63034),l=Q(82170),d=B("%Math.floor%");U.exports=function(U,F){if("function"!==typeof U)throw new l("`fn` is not a function");if("number"!==typeof F||F<0||F>4294967295||d(F)!==F)throw new l("`length` must be a positive 32-bit integer");var Q=arguments.length>2&&!!arguments[2],B=!0,J=!0;if("length"in U&&n){var N=n(U,"length");N&&!N.configurable&&(B=!1),N&&!N.writable&&(J=!1)}return(B||J||!Q)&&(V?R(U,"length",F,!0,!0):R(U,"length",F)),U}},69619:U=>{"use strict";U.exports=Math.floor},69743:(U,F,Q)=>{"use strict";var B=Q(76690);U.exports=function(){return B()&&!!Symbol.toStringTag}},69796:(U,F,Q)=>{"use strict";var B=Function.prototype.call,R=Object.prototype.hasOwnProperty,V=Q(73396);U.exports=V.call(B,R)},70055:(U,F,Q)=>{"use strict";Q.d(F,{IJ:()=>v,Ay:()=>G});var B=Q(68102),R=Q(49257),V=Q(60471),n=Q(15714),l=Q(93350),d=Q(10400),J=Q(3512),N=Q(34315),Z=Q(43946),W=Q(79090),S=Q(60487),E=Q(23434),k=Q(90245),t=Q(57508),a=Q(52728),T=Q(5162),e=Q(16840),C=Q(85656);function D(U){return(0,C.Ay)("MuiPopover",U)}(0,e.A)("MuiPopover",["root","paper"]);var o=Q(23759);const p=["onEntering"],h=["action","anchorEl","anchorOrigin","anchorPosition","anchorReference","children","className","container","elevation","marginThreshold","open","PaperProps","slots","slotProps","transformOrigin","TransitionComponent","transitionDuration","TransitionProps","disableScrollLock"],c=["slotProps"];function r(U,F){let Q=0;return"number"===typeof F?Q=F:"center"===F?Q=U.height/2:"bottom"===F&&(Q=U.height),Q}function m(U,F){let Q=0;return"number"===typeof F?Q=F:"center"===F?Q=U.width/2:"right"===F&&(Q=U.width),Q}function M(U){return[U.horizontal,U.vertical].map(U=>"number"===typeof U?`${U}px`:U).join(" ")}function i(U){return"function"===typeof U?U():U}const b=(0,N.Ay)(a.A,{name:"MuiPopover",slot:"Root",overridesResolver:(U,F)=>F.root})({}),v=(0,N.Ay)(T.A,{name:"MuiPopover",slot:"Paper",overridesResolver:(U,F)=>F.paper})({position:"absolute",overflowY:"auto",overflowX:"hidden",minWidth:16,minHeight:16,maxWidth:"calc(100% - 32px)",maxHeight:"calc(100% - 32px)",outline:0}),G=V.forwardRef(function(U,F){var Q,N,a;const T=(0,Z.b)({props:U,name:"MuiPopover"}),{action:e,anchorEl:C,anchorOrigin:G={vertical:"top",horizontal:"left"},anchorPosition:s,anchorReference:X="anchorEl",children:Y,className:y,container:z,elevation:O=8,marginThreshold:L=16,open:H,PaperProps:x={},slots:u,slotProps:w,transformOrigin:j={vertical:"top",horizontal:"left"},TransitionComponent:I=t.A,transitionDuration:K="auto",TransitionProps:{onEntering:f}={},disableScrollLock:g=!1}=T,P=(0,R.A)(T.TransitionProps,p),A=(0,R.A)(T,h),q=null!=(Q=null==w?void 0:w.paper)?Q:x,_=V.useRef(),$=(0,k.A)(_,q.ref),UU=(0,B.A)({},T,{anchorOrigin:G,anchorReference:X,elevation:O,marginThreshold:L,externalPaperSlotProps:q,transformOrigin:j,TransitionComponent:I,transitionDuration:K,TransitionProps:P}),FU=(U=>{const{classes:F}=U;return(0,l.A)({root:["root"],paper:["paper"]},D,F)})(UU),QU=V.useCallback(()=>{if("anchorPosition"===X)return s;const U=i(C),F=(U&&1===U.nodeType?U:(0,S.A)(_.current).body).getBoundingClientRect();return{top:F.top+r(F,G.vertical),left:F.left+m(F,G.horizontal)}},[C,G.horizontal,G.vertical,s,X]),BU=V.useCallback(U=>({vertical:r(U,j.vertical),horizontal:m(U,j.horizontal)}),[j.horizontal,j.vertical]),RU=V.useCallback(U=>{const F={width:U.offsetWidth,height:U.offsetHeight},Q=BU(F);if("none"===X)return{top:null,left:null,transformOrigin:M(Q)};const B=QU();let R=B.top-Q.vertical,V=B.left-Q.horizontal;const n=R+F.height,l=V+F.width,d=(0,E.A)(i(C)),J=d.innerHeight-L,N=d.innerWidth-L;if(null!==L&&RJ){const U=n-J;R-=U,Q.vertical+=U}if(null!==L&&VN){const U=l-N;V-=U,Q.horizontal+=U}return{top:`${Math.round(R)}px`,left:`${Math.round(V)}px`,transformOrigin:M(Q)}},[C,X,QU,BU,L]),[VU,nU]=V.useState(H),lU=V.useCallback(()=>{const U=_.current;if(!U)return;const F=RU(U);null!==F.top&&(U.style.top=F.top),null!==F.left&&(U.style.left=F.left),U.style.transformOrigin=F.transformOrigin,nU(!0)},[RU]);V.useEffect(()=>(g&&window.addEventListener("scroll",lU),()=>window.removeEventListener("scroll",lU)),[C,g,lU]);V.useEffect(()=>{H&&lU()}),V.useImperativeHandle(e,()=>H?{updatePosition:()=>{lU()}}:null,[H,lU]),V.useEffect(()=>{if(!H)return;const U=(0,W.A)(()=>{lU()}),F=(0,E.A)(C);return F.addEventListener("resize",U),()=>{U.clear(),F.removeEventListener("resize",U)}},[C,H,lU]);let dU=K;"auto"!==K||I.muiSupportAuto||(dU=void 0);const JU=z||(C?(0,S.A)(i(C)).body:void 0),NU=null!=(N=null==u?void 0:u.root)?N:b,ZU=null!=(a=null==u?void 0:u.paper)?a:v,WU=(0,d.A)({elementType:ZU,externalSlotProps:(0,B.A)({},q,{style:VU?q.style:(0,B.A)({},q.style,{opacity:0})}),additionalProps:{elevation:O,ref:$},ownerState:UU,className:(0,n.A)(FU.paper,null==q?void 0:q.className)}),SU=(0,d.A)({elementType:NU,externalSlotProps:(null==w?void 0:w.root)||{},externalForwardedProps:A,additionalProps:{ref:F,slotProps:{backdrop:{invisible:!0}},container:JU,open:H},ownerState:UU,className:(0,n.A)(FU.root,y)}),{slotProps:EU}=SU,kU=(0,R.A)(SU,c);return(0,o.jsx)(NU,(0,B.A)({},kU,!(0,J.A)(NU)&&{slotProps:EU,disableScrollLock:g},{children:(0,o.jsx)(I,(0,B.A)({appear:!0,in:H,onEntering:(U,F)=>{f&&f(U,F),lU()},onExited:()=>{nU(!1)},timeout:dU},P,{children:(0,o.jsx)(ZU,(0,B.A)({},WU,{children:Y}))}))}))})},70208:(U,F,Q)=>{"use strict";var B=Q(39550),R=Q(89548),V=R(B("String.prototype.indexOf"));U.exports=function(U,F){var Q=B(U,!!F);return"function"===typeof Q&&V(U,".prototype.")>-1?R(Q):Q}},70569:U=>{U.exports=function(U){if(Array.isArray(U))return U},U.exports.__esModule=!0,U.exports.default=U.exports},70634:(U,F,Q)=>{"use strict";var B=Q(24687),R=String,V=TypeError;U.exports=function(U){if(B(U))return U;throw new V(R(U)+" is not an object")}},71805:function(U,F,Q){!function(U){"use strict";function F(U,F){U.super_=F,U.prototype=Object.create(F.prototype,{constructor:{value:U,enumerable:!1,writable:!0,configurable:!0}})}function B(U,F){Object.defineProperty(this,"kind",{value:U,enumerable:!0}),F&&F.length&&Object.defineProperty(this,"path",{value:F,enumerable:!0})}function R(U,F,Q){R.super_.call(this,"E",U),Object.defineProperty(this,"lhs",{value:F,enumerable:!0}),Object.defineProperty(this,"rhs",{value:Q,enumerable:!0})}function V(U,F){V.super_.call(this,"N",U),Object.defineProperty(this,"rhs",{value:F,enumerable:!0})}function n(U,F){n.super_.call(this,"D",U),Object.defineProperty(this,"lhs",{value:F,enumerable:!0})}function l(U,F,Q){l.super_.call(this,"A",U),Object.defineProperty(this,"index",{value:F,enumerable:!0}),Object.defineProperty(this,"item",{value:Q,enumerable:!0})}function d(U,F,Q){var B=U.slice((Q||F)+1||U.length);return U.length=F<0?U.length+F:F,U.push.apply(U,B),U}function J(U){var F="undefined"==typeof U?"undefined":b(U);return"object"!==F?F:U===Math?"math":null===U?"null":Array.isArray(U)?"array":"[object Date]"===Object.prototype.toString.call(U)?"date":"function"==typeof U.toString&&/^\/.*\//.test(U.toString())?"regexp":"object"}function N(U,F,Q,B,Z,W,S){S=S||[];var E=(Z=Z||[]).slice(0);if("undefined"!=typeof W){if(B){if("function"==typeof B&&B(E,W))return;if("object"===("undefined"==typeof B?"undefined":b(B))){if(B.prefilter&&B.prefilter(E,W))return;if(B.normalize){var k=B.normalize(E,W,U,F);k&&(U=k[0],F=k[1])}}}E.push(W)}"regexp"===J(U)&&"regexp"===J(F)&&(U=U.toString(),F=F.toString());var t="undefined"==typeof U?"undefined":b(U),a="undefined"==typeof F?"undefined":b(F),T="undefined"!==t||S&&S[S.length-1].lhs&&S[S.length-1].lhs.hasOwnProperty(W),e="undefined"!==a||S&&S[S.length-1].rhs&&S[S.length-1].rhs.hasOwnProperty(W);if(!T&&e)Q(new V(E,F));else if(!e&&T)Q(new n(E,U));else if(J(U)!==J(F))Q(new R(E,U,F));else if("date"===J(U)&&U-F!==0)Q(new R(E,U,F));else if("object"===t&&null!==U&&null!==F)if(S.filter(function(F){return F.lhs===U}).length)U!==F&&Q(new R(E,U,F));else{if(S.push({lhs:U,rhs:F}),Array.isArray(U)){var C;for(U.length,C=0;C=F.length?Q(new l(E,C,new n(void 0,U[C]))):N(U[C],F[C],Q,B,E,C,S);for(;C=0?(N(U[R],F[R],Q,B,E,R,S),o=d(o,n)):N(U[R],void 0,Q,B,E,R,S)}),o.forEach(function(U){N(void 0,F[U],Q,B,E,U,S)})}S.length=S.length-1}else U!==F&&("number"===t&&isNaN(U)&&isNaN(F)||Q(new R(E,U,F)))}function Z(U,F,Q,B){return B=B||[],N(U,F,function(U){U&&B.push(U)},Q),B.length?B:void 0}function W(U,F,Q){if(Q.path&&Q.path.length){var B,R=U[F],V=Q.path.length-1;for(B=0;B0&&void 0!==arguments[0]?arguments[0]:{},F=Object.assign({},X,U),Q=F.logger,B=F.stateTransformer,R=F.errorTransformer,V=F.predicate,n=F.logErrors,l=F.diffPredicate;if("undefined"==typeof Q)return function(){return function(U){return function(F){return U(F)}}};if(U.getState&&U.dispatch)return console.error("[redux-logger] redux-logger not installed. Make sure to pass logger instance as middleware:\n// Logger with default options\nimport { logger } from 'redux-logger'\nconst store = createStore(\n reducer,\n applyMiddleware(logger)\n)\n// Or you can create your own logger with custom options http://bit.ly/redux-logger-options\nimport createLogger from 'redux-logger'\nconst logger = createLogger({\n // ...options\n});\nconst store = createStore(\n reducer,\n applyMiddleware(logger)\n)\n"),function(){return function(U){return function(F){return U(F)}}};var d=[];return function(U){var Q=U.getState;return function(U){return function(J){if("function"==typeof V&&!V(Q,J))return U(J);var N={};d.push(N),N.started=i.now(),N.startedTime=new Date,N.prevState=B(Q()),N.action=J;var Z=void 0;if(n)try{Z=U(J)}catch(U){N.error=R(U)}else Z=U(J);N.took=i.now()-N.started,N.nextState=B(Q());var W=F.diff&&"function"==typeof l?l(Q,J):F.diff;if(o(d,Object.assign({},F,{diff:W})),d.length=0,N.error)throw N.error;return Z}}}}var h,c,r=function(U,F){return new Array(F+1).join(U)},m=function(U,F){return r("0",F-U.toString().length)+U},M=function(U){return m(U.getHours(),2)+":"+m(U.getMinutes(),2)+":"+m(U.getSeconds(),2)+"."+m(U.getMilliseconds(),3)},i="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance:Date,b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(U){return typeof U}:function(U){return U&&"function"==typeof Symbol&&U.constructor===Symbol&&U!==Symbol.prototype?"symbol":typeof U},v=function(U){if(Array.isArray(U)){for(var F=0,Q=Array(U.length);F0&&void 0!==arguments[0]?arguments[0]:{},F=U.dispatch,Q=U.getState;return"function"==typeof F||"function"==typeof Q?p()({dispatch:F,getState:Q}):void console.error("\n[redux-logger v3] BREAKING CHANGE\n[redux-logger v3] Since 3.0.0 redux-logger exports by default logger with default settings.\n[redux-logger v3] Change\n[redux-logger v3] import createLogger from 'redux-logger'\n[redux-logger v3] to\n[redux-logger v3] import { createLogger } from 'redux-logger'\n")};U.defaults=X,U.createLogger=p,U.logger=Y,U.default=Y,Object.defineProperty(U,"__esModule",{value:!0})}(F)},71857:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>B});const B=Q(60471).createContext(void 0)},71862:(U,F,Q)=>{"use strict";var B=Q(89263),R=Function.prototype,V=R.apply,n=R.call;U.exports="object"==typeof Reflect&&Reflect.apply||(B?n.bind(V):function(){return n.apply(V,arguments)})},72095:(U,F,Q)=>{"use strict";var B=Q(28721),R=Q(8500),V=Q(8628).S,n=R.ValidatorResult,l=R.ValidatorResultError,d=R.SchemaError,J=R.SchemaContext,N=function U(){this.customFormats=Object.create(U.prototype.customFormats),this.schemas={},this.unresolvedRefs=[],this.types=Object.create(W),this.attributes=Object.create(B.validators)};function Z(U){var F="string"===typeof U?U:U.$ref;return"string"==typeof F&&F}N.prototype.customFormats={},N.prototype.schemas=null,N.prototype.types=null,N.prototype.attributes=null,N.prototype.unresolvedRefs=null,N.prototype.addSchema=function(U,F){var Q=this;if(!U)return null;var B=V(F||"/",U),R=F||U.$id||U.id;for(var n in B.id)this.schemas[n]=B.id[n];for(var n in B.ref)this.unresolvedRefs.push(n);return this.unresolvedRefs=this.unresolvedRefs.filter(function(U){return"undefined"===typeof Q.schemas[U]}),this.schemas[R]},N.prototype.addSubSchemaArray=function(U,F){if(Array.isArray(F))for(var Q=0;Q",U);var n=R.objectGetPath(Q.schemas[V],B.substr(1));if(void 0===n)throw new d("no such schema "+B+" located in <"+V+">",U);return{subschema:n,switchSchema:F}},N.prototype.testType=function(U,F,Q,B,R){if(void 0!==R){if(null===R)throw new d('Unexpected null in "type" keyword');if("function"==typeof this.types[R])return this.types[R].call(this,U);if(R&&"object"==typeof R){var V=this.validateSchema(U,R,Q,B);return void 0===V||!(V&&V.errors.length)}return!0}};var W=N.prototype.types={};W.string=function(U){return"string"==typeof U},W.number=function(U){return"number"==typeof U&&isFinite(U)},W.integer=function(U){return"number"==typeof U&&U%1===0},W.boolean=function(U){return"boolean"==typeof U},W.array=function(U){return Array.isArray(U)},W.null=function(U){return null===U},W.date=function(U){return U instanceof Date},W.any=function(U){return!0},W.object=function(U){return U&&"object"===typeof U&&!Array.isArray(U)&&!(U instanceof Date)},U.exports=N},72328:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>C});var B=Q(49257),R=Q(68102),V=Q(60471),n=Q(15714),l=Q(93350),d=Q(19166),J=Q(34315),N=Q(43946),Z=Q(82144),W=Q(93623),S=Q(16840),E=Q(85656);function k(U){return(0,E.Ay)("MuiIconButton",U)}const t=(0,S.A)("MuiIconButton",["root","disabled","colorInherit","colorPrimary","colorSecondary","colorError","colorInfo","colorSuccess","colorWarning","edgeStart","edgeEnd","sizeSmall","sizeMedium","sizeLarge"]);var a=Q(23759);const T=["edge","children","className","color","disabled","disableFocusRipple","size"],e=(0,J.Ay)(Z.A,{name:"MuiIconButton",slot:"Root",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[F.root,"default"!==Q.color&&F[`color${(0,W.A)(Q.color)}`],Q.edge&&F[`edge${(0,W.A)(Q.edge)}`],F[`size${(0,W.A)(Q.size)}`]]}})(U=>{let{theme:F,ownerState:Q}=U;return(0,R.A)({textAlign:"center",flex:"0 0 auto",fontSize:F.typography.pxToRem(24),padding:8,borderRadius:"50%",overflow:"visible",color:(F.vars||F).palette.action.active,transition:F.transitions.create("background-color",{duration:F.transitions.duration.shortest})},!Q.disableRipple&&{"&:hover":{backgroundColor:F.vars?`rgba(${F.vars.palette.action.activeChannel} / ${F.vars.palette.action.hoverOpacity})`:(0,d.X4)(F.palette.action.active,F.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"start"===Q.edge&&{marginLeft:"small"===Q.size?-3:-12},"end"===Q.edge&&{marginRight:"small"===Q.size?-3:-12})},U=>{let{theme:F,ownerState:Q}=U;var B;const V=null==(B=(F.vars||F).palette)?void 0:B[Q.color];return(0,R.A)({},"inherit"===Q.color&&{color:"inherit"},"inherit"!==Q.color&&"default"!==Q.color&&(0,R.A)({color:null==V?void 0:V.main},!Q.disableRipple&&{"&:hover":(0,R.A)({},V&&{backgroundColor:F.vars?`rgba(${V.mainChannel} / ${F.vars.palette.action.hoverOpacity})`:(0,d.X4)(V.main,F.palette.action.hoverOpacity)},{"@media (hover: none)":{backgroundColor:"transparent"}})}),"small"===Q.size&&{padding:5,fontSize:F.typography.pxToRem(18)},"large"===Q.size&&{padding:12,fontSize:F.typography.pxToRem(28)},{[`&.${t.disabled}`]:{backgroundColor:"transparent",color:(F.vars||F).palette.action.disabled}})}),C=V.forwardRef(function(U,F){const Q=(0,N.b)({props:U,name:"MuiIconButton"}),{edge:V=!1,children:d,className:J,color:Z="default",disabled:S=!1,disableFocusRipple:E=!1,size:t="medium"}=Q,C=(0,B.A)(Q,T),D=(0,R.A)({},Q,{edge:V,color:Z,disabled:S,disableFocusRipple:E,size:t}),o=(U=>{const{classes:F,disabled:Q,color:B,edge:R,size:V}=U,n={root:["root",Q&&"disabled","default"!==B&&`color${(0,W.A)(B)}`,R&&`edge${(0,W.A)(R)}`,`size${(0,W.A)(V)}`]};return(0,l.A)(n,k,F)})(D);return(0,a.jsx)(e,(0,R.A)({className:(0,n.A)(o.root,J),centerRipple:!0,focusRipple:!E,disabled:S,ref:F},C,{ownerState:D,children:d}))})},72367:(U,F,Q)=>{"use strict";function B(U){if(void 0===U)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return U}Q.d(F,{A:()=>B})},72668:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>d});var B=Q(68102);function R(U){var F,Q,B="";if("string"==typeof U||"number"==typeof U)B+=U;else if("object"==typeof U)if(Array.isArray(U)){var V=U.length;for(F=0;F!(F.match(/^on[A-Z]/)&&"function"===typeof U[F])).forEach(Q=>{F[Q]=U[Q]}),F};const d=function(U){const{getSlotProps:F,additionalProps:Q,externalSlotProps:R,externalForwardedProps:d,className:J}=U;if(!F){const U=V(null==Q?void 0:Q.className,J,null==d?void 0:d.className,null==R?void 0:R.className),F=(0,B.A)({},null==Q?void 0:Q.style,null==d?void 0:d.style,null==R?void 0:R.style),n=(0,B.A)({},Q,d,R);return U.length>0&&(n.className=U),Object.keys(F).length>0&&(n.style=F),{props:n,internalRef:void 0}}const N=(0,n.A)((0,B.A)({},d,R)),Z=l(R),W=l(d),S=F(N),E=V(null==S?void 0:S.className,null==Q?void 0:Q.className,J,null==d?void 0:d.className,null==R?void 0:R.className),k=(0,B.A)({},null==S?void 0:S.style,null==Q?void 0:Q.style,null==d?void 0:d.style,null==R?void 0:R.style),t=(0,B.A)({},S,Q,W,Z);return E.length>0&&(t.className=E),Object.keys(k).length>0&&(t.style=k),{props:t,internalRef:S.ref}}},73125:(U,F,Q)=>{"use strict";var B=Q(16776),R=Q(60471);function V(U){return U&&"object"===typeof U&&"default"in U?U:{default:U}}var n=V(B);U.exports=function(U){void 0===U&&(U={});var F=U.onResize,Q=R.useRef(void 0);Q.current=F;var B=R.useRef(),V=R.useState({width:void 0,height:void 0}),l=V[0],d=V[1],J=R.useRef(!1);R.useEffect(function(){return function(){J.current=!0}},[]);var N=R.useRef({width:void 0,height:void 0}),Z=function(U,F){var Q=R.useRef(null),B=R.useCallback(function(U){Q.current=U,l()},[]),V=R.useRef(null),n=R.useRef(),l=function(){var B=null;Q.current?B=Q.current:F&&(B=F instanceof HTMLElement?F:F.current),V.current!==B&&(n.current&&(n.current(),n.current=null),V.current=B,B&&(n.current=U(B)))};return R.useEffect(function(){l()},[F]),B}(function(U){return B.current||(B.current=new n.default(function(U){if(Array.isArray(U)){var F=U[0],B=Math.round(F.contentRect.width),R=Math.round(F.contentRect.height);if(N.current.width!==B||N.current.height!==R){var V={width:B,height:R};Q.current?Q.current(V):(N.current.width=B,N.current.height=R,J.current||d(V))}}})),B.current.observe(U),function(){B.current&&B.current.unobserve(U)}},U.ref);return R.useMemo(function(){return{ref:Z,width:l.width,height:l.height}},[Z,l?l.width:null,l?l.height:null])}},73189:(U,F,Q)=>{"use strict";Q.d(F,{Wx:()=>W});var B=Q(60471),R=Object.defineProperty,V=(U,F,Q)=>((U,F,Q)=>F in U?R(U,F,{enumerable:!0,configurable:!0,writable:!0,value:Q}):U[F]=Q)(U,"symbol"!==typeof F?F+"":F,Q),n=new Map,l=new WeakMap,d=0,J=void 0;function N(U){return Object.keys(U).sort().filter(F=>void 0!==U[F]).map(F=>{return`${F}_${"root"===F?(Q=U.root,Q?(l.has(Q)||(d+=1,l.set(Q,d.toString())),l.get(Q)):"0"):U[F]}`;var Q}).toString()}function Z(U,F){let Q=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},B=arguments.length>3&&void 0!==arguments[3]?arguments[3]:J;if("undefined"===typeof window.IntersectionObserver&&void 0!==B){const R=U.getBoundingClientRect();return F(B,{isIntersecting:B,target:U,intersectionRatio:"number"===typeof Q.threshold?Q.threshold:0,time:0,boundingClientRect:R,intersectionRect:R,rootBounds:R}),()=>{}}const{id:R,observer:V,elements:l}=function(U){const F=N(U);let Q=n.get(F);if(!Q){const B=new Map;let R;const V=new IntersectionObserver(F=>{F.forEach(F=>{var Q;const V=F.isIntersecting&&R.some(U=>F.intersectionRatio>=U);U.trackVisibility&&"undefined"===typeof F.isVisible&&(F.isVisible=V),null==(Q=B.get(F.target))||Q.forEach(U=>{U(V,F)})})},U);R=V.thresholds||(Array.isArray(U.threshold)?U.threshold:[U.threshold||0]),Q={id:F,observer:V,elements:B},n.set(F,Q)}return Q}(Q),d=l.get(U)||[];return l.has(U)||l.set(U,d),d.push(F),V.observe(U),function(){d.splice(d.indexOf(F),1),0===d.length&&(l.delete(U),V.unobserve(U)),0===l.size&&(V.disconnect(),n.delete(R))}}B.Component;function W(){let{threshold:U,delay:F,trackVisibility:Q,rootMargin:R,root:V,triggerOnce:n,skip:l,initialInView:d,fallbackInView:J,onChange:N}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var W;const[S,E]=B.useState(null),k=B.useRef(N),[t,a]=B.useState({inView:!!d,entry:void 0});k.current=N,B.useEffect(()=>{if(l||!S)return;let B;return B=Z(S,(U,F)=>{a({inView:U,entry:F}),k.current&&k.current(U,F),F.isIntersecting&&n&&B&&(B(),B=void 0)},{root:V,rootMargin:R,threshold:U,trackVisibility:Q,delay:F},J),()=>{B&&B()}},[Array.isArray(U)?U.toString():U,S,V,R,n,l,Q,J,F]);const T=null==(W=t.entry)?void 0:W.target,e=B.useRef(void 0);S||!T||n||l||e.current===T||(e.current=T,a({inView:!!d,entry:void 0}));const C=[E,t.inView,t.entry];return C.ref=C[0],C.inView=C[1],C.entry=C[2],C}},73273:(U,F,Q)=>{var B=Q(83431),R=Q(61741),V=Array.prototype.push;function n(U,F){return 2==F?function(F,Q){return U(F,Q)}:function(F){return U(F)}}function l(U){for(var F=U?U.length:0,Q=Array(F);F--;)Q[F]=U[F];return Q}function d(U,F){return function(){var Q=arguments.length;if(Q){for(var B=Array(Q);Q--;)B[Q]=arguments[Q];var R=B[0]=F.apply(void 0,B);return U.apply(void 0,B),R}}}U.exports=function U(F,Q,J,N){var Z="function"==typeof Q,W=Q===Object(Q);if(W&&(N=J,J=Q,Q=void 0),null==J)throw new TypeError;N||(N={});var S=!("cap"in N)||N.cap,E=!("curry"in N)||N.curry,k=!("fixed"in N)||N.fixed,t=!("immutable"in N)||N.immutable,a=!("rearg"in N)||N.rearg,T=Z?J:R,e="curry"in N&&N.curry,C="fixed"in N&&N.fixed,D="rearg"in N&&N.rearg,o=Z?J.runInContext():void 0,p=Z?J:{ary:F.ary,assign:F.assign,clone:F.clone,curry:F.curry,forEach:F.forEach,isArray:F.isArray,isError:F.isError,isFunction:F.isFunction,isWeakMap:F.isWeakMap,iteratee:F.iteratee,keys:F.keys,rearg:F.rearg,toInteger:F.toInteger,toPath:F.toPath},h=p.ary,c=p.assign,r=p.clone,m=p.curry,M=p.forEach,i=p.isArray,b=p.isError,v=p.isFunction,G=p.isWeakMap,s=p.keys,X=p.rearg,Y=p.toInteger,y=p.toPath,z=s(B.aryMethod),O={castArray:function(U){return function(){var F=arguments[0];return i(F)?U(l(F)):U.apply(void 0,arguments)}},iteratee:function(U){return function(){var F=arguments[1],Q=U(arguments[0],F),B=Q.length;return S&&"number"==typeof F?(F=F>2?F-2:1,B&&B<=F?Q:n(Q,F)):Q}},mixin:function(U){return function(F){var Q=this;if(!v(Q))return U(Q,Object(F));var B=[];return M(s(F),function(U){v(F[U])&&B.push([U,Q.prototype[U]])}),U(Q,Object(F)),M(B,function(U){var F=U[1];v(F)?Q.prototype[U[0]]=F:delete Q.prototype[U[0]]}),Q}},nthArg:function(U){return function(F){var Q=F<0?1:Y(F)+1;return m(U(F),Q)}},rearg:function(U){return function(F,Q){var B=Q?Q.length:0;return m(U(F,Q),B)}},runInContext:function(Q){return function(B){return U(F,Q(B),N)}}};function L(U,F){if(S){var Q=B.iterateeRearg[U];if(Q)return function(U,F){return j(U,function(U){var Q=F.length;return function(U,F){return 2==F?function(F,Q){return U.apply(void 0,arguments)}:function(F){return U.apply(void 0,arguments)}}(X(n(U,Q),F),Q)})}(F,Q);var R=!Z&&B.iterateeAry[U];if(R)return function(U,F){return j(U,function(U){return"function"==typeof U?n(U,F):U})}(F,R)}return F}function H(U,F,Q){if(k&&(C||!B.skipFixed[U])){var R=B.methodSpread[U],n=R&&R.start;return void 0===n?h(F,Q):function(U,F){return function(){for(var Q=arguments.length,B=Q-1,R=Array(Q);Q--;)R[Q]=arguments[Q];var n=R[F],l=R.slice(0,F);return n&&V.apply(l,n),F!=B&&V.apply(l,R.slice(F+1)),U.apply(this,l)}}(F,n)}return F}function x(U,F,Q){return a&&Q>1&&(D||!B.skipRearg[U])?X(F,B.methodRearg[U]||B.aryRearg[Q]):F}function u(U,F){for(var Q=-1,B=(F=y(F)).length,R=B-1,V=r(Object(U)),n=V;null!=n&&++Q1?m(F,Q):F}(0,R=L(V,R),U),!1}}),!R}),R||(R=n),R==F&&(R=e?m(R,1):function(){return F.apply(this,arguments)}),R.convert=w(V,F),R.placeholder=F.placeholder=Q,R}if(!W)return I(Q,J,T);var K=J,f=[];return M(z,function(U){M(B.aryMethod[U],function(U){var F=K[B.remap[U]||U];F&&f.push([U,I(U,F,K)])})}),M(s(K),function(U){var F=K[U];if("function"==typeof F){for(var Q=f.length;Q--;)if(f[Q][0]==U)return;F.convert=w(U,F),f.push([U,F])}}),M(f,function(U){K[U[0]]=U[1]}),K.convert=function(U){return K.runInContext.convert(U)(void 0)},K.placeholder=K,M(s(K),function(U){M(B.realToAlias[U]||[],function(F){K[F]=K[U]})}),K}},73396:(U,F,Q)=>{"use strict";var B=Q(80696);U.exports=Function.prototype.bind||B},74110:()=>{"undefined"!==typeof Element&&(Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),Element.prototype.closest||(Element.prototype.closest=function(U){var F=this;do{if(F.matches(U))return F;F=F.parentElement||F.parentNode}while(null!==F&&1===F.nodeType);return null}))},74328:(U,F,Q)=>{"use strict";var B=Q(54914),R=Q(32736);U.exports=function(U){var F=B(U,"string");return R(F)?F:F+""}},74552:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>n,b:()=>V});var B=Q(16840),R=Q(85656);function V(U){return(0,R.Ay)("MuiListItemText",U)}const n=(0,B.A)("MuiListItemText",["root","multiline","dense","inset","primary","secondary"])},74572:(U,F,Q)=>{"use strict";function B(U){return B=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(U){return U.__proto__||Object.getPrototypeOf(U)},B(U)}Q.d(F,{A:()=>B})},74740:(U,F,Q)=>{"use strict";var B=Q(89548),R=Q(63591),V=Q(62648),n=Q(31645),l=Q(60251),d=B(n(),Number);R(d,{getPolyfill:n,implementation:V,shim:l}),U.exports=d},75190:(U,F,Q)=>{"use strict";Q.d(F,{Rk:()=>B,SF:()=>R,sk:()=>V});function B(U,F,Q){var B="";return Q.split(" ").forEach(function(Q){void 0!==U[Q]?F.push(U[Q]+";"):Q&&(B+=Q+" ")}),B}var R=function(U,F,Q){var B=U.key+"-"+F.name;!1===Q&&void 0===U.registered[B]&&(U.registered[B]=F.styles)},V=function(U,F,Q){R(U,F,Q);var B=U.key+"-"+F.name;if(void 0===U.inserted[F.name]){var V=F;do{U.insert(F===V?"."+B:"",V,U.sheet,!0),V=V.next}while(void 0!==V)}}},75544:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>R});var B=Q(44392);function R(U){return(0,B.A)(U).defaultView||window}},76349:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>B});const B=U=>()=>U},76690:U=>{"use strict";U.exports=function(){if("function"!==typeof Symbol||"function"!==typeof Object.getOwnPropertySymbols)return!1;if("symbol"===typeof Symbol.iterator)return!0;var U={},F=Symbol("test"),Q=Object(F);if("string"===typeof F)return!1;if("[object Symbol]"!==Object.prototype.toString.call(F))return!1;if("[object Symbol]"!==Object.prototype.toString.call(Q))return!1;for(var B in U[F]=42,U)return!1;if("function"===typeof Object.keys&&0!==Object.keys(U).length)return!1;if("function"===typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(U).length)return!1;var R=Object.getOwnPropertySymbols(U);if(1!==R.length||R[0]!==F)return!1;if(!Object.prototype.propertyIsEnumerable.call(U,F))return!1;if("function"===typeof Object.getOwnPropertyDescriptor){var V=Object.getOwnPropertyDescriptor(U,F);if(42!==V.value||!0!==V.enumerable)return!1}return!0}},77003:(U,F,Q)=>{"use strict";!function U(){if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(U)}catch(F){console.error(F)}}(),U.exports=Q(95232)},77229:(U,F,Q)=>{"use strict";Q.d(F,{nD:()=>LM,ye:()=>Zi,Nn:()=>ky,$n:()=>bM,KE:()=>q3,$2:()=>W.EditorClassName,In:()=>dM,K0:()=>DM,e3:()=>S3,Wh:()=>KM,pd:()=>YM,tS:()=>W.KETCHER_MACROMOLECULES_ROOT_NODE_SELECTOR,c9:()=>GM,Xv:()=>lX,Xx:()=>dX,Dk:()=>RX,_Y:()=>VX,Kn:()=>Qa,VH:()=>Wi,dR:()=>DX});var B=Q(41705),R=Q(97850),V=Q(23759),n=Q(60471),l=Q(45841),d=Q(61790),J=Q.n(d),N=(Q(11288),Q(74110),Q(19455),Q(5379),Q(47397),Q(92099)),Z=Q(48183),W=Q(10650),S=Q(81515),E=Q(42912),k=Q(74572),t=Q(72367),a=Q(50171),T=Q(85420),e=Q(40694),C=Q(50889),D=Q(31916),o=Q(94300),p=Q(94044),h=Q.n(p);function c(U,F){return F||(F=U.slice(0)),Object.freeze(Object.defineProperties(U,{raw:{value:Object.freeze(F)}}))}var r=Q(1276),m=Q(55830),M=Q(40746),i=Q.n(M),b=Q(88818),v=Q(13017),G=Q(56321),s=Q(15812),X=(Q(71805),Q(41331)),Y=Q(73125),y=Q.n(Y),z=Q(73189),O=Q(72328),L=Q(93895),H=Q(88368),x=Q(13677),u=Q(70055),w=Q(49257),j=Q(68102),I=Q(15714),K=Q(29962),f=Q(93350),g=Q(96048),P=Q(87368);function A(U){let F=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,Q=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return(0,P.A)(U,F,Q)}function q(U){if(U.type)return U;if("#"===U.charAt(0))return q(function(U){U=U.slice(1);const F=new RegExp(`.{1,${U.length>=6?2:1}}`,"g");let Q=U.match(F);return Q&&1===Q[0].length&&(Q=Q.map(U=>U+U)),Q?`rgb${4===Q.length?"a":""}(${Q.map((U,F)=>F<3?parseInt(U,16):Math.round(parseInt(U,16)/255*1e3)/1e3).join(", ")})`:""}(U));const F=U.indexOf("("),Q=U.substring(0,F);if(-1===["rgb","rgba","hsl","hsla","color"].indexOf(Q))throw new Error((0,g.A)(9,U));let B,R=U.substring(F+1,U.length-1);if("color"===Q){if(R=R.split(" "),B=R.shift(),4===R.length&&"/"===R[3].charAt(0)&&(R[3]=R[3].slice(1)),-1===["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(B))throw new Error((0,g.A)(10,B))}else R=R.split(",");return R=R.map(U=>parseFloat(U)),{type:Q,values:R,colorSpace:B}}function _(U){const{type:F,colorSpace:Q}=U;let{values:B}=U;return-1!==F.indexOf("rgb")?B=B.map((U,F)=>F<3?parseInt(U,10):U):-1!==F.indexOf("hsl")&&(B[1]=`${B[1]}%`,B[2]=`${B[2]}%`),B=-1!==F.indexOf("color")?`${Q} ${B.join(" ")}`:`${B.join(", ")}`,`${F}(${B})`}function $(U,F){return U=q(U),F=A(F),"rgb"!==U.type&&"hsl"!==U.type||(U.type+="a"),"color"===U.type?U.values[3]=`/${F}`:U.values[3]=F,_(U)}var UU=Q(82144),FU=Q(93623),QU=Q(43946),BU=Q(34315),RU=Q(16840),VU=Q(85656);function nU(U){return(0,VU.Ay)("MuiToggleButton",U)}const lU=(0,RU.A)("MuiToggleButton",["root","disabled","selected","standard","primary","secondary","sizeSmall","sizeMedium","sizeLarge","fullWidth"]);const dU=n.createContext({});const JU=n.createContext(void 0);function NU(U,F){return void 0!==F&&void 0!==U&&(Array.isArray(F)?F.indexOf(U)>=0:U===F)}const ZU=["value"],WU=["children","className","color","disabled","disableFocusRipple","fullWidth","onChange","onClick","selected","size","value"],SU=(0,BU.Ay)(UU.A,{name:"MuiToggleButton",slot:"Root",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[F.root,F[`size${(0,FU.A)(Q.size)}`]]}})(U=>{let F,{theme:Q,ownerState:B}=U,R="standard"===B.color?Q.palette.text.primary:Q.palette[B.color].main;return Q.vars&&(R="standard"===B.color?Q.vars.palette.text.primary:Q.vars.palette[B.color].main,F="standard"===B.color?Q.vars.palette.text.primaryChannel:Q.vars.palette[B.color].mainChannel),(0,j.A)({},Q.typography.button,{borderRadius:(Q.vars||Q).shape.borderRadius,padding:11,border:`1px solid ${(Q.vars||Q).palette.divider}`,color:(Q.vars||Q).palette.action.active},B.fullWidth&&{width:"100%"},{[`&.${lU.disabled}`]:{color:(Q.vars||Q).palette.action.disabled,border:`1px solid ${(Q.vars||Q).palette.action.disabledBackground}`},"&:hover":{textDecoration:"none",backgroundColor:Q.vars?`rgba(${Q.vars.palette.text.primaryChannel} / ${Q.vars.palette.action.hoverOpacity})`:$(Q.palette.text.primary,Q.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${lU.selected}`]:{color:R,backgroundColor:Q.vars?`rgba(${F} / ${Q.vars.palette.action.selectedOpacity})`:$(R,Q.palette.action.selectedOpacity),"&:hover":{backgroundColor:Q.vars?`rgba(${F} / calc(${Q.vars.palette.action.selectedOpacity} + ${Q.vars.palette.action.hoverOpacity}))`:$(R,Q.palette.action.selectedOpacity+Q.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:Q.vars?`rgba(${F} / ${Q.vars.palette.action.selectedOpacity})`:$(R,Q.palette.action.selectedOpacity)}}}},"small"===B.size&&{padding:7,fontSize:Q.typography.pxToRem(13)},"large"===B.size&&{padding:15,fontSize:Q.typography.pxToRem(15)})}),EU=n.forwardRef(function(U,F){const Q=n.useContext(dU),{value:B}=Q,R=(0,w.A)(Q,ZU),l=n.useContext(JU),d=(0,K.A)((0,j.A)({},R,{selected:NU(U.value,B)}),U),J=(0,QU.b)({props:d,name:"MuiToggleButton"}),{children:N,className:Z,color:W="standard",disabled:S=!1,disableFocusRipple:E=!1,fullWidth:k=!1,onChange:t,onClick:a,selected:T,size:e="medium",value:C}=J,D=(0,w.A)(J,WU),o=(0,j.A)({},J,{color:W,disabled:S,disableFocusRipple:E,fullWidth:k,size:e}),p=(U=>{const{classes:F,fullWidth:Q,selected:B,disabled:R,size:V,color:n}=U,l={root:["root",B&&"selected",R&&"disabled",Q&&"fullWidth",`size${(0,FU.A)(V)}`,n]};return(0,f.A)(l,nU,F)})(o),h=l||"";return(0,V.jsx)(SU,(0,j.A)({className:(0,I.A)(R.className,p.root,Z,h),disabled:S,focusRipple:!E,ref:F,onClick:U=>{a&&(a(U,C),U.defaultPrevented)||t&&t(U,C)},onChange:t,value:C,ownerState:o,"aria-pressed":T},D,{children:N}))}),kU=EU;var tU=Q(64776),aU=Q(40544);const TU=U=>{const F=n.useRef({});return n.useEffect(()=>{F.current=U}),F.current};var eU=Q(30874),CU=Q(13384);function DU(U){return"undefined"!==typeof U.normalize?U.normalize("NFD").replace(/[\u0300-\u036f]/g,""):U}function oU(){let U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{ignoreAccents:F=!0,ignoreCase:Q=!0,limit:B,matchFrom:R="any",stringify:V,trim:n=!1}=U;return(U,l)=>{let{inputValue:d,getOptionLabel:J}=l,N=n?d.trim():d;Q&&(N=N.toLowerCase()),F&&(N=DU(N));const Z=N?U.filter(U=>{let B=(V||J)(U);return Q&&(B=B.toLowerCase()),F&&(B=DU(B)),"start"===R?0===B.indexOf(N):B.indexOf(N)>-1}):U;return"number"===typeof B?Z.slice(0,B):Z}}function pU(U,F){for(let Q=0;Q{var F;return null!==U.current&&(null==(F=U.current.parentElement)?void 0:F.contains(document.activeElement))},rU=[];const mU=function(U){const{unstable_isActiveElementInListbox:F=cU,unstable_classNamePrefix:Q="Mui",autoComplete:B=!1,autoHighlight:R=!1,autoSelect:V=!1,blurOnSelect:l=!1,clearOnBlur:d=!U.freeSolo,clearOnEscape:J=!1,componentName:N="useAutocomplete",defaultValue:Z=(U.multiple?rU:null),disableClearable:W=!1,disableCloseOnSelect:S=!1,disabled:E,disabledItemsFocusable:k=!1,disableListWrap:t=!1,filterOptions:a=hU,filterSelectedOptions:T=!1,freeSolo:e=!1,getOptionDisabled:C,getOptionKey:D,getOptionLabel:o=U=>{var F;return null!=(F=U.label)?F:U},groupBy:p,handleHomeEndKeys:h=!U.freeSolo,id:c,includeInputInList:r=!1,inputValue:m,isOptionEqualToValue:M=(U,F)=>U===F,multiple:i=!1,onChange:b,onClose:v,onHighlightChange:G,onInputChange:s,onOpen:X,open:Y,openOnFocus:y=!1,options:z,readOnly:O=!1,selectOnFocus:L=!U.freeSolo,value:H}=U,x=(0,tU.A)(c);let u=o;u=U=>{const F=o(U);return"string"!==typeof F?String(F):F};const w=n.useRef(!1),I=n.useRef(!0),K=n.useRef(null),f=n.useRef(null),[g,P]=n.useState(null),[A,q]=n.useState(-1),_=R?0:-1,$=n.useRef(_),[UU,FU]=(0,aU.A)({controlled:H,default:Z,name:N}),[QU,BU]=(0,aU.A)({controlled:m,default:"",name:N,state:"inputValue"}),[RU,VU]=n.useState(!1),nU=n.useCallback((U,F)=>{if(!(i?UU.length!T||!(i?UU:[UU]).some(F=>null!==F&&M(U,F))),{inputValue:ZU&&JU?"":QU,getOptionLabel:u}):[],EU=TU({filteredOptions:SU,value:UU,inputValue:QU});n.useEffect(()=>{const U=UU!==EU.value;RU&&!U||e&&!U||nU(null,UU)},[UU,nU,RU,EU.value,e]);const kU=lU&&SU.length>0&&!O,DU=(0,eU.A)(U=>{-1===U?K.current.focus():g.querySelector(`[data-tag-index="${U}"]`).focus()});n.useEffect(()=>{i&&A>UU.length-1&&(q(-1),DU(-1))},[UU,i,A,DU]);const oU=(0,eU.A)(U=>{let{event:F,index:B,reason:R="auto"}=U;if($.current=B,-1===B?K.current.removeAttribute("aria-activedescendant"):K.current.setAttribute("aria-activedescendant",`${x}-option-${B}`),G&&G(F,-1===B?null:SU[B],R),!f.current)return;const V=f.current.querySelector(`[role="option"].${Q}-focused`);V&&(V.classList.remove(`${Q}-focused`),V.classList.remove(`${Q}-focusVisible`));let n=f.current;if("listbox"!==f.current.getAttribute("role")&&(n=f.current.parentElement.querySelector('[role="listbox"]')),!n)return;if(-1===B)return void(n.scrollTop=0);const l=f.current.querySelector(`[data-option-index="${B}"]`);if(l&&(l.classList.add(`${Q}-focused`),"keyboard"===R&&l.classList.add(`${Q}-focusVisible`),n.scrollHeight>n.clientHeight&&"mouse"!==R&&"touch"!==R)){const U=l,F=n.clientHeight+n.scrollTop,Q=U.offsetTop+U.offsetHeight;Q>F?n.scrollTop=Q-n.clientHeight:U.offsetTop-U.offsetHeight*(p?1.3:0){let{event:F,diff:Q,direction:R="next",reason:V="auto"}=U;if(!WU)return;const n=function(U,F){if(!f.current||U<0||U>=SU.length)return-1;let Q=U;for(;;){const B=f.current.querySelector(`[data-option-index="${Q}"]`),R=!k&&(!B||B.disabled||"true"===B.getAttribute("aria-disabled"));if(B&&B.hasAttribute("tabindex")&&!R)return Q;if(Q="next"===F?(Q+1)%SU.length:(Q-1+SU.length)%SU.length,Q===U)return-1}}((()=>{const U=SU.length-1;if("reset"===Q)return _;if("start"===Q)return 0;if("end"===Q)return U;const F=$.current+Q;return F<0?-1===F&&r?-1:t&&-1!==$.current||Math.abs(Q)>1?0:U:F>U?F===U+1&&r?-1:t||Math.abs(Q)>1?U:0:F})(),R);if(oU({index:n,reason:V,event:F}),B&&"reset"!==Q)if(-1===n)K.current.value=QU;else{const U=u(SU[n]);K.current.value=U;0===U.toLowerCase().indexOf(QU.toLowerCase())&&QU.length>0&&K.current.setSelectionRange(QU.length,U.length)}}),MU=n.useCallback(()=>{if(!WU)return;const U=(()=>{if(-1!==$.current&&EU.filteredOptions&&EU.filteredOptions.length!==SU.length&&EU.inputValue===QU&&(i?UU.length===EU.value.length&&EU.value.every((U,F)=>u(UU[F])===u(U)):(U=EU.value,F=UU,(U?u(U):"")===(F?u(F):"")))){const U=EU.filteredOptions[$.current];if(U)return pU(SU,F=>u(F)===u(U))}var U,F;return-1})();if(-1!==U)return void($.current=U);const F=i?UU[0]:UU;if(0!==SU.length&&null!=F){if(f.current){if(null!=F){const U=SU[$.current];if(i&&U&&-1!==pU(UU,F=>M(U,F)))return;const Q=pU(SU,U=>M(U,F));return void(-1===Q?mU({diff:"reset"}):oU({index:Q}))}$.current>=SU.length-1?oU({index:SU.length-1}):oU({index:$.current})}}else mU({diff:"reset"})},[SU.length,!i&&UU,T,mU,oU,WU,QU,i]),iU=(0,eU.A)(U=>{(0,CU.A)(f,U),U&&MU()});n.useEffect(()=>{MU()},[MU]);const bU=U=>{lU||(dU(!0),NU(!0),X&&X(U))},vU=(U,F)=>{lU&&(dU(!1),v&&v(U,F))},GU=(U,F,Q,B)=>{if(i){if(UU.length===F.length&&UU.every((U,Q)=>U===F[Q]))return}else if(UU===F)return;b&&b(U,F,Q,B),FU(F)},sU=n.useRef(!1),XU=function(U,F){let Q=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"options",B=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"selectOption",R=F;if(i){R=Array.isArray(UU)?UU.slice():[];const U=pU(R,U=>M(F,U));-1===U?R.push(F):"freeSolo"!==Q&&(R.splice(U,1),B="removeOption")}nU(U,R),GU(U,R,B,{option:F}),S||U&&(U.ctrlKey||U.metaKey)||vU(U,B),(!0===l||"touch"===l&&sU.current||"mouse"===l&&!sU.current)&&K.current.blur()},YU=(U,F)=>{if(!i)return;""===QU&&vU(U,"toggleInput");let Q=A;-1===A?""===QU&&"previous"===F&&(Q=UU.length-1):(Q+="next"===F?1:-1,Q<0&&(Q=0),Q===UU.length&&(Q=-1)),Q=function(U,F){if(-1===U)return-1;let Q=U;for(;;){if("next"===F&&Q===UU.length||"previous"===F&&-1===Q)return-1;const U=g.querySelector(`[data-tag-index="${Q}"]`);if(U&&U.hasAttribute("tabindex")&&!U.disabled&&"true"!==U.getAttribute("aria-disabled"))return Q;Q+="next"===F?1:-1}}(Q,F),q(Q),DU(Q)},yU=U=>{w.current=!0,BU(""),s&&s(U,"","clear"),GU(U,i?[]:null,"clear")},zU=U=>F=>{if(U.onKeyDown&&U.onKeyDown(F),!F.defaultMuiPrevented&&(-1!==A&&-1===["ArrowLeft","ArrowRight"].indexOf(F.key)&&(q(-1),DU(-1)),229!==F.which))switch(F.key){case"Home":WU&&h&&(F.preventDefault(),mU({diff:"start",direction:"next",reason:"keyboard",event:F}));break;case"End":WU&&h&&(F.preventDefault(),mU({diff:"end",direction:"previous",reason:"keyboard",event:F}));break;case"PageUp":F.preventDefault(),mU({diff:-5,direction:"previous",reason:"keyboard",event:F}),bU(F);break;case"PageDown":F.preventDefault(),mU({diff:5,direction:"next",reason:"keyboard",event:F}),bU(F);break;case"ArrowDown":F.preventDefault(),mU({diff:1,direction:"next",reason:"keyboard",event:F}),bU(F);break;case"ArrowUp":F.preventDefault(),mU({diff:-1,direction:"previous",reason:"keyboard",event:F}),bU(F);break;case"ArrowLeft":YU(F,"previous");break;case"ArrowRight":YU(F,"next");break;case"Enter":if(-1!==$.current&&WU){const U=SU[$.current],Q=!!C&&C(U);if(F.preventDefault(),Q)return;XU(F,U,"selectOption"),B&&K.current.setSelectionRange(K.current.value.length,K.current.value.length)}else e&&""!==QU&&!1===ZU&&(i&&F.preventDefault(),XU(F,QU,"createOption","freeSolo"));break;case"Escape":WU?(F.preventDefault(),F.stopPropagation(),vU(F,"escape")):J&&(""!==QU||i&&UU.length>0)&&(F.preventDefault(),F.stopPropagation(),yU(F));break;case"Backspace":if(i&&!O&&""===QU&&UU.length>0){const U=-1===A?UU.length-1:A,Q=UU.slice();Q.splice(U,1),GU(F,Q,"removeOption",{option:UU[U]})}break;case"Delete":if(i&&!O&&""===QU&&UU.length>0&&-1!==A){const U=A,Q=UU.slice();Q.splice(U,1),GU(F,Q,"removeOption",{option:UU[U]})}}},OU=U=>{VU(!0),y&&!w.current&&bU(U)},LU=U=>{F(f)?K.current.focus():(VU(!1),I.current=!0,w.current=!1,V&&-1!==$.current&&WU?XU(U,SU[$.current],"blur"):V&&e&&""!==QU?XU(U,QU,"blur","freeSolo"):d&&nU(U,UU),vU(U,"blur"))},HU=U=>{const F=U.target.value;QU!==F&&(BU(F),NU(!1),s&&s(U,F,"input")),""===F?W||i||GU(U,null,"clear"):bU(U)},xU=U=>{const F=Number(U.currentTarget.getAttribute("data-option-index"));$.current!==F&&oU({event:U,index:F,reason:"mouse"})},uU=U=>{oU({event:U,index:Number(U.currentTarget.getAttribute("data-option-index")),reason:"touch"}),sU.current=!0},wU=U=>{const F=Number(U.currentTarget.getAttribute("data-option-index"));XU(U,SU[F],"selectOption"),sU.current=!1},jU=U=>F=>{const Q=UU.slice();Q.splice(U,1),GU(F,Q,"removeOption",{option:UU[U]})},IU=U=>{lU?vU(U,"toggleInput"):bU(U)},KU=U=>{U.currentTarget.contains(U.target)&&U.target.getAttribute("id")!==x&&U.preventDefault()},fU=U=>{U.currentTarget.contains(U.target)&&(K.current.focus(),L&&I.current&&K.current.selectionEnd-K.current.selectionStart===0&&K.current.select(),I.current=!1)},gU=U=>{E||""!==QU&&lU||IU(U)};let PU=e&&QU.length>0;PU=PU||(i?UU.length>0:null!==UU);let AU=SU;if(p){new Map;AU=SU.reduce((U,F,Q)=>{const B=p(F);return U.length>0&&U[U.length-1].group===B?U[U.length-1].options.push(F):U.push({key:Q,index:Q,group:B,options:[F]}),U},[])}return E&&RU&&LU(),{getRootProps:function(){let U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(0,j.A)({"aria-owns":kU?`${x}-listbox`:null},U,{onKeyDown:zU(U),onMouseDown:KU,onClick:fU})},getInputLabelProps:()=>({id:`${x}-label`,htmlFor:x}),getInputProps:()=>({id:x,value:QU,onBlur:LU,onFocus:OU,onChange:HU,onMouseDown:gU,"aria-activedescendant":WU?"":null,"aria-autocomplete":B?"both":"list","aria-controls":kU?`${x}-listbox`:void 0,"aria-expanded":kU,autoComplete:"off",ref:K,autoCapitalize:"none",spellCheck:"false",role:"combobox",disabled:E}),getClearProps:()=>({tabIndex:-1,type:"button",onClick:yU}),getPopupIndicatorProps:()=>({tabIndex:-1,type:"button",onClick:IU}),getTagProps:U=>{let{index:F}=U;return(0,j.A)({key:F,"data-tag-index":F,tabIndex:-1},!O&&{onDelete:jU(F)})},getListboxProps:()=>({role:"listbox",id:`${x}-listbox`,"aria-labelledby":`${x}-label`,ref:iU,onMouseDown:U=>{U.preventDefault()}}),getOptionProps:U=>{let{index:F,option:Q}=U;var B;const R=(i?UU:[UU]).some(U=>null!=U&&M(Q,U)),V=!!C&&C(Q);return{key:null!=(B=null==D?void 0:D(Q))?B:u(Q),tabIndex:-1,role:"option",id:`${x}-option-${F}`,onMouseMove:xU,onClick:wU,onTouchStart:uU,"data-option-index":F,"aria-disabled":V,"aria-selected":R}},id:x,inputValue:QU,value:UU,dirty:PU,expanded:WU&&g,popupOpen:WU,focused:RU||-1!==A,anchorEl:g,setAnchorEl:P,focusedTag:A,groupedOptions:AU}};var MU=Q(19166),iU=Q(67500);function bU(U){return(0,VU.Ay)("MuiListSubheader",U)}(0,RU.A)("MuiListSubheader",["root","colorPrimary","colorInherit","gutters","inset","sticky"]);const vU=["className","color","component","disableGutters","disableSticky","inset"],GU=(0,BU.Ay)("li",{name:"MuiListSubheader",slot:"Root",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[F.root,"default"!==Q.color&&F[`color${(0,FU.A)(Q.color)}`],!Q.disableGutters&&F.gutters,Q.inset&&F.inset,!Q.disableSticky&&F.sticky]}})(U=>{let{theme:F,ownerState:Q}=U;return(0,j.A)({boxSizing:"border-box",lineHeight:"48px",listStyle:"none",color:(F.vars||F).palette.text.secondary,fontFamily:F.typography.fontFamily,fontWeight:F.typography.fontWeightMedium,fontSize:F.typography.pxToRem(14)},"primary"===Q.color&&{color:(F.vars||F).palette.primary.main},"inherit"===Q.color&&{color:"inherit"},!Q.disableGutters&&{paddingLeft:16,paddingRight:16},Q.inset&&{paddingLeft:72},!Q.disableSticky&&{position:"sticky",top:0,zIndex:1,backgroundColor:(F.vars||F).palette.background.paper})}),sU=n.forwardRef(function(U,F){const Q=(0,QU.b)({props:U,name:"MuiListSubheader"}),{className:B,color:R="default",component:n="li",disableGutters:l=!1,disableSticky:d=!1,inset:J=!1}=Q,N=(0,w.A)(Q,vU),Z=(0,j.A)({},Q,{color:R,component:n,disableGutters:l,disableSticky:d,inset:J}),W=(U=>{const{classes:F,color:Q,disableGutters:B,inset:R,disableSticky:V}=U,n={root:["root","default"!==Q&&`color${(0,FU.A)(Q)}`,!B&&"gutters",R&&"inset",!V&&"sticky"]};return(0,f.A)(n,bU,F)})(Z);return(0,V.jsx)(GU,(0,j.A)({as:n,className:(0,I.A)(W.root,B),ref:F,ownerState:Z},N))});sU.muiSkipListHighlight=!0;const XU=sU;var YU=Q(5162),yU=Q(45441);const zU=(0,yU.A)((0,V.jsx)("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}),"Cancel");var OU=Q(90245);function LU(U){return(0,VU.Ay)("MuiChip",U)}const HU=(0,RU.A)("MuiChip",["root","sizeSmall","sizeMedium","colorError","colorInfo","colorPrimary","colorSecondary","colorSuccess","colorWarning","disabled","clickable","clickableColorPrimary","clickableColorSecondary","deletable","deletableColorPrimary","deletableColorSecondary","outlined","filled","outlinedPrimary","outlinedSecondary","filledPrimary","filledSecondary","avatar","avatarSmall","avatarMedium","avatarColorPrimary","avatarColorSecondary","icon","iconSmall","iconMedium","iconColorPrimary","iconColorSecondary","label","labelSmall","labelMedium","deleteIcon","deleteIconSmall","deleteIconMedium","deleteIconColorPrimary","deleteIconColorSecondary","deleteIconOutlinedColorPrimary","deleteIconOutlinedColorSecondary","deleteIconFilledColorPrimary","deleteIconFilledColorSecondary","focusVisible"]),xU=["avatar","className","clickable","color","component","deleteIcon","disabled","icon","label","onClick","onDelete","onKeyDown","onKeyUp","size","variant","tabIndex","skipFocusWhenDisabled"],uU=(0,BU.Ay)("div",{name:"MuiChip",slot:"Root",overridesResolver:(U,F)=>{const{ownerState:Q}=U,{color:B,iconColor:R,clickable:V,onDelete:n,size:l,variant:d}=Q;return[{[`& .${HU.avatar}`]:F.avatar},{[`& .${HU.avatar}`]:F[`avatar${(0,FU.A)(l)}`]},{[`& .${HU.avatar}`]:F[`avatarColor${(0,FU.A)(B)}`]},{[`& .${HU.icon}`]:F.icon},{[`& .${HU.icon}`]:F[`icon${(0,FU.A)(l)}`]},{[`& .${HU.icon}`]:F[`iconColor${(0,FU.A)(R)}`]},{[`& .${HU.deleteIcon}`]:F.deleteIcon},{[`& .${HU.deleteIcon}`]:F[`deleteIcon${(0,FU.A)(l)}`]},{[`& .${HU.deleteIcon}`]:F[`deleteIconColor${(0,FU.A)(B)}`]},{[`& .${HU.deleteIcon}`]:F[`deleteIcon${(0,FU.A)(d)}Color${(0,FU.A)(B)}`]},F.root,F[`size${(0,FU.A)(l)}`],F[`color${(0,FU.A)(B)}`],V&&F.clickable,V&&"default"!==B&&F[`clickableColor${(0,FU.A)(B)})`],n&&F.deletable,n&&"default"!==B&&F[`deletableColor${(0,FU.A)(B)}`],F[d],F[`${d}${(0,FU.A)(B)}`]]}})(U=>{let{theme:F,ownerState:Q}=U;const B="light"===F.palette.mode?F.palette.grey[700]:F.palette.grey[300];return(0,j.A)({maxWidth:"100%",fontFamily:F.typography.fontFamily,fontSize:F.typography.pxToRem(13),display:"inline-flex",alignItems:"center",justifyContent:"center",height:32,color:(F.vars||F).palette.text.primary,backgroundColor:(F.vars||F).palette.action.selected,borderRadius:16,whiteSpace:"nowrap",transition:F.transitions.create(["background-color","box-shadow"]),cursor:"unset",outline:0,textDecoration:"none",border:0,padding:0,verticalAlign:"middle",boxSizing:"border-box",[`&.${HU.disabled}`]:{opacity:(F.vars||F).palette.action.disabledOpacity,pointerEvents:"none"},[`& .${HU.avatar}`]:{marginLeft:5,marginRight:-6,width:24,height:24,color:F.vars?F.vars.palette.Chip.defaultAvatarColor:B,fontSize:F.typography.pxToRem(12)},[`& .${HU.avatarColorPrimary}`]:{color:(F.vars||F).palette.primary.contrastText,backgroundColor:(F.vars||F).palette.primary.dark},[`& .${HU.avatarColorSecondary}`]:{color:(F.vars||F).palette.secondary.contrastText,backgroundColor:(F.vars||F).palette.secondary.dark},[`& .${HU.avatarSmall}`]:{marginLeft:4,marginRight:-4,width:18,height:18,fontSize:F.typography.pxToRem(10)},[`& .${HU.icon}`]:(0,j.A)({marginLeft:5,marginRight:-6},"small"===Q.size&&{fontSize:18,marginLeft:4,marginRight:-4},Q.iconColor===Q.color&&(0,j.A)({color:F.vars?F.vars.palette.Chip.defaultIconColor:B},"default"!==Q.color&&{color:"inherit"})),[`& .${HU.deleteIcon}`]:(0,j.A)({WebkitTapHighlightColor:"transparent",color:F.vars?`rgba(${F.vars.palette.text.primaryChannel} / 0.26)`:(0,MU.X4)(F.palette.text.primary,.26),fontSize:22,cursor:"pointer",margin:"0 5px 0 -6px","&:hover":{color:F.vars?`rgba(${F.vars.palette.text.primaryChannel} / 0.4)`:(0,MU.X4)(F.palette.text.primary,.4)}},"small"===Q.size&&{fontSize:16,marginRight:4,marginLeft:-4},"default"!==Q.color&&{color:F.vars?`rgba(${F.vars.palette[Q.color].contrastTextChannel} / 0.7)`:(0,MU.X4)(F.palette[Q.color].contrastText,.7),"&:hover, &:active":{color:(F.vars||F).palette[Q.color].contrastText}})},"small"===Q.size&&{height:24},"default"!==Q.color&&{backgroundColor:(F.vars||F).palette[Q.color].main,color:(F.vars||F).palette[Q.color].contrastText},Q.onDelete&&{[`&.${HU.focusVisible}`]:{backgroundColor:F.vars?`rgba(${F.vars.palette.action.selectedChannel} / calc(${F.vars.palette.action.selectedOpacity} + ${F.vars.palette.action.focusOpacity}))`:(0,MU.X4)(F.palette.action.selected,F.palette.action.selectedOpacity+F.palette.action.focusOpacity)}},Q.onDelete&&"default"!==Q.color&&{[`&.${HU.focusVisible}`]:{backgroundColor:(F.vars||F).palette[Q.color].dark}})},U=>{let{theme:F,ownerState:Q}=U;return(0,j.A)({},Q.clickable&&{userSelect:"none",WebkitTapHighlightColor:"transparent",cursor:"pointer","&:hover":{backgroundColor:F.vars?`rgba(${F.vars.palette.action.selectedChannel} / calc(${F.vars.palette.action.selectedOpacity} + ${F.vars.palette.action.hoverOpacity}))`:(0,MU.X4)(F.palette.action.selected,F.palette.action.selectedOpacity+F.palette.action.hoverOpacity)},[`&.${HU.focusVisible}`]:{backgroundColor:F.vars?`rgba(${F.vars.palette.action.selectedChannel} / calc(${F.vars.palette.action.selectedOpacity} + ${F.vars.palette.action.focusOpacity}))`:(0,MU.X4)(F.palette.action.selected,F.palette.action.selectedOpacity+F.palette.action.focusOpacity)},"&:active":{boxShadow:(F.vars||F).shadows[1]}},Q.clickable&&"default"!==Q.color&&{[`&:hover, &.${HU.focusVisible}`]:{backgroundColor:(F.vars||F).palette[Q.color].dark}})},U=>{let{theme:F,ownerState:Q}=U;return(0,j.A)({},"outlined"===Q.variant&&{backgroundColor:"transparent",border:F.vars?`1px solid ${F.vars.palette.Chip.defaultBorder}`:`1px solid ${"light"===F.palette.mode?F.palette.grey[400]:F.palette.grey[700]}`,[`&.${HU.clickable}:hover`]:{backgroundColor:(F.vars||F).palette.action.hover},[`&.${HU.focusVisible}`]:{backgroundColor:(F.vars||F).palette.action.focus},[`& .${HU.avatar}`]:{marginLeft:4},[`& .${HU.avatarSmall}`]:{marginLeft:2},[`& .${HU.icon}`]:{marginLeft:4},[`& .${HU.iconSmall}`]:{marginLeft:2},[`& .${HU.deleteIcon}`]:{marginRight:5},[`& .${HU.deleteIconSmall}`]:{marginRight:3}},"outlined"===Q.variant&&"default"!==Q.color&&{color:(F.vars||F).palette[Q.color].main,border:`1px solid ${F.vars?`rgba(${F.vars.palette[Q.color].mainChannel} / 0.7)`:(0,MU.X4)(F.palette[Q.color].main,.7)}`,[`&.${HU.clickable}:hover`]:{backgroundColor:F.vars?`rgba(${F.vars.palette[Q.color].mainChannel} / ${F.vars.palette.action.hoverOpacity})`:(0,MU.X4)(F.palette[Q.color].main,F.palette.action.hoverOpacity)},[`&.${HU.focusVisible}`]:{backgroundColor:F.vars?`rgba(${F.vars.palette[Q.color].mainChannel} / ${F.vars.palette.action.focusOpacity})`:(0,MU.X4)(F.palette[Q.color].main,F.palette.action.focusOpacity)},[`& .${HU.deleteIcon}`]:{color:F.vars?`rgba(${F.vars.palette[Q.color].mainChannel} / 0.7)`:(0,MU.X4)(F.palette[Q.color].main,.7),"&:hover, &:active":{color:(F.vars||F).palette[Q.color].main}}})}),wU=(0,BU.Ay)("span",{name:"MuiChip",slot:"Label",overridesResolver:(U,F)=>{const{ownerState:Q}=U,{size:B}=Q;return[F.label,F[`label${(0,FU.A)(B)}`]]}})(U=>{let{ownerState:F}=U;return(0,j.A)({overflow:"hidden",textOverflow:"ellipsis",paddingLeft:12,paddingRight:12,whiteSpace:"nowrap"},"outlined"===F.variant&&{paddingLeft:11,paddingRight:11},"small"===F.size&&{paddingLeft:8,paddingRight:8},"small"===F.size&&"outlined"===F.variant&&{paddingLeft:7,paddingRight:7})});function jU(U){return"Backspace"===U.key||"Delete"===U.key}const IU=n.forwardRef(function(U,F){const Q=(0,QU.b)({props:U,name:"MuiChip"}),{avatar:B,className:R,clickable:l,color:d="default",component:J,deleteIcon:N,disabled:Z=!1,icon:W,label:S,onClick:E,onDelete:k,onKeyDown:t,onKeyUp:a,size:T="medium",variant:e="filled",tabIndex:C,skipFocusWhenDisabled:D=!1}=Q,o=(0,w.A)(Q,xU),p=n.useRef(null),h=(0,OU.A)(p,F),c=U=>{U.stopPropagation(),k&&k(U)},r=!(!1===l||!E)||l,m=r||k?UU.A:J||"div",M=(0,j.A)({},Q,{component:m,disabled:Z,size:T,color:d,iconColor:n.isValidElement(W)&&W.props.color||d,onDelete:!!k,clickable:r,variant:e}),i=(U=>{const{classes:F,disabled:Q,size:B,color:R,iconColor:V,onDelete:n,clickable:l,variant:d}=U,J={root:["root",d,Q&&"disabled",`size${(0,FU.A)(B)}`,`color${(0,FU.A)(R)}`,l&&"clickable",l&&`clickableColor${(0,FU.A)(R)}`,n&&"deletable",n&&`deletableColor${(0,FU.A)(R)}`,`${d}${(0,FU.A)(R)}`],label:["label",`label${(0,FU.A)(B)}`],avatar:["avatar",`avatar${(0,FU.A)(B)}`,`avatarColor${(0,FU.A)(R)}`],icon:["icon",`icon${(0,FU.A)(B)}`,`iconColor${(0,FU.A)(V)}`],deleteIcon:["deleteIcon",`deleteIcon${(0,FU.A)(B)}`,`deleteIconColor${(0,FU.A)(R)}`,`deleteIcon${(0,FU.A)(d)}Color${(0,FU.A)(R)}`]};return(0,f.A)(J,LU,F)})(M),b=m===UU.A?(0,j.A)({component:J||"div",focusVisibleClassName:i.focusVisible},k&&{disableRipple:!0}):{};let v=null;k&&(v=N&&n.isValidElement(N)?n.cloneElement(N,{className:(0,I.A)(N.props.className,i.deleteIcon),onClick:c}):(0,V.jsx)(zU,{className:(0,I.A)(i.deleteIcon),onClick:c}));let G=null;B&&n.isValidElement(B)&&(G=n.cloneElement(B,{className:(0,I.A)(i.avatar,B.props.className)}));let s=null;return W&&n.isValidElement(W)&&(s=n.cloneElement(W,{className:(0,I.A)(i.icon,W.props.className)})),(0,V.jsxs)(uU,(0,j.A)({as:m,className:(0,I.A)(i.root,R),disabled:!(!r||!Z)||void 0,onClick:E,onKeyDown:U=>{U.currentTarget===U.target&&jU(U)&&U.preventDefault(),t&&t(U)},onKeyUp:U=>{U.currentTarget===U.target&&(k&&jU(U)?k(U):"Escape"===U.key&&p.current&&p.current.blur()),a&&a(U)},ref:h,tabIndex:D&&Z?-1:C,ownerState:M},b,o,{children:[G||s,(0,V.jsx)(wU,{className:(0,I.A)(i.label),ownerState:M,children:S}),v]}))}),KU=IU;var fU=Q(13542),gU=Q(55106),PU=Q(43538),AU=Q(26906);const qU=(0,yU.A)((0,V.jsx)("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");var _U=Q(68203);function $U(U){return(0,VU.Ay)("MuiAutocomplete",U)}const UF=(0,RU.A)("MuiAutocomplete",["root","expanded","fullWidth","focused","focusVisible","tag","tagSizeSmall","tagSizeMedium","hasPopupIcon","hasClearIcon","inputRoot","input","inputFocused","endAdornment","clearIndicator","popupIndicator","popupIndicatorOpen","popper","popperDisablePortal","paper","listbox","loading","noOptions","option","groupLabel","groupUl"]);var FF,QF;const BF=["autoComplete","autoHighlight","autoSelect","blurOnSelect","ChipProps","className","clearIcon","clearOnBlur","clearOnEscape","clearText","closeText","componentsProps","defaultValue","disableClearable","disableCloseOnSelect","disabled","disabledItemsFocusable","disableListWrap","disablePortal","filterOptions","filterSelectedOptions","forcePopupIcon","freeSolo","fullWidth","getLimitTagsText","getOptionDisabled","getOptionKey","getOptionLabel","isOptionEqualToValue","groupBy","handleHomeEndKeys","id","includeInputInList","inputValue","limitTags","ListboxComponent","ListboxProps","loading","loadingText","multiple","noOptionsText","onChange","onClose","onHighlightChange","onInputChange","onOpen","open","openOnFocus","openText","options","PaperComponent","PopperComponent","popupIcon","readOnly","renderGroup","renderInput","renderOption","renderTags","selectOnFocus","size","slotProps","value"],RF=["ref"],VF=["key"],nF=["key"],lF=(0,BU.Ay)("div",{name:"MuiAutocomplete",slot:"Root",overridesResolver:(U,F)=>{const{ownerState:Q}=U,{fullWidth:B,hasClearIcon:R,hasPopupIcon:V,inputFocused:n,size:l}=Q;return[{[`& .${UF.tag}`]:F.tag},{[`& .${UF.tag}`]:F[`tagSize${(0,FU.A)(l)}`]},{[`& .${UF.inputRoot}`]:F.inputRoot},{[`& .${UF.input}`]:F.input},{[`& .${UF.input}`]:n&&F.inputFocused},F.root,B&&F.fullWidth,V&&F.hasPopupIcon,R&&F.hasClearIcon]}})({[`&.${UF.focused} .${UF.clearIndicator}`]:{visibility:"visible"},"@media (pointer: fine)":{[`&:hover .${UF.clearIndicator}`]:{visibility:"visible"}},[`& .${UF.tag}`]:{margin:3,maxWidth:"calc(100% - 6px)"},[`& .${UF.inputRoot}`]:{[`.${UF.hasPopupIcon}&, .${UF.hasClearIcon}&`]:{paddingRight:30},[`.${UF.hasPopupIcon}.${UF.hasClearIcon}&`]:{paddingRight:56},[`& .${UF.input}`]:{width:0,minWidth:30}},[`& .${fU.A.root}`]:{paddingBottom:1,"& .MuiInput-input":{padding:"4px 4px 4px 0px"}},[`& .${fU.A.root}.${gU.A.sizeSmall}`]:{[`& .${fU.A.input}`]:{padding:"2px 4px 3px 0"}},[`& .${PU.A.root}`]:{padding:9,[`.${UF.hasPopupIcon}&, .${UF.hasClearIcon}&`]:{paddingRight:39},[`.${UF.hasPopupIcon}.${UF.hasClearIcon}&`]:{paddingRight:65},[`& .${UF.input}`]:{padding:"7.5px 4px 7.5px 5px"},[`& .${UF.endAdornment}`]:{right:9}},[`& .${PU.A.root}.${gU.A.sizeSmall}`]:{paddingTop:6,paddingBottom:6,paddingLeft:6,[`& .${UF.input}`]:{padding:"2.5px 4px 2.5px 8px"}},[`& .${AU.A.root}`]:{paddingTop:19,paddingLeft:8,[`.${UF.hasPopupIcon}&, .${UF.hasClearIcon}&`]:{paddingRight:39},[`.${UF.hasPopupIcon}.${UF.hasClearIcon}&`]:{paddingRight:65},[`& .${AU.A.input}`]:{padding:"7px 4px"},[`& .${UF.endAdornment}`]:{right:9}},[`& .${AU.A.root}.${gU.A.sizeSmall}`]:{paddingBottom:1,[`& .${AU.A.input}`]:{padding:"2.5px 4px"}},[`& .${gU.A.hiddenLabel}`]:{paddingTop:8},[`& .${AU.A.root}.${gU.A.hiddenLabel}`]:{paddingTop:0,paddingBottom:0,[`& .${UF.input}`]:{paddingTop:16,paddingBottom:17}},[`& .${AU.A.root}.${gU.A.hiddenLabel}.${gU.A.sizeSmall}`]:{[`& .${UF.input}`]:{paddingTop:8,paddingBottom:9}},[`& .${UF.input}`]:{flexGrow:1,textOverflow:"ellipsis",opacity:0},variants:[{props:{fullWidth:!0},style:{width:"100%"}},{props:{size:"small"},style:{[`& .${UF.tag}`]:{margin:2,maxWidth:"calc(100% - 4px)"}}},{props:{inputFocused:!0},style:{[`& .${UF.input}`]:{opacity:1}}},{props:{multiple:!0},style:{[`& .${UF.inputRoot}`]:{flexWrap:"wrap"}}}]}),dF=(0,BU.Ay)("div",{name:"MuiAutocomplete",slot:"EndAdornment",overridesResolver:(U,F)=>F.endAdornment})({position:"absolute",right:0,top:"50%",transform:"translate(0, -50%)"}),JF=(0,BU.Ay)(O.A,{name:"MuiAutocomplete",slot:"ClearIndicator",overridesResolver:(U,F)=>F.clearIndicator})({marginRight:-2,padding:4,visibility:"hidden"}),NF=(0,BU.Ay)(O.A,{name:"MuiAutocomplete",slot:"PopupIndicator",overridesResolver:(U,F)=>{let{ownerState:Q}=U;return(0,j.A)({},F.popupIndicator,Q.popupOpen&&F.popupIndicatorOpen)}})({padding:2,marginRight:-2,variants:[{props:{popupOpen:!0},style:{transform:"rotate(180deg)"}}]}),ZF=(0,BU.Ay)(iU.A,{name:"MuiAutocomplete",slot:"Popper",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[{[`& .${UF.option}`]:F.option},F.popper,Q.disablePortal&&F.popperDisablePortal]}})(U=>{let{theme:F}=U;return{zIndex:(F.vars||F).zIndex.modal,variants:[{props:{disablePortal:!0},style:{position:"absolute"}}]}}),WF=(0,BU.Ay)(YU.A,{name:"MuiAutocomplete",slot:"Paper",overridesResolver:(U,F)=>F.paper})(U=>{let{theme:F}=U;return(0,j.A)({},F.typography.body1,{overflow:"auto"})}),SF=(0,BU.Ay)("div",{name:"MuiAutocomplete",slot:"Loading",overridesResolver:(U,F)=>F.loading})(U=>{let{theme:F}=U;return{color:(F.vars||F).palette.text.secondary,padding:"14px 16px"}}),EF=(0,BU.Ay)("div",{name:"MuiAutocomplete",slot:"NoOptions",overridesResolver:(U,F)=>F.noOptions})(U=>{let{theme:F}=U;return{color:(F.vars||F).palette.text.secondary,padding:"14px 16px"}}),kF=(0,BU.Ay)("div",{name:"MuiAutocomplete",slot:"Listbox",overridesResolver:(U,F)=>F.listbox})(U=>{let{theme:F}=U;return{listStyle:"none",margin:0,padding:"8px 0",maxHeight:"40vh",overflow:"auto",position:"relative",[`& .${UF.option}`]:{minHeight:48,display:"flex",overflow:"hidden",justifyContent:"flex-start",alignItems:"center",cursor:"pointer",paddingTop:6,boxSizing:"border-box",outline:"0",WebkitTapHighlightColor:"transparent",paddingBottom:6,paddingLeft:16,paddingRight:16,[F.breakpoints.up("sm")]:{minHeight:"auto"},[`&.${UF.focused}`]:{backgroundColor:(F.vars||F).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},'&[aria-disabled="true"]':{opacity:(F.vars||F).palette.action.disabledOpacity,pointerEvents:"none"},[`&.${UF.focusVisible}`]:{backgroundColor:(F.vars||F).palette.action.focus},'&[aria-selected="true"]':{backgroundColor:F.vars?`rgba(${F.vars.palette.primary.mainChannel} / ${F.vars.palette.action.selectedOpacity})`:(0,MU.X4)(F.palette.primary.main,F.palette.action.selectedOpacity),[`&.${UF.focused}`]:{backgroundColor:F.vars?`rgba(${F.vars.palette.primary.mainChannel} / calc(${F.vars.palette.action.selectedOpacity} + ${F.vars.palette.action.hoverOpacity}))`:(0,MU.X4)(F.palette.primary.main,F.palette.action.selectedOpacity+F.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(F.vars||F).palette.action.selected}},[`&.${UF.focusVisible}`]:{backgroundColor:F.vars?`rgba(${F.vars.palette.primary.mainChannel} / calc(${F.vars.palette.action.selectedOpacity} + ${F.vars.palette.action.focusOpacity}))`:(0,MU.X4)(F.palette.primary.main,F.palette.action.selectedOpacity+F.palette.action.focusOpacity)}}}}}),tF=(0,BU.Ay)(XU,{name:"MuiAutocomplete",slot:"GroupLabel",overridesResolver:(U,F)=>F.groupLabel})(U=>{let{theme:F}=U;return{backgroundColor:(F.vars||F).palette.background.paper,top:-8}}),aF=(0,BU.Ay)("ul",{name:"MuiAutocomplete",slot:"GroupUl",overridesResolver:(U,F)=>F.groupUl})({padding:0,[`& .${UF.option}`]:{paddingLeft:24}}),TF=n.forwardRef(function(U,F){var Q,B,R,l;const d=(0,QU.b)({props:U,name:"MuiAutocomplete"}),{autoComplete:J=!1,autoHighlight:N=!1,autoSelect:Z=!1,blurOnSelect:W=!1,ChipProps:S,className:E,clearIcon:k=FF||(FF=(0,V.jsx)(qU,{fontSize:"small"})),clearOnBlur:t=!d.freeSolo,clearOnEscape:a=!1,clearText:T="Clear",closeText:e="Close",componentsProps:C={},defaultValue:D=(d.multiple?[]:null),disableClearable:o=!1,disableCloseOnSelect:p=!1,disabled:h=!1,disabledItemsFocusable:c=!1,disableListWrap:r=!1,disablePortal:m=!1,filterSelectedOptions:M=!1,forcePopupIcon:i="auto",freeSolo:b=!1,fullWidth:v=!1,getLimitTagsText:G=U=>`+${U}`,getOptionLabel:s,groupBy:X,handleHomeEndKeys:Y=!d.freeSolo,includeInputInList:y=!1,limitTags:z=-1,ListboxComponent:O="ul",ListboxProps:L,loading:H=!1,loadingText:x="Loading\u2026",multiple:u=!1,noOptionsText:K="No options",openOnFocus:g=!1,openText:P="Open",PaperComponent:A=YU.A,PopperComponent:q=iU.A,popupIcon:_=QF||(QF=(0,V.jsx)(_U.A,{})),readOnly:$=!1,renderGroup:UU,renderInput:BU,renderOption:RU,renderTags:VU,selectOnFocus:nU=!d.freeSolo,size:lU="medium",slotProps:dU={}}=d,JU=(0,w.A)(d,BF),{getRootProps:NU,getInputProps:ZU,getInputLabelProps:WU,getPopupIndicatorProps:SU,getClearProps:EU,getTagProps:kU,getListboxProps:tU,getOptionProps:aU,value:TU,dirty:eU,expanded:CU,id:DU,popupOpen:oU,focused:pU,focusedTag:hU,anchorEl:cU,setAnchorEl:rU,inputValue:MU,groupedOptions:bU}=mU((0,j.A)({},d,{componentName:"Autocomplete"})),vU=!o&&!h&&eU&&!$,GU=(!b||!0===i)&&!1!==i,{onMouseDown:sU}=ZU(),{ref:XU}=null!=L?L:{},yU=tU(),{ref:zU}=yU,LU=(0,w.A)(yU,RF),HU=(0,OU.A)(zU,XU),xU=s||(U=>{var F;return null!=(F=U.label)?F:U}),uU=(0,j.A)({},d,{disablePortal:m,expanded:CU,focused:pU,fullWidth:v,getOptionLabel:xU,hasClearIcon:vU,hasPopupIcon:GU,inputFocused:-1===hU,popupOpen:oU,size:lU}),wU=(U=>{const{classes:F,disablePortal:Q,expanded:B,focused:R,fullWidth:V,hasClearIcon:n,hasPopupIcon:l,inputFocused:d,popupOpen:J,size:N}=U,Z={root:["root",B&&"expanded",R&&"focused",V&&"fullWidth",n&&"hasClearIcon",l&&"hasPopupIcon"],inputRoot:["inputRoot"],input:["input",d&&"inputFocused"],tag:["tag",`tagSize${(0,FU.A)(N)}`],endAdornment:["endAdornment"],clearIndicator:["clearIndicator"],popupIndicator:["popupIndicator",J&&"popupIndicatorOpen"],popper:["popper",Q&&"popperDisablePortal"],paper:["paper"],listbox:["listbox"],loading:["loading"],noOptions:["noOptions"],option:["option"],groupLabel:["groupLabel"],groupUl:["groupUl"]};return(0,f.A)(Z,$U,F)})(uU);let jU;if(u&&TU.length>0){const U=U=>(0,j.A)({className:wU.tag,disabled:h},kU(U));jU=VU?VU(TU,U,uU):TU.map((F,Q)=>{const B=U({index:Q}),{key:R}=B,n=(0,w.A)(B,VF);return(0,V.jsx)(KU,(0,j.A)({label:xU(F),size:lU},n,S),R)})}if(z>-1&&Array.isArray(jU)){const U=jU.length-z;!pU&&U>0&&(jU=jU.splice(0,z),jU.push((0,V.jsx)("span",{className:wU.tag,children:G(U)},jU.length)))}const IU=UU||(U=>(0,V.jsxs)("li",{children:[(0,V.jsx)(tF,{className:wU.groupLabel,ownerState:uU,component:"div",children:U.group}),(0,V.jsx)(aF,{className:wU.groupUl,ownerState:uU,children:U.children})]},U.key)),fU=RU||((U,F)=>{const{key:Q}=U,B=(0,w.A)(U,nF);return(0,V.jsx)("li",(0,j.A)({},B,{children:xU(F)}),Q)}),gU=(U,F)=>{const Q=aU({option:U,index:F});return fU((0,j.A)({},Q,{className:wU.option}),U,{selected:Q["aria-selected"],index:F,inputValue:MU},uU)},PU=null!=(Q=dU.clearIndicator)?Q:C.clearIndicator,AU=null!=(B=dU.paper)?B:C.paper,UF=null!=(R=dU.popper)?R:C.popper,TF=null!=(l=dU.popupIndicator)?l:C.popupIndicator;return(0,V.jsxs)(n.Fragment,{children:[(0,V.jsx)(lF,(0,j.A)({ref:F,className:(0,I.A)(wU.root,E),ownerState:uU},NU(JU),{children:BU({id:DU,disabled:h,fullWidth:!0,size:"small"===lU?"small":void 0,InputLabelProps:WU(),InputProps:(0,j.A)({ref:rU,className:wU.inputRoot,startAdornment:jU,onClick:U=>{U.target===U.currentTarget&&sU(U)}},(vU||GU)&&{endAdornment:(0,V.jsxs)(dF,{className:wU.endAdornment,ownerState:uU,children:[vU?(0,V.jsx)(JF,(0,j.A)({},EU(),{"aria-label":T,title:T,ownerState:uU},PU,{className:(0,I.A)(wU.clearIndicator,null==PU?void 0:PU.className),children:k})):null,GU?(0,V.jsx)(NF,(0,j.A)({},SU(),{disabled:h,"aria-label":oU?e:P,title:oU?e:P,ownerState:uU},TF,{className:(0,I.A)(wU.popupIndicator,null==TF?void 0:TF.className),children:_})):null]})}),inputProps:(0,j.A)({className:wU.input,disabled:h,readOnly:$},ZU())})})),cU?(0,V.jsx)(ZF,(0,j.A)({as:q,disablePortal:m,style:{width:cU?cU.clientWidth:null},ownerState:uU,role:"presentation",anchorEl:cU,open:oU},UF,{className:(0,I.A)(wU.popper,null==UF?void 0:UF.className),children:(0,V.jsxs)(WF,(0,j.A)({ownerState:uU,as:A},AU,{className:(0,I.A)(wU.paper,null==AU?void 0:AU.className),children:[H&&0===bU.length?(0,V.jsx)(SF,{className:wU.loading,ownerState:uU,children:x}):null,0!==bU.length||b||H?null:(0,V.jsx)(EF,{className:wU.noOptions,ownerState:uU,role:"presentation",onMouseDown:U=>{U.preventDefault()},children:K}),bU.length>0?(0,V.jsx)(kF,(0,j.A)({as:O,className:wU.listbox,ownerState:uU},LU,L,{ref:HU,children:bU.map((U,F)=>X?IU({key:U.key,group:U.group,children:U.options.map((F,Q)=>gU(F,U.index+Q))}):gU(U,F))})):null]}))})):null]})}),eF=TF;var CF=Q(20300),DF=Q(91816),oF=Q(19504),pF=Q(62423),hF=Q(55425);function cF(U){return(0,VU.Ay)("MuiFormLabel",U)}const rF=(0,RU.A)("MuiFormLabel",["root","colorSecondary","focused","disabled","error","filled","required","asterisk"]),mF=["children","className","color","component","disabled","error","filled","focused","required"],MF=(0,BU.Ay)("label",{name:"MuiFormLabel",slot:"Root",overridesResolver:(U,F)=>{let{ownerState:Q}=U;return(0,j.A)({},F.root,"secondary"===Q.color&&F.colorSecondary,Q.filled&&F.filled)}})(U=>{let{theme:F,ownerState:Q}=U;return(0,j.A)({color:(F.vars||F).palette.text.secondary},F.typography.body1,{lineHeight:"1.4375em",padding:0,position:"relative",[`&.${rF.focused}`]:{color:(F.vars||F).palette[Q.color].main},[`&.${rF.disabled}`]:{color:(F.vars||F).palette.text.disabled},[`&.${rF.error}`]:{color:(F.vars||F).palette.error.main}})}),iF=(0,BU.Ay)("span",{name:"MuiFormLabel",slot:"Asterisk",overridesResolver:(U,F)=>F.asterisk})(U=>{let{theme:F}=U;return{[`&.${rF.error}`]:{color:(F.vars||F).palette.error.main}}}),bF=n.forwardRef(function(U,F){const Q=(0,QU.b)({props:U,name:"MuiFormLabel"}),{children:B,className:R,component:n="label"}=Q,l=(0,w.A)(Q,mF),d=(0,hF.A)(),J=(0,pF.A)({props:Q,muiFormControl:d,states:["color","required","focused","disabled","error","filled"]}),N=(0,j.A)({},Q,{color:J.color||"primary",component:n,disabled:J.disabled,error:J.error,filled:J.filled,focused:J.focused,required:J.required}),Z=(U=>{const{classes:F,color:Q,focused:B,disabled:R,error:V,filled:n,required:l}=U,d={root:["root",`color${(0,FU.A)(Q)}`,R&&"disabled",V&&"error",n&&"filled",B&&"focused",l&&"required"],asterisk:["asterisk",V&&"error"]};return(0,f.A)(d,cF,F)})(N);return(0,V.jsxs)(MF,(0,j.A)({as:n,ownerState:N,className:(0,I.A)(Z.root,R),ref:F},l,{children:[B,J.required&&(0,V.jsxs)(iF,{ownerState:N,"aria-hidden":!0,className:Z.asterisk,children:["\u2009","*"]})]}))}),vF=bF;var GF=Q(35423);function sF(U){return(0,VU.Ay)("MuiInputLabel",U)}(0,RU.A)("MuiInputLabel",["root","focused","disabled","error","required","asterisk","formControl","sizeSmall","shrink","animated","standard","filled","outlined"]);const XF=["disableAnimation","margin","shrink","variant","className"],YF=(0,BU.Ay)(vF,{shouldForwardProp:U=>(0,GF.A)(U)||"classes"===U,name:"MuiInputLabel",slot:"Root",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[{[`& .${rF.asterisk}`]:F.asterisk},F.root,Q.formControl&&F.formControl,"small"===Q.size&&F.sizeSmall,Q.shrink&&F.shrink,!Q.disableAnimation&&F.animated,Q.focused&&F.focused,F[Q.variant]]}})(U=>{let{theme:F,ownerState:Q}=U;return(0,j.A)({display:"block",transformOrigin:"top left",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"100%"},Q.formControl&&{position:"absolute",left:0,top:0,transform:"translate(0, 20px) scale(1)"},"small"===Q.size&&{transform:"translate(0, 17px) scale(1)"},Q.shrink&&{transform:"translate(0, -1.5px) scale(0.75)",transformOrigin:"top left",maxWidth:"133%"},!Q.disableAnimation&&{transition:F.transitions.create(["color","transform","max-width"],{duration:F.transitions.duration.shorter,easing:F.transitions.easing.easeOut})},"filled"===Q.variant&&(0,j.A)({zIndex:1,pointerEvents:"none",transform:"translate(12px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},"small"===Q.size&&{transform:"translate(12px, 13px) scale(1)"},Q.shrink&&(0,j.A)({userSelect:"none",pointerEvents:"auto",transform:"translate(12px, 7px) scale(0.75)",maxWidth:"calc(133% - 24px)"},"small"===Q.size&&{transform:"translate(12px, 4px) scale(0.75)"})),"outlined"===Q.variant&&(0,j.A)({zIndex:1,pointerEvents:"none",transform:"translate(14px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},"small"===Q.size&&{transform:"translate(14px, 9px) scale(1)"},Q.shrink&&{userSelect:"none",pointerEvents:"auto",maxWidth:"calc(133% - 32px)",transform:"translate(14px, -9px) scale(0.75)"}))}),yF=n.forwardRef(function(U,F){const Q=(0,QU.b)({name:"MuiInputLabel",props:U}),{disableAnimation:B=!1,shrink:R,className:n}=Q,l=(0,w.A)(Q,XF),d=(0,hF.A)();let J=R;"undefined"===typeof J&&d&&(J=d.filled||d.focused||d.adornedStart);const N=(0,pF.A)({props:Q,muiFormControl:d,states:["size","variant","required","focused"]}),Z=(0,j.A)({},Q,{disableAnimation:B,formControl:d,shrink:J,size:N.size,variant:N.variant,required:N.required,focused:N.focused}),W=(U=>{const{classes:F,formControl:Q,size:B,shrink:R,disableAnimation:V,variant:n,required:l}=U,d={root:["root",Q&&"formControl",!V&&"animated",R&&"shrink",B&&"normal"!==B&&`size${(0,FU.A)(B)}`,n],asterisk:[l&&"asterisk"]},J=(0,f.A)(d,sF,F);return(0,j.A)({},F,J)})(Z);return(0,V.jsx)(YF,(0,j.A)({"data-shrink":J,ownerState:Z,ref:F,className:(0,I.A)(W.root,n)},l,{classes:W}))}),zF=yF;var OF=Q(49322);function LF(U){return(0,VU.Ay)("MuiFormHelperText",U)}const HF=(0,RU.A)("MuiFormHelperText",["root","error","disabled","sizeSmall","sizeMedium","contained","focused","filled","required"]);var xF;const uF=["children","className","component","disabled","error","filled","focused","margin","required","variant"],wF=(0,BU.Ay)("p",{name:"MuiFormHelperText",slot:"Root",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[F.root,Q.size&&F[`size${(0,FU.A)(Q.size)}`],Q.contained&&F.contained,Q.filled&&F.filled]}})(U=>{let{theme:F,ownerState:Q}=U;return(0,j.A)({color:(F.vars||F).palette.text.secondary},F.typography.caption,{textAlign:"left",marginTop:3,marginRight:0,marginBottom:0,marginLeft:0,[`&.${HF.disabled}`]:{color:(F.vars||F).palette.text.disabled},[`&.${HF.error}`]:{color:(F.vars||F).palette.error.main}},"small"===Q.size&&{marginTop:4},Q.contained&&{marginLeft:14,marginRight:14})}),jF=n.forwardRef(function(U,F){const Q=(0,QU.b)({props:U,name:"MuiFormHelperText"}),{children:B,className:R,component:n="p"}=Q,l=(0,w.A)(Q,uF),d=(0,hF.A)(),J=(0,pF.A)({props:Q,muiFormControl:d,states:["variant","size","disabled","error","filled","focused","required"]}),N=(0,j.A)({},Q,{component:n,contained:"filled"===J.variant||"outlined"===J.variant,variant:J.variant,size:J.size,disabled:J.disabled,error:J.error,filled:J.filled,focused:J.focused,required:J.required}),Z=(U=>{const{classes:F,contained:Q,size:B,disabled:R,error:V,filled:n,focused:l,required:d}=U,J={root:["root",R&&"disabled",V&&"error",B&&`size${(0,FU.A)(B)}`,Q&&"contained",l&&"focused",n&&"filled",d&&"required"]};return(0,f.A)(J,LF,F)})(N);return(0,V.jsx)(wF,(0,j.A)({as:n,ownerState:N,className:(0,I.A)(Z.root,R),ref:F},l,{children:" "===B?xF||(xF=(0,V.jsx)("span",{className:"notranslate",children:"\u200b"})):B}))}),IF=jF;var KF=Q(84764);function fF(U){return(0,VU.Ay)("MuiTextField",U)}(0,RU.A)("MuiTextField",["root"]);const gF=["autoComplete","autoFocus","children","className","color","defaultValue","disabled","error","FormHelperTextProps","fullWidth","helperText","id","InputLabelProps","inputProps","InputProps","inputRef","label","maxRows","minRows","multiline","name","onBlur","onChange","onFocus","placeholder","required","rows","select","SelectProps","type","value","variant"],PF={standard:CF.A,filled:DF.A,outlined:oF.A},AF=(0,BU.Ay)(OF.A,{name:"MuiTextField",slot:"Root",overridesResolver:(U,F)=>F.root})({}),qF=n.forwardRef(function(U,F){const Q=(0,QU.b)({props:U,name:"MuiTextField"}),{autoComplete:B,autoFocus:R=!1,children:n,className:l,color:d="primary",defaultValue:J,disabled:N=!1,error:Z=!1,FormHelperTextProps:W,fullWidth:S=!1,helperText:E,id:k,InputLabelProps:t,inputProps:a,InputProps:T,inputRef:e,label:C,maxRows:D,minRows:o,multiline:p=!1,name:h,onBlur:c,onChange:r,onFocus:m,placeholder:M,required:i=!1,rows:b,select:v=!1,SelectProps:G,type:s,value:X,variant:Y="outlined"}=Q,y=(0,w.A)(Q,gF),z=(0,j.A)({},Q,{autoFocus:R,color:d,disabled:N,error:Z,fullWidth:S,multiline:p,required:i,select:v,variant:Y}),O=(U=>{const{classes:F}=U;return(0,f.A)({root:["root"]},fF,F)})(z);const L={};"outlined"===Y&&(t&&"undefined"!==typeof t.shrink&&(L.notched=t.shrink),L.label=C),v&&(G&&G.native||(L.id=void 0),L["aria-describedby"]=void 0);const H=(0,tU.A)(k),x=E&&H?`${H}-helper-text`:void 0,u=C&&H?`${H}-label`:void 0,K=PF[Y],g=(0,V.jsx)(K,(0,j.A)({"aria-describedby":x,autoComplete:B,autoFocus:R,defaultValue:J,fullWidth:S,multiline:p,name:h,rows:b,maxRows:D,minRows:o,type:s,value:X,id:H,inputRef:e,onBlur:c,onChange:r,onFocus:m,placeholder:M,inputProps:a},L,T));return(0,V.jsxs)(AF,(0,j.A)({className:(0,I.A)(O.root,l),disabled:N,error:Z,fullWidth:S,ref:F,required:i,color:d,variant:Y,ownerState:z},y,{children:[null!=C&&""!==C&&(0,V.jsx)(zF,(0,j.A)({htmlFor:H,id:u},t,{children:C})),v?(0,V.jsx)(KF.A,(0,j.A)({"aria-describedby":x,id:H,labelId:u,value:X,input:g},G,{children:n})):g,E&&(0,V.jsx)(IF,(0,j.A)({id:x},W,{children:E}))]}))}),_F=qF;var $F=Q(20228),UQ=Q(87246),FQ=Q(24530);const QQ=n.createContext(null);function BQ(){return n.useContext(QQ)}const RQ="function"===typeof Symbol&&Symbol.for?Symbol.for("mui.nested"):"__THEME_NESTED__";const VQ=function(U){const{children:F,theme:Q}=U,B=BQ(),R=n.useMemo(()=>{const U=null===B?Q:function(U,F){if("function"===typeof F)return F(U);return(0,j.A)({},U,F)}(B,Q);return null!=U&&(U[RQ]=null!==B),U},[Q,B]);return(0,V.jsx)(QQ.Provider,{value:R,children:F})};var nQ=Q(5112),lQ=Q(29886),dQ=Q(8399),JQ=Q(56514),NQ=Q(24300),ZQ=Q(7276);const WQ={};function SQ(U,F,Q){let B=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return n.useMemo(()=>{const R=U&&F[U]||F;if("function"===typeof Q){const V=Q(R),n=U?(0,j.A)({},F,{[U]:V}):V;return B?()=>n:n}return U?(0,j.A)({},F,{[U]:Q}):(0,j.A)({},F,Q)},[U,F,Q,B])}const EQ=function(U){const{children:F,theme:Q,themeId:B}=U,R=(0,lQ.A)(WQ),n=BQ()||WQ,l=SQ(B,R,Q),d=SQ(B,n,Q,!0),J="rtl"===l.direction,N=function(U){const F=(0,lQ.A)(),Q=(0,tU.A)()||"",{modularCssLayers:B}=U;let R="mui.global, mui.components, mui.theme, mui.custom, mui.sx";return R=B&&null===F?"string"===typeof B?B.replace(/mui(?!\.)/g,R):`@layer ${R};`:"",(0,NQ.A)(()=>{const U=document.querySelector("head");if(!U)return;const F=U.firstChild;if(R){var B;if(F&&null!=(B=F.hasAttribute)&&B.call(F,"data-mui-layer-order")&&F.getAttribute("data-mui-layer-order")===Q)return;const V=document.createElement("style");V.setAttribute("data-mui-layer-order",Q),V.textContent=R,U.prepend(V)}else{var V;null==(V=U.querySelector(`style[data-mui-layer-order="${Q}"]`))||V.remove()}},[R,Q]),R?(0,V.jsx)(ZQ.A,{styles:R}):null}(l);return(0,V.jsx)(VQ,{theme:d,children:(0,V.jsx)(nQ.T.Provider,{value:l,children:(0,V.jsx)(dQ.A,{value:J,children:(0,V.jsxs)(JQ.A,{value:null==l?void 0:l.components,children:[N,F]})})})})};var kQ=Q(89139);const tQ=["theme"];function aQ(U){let{theme:F}=U,Q=(0,w.A)(U,tQ);const B=F[kQ.A];let R=B||F;return"function"!==typeof F&&(B&&!B.vars?R=(0,j.A)({},B,{vars:null}):F&&!F.vars&&(R=(0,j.A)({},F,{vars:null}))),(0,V.jsx)(EQ,(0,j.A)({},Q,{themeId:B?kQ.A:void 0,theme:R}))}var TQ=Q(63145),eQ="NOT_FOUND";var CQ=function(U,F){return U===F};function DQ(U,F){var Q="object"===typeof F?F:{equalityCheck:F},B=Q.equalityCheck,R=void 0===B?CQ:B,V=Q.maxSize,n=void 0===V?1:V,l=Q.resultEqualityCheck,d=function(U){return function(F,Q){if(null===F||null===Q||F.length!==Q.length)return!1;for(var B=F.length,R=0;R-1){var R=Q[B];return B>0&&(Q.splice(B,1),Q.unshift(R)),R.value}return eQ}return{get:B,put:function(F,R){B(F)===eQ&&(Q.unshift({key:F,value:R}),Q.length>U&&Q.pop())},getEntries:function(){return Q},clear:function(){Q=[]}}}(n,d);function N(){var F=J.get(arguments);if(F===eQ){if(F=U.apply(null,arguments),l){var Q=J.getEntries().find(function(U){return l(U.value,F)});Q&&(F=Q.value)}J.put(arguments,F)}return F}return N.clearCache=function(){return J.clear()},N}function oQ(U){for(var F=arguments.length,Q=new Array(F>1?F-1:0),B=1;B{const{ownerState:Q}=U;return[F.root,Q.absolute&&F.absolute,F[Q.variant],Q.light&&F.light,"vertical"===Q.orientation&&F.vertical,Q.flexItem&&F.flexItem,Q.children&&F.withChildren,Q.children&&"vertical"===Q.orientation&&F.withChildrenVertical,"right"===Q.textAlign&&"vertical"!==Q.orientation&&F.textAlignRight,"left"===Q.textAlign&&"vertical"!==Q.orientation&&F.textAlignLeft]}})(U=>{let{theme:F,ownerState:Q}=U;return(0,j.A)({margin:0,flexShrink:0,borderWidth:0,borderStyle:"solid",borderColor:(F.vars||F).palette.divider,borderBottomWidth:"thin"},Q.absolute&&{position:"absolute",bottom:0,left:0,width:"100%"},Q.light&&{borderColor:F.vars?`rgba(${F.vars.palette.dividerChannel} / 0.08)`:(0,MU.X4)(F.palette.divider,.08)},"inset"===Q.variant&&{marginLeft:72},"middle"===Q.variant&&"horizontal"===Q.orientation&&{marginLeft:F.spacing(2),marginRight:F.spacing(2)},"middle"===Q.variant&&"vertical"===Q.orientation&&{marginTop:F.spacing(1),marginBottom:F.spacing(1)},"vertical"===Q.orientation&&{height:"100%",borderBottomWidth:0,borderRightWidth:"thin"},Q.flexItem&&{alignSelf:"stretch",height:"auto"})},U=>{let{ownerState:F}=U;return(0,j.A)({},F.children&&{display:"flex",whiteSpace:"nowrap",textAlign:"center",border:0,borderTopStyle:"solid",borderLeftStyle:"solid","&::before, &::after":{content:'""',alignSelf:"center"}})},U=>{let{theme:F,ownerState:Q}=U;return(0,j.A)({},Q.children&&"vertical"!==Q.orientation&&{"&::before, &::after":{width:"100%",borderTop:`thin solid ${(F.vars||F).palette.divider}`,borderTopStyle:"inherit"}})},U=>{let{theme:F,ownerState:Q}=U;return(0,j.A)({},Q.children&&"vertical"===Q.orientation&&{flexDirection:"column","&::before, &::after":{height:"100%",borderLeft:`thin solid ${(F.vars||F).palette.divider}`,borderLeftStyle:"inherit"}})},U=>{let{ownerState:F}=U;return(0,j.A)({},"right"===F.textAlign&&"vertical"!==F.orientation&&{"&::before":{width:"90%"},"&::after":{width:"10%"}},"left"===F.textAlign&&"vertical"!==F.orientation&&{"&::before":{width:"10%"},"&::after":{width:"90%"}})}),XQ=(0,BU.Ay)("span",{name:"MuiDivider",slot:"Wrapper",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[F.wrapper,"vertical"===Q.orientation&&F.wrapperVertical]}})(U=>{let{theme:F,ownerState:Q}=U;return(0,j.A)({display:"inline-block",paddingLeft:`calc(${F.spacing(1)} * 1.2)`,paddingRight:`calc(${F.spacing(1)} * 1.2)`},"vertical"===Q.orientation&&{paddingTop:`calc(${F.spacing(1)} * 1.2)`,paddingBottom:`calc(${F.spacing(1)} * 1.2)`})}),YQ=n.forwardRef(function(U,F){const Q=(0,QU.b)({props:U,name:"MuiDivider"}),{absolute:B=!1,children:R,className:n,component:l=(R?"div":"hr"),flexItem:d=!1,light:J=!1,orientation:N="horizontal",role:Z=("hr"!==l?"separator":void 0),textAlign:W="center",variant:S="fullWidth"}=Q,E=(0,w.A)(Q,GQ),k=(0,j.A)({},Q,{absolute:B,component:l,flexItem:d,light:J,orientation:N,role:Z,textAlign:W,variant:S}),t=(U=>{const{absolute:F,children:Q,classes:B,flexItem:R,light:V,orientation:n,textAlign:l,variant:d}=U,J={root:["root",F&&"absolute",d,V&&"light","vertical"===n&&"vertical",R&&"flexItem",Q&&"withChildren",Q&&"vertical"===n&&"withChildrenVertical","right"===l&&"vertical"!==n&&"textAlignRight","left"===l&&"vertical"!==n&&"textAlignLeft"],wrapper:["wrapper","vertical"===n&&"wrapperVertical"]};return(0,f.A)(J,vQ.K,B)})(k);return(0,V.jsx)(sQ,(0,j.A)({as:l,className:(0,I.A)(t.root,n),role:Z,ref:F,ownerState:k},E,{children:R?(0,V.jsx)(XQ,{className:t.wrapper,ownerState:k,children:R}):null}))});YQ.muiSkipListHighlight=!0;const yQ=YQ;var zQ=Q(9913);const OQ=n.createContext({});var LQ=Q(2280),HQ=Q(85514),xQ=Q(85810),uQ=Q(25576),wQ=Q(72668);const jQ=["className","elementType","ownerState","externalForwardedProps","getSlotOwnerState","internalForwardedProps"],IQ=["component","slots","slotProps"],KQ=["component"];function fQ(U){return(0,VU.Ay)("MuiAccordion",U)}const gQ=(0,RU.A)("MuiAccordion",["root","rounded","expanded","disabled","gutters","region"]),PQ=["children","className","defaultExpanded","disabled","disableGutters","expanded","onChange","square","slots","slotProps","TransitionComponent","TransitionProps"],AQ=(0,BU.Ay)(YU.A,{name:"MuiAccordion",slot:"Root",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[{[`& .${gQ.region}`]:F.region},F.root,!Q.square&&F.rounded,!Q.disableGutters&&F.gutters]}})(U=>{let{theme:F}=U;const Q={duration:F.transitions.duration.shortest};return{position:"relative",transition:F.transitions.create(["margin"],Q),overflowAnchor:"none","&::before":{position:"absolute",left:0,top:-1,right:0,height:1,content:'""',opacity:1,backgroundColor:(F.vars||F).palette.divider,transition:F.transitions.create(["opacity","background-color"],Q)},"&:first-of-type":{"&::before":{display:"none"}},[`&.${gQ.expanded}`]:{"&::before":{opacity:0},"&:first-of-type":{marginTop:0},"&:last-of-type":{marginBottom:0},"& + &":{"&::before":{display:"none"}}},[`&.${gQ.disabled}`]:{backgroundColor:(F.vars||F).palette.action.disabledBackground}}},U=>{let{theme:F}=U;return{variants:[{props:U=>!U.square,style:{borderRadius:0,"&:first-of-type":{borderTopLeftRadius:(F.vars||F).shape.borderRadius,borderTopRightRadius:(F.vars||F).shape.borderRadius},"&:last-of-type":{borderBottomLeftRadius:(F.vars||F).shape.borderRadius,borderBottomRightRadius:(F.vars||F).shape.borderRadius,"@supports (-ms-ime-align: auto)":{borderBottomLeftRadius:0,borderBottomRightRadius:0}}}},{props:U=>!U.disableGutters,style:{[`&.${gQ.expanded}`]:{margin:"16px 0"}}}]}}),qQ=n.forwardRef(function(U,F){const Q=(0,QU.b)({props:U,name:"MuiAccordion"}),{children:B,className:R,defaultExpanded:l=!1,disabled:d=!1,disableGutters:J=!1,expanded:N,onChange:Z,square:W=!1,slots:S={},slotProps:E={},TransitionComponent:k,TransitionProps:t}=Q,a=(0,w.A)(Q,PQ),[T,e]=(0,LQ.A)({controlled:N,default:l,name:"Accordion",state:"expanded"}),C=n.useCallback(U=>{e(!T),Z&&Z(U,!T)},[T,Z,e]),[D,...o]=n.Children.toArray(B),p=n.useMemo(()=>({expanded:T,disabled:d,disableGutters:J,toggle:C}),[T,d,J,C]),h=(0,j.A)({},Q,{square:W,disabled:d,disableGutters:J,expanded:T}),c=(U=>{const{classes:F,square:Q,expanded:B,disabled:R,disableGutters:V}=U,n={root:["root",!Q&&"rounded",B&&"expanded",R&&"disabled",!V&&"gutters"],region:["region"]};return(0,f.A)(n,fQ,F)})(h),r=(0,j.A)({transition:k},S),m=(0,j.A)({transition:t},E),[M,i]=function(U,F){const{className:Q,elementType:B,ownerState:R,externalForwardedProps:V,getSlotOwnerState:n,internalForwardedProps:l}=F,d=(0,w.A)(F,jQ),{component:J,slots:N={[U]:void 0},slotProps:Z={[U]:void 0}}=V,W=(0,w.A)(V,IQ),S=N[U]||B,E=(0,uQ.A)(Z[U],R),k=(0,wQ.A)((0,j.A)({className:Q},d,{externalForwardedProps:"root"===U?W:void 0,externalSlotProps:E})),{props:{component:t},internalRef:a}=k,T=(0,w.A)(k.props,KQ),e=(0,HQ.A)(a,null==E?void 0:E.ref,F.ref),C=n?n(T):{},D=(0,j.A)({},R,C),o="root"===U?t||J:t,p=(0,xQ.A)(S,(0,j.A)({},"root"===U&&!J&&!N[U]&&l,"root"!==U&&!N[U]&&l,T,o&&{as:o},{ref:e}),D);return Object.keys(C).forEach(U=>{delete p[U]}),[S,p]}("transition",{elementType:L.A,externalForwardedProps:{slots:r,slotProps:m},ownerState:h});return(0,V.jsxs)(AQ,(0,j.A)({className:(0,I.A)(c.root,R),ref:F,ownerState:h,square:W},a,{children:[(0,V.jsx)(OQ.Provider,{value:p,children:D}),(0,V.jsx)(M,(0,j.A)({in:T,timeout:"auto"},i,{children:(0,V.jsx)("div",{"aria-labelledby":D.props.id,id:D.props["aria-controls"],role:"region",className:c.region,children:o})}))]}))}),_Q=qQ;function $Q(U){return(0,VU.Ay)("MuiAccordionSummary",U)}const UB=(0,RU.A)("MuiAccordionSummary",["root","expanded","focusVisible","disabled","gutters","contentGutters","content","expandIconWrapper"]),FB=["children","className","expandIcon","focusVisibleClassName","onClick"],QB=(0,BU.Ay)(UU.A,{name:"MuiAccordionSummary",slot:"Root",overridesResolver:(U,F)=>F.root})(U=>{let{theme:F}=U;const Q={duration:F.transitions.duration.shortest};return{display:"flex",minHeight:48,padding:F.spacing(0,2),transition:F.transitions.create(["min-height","background-color"],Q),[`&.${UB.focusVisible}`]:{backgroundColor:(F.vars||F).palette.action.focus},[`&.${UB.disabled}`]:{opacity:(F.vars||F).palette.action.disabledOpacity},[`&:hover:not(.${UB.disabled})`]:{cursor:"pointer"},variants:[{props:U=>!U.disableGutters,style:{[`&.${UB.expanded}`]:{minHeight:64}}}]}}),BB=(0,BU.Ay)("div",{name:"MuiAccordionSummary",slot:"Content",overridesResolver:(U,F)=>F.content})(U=>{let{theme:F}=U;return{display:"flex",flexGrow:1,margin:"12px 0",variants:[{props:U=>!U.disableGutters,style:{transition:F.transitions.create(["margin"],{duration:F.transitions.duration.shortest}),[`&.${UB.expanded}`]:{margin:"20px 0"}}}]}}),RB=(0,BU.Ay)("div",{name:"MuiAccordionSummary",slot:"ExpandIconWrapper",overridesResolver:(U,F)=>F.expandIconWrapper})(U=>{let{theme:F}=U;return{display:"flex",color:(F.vars||F).palette.action.active,transform:"rotate(0deg)",transition:F.transitions.create("transform",{duration:F.transitions.duration.shortest}),[`&.${UB.expanded}`]:{transform:"rotate(180deg)"}}}),VB=n.forwardRef(function(U,F){const Q=(0,QU.b)({props:U,name:"MuiAccordionSummary"}),{children:B,className:R,expandIcon:l,focusVisibleClassName:d,onClick:J}=Q,N=(0,w.A)(Q,FB),{disabled:Z=!1,disableGutters:W,expanded:S,toggle:E}=n.useContext(OQ),k=(0,j.A)({},Q,{expanded:S,disabled:Z,disableGutters:W}),t=(U=>{const{classes:F,expanded:Q,disabled:B,disableGutters:R}=U,V={root:["root",Q&&"expanded",B&&"disabled",!R&&"gutters"],focusVisible:["focusVisible"],content:["content",Q&&"expanded",!R&&"contentGutters"],expandIconWrapper:["expandIconWrapper",Q&&"expanded"]};return(0,f.A)(V,$Q,F)})(k);return(0,V.jsxs)(QB,(0,j.A)({focusRipple:!1,disableRipple:!0,disabled:Z,component:"div","aria-expanded":S,className:(0,I.A)(t.root,R),focusVisibleClassName:(0,I.A)(t.focusVisible,d),onClick:U=>{E&&E(U),J&&J(U)},ref:F,ownerState:k},N,{children:[(0,V.jsx)(BB,{className:t.content,ownerState:k,children:B}),l&&(0,V.jsx)(RB,{className:t.expandIconWrapper,ownerState:k,children:l})]}))}),nB=VB;function lB(U){return(0,VU.Ay)("MuiAccordionDetails",U)}(0,RU.A)("MuiAccordionDetails",["root"]);const dB=["className"],JB=(0,BU.Ay)("div",{name:"MuiAccordionDetails",slot:"Root",overridesResolver:(U,F)=>F.root})(U=>{let{theme:F}=U;return{padding:F.spacing(1,2,2)}}),NB=n.forwardRef(function(U,F){const Q=(0,QU.b)({props:U,name:"MuiAccordionDetails"}),{className:B}=Q,R=(0,w.A)(Q,dB),n=Q,l=(U=>{const{classes:F}=U;return(0,f.A)({root:["root"]},lB,F)})(n);return(0,V.jsx)(JB,(0,j.A)({className:(0,I.A)(l.root,B),ref:F,ownerState:n},R))}),ZB=NB;var WB=Q(14788),SB=Q(33903);function EB(){return(EB=Object.assign||function(U){for(var F=1;F=0||(R[Q]=U[Q]);return R}function tB(U){var F=(0,n.useRef)(U),Q=(0,n.useRef)(function(U){F.current&&F.current(U)});return F.current=U,Q.current}var aB=function(U,F,Q){return void 0===F&&(F=0),void 0===Q&&(Q=1),U>Q?Q:U0:U.buttons>0)&&R.current?V(CB(R.current,U,d.current)):Q(!1)},F=function(){return Q(!1)};function Q(Q){var B=J.current,V=eB(R.current),n=Q?V.addEventListener:V.removeEventListener;n(B?"touchmove":"mousemove",U),n(B?"touchend":"mouseup",F)}return[function(U){var F=U.nativeEvent,B=R.current;if(B&&(DB(F),!function(U,F){return F&&!TB(U)}(F,J.current)&&B)){if(TB(F)){J.current=!0;var n=F.changedTouches||[];n.length&&(d.current=n[0].identifier)}B.focus(),V(CB(B,F,d.current)),Q(!0)}},function(U){var F=U.which||U.keyCode;F<37||F>40||(U.preventDefault(),l({left:39===F?.05:37===F?-.05:0,top:40===F?.05:38===F?-.05:0}))},Q]},[l,V]),Z=N[0],W=N[1],S=N[2];return(0,n.useEffect)(function(){return S},[S]),n.createElement("div",EB({},B,{onTouchStart:Z,onMouseDown:Z,className:"react-colorful__interactive",ref:R,onKeyDown:W,tabIndex:0,role:"slider"}))}),pB=function(U){return U.filter(Boolean).join(" ")},hB=function(U){var F=U.color,Q=U.left,B=U.top,R=void 0===B?.5:B,V=pB(["react-colorful__pointer",U.className]);return n.createElement("div",{className:V,style:{top:100*R+"%",left:100*Q+"%"}},n.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:F}}))},cB=function(U,F,Q){return void 0===F&&(F=0),void 0===Q&&(Q=Math.pow(10,F)),Math.round(Q*U)/Q},rB={grad:.9,turn:360,rad:360/(2*Math.PI)},mB=function(U){return YB(MB(U))},MB=function(U){return"#"===U[0]&&(U=U.substring(1)),U.length<6?{r:parseInt(U[0]+U[0],16),g:parseInt(U[1]+U[1],16),b:parseInt(U[2]+U[2],16),a:4===U.length?cB(parseInt(U[3]+U[3],16)/255,2):1}:{r:parseInt(U.substring(0,2),16),g:parseInt(U.substring(2,4),16),b:parseInt(U.substring(4,6),16),a:8===U.length?cB(parseInt(U.substring(6,8),16)/255,2):1}},iB=function(U){return XB(GB(U))},bB=function(U){var F=U.s,Q=U.v,B=U.a,R=(200-F)*Q/100;return{h:cB(U.h),s:cB(R>0&&R<200?F*Q/100/(R<=100?R:200-R)*100:0),l:cB(R/2),a:cB(B,2)}},vB=function(U){var F=bB(U);return"hsl("+F.h+", "+F.s+"%, "+F.l+"%)"},GB=function(U){var F=U.h,Q=U.s,B=U.v,R=U.a;F=F/360*6,Q/=100,B/=100;var V=Math.floor(F),n=B*(1-Q),l=B*(1-(F-V)*Q),d=B*(1-(1-F+V)*Q),J=V%6;return{r:cB(255*[B,l,n,n,d,B][J]),g:cB(255*[d,B,B,l,n,n][J]),b:cB(255*[n,n,d,B,B,l][J]),a:cB(R,2)}},sB=function(U){var F=U.toString(16);return F.length<2?"0"+F:F},XB=function(U){var F=U.r,Q=U.g,B=U.b,R=U.a,V=R<1?sB(cB(255*R)):"";return"#"+sB(F)+sB(Q)+sB(B)+V},YB=function(U){var F=U.r,Q=U.g,B=U.b,R=U.a,V=Math.max(F,Q,B),n=V-Math.min(F,Q,B),l=n?V===F?(Q-B)/n:V===Q?2+(B-F)/n:4+(F-Q)/n:0;return{h:cB(60*(l<0?l+6:l)),s:cB(V?n/V*100:0),v:cB(V/255*100),a:R}},yB=n.memo(function(U){var F=U.hue,Q=U.onChange,B=pB(["react-colorful__hue",U.className]);return n.createElement("div",{className:B},n.createElement(oB,{onMove:function(U){Q({h:360*U.left})},onKey:function(U){Q({h:aB(F+360*U.left,0,360)})},"aria-label":"Hue","aria-valuenow":cB(F),"aria-valuemax":"360","aria-valuemin":"0"},n.createElement(hB,{className:"react-colorful__hue-pointer",left:F/360,color:vB({h:F,s:100,v:100,a:1})})))}),zB=n.memo(function(U){var F=U.hsva,Q=U.onChange,B={backgroundColor:vB({h:F.h,s:100,v:100,a:1})};return n.createElement("div",{className:"react-colorful__saturation",style:B},n.createElement(oB,{onMove:function(U){Q({s:100*U.left,v:100-100*U.top})},onKey:function(U){Q({s:aB(F.s+100*U.left,0,100),v:aB(F.v-100*U.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+cB(F.s)+"%, Brightness "+cB(F.v)+"%"},n.createElement(hB,{className:"react-colorful__saturation-pointer",top:1-F.v/100,left:F.s/100,color:vB(F)})))}),OB=function(U,F){if(U===F)return!0;for(var Q in U)if(U[Q]!==F[Q])return!1;return!0},LB=function(U,F){return U.toLowerCase()===F.toLowerCase()||OB(MB(U),MB(F))};function HB(U,F,Q){var B=tB(Q),R=(0,n.useState)(function(){return U.toHsva(F)}),V=R[0],l=R[1],d=(0,n.useRef)({color:F,hsva:V});(0,n.useEffect)(function(){if(!U.equal(F,d.current.color)){var Q=U.toHsva(F);d.current={hsva:Q,color:F},l(Q)}},[F,U]),(0,n.useEffect)(function(){var F;OB(V,d.current.hsva)||U.equal(F=U.fromHsva(V),d.current.color)||(d.current={hsva:V,color:F},B(F))},[V,U,B]);var J=(0,n.useCallback)(function(U){l(function(F){return Object.assign({},F,U)})},[]);return[V,J]}var xB,uB="undefined"!=typeof window?n.useLayoutEffect:n.useEffect,wB=new Map,jB=function(U){uB(function(){var F=U.current?U.current.ownerDocument:document;if(void 0!==F&&!wB.has(F)){var B=F.createElement("style");B.innerHTML='.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url(\'data:image/svg+xml;charset=utf-8,\')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}',wB.set(F,B);var R=xB||Q.nc;R&&B.setAttribute("nonce",R),F.head.appendChild(B)}},[])},IB=function(U){var F=U.className,Q=U.colorModel,B=U.color,R=void 0===B?Q.defaultColor:B,V=U.onChange,l=kB(U,["className","colorModel","color","onChange"]),d=(0,n.useRef)(null);jB(d);var J=HB(Q,R,V),N=J[0],Z=J[1],W=pB(["react-colorful",F]);return n.createElement("div",EB({},l,{ref:d,className:W}),n.createElement(zB,{hsva:N,onChange:Z}),n.createElement(yB,{hue:N.h,onChange:Z,className:"react-colorful__last-control"}))},KB={defaultColor:"000",toHsva:mB,fromHsva:function(U){return iB({h:U.h,s:U.s,v:U.v,a:1})},equal:LB},fB=function(U){return n.createElement(IB,EB({},U,{colorModel:KB}))},gB=/^#?([0-9A-F]{3,8})$/i,PB=function(U){var F=U.color,Q=void 0===F?"":F,B=U.onChange,R=U.onBlur,V=U.escape,l=U.validate,d=U.format,J=U.process,N=kB(U,["color","onChange","onBlur","escape","validate","format","process"]),Z=(0,n.useState)(function(){return V(Q)}),W=Z[0],S=Z[1],E=tB(B),k=tB(R),t=(0,n.useCallback)(function(U){var F=V(U.target.value);S(F),l(F)&&E(J?J(F):F)},[V,J,l,E]),a=(0,n.useCallback)(function(U){l(U.target.value)||S(V(Q)),k(U)},[Q,V,l,k]);return(0,n.useEffect)(function(){S(V(Q))},[Q,V]),n.createElement("input",EB({},N,{value:d?d(W):W,spellCheck:"false",onChange:t,onBlur:a}))},AB=function(U){return"#"+U},qB=function(U){var F=U.prefixed,Q=U.alpha,B=kB(U,["prefixed","alpha"]),R=(0,n.useCallback)(function(U){return U.replace(/([^0-9A-F]+)/gi,"").substring(0,Q?8:6)},[Q]),V=(0,n.useCallback)(function(U){return function(U,F){var Q=gB.exec(U),B=Q?Q[1].length:0;return 3===B||6===B||!!F&&4===B||!!F&&8===B}(U,Q)},[Q]);return n.createElement(PB,EB({},B,{escape:R,format:F?AB:void 0,process:AB,validate:V}))},_B=Q(10694),$B=Q(78353),UR=Q.n($B),FR=Q(25907);function QR(U){const F=new URL("https://lexical.dev/docs/error"),Q=new URLSearchParams;Q.append("code",U);for(var B=arguments.length,R=new Array(B>1?B-1:0),V=1;V1?F-1:0),B=1;B100;try{Ad(U,()=>{const R=Td()||function(U){return U.getEditorState().read(()=>{const U=Td();return null!==U?U.clone():null})}(U),V=new Map,n=U.getRootElement(),l=U._editorState,d=U._blockCursorElement;let J=!1,N="";for(let Q=0;Q0){let F=0;for(let R=0;R0)for(const[F,Q]of V)Q.reconcileObservedMutation(F,U);const Z=Q.takeRecords();if(Z.length>0){for(let F=0;F{jR(U,F,Q)})}function fR(U){const F=new Map,Q=new Set;for(let B="function"==typeof U?U:U.replace;B.prototype&&void 0!==B.prototype.getType;B=Object.getPrototypeOf(B)){const{ownNodeConfig:U}=wN(B);if(U&&U.stateConfigs)for(const B of U.stateConfigs){let U;"stateConfig"in B?(U=B.stateConfig,B.flat&&Q.add(U.key)):U=B,F.set(U.key,U)}}return{flatKeys:Q,sharedConfigMap:F}}class gR{node;knownState;unknownState;sharedNodeState;size;constructor(U,F){let Q=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,B=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new Map,R=arguments.length>4&&void 0!==arguments[4]?arguments[4]:void 0;this.node=U,this.sharedNodeState=F,this.unknownState=Q,this.knownState=B;const{sharedConfigMap:V}=this.sharedNodeState,n=void 0!==R?R:function(U,F,Q){let B=Q.size;if(F)for(const R in F){const F=U.get(R);F&&Q.has(F)||B++}return B}(V,Q,B);this.size=n}getValue(U){const F=this.knownState.get(U);if(void 0!==F)return F;this.sharedNodeState.sharedConfigMap.set(U.key,U);let Q=U.defaultValue;if(this.unknownState&&U.key in this.unknownState){const F=this.unknownState[U.key];void 0!==F&&(Q=U.parse(F)),this.updateFromKnown(U,Q)}return Q}getInternalState(){return[this.unknownState,this.knownState]}toJSON(){const U={...this.unknownState},F={};for(const[Q,B]of this.knownState)Q.isEqual(B,Q.defaultValue)?delete U[Q.key]:U[Q.key]=Q.unparse(B);for(const Q of this.sharedNodeState.flatKeys)Q in U&&(F[Q]=U[Q],delete U[Q]);return qR(U)&&(F.$=U),F}getWritable(U){if(this.node===U)return this;const{sharedNodeState:F,unknownState:Q}=this,B=new Map(this.knownState);return new gR(U,F,function(U,F,Q){let B;if(Q)for(const[R,V]of Object.entries(Q)){const Q=U.get(R);Q?F.has(Q)||F.set(Q,Q.parse(V)):(B=B||{},B[R]=V)}return B}(F.sharedConfigMap,B,Q),B,this.size)}updateFromKnown(U,F){const Q=U.key;this.sharedNodeState.sharedConfigMap.set(Q,U);const{knownState:B,unknownState:R}=this;B.has(U)||R&&Q in R||(R&&(delete R[Q],this.unknownState=qR(R)),this.size++),B.set(U,F)}updateFromUnknown(U,F){const Q=this.sharedNodeState.sharedConfigMap.get(U);Q?this.updateFromKnown(Q,Q.parse(F)):(this.unknownState=this.unknownState||{},U in this.unknownState||this.size++,this.unknownState[U]=F)}updateFromJSON(U){const{knownState:F}=this;for(const Q of F.keys())F.set(Q,Q.defaultValue);if(this.size=F.size,this.unknownState=void 0,U)for(const[Q,B]of Object.entries(U))this.updateFromUnknown(Q,B)}}function PR(U){const F=U.getWritable(),Q=F.__state?F.__state.getWritable(F):new gR(F,AR(F));return F.__state=Q,Q}function AR(U){return U.__state?U.__state.sharedNodeState:oJ(YN(),U.getType()).sharedNodeState}function qR(U){if(U)for(const F in U)return U}function _R(U,F,Q){for(const[B,R]of F.knownState){if(U.has(B.key))continue;U.add(B.key);const F=Q?Q.getValue(B):B.defaultValue;if(F!==R&&!B.isEqual(F,R))return!0}return!1}function $R(U,F,Q){const{unknownState:B}=F,R=Q?Q.unknownState:void 0;if(B)for(const[V,n]of Object.entries(B))if(!U.has(V)&&(U.add(V),n!==(R?R[V]:void 0)))return!0;return!1}function UV(U,F){const Q=U.__state;return Q&&Q.node===U?Q.getWritable(F):Q}function FV(U,F){const Q=U.__mode,B=U.__format,R=U.__style,V=F.__mode,n=F.__format,l=F.__style,d=U.__state,J=F.__state;return(null===Q||Q===V)&&(null===B||B===n)&&(null===R||R===l)&&(null===U.__state||d===J||function(U,F){if(U===F)return!0;if(U&&F&&U.size!==F.size)return!1;const Q=new Set;return!(U&&_R(Q,U,F)||F&&_R(Q,F,U)||U&&$R(Q,U,F)||F&&$R(Q,F,U))}(d,J))}function QV(U,F){const Q=U.mergeWithSibling(F),B=Od()._normalizedNodes;return B.add(U.__key),B.add(F.__key),Q}function BV(U){let F,Q,B=U;if(""!==B.__text||!B.isSimpleText()||B.isUnmergeable()){for(;null!==(F=B.getPreviousSibling())&&Il(F)&&F.isSimpleText()&&!F.isUnmergeable();){if(""!==F.__text){if(FV(F,B)){B=QV(F,B);break}break}F.remove()}for(;null!==(Q=B.getNextSibling())&&Il(Q)&&Q.isSimpleText()&&!Q.isUnmergeable();){if(""!==Q.__text){if(FV(B,Q)){B=QV(B,Q);break}break}Q.remove()}}else B.remove()}function RV(U){return VV(U.anchor),VV(U.focus),U}function VV(U){for(;"element"===U.type;){const F=U.getNode(),Q=U.offset;let B,R;if(Q===F.getChildrenSize()?(B=F.getChildAtIndex(Q-1),R=!0):(B=F.getChildAtIndex(Q),R=!1),Il(B)){U.set(B.__key,R?B.getTextContentSize():0,"text",!0);break}if(!UJ(B))break;U.set(B.__key,R?B.getChildrenSize():0,"element",!0)}}let nV,lV,dV,JV,NV,ZV,WV,SV,EV,kV,tV="",aV=null,TV=null,eV=!1,CV=!1;function DV(U,F){const Q=WV.get(U);if(null!==F){const Q=zV(U);Q.parentNode===F&&F.removeChild(Q)}if(SV.has(U)||lV._keyToDOMMap.delete(U),UJ(Q)){const U=GV(Q,WV);oV(U,0,U.length-1,null)}void 0!==Q&&WN(kV,dV,JV,Q,"destroyed")}function oV(U,F,Q,B){for(let R=F;R<=Q;++R){const F=U[R];void 0!==F&&DV(F,B)}}function pV(U,F){U.setProperty("text-align",F)}const hV="40px";function cV(U,F){const Q=nV.theme.indent;if("string"==typeof Q){const B=U.classList.contains(Q);F>0&&!B?U.classList.add(Q):F<1&&B&&U.classList.remove(Q)}const B=getComputedStyle(U).getPropertyValue("--lexical-indent-base-value")||hV;U.style.setProperty("padding-inline-start",0===F?"":`calc(${F} * ${B})`)}function rV(U,F){const Q=U.style;0===F?pV(Q,""):1===F?pV(Q,"left"):2===F?pV(Q,"center"):3===F?pV(Q,"right"):4===F?pV(Q,"justify"):5===F?pV(Q,"start"):6===F&&pV(Q,"end")}function mV(U,F){const Q=function(U){const F=U.__dir;if(null!==F)return F;if(VJ(U))return null;const Q=U.getParentOrThrow();return VJ(Q)&&null===Q.__dir?"auto":null}(F);null!==Q?U.dir=Q:U.removeAttribute("dir")}function MV(U,F){const Q=SV.get(U);void 0===Q&&QR(60);const B=Q.createDOM(nV,lV);if(function(U,F,Q){const B=Q._keyToDOMMap;(function(U,F,Q){U[`__lexicalKey_${F._key}`]=Q})(F,Q,U),B.set(U,F)}(U,B,lV),Il(Q)?B.setAttribute("data-lexical-text","true"):BJ(Q)&&B.setAttribute("data-lexical-decorator","true"),UJ(Q)){const U=Q.__indent,F=Q.__size;if(mV(B,Q),0!==U&&cV(B,U),0!==F){const U=F-1;iV(GV(Q,SV),Q,0,U,Q.getDOMSlot(B))}const R=Q.__format;0!==R&&rV(B,R),Q.isInline()||vV(null,Q,B)}else{const F=Q.getTextContent();if(BJ(Q)){const F=Q.decorate(lV,nV);null!==F&&XV(U,F),B.contentEditable="false"}tV+=F}return null!==F&&F.insertChild(B),WN(kV,dV,JV,Q,"created"),B}function iV(U,F,Q,B,R){const V=tV;tV="";let n=Q;for(;n<=B;++n){MV(U[n],R);const F=SV.get(U[n]);null!==F&&Il(F)?null===aV&&(aV=F.getFormat(),TV=F.getStyle()):UJ(F)&&nn,E=W>l;if(S&&!E){const U=Q[l+1],F=void 0===U?null:lV.getElementByKey(U);iV(Q,0,W,l,V.withBefore(F))}else E&&!S&&oV(F,Z,n,V.element)}(0,B,l,R,V,Q)}n.__lexicalTextContent=tV,tV=B+tV}(U,F,F.getDOMSlot(Q)),B=F,null==aV||aV===B.__textFormat||CV||B.setTextFormat(aV),function(U){null==TV||TV===U.__textStyle||CV||U.setTextStyle(TV)}(F)})(Q,B,V),VJ(B)||B.isInline()||vV(Q,B,V);else{const U=V.__lexicalTextContent;let F;"string"==typeof U?F=U:(F=Q.getTextContent(),V.__lexicalTextContent=F),tV+=F}if((eV||B.__dir!==Q.__dir)&&(mV(V,B),VJ(B)&&!eV))for(const U of B.getChildren())UJ(U)&&mV(aN(lV,U.getKey()),U)}else{const F=B.getTextContent();if(BJ(B)){const F=B.decorate(lV,nV);null!==F&&XV(U,F)}tV+=F}if(!CV&&VJ(B)&&B.__cachedText!==tV){const U=B.getWritable();U.__cachedText=tV,B=U}return V}function XV(U,F){let Q=lV._pendingDecorators;const B=lV._decorators;if(null===Q){if(B[U]===F)return;Q=KJ(lV)}Q[U]=F}function YV(U){let F=U.nextSibling;return null!==F&&F===lV._blockCursorElement&&(F=F.nextSibling),F}function yV(U,F){const Q=new Set;for(let B=F;B{cJ(Q)||(jn=!0)})}],["compositionstart",function(U,F){tN(F,jV,U)}],["compositionend",function(U,F){lR?Kn=!0:NR||!JR&&!ER?tN(F,IV,U):(fn=!0,gn=U.data)}],["input",function(U,F){U.stopPropagation(),Ad(F,()=>{F.dispatchCommand(wV,U)},{event:U}),Hn=null}],["click",function(U,F){Ad(F,()=>{const Q=Td(),B=MN(oN(F)),R=ed();if(B)if(Fd(Q)){const F=Q.anchor,V=F.getNode();if("element"===F.type&&0===F.offset&&Q.isCollapsed()&&!VJ(V)&&1===gJ().getChildrenSize()&&V.getTopLevelElementOrThrow().isEmpty()&&null!==R&&Q.is(R))B.removeAllRanges(),Q.dirty=!0;else if(3===U.detail&&!Q.isCollapsed()&&V!==Q.focus.getNode()){const U=jN(V,U=>UJ(U)&&!U.isInline());UJ(U)&&U.select(0)}}else if("touch"===U.pointerType||"pen"===U.pointerType){const Q=B.anchorNode;(iN(Q)||sJ(Q))&&AJ(ad(R,B,F,U))}tN(F,xV,U)})}],["cut",Yn],["copy",Yn],["dragstart",Yn],["dragover",Yn],["dragend",Yn],["paste",Yn],["focus",Yn],["blur",Yn],["drop",Yn]];dR&&yn.push(["beforeinput",(U,F)=>function(U,F){const Q=U.inputType;"deleteCompositionText"===Q||lR&&kN(F)||"insertCompositionText"!==Q&&tN(F,uV,U)}(U,F)]);let zn=0,On=null,Ln=0,Hn=null;const xn=new WeakMap,un=new WeakMap;let wn=!1,jn=!1,In=!1,Kn=!1,fn=!1,gn="",Pn=null,An=[0,"",0,"root",0];function qn(U,F,Q,B,R){const V=U.anchor,n=U.focus,l=V.getNode(),d=Od(),J=MN(oN(d)),N=null!==J?J.anchorNode:null,Z=V.key,W=d.getElementByKey(Z),S=Q.length;return Z!==n.key||!Il(l)||(!R&&(!dR||Ln1||(R||!dR)&&null!==W&&!l.isComposing()&&N!==YJ(W)||null!==J&&null!==F&&(!F.collapsed||F.startContainer!==J.anchorNode||F.startOffset!==J.anchorOffset)||l.getFormat()!==U.format||l.getStyle()!==U.style||function(U,F){if(F.isSegmented())return!0;if(!U.isCollapsed())return!1;const Q=U.anchor.offset,B=F.getParentOrThrow(),R=vJ(F);return 0===Q?!F.canInsertTextBefore()||!B.canInsertTextBefore()&&!F.isComposing()||R||function(U){const F=U.getPreviousSibling();return(Il(F)||UJ(F)&&F.isInline())&&!F.canInsertTextAfter()}(F):Q===F.getTextContentSize()&&(!F.canInsertTextAfter()||!B.canInsertTextAfter()&&!F.isComposing()||R)}(U,l)}function _n(U,F){return sJ(U)&&null!==U.nodeValue&&0!==F&&F!==U.nodeValue.length}function $n(U,F,Q){const{anchorNode:B,anchorOffset:R,focusNode:V,focusOffset:n}=U;wn&&(wn=!1,_n(B,R)&&_n(V,n)&&!Pn)||Ad(F,()=>{if(!Q)return void AJ(null);if(!mJ(F,B,V))return;let l=Td();if(Pn&&Fd(l)&&l.isCollapsed()){const U=l.anchor,F=Pn.anchor;(U.key===F.key&&U.offset===F.offset+1||1===U.offset&&F.getNode().is(U.getNode().getPreviousSibling()))&&(l=Pn.clone(),AJ(l))}if(Pn=null,Fd(l)){const Q=l.anchor,B=Q.getNode();if(l.isCollapsed()){"Range"===U.type&&U.anchorNode===U.focusNode&&(l.dirty=!0);const R=oN(F).event,V=R?R.timeStamp:performance.now(),[n,d,J,N,Z]=An,W=gJ(),S=!1===F.isComposing()&&""===W.getTextContent();if(V{Ad(B,()=>{HJ(null)})},30),Fd(R)){const U=R.anchor.getNode();U.markDirty(),Il(U)||QR(142),Fl(R,U)}}else{HJ(null),U.preventDefault();const Q=R.anchor.getNode(),V=Q.getTextContent(),n=Q.canInsertTextAfter(),l=0===R.anchor.offset&&R.focus.offset===V.length;let d=SR&&F&&!l&&n;if(d&&R.isCollapsed()&&(d=!BJ(EN(R.anchor,!0))),!d){tN(B,KV,!0);const U=Td();SR&&Fd(U)&&U.isCollapsed()&&(Pn=U,setTimeout(()=>Pn=null))}}return!0}}var V;if(!Fd(R))return!0;const n=U.data;null!==Hn&&QN(!1,B,Hn),R.dirty&&null===Hn||!R.isCollapsed()||VJ(R.anchor.getNode())||null===Q||R.applyDOMRange(Q),Hn=null;const l=R.anchor,d=R.focus,J=l.getNode(),N=d.getNode();if("insertText"===F||"insertTranspose"===F){if("\n"===n)U.preventDefault(),tN(B,fV,!1);else if(n===cR)U.preventDefault(),tN(B,gV,void 0);else if(null==n&&U.dataTransfer){const F=U.dataTransfer.getData("text/plain");U.preventDefault(),R.insertRawText(F)}else null!=n&&qn(R,Q,n,U.timeStamp,!0)?(U.preventDefault(),tN(B,PV,n)):Hn=n;return Ln=U.timeStamp,!0}switch(U.preventDefault(),F){case"insertFromYank":case"insertFromDrop":case"insertReplacementText":tN(B,PV,U);break;case"insertFromComposition":HJ(null),tN(B,PV,U);break;case"insertLineBreak":HJ(null),tN(B,fV,!1);break;case"insertParagraph":HJ(null),In&&!NR?(In=!1,tN(B,fV,!1)):tN(B,gV,void 0);break;case"insertFromPaste":case"insertFromPasteAsQuotation":tN(B,AV,U);break;case"deleteByComposition":(function(U,F){return U!==F||UJ(U)||UJ(F)||!vJ(U)||!vJ(F)})(J,N)&&tN(B,qV,U);break;case"deleteByDrag":case"deleteByCut":tN(B,qV,U);break;case"deleteContent":tN(B,KV,!1);break;case"deleteWordBackward":tN(B,_V,!0);break;case"deleteWordForward":tN(B,_V,!1);break;case"deleteHardLineBackward":case"deleteSoftLineBackward":tN(B,$V,!0);break;case"deleteContentForward":case"deleteHardLineForward":case"deleteSoftLineForward":tN(B,$V,!1);break;case"formatStrikeThrough":tN(B,Un,"strikethrough");break;case"formatBold":tN(B,Un,"bold");break;case"formatItalic":tN(B,Un,"italic");break;case"formatUnderline":tN(B,Un,"underline");break;case"historyUndo":tN(B,Fn,void 0);break;case"historyRedo":tN(B,Qn,void 0)}return!0}function Rl(U){if(iN(U.target)&&cJ(U.target))return!0;const F=Od(),Q=Td(),B=U.data,R=Ql(U);if(null!=B&&Fd(Q)&&qn(Q,R,B,U.timeStamp,!1)){Kn&&(ll(F,B),Kn=!1);const R=Q.anchor.getNode(),V=MN(oN(F));if(null===V)return!0;const n=Q.isBackward(),l=n?Q.anchor.offset:Q.focus.offset,d=n?Q.focus.offset:Q.anchor.offset;dR&&!Q.isCollapsed()&&Il(R)&&null!==V.anchorNode&&R.getTextContent().slice(0,l)+B+R.getTextContent().slice(l+d)===FN(V.anchorNode)||tN(F,PV,B);const J=B.length;lR&&J>1&&"insertCompositionText"===U.inputType&&!F.isComposing()&&(Q.anchor.offset-=J),JR||NR||ER||!F.isComposing()||(zn=0,HJ(null))}else QN(!1,F,null!==B?B:void 0),Kn&&(ll(F,B||void 0),Kn=!1);return function(){Yd();IR(Od())}(),!0}function Vl(U){const F=Od(),Q=Td();if(Fd(Q)&&!F.isComposing()){const B=Q.anchor,R=Q.anchor.getNode();HJ(B.key),(U.timeStamp{ll(F,gn)}),fn=!1,gn="",!0;if(function(U){return nN(U,"ArrowRight",{shiftKey:"any"})}(U))tN(F,Rn,U);else if(function(U){return nN(U,"ArrowRight",lN)}(U))tN(F,Vn,U);else if(function(U){return nN(U,"ArrowLeft",{shiftKey:"any"})}(U))tN(F,nn,U);else if(function(U){return nN(U,"ArrowLeft",lN)}(U))tN(F,ln,U);else if(function(U){return nN(U,"ArrowUp",{altKey:"any",shiftKey:"any"})}(U))tN(F,dn,U);else if(function(U){return nN(U,"ArrowDown",{altKey:"any",shiftKey:"any"})}(U))tN(F,Jn,U);else if(function(U){return nN(U,"Enter",{altKey:"any",ctrlKey:"any",metaKey:"any",shiftKey:!0})}(U))In=!0,tN(F,Nn,U);else if(function(U){return" "===U.key}(U))tN(F,Zn,U);else if(function(U){return nR&&nN(U,"o",{ctrlKey:!0})}(U))U.preventDefault(),In=!0,tN(F,fV,!0);else if(function(U){return nN(U,"Enter",{altKey:"any",ctrlKey:"any",metaKey:"any"})}(U))In=!1,tN(F,Nn,U);else if(function(U){return nN(U,"Backspace",{shiftKey:"any"})||nR&&nN(U,"h",{ctrlKey:!0})}(U))JN(U)?tN(F,Wn,U):(U.preventDefault(),tN(F,KV,!0));else if(function(U){return"Escape"===U.key}(U))tN(F,Sn,U);else if(function(U){return nN(U,"Delete",{})||nR&&nN(U,"d",{ctrlKey:!0})}(U))!function(U){return"Delete"===U.key}(U)?(U.preventDefault(),tN(F,KV,!1)):tN(F,En,U);else if(function(U){return nN(U,"Backspace",dN)}(U))U.preventDefault(),tN(F,_V,!0);else if(function(U){return nN(U,"Delete",dN)}(U))U.preventDefault(),tN(F,_V,!1);else if(function(U){return nR&&nN(U,"Backspace",{metaKey:!0})}(U))U.preventDefault(),tN(F,$V,!0);else if(function(U){return nR&&(nN(U,"Delete",{metaKey:!0})||nN(U,"k",{ctrlKey:!0}))}(U))U.preventDefault(),tN(F,$V,!1);else if(function(U){return nN(U,"b",lN)}(U))U.preventDefault(),tN(F,Un,"bold");else if(function(U){return nN(U,"u",lN)}(U))U.preventDefault(),tN(F,Un,"underline");else if(function(U){return nN(U,"i",lN)}(U))U.preventDefault(),tN(F,Un,"italic");else if(function(U){return nN(U,"Tab",{shiftKey:"any"})}(U))tN(F,kn,U);else if(function(U){return nN(U,"z",lN)}(U))U.preventDefault(),tN(F,Fn,void 0);else if(function(U){return nR?nN(U,"z",{metaKey:!0,shiftKey:!0}):nN(U,"y",{ctrlKey:!0})||nN(U,"z",{ctrlKey:!0,shiftKey:!0})}(U))U.preventDefault(),tN(F,Qn,void 0);else{const Q=F._editorState._selection;null===Q||Fd(Q)?NN(U)&&(U.preventDefault(),tN(F,rn,U)):function(U){return nN(U,"c",lN)}(U)?(U.preventDefault(),tN(F,hn,U)):function(U){return nN(U,"x",lN)}(U)?(U.preventDefault(),tN(F,cn,U)):NN(U)&&(U.preventDefault(),tN(F,rn,U))}return function(U){return U.ctrlKey||U.shiftKey||U.altKey||U.metaKey}(U)&&F.dispatchCommand(Xn,U),!0}function Jl(U){let F=U.__lexicalEventHandles;return void 0===F&&(F=[],U.__lexicalEventHandles=F),F}const Nl=new Map;function Zl(U){const F=function(U){const F=DN(U);return F?F.getSelection():null}(U.target);if(null===F)return;const Q=iJ(F.anchorNode);if(null===Q)return;jn&&(jn=!1,Ad(Q,()=>{const B=ed(),R=F.anchorNode;(iN(R)||sJ(R))&&AJ(ad(B,F,Q,U))}));const B=$J(Q),R=B[B.length-1],V=R._key,n=Nl.get(V),l=n||R;l!==Q&&$n(F,l,!1),$n(F,Q,!0),Q!==R?Nl.set(V,Q):n&&Nl.delete(V)}function Wl(U){U._lexicalHandled=!0}function Sl(U){return!0===U._lexicalHandled}function El(U,F,Q){Yd();const B=U.__key,R=U.getParent();if(null===R)return;const V=function(U){const F=Td();if(!Fd(F)||!UJ(U))return F;const{anchor:Q,focus:B}=F,R=Q.getNode(),V=B.getNode();return CN(R,U)&&Q.set(U.__key,0,"element"),CN(V,U)&&B.set(U.__key,0,"element"),F}(U);let n=!1;if(Fd(V)&&F){const F=V.anchor,Q=V.focus;F.key===B&&(od(F,U,R,U.getPreviousSibling(),U.getNextSibling()),n=!0),Q.key===B&&(od(Q,U,R,U.getPreviousSibling(),U.getNextSibling()),n=!0)}else Bd(V)&&F&&U.isSelected()&&U.selectPrevious();if(Fd(V)&&F&&!n){const F=U.getIndexWithinParent();OJ(U),Cd(V,R,F,-1)}else OJ(U);Q||pN(R)||R.canBeEmpty()||!R.isEmpty()||El(R,F),F&&V&&VJ(R)&&R.isEmpty()&&R.selectEnd()}const kl=Symbol.for("ephemeral");function tl(U){return U[kl]||!1}class al{__type;__key;__parent;__prev;__next;__state;static getType(){const{ownNodeType:U}=wN(this);return void 0===U&&QR(64,this.name),U}static clone(U){QR(65,this.name)}$config(){return{}}config(U,F){const Q=F.extends||Object.getPrototypeOf(this.constructor);return Object.assign(F,{extends:Q,type:U}),{[U]:F}}afterCloneFrom(U){this.__key===U.__key?(this.__parent=U.__parent,this.__next=U.__next,this.__prev=U.__prev,this.__state=U.__state):U.__state&&(this.__state=U.__state.getWritable(this))}static importDOM;constructor(U){this.__type=this.constructor.getType(),this.__parent=null,this.__prev=null,this.__next=null,Object.defineProperty(this,"__state",{configurable:!0,enumerable:!1,value:void 0,writable:!0}),zJ(this,U)}getType(){return this.__type}isInline(){QR(137,this.constructor.name)}isAttached(){let U=this.__key;for(;null!==U;){if("root"===U)return!0;const F=uJ(U);if(null===F)break;U=F.__parent}return!1}isSelected(U){const F=U||Td();if(null==F)return!1;const Q=F.getNodes().some(U=>U.__key===this.__key);if(Il(this))return Q;if(Fd(F)&&"element"===F.anchor.type&&"element"===F.focus.type){if(F.isCollapsed())return!1;const U=this.getParent();if(BJ(this)&&this.isInline()&&U){const Q=F.isBackward()?F.focus:F.anchor;if(U.is(Q.getNode())&&Q.offset===U.getChildrenSize()&&this.is(U.getLastChild()))return!1}}return Q}getKey(){return this.__key}getIndexWithinParent(){const U=this.getParent();if(null===U)return-1;let F=U.getFirstChild(),Q=0;for(;null!==F;){if(this.is(F))return Q;Q++,F=F.getNextSibling()}return-1}getParent(){const U=this.getLatest().__parent;return null===U?null:uJ(U)}getParentOrThrow(){const U=this.getParent();return null===U&&QR(66,this.__key),U}getTopLevelElement(){let U=this;for(;null!==U;){const F=U.getParent();if(pN(F))return UJ(U)||U===this&&BJ(U)||QR(194),U;U=F}return null}getTopLevelElementOrThrow(){const U=this.getTopLevelElement();return null===U&&QR(67,this.__key),U}getParents(){const U=[];let F=this.getParent();for(;null!==F;)U.push(F),F=F.getParent();return U}getParentKeys(){const U=[];let F=this.getParent();for(;null!==F;)U.push(F.__key),F=F.getParent();return U}getPreviousSibling(){const U=this.getLatest().__prev;return null===U?null:uJ(U)}getPreviousSiblings(){const U=[],F=this.getParent();if(null===F)return U;let Q=F.getFirstChild();for(;null!==Q&&!Q.is(this);)U.push(Q),Q=Q.getNextSibling();return U}getNextSibling(){const U=this.getLatest().__next;return null===U?null:uJ(U)}getNextSiblings(){const U=[];let F=this.getNextSibling();for(;null!==F;)U.push(F),F=F.getNextSibling();return U}getCommonAncestor(U){const F=UJ(this)?this:this.getParent(),Q=UJ(U)?U:U.getParent(),B=F&&Q?CZ(F,Q):null;return B?B.commonAncestor:null}is(U){return null!=U&&this.__key===U.__key}isBefore(U){const F=CZ(this,U);return null!==F&&("descendant"===F.type||("branch"===F.type?-1===aZ(F):("same"!==F.type&&"ancestor"!==F.type&&QR(279),!1)))}isParentOf(U){const F=CZ(this,U);return null!==F&&"ancestor"===F.type}getNodesBetween(U){const F=this.isBefore(U),Q=[],B=new Set;let R=this;for(;null!==R;){const V=R.__key;if(B.has(V)||(B.add(V),Q.push(R)),R===U)break;const n=UJ(R)?F?R.getFirstChild():R.getLastChild():null;if(null!==n){R=n;continue}const l=F?R.getNextSibling():R.getPreviousSibling();if(null!==l){R=l;continue}const d=R.getParentOrThrow();if(B.has(d.__key)||Q.push(d),d===U)break;let J=null,N=d;do{if(null===N&&QR(68),J=F?N.getNextSibling():N.getPreviousSibling(),N=N.getParent(),null===N)break;null!==J||B.has(N.__key)||Q.push(N)}while(null===J);R=J}return F||Q.reverse(),Q}isDirty(){const U=Od()._dirtyLeaves;return null!==U&&U.has(this.__key)}getLatest(){if(tl(this))return this;const U=uJ(this.__key);return null===U&&QR(113),U}getWritable(){if(tl(this))return this;Yd();const U=zd(),F=Od(),Q=U._nodeMap,B=this.__key,R=this.getLatest(),V=F._cloneNotNeeded,n=Td();if(null!==n&&n.setCachedNodes(null),V.has(B))return LJ(R),R;const l=LN(R);return V.add(B),LJ(l),Q.set(B,l),l}getTextContent(){return""}getTextContentSize(){return this.getTextContent().length}createDOM(U,F){QR(70)}updateDOM(U,F,Q){QR(71)}exportDOM(U){return{element:this.createDOM(U._config,U)}}exportJSON(){const U=this.__state?this.__state.toJSON():void 0;return{type:this.__type,version:1,...U}}static importJSON(U){QR(18,this.name)}updateFromJSON(U){return function(U,F){const Q=U.getWritable(),B=F.$;let R=B;for(const V of AR(Q).flatKeys)V in F&&(void 0!==R&&R!==B||(R={...B}),R[V]=F[V]);return(Q.__state||R)&&PR(U).updateFromJSON(R),Q}(this,U)}static transform(){return null}remove(U){El(this,!0,U)}replace(U,F){Yd();let Q=Td();null!==Q&&(Q=Q.clone()),cN(this,U);const B=this.getLatest(),R=this.__key,V=U.__key,n=U.getWritable(),l=this.getParentOrThrow().getWritable(),d=l.__size;OJ(n);const J=B.getPreviousSibling(),N=B.getNextSibling(),Z=B.__prev,W=B.__next,S=B.__parent;if(El(B,!1,!0),null===J?l.__first=V:J.getWritable().__next=V,n.__prev=Z,null===N?l.__last=V:N.getWritable().__prev=V,n.__next=W,n.__parent=S,l.__size=d,F&&(UJ(this)&&UJ(n)||QR(139),this.getChildren().forEach(U=>{n.append(U)})),Fd(Q)){AJ(Q);const U=Q.anchor,F=Q.focus;U.key===R&&$l(U,n),F.key===R&&$l(F,n)}return xJ()===R&&HJ(V),n}insertAfter(U){let F=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];Yd(),cN(this,U);const Q=this.getWritable(),B=U.getWritable(),R=B.getParent(),V=Td();let n=!1,l=!1;if(null!==R){const F=U.getIndexWithinParent();if(OJ(B),Fd(V)){const U=R.__key,Q=V.anchor,B=V.focus;n="element"===Q.type&&Q.key===U&&Q.offset===F+1,l="element"===B.type&&B.key===U&&B.offset===F+1}}const d=this.getNextSibling(),J=this.getParentOrThrow().getWritable(),N=B.__key,Z=Q.__next;if(null===d?J.__last=N:d.getWritable().__prev=N,J.__size++,Q.__next=N,B.__next=Z,B.__prev=Q.__key,B.__parent=Q.__parent,F&&Fd(V)){const U=this.getIndexWithinParent();Cd(V,J,U+1);const F=J.__key;n&&V.anchor.set(F,U+2,"element"),l&&V.focus.set(F,U+2,"element")}return U}insertBefore(U){let F=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];Yd(),cN(this,U);const Q=this.getWritable(),B=U.getWritable(),R=B.__key;OJ(B);const V=this.getPreviousSibling(),n=this.getParentOrThrow().getWritable(),l=Q.__prev,d=this.getIndexWithinParent();null===V?n.__first=R:V.getWritable().__next=R,n.__size++,Q.__prev=R,B.__prev=l,B.__next=Q.__key,B.__parent=Q.__parent;const J=Td();return F&&Fd(J)&&Cd(J,this.getParentOrThrow(),d),U}isParentRequired(){return!1}createParentElementNode(){return SJ()}selectStart(){return this.selectPrevious()}selectEnd(){return this.selectNext(0,0)}selectPrevious(U,F){Yd();const Q=this.getPreviousSibling(),B=this.getParentOrThrow();if(null===Q)return B.select(0,0);if(UJ(Q))return Q.select();if(!Il(Q)){const U=Q.getIndexWithinParent()+1;return B.select(U,U)}return Q.select(U,F)}selectNext(U,F){Yd();const Q=this.getNextSibling(),B=this.getParentOrThrow();if(null===Q)return B.select();if(UJ(Q))return Q.select(0,0);if(!Il(Q)){const U=Q.getIndexWithinParent();return B.select(U,U)}return Q.select(U,F)}markDirty(){this.getWritable()}reconcileObservedMutation(U,F){this.markDirty()}}const Tl="historic",el="history-merge",Cl="collaboration",Dl="skip-scroll-into-view",ol="skip-dom-selection",pl="skip-selection-focus";class hl extends al{static getType(){return"linebreak"}static clone(U){return new hl(U.__key)}constructor(U){super(U)}getTextContent(){return"\n"}createDOM(){return document.createElement("br")}updateDOM(){return!1}isInline(){return!0}static importDOM(){return{br:U=>function(U){const F=U.parentElement;if(null!==F&&sN(F)){const Q=F.firstChild;if(Q===U||Q.nextSibling===U&&Ml(Q)){const Q=F.lastChild;if(Q===U||Q.previousSibling===U&&Ml(Q))return!0}}return!1}(U)||function(U){const F=U.parentElement;if(null!==F&&sN(F)){const Q=F.firstChild;if(Q===U||Q.nextSibling===U&&Ml(Q))return!1;const B=F.lastChild;if(B===U||B.previousSibling===U&&Ml(B))return!0}return!1}(U)?null:{conversion:cl,priority:0}}}static importJSON(U){return rl().updateFromJSON(U)}}function cl(U){return{node:rl()}}function rl(){return hN(new hl)}function ml(U){return U instanceof hl}function Ml(U){return sJ(U)&&/^( |\t|\r?\n)+$/.test(U.textContent||"")}function il(U,F){return 16&F?"code":128&F?"mark":32&F?"sub":64&F?"sup":null}function bl(U,F){return 1&F?"strong":2&F?"em":"span"}function vl(U,F,Q,B,R){const V=B.classList;let n=ZN(R,"base");void 0!==n&&V.add(...n),n=ZN(R,"underlineStrikethrough");let l=!1;const d=8&F&&4&F;void 0!==n&&(8&Q&&4&Q?(l=!0,d||V.add(...n)):d&&V.remove(...n));for(const J in iR){const U=iR[J];if(n=ZN(R,J),void 0!==n)if(Q&U){if(l&&("underline"===J||"strikethrough"===J)){F&U&&V.remove(...n);continue}(0===(F&U)||d&&"underline"===J||"strikethrough"===J)&&V.add(...n)}else F&U&&V.remove(...n)}}function Gl(U,F,Q){const B=F.firstChild,R=Q.isComposing(),V=U+(R?hR:"");if(null==B)F.textContent=V;else{const U=B.nodeValue;if(U!==V)if(R||lR){const[F,Q,R]=function(U,F){const Q=U.length,B=F.length;let R=0,V=0;for(;R0&&void 0!==arguments[0]?arguments[0]:"";super(arguments.length>1?arguments[1]:void 0),this.__text=U,this.__format=0,this.__style="",this.__mode=0,this.__detail=0}getFormat(){return this.getLatest().__format}getDetail(){return this.getLatest().__detail}getMode(){const U=this.getLatest();return XR[U.__mode]}getStyle(){return this.getLatest().__style}isToken(){return 1===this.getLatest().__mode}isComposing(){return this.__key===xJ()}isSegmented(){return 2===this.getLatest().__mode}isDirectionless(){return!!(1&this.getLatest().__detail)}isUnmergeable(){return!!(2&this.getLatest().__detail)}hasFormat(U){const F=iR[U];return 0!==(this.getFormat()&F)}isSimpleText(){return"text"===this.__type&&0===this.__mode}getTextContent(){return this.getLatest().__text}getFormatFlags(U,F){return yJ(this.getLatest().__format,U,F)}canHaveFormat(){return!0}isInline(){return!0}createDOM(U,F){const Q=this.__format,B=il(0,Q),R=bl(0,Q),V=null===B?R:B,n=document.createElement(V);let l=n;this.hasFormat("code")&&n.setAttribute("spellcheck","false"),null!==B&&(l=document.createElement(R),n.appendChild(l)),sl(l,this,0,Q,this.__text,U);const d=this.__style;return""!==d&&(n.style.cssText=d),n}updateDOM(U,F,Q){const B=this.__text,R=U.__format,V=this.__format,n=il(0,R),l=il(0,V),d=bl(0,R),J=bl(0,V);if((null===n?d:n)!==(null===l?J:l))return!0;if(n===l&&d!==J){const U=F.firstChild;null==U&&QR(48);const R=document.createElement(J);return sl(R,this,0,V,B,Q),F.replaceChild(R,U),!1}let N=F;null!==l&&null!==n&&(N=F.firstChild,null==N&&QR(49)),Gl(B,N,this);const Z=Q.theme.text;void 0!==Z&&R!==V&&vl(0,R,V,N,Z);const W=U.__style,S=this.__style;return W!==S&&(F.style.cssText=S),!1}static importDOM(){return{"#text":()=>({conversion:Hl,priority:0}),b:()=>({conversion:zl,priority:0}),code:()=>({conversion:wl,priority:0}),em:()=>({conversion:wl,priority:0}),i:()=>({conversion:wl,priority:0}),mark:()=>({conversion:wl,priority:0}),s:()=>({conversion:wl,priority:0}),span:()=>({conversion:yl,priority:0}),strong:()=>({conversion:wl,priority:0}),sub:()=>({conversion:wl,priority:0}),sup:()=>({conversion:wl,priority:0}),u:()=>({conversion:wl,priority:0})}}static importJSON(U){return jl().updateFromJSON(U)}updateFromJSON(U){return super.updateFromJSON(U).setTextContent(U.text).setFormat(U.format).setDetail(U.detail).setMode(U.mode).setStyle(U.style)}exportDOM(U){let{element:F}=super.exportDOM(U);return iN(F)||QR(132),F.style.whiteSpace="pre-wrap",this.hasFormat("lowercase")?F.style.textTransform="lowercase":this.hasFormat("uppercase")?F.style.textTransform="uppercase":this.hasFormat("capitalize")&&(F.style.textTransform="capitalize"),this.hasFormat("bold")&&(F=Xl(F,"b")),this.hasFormat("italic")&&(F=Xl(F,"i")),this.hasFormat("strikethrough")&&(F=Xl(F,"s")),this.hasFormat("underline")&&(F=Xl(F,"u")),{element:F}}exportJSON(){return{detail:this.getDetail(),format:this.getFormat(),mode:this.getMode(),style:this.getStyle(),text:this.getTextContent(),...super.exportJSON()}}selectionTransform(U,F){}setFormat(U){const F=this.getWritable();return F.__format="string"==typeof U?iR[U]:U,F}setDetail(U){const F=this.getWritable();return F.__detail="string"==typeof U?bR[U]:U,F}setStyle(U){const F=this.getWritable();return F.__style=U,F}toggleFormat(U){const F=yJ(this.getFormat(),U,null);return this.setFormat(F)}toggleDirectionless(){const U=this.getWritable();return U.__detail^=1,U}toggleUnmergeable(){const U=this.getWritable();return U.__detail^=2,U}setMode(U){const F=sR[U];if(this.__mode===F)return this;const Q=this.getWritable();return Q.__mode=F,Q}setTextContent(U){if(this.__text===U)return this;const F=this.getWritable();return F.__text=U,F}select(U,F){Yd();let Q=U,B=F;const R=Td(),V=this.getTextContent(),n=this.__key;if("string"==typeof V){const U=V.length;void 0===Q&&(Q=U),void 0===B&&(B=U)}else Q=0,B=0;if(!Fd(R))return Ed(n,Q,n,B,"text","text");{const U=xJ();U!==R.anchor.key&&U!==R.focus.key||HJ(n),R.setTextNodeRange(this,Q,this,B)}return R}selectStart(){return this.select(0,0)}selectEnd(){const U=this.getTextContentSize();return this.select(U,U)}spliceText(U,F,Q,B){const R=this.getWritable(),V=R.__text,n=Q.length;let l=U;l<0&&(l=n+l,l<0&&(l=0));const d=Td();if(B&&Fd(d)){const F=U+n;d.setTextNodeRange(R,F,R,F)}const J=V.slice(0,l)+Q+V.slice(l+F);return R.__text=J,R}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}splitText(){Yd();const U=this.getLatest(),F=U.getTextContent();if(""===F)return[];const Q=U.__key,B=xJ(),R=F.length;for(var V=arguments.length,n=new Array(V),l=0;lU-F),n.push(R);const d=[],J=n.length;for(let c=0,r=0;cc&&(d.push(F.slice(c,U)),c=U)}const N=d.length;if(1===N)return[U];const Z=d[0],W=U.getParent();let S;const E=U.getFormat(),k=U.getStyle(),t=U.__detail;let a=!1,T=null,e=null;const C=Td();if(Fd(C)){const[U,F]=C.isBackward()?[C.focus,C.anchor]:[C.anchor,C.focus];"text"===U.type&&U.key===Q&&(T=U),"text"===F.type&&F.key===Q&&(e=F)}U.isSegmented()?(S=jl(Z),S.__format=E,S.__style=k,S.__detail=t,S.__state=UV(U,S),a=!0):S=U.setTextContent(Z);const D=[S];for(let c=1;c=h&&(T.set(c.getKey(),o-h,"text"),o=h){e.set(c.getKey(),p-h,"text");break}h=U}if(null!==W){!function(U){const F=U.getPreviousSibling(),Q=U.getNextSibling();null!==F&&LJ(F),null!==Q&&LJ(Q)}(this);const U=W.getWritable(),F=this.getIndexWithinParent();a?(U.splice(F,0,D),this.remove()):U.splice(F,1,D),Fd(C)&&Cd(C,W,F,N-1)}return D}mergeWithSibling(U){const F=U===this.getPreviousSibling();F||U===this.getNextSibling()||QR(50);const Q=this.__key,B=U.__key,R=this.__text,V=R.length;xJ()===B&&HJ(Q);const n=Td();if(Fd(n)){const R=n.anchor,l=n.focus;null!==R&&R.key===B&&pd(R,F,Q,U,V),null!==l&&l.key===B&&pd(l,F,Q,U,V)}const l=U.__text,d=F?l+R:R+l;this.setTextContent(d);const J=this.getWritable();return U.remove(),J}isTextEntity(){return!1}}function yl(U){return{forChild:Kl(U.style),node:null}}function zl(U){const F=U,Q="normal"===F.style.fontWeight;return{forChild:Kl(F.style,Q?void 0:"bold"),node:null}}const Ol=new WeakMap;function Ll(U){if(!iN(U))return!1;if("PRE"===U.nodeName)return!0;const F=U.style.whiteSpace;return"string"==typeof F&&F.startsWith("pre")}function Hl(U){const F=U;null===U.parentElement&&QR(129);let Q=F.textContent||"";if(null!==function(U){let F,Q=U.parentNode;const B=[U];for(;null!==Q&&void 0===(F=Ol.get(Q))&&!Ll(Q);)B.push(Q),Q=Q.parentNode;const R=void 0===F?Q:F;for(let V=0;V0){/[ \t\n]$/.test(F)&&(Q=Q.slice(1)),B=!1;break}}B&&(Q=Q.slice(1))}if(" "===Q[Q.length-1]){let U=F,B=!0;for(;null!==U&&null!==(U=xl(U,!0));)if((U.textContent||"").replace(/^( |\t|\r?\n)+/,"").length>0){B=!1;break}B&&(Q=Q.slice(0,Q.length-1))}return""===Q?{node:null}:{node:jl(Q)}}function xl(U,F){let Q=U;for(;;){let U;for(;null===(U=F?Q.nextSibling:Q.previousSibling);){const U=Q.parentElement;if(null===U)return null;Q=U}if(Q=U,iN(Q)){const U=Q.style.display;if(""===U&&!GN(Q)||""!==U&&!U.startsWith("inline"))return null}let B=Q;for(;null!==(B=F?Q.firstChild:Q.lastChild);)Q=B;if(sJ(Q))return Q;if("BR"===Q.nodeName)return null}}const ul={code:"code",em:"italic",i:"italic",mark:"highlight",s:"strikethrough",strong:"bold",sub:"subscript",sup:"superscript",u:"underline"};function wl(U){const F=ul[U.nodeName.toLowerCase()];return void 0===F?{node:null}:{forChild:Kl(U.style,F),node:null}}function jl(){return hN(new Yl(arguments.length>0&&void 0!==arguments[0]?arguments[0]:""))}function Il(U){return U instanceof Yl}function Kl(U,F){const Q=U.fontWeight,B=U.textDecoration.split(" "),R="700"===Q||"bold"===Q,V=B.includes("line-through"),n="italic"===U.fontStyle,l=B.includes("underline"),d=U.verticalAlign;return U=>Il(U)?(R&&!U.hasFormat("bold")&&U.toggleFormat("bold"),V&&!U.hasFormat("strikethrough")&&U.toggleFormat("strikethrough"),n&&!U.hasFormat("italic")&&U.toggleFormat("italic"),l&&!U.hasFormat("underline")&&U.toggleFormat("underline"),"sub"!==d||U.hasFormat("subscript")||U.toggleFormat("subscript"),"super"!==d||U.hasFormat("superscript")||U.toggleFormat("superscript"),F&&!U.hasFormat(F)&&U.toggleFormat(F),U):U}class fl extends Yl{static getType(){return"tab"}static clone(U){return new fl(U.__key)}constructor(U){super("\t",U),this.__detail=2}static importDOM(){return null}createDOM(U){const F=super.createDOM(U),Q=ZN(U.theme,"tab");return void 0!==Q&&F.classList.add(...Q),F}static importJSON(U){return gl().updateFromJSON(U)}setTextContent(U){return"\t"!==U&&""!==U&&BR(126),super.setTextContent("\t")}spliceText(U,F,Q,B){return""===Q&&0===F||"\t"===Q&&1===F||QR(286),this}setDetail(U){return 2!==U&&QR(127),this}setMode(U){return"normal"!==U&&QR(128),this}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}}function gl(){return hN(new fl)}function Pl(U){return U instanceof fl}class Al{key;offset;type;_selection;constructor(U,F,Q){this._selection=null,this.key=U,this.offset=F,this.type=Q}is(U){return this.key===U.key&&this.offset===U.offset&&this.type===U.type}isBefore(U){return this.key===U.key?this.offsetU&&(B=U)}else if(!UJ(F)){const U=F.getNextSibling();if(Il(U))Q=U.__key,B=0,R="text";else{const U=F.getParent();U&&(Q=U.__key,B=F.getIndexWithinParent()+1)}}U.set(Q,B,R)}function $l(U,F){if(UJ(F)){const Q=F.getLastDescendant();UJ(Q)||Il(Q)?_l(U,Q):_l(U,F)}else _l(U,F)}class Ud{_nodes;_cachedNodes;dirty;constructor(U){this._cachedNodes=null,this._nodes=U,this.dirty=!1}getCachedNodes(){return this._cachedNodes}setCachedNodes(U){this._cachedNodes=U}is(U){if(!Bd(U))return!1;const F=this._nodes,Q=U._nodes;return F.size===Q.size&&Array.from(F).every(U=>Q.has(U))}isCollapsed(){return!1}isBackward(){return!1}getStartEndPoints(){return null}add(U){this.dirty=!0,this._nodes.add(U),this._cachedNodes=null}delete(U){this.dirty=!0,this._nodes.delete(U),this._cachedNodes=null}clear(){this.dirty=!0,this._nodes.clear(),this._cachedNodes=null}has(U){return this._nodes.has(U)}clone(){return new Ud(new Set(this._nodes))}extract(){return this.getNodes()}insertRawText(U){}insertText(){}insertNodes(U){const F=this.getNodes(),Q=F.length,B=F[Q-1];let R;if(Il(B))R=B.select();else{const U=B.getIndexWithinParent()+1;R=B.getParentOrThrow().select(U,U)}R.insertNodes(U);for(let V=0;V1;){const U=F[F.length-1];if(!UJ(U)||V.has(U)||U.isEmpty()||R.has(U))break;F.pop()}if(0===F.length&&U.isCollapsed()){const Q=MZ(U.anchor),B=MZ(U.anchor.getFlipped()),R=U=>$N(U)?U.origin:U.getNodeAtCaret(),V=R(Q)||R(B)||(U.anchor.getNodeAtCaret()?Q.origin:B.origin);F.push(V)}return F}(vZ(hZ(this),"next"));return Xd()||(this._cachedNodes=F),F}setTextNodeRange(U,F,Q,B){this.anchor.set(U.__key,F,"text"),this.focus.set(Q.__key,B,"text")}getTextContent(){const U=this.getNodes();if(0===U.length)return"";const F=U[0],Q=U[U.length-1],B=this.anchor,R=this.focus,V=B.isBefore(R),[n,l]=Vd(this);let d="",J=!0;for(let N=0;N=0;U--){const F=V[U];if(F.is(Z)||UJ(F)&&F.isParentOf(Z))break;F.isAttached()&&(!S.has(F)||F.is(R)?k||t.insertAfter(F,!1):F.remove())}if(!k){let U=B,Q=null;for(;null!==U;){const B=U.getChildren(),R=B.length;(0===R||B[R-1].is(Q))&&(F.delete(U.__key),Q=U),U=U.getParent()}}if(vJ(Z))if(l===W)Z.select();else{const F=jl(U);F.select(),Z.replace(F)}else Z=Z.spliceText(l,W-l,U,!0),""===Z.getTextContent()?Z.remove():"text"===this.anchor.type&&(Z.isComposing()?this.anchor.offset-=U.length:(this.format=Z.getFormat(),this.style=Z.getStyle()));for(let U=1;U1&&void 0!==arguments[1]?arguments[1]:"removeEmptySlices";if(U.isCollapsed())return U;const Q="root",B="next";let R=F;const V=vZ(U,B),n=rZ(V.anchor,Q),l=rZ(V.focus.getFlipped(),Q),d=new Set,J=[];for(const E of V.iterNodeCarets(Q))if(FZ(E))d.add(E.origin.getKey());else if(UZ(E)){const{origin:U}=E;UJ(U)&&!d.has(U.getKey())||J.push(U)}for(const E of J)E.remove();for(const E of V.getTextSlices()){if(!E)continue;const{origin:U}=E.caret,F=U.getTextContentSize(),Q=cZ(VZ(U,B)),V=U.getMode();if(Math.abs(E.distance)===F&&"removeEmptySlices"===R||"token"===V&&0!==E.distance)Q.remove();else if(0!==E.distance){R="removeEmptySlices";let U=E.removeTextSlice();const F=E.caret.origin;if("segmented"===V){const F=U.origin,R=jl(F.getTextContent()).setStyle(F.getStyle()).setFormat(F.getFormat());Q.replaceOrInsert(R),U=nZ(R,B,U.offset)}F.is(n[0].origin)&&(n[0]=U),F.is(l[0].origin)&&(l[0]=U.getFlipped())}}let N,Z;for(const E of n)if(mZ(E)){N=MZ(E);break}for(const E of l)if(mZ(E)){Z=MZ(E);break}const W=function(U,F,Q){if(!U||!F)return null;const B=U.getParentAtCaret(),R=F.getParentAtCaret();if(!B||!R)return null;const V=B.getParents().reverse();V.push(B);const n=R.getParents().reverse();n.push(R);const l=Math.min(V.length,n.length);let d;for(d=0;d{let Q;for(let B=d;BQ.has(U.getKey())&&XN(U));return N&&Z?[N,Z]:null}(N,Z,d);if(W){const[U,F]=W;JZ(U,"previous").splice(0,F.getChildren()),F.remove()}const S=[N,Z,...n,...l].find(mZ);if(S)return function(U){return EZ(U,U)}(bZ(MZ(S),U.direction));QR(269,JSON.stringify(n.map(U=>U.origin.__key)))}(hZ(this))),U&&Td()!==this&&AJ(this)}formatText(U){let F=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(this.isCollapsed())return this.toggleFormat(U),void HJ(null);const Q=this.getNodes(),B=[];for(const e of Q)Il(e)&&B.push(e);const R=F=>{Q.forEach(Q=>{if(UJ(Q)){const B=Q.getFormatFlags(U,F);Q.setTextFormat(B)}})},V=B.length;if(0===V)return this.toggleFormat(U),HJ(null),void R(F);const n=this.anchor,l=this.focus,d=this.isBackward(),J=d?l:n,N=d?n:l;let Z=0,W=B[0],S="element"===J.type?0:J.offset;if("text"===J.type&&S===W.getTextContentSize()&&(Z=1,W=B[1],S=0),null==W)return;const E=W.getFormatFlags(U,F);R(E);const k=V-1;let t=B[k];const a="text"===N.type?N.offset:t.getTextContentSize();if(W.is(t)){if(S===a)return;if(GJ(W)||0===S&&a===W.getTextContentSize())W.setFormat(E);else{const U=W.splitText(S,a),F=0===S?U[0]:U[1];F.setFormat(E),"text"===J.type&&J.set(F.__key,0,"text"),"text"===N.type&&N.set(F.__key,a-S,"text")}return void(this.format=E)}0===S||GJ(W)||([,W]=W.splitText(S),S=0),W.setFormat(E);const T=t.getFormatFlags(U,E);a>0&&(a===t.getTextContentSize()||GJ(t)||([t]=t.splitText(a)),t.setFormat(T));for(let e=Z+1;e(UJ(U)||BJ(U))&&!U.isInline())){UJ(Q)||QR(211,F.constructor.name,F.getType());const R=cd(this);return Q.splice(R,0,U),void B.selectEnd()}const R=function(U){const F=SJ();let Q=null;for(let B=0;B0){const U=V.getRangeAt(0),Q=this.anchor.getNode(),R=VJ(Q)?Q:function(U){let F=U.getParentOrThrow();for(;null!==F;){if(pN(F))return F;F=F.getParentOrThrow()}return F}(Q);if(this.applyDOMRange(U),this.dirty=!0,!B){const Q=this.getNodes(),B=[];let n=!1;for(let U=0;U0)if(F){const U=B[0];UJ(U)?U.selectStart():U.getParentOrThrow().selectStart()}else{const U=B[B.length-1];UJ(U)?U.selectEnd():U.getParentOrThrow().selectEnd()}V.anchorNode===U.startContainer&&V.anchorOffset===U.startOffset||function(U){const F=U.focus,Q=U.anchor,B=Q.key,R=Q.offset,V=Q.type;Q.set(F.key,F.offset,F.type,!0),F.set(B,R,V,!0)}(this)}}"lineboundary"===Q&&md(this,U,F,Q,"decorators")}forwardDeletion(U,F,Q){if(!Q&&("element"===U.type&&UJ(F)&&U.offset===F.getChildrenSize()||"text"===U.type&&U.offset===F.getTextContentSize())){const U=F.getParent(),Q=F.getNextSibling()||(null===U?null:U.getNextSibling());if(UJ(Q)&&Q.isShadowRoot())return!0}return!1}deleteCharacter(U){const F=this.isCollapsed();if(this.isCollapsed()){const F=this.anchor;let Q=F.getNode();if(this.forwardDeletion(F,Q,U))return;const B=SZ(DZ(F,U?"previous":"next"));if(B.getTextSlices().every(U=>null===U||0===U.distance)){let U={type:"initial"};for(const F of B.iterNodeCarets("shadowRoot"))if(FZ(F))if(F.origin.isInline());else{if(F.origin.isShadowRoot()){if("merge-block"===U.type)break;if(UJ(B.anchor.origin)&&B.anchor.origin.isEmpty()){const U=MZ(F);pZ(this,EZ(U,U)),B.anchor.origin.remove()}return}"merge-next-block"!==U.type&&"merge-block"!==U.type||(U={block:U.block,caret:F,type:"merge-block"})}else{if("merge-block"===U.type)break;if(UZ(F)){if(UJ(F.origin)){if(F.origin.isInline()){if(!F.origin.isParentOf(B.anchor.origin))break}else U={block:F.origin,type:"merge-next-block"};continue}if(BJ(F.origin)){if(F.origin.isIsolated());else if("merge-next-block"===U.type&&(F.origin.isKeyboardSelectable()||!F.origin.isInline())&&UJ(B.anchor.origin)&&B.anchor.origin.isEmpty()){B.anchor.origin.remove();const U=td();U.add(F.origin.getKey()),AJ(U)}else F.origin.remove();return}break}}if("merge-block"===U.type){const{caret:F,block:Q}=U;return pZ(this,EZ(!F.origin.isEmpty()&&Q.isEmpty()?cZ(VZ(Q,F.direction)):B.anchor,F)),this.removeText()}}const R=this.focus;if(this.modify("extend",U,"character"),this.isCollapsed()){if(U&&0===F.offset&&nd(this,F.getNode()))return}else{const B="text"===R.type?R.getNode():null;if(Q="text"===F.type?F.getNode():null,null!==B&&B.isSegmented()){const F=R.offset,V=B.getTextContentSize();if(B.is(Q)||U&&F!==V||!U&&0!==F)return void dd(B,U,F)}else if(null!==Q&&Q.isSegmented()){const R=F.offset,V=Q.getTextContentSize();if(Q.is(B)||U&&0!==R||!U&&R!==V)return void dd(Q,U,R)}!function(U,F){const Q=U.anchor,B=U.focus,R=Q.getNode();if(R===B.getNode()&&"text"===Q.type&&"text"===B.type){const U=Q.offset,V=B.offset,n=U{try{const U=new RegExp("\\p{Emoji}","u"),F=U.test.bind(U);if(F("\u2764\ufe0f")&&F("#\ufe0f\u20e3")&&F("\ud83d\udc4d"))return F}catch(U){}return()=>!1})();function dd(U,F,Q){const B=U,R=B.getTextContent().split(/(?=\s)/g),V=R.length;let n=0,l=0;for(let J=0;JQ||U){R.splice(J,1),U&&(l=void 0);break}}const d=R.join("").trim();""===d?B.remove():(B.setTextContent(d),B.select(l,l))}function Jd(U,F,Q,B){let R,V=F;if(iN(U)){let n=!1;const l=U.childNodes,d=l.length,J=B._blockCursorElement;V===d&&(n=!0,V=d-1);let N=l[V],Z=!1;if(N===J)N=l[V+1],Z=!0;else if(null!==J){const Q=J.parentNode;U===Q&&F>Array.prototype.indexOf.call(Q.children,J)&&V--}if(R=qJ(N),Il(R))V=lZ(R,n?"next":"previous");else{let l=qJ(U);if(null===l)return null;if(UJ(l)){const d=B.getElementByKey(l.getKey());null===d&&QR(214);const J=l.getDOMSlot(d);[l,V]=J.resolveChildIndex(l,d,U,F),UJ(l)||QR(215),n&&V>=l.getChildrenSize()&&(V=Math.max(0,l.getChildrenSize()-1));let N=l.getChildAtIndex(V);if(UJ(N)&&function(U,F,Q){const B=U.getParent();return null===Q||null===B||!B.canBeEmpty()||B!==Q.getNode()}(N,0,Q)){const U=n?N.getLastDescendant():N.getFirstDescendant();null===U?l=N:(N=U,l=UJ(N)?N:N.getParentOrThrow()),V=0}Il(N)?(R=N,l=null,V=lZ(N,n?"next":"previous")):N!==l&&n&&!Z&&(UJ(l)||QR(216),V=Math.min(l.getChildrenSize(),V+1))}else{const Q=l.getIndexWithinParent();V=0===F&&BJ(l)&&qJ(U)===l?Q:Q+1,l=l.getParentOrThrow()}if(UJ(l))return ql(l.__key,V,"element")}}else R=qJ(U);return Il(R)?ql(R.__key,lZ(R,V,"clamp"),"text"):null}function Nd(U,F,Q){const B=U.offset,R=U.getNode();if(0===B){const B=R.getPreviousSibling(),V=R.getParent();if(F){if((Q||!F)&&null===B&&UJ(V)&&V.isInline()){const F=V.getPreviousSibling();Il(F)&&U.set(F.__key,F.getTextContent().length,"text")}}else UJ(B)&&!Q&&B.isInline()?U.set(B.__key,B.getChildrenSize(),"element"):Il(B)&&U.set(B.__key,B.getTextContent().length,"text")}else if(B===R.getTextContent().length){const B=R.getNextSibling(),V=R.getParent();if(F&&UJ(B)&&B.isInline())U.set(B.__key,0,"element");else if((Q||F)&&null===B&&UJ(V)&&V.isInline()&&!V.canInsertTextAfter()){const F=V.getNextSibling();Il(F)&&U.set(F.__key,0,"text")}}}function Zd(U,F,Q){if("text"===U.type&&"text"===F.type){const B=U.isBefore(F),R=U.is(F);Nd(U,B,R),Nd(F,!B,R),R&&F.set(U.key,U.offset,U.type);const V=Od();if(V.isComposing()&&V._compositionKey!==U.key&&Fd(Q)){const B=Q.anchor,R=Q.focus;U.set(B.key,B.offset,B.type,!0),F.set(R.key,R.offset,R.type,!0)}}}function Wd(U,F,Q,B,R,V){if(null===U||null===Q||!mJ(R,U,Q))return null;const n=Jd(U,F,Fd(V)?V.anchor:null,R);if(null===n)return null;const l=Jd(Q,B,Fd(V)?V.focus:null,R);if(null===l)return null;if("element"===n.type&&"element"===l.type){const F=qJ(U),B=qJ(Q);if(BJ(F)&&BJ(B))return null}return Zd(n,l,V),[n,l]}function Sd(U){return UJ(U)&&!U.isInline()}function Ed(U,F,Q,B,R,V){const n=zd(),l=new Qd(ql(U,F,R),ql(Q,B,V),0,"");return l.dirty=!0,n._selection=l,l}function kd(){const U=ql("root",0,"element"),F=ql("root",0,"element");return new Qd(U,F,0,"")}function td(){return new Ud(new Set)}function ad(U,F,Q,B){const R=Q._window;if(null===R)return null;const V=B||R.event,n=V?V.type:void 0,l="selectionchange"===n,d=!zR&&(l||"beforeinput"===n||"compositionstart"===n||"compositionend"===n||"click"===n&&V&&3===V.detail||"drop"===n||void 0===n);let J,N,Z,W;if(Fd(U)&&!d)return U.clone();if(null===F)return null;if(J=F.anchorNode,N=F.focusNode,Z=F.anchorOffset,W=F.focusOffset,(l||void 0===n)&&Fd(U)&&!mJ(Q,J,N))return U.clone();const S=Wd(J,Z,N,W,Q,U);if(null===S)return null;const[E,k]=S;return new Qd(E,k,Fd(U)?U.format:0,Fd(U)?U.style:"")}function Td(){return zd()._selection}function ed(){return Od()._editorState._selection}function Cd(U,F,Q){let B=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;const R=U.anchor,V=U.focus,n=R.getNode(),l=V.getNode();if(!F.is(n)&&!F.is(l))return;const d=F.__key;if(U.isCollapsed()){const F=R.offset;if(Q<=F&&B>0||Q0||Q0||Q=U,n=R?V.getChildAtIndex(U-1):V.getChildAtIndex(Q);if(Il(n)){let U=0;R&&(U=n.getTextContentSize()),F.set(n.__key,U,"text"),B.set(n.__key,U,"text")}return}if(UJ(V)){const U=V.getChildrenSize(),B=Q>=U,R=B?V.getChildAtIndex(U-1):V.getChildAtIndex(Q);if(Il(R)){let U=0;B&&(U=R.getTextContentSize()),F.set(R.__key,U,"text")}}if(UJ(n)){const U=n.getChildrenSize(),F=R>=U,Q=F?n.getChildAtIndex(U-1):n.getChildAtIndex(R);if(Il(Q)){let U=0;F&&(U=Q.getTextContentSize()),B.set(Q.__key,U,"text")}}}function od(U,F,Q,B,R){let V=null,n=0,l=null;null!==B?(V=B.__key,Il(B)?(n=B.getTextContentSize(),l="text"):UJ(B)&&(n=B.getChildrenSize(),l="element")):null!==R&&(V=R.__key,Il(R)?l="text":UJ(R)&&(l="element")),null!==V&&null!==l?U.set(V,n,l):(n=F.getIndexWithinParent(),-1===n&&(n=Q.getChildrenSize()),U.set(Q.__key,n,"element"))}function pd(U,F,Q,B,R){"text"===U.type?U.set(Q,U.offset+(F?0:R),"text"):U.offset>B.getIndexWithinParent()&&U.set(U.key,U.offset-1,"element")}function hd(U,F,Q,B,R){try{U.setBaseAndExtent(F,Q,B,R)}catch(U){}}function cd(U){let F=U;U.isCollapsed()||F.removeText();const Q=Td();Fd(Q)&&(F=Q),Fd(F)||QR(161);const B=F.anchor;let R=B.getNode(),V=B.offset;for(;!XN(R);){const U=R;if([R,V]=rd(R,V),U.is(R))break}return V}function rd(U,F){const Q=U.getParent();if(!Q){const U=SJ();return gJ().append(U),U.select(),[gJ(),0]}if(Il(U)){const B=U.splitText(F);if(0===B.length)return[Q,U.getIndexWithinParent()];const R=0===F?0:1;return[Q,B[0].getIndexWithinParent()+R]}if(!UJ(U)||0===F)return[Q,U.getIndexWithinParent()];const B=U.getChildAtIndex(F);if(B){const Q=new Qd(ql(U.__key,F,"element"),ql(U.__key,F,"element"),0,""),R=U.insertNewAfter(Q);R&&R.append(B,...B.getNextSiblings())}return[Q,U.getIndexWithinParent()+1]}function md(U,F,Q,B){let R=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"decorators-and-blocks";if("move"===F&&"character"===B&&!U.isCollapsed()){const[F,B]=Q===U.isBackward()?[U.focus,U.anchor]:[U.anchor,U.focus];return B.set(F.key,F.offset,F.type),!0}const V=DZ(U.focus,Q?"previous":"next"),n="lineboundary"===B,l="move"===F;let d=V,J="decorators-and-blocks"===R;if(!iZ(d)){for(const U of d){J=!1;const{origin:F}=U;if(!BJ(F)||F.isIsolated()||(d=U,!n||!F.isInline()))break}if(J)for(const U of SZ(V).iterNodeCarets("extend"===F?"shadowRoot":"root")){if(FZ(U))U.origin.isInline()||(d=U);else{if(UJ(U.origin))continue;BJ(U.origin)&&!U.origin.isInline()&&(d=U)}break}}if(d===V)return!1;if(l&&!n&&BJ(d.origin)&&d.origin.isKeyboardSelectable()){const U=td();return U.add(d.origin.getKey()),AJ(U),!0}return d=MZ(d),l&&oZ(U.anchor,d),oZ(U.focus,d),J||!n}let Md=null,id=null,bd=!1,vd=!1,Gd=0;const sd={characterData:!0,childList:!0,subtree:!0};function Xd(){return bd||null!==Md&&Md._readOnly}function Yd(){bd&&QR(13)}function yd(){Gd>99&&QR(14)}function zd(){return null===Md&&QR(195,Ld()),Md}function Od(){return null===id&&QR(196,Ld()),id}function Ld(){let U=0;const F=new Set,Q=TJ.version;if("undefined"!=typeof window)for(const R of document.querySelectorAll("[contenteditable]")){const B=bJ(R);if(MJ(B))U++;else if(B){let U=String(B.constructor.version||"<0.17.1");U===Q&&(U+=" (separately built, likely a bundler configuration issue)"),F.add(U)}}let B=` Detected on the page: ${U} compatible editor(s) with version ${Q}`;return F.size&&(B+=` and incompatible editors with versions ${Array.from(F).join(", ")}`),B}function Hd(U,F,Q){const B=F.__type,R=oJ(U,B);let V=Q.get(B);void 0===V&&(V=Array.from(R.transforms),Q.set(B,V));const n=V.length;for(let l=0;l0?B.getRangeAt(0):null;if(null!==U){let F;if(U instanceof Text){const Q=document.createRange();Q.selectNode(U),F=Q.getBoundingClientRect()}else F=U.getBoundingClientRect();!function(U,F,Q){const B=eN(Q),R=DN(B);if(null===B||null===R)return;let{top:V,bottom:n}=F,l=0,d=0,J=Q;for(;null!==J;){const F=J===B.body;if(F)l=0,d=oN(U).innerHeight;else{const U=J.getBoundingClientRect();l=U.top,d=U.bottom}let Q=0;if(Vd&&(Q=n-d),0!==Q)if(F)R.scrollBy(0,Q);else{const U=J.scrollTop;J.scrollTop+=Q;const F=J.scrollTop-U;V-=F,n-=F}if(F)break;J=TN(J)}}(Q,F,V)}}wn=!0}}(n,l,U,C,T,B)}!function(U,F,Q){let B=U._blockCursorElement;if(Fd(Q)&&Q.isCollapsed()&&"element"===Q.anchor.type&&F.contains(document.activeElement)){const R=Q.anchor,V=R.getNode(),n=R.offset;let l=!1,d=null;if(n===V.getChildrenSize())rN(V.getChildAtIndex(n-1))&&(l=!0);else{const F=V.getChildAtIndex(n);if(null!==F&&rN(F)){const Q=F.getPreviousSibling();(null===Q||rN(Q))&&(l=!0,d=U.getElementByKey(F.__key))}}if(l){const Q=U.getElementByKey(V.__key);return null===B&&(U._blockCursorElement=B=function(U){const F=U.theme,Q=document.createElement("div");Q.contentEditable="false",Q.setAttribute("data-lexical-cursor","true");let B=F.blockCursor;if(void 0!==B){if("string"==typeof B){const U=sZ(B);B=F.blockCursor=U}void 0!==B&&Q.classList.add(...B)}return Q}(U._config)),F.style.caretColor="transparent",void(null===d?Q.appendChild(B):Q.insertBefore(B,d))}}null!==B&&mN(B,U,F)}(U,B,l)}finally{null!==S&&S.observe(B,sd),id=Z,Md=J}}null!==E&&function(U,F,Q,B,R){const V=Array.from(U._listeners.mutation),n=V.length;for(let l=0;l3?R-3:0),n=3;n0||N>0;){if(d>0){F._dirtyLeaves=new Set;for(const U of l){const B=R.get(U);Il(B)&&B.isAttached()&&B.isSimpleText()&&!B.isUnmergeable()&&BV(B),void 0!==B&&xd(B,V)&&Hd(F,B,n),Q.add(U)}if(l=F._dirtyLeaves,d=l.size,d>0){Gd++;continue}}F._dirtyLeaves=new Set,F._dirtyElements=new Map,J.delete("root")&&J.set("root",!0);for(const U of J){const Q=U[0],l=U[1];if(B.set(Q,l),!l)continue;const d=R.get(Q);void 0!==d&&xd(d,V)&&Hd(F,d,n)}l=F._dirtyLeaves,d=l.size,J=F._dirtyElements,N=J.size,Gd++}F._dirtyLeaves=Q,F._dirtyElements=B}(d,U),gd(U),function(U,F,Q,B){const R=U._nodeMap,V=F._nodeMap,n=[];for(const[l]of B){const U=V.get(l);void 0!==U&&(U.isAttached()||(UJ(U)&&yR(U,l,R,V,n,B),R.has(l)||B.delete(l),n.push(l)))}for(const l of n)V.delete(l);for(const l of Q){const U=V.get(l);void 0===U||U.isAttached()||(R.has(l)||Q.delete(l),V.delete(l))}}(l,d,U._dirtyLeaves,U._dirtyElements)),B!==U._compositionKey&&(d._flushSync=!0);const R=d._selection;if(Fd(R)){const U=d._nodeMap,F=R.anchor.key,Q=R.focus.key;void 0!==U.get(F)&&void 0!==U.get(Q)||QR(19)}else Bd(R)&&0===R._nodes.size&&(d._selection=null)}catch(t){return t instanceof Error&&U._onError(t),U._pendingEditorState=l,U._dirtyType=2,U._cloneNotNeeded.clear(),U._dirtyLeaves=new Set,U._dirtyElements.clear(),void Kd(U)}finally{Md=N,bd=Z,id=W,U._updating=S,Gd=0}const k=0!==U._dirtyType||U._deferred.length>0||function(U,F){const Q=F.getEditorState()._selection,B=U._selection;if(null!==B){if(B.dirty||!B.is(Q))return!0}else if(null!==Q)return!0;return!1}(d,U);k?d._flushSync?(d._flushSync=!1,Kd(U)):J&&hJ(()=>{Kd(U)}):(d._flushSync=!1,J&&(B.clear(),U._deferred=[],U._pendingEditorState=null))}function Ad(U,F,Q){id===U&&void 0===Q?F():Pd(U,F,Q)}class qd{element;before;after;constructor(U,F,Q){this.element=U,this.before=F||null,this.after=Q||null}withBefore(U){return new qd(this.element,U,this.after)}withAfter(U){return new qd(this.element,this.before,U)}withElement(U){return this.element===U?this:new qd(U,this.before,this.after)}insertChild(U){const F=this.before||this.getManagedLineBreak();return null!==F&&F.parentElement!==this.element&&QR(222),this.element.insertBefore(U,F),this}removeChild(U){return U.parentElement!==this.element&&QR(223),this.element.removeChild(U),this}replaceChild(U,F){return F.parentElement!==this.element&&QR(224),this.element.replaceChild(U,F),this}getFirstChild(){const U=this.after?this.after.nextSibling:this.element.firstChild;return U===this.before||U===this.getManagedLineBreak()?null:U}getManagedLineBreak(){return this.element.__lexicalLineBreak||null}setManagedLineBreak(U){if(null===U)this.removeManagedLineBreak();else{const F="decorator"===U&&(ER||NR||JR);this.insertManagedLineBreak(F)}}removeManagedLineBreak(){const U=this.getManagedLineBreak();if(U){const F=this.element,Q="IMG"===U.nodeName?U.nextSibling:null;Q&&F.removeChild(Q),F.removeChild(U),F.__lexicalLineBreak=void 0}}insertManagedLineBreak(U){const F=this.getManagedLineBreak();if(F){if(U===("IMG"===F.nodeName))return;this.removeManagedLineBreak()}const Q=this.element,B=this.before,R=document.createElement("br");if(Q.insertBefore(R,B),U){const U=document.createElement("img");U.setAttribute("data-lexical-linebreak","true"),U.style.cssText="display: inline !important; border: 0px !important; margin: 0px !important;",U.alt="",Q.insertBefore(U,R),Q.__lexicalLineBreak=U}else Q.__lexicalLineBreak=R}getFirstChildOffset(){let U=0;for(let F=this.after;null!==F;F=F.previousSibling)U++;return U}resolveChildIndex(U,F,Q,B){if(Q===this.element){const F=this.getFirstChildOffset();return[U,Math.min(F+U.getChildrenSize(),Math.max(F,B))]}const R=_d(F,Q);R.push(B);const V=_d(F,this.element);let n=U.getIndexWithinParent();for(let l=0;lF){n+=1;break}}return[U.getParentOrThrow(),n]}}function _d(U,F){const Q=[];let B=F;for(;B!==U&&null!==B;B=B.parentNode){let U=0;for(let F=B.previousSibling;null!==F;F=F.previousSibling)U++;Q.push(U)}return B!==U&&QR(225),Q.reverse()}class $d extends al{__first;__last;__size;__format;__style;__indent;__dir;__textFormat;__textStyle;constructor(U){super(U),this.__first=null,this.__last=null,this.__size=0,this.__format=0,this.__style="",this.__indent=0,this.__dir=null,this.__textFormat=0,this.__textStyle=""}afterCloneFrom(U){super.afterCloneFrom(U),this.__key===U.__key&&(this.__first=U.__first,this.__last=U.__last,this.__size=U.__size),this.__indent=U.__indent,this.__format=U.__format,this.__style=U.__style,this.__dir=U.__dir,this.__textFormat=U.__textFormat,this.__textStyle=U.__textStyle}getFormat(){return this.getLatest().__format}getFormatType(){const U=this.getFormat();return GR[U]||""}getStyle(){return this.getLatest().__style}getIndent(){return this.getLatest().__indent}getChildren(){const U=[];let F=this.getFirstChild();for(;null!==F;)U.push(F),F=F.getNextSibling();return U}getChildrenKeys(){const U=[];let F=this.getFirstChild();for(;null!==F;)U.push(F.__key),F=F.getNextSibling();return U}getChildrenSize(){return this.getLatest().__size}isEmpty(){return 0===this.getChildrenSize()}isDirty(){const U=Od()._dirtyElements;return null!==U&&U.has(this.__key)}isLastChild(){const U=this.getLatest(),F=this.getParentOrThrow().getLastChild();return null!==F&&F.is(U)}getAllTextNodes(){const U=[];let F=this.getFirstChild();for(;null!==F;){if(Il(F)&&U.push(F),UJ(F)){const Q=F.getAllTextNodes();U.push(...Q)}F=F.getNextSibling()}return U}getFirstDescendant(){let U=this.getFirstChild();for(;UJ(U);){const F=U.getFirstChild();if(null===F)break;U=F}return U}getLastDescendant(){let U=this.getLastChild();for(;UJ(U);){const F=U.getLastChild();if(null===F)break;U=F}return U}getDescendantByIndex(U){const F=this.getChildren(),Q=F.length;if(U>=Q){const U=F[Q-1];return UJ(U)&&U.getLastDescendant()||U||null}const B=F[U];return UJ(B)&&B.getFirstDescendant()||B||null}getFirstChild(){const U=this.getLatest().__first;return null===U?null:uJ(U)}getFirstChildOrThrow(){const U=this.getFirstChild();return null===U&&QR(45,this.__key),U}getLastChild(){const U=this.getLatest().__last;return null===U?null:uJ(U)}getLastChildOrThrow(){const U=this.getLastChild();return null===U&&QR(96,this.__key),U}getChildAtIndex(U){const F=this.getChildrenSize();let Q,B;if(U=U;){if(B===U)return Q;Q=Q.getPreviousSibling(),B--}return null}getTextContent(){let U="";const F=this.getChildren(),Q=F.length;for(let B=0;BU.remove()),U}append(){for(var U=arguments.length,F=new Array(U),Q=0;Q0){let U=null===J?this.getFirstChild():J.getNextSibling();for(let Q=0;Q0&&(F.style.paddingInlineStart=40*U+"px");const Q=this.getDirection();Q&&(F.dir=Q)}return{element:F}}exportJSON(){const U={children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),...super.exportJSON()},F=this.getTextFormat(),Q=this.getTextStyle();return 0===F&&""===Q||pN(this)||this.getChildren().some(Il)||(0!==F&&(U.textFormat=F),""!==Q&&(U.textStyle=Q)),U}updateFromJSON(U){return super.updateFromJSON(U).setFormat(U.format).setIndent(U.indent).setDirection(U.direction).setTextFormat(U.textFormat||0).setTextStyle(U.textStyle||"")}insertNewAfter(U,F){return null}canIndent(){return!0}collapseAtStart(U){return!1}excludeFromCopy(U){return!1}canReplaceWith(U){return!0}canInsertAfter(U){return!0}canBeEmpty(){return!0}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}isInline(){return!1}isShadowRoot(){return!1}canMergeWith(U){return!1}extractWithChild(U,F,Q){return!1}canMergeWhenEmpty(){return!1}reconcileObservedMutation(U,F){const Q=this.getDOMSlot(U);let B=Q.getFirstChild();for(let R=this.getFirstChild();R;R=R.getNextSibling()){const U=F.getElementByKey(R.getKey());null!==U&&(null==B?(Q.insertChild(U),B=U):B!==U&&Q.replaceChild(U,B),B=B.nextSibling)}}}function UJ(U){return U instanceof $d}function FJ(U,F,Q){let B=U.getNode();for(;B;){const U=B.__key;if(F.has(U)&&!Q.has(U))return!0;B=B.getParent()}return!1}class QJ extends al{decorate(U,F){return null}isIsolated(){return!1}isInline(){return!0}isKeyboardSelectable(){return!0}}function BJ(U){return U instanceof QJ}class RJ extends $d{__cachedText;static getType(){return"root"}static clone(){return new RJ}constructor(){super("root"),this.__cachedText=null}getTopLevelElementOrThrow(){QR(51)}getTextContent(){const U=this.__cachedText;return!Xd()&&0!==Od()._dirtyType||null===U?super.getTextContent():U}remove(){QR(52)}replace(U){QR(53)}insertBefore(U){QR(54)}insertAfter(U){QR(55)}updateDOM(U,F){return!1}splice(U,F,Q){for(const B of Q)UJ(B)||BJ(B)||QR(282);return super.splice(U,F,Q)}static importJSON(U){return gJ().updateFromJSON(U)}collapseAtStart(){return!0}}function VJ(U){return U instanceof RJ}function nJ(U){return new JJ(new Map(U._nodeMap))}function lJ(){return new JJ(new Map([["root",new RJ]]))}function dJ(U){const F=U.exportJSON(),Q=U.constructor;if(F.type!==Q.getType()&&QR(130,Q.name),UJ(U)){const B=F.children;Array.isArray(B)||QR(59,Q.name);const R=U.getChildren();for(let U=0;U({root:dJ(gJ())}))}}class NJ extends $d{static getType(){return"artificial"}createDOM(U){return document.createElement("div")}}class ZJ extends $d{static getType(){return"paragraph"}static clone(U){return new ZJ(U.__key)}createDOM(U){const F=document.createElement("p"),Q=ZN(U.theme,"paragraph");return void 0!==Q&&F.classList.add(...Q),F}updateDOM(U,F,Q){return!1}static importDOM(){return{p:U=>({conversion:WJ,priority:0})}}exportDOM(U){const{element:F}=super.exportDOM(U);if(iN(F)){this.isEmpty()&&F.append(document.createElement("br"));const U=this.getFormatType();U&&(F.style.textAlign=U)}return{element:F}}static importJSON(U){return SJ().updateFromJSON(U)}exportJSON(){const U=super.exportJSON();if(void 0===U.textFormat||void 0===U.textStyle){const F=this.getChildren().find(Il);F?(U.textFormat=F.getFormat(),U.textStyle=F.getStyle()):(U.textFormat=this.getTextFormat(),U.textStyle=this.getTextStyle())}return U}insertNewAfter(U,F){const Q=SJ();Q.setTextFormat(U.format),Q.setTextStyle(U.style);const B=this.getDirection();return Q.setDirection(B),Q.setFormat(this.getFormatType()),Q.setStyle(this.getStyle()),this.insertAfter(Q,F),Q}collapseAtStart(){const U=this.getChildren();if(0===U.length||Il(U[0])&&""===U[0].getTextContent().trim()){if(null!==this.getNextSibling())return this.selectNext(),this.remove(),!0;if(null!==this.getPreviousSibling())return this.selectPrevious(),this.remove(),!0}return!1}}function WJ(U){const F=SJ();return U.style&&(F.setFormat(U.style.textAlign),HN(U,F)),{node:F}}function SJ(){return hN(new ZJ)}function EJ(U){return U instanceof ZJ}function kJ(U,F,Q,B){const R=U._keyToDOMMap;R.clear(),U._editorState=lJ(),U._pendingEditorState=B,U._compositionKey=null,U._dirtyType=0,U._cloneNotNeeded.clear(),U._dirtyLeaves=new Set,U._dirtyElements.clear(),U._normalizedNodes=new Set,U._updateTags=new Set,U._updates=[],U._blockCursorElement=null;const V=U._observer;null!==V&&(V.disconnect(),U._observer=null),null!==F&&(F.textContent=""),null!==Q&&(Q.textContent="",R.set("root",Q))}function tJ(U){const F=new Set,Q=new Set;let B=U;for(;B;){const{ownNodeConfig:U}=wN(B),R=B.transform;if(!Q.has(R)){Q.add(R);const U=B.transform();U&&F.add(U)}if(U){const Q=U.$transform;Q&&F.add(Q),B=U.extends}else{const U=Object.getPrototypeOf(B);B=U.prototype instanceof al&&U!==al?U:void 0}}return F}function aJ(U){const F=U||{},Q=id,B=F.theme||{},R=void 0===U?Q:F.parentEditor||null,V=F.disableEvents||!1,n=lJ(),l=F.namespace||(null!==R?R._config.namespace:UN()),d=F.editorState,J=[RJ,Yl,hl,fl,ZJ,NJ,...F.nodes||[]],{onError:N,html:Z}=F,W=void 0===F.editable||F.editable;let S;if(void 0===U&&null!==Q)S=Q._nodes;else{S=new Map;for(let U=0;U{Object.keys(U).forEach(F=>{let B=Q.get(F);void 0===B&&(B=[],Q.set(F,B)),B.push(U[F])})};return U.forEach(U=>{const F=U.klass.importDOM;if(null==F||B.has(F))return;B.add(F);const Q=F.call(U.klass);null!==Q&&R(Q)}),F&&R(F),Q}(S,Z?Z.import:void 0),W,U);return void 0!==d&&(E._pendingEditorState=d,E._dirtyType=2),function(U){U.registerCommand(uV,Bl,0),U.registerCommand(wV,Rl,0),U.registerCommand(jV,Vl,0),U.registerCommand(IV,nl,0),U.registerCommand(Bn,dl,0)}(E),E}class TJ{static version;_headless;_parentEditor;_rootElement;_editorState;_pendingEditorState;_compositionKey;_deferred;_keyToDOMMap;_updates;_updating;_listeners;_commands;_nodes;_decorators;_pendingDecorators;_config;_dirtyType;_cloneNotNeeded;_dirtyLeaves;_dirtyElements;_normalizedNodes;_updateTags;_observer;_key;_onError;_htmlConversions;_window;_editable;_blockCursorElement;_createEditorArgs;constructor(U,F,Q,B,R,V,n,l){this._createEditorArgs=l,this._parentEditor=F,this._rootElement=null,this._editorState=U,this._pendingEditorState=null,this._compositionKey=null,this._deferred=[],this._keyToDOMMap=new Map,this._updates=[],this._updating=!1,this._listeners={decorator:new Set,editable:new Set,mutation:new Map,root:new Set,textcontent:new Set,update:new Set},this._commands=new Map,this._config=B,this._nodes=Q,this._decorators={},this._pendingDecorators=null,this._dirtyType=0,this._cloneNotNeeded=new Set,this._dirtyLeaves=new Set,this._dirtyElements=new Map,this._normalizedNodes=new Set,this._updateTags=new Set,this._observer=null,this._key=UN(),this._onError=R,this._htmlConversions=V,this._editable=n,this._headless=null!==F&&F._headless,this._window=null,this._blockCursorElement=null}isComposing(){return null!=this._compositionKey}registerUpdateListener(U){const F=this._listeners.update;return F.add(U),()=>{F.delete(U)}}registerEditableListener(U){const F=this._listeners.editable;return F.add(U),()=>{F.delete(U)}}registerDecoratorListener(U){const F=this._listeners.decorator;return F.add(U),()=>{F.delete(U)}}registerTextContentListener(U){const F=this._listeners.textcontent;return F.add(U),()=>{F.delete(U)}}registerRootListener(U){const F=this._listeners.root;return U(this._rootElement,null),F.add(U),()=>{U(null,this._rootElement),F.delete(U)}}registerCommand(U,F,Q){void 0===Q&&QR(35);const B=this._commands;B.has(U)||B.set(U,[new Set,new Set,new Set,new Set,new Set]);const R=B.get(U);void 0===R&&QR(36,String(U));const V=R[Q];return V.add(F),()=>{V.delete(F),R.every(U=>0===U.size)&&B.delete(U)}}registerMutationListener(U,F,Q){const B=this.resolveRegisteredNodeAfterReplacements(this.getRegisteredNode(U)).klass,R=this._listeners.mutation;let V=R.get(F);void 0===V&&(V=new Set,R.set(F,V)),V.add(B);const n=Q&&Q.skipInitialization;return void 0!==n&&n||this.initializeMutationListener(F,B),()=>{V.delete(B),0===V.size&&R.delete(F)}}getRegisteredNode(U){const F=this._nodes.get(U.getType());return void 0===F&&QR(37,U.name),F}resolveRegisteredNodeAfterReplacements(U){for(;U.replaceWithKlass;)U=this.getRegisteredNode(U.replaceWithKlass);return U}initializeMutationListener(U,F){const Q=this._editorState,B=ON(Q).get(F.getType());if(!B)return;const R=new Map;for(const V of B.keys())R.set(V,"created");R.size>0&&U(R,{dirtyLeaves:new Set,prevEditorState:Q,updateTags:new Set(["registerMutationListener"])})}registerNodeTransformToKlass(U,F){const Q=this.getRegisteredNode(U);return Q.transforms.add(F),Q}registerNodeTransform(U,F){const Q=this.registerNodeTransformToKlass(U,F),B=[Q],R=Q.replaceWithKlass;if(null!=R){const U=this.registerNodeTransformToKlass(R,F);B.push(U)}return function(U,F){const Q=ON(U.getEditorState()),B=[];for(const R of F){const U=Q.get(R);U&&B.push(U)}0!==B.length&&U.update(()=>{for(const U of B)for(const F of U.keys()){const U=uJ(F);U&&U.markDirty()}},null===U._pendingEditorState?{tag:el}:void 0)}(this,B.map(U=>U.klass.getType())),()=>{B.forEach(U=>U.transforms.delete(F))}}hasNode(U){return this._nodes.has(U.getType())}hasNodes(U){return U.every(this.hasNode.bind(this))}dispatchCommand(U,F){return tN(this,U,F)}getDecorators(){return this._decorators}getRootElement(){return this._rootElement}getKey(){return this._key}setRootElement(U){const F=this._rootElement;if(U!==F){const Q=ZN(this._config.theme,"root"),B=this._pendingEditorState||this._editorState;if(this._rootElement=U,kJ(this,F,U,B),null!==F&&(this._config.disableEvents||function(U){const F=xn.get(U);if(void 0===F)return;const Q=un.get(F);if(void 0===Q)return;const B=Q-1;B>=0||QR(164),xn.delete(U),un.set(F,B),0===B&&F.removeEventListener("selectionchange",Zl);const R=bJ(U);MJ(R)?(function(U){if(null!==U._parentEditor){const F=$J(U),Q=F[F.length-1]._key;Nl.get(Q)===U&&Nl.delete(Q)}else Nl.delete(U._key)}(R),U.__lexicalEditor=null):R&&QR(198);const V=Jl(U);for(let n=0;n{Sl(U)||(Wl(U),(F.isEditable()||"click"===Q)&&B(U,F))}:U=>{if(Sl(U))return;Wl(U);const B=F.isEditable();switch(Q){case"cut":return B&&tN(F,cn,U);case"copy":return tN(F,hn,U);case"paste":return B&&tN(F,AV,U);case"dragstart":return B&&tN(F,Dn,U);case"dragover":return B&&tN(F,on,U);case"dragend":return B&&tN(F,pn,U);case"focus":return B&&tN(F,Gn,U);case"blur":return B&&tN(F,sn,U);case"drop":return B&&tN(F,en,U)}};U.addEventListener(Q,n),R.push(()=>{U.removeEventListener(Q,n)})}}(U,this),null!=Q&&U.classList.add(...Q)}else this._window=null,this._updateTags.add(el),Kd(this);fd("root",this,!1,U,F)}}getElementByKey(U){return this._keyToDOMMap.get(U)||null}getEditorState(){return this._editorState}setEditorState(U,F){U.isEmpty()&&QR(38);let Q=U;Q._readOnly&&(Q=nJ(U),Q._selection=U._selection?U._selection.clone():null),IR(this);const B=this._pendingEditorState,R=this._updateTags,V=void 0!==F?F.tag:null;null===B||B.isEmpty()||(null!=V&&R.add(V),Kd(this)),this._pendingEditorState=Q,this._dirtyType=2,this._dirtyElements.set("root",!1),this._compositionKey=null,null!=V&&R.add(V),this._updating||Kd(this)}parseEditorState(U,F){return function(U,F,Q){const B=lJ(),R=Md,V=bd,n=id,l=F._dirtyElements,d=F._dirtyLeaves,J=F._cloneNotNeeded,N=F._dirtyType;F._dirtyElements=new Map,F._dirtyLeaves=new Set,F._cloneNotNeeded=new Set,F._dirtyType=0,Md=B,bd=!1,id=F,CJ(null);try{const R=F._nodes;jd(U.root,R),Q&&Q(),B._readOnly=!0}catch(U){U instanceof Error&&F._onError(U)}finally{F._dirtyElements=l,F._dirtyLeaves=d,F._cloneNotNeeded=J,F._dirtyType=N,Md=R,bd=V,id=n}return B}("string"==typeof U?JSON.parse(U):U,this,F)}read(U){return Kd(this),this.getEditorState().read(U,{editor:this})}update(U,F){!function(U,F,Q){U._updating?U._updates.push([F,Q]):Pd(U,F,Q)}(this,U,F)}focus(U){let F=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const Q=this._rootElement;null!==Q&&(Q.setAttribute("autocapitalize","off"),Ad(this,()=>{const B=Td(),R=gJ();null!==B?B.dirty||AJ(B.clone()):0!==R.getChildrenSize()&&("rootStart"===F.defaultSelection?R.selectStart():R.selectEnd()),function(U){Yd(),Od()._updateTags.add(U)}("focus"),function(U){Yd(),Od()._deferred.push(U)}(()=>{Q.removeAttribute("autocapitalize"),U&&U()})}),null===this._pendingEditorState&&Q.removeAttribute("autocapitalize"))}blur(){const U=this._rootElement;null!==U&&U.blur();const F=MN(this._window);null!==F&&F.removeAllRanges()}isEditable(){return this._editable}setEditable(U){this._editable!==U&&(this._editable=U,fd("editable",this,!0,U))}toJSON(){return{editorState:this._editorState.toJSON()}}}TJ.version="0.40.0+prod.esm";let eJ=null;function CJ(U){eJ=U}let DJ=1;function oJ(U,F){const Q=pJ(U,F);return void 0===Q&&QR(30,F),Q}function pJ(U,F){return U._nodes.get(F)}const hJ="function"==typeof queueMicrotask?queueMicrotask:U=>{Promise.resolve().then(U)};function cJ(U){return BJ(IJ(U))}function rJ(U){const F=document.activeElement;if(!iN(F))return!1;const Q=F.nodeName;return BJ(IJ(U))&&("INPUT"===Q||"TEXTAREA"===Q||"true"===F.contentEditable&&null==bJ(F))}function mJ(U,F,Q){const B=U.getRootElement();try{return null!==B&&B.contains(F)&&B.contains(Q)&&null!==F&&!rJ(F)&&iJ(F)===U}catch(U){return!1}}function MJ(U){return U instanceof TJ}function iJ(U){let F=U;for(;null!=F;){const U=bJ(F);if(MJ(U))return U;F=TN(F)}return null}function bJ(U){return U?U.__lexicalEditor:null}function vJ(U){return Pl(U)||U.isToken()}function GJ(U){return vJ(U)||U.isSegmented()}function sJ(U){return bN(U)&&3===U.nodeType}function XJ(U){return bN(U)&&9===U.nodeType}function YJ(U){let F=U;for(;null!=F;){if(sJ(F))return F;F=F.firstChild}return null}function yJ(U,F,Q){const B=iR[F];if(null!==Q&&(U&B)===(Q&B))return U;let R=U^B;return"subscript"===F?R&=~iR.superscript:"superscript"===F?R&=~iR.subscript:"lowercase"===F?(R&=~iR.uppercase,R&=~iR.capitalize):"uppercase"===F?(R&=~iR.lowercase,R&=~iR.capitalize):"capitalize"===F&&(R&=~iR.lowercase,R&=~iR.uppercase),R}function zJ(U,F){const Q=function(){const U=eJ;return eJ=null,U}();if(null!=(F=F||Q&&Q.__key))return void(U.__key=F);Yd(),yd();const B=Od(),R=zd(),V=""+DJ++;R._nodeMap.set(V,U),UJ(U)?B._dirtyElements.set(V,!0):B._dirtyLeaves.add(V),B._cloneNotNeeded.add(V),B._dirtyType=1,U.__key=V}function OJ(U){const F=U.getParent();if(null!==F){const Q=U.getWritable(),B=F.getWritable(),R=U.getPreviousSibling(),V=U.getNextSibling(),n=null!==V?V.__key:null,l=null!==R?R.__key:null,d=null!==R?R.getWritable():null,J=null!==V?V.getWritable():null;null===R&&(B.__first=n),null===V&&(B.__last=l),null!==d&&(d.__next=n),null!==J&&(J.__prev=l),Q.__prev=null,Q.__next=null,Q.__parent=null,B.__size--}}function LJ(U){yd(),tl(U)&&QR(323,U.__key,U.__type);const F=U.getLatest(),Q=F.__parent,B=zd(),R=Od(),V=B._nodeMap,n=R._dirtyElements;null!==Q&&function(U,F,Q){let B=U;for(;null!==B;){if(Q.has(B))return;const U=F.get(B);if(void 0===U)break;Q.set(B,!1),B=U.__parent}}(Q,V,n);const l=F.__key;R._dirtyType=1,UJ(U)?n.set(l,!0):R._dirtyLeaves.add(l)}function HJ(U){Yd();const F=Od(),Q=F._compositionKey;if(U!==Q){if(F._compositionKey=U,null!==Q){const U=uJ(Q);null!==U&&U.getWritable()}if(null!==U){const F=uJ(U);null!==F&&F.getWritable()}}}function xJ(){return Xd()?null:Od()._compositionKey}function uJ(U,F){const Q=(F||zd())._nodeMap.get(U);return void 0===Q?null:Q}function wJ(U,F){const Q=jJ(U,Od());return void 0!==Q?uJ(Q,F):null}function jJ(U,F){return U[`__lexicalKey_${F._key}`]}function IJ(U,F){let Q=U;for(;null!=Q;){const U=wJ(Q,F);if(null!==U)return U;Q=TN(Q)}return null}function KJ(U){const F=U._decorators,Q=Object.assign({},F);return U._pendingDecorators=Q,Q}function fJ(U){return U.read(()=>gJ().getTextContent())}function gJ(){return PJ(zd())}function PJ(U){return U._nodeMap.get("root")}function AJ(U){Yd();const F=zd();null!==U&&(U.dirty=!0,U.setCachedNodes(null)),F._selection=U}function qJ(U){const F=Od(),Q=function(U,F){let Q=U;for(;null!=Q;){const U=jJ(Q,F);if(void 0!==U)return U;Q=TN(Q)}return null}(U,F);return null===Q?U===F.getRootElement()?uJ("root"):null:uJ(Q)}function _J(U){return/[\uD800-\uDBFF][\uDC00-\uDFFF]/g.test(U)}function $J(U){const F=[];let Q=U;for(;null!==Q;)F.push(Q),Q=Q._parentEditor;return F}function UN(){return Math.random().toString(36).replace(/[^a-z]+/g,"").substring(0,5)}function FN(U){return sJ(U)?U.nodeValue:null}function QN(U,F,Q){const B=MN(oN(F));if(null===B)return;const R=B.anchorNode;let{anchorOffset:V,focusOffset:n}=B;if(null!==R){let F=FN(R);const B=IJ(R);if(null!==F&&Il(B)){if(F===hR&&Q){const U=Q.length;F=Q,V=U,n=U}null!==F&&BN(B,F,V,n,U)}}}function BN(U,F,Q,B,R){let V=U;if(V.isAttached()&&(R||!V.isDirty())){const n=V.isComposing();let l=F;(n||R)&&F[F.length-1]===hR&&(l=F.slice(0,-1));const d=V.getTextContent();if(R||l!==d){if(""===l){if(HJ(null),JR||NR||ER)V.remove();else{const U=Od();setTimeout(()=>{U.update(()=>{V.isAttached()&&V.remove()})},20)}return}const F=V.getParent(),R=ed(),d=V.getTextContentSize(),J=xJ(),N=V.getKey();if(V.isToken()||null!==J&&N===J&&!n||Fd(R)&&(null!==F&&!F.canInsertTextBefore()&&0===R.anchor.offset||R.anchor.key===U.__key&&0===R.anchor.offset&&!V.canInsertTextBefore()&&!n||R.focus.key===U.__key&&R.focus.offset===d&&!V.canInsertTextAfter()&&!n))return void V.markDirty();const Z=Td();if(!Fd(Z)||null===Q||null===B)return void RN(V,l,Z);if(Z.setTextNodeRange(V,Q,V,B),V.isSegmented()){const U=jl(V.getTextContent());V.replace(U),V=U}RN(V,l,Z)}}}function RN(U,F,Q){if(U.setTextContent(F),Fd(Q)){const F=U.getKey();for(const B of["anchor","focus"]){const R=Q[B];"text"===R.type&&R.key===F&&(R.offset=lZ(U,R.offset,"clamp"))}}}function VN(U,F,Q){const B=F[Q]||!1;return"any"===B||B===U[Q]}function nN(U,F,Q){return function(U,F){return VN(U,F,"altKey")&&VN(U,F,"ctrlKey")&&VN(U,F,"shiftKey")&&VN(U,F,"metaKey")}(U,Q)&&U.key.toLowerCase()===F.toLowerCase()}const lN={ctrlKey:!nR,metaKey:nR},dN={altKey:nR,ctrlKey:!nR};function JN(U){return"Backspace"===U.key}function NN(U){return nN(U,"a",lN)}function ZN(U,F){void 0===U.__lexicalClassNameCache&&(U.__lexicalClassNameCache={});const Q=U.__lexicalClassNameCache,B=Q[F];if(void 0!==B)return B;const R=U[F];if("string"==typeof R){const U=sZ(R);return Q[F]=U,U}return R}function WN(U,F,Q,B,R){if(0===Q.size)return;const V=B.__type,n=B.__key,l=F.get(V);void 0===l&&QR(33,V);const d=l.klass;let J=U.get(d);void 0===J&&(J=new Map,U.set(d,J));const N=J.get(n),Z="destroyed"===N&&"created"===R;(void 0===N||Z)&&J.set(n,Z?"updated":R)}function SN(U,F,Q){const B=U.getParent();let R=Q,V=U;return null!==B&&(F&&0===Q?(R=V.getIndexWithinParent(),V=B):F||Q!==V.getChildrenSize()||(R=V.getIndexWithinParent()+1,V=B)),V.getChildAtIndex(F?R-1:R)}function EN(U,F){const Q=U.offset;if("element"===U.type)return SN(U.getNode(),F,Q);{const B=U.getNode();if(F&&0===Q||!F&&Q===B.getTextContentSize()){const U=F?B.getPreviousSibling():B.getNextSibling();return null===U?SN(B.getParentOrThrow(),F,B.getIndexWithinParent()+(F?0:1)):U}}return null}function kN(U){const F=oN(U).event,Q=F&&F.inputType;return"insertFromPaste"===Q||"insertFromPasteAsQuotation"===Q}function tN(U,F,Q){return function(U,F,Q){const B=$J(U);for(let R=4;R>=0;R--)for(let V=0;V{for(let F=0;FV),uN(U,"clone")||(U.clone=F=>(CJ(F),new U)),uN(U,"importJSON")||(U.importJSON=R&&R.$importJSON||(F=>(new U).updateFromJSON(F))),!uN(U,"importDOM")&&R)){const{importDOM:F}=R;F&&(U.importDOM=()=>F)}return{ownNodeConfig:R,ownNodeType:V}}const jN=(U,F)=>{let Q=U;for(;null!=Q&&!VJ(Q);){if(F(Q))return Q;Q=Q.getParent()}return null},IN={next:"previous",previous:"next"};class KN{origin;constructor(U){this.origin=U}[Symbol.iterator](){return kZ({hasNext:UZ,initial:this.getAdjacentCaret(),map:U=>U,step:U=>U.getAdjacentCaret()})}getAdjacentCaret(){return VZ(this.getNodeAtCaret(),this.direction)}getSiblingCaret(){return VZ(this.origin,this.direction)}remove(){const U=this.getNodeAtCaret();return U&&U.remove(),this}replaceOrInsert(U,F){const Q=this.getNodeAtCaret();return U.is(this.origin)||U.is(Q)||(null===Q?this.insert(U):Q.replace(U,F)),this}splice(U,F){const Q=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:"next")===this.direction?F:Array.from(F).reverse();let B=this;const R=this.getParentAtCaret(),V=new Map;for(let n=B.getAdjacentCaret();null!==n&&V.size0){const U=B.getNodeAtCaret();if(U)if(V.delete(U.getKey()),V.delete(n.getKey()),U.is(n)||B.origin.is(n));else{const F=n.getParent();F&&F.is(R)&&n.remove(),U.replace(n)}else null===U&&QR(263,Array.from(V).join(" "))}else B.insert(n);B=VZ(n,this.direction)}for(const n of V.values())n.remove();return this}}class fN extends KN{type="child";getLatest(){const U=this.origin.getLatest();return U===this.origin?this:JZ(U,this.direction)}getParentCaret(){let U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"root";return VZ(AN(this.getParentAtCaret(),U),this.direction)}getFlipped(){const U=PN(this.direction);return VZ(this.getNodeAtCaret(),U)||JZ(this.origin,U)}getParentAtCaret(){return this.origin}getChildCaret(){return this}isSameNodeCaret(U){return U instanceof fN&&this.direction===U.direction&&this.origin.is(U.origin)}isSamePointCaret(U){return this.isSameNodeCaret(U)}}const gN={root:VJ,shadowRoot:pN};function PN(U){return IN[U]}function AN(U){return gN[arguments.length>1&&void 0!==arguments[1]?arguments[1]:"root"](U)?null:U}class qN extends KN{type="sibling";getLatest(){const U=this.origin.getLatest();return U===this.origin?this:VZ(U,this.direction)}getSiblingCaret(){return this}getParentAtCaret(){return this.origin.getParent()}getChildCaret(){return UJ(this.origin)?JZ(this.origin,this.direction):null}getParentCaret(){let U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"root";return VZ(AN(this.getParentAtCaret(),U),this.direction)}getFlipped(){const U=PN(this.direction);return VZ(this.getNodeAtCaret(),U)||JZ(this.origin.getParentOrThrow(),U)}isSamePointCaret(U){return U instanceof qN&&this.direction===U.direction&&this.origin.is(U.origin)}isSameNodeCaret(U){return(U instanceof qN||U instanceof _N)&&this.direction===U.direction&&this.origin.is(U.origin)}}class _N extends KN{type="text";offset;constructor(U,F){super(U),this.offset=F}getLatest(){const U=this.origin.getLatest();return U===this.origin?this:nZ(U,this.direction,this.offset)}getParentAtCaret(){return this.origin.getParent()}getChildCaret(){return null}getParentCaret(){let U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"root";return VZ(AN(this.getParentAtCaret(),U),this.direction)}getFlipped(){return nZ(this.origin,PN(this.direction),this.offset)}isSamePointCaret(U){return U instanceof _N&&this.direction===U.direction&&this.origin.is(U.origin)&&this.offset===U.offset}isSameNodeCaret(U){return(U instanceof qN||U instanceof _N)&&this.direction===U.direction&&this.origin.is(U.origin)}getSiblingCaret(){return VZ(this.origin,this.direction)}}function $N(U){return U instanceof _N}function UZ(U){return U instanceof qN}function FZ(U){return U instanceof fN}const QZ={next:class extends _N{direction="next";getNodeAtCaret(){return this.origin.getNextSibling()}insert(U){return this.origin.insertAfter(U),this}},previous:class extends _N{direction="previous";getNodeAtCaret(){return this.origin.getPreviousSibling()}insert(U){return this.origin.insertBefore(U),this}}},BZ={next:class extends qN{direction="next";getNodeAtCaret(){return this.origin.getNextSibling()}insert(U){return this.origin.insertAfter(U),this}},previous:class extends qN{direction="previous";getNodeAtCaret(){return this.origin.getPreviousSibling()}insert(U){return this.origin.insertBefore(U),this}}},RZ={next:class extends fN{direction="next";getNodeAtCaret(){return this.origin.getFirstChild()}insert(U){return this.origin.splice(0,0,[U]),this}},previous:class extends fN{direction="previous";getNodeAtCaret(){return this.origin.getLastChild()}insert(U){return this.origin.splice(this.origin.getChildrenSize(),0,[U]),this}}};function VZ(U,F){return U?new BZ[F](U):null}function nZ(U,F,Q){return U?new QZ[F](U,lZ(U,Q)):null}function lZ(U,F){let Q=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"error";const B=U.getTextContentSize();let R="next"===F?B:"previous"===F?0:F;return(R<0||R>B)&&("clamp"!==Q&&BR(284,String(F),String(B),U.getKey()),R=R<0?0:B),R}function dZ(U,F){return new WZ(U,F)}function JZ(U,F){return UJ(U)?new RZ[F](U):null}function NZ(U){return U&&function(U){return U&&U.getChildCaret()||U}(U.getAdjacentCaret())}class ZZ{type="node-caret-range";direction;anchor;focus;constructor(U,F,Q){this.anchor=U,this.focus=F,this.direction=Q}getLatest(){const U=this.anchor.getLatest(),F=this.focus.getLatest();return U===this.anchor&&F===this.focus?this:new ZZ(U,F,this.direction)}isCollapsed(){return this.anchor.isSamePointCaret(this.focus)}getTextSlices(){const U=U=>{const F=this[U].getLatest();return $N(F)?function(U,F){const{direction:Q,origin:B}=U;return dZ(U,lZ(B,"focus"===F?PN(Q):Q)-U.offset)}(F,U):null},F=U("anchor"),Q=U("focus");if(F&&Q){const{caret:U}=F,{caret:B}=Q;if(U.isSameNodeCaret(B))return[dZ(U,B.offset-U.offset),null]}return[F,Q]}iterNodeCarets(){let U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"root";const F=$N(this.anchor)?this.anchor.getSiblingCaret():this.anchor.getLatest(),Q=this.focus.getLatest(),B=$N(Q),R=F=>F.isSameNodeCaret(Q)?null:NZ(F)||F.getParentCaret(U);return kZ({hasNext:U=>null!==U&&!(B&&Q.isSameNodeCaret(U)),initial:F.isSameNodeCaret(Q)?null:R(F),map:U=>U,step:R})}[Symbol.iterator](){return this.iterNodeCarets("root")}}class WZ{type="slice";caret;distance;constructor(U,F){this.caret=U,this.distance=F}getSliceIndices(){const{distance:U,caret:{offset:F}}=this,Q=F+U;return Q1&&void 0!==arguments[1]?arguments[1]:"root";const Q=[U];for(let B=FZ(U)?U.getParentCaret(F):U.getSiblingCaret();null!==B;B=B.getParentCaret(F))Q.push(cZ(B));return Q}function mZ(U){return!!U&&U.origin.isAttached()}function MZ(U){const F=function(U){let F=U;for(;FZ(F);){const U=NZ(F);if(!FZ(U))break;F=U}return F}(U.getLatest()),{direction:Q}=F;if(Il(F.origin))return $N(F)?F:nZ(F.origin,Q,Q);const B=F.getAdjacentCaret();return UZ(B)&&Il(B.origin)?nZ(B.origin,Q,PN(Q)):F}function iZ(U){return $N(U)&&U.offset!==lZ(U.origin,U.direction)}function bZ(U,F){return U.direction===F?U:U.getFlipped()}function vZ(U,F){return U.direction===F?U:EZ(bZ(U.focus,F),bZ(U.anchor,F))}function GZ(U,F){if(!F||U===F)return U;for(const Q in F)if(U[Q]!==F[Q])return{...U,...F};return U}function sZ(){const U=[];for(var F=arguments.length,Q=new Array(F),B=0;B{for(let U=F.length-1;U>=0;U--)F[U]();F.length=0}}const YZ=(0,n.createContext)(null);function yZ(){const U=(0,n.useContext)(YZ);return null==U&&function(U){const F=new URL("https://lexical.dev/docs/error"),Q=new URLSearchParams;Q.append("code",U);for(var B=arguments.length,R=new Array(B>1?B-1:0),V=1;V{const{theme:U,namespace:Q,nodes:B,onError:R,editorState:V,html:n}=F,l=function(U,F){let Q=null;return null!=U&&(Q=U[1]),{getTheme:function(){return null!=F?F:null!=Q?Q.getTheme():null}}}(null,U),d=aJ({editable:F.editable,html:n,namespace:Q,nodes:B,onError:U=>R(U,d),theme:U});return function(U,F){if(null!==F)if(void 0===F)U.update(()=>{const F=gJ();if(F.isEmpty()){const Q=SJ();F.append(Q);const B=zZ?document.activeElement:null;(null!==Td()||null!==B&&B===U.getRootElement())&&Q.select()}},LZ);else if(null!==F)switch(typeof F){case"string":{const Q=U.parseEditorState(F);U.setEditorState(Q,LZ);break}case"object":U.setEditorState(F,LZ);break;case"function":U.update(()=>{gJ().isEmpty()&&F(U)},LZ)}}(d,V),[d,l]},[]);return OZ(()=>{const U=F.editable,[Q]=B;Q.setEditable(void 0===U||U)},[]),(0,V.jsx)(YZ.Provider,{value:B,children:Q})}const xZ="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?n.useLayoutEffect:n.useEffect;function uZ(U){return{initialValueFn:()=>U.isEditable(),subscribe:F=>U.registerEditableListener(F)}}function wZ(U){const F=new URL("https://lexical.dev/docs/error"),Q=new URLSearchParams;Q.append("code",U);for(var B=arguments.length,R=new Array(B>1?B-1:0),V=1;VUJ(U)&&!U.isInline());return UJ(F)||wZ(4,U.__key),F}function PZ(U,F){return null!==U&&Object.getPrototypeOf(U).constructor.name===F.name}const AZ=Symbol.for("preact-signals");function qZ(){if(QW>1)return void QW--;let U,F=!1;for(;void 0!==UW;){let B=UW;for(UW=void 0,BW++;void 0!==B;){const R=B.o;if(B.o=void 0,B.f&=-3,!(8&B.f)&&dW(B))try{B.c()}catch(Q){F||(U=Q,F=!0)}B=R}}if(BW=0,QW--,F)throw U}function _Z(U){if(QW>0)return U();QW++;try{return U()}finally{qZ()}}let $Z,UW;function FW(U){const F=$Z;$Z=void 0;try{return U()}finally{$Z=F}}let QW=0,BW=0,RW=0;function VW(U){if(void 0===$Z)return;let F=U.n;return void 0===F||F.t!==$Z?(F={i:0,S:U,p:$Z.s,n:void 0,t:$Z,e:void 0,x:void 0,r:F},void 0!==$Z.s&&($Z.s.n=F),$Z.s=F,U.n=F,32&$Z.f&&U.S(F),F):-1===F.i?(F.i=0,void 0!==F.n&&(F.n.p=F.p,void 0!==F.p&&(F.p.n=F.n),F.p=$Z.s,F.n=void 0,$Z.s.n=F,$Z.s=F),F):void 0}function nW(U,F){this.v=U,this.i=0,this.n=void 0,this.t=void 0,this.W=null==F?void 0:F.watched,this.Z=null==F?void 0:F.unwatched,this.name=null==F?void 0:F.name}function lW(U,F){return new nW(U,F)}function dW(U){for(let F=U.s;void 0!==F;F=F.n)if(F.S.i!==F.i||!F.S.h()||F.S.i!==F.i)return!0;return!1}function JW(U){for(let F=U.s;void 0!==F;F=F.n){const Q=F.S.n;if(void 0!==Q&&(F.r=Q),F.S.n=F,F.i=-1,void 0===F.n){U.s=F;break}}}function NW(U){let F,Q=U.s;for(;void 0!==Q;){const U=Q.p;-1===Q.i?(Q.S.U(Q),void 0!==U&&(U.n=Q.n),void 0!==Q.n&&(Q.n.p=U)):F=Q,Q.S.n=Q.r,void 0!==Q.r&&(Q.r=void 0),Q=U}U.s=F}function ZW(U,F){nW.call(this,void 0),this.x=U,this.s=void 0,this.g=RW-1,this.f=4,this.W=null==F?void 0:F.watched,this.Z=null==F?void 0:F.unwatched,this.name=null==F?void 0:F.name}function WW(U){const F=U.u;if(U.u=void 0,"function"==typeof F){QW++;const Q=$Z;$Z=void 0;try{F()}catch(F){throw U.f&=-2,U.f|=8,SW(U),F}finally{$Z=Q,qZ()}}}function SW(U){for(let F=U.s;void 0!==F;F=F.n)F.S.U(F);U.x=void 0,U.s=void 0,WW(U)}function EW(U){if($Z!==this)throw new Error("Out-of-order effect");NW(this),$Z=U,this.f&=-2,8&this.f&&SW(this),qZ()}function kW(U,F){this.x=U,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32,this.name=null==F?void 0:F.name}function tW(U,F){const Q=new kW(U,F);try{Q.c()}catch(U){throw Q.d(),U}const B=Q.d.bind(Q);return B[Symbol.dispose]=B,B}function aW(U){let F=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const Q={};for(const B in U){const R=F[B],V=lW(void 0===R?U[B]:R);Q[B]=V}return Q}nW.prototype.brand=AZ,nW.prototype.h=function(){return!0},nW.prototype.S=function(U){const F=this.t;F!==U&&void 0===U.e&&(U.x=F,this.t=U,void 0!==F?F.e=U:FW(()=>{var U;null==(U=this.W)||U.call(this)}))},nW.prototype.U=function(U){if(void 0!==this.t){const F=U.e,Q=U.x;void 0!==F&&(F.x=Q,U.e=void 0),void 0!==Q&&(Q.e=F,U.x=void 0),U===this.t&&(this.t=Q,void 0===Q&&FW(()=>{var U;null==(U=this.Z)||U.call(this)}))}},nW.prototype.subscribe=function(U){return tW(()=>{const F=this.value,Q=$Z;$Z=void 0;try{U(F)}finally{$Z=Q}},{name:"sub"})},nW.prototype.valueOf=function(){return this.value},nW.prototype.toString=function(){return this.value+""},nW.prototype.toJSON=function(){return this.value},nW.prototype.peek=function(){const U=$Z;$Z=void 0;try{return this.value}finally{$Z=U}},Object.defineProperty(nW.prototype,"value",{get(){const U=VW(this);return void 0!==U&&(U.i=this.i),this.v},set(U){if(U!==this.v){if(BW>100)throw new Error("Cycle detected");this.v=U,this.i++,RW++,QW++;try{for(let U=this.t;void 0!==U;U=U.x)U.t.N()}finally{qZ()}}}}),ZW.prototype=new nW,ZW.prototype.h=function(){if(this.f&=-3,1&this.f)return!1;if(32==(36&this.f))return!0;if(this.f&=-5,this.g===RW)return!0;if(this.g=RW,this.f|=1,this.i>0&&!dW(this))return this.f&=-2,!0;const U=$Z;try{JW(this),$Z=this;const U=this.x();(16&this.f||this.v!==U||0===this.i)&&(this.v=U,this.f&=-17,this.i++)}catch(U){this.v=U,this.f|=16,this.i++}return $Z=U,NW(this),this.f&=-2,!0},ZW.prototype.S=function(U){if(void 0===this.t){this.f|=36;for(let U=this.s;void 0!==U;U=U.n)U.S.S(U)}nW.prototype.S.call(this,U)},ZW.prototype.U=function(U){if(void 0!==this.t&&(nW.prototype.U.call(this,U),void 0===this.t)){this.f&=-33;for(let U=this.s;void 0!==U;U=U.n)U.S.U(U)}},ZW.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(let U=this.t;void 0!==U;U=U.x)U.t.N()}},Object.defineProperty(ZW.prototype,"value",{get(){if(1&this.f)throw new Error("Cycle detected");const U=VW(this);if(this.h(),void 0!==U&&(U.i=this.i),16&this.f)throw this.v;return this.v}}),kW.prototype.c=function(){const U=this.S();try{if(8&this.f)return;if(void 0===this.x)return;const U=this.x();"function"==typeof U&&(this.u=U)}finally{U()}},kW.prototype.S=function(){if(1&this.f)throw new Error("Cycle detected");this.f|=1,this.f&=-9,WW(this),JW(this),QW++;const U=$Z;return $Z=this,EW.bind(this,U)},kW.prototype.N=function(){2&this.f||(this.f|=2,this.o=UW,UW=this)},kW.prototype.d=function(){this.f|=8,1&this.f||SW(this)},kW.prototype.dispose=function(){this.d()};function TW(U){return("function"==typeof U.nodes?U.nodes():U.nodes)||[]}function eW(U){const F=new URL("https://lexical.dev/docs/error"),Q=new URLSearchParams;Q.append("code",U);for(var B=arguments.length,R=new Array(B>1?B-1:0),V=1;VQ,getSignal:this.getSignal.bind(this)};this.state=function(U,F,Q){return Object.assign(U,{id:5,output:F,registerState:Q})}(F,Q,B)}register(U,F){this._signal=F;const Q=this.state;5!==Q.id&&eW(308,String(Q.id),String(5));const B=this.extension.register&&this.extension.register(U,Q.config,Q.registerState);return this.state=function(U){return Object.assign(U,{id:6})}(Q),()=>{const U=this.state;7!==U.id&&eW(309,String(Q.id),String(7)),this.state=function(U){return Object.assign(U,{id:5})}(U),B&&B()}}afterRegistration(U){const F=this.state;let Q;return 6!==F.id&&eW(310,String(F.id),String(6)),this.extension.afterRegistration&&(Q=this.extension.afterRegistration(U,F.config,F.registerState)),this.state=function(U){return Object.assign(U,{id:7})}(F),Q}getSignal(){return void 0===this._signal&&eW(311),this._signal}getInitResult(){void 0===this.extension.init&&eW(312,this.extension.name);const U=this.state;return function(U){return U.id>=4}(U)||eW(313,String(U.id),String(4)),U.initResult}getInitPeer(U){const F=this.builder.extensionNameMap.get(U);return F?F.getExtensionInitDependency():void 0}getExtensionInitDependency(){const U=this.state;return function(U){return U.id>=3}(U)||eW(314,String(U.id),String(3)),{config:U.config}}getPeer(U){const F=this.builder.extensionNameMap.get(U);return F?F.getExtensionDependency():void 0}getInitDependency(U){const F=this.builder.getExtensionRep(U);return void 0===F&&eW(315,this.extension.name,U.name),F.getExtensionInitDependency()}getDependency(U){const F=this.builder.getExtensionRep(U);return void 0===F&&eW(315,this.extension.name,U.name),F.getExtensionDependency()}getState(){const U=this.state;return function(U){return U.id>=7}(U)||eW(316,String(U.id),String(7)),U}getDirectDependentNames(){return this.builder.incomingEdges.get(this.extension.name)||pW}getPeerNameSet(){let U=this._peerNameSet;return U||(U=new Set((this.extension.peerDependencies||[]).map(U=>{let[F]=U;return F})),this._peerNameSet=U),U}getExtensionDependency(){if(!this._dependency){const U=this.state;(function(U){return U.id>=5})(U)||eW(317,this.extension.name),this._dependency={config:U.config,init:U.initResult,output:U.output}}return this._dependency}}const cW={tag:el};function rW(){const U=gJ();U.isEmpty()&&U.append(SJ())}const mW={config:{setOptions:cW,updateOptions:cW},init:U=>{let{$initialEditorState:F=rW}=U;return{$initialEditorState:F,initialized:!1}},afterRegistration(U,F,Q){let{updateOptions:B,setOptions:R}=F;const V=Q.getInitResult();if(!V.initialized){V.initialized=!0;const{$initialEditorState:F}=V;if(function(U){return U instanceof JJ}(F))U.setEditorState(F,R);else if("function"==typeof F)U.update(()=>{F(U)},B);else if(F&&("string"==typeof F||"object"==typeof F)){const Q=U.parseEditorState(F);U.setEditorState(Q,R)}}return()=>{}},name:"@lexical/extension/InitialState",nodes:[RJ,Yl,hl,fl,ZJ]},MW=Symbol.for("@lexical/extension/LexicalBuilder");function iW(){}function bW(U){throw U}function vW(U){return Array.isArray(U)?U:[U]}const GW="0.40.0+prod.esm";class sW{roots;extensionNameMap;outgoingConfigEdges;incomingEdges;conflicts;_sortedExtensionReps;PACKAGE_VERSION;constructor(U){this.outgoingConfigEdges=new Map,this.incomingEdges=new Map,this.extensionNameMap=new Map,this.conflicts=new Map,this.PACKAGE_VERSION=GW,this.roots=U;for(const F of U)this.addExtension(F)}static fromExtensions(U){const F=[vW(mW)];for(const Q of U)F.push(vW(Q));return new sW(F)}static maybeFromEditor(U){const F=U[MW];return F&&(F.PACKAGE_VERSION!==GW&&eW(292,F.PACKAGE_VERSION,GW),F instanceof sW||eW(293)),F}static fromEditor(U){const F=sW.maybeFromEditor(U);return void 0===F&&eW(294),F}constructEditor(){const{$initialEditorState:U,onError:F,...Q}=this.buildCreateEditorArgs(),B=Object.assign(aJ({...Q,...F?{onError:U=>{F(U,B)}}:{}}),{[MW]:this});for(const R of this.sortedExtensionReps())R.build(B);return B}buildEditor(){let U=iW;function F(){try{U()}finally{U=iW}}const Q=Object.assign(this.constructEditor(),{dispose:F,[Symbol.dispose]:F});return U=XZ(this.registerEditor(Q),()=>Q.setRootElement(null)),Q}hasExtensionByName(U){return this.extensionNameMap.has(U)}getExtensionRep(U){const F=this.extensionNameMap.get(U.name);if(F)return F.extension!==U&&eW(295,U.name),F}addEdge(U,F,Q){const B=this.outgoingConfigEdges.get(U);B?B.set(F,Q):this.outgoingConfigEdges.set(U,new Map([[F,Q]]));const R=this.incomingEdges.get(F);R?R.add(U):this.incomingEdges.set(F,new Set([U]))}addExtension(U){void 0!==this._sortedExtensionReps&&eW(296);const F=vW(U),[Q]=F;"string"!=typeof Q.name&&eW(297,typeof Q.name);let B=this.extensionNameMap.get(Q.name);if(void 0!==B&&B.extension!==Q&&eW(298,Q.name),!B){B=new hW(this,Q),this.extensionNameMap.set(Q.name,B);const U=this.conflicts.get(Q.name);"string"==typeof U&&eW(299,Q.name,U);for(const F of Q.conflictsWith||[])this.extensionNameMap.has(F)&&eW(299,Q.name,F),this.conflicts.set(F,Q.name);for(const F of Q.dependencies||[]){const U=vW(F);this.addEdge(Q.name,U[0].name,U.slice(1)),this.addExtension(U)}for(const[F,B]of Q.peerDependencies||[])this.addEdge(Q.name,F,B?[B]:[])}}sortedExtensionReps(){if(this._sortedExtensionReps)return this._sortedExtensionReps;const U=[],F=(Q,B)=>{let R=Q.state;if(oW(R))return;const V=Q.extension.name;var n;DW(R)||eW(300,V,B||"[unknown]"),DW(n=R)||eW(304,String(n.id),String(0)),R=Object.assign(n,{id:1}),Q.state=R;const l=this.outgoingConfigEdges.get(V);if(l)for(const U of l.keys()){const Q=this.extensionNameMap.get(U);Q&&F(Q,V)}R=function(U){return function(U){return 1===U.id}(U)||eW(305,String(U.id),String(1)),Object.assign(U,{id:2})}(R),Q.state=R,U.push(Q)};for(const Q of this.extensionNameMap.values())DW(Q.state)&&F(Q);for(const Q of U)for(const[U,F]of this.outgoingConfigEdges.get(Q.extension.name)||[])if(F.length>0){const Q=this.extensionNameMap.get(U);if(Q)for(const U of F)Q.configs.add(U)}for(const[Q,...B]of this.roots)if(B.length>0){const U=this.extensionNameMap.get(Q.name);void 0===U&&eW(301,Q.name);for(const F of B)U.configs.add(F)}return this._sortedExtensionReps=U,this._sortedExtensionReps}registerEditor(U){const F=this.sortedExtensionReps(),Q=new AbortController,B=[()=>Q.abort()],R=Q.signal;for(const V of F){const F=V.register(U,R);F&&B.push(F)}for(const V of F){const F=V.afterRegistration(U);F&&B.push(F)}return XZ(...B)}buildCreateEditorArgs(){const U={},F=new Set,Q=new Map,B=new Map,R={},V={},n=this.sortedExtensionReps();for(const J of n){const{extension:n}=J;if(void 0!==n.onError&&(U.onError=n.onError),void 0!==n.disableEvents&&(U.disableEvents=n.disableEvents),void 0!==n.parentEditor&&(U.parentEditor=n.parentEditor),void 0!==n.editable&&(U.editable=n.editable),void 0!==n.namespace&&(U.namespace=n.namespace),void 0!==n.$initialEditorState&&(U.$initialEditorState=n.$initialEditorState),n.nodes)for(const U of TW(n)){if("function"!=typeof U){const F=Q.get(U.replace);F&&eW(302,n.name,U.replace.name,F.extension.name),Q.set(U.replace,J)}F.add(U)}if(n.html){if(n.html.export)for(const[U,F]of n.html.export.entries())B.set(U,F);n.html.import&&Object.assign(R,n.html.import)}n.theme&&CW(V,n.theme)}Object.keys(V).length>0&&(U.theme=V),F.size&&(U.nodes=[...F]);const l=Object.keys(R).length>0,d=B.size>0;(l||d)&&(U.html={},l&&(U.html.import=R),d&&(U.html.export=B));for(const J of n)J.init(U);return U.onError||(U.onError=bW),U}}function XW(U,F){const Q=sW.fromEditor(U).extensionNameMap.get(F);return Q?Q.getExtensionDependency():void 0}new Set,OV("INSERT_HORIZONTAL_RULE_COMMAND");const YW={name:"@lexical/react/ReactProvider"};function yW(U){let F=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(U)return!1;let Q=gJ().getTextContent();return F&&(Q=Q.trim()),""===Q}function zW(U){return()=>function(U){if(!yW(U,!1))return!1;const F=gJ().getChildren(),Q=F.length;if(Q>1)return!1;for(let B=0;B{if(Q.origin!==F)return;const B=U.getRootElement();if(document.activeElement!==B)return;const R=Q.data;if("string"==typeof R){let F;try{F=JSON.parse(R)}catch(U){return}if(F&&"nuanria_messaging"===F.protocol&&"request"===F.type){const B=F.payload;if(B&&"makeChanges"===B.functionId){const F=B.args;if(F){const[B,R,V,n,l]=F;U.update(()=>{const U=Td();if(Fd(U)){const F=U.anchor;let d=F.getNode(),J=0,N=0;if(Il(d)&&B>=0&&R>=0&&(J=B,N=B+R,U.setTextNodeRange(d,J,d,N)),J===N&&""===V||(U.insertRawText(V),d=F.getNode()),Il(d)){J=n,N=n+l;const F=d.getTextContentSize();J=J>F?F:J,N=N>F?F:N,U.setTextNodeRange(d,J,d,N)}Q.stopImmediatePropagation()}})}}}}};return window.addEventListener("message",Q,!0),()=>{window.removeEventListener("message",Q,!0)}}function LW(U){const F=new URL("https://lexical.dev/docs/error"),Q=new URLSearchParams;Q.append("code",U);for(var B=arguments.length,R=new Array(B>1?B-1:0),V=1;V2&&void 0!==arguments[2]?arguments[2]:"self";const B=U.getStartEndPoints();if(F.isSelected(U)&&!GJ(F)&&null!==B){const[R,V]=B,n=U.isBackward(),l=R.getNode(),d=V.getNode(),J=F.is(l),N=F.is(d);if(J||N){const[B,R]=Vd(U),V=l.is(d),J=F.is(n?d:l),N=F.is(n?l:d);let Z,W=0;V?(W=B>R?R:B,Z=B>R?B:R):J?(W=n?R:B,Z=void 0):N&&(W=0,Z=n?B:R);const S=F.__text.slice(W,Z);S!==F.__text&&("clone"===Q&&(F=function(U){return(F=LN(U))[kl]=!0,F;var F}(F)),F.__text=S)}}return F}function fW(U){const F=U.getStyle(),Q=xW(F);HW.set(F,Q)}function gW(U,F){(Fd(U)?U.isCollapsed():Il(U)||UJ(U))||LW(280);const Q=uW(Fd(U)?U.style:Il(U)?U.getStyle():U.getTextStyle()),B=Object.entries(F).reduce((F,B)=>{let[R,V]=B;return"function"==typeof V?F[R]=V(Q[R],U):null===V?delete F[R]:F[R]=V,F},{...Q}),R=function(U){let F="";for(const Q in U)Q&&(F+=`${Q}: ${U[Q]};`);return F}(B);Fd(U)||Il(U)?U.setStyle(R):U.setTextStyle(R),HW.set(R,B)}function PW(U,F){if(Fd(U)&&U.isCollapsed()){gW(U,F);const Q=U.anchor.getNode();UJ(Q)&&Q.isEmpty()&&gW(Q,F)}!function(U){const F=Td();if(!F)return;const Q=new Map,B=U=>Q.get(U.getKey())||[0,U.getTextContentSize()];if(Fd(F))for(const V of hZ(F).getTextSlices())V&&Q.set(V.caret.origin.getKey(),V.getSliceIndices());const R=F.getNodes();for(const V of R){if(!Il(V)||!V.canHaveFormat())continue;const[F,Q]=B(V);Q!==F&&(GJ(V)||0===F&&Q===V.getTextContentSize()?U(V):U(V.splitText(F,Q)[0===F?0:1]))}Fd(F)&&"text"===F.anchor.type&&"text"===F.focus.type&&F.anchor.key===F.focus.key&&function(U){if(U.isBackward()){const{anchor:F,focus:Q}=U,{key:B,offset:R,type:V}=F;F.set(Q.key,Q.offset,Q.type),Q.set(B,R,V)}}(F)}(U=>{gW(U,F)});const Q=U.getNodes();if(Q.length>0){const U=new Set;for(const B of Q){if(!UJ(B)||!B.canBeEmpty()||0!==B.getChildrenSize())continue;const Q=B.getKey();U.has(Q)||(U.add(Q),gW(B,F))}}}function AW(U){const F=qW(U);return null!==F&&"vertical-rl"===F.writingMode}function qW(U){const F=U.anchor.getNode();return UJ(F)?wW(F):jW(F)}function _W(U,F){let Q=AW(U)?!F:F;$W(U)&&(Q=!Q);const B=DZ(U.focus,Q?"previous":"next");if(iZ(B))return!1;for(const R of SZ(B)){if(FZ(R))return!R.origin.isInline();if(!UJ(R.origin)){if(BJ(R.origin))return!0;break}}return!1}function $W(U){const F=qW(U);return null!==F&&"rtl"===F.direction}function US(U,F,Q){const B=$W(U);let R;R=AW(U)||B?!Q:Q,function(U,F,Q,B){U.modify(F?"extend":"move",Q,B)}(U,F,R,"character")}function FS(U,F,Q){const B=uW(U.getStyle());return null!==B&&B[F]||Q}function QS(U,F,Q){let B=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,R=null===B||F.isSelected(B);const V=UJ(F)&&F.excludeFromCopy("html");let n=F;null!==B&&Il(F)&&(n=KW(B,F,"clone"));const l=UJ(n)?n.getChildren():[],d=pJ(U,n.getType());let J;J=d&&void 0!==d.exportDOM?d.exportDOM(U,n):n.exportDOM(U);const{element:N,after:Z}=J;if(!N)return!1;const W=document.createDocumentFragment();for(let S=0;S4&&void 0!==arguments[4]?arguments[4]:new Map,V=arguments.length>5?arguments[5]:void 0,n=[];if(BS.has(U.nodeName))return n;let l=null;const d=function(U,F){const{nodeName:Q}=U,B=F._htmlConversions.get(Q.toLowerCase());let R=null;if(void 0!==B)for(const V of B){const F=V(U);null!==F&&(null===R||(R.priority||0)<=(F.priority||0))&&(R=F)}return null!==R?R.conversion:null}(U,F),J=d?d(U):null;let N=null;if(null!==J){N=J.after;const F=J.node;if(l=Array.isArray(F)?F[F.length-1]:F,null!==l){for(const[,U]of R)if(l=U(l,V),!l)break;l&&n.push(...Array.isArray(F)?F:[l])}null!=J.forChild&&R.set(U.nodeName,J.forChild)}const Z=U.childNodes;let W=[];const S=(null==l||!pN(l))&&(null!=l&&Sd(l)||B);for(let E=0;E{const U=new NJ;return Q.push(U),U}:SJ)),null==l?W.length>0?n=n.concat(W):sN(U)&&function(U){return null!=U.nextSibling&&null!=U.previousSibling&&(GN(U.nextSibling)&&GN(U.previousSibling))}(U)&&(n=n.concat(rl())):UJ(l)&&l.append(...W),n}function VS(U){const F=new URL("https://lexical.dev/docs/error"),Q=new URLSearchParams;Q.append("code",U);for(var B=arguments.length,R=new Array(B>1?B-1:0),V=1;VU}).createHTML(U):U}(R),"text/html")),F)}catch(U){console.error(U)}const n=V||U.getData("text/uri-list");if(null!=n)if(Fd(F)){const U=n.split(/(\r?\n|\t)/);""===U[U.length-1]&&U.pop();for(let F=0;F3&&void 0!==arguments[3]?arguments[3]:[],R=null===F||Q.isSelected(F);const V=UJ(Q)&&Q.excludeFromCopy("html");let n=Q;null!==F&&Il(n)&&(n=KW(F,n,"clone"));const l=UJ(n)?n.getChildren():[],d=function(U){const F=U.exportJSON(),Q=U.constructor;if(F.type!==Q.getType()&&VS(58,Q.name),UJ(U)){const U=F.children;Array.isArray(U)||VS(59,Q.name)}return F}(n);Il(n)&&0===n.getTextContentSize()&&(R=!1);for(let J=0;J{U.update(()=>{B(ZS(U,F,Q))})});const B=U.getRootElement(),R=U._window||window,V=R.document,n=MN(R);if(null===B||null===n)return!1;const l=V.createElement("span");l.style.cssText="position: fixed; top: -1000px;",l.append(V.createTextNode("#")),B.append(l);const d=new Range;return d.setStart(l,0),d.setEnd(l,1),n.removeAllRanges(),n.addRange(d),new Promise((F,B)=>{const n=U.registerCommand(hn,B=>(PZ(B,ClipboardEvent)&&(n(),null!==JS&&(R.clearTimeout(JS),JS=null),F(ZS(U,B,Q))),!0),4);JS=R.setTimeout(()=>{n(),JS=null,F(!1)},50),V.execCommand("copy"),l.remove()})}function ZS(U,F,Q){if(void 0===Q){const F=MN(U._window),B=Td();if(!B||B.isCollapsed())return!1;if(!F)return!1;const R=F.anchorNode,V=F.focusNode;if(null!==R&&null!==V&&!mJ(U,R,V))return!1;Q=function(){let U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Td();const F={"text/plain":U?U.getTextContent():""};if(U){const Q=YN();for(const[B,R]of WS){const V=R(Q,U);null!==V&&(F[B]=V)}}return F}(B)}F.preventDefault();const B=F.clipboardData;return null!==B&&(function(U,F){for(const[Q]of WS)void 0===F[Q]&&U.setData(Q,"");for(const Q in F){const B=F[Q];void 0!==B&&U.setData(Q,B)}}(B,Q),!0)}const WS=[["text/html",function(U){let F=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Td();return null==F&&VS(166),Fd(F)&&F.isCollapsed()||0===F.getNodes().length?"":function(U,F){if("undefined"==typeof document||"undefined"==typeof window&&void 0===global.window)throw new Error("To use $generateHtmlFromNodes in headless mode please initialize a headless browser implementation such as JSDom before calling this function.");const Q=document.createElement("div"),B=gJ().getChildren();for(let R=0;R1&&void 0!==arguments[1]?arguments[1]:Td();return null==F&&VS(166),Fd(F)&&F.isCollapsed()||0===F.getNodes().length?null:JSON.stringify(function(U,F){const Q=[],B=gJ().getChildren();for(let R=0;RUJ(U)&&!U.isInline());if(null===n)continue;const l=n.getKey();n.canIndent()&&!Q.has(l)&&(Q.add(l),U(n))}return Q.size>0}function cS(U){return BJ(IJ(U))}function rS(U){for(const F of["lowercase","uppercase","capitalize"])U.hasFormat(F)&&U.toggleFormat(F)}function mS(U){return XZ(U.registerCommand(xV,U=>{const F=Td();return!!Bd(F)&&(F.clear(),!0)},0),U.registerCommand(KV,U=>{const F=Td();return Fd(F)?(F.deleteCharacter(U),!0):!!Bd(F)&&(F.deleteNodes(),!0)},0),U.registerCommand(_V,U=>{const F=Td();return!!Fd(F)&&(F.deleteWord(U),!0)},0),U.registerCommand($V,U=>{const F=Td();return!!Fd(F)&&(F.deleteLine(U),!0)},0),U.registerCommand(PV,F=>{const Q=Td();if("string"==typeof F)null!==Q&&Q.insertText(F);else{if(null===Q)return!1;const B=F.dataTransfer;if(null!=B)nS(B,Q,U);else if(Fd(Q)){const U=F.data;return U&&Q.insertText(U),!0}}return!0},0),U.registerCommand(qV,()=>{const U=Td();return!!Fd(U)&&(U.removeText(),!0)},0),U.registerCommand(Un,U=>{const F=Td();return!!Fd(F)&&(F.formatText(U),!0)},0),U.registerCommand(Cn,U=>{const F=Td();if(!Fd(F)&&!Bd(F))return!1;const Q=F.getNodes();for(const B of Q){const F=jN(B,U=>UJ(U)&&!U.isInline());null!==F&&F.setFormat(U)}return!0},0),U.registerCommand(fV,U=>{const F=Td();return!!Fd(F)&&(F.insertLineBreak(U),!0)},0),U.registerCommand(gV,()=>{const U=Td();return!!Fd(U)&&(U.insertParagraph(),!0)},0),U.registerCommand(tn,()=>(function(U){let F=Td()||ed();null===F&&(F=gJ().selectEnd()),F.insertNodes(U)}([gl()]),!0),0),U.registerCommand(an,()=>hS(U=>{const F=U.getIndent();U.setIndent(F+1)}),0),U.registerCommand(Tn,()=>hS(U=>{const F=U.getIndent();F>0&&U.setIndent(Math.max(0,F-1))}),0),U.registerCommand(dn,U=>{const F=Td();if(Bd(F)){const Q=F.getNodes();if(Q.length>0)return U.preventDefault(),Q[0].selectPrevious(),!0}else if(Fd(F)){const Q=EN(F.focus,!0);if(!U.shiftKey&&BJ(Q)&&!Q.isIsolated()&&!Q.isInline())return Q.selectPrevious(),U.preventDefault(),!0}return!1},0),U.registerCommand(Jn,U=>{const F=Td();if(Bd(F)){const Q=F.getNodes();if(Q.length>0)return U.preventDefault(),Q[0].selectNext(0,0),!0}else if(Fd(F)){if(function(U){const F=U.focus;return"root"===F.key&&F.offset===gJ().getChildrenSize()}(F))return U.preventDefault(),!0;const Q=EN(F.focus,!1);if(!U.shiftKey&&BJ(Q)&&!Q.isIsolated()&&!Q.isInline())return Q.selectNext(),U.preventDefault(),!0}return!1},0),U.registerCommand(nn,U=>{const F=Td();if(Bd(F)){const Q=F.getNodes();if(Q.length>0)return U.preventDefault(),IW(Q[0])?Q[0].selectNext(0,0):Q[0].selectPrevious(),!0}if(!Fd(F))return!1;if(_W(F,!0)){const Q=U.shiftKey;return U.preventDefault(),US(F,Q,!0),!0}return!1},0),U.registerCommand(Rn,U=>{const F=Td();if(Bd(F)){const Q=F.getNodes();if(Q.length>0)return U.preventDefault(),IW(Q[0])?Q[0].selectPrevious():Q[0].selectNext(0,0),!0}if(!Fd(F))return!1;const Q=U.shiftKey;return!!_W(F,!1)&&(U.preventDefault(),US(F,Q,!1),!0)},0),U.registerCommand(Wn,F=>{if(cS(F.target))return!1;const Q=Td();if(Fd(Q)){if(function(U){if(!U.isCollapsed())return!1;const{anchor:F}=U;if(0!==F.offset)return!1;const Q=F.getNode();if(VJ(Q))return!1;const B=gZ(Q);return B.getIndent()>0&&(B.is(Q)||Q.is(B.getFirstDescendant()))}(Q))return F.preventDefault(),U.dispatchCommand(Tn,void 0);if(eS&&"ko-KR"===navigator.language)return!1}else if(!Bd(Q))return!1;return F.preventDefault(),U.dispatchCommand(KV,!0)},0),U.registerCommand(En,F=>{if(cS(F.target))return!1;const Q=Td();return!(!Fd(Q)&&!Bd(Q))&&(F.preventDefault(),U.dispatchCommand(KV,!1))},0),U.registerCommand(Nn,F=>{const Q=Td();if(!Fd(Q))return!1;if(rS(Q),null!==F){if((eS||TS||DS)&&aS)return!1;if(F.preventDefault(),F.shiftKey)return U.dispatchCommand(fV,!1)}return U.dispatchCommand(gV,void 0)},0),U.registerCommand(Sn,()=>!!Fd(Td())&&(U.blur(),!0),0),U.registerCommand(en,F=>{const[,Q]=pS(F);if(Q.length>0){const B=SS(F.clientX,F.clientY);if(null!==B){const{offset:F,node:R}=B,V=IJ(R);if(null!==V){const U=kd();if(Il(V))U.anchor.set(V.getKey(),F,"text"),U.focus.set(V.getKey(),F,"text");else{const F=V.getParentOrThrow().getKey(),Q=V.getIndexWithinParent()+1;U.anchor.set(F,Q,"element"),U.focus.set(F,Q,"element")}AJ(RV(U))}U.dispatchCommand(oS,Q)}return F.preventDefault(),!0}return!!Fd(Td())},0),U.registerCommand(Dn,U=>{const[F]=pS(U),Q=Td();return!(F&&!Fd(Q))},0),U.registerCommand(on,U=>{const[F]=pS(U),Q=Td();if(F&&!Fd(Q))return!1;const B=SS(U.clientX,U.clientY);if(null!==B){BJ(IJ(B.node))&&U.preventDefault()}return!0},0),U.registerCommand(rn,()=>(function(U){const F=gJ();if(Fd(U)){const F=U.anchor,Q=U.focus,B=F.getNode().getTopLevelElementOrThrow().getParentOrThrow();return F.set(B.getKey(),0,"element"),Q.set(B.getKey(),B.getChildrenSize(),"element"),RV(U),U}{const U=F.select(0,F.getChildrenSize());AJ(RV(U))}}(),!0),0),U.registerCommand(hn,F=>(NS(U,PZ(F,ClipboardEvent)?F:null),!0),0),U.registerCommand(cn,F=>(async function(U,F){await NS(F,PZ(U,ClipboardEvent)?U:null),F.update(()=>{const U=Td();Fd(U)?U.removeText():Bd(U)&&U.getNodes().forEach(U=>U.remove())})}(F,U),!0),0),U.registerCommand(AV,F=>{const[,Q,B]=pS(F);return Q.length>0&&!B?(U.dispatchCommand(oS,Q),!0):(!bN(F.target)||!rJ(F.target))&&(null!==Td()&&(function(U,F){U.preventDefault(),F.update(()=>{const Q=Td(),B=PZ(U,InputEvent)||PZ(U,KeyboardEvent)?null:U.clipboardData;null!=B&&null!==Q&&nS(B,Q,F)},{tag:"paste"})}(F,U),!0))},0),U.registerCommand(Zn,U=>{const F=Td();return Fd(F)&&rS(F),!1},0),U.registerCommand(kn,U=>{const F=Td();return Fd(F)&&rS(F),!1},0))}function MS(U){const F=new URL("https://lexical.dev/docs/error"),Q=new URLSearchParams;Q.append("code",U);for(var B=arguments.length,R=new Array(B>1?B-1:0),V=1;VU.getDecorators());return iS(()=>U.registerDecoratorListener(U=>{(0,b.flushSync)(()=>{B(U)})}),[U]),(0,n.useEffect)(()=>{B(U.getDecorators())},[U]),(0,n.useMemo)(()=>{const B=[],R=Object.keys(Q);for(let l=0;lU._onError(F),children:(0,V.jsx)(n.Suspense,{fallback:null,children:Q[d]})}),N=U.getElementByKey(d);null!==N&&B.push((0,b.createPortal)(J,N,d))}return B},[F,Q,U])}(F,Q)}function vS(U){let{editor:F,ErrorBoundary:Q}=U;return function(U){const F=sW.maybeFromEditor(U);if(F&&F.hasExtensionByName(YW.name)){for(const U of["@lexical/plain-text","@lexical/rich-text"])F.hasExtensionByName(U)&&MS(320,U);return!0}return!1}(F)?null:(0,V.jsx)(bS,{editor:F,ErrorBoundary:Q})}function GS(U){return U.getEditorState().read(zW(U.isComposing()))}function sS(U){let{contentEditable:F,placeholder:Q=null,ErrorBoundary:B}=U;const[R]=yZ();return function(U){iS(()=>XZ(mS(U),OW(U)),[U])}(R),(0,V.jsxs)(V.Fragment,{children:[F,(0,V.jsx)(XS,{content:Q}),(0,V.jsx)(vS,{editor:R,ErrorBoundary:B})]})}function XS(U){let{content:F}=U;const[Q]=yZ(),B=function(U){const[F,Q]=(0,n.useState)(()=>GS(U));return iS(()=>{function F(){const F=GS(U);Q(F)}return F(),XZ(U.registerUpdateListener(()=>{F()}),U.registerEditableListener(()=>{F()}))},[U]),F}(Q),R=function(U){const[F]=yZ(),Q=(0,n.useMemo)(()=>U(F),[F,U]),[B,R]=(0,n.useState)(()=>Q.initialValueFn()),V=(0,n.useRef)(B);return xZ(()=>{const{initialValueFn:U,subscribe:F}=Q,B=U();return V.current!==B&&(V.current=B,R(B)),F(U=>{V.current=U,R(U)})},[Q,U]),B}(uZ);return B?"function"==typeof F?F(R):F:null}const YS="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?n.useLayoutEffect:n.useEffect;const yS=(0,n.forwardRef)(function(U,F){let{editor:Q,ariaActiveDescendant:B,ariaAutoComplete:R,ariaControls:l,ariaDescribedBy:d,ariaErrorMessage:J,ariaExpanded:N,ariaInvalid:Z,ariaLabel:W,ariaLabelledBy:S,ariaMultiline:E,ariaOwns:k,ariaRequired:t,autoCapitalize:a,className:T,id:e,role:C="textbox",spellCheck:D=!0,style:o,tabIndex:p,"data-testid":h,...c}=U;const[r,m]=(0,n.useState)(Q.isEditable()),M=(0,n.useCallback)(U=>{U&&U.ownerDocument&&U.ownerDocument.defaultView?Q.setRootElement(U):Q.setRootElement(null)},[Q]),i=(0,n.useMemo)(()=>function(){for(var U=arguments.length,F=new Array(U),Q=0;Q{for(const Q of F)"function"==typeof Q?Q(U):null!=Q&&(Q.current=U)}}(F,M),[M,F]);return YS(()=>(m(Q.isEditable()),Q.registerEditableListener(U=>{m(U)})),[Q]),(0,V.jsx)("div",{"aria-activedescendant":r?B:void 0,"aria-autocomplete":r?R:"none","aria-controls":r?l:void 0,"aria-describedby":d,...null!=J?{"aria-errormessage":J}:{},"aria-expanded":r&&"combobox"===C?!!N:void 0,...null!=Z?{"aria-invalid":Z}:{},"aria-label":W,"aria-labelledby":S,"aria-multiline":E,"aria-owns":r?k:void 0,"aria-readonly":!r||void 0,"aria-required":t,autoCapitalize:a,className:T,contentEditable:r,"data-testid":h,id:e,ref:i,role:C,spellCheck:D,style:o,tabIndex:p,...c})});function zS(U){return U.getEditorState().read(zW(U.isComposing()))}const OS=(0,n.forwardRef)(function(U,F){const{placeholder:Q,...B}=U,[R]=yZ();return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(yS,{editor:R,...B,ref:F}),null!=Q&&(0,V.jsx)(LS,{editor:R,content:Q})]})});function LS(U){let{content:F,editor:Q}=U;const B=function(U){const[F,Q]=(0,n.useState)(()=>zS(U));return YS(()=>{function F(){const F=zS(U);Q(F)}return F(),XZ(U.registerUpdateListener(()=>{F()}),U.registerEditableListener(()=>{F()}))},[U]),F}(Q),[R,l]=(0,n.useState)(Q.isEditable());if((0,n.useLayoutEffect)(()=>(l(Q.isEditable()),Q.registerEditableListener(U=>{l(U)})),[Q]),!B)return null;let d=null;return"function"==typeof F?d=F(R):null!==F&&(d=F),null===d?null:(0,V.jsx)("div",{"aria-hidden":!0,children:d})}const HS=(0,n.createContext)(null),xS={didCatch:!1,error:null};class uS extends n.Component{constructor(U){super(U),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=xS}static getDerivedStateFromError(U){return{didCatch:!0,error:U}}resetErrorBoundary(){const{error:U}=this.state;for(var F=arguments.length,Q=new Array(F),B=0;B0&&void 0!==arguments[0]?arguments[0]:[],F=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return U.length!==F.length||U.some((U,Q)=>!Object.is(U,F[Q]))}(U.resetKeys,B)&&(this.props.onReset?.({next:B,prev:U.resetKeys,reason:"keys"}),this.setState(xS))}render(){const{children:U,fallbackRender:F,FallbackComponent:Q,fallback:B}=this.props,{didCatch:R,error:V}=this.state;let l=U;if(R){const U={error:V,resetErrorBoundary:this.resetErrorBoundary};if("function"==typeof F)l=F(U);else if(Q)l=(0,n.createElement)(Q,U);else{if(void 0===B)throw V;l=B}}return(0,n.createElement)(HS.Provider,{value:{didCatch:R,error:V,resetErrorBoundary:this.resetErrorBoundary}},l)}}function wS(U){let{children:F,onError:Q}=U;return(0,V.jsx)(uS,{fallback:(0,V.jsx)("div",{style:{border:"1px solid #f00",color:"#f00",padding:"8px"},children:"An error was thrown."}),onError:Q,children:F})}function jS(U){let{defaultSelection:F}=U;const[Q]=yZ();return(0,n.useEffect)(()=>{Q.focus(()=>{const U=document.activeElement,F=Q.getRootElement();null===F||null!==U&&F.contains(U)||F.focus({preventScroll:!0})},{defaultSelection:F})},[F,Q]),null}function IS(U,F){let Q=Date.now(),B=0;return(R,V,n,l,d,J)=>{const N=Date.now();if(J.has(Tl))return B=0,Q=N,2;const Z=function(U,F,Q,B,R){if(null===U||0===Q.size&&0===B.size&&!R)return 0;const V=F._selection,n=U._selection;if(R)return 1;if(!(Fd(V)&&Fd(n)&&n.isCollapsed()&&V.isCollapsed()))return 0;const l=function(U,F,Q){const B=U._nodeMap,R=[];for(const V of F){const U=B.get(V);void 0!==U&&R.push(U)}for(const[V,n]of Q){if(!n)continue;const U=B.get(V);void 0===U||VJ(U)||R.push(U)}return R}(F,Q,B);if(0===l.length)return 0;if(l.length>1){const Q=F._nodeMap,B=Q.get(V.anchor.key),R=Q.get(n.anchor.key);return B&&R&&!U._nodeMap.has(B.__key)&&Il(B)&&1===B.__text.length&&1===V.anchor.offset?2:0}const d=l[0],J=U._nodeMap.get(d.__key);if(!Il(J)||!Il(d)||J.__mode!==d.__mode)return 0;const N=J.__text,Z=d.__text;if(N===Z)return 0;const W=V.anchor,S=n.anchor;if(W.key!==S.key||"text"!==W.type)return 0;const E=W.offset,k=S.offset,t=Z.length-N.length;return 1===t&&k===E-1?2:-1===t&&k===E+1?3:-1===t&&k===E?4:0}(R,V,l,d,U.isComposing()),W=(()=>{const W=null===n||n.editor===U,S=J.has("history-push");if(!S&&W&&J.has(el))return 0;if(null===R)return 1;const E=V._selection;if(!(l.size>0||d.size>0))return null!==E?0:2;const k="number"==typeof F?F:F.peek();return!1===S&&0!==Z&&Z===B&&NB.exportJSON()))===JSON.stringify(Q.read(()=>R.exportJSON()))}(Array.from(l)[0],R,V)?0:1})();return Q=N,B=Z,W}}function KS(U){U.undoStack=[],U.redoStack=[],U.current=null}function fS(U,F,Q){const B=IS(U,Q),R=XZ(U.registerCommand(Fn,()=>(function(U,F){const Q=F.redoStack,B=F.undoStack;if(0!==B.length){const R=F.current,V=B.pop();null!==R&&(Q.push(R),U.dispatchCommand(bn,!0)),0===B.length&&U.dispatchCommand(vn,!1),F.current=V||null,V&&V.editor.setEditorState(V.editorState,{tag:Tl})}}(U,F),!0),0),U.registerCommand(Qn,()=>(function(U,F){const Q=F.redoStack,B=F.undoStack;if(0!==Q.length){const R=F.current;null!==R&&(B.push(R),U.dispatchCommand(vn,!0));const V=Q.pop();0===Q.length&&U.dispatchCommand(bn,!1),F.current=V||null,V&&V.editor.setEditorState(V.editorState,{tag:Tl})}}(U,F),!0),0),U.registerCommand(mn,()=>(KS(F),!1),0),U.registerCommand(Mn,()=>(KS(F),U.dispatchCommand(bn,!1),U.dispatchCommand(vn,!1),!0),0),U.registerUpdateListener(Q=>{let{editorState:R,prevEditorState:V,dirtyLeaves:n,dirtyElements:l,tags:d}=Q;const J=F.current,N=F.redoStack,Z=F.undoStack,W=null===J?null:J.editorState;if(null!==J&&R===W)return;const S=B(V,R,J,n,l,d);if(1===S)0!==N.length&&(F.redoStack=[],U.dispatchCommand(bn,!1)),null!==J&&(Z.push({...J}),U.dispatchCommand(vn,!0));else if(2===S)return;F.current={editor:U,editorState:R}}));return R}function gS(){return{current:null,redoStack:[],undoStack:[]}}const PS={build:(U,F)=>{let{delay:Q,createInitialHistoryState:B,disabled:R}=F;return aW({delay:Q,disabled:R,historyState:B(U)})},config:{createInitialHistoryState:gS,delay:300,disabled:"undefined"==typeof window},name:"@lexical/history/History",register:(U,F,Q)=>{const B=Q.getOutput();return tW(()=>B.disabled.value?void 0:fS(U,B.historyState.value,B.delay))}};!function(){for(var U=arguments.length,F=new Array(U),Q=0;Q{throw new Error("SharedHistory did not inherit parent history")},disabled:!0});function AS(U){let{delay:F,externalHistoryState:Q}=U;const[B]=yZ();return function(U,F){let Q=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e3;const B=(0,n.useMemo)(()=>F||{current:null,redoStack:[],undoStack:[]},[F]);(0,n.useEffect)(()=>fS(U,B,Q),[Q,U,B])}(B,Q,F),null}var qS=Q(77003);function _S(U,F){var Q,B=U.createStructService(F),R=B.info();return Object.assign(R,{addKetcherId:B.addKetcherId.bind(B),info:B.info.bind(B),convert:B.convert.bind(B),layout:B.layout.bind(B),clean:B.clean.bind(B),aromatize:B.aromatize.bind(B),dearomatize:B.dearomatize.bind(B),calculateCip:B.calculateCip.bind(B),automap:B.automap.bind(B),check:B.check.bind(B),calculate:B.calculate.bind(B),recognize:B.recognize.bind(B),generateImageAsBase64:B.generateImageAsBase64.bind(B),getInChIKey:B.getInChIKey.bind(B),toggleExplicitHydrogens:B.toggleExplicitHydrogens.bind(B),calculateMacromoleculeProperties:B.calculateMacromoleculeProperties.bind(B),destroy:null===(Q=B.destroy)||void 0===Q?void 0:Q.bind(B)})}var $S=n.createContext({}),UE=n.createContext({}),FE=n.createContext({}),QE=n.createContext(null),BE=["H","C","N","O","S","P","F","Cl","Br","I"],RE={H:"h",C:"c",N:"n",O:"o",S:"s",P:"p",F:"f",Cl:"l",Br:"b",I:"i",A:"a",Q:"q",R:"r",K:"k",M:"m",Si:"Shift+s",Na:"Shift+n",X:"x",D:"d",B:"Shift+b","*":"Shift+8"},VE=Object.keys(RE).reduce(function(U,F){return U["atom-".concat(F.toLowerCase())]={title:"Atom ".concat(F),shortcut:RE[F],action:{tool:"atom",opts:{label:F}}},U},{});function nE(U){var F,B=Q.g.currentState.editor,R=B.structSelected(),V=B.errorHandler;try{if("mol"===U)F=new W.MolSerializer;else F=new W.KetSerializer;if(Boolean(R.simpleObjects.size||R.texts.size)&&F instanceof W.MolSerializer)return V("This feature is not available for Simple objects and Text objects"),null;var n=F.serialize(R);window.clipboardData?window.clipboardData.setData("text",n):navigator.clipboard.writeText(n)}catch(l){W.KetcherLogger.error("copyAs.js::copyAs",l),V("This feature is not available in your browser")}}function lE(){return lE=(0,l.A)(J().mark(function U(){var F,R,V,n,l,d,N,Z,S,E;return J().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:return F=Q.g.currentState,R=F.editor,V=F.options,n=R.structSelected(),l=R.errorHandler,U.prev=5,d=W.ketcherProvider.getKetcher(R.ketcherId),N=new W.KetSerializer,Z=N.serialize(n),U.next=11,d.generateImage(Z,{outputFormat:"png",backgroundColor:"255, 255, 255",bondThickness:V.settings.bondThickness||W.defaultBondThickness});case 11:return S=U.sent,E=new ClipboardItem((0,B.A)({},S.type,S)),U.next=15,navigator.clipboard.write([E]);case 15:U.next=21;break;case 17:U.prev=17,U.t0=U.catch(5),W.KetcherLogger.error("copyImageToClipboard.js::copyImageToClipboard",U.t0),l("This feature is not available in your browser");case 21:case"end":return U.stop()}},U,null,[[5,17]])})),lE.apply(this,arguments)}function dE(U,F){var Q;return Boolean(null===(Q=U.buttons)||void 0===Q||null===(Q=Q[F])||void 0===Q?void 0:Q.hidden)}var JE={"force-update":{shortcut:"Ctrl+Shift+r",action:function(U){U.update(!0)},hidden:function(U){return dE(U,"force-update")}},"qs-serialize":{shortcut:"Alt+Shift+r",action:function(U){var F=(new W.MolSerializer).serialize(U.struct()),Q="mol="+encodeURIComponent(F).replace(/%20/g,"+"),B=document.location.search;B?-1===B.search("mol=")?document.location.search=B+"&"+Q:document.location.search=B.replace(/mol=[^&$]*/,Q):document.location.search="?"+Q}},hidden:function(U){return dE(U,"qs-serialize")}},NE="cliparea-module_cliparea__GdPrN";function ZE(U,F){var Q="undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(!Q){if(Array.isArray(U)||(Q=function(U,F){if(U){if("string"==typeof U)return WE(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?WE(U,F):void 0}}(U))||F&&U&&"number"==typeof U.length){Q&&(U=Q);var B=0,R=function(){};return{s:R,n:function(){return B>=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function WE(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q \nalpha-D-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nalpha-D-Altropyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 12 0 1 0 999 V2000\n -0.9910 2.2903 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -0.9910 0.7936 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.2875 0.0452 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.5799 0.7935 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.2834 2.2903 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1462 1.8062 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.6372 1.9161 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.6372 1.1678 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.2834 0.7935 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.9337 1.1677 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.9337 1.9160 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.5799 2.2902 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6 12 1 0 0 0\n 11 5 1 0 0 0\n 5 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 10 11 1 0 0 0\n 11 12 1 1 0 0\n 7 1 1 6 0 0\n 8 2 1 1 0 0\n 9 3 1 6 0 0\n 10 4 1 6 0 0\nM END\n> \nalpha-D-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nalpha-D-Arabinofuranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 10 0 1 0 999 V2000\n -1.9332 3.1927 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.5926 1.1426 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7765 1.1387 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7048 3.4871 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -6.0588 2.4002 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8825 2.8828 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.1801 1.9478 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1909 1.9478 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.5142 2.8976 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -5.4573 3.1978 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9 4 1 0 0 0\n 9 8 1 0 0 0\n 4 6 1 0 0 0\n 8 7 1 0 0 0\n 6 7 1 0 0 0\n 9 10 1 1 0 0\n 10 5 1 0 0 0\n 6 1 1 6 0 0\n 7 2 1 1 0 0\n 8 3 1 6 0 0\nM END\n> \nalpha-D-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nalpha-D-Arabinopyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 10 0 1 0 999 V2000\n 15.5611 -5.2999 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.5611 -7.3001 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.8228 -8.3002 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.0958 -7.3001 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.8228 -5.2999 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.6920 -5.8000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.6920 -6.7999 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.8228 -7.3001 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.9648 -6.7999 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.9648 -5.8000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5 10 1 0 0 0\n 10 9 1 0 0 0\n 9 8 1 0 0 0\n 8 7 1 0 0 0\n 7 6 1 0 0 0\n 6 5 1 0 0 0\n 6 1 1 6 0 0\n 7 2 1 1 0 0\n 8 3 1 6 0 0\n 9 4 1 6 0 0\nM END\n> \nalpha-D-Sugars\n\n$$$$\nalpha-D-Erythrofuranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 8 8 0 1 0 999 V2000\n -2.3742 2.6418 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8682 1.1059 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.4960 1.1030 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7013 2.8623 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.0854 2.4096 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.3125 1.7091 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.0613 1.7091 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.3035 2.4207 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8 4 1 0 0 0\n 8 7 1 0 0 0\n 4 5 1 0 0 0\n 7 6 1 0 0 0\n 5 6 1 0 0 0\n 5 1 1 6 0 0\n 6 2 1 6 0 0\n 7 3 1 6 0 0\nM END\n> \nalpha-D-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nalpha-D-Galactopyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 12 0 1 0 999 V2000\n -1.5577 2.5236 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.5577 1.0270 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8542 0.2785 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1466 1.0269 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8543 2.5236 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7171 2.0395 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.2039 2.1495 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.2039 1.4011 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8543 1.0269 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.5004 1.4010 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.5004 2.1494 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1466 2.5235 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6 12 1 0 0 0\n 11 5 1 0 0 0\n 5 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 10 11 1 0 0 0\n 11 12 1 1 0 0\n 7 1 1 6 0 0\n 8 2 1 6 0 0\n 9 3 1 1 0 0\n 10 4 1 1 0 0\nM END\n> \nalpha-D-Sugars\n\n$$$$\nalpha-D-Glucopyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 12 0 1 0 999 V2000\n -2.1744 2.8153 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.1744 1.3186 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4708 0.5702 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7632 1.3185 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4709 2.8153 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.3337 2.3312 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8206 2.4411 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8206 1.6928 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4709 1.3185 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1170 1.6927 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1170 2.4410 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7632 2.8152 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6 12 1 0 0 0\n 11 5 1 0 0 0\n 5 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 10 11 1 0 0 0\n 11 12 1 1 0 0\n 7 1 1 6 0 0\n 8 2 1 6 0 0\n 9 3 1 1 0 0\n 10 4 1 6 0 0\nM END\n> \nalpha-D-Sugars\n\n$$$$\nalpha-D-Gulopyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 12 0 1 0 999 V2000\n -2.1119 2.8570 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.1119 1.3603 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4083 0.6119 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7007 1.3602 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4084 2.8570 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.2712 2.3728 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.7581 2.4828 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.7581 1.7345 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4084 1.3602 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.0545 1.7344 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.0545 2.4827 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7007 2.8569 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6 12 1 0 0 0\n 11 5 1 0 0 0\n 5 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 10 11 1 0 0 0\n 11 12 1 1 0 0\n 7 1 1 6 0 0\n 8 2 1 6 0 0\n 9 3 1 6 0 0\n 10 4 1 1 0 0\nM END\n> \nalpha-D-Sugars\n\n$$$$\nalpha-D-Idopyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 12 0 1 0 999 V2000\n -1.9244 2.7736 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.9244 1.2770 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.2208 0.5285 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.5132 1.2769 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.2209 2.7736 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.0837 2.2895 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.5706 2.3995 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.5706 1.6511 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.2209 1.2769 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8670 1.6510 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8670 2.3994 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.5132 2.7735 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6 12 1 0 0 0\n 11 5 1 0 0 0\n 5 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 10 11 1 0 0 0\n 11 12 1 1 0 0\n 7 1 1 6 0 0\n 8 2 1 1 0 0\n 9 3 1 6 0 0\n 10 4 1 1 0 0\nM END\n> \nalpha-D-Sugars\n\n$$$$\nalpha-D-Lyxofuranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 10 0 1 0 999 V2000\n -2.1148 2.9334 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6088 1.3976 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.2406 1.3947 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4419 3.1538 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.2054 2.3397 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8260 2.7012 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.0531 2.0007 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8102 2.0007 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.0483 2.7122 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7589 2.9371 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9 4 1 0 0 0\n 9 8 1 0 0 0\n 4 6 1 0 0 0\n 8 7 1 0 0 0\n 6 7 1 0 0 0\n 9 10 1 1 0 0\n 10 5 1 0 0 0\n 6 1 1 6 0 0\n 7 2 1 1 0 0\n 8 3 1 1 0 0\nM END\n> \nalpha-D-Sugars\n\n$$$$\nalpha-D-Lyxopyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 10 0 1 0 999 V2000\n -2.4513 2.8153 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.4513 1.3186 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7520 0.5702 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.0444 1.3185 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7521 2.8153 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.1017 2.4411 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.1017 1.6928 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7521 1.3185 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.3940 1.6927 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.3940 2.4410 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10 5 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 6 1 1 6 0 0\n 7 2 1 1 0 0\n 8 3 1 1 0 0\n 9 4 1 6 0 0\nM END\n> \nalpha-D-Sugars\n\n$$$$\nalpha-D-Mannopyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 12 0 1 0 999 V2000\n -2.1577 2.8570 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.1577 1.3603 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4542 0.6119 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7466 1.3602 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4543 2.8570 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.3171 2.3728 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8039 2.4828 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8039 1.7345 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4543 1.3602 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1004 1.7344 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1004 2.4827 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7466 2.8569 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6 12 1 0 0 0\n 11 5 1 0 0 0\n 5 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 10 11 1 0 0 0\n 11 12 1 1 0 0\n 7 1 1 6 0 0\n 8 2 1 1 0 0\n 9 3 1 1 0 0\n 10 4 1 6 0 0\nM END\n> \nalpha-D-Sugars\n\n$$$$\nalpha-D-Psicofuranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 12 0 1 0 999 V2000\n 15.0740 -8.2784 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.3759 -8.9026 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.7463 -10.3149 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5700 -10.3189 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.6353 -7.9706 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 10.2665 -9.0586 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.1656 -7.8559 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.4589 -8.5718 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.1574 -9.5078 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.1460 -9.5078 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.8298 -8.5571 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8731 -8.2544 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11 5 1 0 0 0\n 11 10 1 0 0 0\n 5 8 1 0 0 0\n 10 9 1 0 0 0\n 8 9 1 0 0 0\n 8 7 1 1 0 0\n 7 1 1 0 0 0\n 11 12 1 1 0 0\n 12 6 1 0 0 0\n 10 4 1 6 0 0\n 9 3 1 6 0 0\n 8 2 1 6 0 0\nM END\n> \nalpha-D-Sugars\n\n> \n1\n\n> \n0\n\n$$$$\nalpha-D-Ribofuranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 10 0 1 0 999 V2000\n -1.8940 2.7251 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.3879 1.1893 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.0198 1.1863 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.2211 2.9455 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.9845 2.1313 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6051 2.4928 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8322 1.7924 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.5894 1.7924 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8274 2.5039 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.5381 2.7288 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9 4 1 0 0 0\n 9 8 1 0 0 0\n 4 6 1 0 0 0\n 8 7 1 0 0 0\n 6 7 1 0 0 0\n 9 10 1 1 0 0\n 10 5 1 0 0 0\n 6 1 1 6 0 0\n 7 2 1 6 0 0\n 8 3 1 6 0 0\nM END\n> \nalpha-D-Sugars\n\n$$$$\nalpha-D-Ribopyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 10 0 1 0 999 V2000\n -2.1138 2.8570 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.1138 1.3603 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4145 0.6119 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7069 1.3602 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4146 2.8570 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.7642 2.4828 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.7642 1.7345 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4146 1.3602 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.0565 1.7344 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.0565 2.4827 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10 5 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 6 1 1 6 0 0\n 7 2 1 6 0 0\n 8 3 1 6 0 0\n 9 4 1 6 0 0\nM END\n> \nalpha-D-Sugars\n\n$$$$\nalpha-D-Sorbofuranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 12 0 1 0 999 V2000\n -1.6290 2.6125 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.1517 2.1450 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6232 1.0874 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.2529 1.0845 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4552 2.8429 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.2290 2.0282 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.3092 2.9289 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8384 2.3927 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.0642 1.6918 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8216 1.6918 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.0626 2.4037 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7789 2.6304 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11 5 1 0 0 0\n 11 10 1 0 0 0\n 5 8 1 0 0 0\n 10 9 1 0 0 0\n 8 9 1 0 0 0\n 8 7 1 0 0 0\n 7 1 1 0 0 0\n 11 12 1 1 0 0\n 12 6 1 0 0 0\n 10 4 1 1 0 0\n 9 3 1 6 0 0\n 8 2 1 6 0 0\nM END\n> \nalpha-D-Sugars\n\n> \n1\n\n> \n0\n\n$$$$\nalpha-D-Tagatofuranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 12 0 1 0 999 V2000\n -1.3790 2.4875 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.9017 2.0200 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.3732 0.9624 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.0029 0.9595 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.2052 2.7179 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.9790 1.9032 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.0592 2.8039 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.5884 2.2677 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8142 1.5668 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.5716 1.5668 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8126 2.2787 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.5289 2.5054 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11 5 1 0 0 0\n 11 10 1 0 0 0\n 5 8 1 0 0 0\n 10 9 1 0 0 0\n 8 9 1 0 0 0\n 8 7 1 0 0 0\n 7 1 1 0 0 0\n 11 12 1 1 0 0\n 12 6 1 0 0 0\n 10 4 1 1 0 0\n 9 3 1 1 0 0\n 8 2 1 6 0 0\nM END\n> \nalpha-D-Sugars\n\n> \n1\n\n> \n0\n\n$$$$\nalpha-D-Talopyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 12 0 1 0 999 V2000\n -1.9910 2.9403 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.9910 1.4436 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.2875 0.6952 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.5799 1.4435 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.2834 2.9403 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.1462 2.4562 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6372 2.5661 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6372 1.8178 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.2834 1.4435 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.9337 1.8177 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.9337 2.5660 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.5799 2.9402 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6 12 1 0 0 0\n 11 5 1 0 0 0\n 5 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 10 11 1 0 0 0\n 11 12 1 1 0 0\n 7 1 1 6 0 0\n 8 2 1 1 0 0\n 9 3 1 1 0 0\n 10 4 1 1 0 0\nM END\n> \nalpha-D-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nalpha-D-Threofuranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 8 8 0 1 0 999 V2000\n -2.8117 2.6835 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.3057 1.1476 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.9335 1.1447 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1388 2.9039 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.5229 2.4513 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7458 1.7507 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.5029 1.7507 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7410 2.4623 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8 4 1 0 0 0\n 8 7 1 0 0 0\n 4 5 1 0 0 0\n 7 6 1 0 0 0\n 5 6 1 0 0 0\n 5 1 1 6 0 0\n 6 2 1 1 0 0\n 7 3 1 6 0 0\nM END\n> \nalpha-D-Sugars\n\n$$$$\nalpha-D-Xylofuranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 10 0 1 0 999 V2000\n -2.1648 2.8084 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6588 1.2726 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.2948 1.2697 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4919 3.0288 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.2554 2.2147 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8760 2.5762 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.0989 1.8757 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8560 1.8757 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.0983 2.5872 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.8048 2.8121 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9 4 1 0 0 0\n 9 8 1 0 0 0\n 4 6 1 0 0 0\n 8 7 1 0 0 0\n 6 7 1 0 0 0\n 9 10 1 1 0 0\n 10 5 1 0 0 0\n 6 1 1 6 0 0\n 7 2 1 6 0 0\n 8 3 1 1 0 0\nM END\n> \nalpha-D-Sugars\n\n$$$$\nalpha-D-Xylopyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 10 0 1 0 999 V2000\n -2.5429 3.0236 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.5429 1.5270 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8396 0.7785 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.1360 1.5270 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8396 3.0236 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.1934 2.6495 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.1934 1.9012 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8396 1.5270 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.4899 1.9012 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.4899 2.6495 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5 10 1 0 0 0\n 10 9 1 0 0 0\n 9 8 1 0 0 0\n 8 7 1 0 0 0\n 7 6 1 0 0 0\n 6 5 1 0 0 0\n 6 1 1 6 0 0\n 7 2 1 6 0 0\n 8 3 1 1 0 0\n 9 4 1 6 0 0\nM END\n> \nalpha-D-Sugars\n\n$$$$\nCyclopenta-1,3-diene\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 5 5 0 0 0 999 V2000\n 9.6696 -5.8045 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.6696 -4.9328 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4243 -4.4955 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1804 -4.9328 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1804 -5.8045 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 2 0 0 0\n 1 5 1 0 0 0\nM END\n> \nAromatics\n\n> \n2\n\n> \n1\n\n$$$$\n1H-indene\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 9 10 0 0 0 999 V2000\n 7.1899 -4.2253 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1899 -5.2247 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.0555 -5.7254 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9228 -5.2247 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9228 -4.2253 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.0555 -3.7246 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8731 -5.5332 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4601 -4.7242 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8731 -3.9149 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 2 0 0 0\n 3 4 1 0 0 0\n 4 5 2 0 0 0\n 5 6 1 0 0 0\n 1 6 2 0 0 0\n 4 7 1 0 0 0\n 7 8 2 0 0 0\n 8 9 1 0 0 0\n 5 9 1 0 0 0\nM END\n> \nAromatics\n\n> \n6\n\n> \n7\n\n$$$$\nNaphtalene\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 11 0 0 0 999 V2000\n 11.0090 -4.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.1429 -5.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.1429 -6.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.0090 -6.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.8751 -6.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.8751 -5.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7410 -4.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7410 -6.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.6071 -6.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.6071 -5.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 6 2 0 0 0\n 2 3 2 0 0 0\n 3 4 1 0 0 0\n 4 5 2 0 0 0\n 7 6 1 0 0 0\n 5 6 1 0 0 0\n 5 8 1 0 0 0\n 7 10 2 0 0 0\n 8 9 2 0 0 0\n 9 10 1 0 0 0\nM END\n> \nAromatics\n\n> \n6\n\n> \n10\n\n$$$$\nAzulene\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 11 0 0 0 999 V2000\n 12.4941 -7.5235 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2759 -5.9000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.4941 -5.2765 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5192 -5.4990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.0853 -6.4000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5192 -7.3010 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.2270 -5.5909 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2759 -6.9000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.2270 -7.2090 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.8147 -6.4000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 8 2 0 0 0\n 1 6 1 0 0 0\n 2 3 1 0 0 0\n 3 4 2 0 0 0\n 4 5 1 0 0 0\n 5 6 2 0 0 0\n 7 2 2 0 0 0\n 7 10 1 0 0 0\n 8 9 1 0 0 0\n 9 10 2 0 0 0\n 2 8 1 0 0 0\nM END\n> \nAromatics\n\n> \n4\n\n> \n4\n\n$$$$\nE-Stilbene\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 14 15 0 0 0 999 V2000\n 10.8250 -2.9010 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8250 -2.9010 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3250 -3.7670 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8249 -4.6330 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8249 -4.6330 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.3250 -3.7669 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3250 -3.7669 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.8250 -4.6330 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.8250 -4.6330 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.3250 -5.4990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.3250 -5.4990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.8250 -4.6330 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.3250 -3.7669 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.3250 -3.7669 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 6 2 0 0 0\n 2 3 2 0 0 0\n 3 4 1 0 0 0\n 4 5 2 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 7 8 2 0 0 0\n 8 9 1 0 0 0\n 14 9 1 0 0 0\n 10 9 2 0 0 0\n 10 11 1 0 0 0\n 11 12 2 0 0 0\n 12 13 1 0 0 0\n 13 14 2 0 0 0\nM END\n> \nAromatics\n\n> \n2\n\n> \n3\n\n$$$$\nZ-Stilbene\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 14 15 0 0 0 999 V2000\n 12.3750 -3.8920 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.3750 -3.8920 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8750 -4.7581 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.3749 -5.6240 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3749 -5.6240 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.8750 -4.7580 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.8750 -3.0260 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.8750 -3.0260 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.3750 -3.8920 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.8750 -4.7580 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.3750 -5.6240 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.3750 -5.6240 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.8750 -4.7581 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.3750 -3.8920 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 6 2 0 0 0\n 2 3 2 0 0 0\n 3 4 1 0 0 0\n 4 5 2 0 0 0\n 5 6 1 0 0 0\n 1 7 1 0 0 0\n 7 8 2 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 9 14 2 0 0 0\n 10 11 2 0 0 0\n 11 12 1 0 0 0\n 12 13 2 0 0 0\n 13 14 1 0 0 0\nM END\n> \nAromatics\n\n> \n3\n\n> \n3\n\n$$$$\nAnthracene\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 14 16 0 0 0 999 V2000\n 8.0930 -3.2750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.2269 -3.7750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.2269 -4.7750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.0930 -5.2750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9591 -4.7750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9591 -3.7750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8250 -3.2750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8250 -5.2750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6911 -4.7750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6911 -3.7750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5571 -3.2750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5571 -5.2750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.4231 -4.7750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.4231 -3.7750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 6 2 0 0 0\n 2 3 2 0 0 0\n 3 4 1 0 0 0\n 4 5 2 0 0 0\n 7 6 1 0 0 0\n 5 6 1 0 0 0\n 5 8 1 0 0 0\n 7 10 2 0 0 0\n 8 9 2 0 0 0\n 11 10 1 0 0 0\n 9 10 1 0 0 0\n 9 12 1 0 0 0\n 11 14 2 0 0 0\n 12 13 2 0 0 0\n 13 14 1 0 0 0\nM END\n> \nAromatics\n\n> \n10\n\n> \n15\n\n$$$$\nPhenantrene\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 14 16 0 0 0 999 V2000\n 10.7760 -1.9500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9099 -2.4500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9099 -3.4500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7760 -3.9500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.6420 -3.4500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.6420 -2.4500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.5080 -1.9500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.5080 -3.9500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.3740 -3.4500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.3740 -2.4500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.5080 -4.9500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.3740 -5.4500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.2401 -4.9500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.2401 -3.9500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 6 2 0 0 0\n 2 3 2 0 0 0\n 3 4 1 0 0 0\n 4 5 2 0 0 0\n 7 6 1 0 0 0\n 5 6 1 0 0 0\n 5 8 1 0 0 0\n 7 10 2 0 0 0\n 9 10 1 0 0 0\n 8 11 2 0 0 0\n 8 9 1 0 0 0\n 9 14 2 0 0 0\n 11 12 1 0 0 0\n 12 13 2 0 0 0\n 13 14 1 0 0 0\nM END\n> \nAromatics\n\n> \n0\n\n> \n0\n\n$$$$\nPyrene\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 16 19 0 0 0 999 V2000\n 13.2084 -1.8748 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2084 -2.8736 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.0732 -3.3739 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.9399 -2.8736 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.9399 -1.8748 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.0732 -1.3745 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.0732 -4.3744 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.9399 -4.8747 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.8066 -4.3744 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.8066 -3.3739 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3434 -3.3739 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3434 -4.3726 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2084 -4.8729 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2065 -5.8752 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.0732 -6.3755 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.9399 -5.8752 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 2 0 0 0\n 1 6 1 0 0 0\n 3 7 2 0 0 0\n 7 8 1 0 0 0\n 8 9 2 0 0 0\n 9 10 1 0 0 0\n 4 10 2 0 0 0\n 2 11 1 0 0 0\n 11 12 2 0 0 0\n 12 13 1 0 0 0\n 7 13 1 0 0 0\n 13 14 2 0 0 0\n 14 15 1 0 0 0\n 15 16 2 0 0 0\n 8 16 1 0 0 0\nM END\n> \nAromatics\n\n> \n10\n\n> \n12\n\n$$$$\nTriphenylene\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 18 21 0 0 0 999 V2000\n 10.5140 -3.4503 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.5140 -4.4497 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.3807 -4.9503 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.2474 -4.4497 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.2474 -3.4503 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.3807 -2.9497 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.6491 -2.9516 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7859 -3.4503 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7859 -4.4497 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.6491 -4.9467 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.1141 -2.9497 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.1141 -1.9486 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.2474 -1.4481 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.3807 -1.9486 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.3807 -5.9514 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.2474 -6.4519 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.1141 -5.9514 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.1141 -4.9503 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0\n 2 3 1 0 0 0\n 3 4 2 0 0 0\n 4 5 1 0 0 0\n 5 6 2 0 0 0\n 1 6 1 0 0 0\n 1 7 1 0 0 0\n 7 8 2 0 0 0\n 8 9 1 0 0 0\n 9 10 2 0 0 0\n 2 10 1 0 0 0\n 5 11 1 0 0 0\n 11 12 2 0 0 0\n 12 13 1 0 0 0\n 13 14 2 0 0 0\n 6 14 1 0 0 0\n 3 15 1 0 0 0\n 15 16 2 0 0 0\n 16 17 1 0 0 0\n 17 18 2 0 0 0\n 4 18 1 0 0 0\nM END\n> \nAromatics\n\n> \n7\n\n> \n8\n\n$$$$\nTriptycene\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 20 24 0 0 0 999 V2000\n 9.9580 -4.2298 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9460 -4.5458 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4637 -3.7684 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.5123 -3.3051 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9580 -2.9407 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.5123 -2.2079 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.3265 -3.7665 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8129 -4.6117 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5262 -5.0982 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3987 -5.0982 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.9317 -4.3228 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3151 -3.7665 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4284 -3.6463 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6530 -3.9370 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1683 -4.6117 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.0407 -4.9044 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5412 -1.9500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7350 -0.7404 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4524 -0.0018 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7528 -1.0796 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 2 0 0 0\n 3 4 1 0 0 0\n 1 5 1 0 0 0\n 5 6 2 0 0 0\n 4 6 1 0 0 0\n 4 7 1 0 0 0\n 1 8 1 0 0 0\n 7 8 2 0 0 0\n 8 9 1 0 0 0\n 9 10 2 0 0 0\n 10 11 1 0 0 0\n 11 12 2 0 0 0\n 7 12 1 0 0 0\n 3 13 1 0 0 0\n 13 14 2 0 0 0\n 14 15 1 0 0 0\n 15 16 2 0 0 0\n 2 16 1 0 0 0\n 5 17 1 0 0 0\n 17 18 2 0 0 0\n 18 19 1 0 0 0\n 19 20 2 0 0 0\n 6 20 1 0 0 0\nM END\n> \nAromatics\n\n> \n18\n\n> \n21\n\n$$$$\n14-Annulene\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 14 14 0 0 0 999 V2000\n 12.0122 -0.7560 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1483 -1.2548 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1861 -2.2524 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.8762 -2.2524 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.8762 -1.2548 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.3221 -2.7512 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.3221 -3.7488 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1861 -4.2476 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.9139 -4.2476 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.7779 -3.7488 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.7779 -2.7512 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1861 -5.2452 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.0500 -5.7440 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.9139 -5.2452 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 5 2 0 0 0\n 2 3 2 0 0 0\n 4 5 1 0 0 0\n 3 6 1 0 0 0\n 6 7 2 0 0 0\n 7 8 1 0 0 0\n 4 11 2 0 0 0\n 9 10 2 0 0 0\n 10 11 1 0 0 0\n 14 9 1 0 0 0\n 8 12 2 0 0 0\n 12 13 1 0 0 0\n 13 14 2 0 0 0\nM END\n> \nAromatics\n\n> \n0\n\n> \n0\n\n$$$$\n18-Annulene\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 18 18 0 0 0 999 V2000\n 9.2590 6.2250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.3930 5.7250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.3930 4.7249 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.1250 5.7250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.9910 6.2250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.8570 4.7249 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.8570 5.7250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.8570 2.7249 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7230 3.2249 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7230 4.2249 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.5270 4.2249 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.5270 3.2249 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.3930 2.7249 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.3930 1.7250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2590 1.2250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.1250 1.7250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.9910 1.2250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.8570 1.7250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0\n 1 4 1 0 0 0\n 2 3 1 0 0 0\n 5 4 2 0 0 0\n 5 7 1 0 0 0\n 6 7 2 0 0 0\n 6 10 1 0 0 0\n 8 9 1 0 0 0\n 9 10 2 0 0 0\n 3 11 2 0 0 0\n 11 12 1 0 0 0\n 12 13 2 0 0 0\n 13 14 1 0 0 0\n 14 15 2 0 0 0\n 15 16 1 0 0 0\n 16 17 2 0 0 0\n 18 8 2 0 0 0\n 17 18 1 0 0 0\nM END\n> \nAromatics\n\n> \n0\n\n> \n0\n\n$$$$\nPorphyrin\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 24 28 0 0 0 999 V2000\n 6.4862 -8.7407 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1697 -9.4125 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.0926 -8.9051 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.9419 -7.9790 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 6.9418 -7.8094 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1979 -4.4543 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.4907 -5.1739 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.9262 -6.0260 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8876 -5.8394 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 8.0931 -4.8745 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.4706 -6.9575 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4476 -5.0593 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7641 -4.3875 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8408 -4.8592 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0279 -5.8563 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 10.9564 -5.9910 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9807 -4.4031 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8077 -9.3808 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4794 -8.6971 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.0074 -7.7383 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0106 -7.9610 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8407 -8.9255 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9886 -9.3966 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4636 -6.8782 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0\n 2 3 1 0 0 0\n 3 4 2 0 0 0\n 4 5 1 0 0 0\n 1 5 1 0 0 0\n 5 11 2 0 0 0\n 3 23 1 0 0 0\n 6 7 1 0 0 0\n 7 8 2 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 6 10 2 0 0 0\n 10 17 1 0 0 0\n 8 11 1 0 0 0\n 12 13 2 0 0 0\n 13 14 1 0 0 0\n 14 15 1 0 0 0\n 15 16 2 0 0 0\n 12 16 1 0 0 0\n 16 24 1 0 0 0\n 14 17 2 0 0 0\n 18 19 2 0 0 0\n 19 20 1 0 0 0\n 20 21 1 0 0 0\n 21 22 1 0 0 0\n 18 22 1 0 0 0\n 22 23 2 0 0 0\n 20 24 2 0 0 0\nM END\n> \nAromatics\n\n> \n10\n\n> \n0\n\n$$$$\nPhthalocyanine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 40 48 0 0 0 999 V2000\n 13.9159 -3.5449 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.8818 -3.2862 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.5888 -3.9932 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.3301 -4.9591 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.3641 -5.2179 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.9102 -6.1090 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.3641 -7.0000 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 13.9102 -7.8910 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.3641 -8.7821 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.3301 -9.0409 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.5888 -10.0068 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.8818 -10.7138 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.9159 -10.4551 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.6571 -9.4891 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7660 -9.0352 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.9224 -8.0474 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 11.8750 -9.4891 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 10.9840 -9.0352 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0929 -9.4891 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8341 -10.4551 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8682 -10.7138 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1612 -10.0068 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4199 -9.0409 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3859 -8.7821 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8398 -7.8910 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8276 -8.0474 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3859 -7.0000 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8398 -6.1090 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3859 -5.2179 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4199 -4.9591 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1612 -3.9932 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8682 -3.2862 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8341 -3.5449 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0929 -4.5109 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.9840 -4.9648 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8276 -5.9526 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 11.8750 -4.5109 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7660 -4.9648 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.9224 -5.9526 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 13.6571 -4.5109 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0\n 2 3 1 0 0 0\n 3 4 2 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 7 2 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 2 0 0 0\n 10 11 1 0 0 0\n 11 12 2 0 0 0\n 12 13 1 0 0 0\n 13 14 2 0 0 0\n 9 14 1 0 0 0\n 14 15 1 0 0 0\n 15 16 1 0 0 0\n 8 16 2 0 0 0\n 15 17 2 0 0 0\n 17 18 1 0 0 0\n 18 19 2 0 0 0\n 19 20 1 0 0 0\n 20 21 2 0 0 0\n 21 22 1 0 0 0\n 22 23 2 0 0 0\n 23 24 1 0 0 0\n 19 24 1 0 0 0\n 24 25 2 0 0 0\n 25 26 1 0 0 0\n 18 26 1 0 0 0\n 25 27 1 0 0 0\n 27 28 2 0 0 0\n 28 29 1 0 0 0\n 29 30 2 0 0 0\n 30 31 1 0 0 0\n 31 32 2 0 0 0\n 32 33 1 0 0 0\n 33 34 2 0 0 0\n 29 34 1 0 0 0\n 34 35 1 0 0 0\n 35 36 2 0 0 0\n 28 36 1 0 0 0\n 35 37 1 0 0 0\n 37 38 2 0 0 0\n 38 39 1 0 0 0\n 6 39 1 0 0 0\n 38 40 1 0 0 0\n 1 40 1 0 0 0\n 5 40 2 0 0 0\nM END\n> \nAromatics\n\n> \n1\n\n> \n1\n\n$$$$\nC60\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 60 90 0 0 0 999 V2000\n 10.6305 -3.5766 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4365 -3.9614 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8444 -4.3823 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4219 -5.1354 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5101 -5.4043 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5398 -3.0034 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.6243 -3.2605 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.6091 -4.4876 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.2501 -2.8842 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0714 -2.0421 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6279 -4.0284 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.2354 -2.3806 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7973 -2.0263 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4171 -1.3344 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9548 -0.9954 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.1712 -1.3489 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.7491 -4.8573 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3544 -3.6615 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8607 -5.0368 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0881 -2.6967 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1915 -1.7391 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6908 -3.7124 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.7895 -2.7961 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.5564 -1.7875 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.2017 -6.7691 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0400 -6.5817 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6031 -6.0138 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3296 -5.6469 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6757 -4.9394 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1284 -6.8511 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.5026 -6.1740 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.7601 -5.1971 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6003 -5.9775 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.1810 -6.7670 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8290 -5.6093 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0080 -7.1540 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.3450 -7.2046 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7432 -6.4127 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.1088 -6.4611 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8830 -6.8658 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.6700 -4.6243 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0651 -5.8201 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.2290 -6.1582 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.4556 -3.8184 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.6990 -2.2230 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.8777 -3.0652 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.8635 -4.2395 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.4704 -2.5910 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0974 -1.4308 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.2911 -1.0460 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1183 -1.4334 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6963 -2.1861 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.5507 -3.3420 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.9700 -2.5526 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.2594 -1.6179 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4391 -3.1629 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0504 -5.3159 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.2122 -5.5032 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.9459 -4.5380 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6724 -4.1718 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0\n 1 3 1 0 0 0\n 1 12 1 0 0 0\n 2 4 1 0 0 0\n 2 6 1 0 0 0\n 3 11 2 0 0 0\n 3 35 1 0 0 0\n 4 5 2 0 0 0\n 4 33 1 0 0 0\n 5 8 1 0 0 0\n 5 38 1 0 0 0\n 6 7 2 0 0 0\n 6 13 1 0 0 0\n 7 8 1 0 0 0\n 7 54 1 0 0 0\n 8 59 2 0 0 0\n 9 10 2 0 0 0\n 9 11 1 0 0 0\n 9 20 1 0 0 0\n 10 12 1 0 0 0\n 10 14 1 0 0 0\n 11 19 1 0 0 0\n 12 13 2 0 0 0\n 13 16 1 0 0 0\n 14 15 2 0 0 0\n 14 21 1 0 0 0\n 15 16 1 0 0 0\n 15 50 1 0 0 0\n 16 55 2 0 0 0\n 17 18 1 0 0 0\n 17 19 2 0 0 0\n 17 28 1 0 0 0\n 18 20 2 0 0 0\n 18 22 1 0 0 0\n 19 27 1 0 0 0\n 20 21 1 0 0 0\n 21 24 2 0 0 0\n 22 23 2 0 0 0\n 22 29 1 0 0 0\n 23 24 1 0 0 0\n 23 46 1 0 0 0\n 24 51 1 0 0 0\n 25 26 1 0 0 0\n 25 27 2 0 0 0\n 25 36 1 0 0 0\n 26 28 2 0 0 0\n 26 30 1 0 0 0\n 27 35 1 0 0 0\n 28 29 1 0 0 0\n 29 32 2 0 0 0\n 30 31 2 0 0 0\n 30 37 1 0 0 0\n 31 32 1 0 0 0\n 31 42 1 0 0 0\n 32 47 1 0 0 0\n 33 34 1 0 0 0\n 33 35 2 0 0 0\n 34 36 2 0 0 0\n 34 38 1 0 0 0\n 36 37 1 0 0 0\n 37 40 2 0 0 0\n 38 39 2 0 0 0\n 39 40 1 0 0 0\n 39 58 1 0 0 0\n 40 43 1 0 0 0\n 41 42 1 0 0 0\n 41 44 2 0 0 0\n 41 47 1 0 0 0\n 42 43 2 0 0 0\n 43 57 1 0 0 0\n 44 48 1 0 0 0\n 44 60 1 0 0 0\n 45 46 1 0 0 0\n 45 48 2 0 0 0\n 45 51 1 0 0 0\n 46 47 2 0 0 0\n 48 52 1 0 0 0\n 49 50 1 0 0 0\n 49 52 2 0 0 0\n 49 55 1 0 0 0\n 50 51 2 0 0 0\n 52 56 1 0 0 0\n 53 54 2 0 0 0\n 53 56 1 0 0 0\n 53 59 1 0 0 0\n 54 55 1 0 0 0\n 56 60 2 0 0 0\n 57 58 2 0 0 0\n 57 60 1 0 0 0\n 58 59 1 0 0 0\nM END\n> \nAromatics\n\n$$$$\nC80\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 80120 0 0 0 999 V2000\n 11.8140 -5.2993 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5730 -4.2259 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3980 -3.2721 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.3673 -3.9462 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8724 -5.9964 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8224 -5.9256 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.6539 -5.6501 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4150 -4.6554 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9660 -2.7352 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7771 -1.7740 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.0084 -2.0576 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.3368 -0.7391 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7715 -2.6933 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.5128 -1.9058 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.3575 -1.6935 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.1355 -0.7057 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8558 -5.1625 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6671 -4.0943 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4256 -3.8831 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1773 -3.0904 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.0790 -0.0605 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.2783 -0.3987 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7476 -1.3746 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7551 -0.1728 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.3396 0.4001 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9755 0.3491 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7881 0.5260 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.0200 0.2821 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.5229 -1.1994 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.3638 -0.2680 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.1415 -0.0029 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7930 -0.0365 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.6051 -0.9634 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.0017 -1.9995 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.6029 -2.1723 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.2792 -3.0366 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.3934 -0.9879 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.8243 -2.2661 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.5823 -2.0565 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.0719 -3.0611 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.3761 -0.1533 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5941 -0.4991 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.4269 -0.2243 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.8338 -1.4933 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.0674 -4.1953 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.5676 -4.3667 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.3874 -3.3401 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7983 -5.3625 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.7257 -4.9518 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.1077 -6.1472 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.8850 -5.8828 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.4555 -6.1137 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.4785 -3.4557 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.8925 -4.4562 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.7361 -4.2450 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.1144 -5.4440 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.9102 -6.5496 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4615 -6.6760 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.2725 -6.4989 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2295 -6.4327 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.1717 -6.0891 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5034 -4.7749 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9729 -5.7514 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4956 -5.9777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.2845 -3.4130 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2423 -4.0913 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4737 -4.3745 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.9139 -5.4101 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4340 -0.8503 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8516 -2.8767 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.6760 -1.9226 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8824 -2.2021 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1818 -1.9562 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8621 -2.8099 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6814 -1.7840 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4502 -0.7879 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6453 -5.1876 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6473 -3.9782 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.2489 -4.1516 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.9708 -3.1150 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0\n 1 5 1 0 0 0\n 1 48 1 0 0 0\n 2 3 1 0 0 0\n 2 4 1 0 0 0\n 3 11 2 0 0 0\n 3 47 1 0 0 0\n 4 8 2 0 0 0\n 4 9 1 0 0 0\n 5 7 2 0 0 0\n 5 59 1 0 0 0\n 6 7 1 0 0 0\n 6 17 2 0 0 0\n 6 60 1 0 0 0\n 7 8 1 0 0 0\n 8 19 1 0 0 0\n 9 10 2 0 0 0\n 9 13 1 0 0 0\n 10 11 1 0 0 0\n 10 12 1 0 0 0\n 11 23 1 0 0 0\n 12 16 2 0 0 0\n 12 21 1 0 0 0\n 13 15 2 0 0 0\n 13 19 1 0 0 0\n 14 15 1 0 0 0\n 14 20 2 0 0 0\n 14 29 1 0 0 0\n 15 16 1 0 0 0\n 16 31 1 0 0 0\n 17 18 1 0 0 0\n 17 77 1 0 0 0\n 18 19 2 0 0 0\n 18 20 1 0 0 0\n 20 80 1 0 0 0\n 21 22 2 0 0 0\n 21 25 1 0 0 0\n 22 23 1 0 0 0\n 22 24 1 0 0 0\n 23 35 2 0 0 0\n 24 28 2 0 0 0\n 24 33 1 0 0 0\n 25 27 1 0 0 0\n 25 31 2 0 0 0\n 26 27 2 0 0 0\n 26 32 1 0 0 0\n 26 41 1 0 0 0\n 27 28 1 0 0 0\n 28 43 1 0 0 0\n 29 30 2 0 0 0\n 29 73 1 0 0 0\n 30 31 1 0 0 0\n 30 32 1 0 0 0\n 32 76 2 0 0 0\n 33 34 2 0 0 0\n 33 37 1 0 0 0\n 34 35 1 0 0 0\n 34 36 1 0 0 0\n 35 47 1 0 0 0\n 36 40 1 0 0 0\n 36 45 2 0 0 0\n 37 39 2 0 0 0\n 37 43 1 0 0 0\n 38 39 1 0 0 0\n 38 44 2 0 0 0\n 38 53 1 0 0 0\n 39 40 1 0 0 0\n 40 55 2 0 0 0\n 41 42 1 0 0 0\n 41 69 2 0 0 0\n 42 43 2 0 0 0\n 42 44 1 0 0 0\n 44 72 1 0 0 0\n 45 46 1 0 0 0\n 45 49 1 0 0 0\n 46 47 2 0 0 0\n 46 48 1 0 0 0\n 48 52 2 0 0 0\n 49 51 2 0 0 0\n 49 55 1 0 0 0\n 50 51 1 0 0 0\n 50 56 1 0 0 0\n 50 57 2 0 0 0\n 51 52 1 0 0 0\n 52 59 1 0 0 0\n 53 54 2 0 0 0\n 53 65 1 0 0 0\n 54 55 1 0 0 0\n 54 56 1 0 0 0\n 56 68 2 0 0 0\n 57 58 1 0 0 0\n 57 61 1 0 0 0\n 58 59 2 0 0 0\n 58 60 1 0 0 0\n 60 64 2 0 0 0\n 61 63 2 0 0 0\n 61 68 1 0 0 0\n 62 63 1 0 0 0\n 62 66 1 0 0 0\n 62 78 2 0 0 0\n 63 64 1 0 0 0\n 64 77 1 0 0 0\n 65 67 2 0 0 0\n 65 72 1 0 0 0\n 66 67 1 0 0 0\n 66 70 2 0 0 0\n 67 68 1 0 0 0\n 69 71 1 0 0 0\n 69 76 1 0 0 0\n 70 71 1 0 0 0\n 70 74 1 0 0 0\n 71 72 2 0 0 0\n 73 75 1 0 0 0\n 73 80 2 0 0 0\n 74 75 2 0 0 0\n 74 78 1 0 0 0\n 75 76 1 0 0 0\n 77 79 2 0 0 0\n 78 79 1 0 0 0\n 79 80 1 0 0 0\nM END\n> \nAromatics\n\n$$$$\nbeta-D-Allopyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 12 0 1 0 999 V2000\n -1.8119 2.6861 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.8119 1.2770 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.1792 0.5702 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.5466 1.2769 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.1834 2.6861 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.1462 2.2395 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.4956 2.3411 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.4956 1.6261 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.1834 1.2769 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8670 1.6260 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8670 2.3410 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.5466 2.6860 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6 12 1 0 0 0\n 11 5 1 0 0 0\n 5 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 10 11 1 0 0 0\n 11 12 1 1 0 0\n 7 1 1 1 0 0\n 8 2 1 6 0 0\n 9 3 1 6 0 0\n 10 4 1 6 0 0\nM END\n> \nbeta-D-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nbeta-D-Altropyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 12 0 1 0 999 V2000\n -0.9910 2.2903 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -0.9910 0.7936 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.2875 0.0452 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.5799 0.7935 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.2834 2.2903 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1462 1.8062 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.6372 1.9161 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.6372 1.1678 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.2834 0.7935 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.9337 1.1677 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.9337 1.9160 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.5799 2.2902 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6 12 1 0 0 0\n 11 5 1 0 0 0\n 5 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 10 11 1 0 0 0\n 11 12 1 1 0 0\n 7 1 1 1 0 0\n 8 2 1 1 0 0\n 9 3 1 6 0 0\n 10 4 1 6 0 0\nM END\n> \nbeta-D-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nbeta-D-Arabinofuranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 10 0 1 0 999 V2000\n -1.4482 2.3917 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.9421 0.8559 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.5781 0.8530 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.7753 2.6122 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.5387 1.7980 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.1593 2.1595 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.3822 1.4591 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.1394 1.4591 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.3816 2.1706 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.0881 2.3955 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9 4 1 0 0 0\n 9 8 1 0 0 0\n 4 6 1 0 0 0\n 8 7 1 0 0 0\n 6 7 1 0 0 0\n 9 10 1 1 0 0\n 10 5 1 0 0 0\n 6 1 1 1 0 0\n 7 2 1 1 0 0\n 8 3 1 6 0 0\nM END\n> \nbeta-D-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nbeta-D-Arabinopyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 10 0 1 0 999 V2000\n 15.5611 -5.2999 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.5611 -7.3001 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.8228 -8.3002 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.0958 -7.3001 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.8228 -5.2999 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.6920 -5.8000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.6920 -6.7999 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.8228 -7.3001 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.9648 -6.7999 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.9648 -5.8000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5 10 1 0 0 0\n 10 9 1 0 0 0\n 9 8 1 0 0 0\n 8 7 1 0 0 0\n 7 6 1 0 0 0\n 6 5 1 0 0 0\n 6 1 1 1 0 0\n 7 2 1 1 0 0\n 8 3 1 6 0 0\n 9 4 1 6 0 0\nM END\n> \nbeta-D-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nbeta-D-Erythrofuranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 8 8 0 1 0 999 V2000\n -2.3742 2.6418 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8682 1.1059 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.4960 1.1030 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7013 2.8623 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.0854 2.4096 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.3125 1.7091 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.0613 1.7091 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.3035 2.4207 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8 4 1 0 0 0\n 8 7 1 0 0 0\n 4 5 1 0 0 0\n 7 6 1 0 0 0\n 5 6 1 0 0 0\n 5 1 1 1 0 0\n 6 2 1 6 0 0\n 7 3 1 6 0 0\nM END\n> \nbeta-D-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nbeta-D-Fructofuranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 12 0 1 0 999 V2000\n -1.6256 2.7205 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.1524 2.2530 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6198 1.1954 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.2536 1.1925 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4559 2.9509 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.2256 2.1362 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.3100 3.0369 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8350 2.5007 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.0608 1.8040 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8182 1.8040 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.0592 2.5117 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7755 2.7384 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11 5 1 0 0 0\n 11 10 1 0 0 0\n 5 8 1 0 0 0\n 10 9 1 0 0 0\n 8 9 1 0 0 0\n 8 7 1 0 0 0\n 7 1 1 0 0 0\n 11 12 1 1 0 0\n 12 6 1 0 0 0\n 10 4 1 6 0 0\n 9 3 1 1 0 0\n 8 2 1 1 0 0\nM END\n> \nbeta-D-Sugars\n\n> \n1\n\n> \n0\n\n$$$$\nbeta-D-Galactopyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 12 0 1 0 999 V2000\n -1.5577 2.5236 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.5577 1.0270 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8542 0.2785 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1466 1.0269 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8543 2.5236 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7171 2.0395 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.2039 2.1495 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.2039 1.4011 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8543 1.0269 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.5004 1.4010 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.5004 2.1494 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1466 2.5235 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6 12 1 0 0 0\n 11 5 1 0 0 0\n 5 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 10 11 1 0 0 0\n 11 12 1 1 0 0\n 7 1 1 1 0 0\n 8 2 1 6 0 0\n 9 3 1 1 0 0\n 10 4 1 1 0 0\nM END\n> \nbeta-D-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nbeta-D-Glucopyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 12 0 1 0 999 V2000\n -2.1744 2.8153 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.1744 1.3186 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4708 0.5702 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7632 1.3185 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4709 2.8153 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.3337 2.3312 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8206 2.4411 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8206 1.6928 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4709 1.3185 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1170 1.6927 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1170 2.4410 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7632 2.8152 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6 12 1 0 0 0\n 11 5 1 0 0 0\n 5 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 10 11 1 0 0 0\n 11 12 1 1 0 0\n 7 1 1 1 0 0\n 8 2 1 6 0 0\n 9 3 1 1 0 0\n 10 4 1 6 0 0\nM END\n> \nbeta-D-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nbeta-D-Gulopyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 12 0 1 0 999 V2000\n -2.1119 2.8570 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.1119 1.3603 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4083 0.6119 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7007 1.3602 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4084 2.8570 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.2712 2.3728 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.7581 2.4828 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.7581 1.7345 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4084 1.3602 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.0545 1.7344 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.0545 2.4827 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7007 2.8569 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6 12 1 0 0 0\n 11 5 1 0 0 0\n 5 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 10 11 1 0 0 0\n 11 12 1 1 0 0\n 7 1 1 1 0 0\n 8 2 1 6 0 0\n 9 3 1 6 0 0\n 10 4 1 1 0 0\nM END\n> \nbeta-D-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nbeta-D-Idopyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 12 0 1 0 999 V2000\n -1.9244 2.7736 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.9244 1.2770 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.2208 0.5285 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.5132 1.2769 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.2209 2.7736 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.0837 2.2895 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.5706 2.3995 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.5706 1.6511 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.2209 1.2769 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8670 1.6510 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8670 2.3994 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.5132 2.7735 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6 12 1 0 0 0\n 11 5 1 0 0 0\n 5 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 10 11 1 0 0 0\n 11 12 1 1 0 0\n 7 1 1 1 0 0\n 8 2 1 1 0 0\n 9 3 1 6 0 0\n 10 4 1 1 0 0\nM END\n> \nbeta-D-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nbeta-D-Lyxofuranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 10 0 1 0 999 V2000\n -2.1148 2.9334 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6088 1.3976 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.2406 1.3947 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4419 3.1538 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.2054 2.3397 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8260 2.7012 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.0531 2.0007 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8102 2.0007 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.0483 2.7122 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7589 2.9371 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9 4 1 0 0 0\n 9 8 1 0 0 0\n 4 6 1 0 0 0\n 8 7 1 0 0 0\n 6 7 1 0 0 0\n 9 10 1 1 0 0\n 10 5 1 0 0 0\n 6 1 1 1 0 0\n 7 2 1 1 0 0\n 8 3 1 1 0 0\nM END\n> \nbeta-D-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nbeta-D-Lyxopyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 10 0 1 0 999 V2000\n -2.4513 2.8153 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.4513 1.3186 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7520 0.5702 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.0444 1.3185 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7521 2.8153 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.1017 2.4411 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.1017 1.6928 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7521 1.3185 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.3940 1.6927 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.3940 2.4410 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10 5 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 6 1 1 1 0 0\n 7 2 1 1 0 0\n 8 3 1 1 0 0\n 9 4 1 6 0 0\nM END\n> \nbeta-D-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nbeta-D-Mannopyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 12 0 1 0 999 V2000\n -2.1577 2.8570 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.1577 1.3603 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4542 0.6119 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7466 1.3602 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4543 2.8570 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.3171 2.3728 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8039 2.4828 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8039 1.7345 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4543 1.3602 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1004 1.7344 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1004 2.4827 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7466 2.8569 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6 12 1 0 0 0\n 11 5 1 0 0 0\n 5 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 10 11 1 0 0 0\n 11 12 1 1 0 0\n 7 1 1 1 0 0\n 8 2 1 1 0 0\n 9 3 1 1 0 0\n 10 4 1 6 0 0\nM END\n> \nbeta-D-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nbeta-D-Psicofuranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 12 0 1 0 999 V2000\n 14.8241 -7.1535 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.1260 -7.7777 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.4964 -9.1900 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 11.3201 -9.1940 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3854 -6.8457 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0166 -7.9337 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.9157 -6.7310 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2090 -7.4469 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.9075 -8.3829 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.8961 -8.3829 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5799 -7.4322 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6232 -7.1295 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11 5 1 0 0 0\n 11 10 1 0 0 0\n 5 8 1 0 0 0\n 10 9 1 0 0 0\n 8 9 1 0 0 0\n 8 7 1 6 0 0\n 7 1 1 0 0 0\n 11 12 1 1 0 0\n 12 6 1 0 0 0\n 10 4 1 6 0 0\n 9 3 1 6 0 0\n 8 2 1 1 0 0\nM END\n> \nbeta-D-Sugars\n\n> \n1\n\n> \n0\n\n$$$$\nbeta-D-Ribofuranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 10 0 1 0 999 V2000\n -1.8940 2.7251 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.3879 1.1893 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.0198 1.1863 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.2211 2.9455 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.9845 2.1313 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6051 2.4928 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8322 1.7924 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.5894 1.7924 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8274 2.5039 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.5381 2.7288 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9 4 1 0 0 0\n 9 8 1 0 0 0\n 4 6 1 0 0 0\n 8 7 1 0 0 0\n 6 7 1 0 0 0\n 9 10 1 1 0 0\n 10 5 1 0 0 0\n 6 1 1 1 0 0\n 7 2 1 6 0 0\n 8 3 1 6 0 0\nM END\n> \nbeta-D-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nbeta-D-Ribopyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 10 0 1 0 999 V2000\n -2.1138 2.8570 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.1138 1.3603 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4145 0.6119 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7069 1.3602 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4146 2.8570 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.7642 2.4828 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.7642 1.7345 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4146 1.3602 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.0565 1.7344 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.0565 2.4827 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10 5 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 6 1 1 1 0 0\n 7 2 1 6 0 0\n 8 3 1 6 0 0\n 9 4 1 6 0 0\nM END\n> \nbeta-D-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nbeta-D-Sorbofuranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 12 0 1 0 999 V2000\n -1.6290 2.6125 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.1517 2.1450 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6232 1.0874 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.2529 1.0845 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4552 2.8429 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.2290 2.0282 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.3092 2.9289 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8384 2.3927 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.0642 1.6918 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8216 1.6918 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.0626 2.4037 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7789 2.6304 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11 5 1 0 0 0\n 11 10 1 0 0 0\n 5 8 1 0 0 0\n 10 9 1 0 0 0\n 8 9 1 0 0 0\n 8 7 1 0 0 0\n 7 1 1 0 0 0\n 11 12 1 1 0 0\n 12 6 1 0 0 0\n 10 4 1 1 0 0\n 9 3 1 6 0 0\n 8 2 1 1 0 0\nM END\n> \nbeta-D-Sugars\n\n> \n1\n\n> \n0\n\n$$$$\nbeta-D-Tagatofuranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 12 0 1 0 999 V2000\n -1.3790 2.4875 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.9017 2.0200 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.3732 0.9624 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.0029 0.9595 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.2052 2.7179 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.9790 1.9032 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.0592 2.8039 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.5884 2.2677 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8142 1.5668 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.5716 1.5668 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8126 2.2787 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.5289 2.5054 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11 5 1 0 0 0\n 11 10 1 0 0 0\n 5 8 1 0 0 0\n 10 9 1 0 0 0\n 8 9 1 0 0 0\n 8 7 1 0 0 0\n 7 1 1 0 0 0\n 11 12 1 1 0 0\n 12 6 1 0 0 0\n 10 4 1 1 0 0\n 9 3 1 1 0 0\n 8 2 1 1 0 0\nM END\n> \nbeta-D-Sugars\n\n> \n1\n\n> \n0\n\n$$$$\nbeta-D-Talopyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 12 0 1 0 999 V2000\n -1.9910 2.9403 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.9910 1.4436 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.2875 0.6952 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.5799 1.4435 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.2834 2.9403 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.1462 2.4562 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6372 2.5661 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6372 1.8178 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.2834 1.4435 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.9337 1.8177 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.9337 2.5660 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.5799 2.9402 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6 12 1 0 0 0\n 11 5 1 0 0 0\n 5 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 10 11 1 0 0 0\n 11 12 1 1 0 0\n 7 1 1 1 0 0\n 8 2 1 1 0 0\n 9 3 1 1 0 0\n 10 4 1 1 0 0\nM END\n> \nbeta-D-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nbeta-D-Threofuranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 8 8 0 1 0 999 V2000\n -2.8117 2.6835 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.3057 1.1476 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.9335 1.1447 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1388 2.9039 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.5229 2.4513 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7458 1.7507 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.5029 1.7507 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7410 2.4623 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8 4 1 0 0 0\n 8 7 1 0 0 0\n 4 5 1 0 0 0\n 7 6 1 0 0 0\n 5 6 1 0 0 0\n 5 1 1 1 0 0\n 6 2 1 1 0 0\n 7 3 1 6 0 0\nM END\n> \nbeta-D-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nbeta-D-Xylofuranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 10 0 1 0 999 V2000\n -2.1648 2.8084 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6588 1.2726 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.2948 1.2697 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4919 3.0288 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.2554 2.2147 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8760 2.5762 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.0989 1.8757 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8560 1.8757 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.0983 2.5872 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.8048 2.8121 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9 4 1 0 0 0\n 9 8 1 0 0 0\n 4 6 1 0 0 0\n 8 7 1 0 0 0\n 6 7 1 0 0 0\n 9 10 1 1 0 0\n 10 5 1 0 0 0\n 6 1 1 1 0 0\n 7 2 1 6 0 0\n 8 3 1 1 0 0\nM END\n> \nbeta-D-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nbeta-D-Xylopyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 10 0 1 0 999 V2000\n -2.5429 3.0236 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.5429 1.5270 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8396 0.7785 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.1360 1.5270 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8396 3.0236 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.1934 2.6495 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.1934 1.9012 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8396 1.5270 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.4899 1.9012 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.4899 2.6495 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5 10 1 0 0 0\n 10 9 1 0 0 0\n 9 8 1 0 0 0\n 8 7 1 0 0 0\n 7 6 1 0 0 0\n 6 5 1 0 0 0\n 6 1 1 1 0 0\n 7 2 1 6 0 0\n 8 3 1 1 0 0\n 9 4 1 6 0 0\nM END\n> \nbeta-D-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nBicyclo[1-1-1]pentane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 5 6 0 0 0 999 V2000\n 9.8610 -7.2250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4888 -6.4956 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.5708 -7.8431 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8036 -8.0042 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9790 -7.8371 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 3 1 0 0 0\n 4 5 1 0 0 0\n 1 5 1 0 0 0\n 4 3 1 0 0 0\n 2 4 1 0 0 0\nM END\n> \nBicycles\n\n> \n2\n\n> \n1\n\n$$$$\nBicyclo[2-1-1]hexane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 6 7 0 0 0 999 V2000\n 9.7097 -6.3707 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3181 -5.6035 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4180 -6.7620 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.6494 -7.1903 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7820 -7.0146 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4069 -7.5965 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 3 1 0 0 0\n 3 6 1 0 0 0\n 4 5 1 0 0 0\n 4 6 1 0 0 0\n 1 5 1 0 0 0\n 2 4 1 0 0 0\nM END\n> \nBicycles\n\n> \n5\n\n> \n2\n\n$$$$\nBicyclo[2-2-1]heptane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 7 8 0 0 0 999 V2000\n 8.4502 -7.5691 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8558 -6.8358 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5667 -6.3361 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3112 -7.1358 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3890 -5.4309 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4498 -6.8526 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.1221 -7.5469 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 1 4 1 0 0 0\n 4 5 1 0 0 0\n 5 3 1 0 0 0\n 3 6 1 0 0 0\n 6 7 1 0 0 0\n 7 4 1 0 0 0\nM END\n> \nBicycles\n\n> \n6\n\n> \n6\n\n$$$$\nBicyclo[3-1-1]heptane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 7 8 0 0 0 999 V2000\n 8.2782 -1.8550 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5291 -2.7952 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9238 -2.2925 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.7847 -2.2925 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6209 -1.3393 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3670 -1.8368 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6898 -3.1107 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 1 0 0 0\n 4 5 1 0 0 0\n 5 1 1 0 0 0\n 1 6 1 0 0 0\n 6 2 1 0 0 0\n 1 7 1 0 0 0\n 7 4 1 0 0 0\n 4 3 1 0 0 0\nM END\n> \nBicycles\n\n> \n1\n\n> \n0\n\n$$$$\nBicyclo[2-2-2]octane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 8 9 0 0 0 999 V2000\n 10.8583 -6.6275 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9678 -6.2148 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6767 -5.7197 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9692 -6.6418 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.1340 -4.9791 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7980 -5.3243 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8417 -5.7430 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8429 -4.2582 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 3 1 0 0 0\n 2 4 1 0 0 0\n 3 6 1 0 0 0\n 4 7 1 0 0 0\n 5 8 1 0 0 0\n 6 7 1 0 0 0\n 6 8 1 0 0 0\n 5 2 1 0 0 0\nM END\n> \nBicycles\n\n> \n1\n\n> \n1\n\n$$$$\nBicyclo[3-2-1]octane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 8 9 0 0 0 999 V2000\n 9.0974 -5.5533 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4087 -6.5388 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7744 -6.0120 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5802 -6.0120 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4086 -5.0127 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.2389 -5.5343 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.9413 -6.8873 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7036 -6.4241 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 1 0 0 0\n 4 5 1 0 0 0\n 5 1 1 0 0 0\n 1 6 1 0 0 0\n 6 2 1 0 0 0\n 4 7 1 0 0 0\n 1 8 1 0 0 0\n 7 8 1 0 0 0\n 4 3 1 0 0 0\nM END\n> \nBicycles\n\n> \n1\n\n> \n7\n\n$$$$\nBicyclo[4-1-1]octane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 8 9 0 0 0 999 V2000\n 9.6925 -6.1684 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0458 -6.6931 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3397 -7.0141 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.2905 -6.8428 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.9462 -6.3329 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7017 -6.0039 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.0038 -6.7634 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8230 -5.2859 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 1 1 0 0 0\n 7 2 1 0 0 0\n 8 1 1 0 0 0\n 1 7 1 0 0 0\n 8 2 1 0 0 0\nM END\n> \nBicycles\n\n> \n6\n\n> \n2\n\n$$$$\nBicyclo[4-1-1]octane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 8 9 0 0 0 999 V2000\n 10.2044 -7.1593 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.5546 -7.6794 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4884 -7.4862 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8148 -7.8278 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4736 -7.3223 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2224 -6.9962 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.3764 -8.1154 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.3337 -6.2846 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 1 1 0 0 0\n 7 2 1 0 0 0\n 8 1 1 0 0 0\n 1 7 1 0 0 0\n 8 2 1 0 0 0\nM END\n> \nBicycles\n\n> \n6\n\n> \n2\n\n$$$$\nBicyclo[3-2-2]nonane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 9 10 0 0 0 999 V2000\n 8.9873 -5.7688 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9396 -4.7775 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9753 -6.2042 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.0774 -6.2609 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5071 -5.5836 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.2317 -7.2365 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8683 -7.2725 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5608 -6.7770 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5275 -6.7292 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 3 1 0 0 0\n 1 4 1 0 0 0\n 2 5 1 0 0 0\n 3 6 1 0 0 0\n 4 7 1 0 0 0\n 5 8 1 0 0 0\n 6 9 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\nM END\n> \nBicycles\n\n> \n5\n\n> \n5\n\n$$$$\nBicyclo[3-3-1]nonane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 9 10 0 0 0 999 V2000\n 8.9718 -5.4180 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8721 -5.4189 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4727 -5.8579 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5289 -7.0388 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5522 -7.2536 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0453 -6.5586 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.7203 -6.3784 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.3240 -5.8707 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.6297 -4.8964 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 1 6 1 0 0 0\n 7 8 1 0 0 0\n 8 3 1 0 0 0\n 3 9 1 0 0 0\n 9 1 1 0 0 0\n 1 2 1 0 0 0\n 2 7 1 0 0 0\nM END\n> \nBicycles\n\n> \n4\n\n> \n1\n\n$$$$\nBicyclo[4-2-1]nonane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 9 10 0 0 0 999 V2000\n 9.1712 -6.4644 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1464 -6.2056 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8839 -5.6171 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6571 -5.2966 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.6761 -5.5501 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9410 -6.1453 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.9661 -6.6742 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7138 -6.0100 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9410 -4.5758 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 6 1 1 0 0 0\n 6 7 1 0 0 0\n 8 5 1 0 0 0\n 6 9 1 0 0 0\n 9 5 1 0 0 0\n 8 7 1 0 0 0\nM END\n> \nBicycles\n\n> \n6\n\n> \n9\n\n$$$$\nBicyclo[4-2-1]nonane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 9 10 0 0 0 999 V2000\n 9.8115 -5.9359 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9067 -6.2317 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8460 -5.6949 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.6107 -5.3780 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6184 -5.6284 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8802 -6.2172 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.7040 -6.8849 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.6444 -6.0834 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8802 -4.6651 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 6 1 1 0 0 0\n 6 7 1 0 0 0\n 8 5 1 0 0 0\n 6 9 1 0 0 0\n 9 5 1 0 0 0\n 8 7 1 0 0 0\nM END\n> \nBicycles\n\n> \n6\n\n> \n9\n\n$$$$\nBicyclo[4-2-1]nonane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 9 10 0 0 0 999 V2000\n 7.9553 -6.4806 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1245 -6.2042 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.8626 -5.6172 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8073 -5.9269 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6505 -5.5501 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9147 -6.1439 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9374 -6.6716 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.6857 -6.0091 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8236 -4.5784 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 6 1 1 0 0 0\n 6 7 1 0 0 0\n 8 5 1 0 0 0\n 9 5 1 0 0 0\n 8 7 1 0 0 0\n 9 6 1 0 0 0\nM END\n> \nBicycles\n\n> \n6\n\n> \n8\n\n$$$$\nBicyclo[5-1-1]nonane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 9 10 0 0 0 999 V2000\n 7.7834 -6.8950 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6536 -6.5515 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4441 -5.9761 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.1897 -5.5634 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.3360 -5.6252 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.0166 -6.1147 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7177 -6.6607 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.6682 -6.8540 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6683 -5.1050 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 3 1 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 7 8 1 0 0 0\n 8 2 1 0 0 0\n 3 9 1 0 0 0\n 2 9 1 0 0 0\nM END\n> \nBicycles\n\n> \n5\n\n> \n4\n\n$$$$\nBicyclo[3-3-2]decane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 11 0 0 0 999 V2000\n 9.6949 -6.5741 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.6532 -5.5821 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6838 -7.0051 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8949 -7.0566 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2198 -6.3853 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.9375 -8.0267 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5821 -8.0679 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2787 -7.5720 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.2352 -7.5305 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.0125 -6.9260 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 3 1 0 0 0\n 1 4 1 0 0 0\n 2 5 1 0 0 0\n 3 6 1 0 0 0\n 5 8 1 0 0 0\n 6 9 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 4 10 1 0 0 0\n 10 7 1 0 0 0\nM END\n> \nBicycles\n\n> \n5\n\n> \n4\n\n$$$$\nBicyclo[4-2-2]decane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 11 0 0 0 999 V2000\n 8.8472 -8.1683 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.7259 -7.8853 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.4386 -7.2412 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.2848 -6.8907 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3998 -7.1679 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.6896 -7.8192 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8114 -8.3980 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.5351 -7.6712 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5895 -6.1020 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8736 -6.6884 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 6 1 1 0 0 0\n 6 7 1 0 0 0\n 8 5 1 0 0 0\n 9 5 1 0 0 0\n 8 7 1 0 0 0\n 10 6 1 0 0 0\n 9 10 1 0 0 0\nM END\n> \nBicycles\n\n> \n6\n\n> \n8\n\n$$$$\nBicyclo[4-2-2]decane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 11 0 0 0 999 V2000\n 8.7142 -6.3595 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8068 -6.0576 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.5207 -5.4164 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5526 -5.7547 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4737 -5.3433 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7622 -5.9919 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8793 -6.5683 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6043 -5.8445 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.6627 -4.2817 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9456 -4.8658 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 6 1 1 0 0 0\n 6 7 1 0 0 0\n 8 5 1 0 0 0\n 9 5 1 0 0 0\n 8 7 1 0 0 0\n 10 6 1 0 0 0\n 9 10 1 0 0 0\nM END\n> \nBicycles\n\n> \n6\n\n> \n8\n\n$$$$\nBicyclo[4-2-2]decane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 11 0 0 0 999 V2000\n 8.8948 -6.4814 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1410 -7.3322 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.0133 -6.5553 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6416 -5.8316 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5699 -5.6380 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8608 -6.2916 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.9867 -6.8724 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7095 -6.1431 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7603 -4.5678 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0456 -5.1566 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 6 1 1 0 0 0\n 6 7 1 0 0 0\n 8 5 1 0 0 0\n 9 5 1 0 0 0\n 8 7 1 0 0 0\n 10 6 1 0 0 0\n 9 10 1 0 0 0\nM END\n> \nBicycles\n\n> \n6\n\n> \n8\n\n$$$$\nBicyclo[4-3-1]decane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 11 0 0 0 999 V2000\n 9.3349 -6.7026 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.2468 -6.4279 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.9681 -5.8030 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7891 -5.4627 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8711 -5.7318 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.1522 -6.3637 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1339 -6.4496 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6912 -5.5405 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0551 -4.6974 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.6319 -5.8781 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 6 1 1 0 0 0\n 6 7 1 0 0 0\n 8 5 1 0 0 0\n 9 5 1 0 0 0\n 9 6 1 0 0 0\n 10 8 1 0 0 0\n 10 7 1 0 0 0\nM END\n> \nBicycles\n\n> \n9\n\n> \n1\n\n$$$$\nBicyclo[4-3-1]decane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 11 0 0 0 999 V2000\n 8.8223 -6.3064 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1166 -6.7735 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8745 -6.1531 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5558 -5.6824 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5492 -5.6698 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8328 -6.3073 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6175 -6.7466 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4940 -5.9863 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7350 -4.6265 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.3255 -5.8175 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 6 1 1 0 0 0\n 6 7 1 0 0 0\n 8 5 1 0 0 0\n 9 5 1 0 0 0\n 9 6 1 0 0 0\n 10 8 1 0 0 0\n 10 7 1 0 0 0\nM END\n> \nBicycles\n\n> \n9\n\n> \n1\n\n$$$$\nBicyclo[4-3-1]decane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 11 0 0 0 999 V2000\n 9.4787 -5.2376 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.3279 -5.2384 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0029 -5.6980 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0617 -6.9339 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0396 -7.1585 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5557 -6.4312 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1589 -6.2125 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8008 -5.7113 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.1673 -4.6915 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6327 -5.7965 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 1 6 1 0 0 0\n 7 8 1 0 0 0\n 8 3 1 0 0 0\n 3 9 1 0 0 0\n 9 1 1 0 0 0\n 1 2 1 0 0 0\n 10 2 1 0 0 0\n 10 7 1 0 0 0\nM END\n> \nBicycles\n\n> \n4\n\n> \n10\n\n$$$$\nBicyclo[4-3-1]decane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 11 0 0 0 999 V2000\n 8.5704 -6.7776 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.0229 -7.5710 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0468 -6.2845 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.2626 -6.2845 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4354 -7.2985 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7455 -6.7578 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6855 -7.0209 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7071 -7.2278 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1753 -5.8290 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0646 -7.3398 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 7 8 1 0 0 0\n 8 3 1 0 0 0\n 3 9 1 0 0 0\n 9 1 1 0 0 0\n 1 2 1 0 0 0\n 10 2 1 0 0 0\n 10 7 1 0 0 0\n 1 6 1 0 0 0\nM END\n> \nBicycles\n\n> \n4\n\n> \n9\n\n$$$$\nBicyclo[5-2-1]decane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 11 0 0 0 999 V2000\n 8.3634 -6.6141 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5495 -7.2830 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5102 -6.9328 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2905 -6.3299 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0719 -5.8974 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.2732 -5.9622 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.9866 -6.4753 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.6733 -7.0474 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.5735 -7.2501 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5254 -5.4170 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 4 1 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 3 1 0 0 0\n 4 10 1 0 0 0\n 3 10 1 0 0 0\nM END\n> \nBicycles\n\n> \n6\n\n> \n0\n\n$$$$\nBicyclo[3-3-3]undecane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 11 12 0 0 0 999 V2000\n 9.9074 -6.3316 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8681 -5.3101 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8403 -6.7380 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.1527 -6.7867 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4592 -6.1534 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.0797 -7.7018 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8576 -7.7405 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5146 -7.2729 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4171 -7.2337 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.3203 -6.6634 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7496 -5.1095 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 3 1 0 0 0\n 1 4 1 0 0 0\n 3 6 1 0 0 0\n 5 8 1 0 0 0\n 6 9 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 4 10 1 0 0 0\n 10 7 1 0 0 0\n 11 5 1 0 0 0\n 11 2 1 0 0 0\nM END\n> \nBicycles\n\n> \n5\n\n> \n3\n\n$$$$\nBicyclo[4-3-2]undecane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 11 12 0 0 0 999 V2000\n 7.6205 -6.7375 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.4403 -6.4395 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1378 -5.7617 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0284 -5.3926 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.2020 -5.6845 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5071 -6.3700 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5718 -6.4630 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0916 -5.4770 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.2122 -4.5625 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.1122 -5.8433 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5429 -5.1375 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 6 1 1 0 0 0\n 6 7 1 0 0 0\n 8 5 1 0 0 0\n 9 5 1 0 0 0\n 10 8 1 0 0 0\n 10 7 1 0 0 0\n 11 6 1 0 0 0\n 11 9 1 0 0 0\nM END\n> \nBicycles\n\n> \n9\n\n> \n1\n\n$$$$\nBicyclo[4-3-2]undecane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 11 12 0 0 0 999 V2000\n 7.3641 -7.3779 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.6057 -7.8800 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3457 -7.2133 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0778 -6.7076 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1454 -6.6940 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4502 -7.3791 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2932 -7.8510 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.1606 -7.0339 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1660 -5.5200 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0543 -6.8526 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5281 -6.1896 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 6 1 1 0 0 0\n 6 7 1 0 0 0\n 8 5 1 0 0 0\n 9 5 1 0 0 0\n 10 8 1 0 0 0\n 10 7 1 0 0 0\n 11 6 1 0 0 0\n 11 9 1 0 0 0\nM END\n> \nBicycles\n\n> \n9\n\n> \n1\n\n$$$$\nBicyclo[4-3-2]undecane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 11 12 0 0 0 999 V2000\n 9.7033 -5.4113 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5086 -5.4122 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.2474 -5.8892 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.3085 -7.1720 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2474 -7.4055 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7831 -6.6503 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.3333 -6.4233 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9996 -5.9031 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4180 -4.8445 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.7872 -5.9914 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.9628 -5.2289 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 1 6 1 0 0 0\n 7 8 1 0 0 0\n 8 3 1 0 0 0\n 9 1 1 0 0 0\n 1 2 1 0 0 0\n 10 2 1 0 0 0\n 10 7 1 0 0 0\n 11 3 1 0 0 0\n 11 9 1 0 0 0\nM END\n> \nBicycles\n\n> \n4\n\n> \n9\n\n$$$$\nBicyclo[4-3-2]undecane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 11 12 0 0 0 999 V2000\n 9.5890 -6.0668 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0222 -6.8881 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0821 -5.5563 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.3408 -5.5563 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5198 -6.6060 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8056 -6.0463 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6729 -6.3187 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7305 -6.5329 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4155 -4.9619 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.0302 -6.6489 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7926 -5.3863 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 7 8 1 0 0 0\n 8 3 1 0 0 0\n 3 9 1 0 0 0\n 1 2 1 0 0 0\n 10 2 1 0 0 0\n 10 7 1 0 0 0\n 11 1 1 0 0 0\n 11 9 1 0 0 0\n 1 6 1 0 0 0\nM END\n> \nBicycles\n\n> \n4\n\n> \n1\n\n$$$$\nBicyclo[4-4-1]undecane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 11 12 0 0 0 999 V2000\n 7.3728 -6.4270 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.5265 -6.7662 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.7360 -7.3257 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.7807 -7.5455 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6269 -7.2115 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4231 -6.6523 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6410 -5.5045 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.3196 -6.5383 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.5235 -7.0976 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.6773 -7.4316 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2693 -6.3129 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 6 1 1 0 0 0\n 6 7 1 0 0 0\n 8 9 1 0 0 0\n 8 11 1 0 0 0\n 10 9 1 0 0 0\n 5 10 1 0 0 0\n 11 6 1 0 0 0\n 7 5 1 0 0 0\nM END\n> \nBicycles\n\n> \n1\n\n> \n1\n\n$$$$\nBicyclo[4-4-1]undecane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 11 12 0 0 0 999 V2000\n 7.9403 -6.9988 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.8374 -6.7539 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0510 -7.3243 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1162 -7.5484 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9789 -7.2079 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7711 -6.6377 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9934 -5.5016 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.5477 -6.6231 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.9126 -7.0916 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0498 -7.4322 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8001 -6.9010 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 6 1 1 0 0 0\n 6 7 1 0 0 0\n 8 9 1 0 0 0\n 8 11 1 0 0 0\n 10 9 1 0 0 0\n 5 10 1 0 0 0\n 11 6 1 0 0 0\n 7 5 1 0 0 0\nM END\n> \nBicycles\n\n> \n1\n\n> \n1\n\n$$$$\nBicyclo[4-4-1]undecane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 11 12 0 0 0 999 V2000\n 8.3680 -5.6420 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.7511 -6.3356 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.9725 -6.9747 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5503 -6.2118 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4446 -5.8588 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2291 -5.2677 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4595 -4.1253 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.0708 -5.2525 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4489 -5.7383 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.5546 -6.0914 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.2957 -5.5407 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 6 1 1 0 0 0\n 6 7 1 0 0 0\n 8 9 1 0 0 0\n 8 11 1 0 0 0\n 10 9 1 0 0 0\n 5 10 1 0 0 0\n 11 6 1 0 0 0\n 7 5 1 0 0 0\nM END\n> \nBicycles\n\n> \n1\n\n> \n1\n\n$$$$\nBicyclo[5-3-1]undecane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 11 12 0 0 0 999 V2000\n 7.4699 -5.4930 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.9044 -6.1137 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8921 -6.6506 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7678 -6.3049 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5569 -5.7261 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3072 -5.3108 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4607 -5.3728 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1456 -5.8656 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8448 -6.4150 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7887 -6.6095 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7825 -4.8494 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 5 1 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 10 4 1 0 0 0\n 5 11 1 0 0 0\n 4 11 1 0 0 0\n 2 1 1 0 0 0\nM END\n> \nBicycles\n\n> \n1\n\n> \n0\n\n$$$$\nBicyclo[4-4-2]dodecane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 13 0 0 0 999 V2000\n 7.9693 -5.3924 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0472 -5.7621 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.2754 -6.3719 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4140 -6.6115 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3360 -6.2475 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.1138 -5.6380 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.1109 -4.4385 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1806 -5.5138 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4028 -6.1232 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4808 -6.4871 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0361 -5.2682 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3405 -4.9653 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 6 1 1 0 0 0\n 6 7 1 0 0 0\n 8 9 1 0 0 0\n 8 11 1 0 0 0\n 10 9 1 0 0 0\n 5 10 1 0 0 0\n 11 6 1 0 0 0\n 12 5 1 0 0 0\n 12 7 1 0 0 0\nM END\n> \nBicycles\n\n> \n1\n\n> \n1\n\n$$$$\nBicyclo[4-4-2]dodecane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 13 0 0 0 999 V2000\n 6.8935 -6.1590 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6766 -5.8888 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.9121 -6.5182 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0877 -6.7655 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.0396 -6.3898 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8103 -5.7606 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8078 -4.6345 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7709 -5.7444 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.1734 -6.2617 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2215 -6.6373 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9457 -6.0513 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.0429 -5.3648 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 6 1 1 0 0 0\n 6 7 1 0 0 0\n 8 9 1 0 0 0\n 8 11 1 0 0 0\n 10 9 1 0 0 0\n 5 10 1 0 0 0\n 11 6 1 0 0 0\n 12 5 1 0 0 0\n 12 7 1 0 0 0\nM END\n> \nBicycles\n\n> \n1\n\n> \n1\n\n$$$$\nBicyclo[4-4-2]dodecane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 13 0 0 0 999 V2000\n 6.5042 -6.4951 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.8305 -7.2527 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.0721 -7.9506 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.7035 -7.1174 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6802 -6.7317 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.4449 -6.0862 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.4449 -4.8994 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4564 -6.0697 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8695 -6.6002 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8927 -6.9858 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6100 -6.3844 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6889 -5.6246 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 6 1 1 0 0 0\n 6 7 1 0 0 0\n 8 9 1 0 0 0\n 8 11 1 0 0 0\n 10 9 1 0 0 0\n 5 10 1 0 0 0\n 11 6 1 0 0 0\n 12 5 1 0 0 0\n 12 7 1 0 0 0\nM END\n> \nBicycles\n\n> \n1\n\n> \n1\n\n$$$$\nBicyclo[5-3-2]dodecane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 13 0 0 0 999 V2000\n 7.9640 -5.7259 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3691 -6.3791 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4082 -6.9439 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3295 -6.5803 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0216 -5.8860 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8969 -5.5343 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1103 -5.5997 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.8309 -6.1180 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5145 -6.6960 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4035 -6.9006 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0255 -4.8061 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3287 -5.4888 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 5 1 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 10 4 1 0 0 0\n 2 1 1 0 0 0\n 11 5 1 0 0 0\n 12 4 1 0 0 0\n 11 12 1 0 0 0\nM END\n> \nBicycles\n\n> \n1\n\n> \n0\n\n$$$$\nBicyclo[5-4-1]dodecane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 13 0 0 0 999 V2000\n 7.7173 -5.1368 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.8210 -5.4961 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0428 -6.0887 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1495 -6.3216 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0457 -5.9679 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8297 -5.3755 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5976 -4.9504 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7781 -5.0140 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4790 -5.5181 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1712 -6.0804 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0905 -6.2796 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0605 -4.4784 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 6 1 1 0 0 0\n 6 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 10 11 1 0 0 0\n 11 5 1 0 0 0\n 6 12 1 0 0 0\n 5 12 1 0 0 0\nM END\n> \nBicycles\n\n> \n8\n\n> \n7\n\n$$$$\nBicyclo[5-3-3]tridecane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 13 14 0 0 0 999 V2000\n 8.4981 -5.1011 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.2280 -4.1969 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.0887 -4.6187 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.2012 -4.3405 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4418 -5.7633 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8730 -6.4031 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.7468 -5.6806 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.9461 -5.7884 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4646 -4.7690 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.5590 -4.7986 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1539 -5.4010 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8112 -6.0270 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5669 -6.2486 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 0 0 0\n 4 3 1 0 0 0\n 2 4 1 0 0 0\n 5 6 1 0 0 0\n 7 1 1 0 0 0\n 8 7 1 0 0 0\n 8 6 1 0 0 0\n 1 9 1 0 0 0\n 9 10 1 0 0 0\n 10 11 1 0 0 0\n 11 12 1 0 0 0\n 12 13 1 0 0 0\n 13 5 1 0 0 0\n 3 5 1 0 0 0\nM END\n> \nBicycles\n\n> \n10\n\n> \n9\n\n$$$$\nBicyclo[5-4-2]tridecane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 13 14 0 0 0 999 V2000\n 7.4687 -5.4926 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.5107 -5.8766 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.7478 -6.5099 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.9306 -6.7589 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8885 -6.3808 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6576 -5.7476 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4784 -5.2933 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7402 -5.3611 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4893 -5.9002 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1604 -6.5011 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0052 -6.7140 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6549 -4.7411 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8882 -5.3775 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 6 1 1 0 0 0\n 6 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 10 11 1 0 0 0\n 11 5 1 0 0 0\n 12 6 1 0 0 0\n 13 5 1 0 0 0\n 13 12 1 0 0 0\nM END\n> \nBicycles\n\n> \n8\n\n> \n7\n\n$$$$\nBicyclo[5-5-1]tridecane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 13 14 0 0 0 999 V2000\n 7.5850 -5.9774 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.5169 -6.0690 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.6632 -7.0919 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8369 -7.2880 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7693 -6.8637 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5517 -6.2665 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3258 -5.8379 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.5160 -5.9020 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.2226 -6.4104 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.9123 -6.9772 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8227 -7.1780 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7845 -5.3620 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.0774 -6.6776 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 6 1 1 0 0 0\n 6 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 10 11 1 0 0 0\n 11 5 1 0 0 0\n 6 12 1 0 0 0\n 5 12 1 0 0 0\n 13 3 1 0 0 0\n 13 2 1 0 0 0\nM END\n> \nBicycles\n\n> \n8\n\n> \n6\n\n$$$$\nAdamantane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 12 0 0 0 999 V2000\n 7.5634 -6.5061 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4530 -6.0540 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4530 -5.1499 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9968 -4.1939 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1070 -4.6459 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1070 -5.5501 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9968 -6.0022 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8866 -5.5501 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3428 -6.5061 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8866 -4.6459 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 4 10 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 2 9 1 0 0 0\n 1 6 1 0 0 0\n 6 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 5 6 1 0 0 0\n 8 10 1 0 0 0\n 2 3 1 0 0 0\nM END\n> \nBridged Polycyclics\n\n> \n1\n\n> \n0\n\n$$$$\nCubane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 8 12 0 0 0 999 V2000\n 7.9520 -5.0848 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6899 -4.7860 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6650 -6.0748 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.9597 -6.7640 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.9872 -5.4743 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.2488 -5.7725 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4012 -5.7782 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6964 -6.4666 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 0 0 0\n 3 1 1 0 0 0\n 1 6 1 0 0 0\n 2 5 1 0 0 0\n 7 2 1 0 0 0\n 3 4 1 0 0 0\n 7 3 1 0 0 0\n 4 6 1 0 0 0\n 8 4 1 0 0 0\n 5 6 1 0 0 0\n 8 5 1 0 0 0\n 8 7 1 0 0 0\nM END\n> \nBridged Polycyclics\n\n> \n7\n\n> \n11\n\n$$$$\nPrismane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 6 9 0 0 0 999 V2000\n 7.7612 -4.0397 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0907 -4.0333 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1698 -4.4963 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1678 -5.5167 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0887 -5.0413 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.7593 -5.0602 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 0 0 0\n 3 1 1 0 0 0\n 3 2 1 0 0 0\n 4 5 1 0 0 0\n 4 6 1 0 0 0\n 5 6 1 0 0 0\n 1 6 1 0 0 0\n 3 4 1 0 0 0\n 2 5 1 0 0 0\nM END\n> \nBridged Polycyclics\n\n> \n3\n\n> \n7\n\n$$$$\nTwistane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 12 0 0 0 999 V2000\n 10.9227 -5.4167 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6642 -4.6208 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5688 -5.4167 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8274 -4.6208 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7871 -7.2292 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5284 -6.4333 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6238 -7.2292 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8825 -6.4333 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7835 -5.8799 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.6165 -5.9203 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 0 0 0\n 2 4 1 0 0 0\n 3 4 1 0 0 0\n 5 6 1 0 0 0\n 7 5 1 0 0 0\n 8 7 1 0 0 0\n 9 3 1 0 0 0\n 9 6 1 0 0 0\n 10 1 1 0 0 0\n 10 8 1 0 0 0\n 1 6 1 0 0 0\n 3 8 1 0 0 0\nM END\n> \nBridged Polycyclics\n\n> \n0\n\n> \n1\n\n$$$$\n12-Crown-4\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 12 0 0 0 999 V2000\n 9.6950 -4.9978 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.6961 -3.9955 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7230 -3.7807 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4895 -2.8165 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.4888 -2.8252 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.2724 -3.7946 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3039 -4.0292 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3039 -5.0370 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.2718 -5.2624 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.4935 -6.2335 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4934 -6.2191 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7126 -5.2320 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 10 11 1 0 0 0\n 11 12 1 0 0 0\n 12 1 1 0 0 0\nM END\n> \nCrown Ethers\n\n> \n0\n\n> \n0\n\n$$$$\n13-Crown-4\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 13 13 0 0 0 999 V2000\n 6.2108 -5.8522 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.2098 -4.8784 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1789 -6.0710 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1735 -4.6689 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3479 -7.0179 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3527 -3.7257 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.3428 -7.0999 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.3459 -3.6501 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7617 -6.1569 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7571 -4.5979 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7493 -6.2607 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7528 -4.4917 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.2902 -5.3776 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 3 1 0 0 0\n 2 4 1 0 0 0\n 3 5 1 0 0 0\n 4 6 1 0 0 0\n 5 7 1 0 0 0\n 6 8 1 0 0 0\n 7 9 1 0 0 0\n 8 10 1 0 0 0\n 9 11 1 0 0 0\n 10 12 1 0 0 0\n 11 13 1 0 0 0\n 12 13 1 0 0 0\n 1 2 1 0 0 0\nM END\n> \nCrown Ethers\n\n> \n0\n\n> \n0\n\n$$$$\n14-Crown-4\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 14 14 0 0 0 999 V2000\n 11.4453 -5.1251 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.9013 -4.2723 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.9150 -5.9676 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9132 -4.4080 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9274 -5.8351 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5059 -3.4886 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5286 -6.7560 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4978 -3.4979 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5308 -6.7614 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1114 -4.4181 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1336 -5.8403 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1388 -4.2937 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1473 -5.9857 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.6047 -5.1430 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 3 1 0 0 0\n 2 4 1 0 0 0\n 3 5 1 0 0 0\n 4 6 1 0 0 0\n 5 7 1 0 0 0\n 6 8 1 0 0 0\n 7 9 1 0 0 0\n 8 10 1 0 0 0\n 9 11 1 0 0 0\n 10 12 1 0 0 0\n 11 13 1 0 0 0\n 12 14 1 0 0 0\n 13 14 1 0 0 0\nM END\n> \nCrown Ethers\n\n$$$$\n15-Crown-5\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 15 15 0 0 0 999 V2000\n 9.3051 -3.6194 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.1168 -4.1865 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4997 -4.1934 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8472 -5.1345 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6861 -3.6269 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6483 -5.7210 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.8859 -4.1972 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.3419 -6.6998 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1594 -5.1457 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3292 -6.7279 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3517 -5.7489 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0217 -7.6806 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.6728 -6.7074 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.0073 -7.6806 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6647 -6.7239 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 3 1 0 0 0\n 2 4 1 0 0 0\n 3 5 1 0 0 0\n 4 6 1 0 0 0\n 5 7 1 0 0 0\n 6 8 1 0 0 0\n 7 9 1 0 0 0\n 8 10 1 0 0 0\n 9 11 1 0 0 0\n 10 12 1 0 0 0\n 11 13 1 0 0 0\n 12 14 1 0 0 0\n 13 15 1 0 0 0\n 14 15 1 0 0 0\nM END\n> \nCrown Ethers\n\n$$$$\n16-Crown-5\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 16 16 0 0 0 999 V2000\n 10.1579 -7.9802 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3604 -8.5644 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8558 -7.0304 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5517 -7.9928 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6502 -6.4638 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.7522 -8.5665 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4079 -5.4912 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.9519 -7.9997 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3921 -5.2815 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.2224 -7.0336 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3715 -4.2847 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3998 -6.4989 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4688 -3.7835 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.5949 -5.5179 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.5786 -4.2984 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.5857 -5.2815 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 3 1 0 0 0\n 2 4 1 0 0 0\n 3 5 1 0 0 0\n 4 6 1 0 0 0\n 5 7 1 0 0 0\n 6 8 1 0 0 0\n 7 9 1 0 0 0\n 8 10 1 0 0 0\n 9 11 1 0 0 0\n 10 12 1 0 0 0\n 11 13 1 0 0 0\n 12 14 1 0 0 0\n 13 15 1 0 0 0\n 14 16 1 0 0 0\n 15 16 1 0 0 0\nM END\n> \nCrown Ethers\n\n> \n0\n\n> \n0\n\n$$$$\n17-Crown-5\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 17 17 0 0 0 999 V2000\n 11.0779 -6.2549 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.1260 -6.4972 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2569 -7.9159 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4815 -7.2799 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.7011 -7.8978 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.8165 -7.4802 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.8151 -6.4943 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.8549 -6.2786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6443 -5.3223 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.4333 -4.6975 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3911 -5.0835 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.9204 -4.2341 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9543 -4.2341 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4969 -5.0788 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4504 -4.6735 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.2557 -5.2828 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.1487 -7.4881 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 6 7 1 0 0 0\n 11 12 1 0 0 0\n 12 13 1 0 0 0\n 13 14 1 0 0 0\n 10 11 1 0 0 0\n 15 16 1 0 0 0\n 14 15 1 0 0 0\n 16 1 1 0 0 0\n 2 17 1 0 0 0\n 17 3 1 0 0 0\nM END\n> \nCrown Ethers\n\n$$$$\n18-Crown-6\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 18 18 0 0 0 999 V2000\n 12.0989 -6.5157 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.0984 -7.5223 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1742 -7.8983 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 11.2561 -8.8885 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.3671 -9.3684 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5542 -8.7612 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7470 -9.3729 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8655 -8.8820 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.9673 -7.9010 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0511 -7.5248 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0591 -6.5276 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.9807 -6.1495 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8891 -5.1717 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7538 -4.6802 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5585 -5.2838 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 10.3625 -4.6771 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.2539 -5.1612 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1740 -6.1413 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 3 4 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 10 11 1 0 0 0\n 7 8 1 0 0 0\n 12 13 1 0 0 0\n 13 14 1 0 0 0\n 14 15 1 0 0 0\n 11 12 1 0 0 0\n 16 17 1 0 0 0\n 17 18 1 0 0 0\n 15 16 1 0 0 0\n 1 18 1 0 0 0\nM END\n> \nCrown Ethers\n\n$$$$\n20-Crown-6\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 20 20 0 0 0 999 V2000\n 12.9696 -6.7231 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.4562 -7.5685 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.4568 -5.8692 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4567 -7.5264 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4506 -5.9049 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 11.2686 -8.5088 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.2545 -4.9333 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.3166 -8.8267 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.3019 -4.6233 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5590 -8.1616 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5486 -5.2850 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7892 -4.6263 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8656 -8.5059 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8443 -4.9441 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6577 -7.5325 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6557 -5.9166 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 6.6451 -7.5828 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.6382 -5.8785 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1304 -6.7355 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8033 -8.8212 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 4 1 0 0 0\n 3 5 1 0 0 0\n 4 6 1 0 0 0\n 5 7 1 0 0 0\n 6 8 1 0 0 0\n 7 9 1 0 0 0\n 8 10 1 0 0 0\n 9 11 1 0 0 0\n 11 12 1 0 0 0\n 13 15 1 0 0 0\n 14 16 1 0 0 0\n 15 17 1 0 0 0\n 16 18 1 0 0 0\n 17 19 1 0 0 0\n 18 19 1 0 0 0\n 12 14 1 0 0 0\n 13 20 1 0 0 0\n 10 20 1 0 0 0\n 3 1 1 0 0 0\nM END\n> \nCrown Ethers\n\n$$$$\n21-Crown-7\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 21 21 0 0 0 999 V2000\n 9.2476 -4.0933 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.3448 -4.5154 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.3272 -5.5163 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3374 -5.7205 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0975 -6.6848 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8706 -7.3222 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.4253 -8.2201 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.0491 -8.9972 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0215 -8.7675 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4631 -9.6613 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4605 -9.6613 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8988 -8.7577 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 11.8812 -8.9945 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.5114 -8.2256 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.7121 -4.5149 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8084 -4.0887 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0256 -4.7163 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.1044 -7.3150 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 11.7139 -5.5116 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.9025 -6.7100 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.6937 -5.7379 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 3 4 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 10 11 1 0 0 0\n 7 8 1 0 0 0\n 12 13 1 0 0 0\n 13 14 1 0 0 0\n 11 12 1 0 0 0\n 15 16 1 0 0 0\n 16 17 1 0 0 0\n 1 17 1 0 0 0\n 14 18 1 0 0 0\n 19 15 1 0 0 0\n 18 20 1 0 0 0\n 19 21 1 0 0 0\n 20 21 1 0 0 0\nM END\n> \nCrown Ethers\n\n> \n0\n\n> \n0\n\n$$$$\n24-Crown-8\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 24 24 0 0 0 999 V2000\n 9.0714 -9.5538 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5688 -8.6839 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 8.0589 -9.5538 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.5317 -9.0088 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.5767 -8.6753 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 11.2612 -8.3147 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.6218 -8.9758 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.9970 -7.3518 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.9000 -8.2659 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.8824 -6.8882 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1947 -7.2962 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 11.8855 -5.8841 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.3145 -6.8085 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.0044 -5.4160 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.3384 -5.8124 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.2885 -4.4573 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.2280 -5.3744 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 10.5636 -3.7853 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.9695 -4.4189 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.6083 -4.1102 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 6.7013 -3.7643 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.1273 -3.2484 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6397 -4.1023 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1264 -3.2462 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 3 1 0 0 0\n 2 4 1 0 0 0\n 3 5 1 0 0 0\n 4 6 1 0 0 0\n 5 7 1 0 0 0\n 6 8 1 0 0 0\n 7 9 1 0 0 0\n 8 10 1 0 0 0\n 9 11 1 0 0 0\n 10 12 1 0 0 0\n 11 13 1 0 0 0\n 12 14 1 0 0 0\n 13 15 1 0 0 0\n 14 16 1 0 0 0\n 15 17 1 0 0 0\n 16 18 1 0 0 0\n 17 19 1 0 0 0\n 18 20 1 0 0 0\n 19 21 1 0 0 0\n 20 22 1 0 0 0\n 21 23 1 0 0 0\n 22 24 1 0 0 0\n 23 24 1 0 0 0\nM END\n> \nCrown Ethers\n\n$$$$\n27-Crown-9\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 27 27 0 0 0 999 V2000\n 12.8715 -5.4793 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.4227 -6.3542 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3172 -4.6439 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2176 -6.9623 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.3116 -4.7071 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.0558 -7.9420 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.0873 -3.7356 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.1143 -8.2518 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.2476 -9.2356 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3689 -4.0852 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6009 -3.4377 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.1290 -3.4254 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.5183 -9.4192 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6486 -3.7570 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9884 -10.2746 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4426 -9.8295 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.4301 -4.7338 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9807 -10.2746 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.4253 -4.6828 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4473 -9.4221 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.8996 -5.5250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.5287 -9.8321 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3912 -6.3772 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 6.7155 -9.2528 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6324 -7.0243 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.8191 -8.2642 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.8489 -7.9911 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 3 1 0 0 0\n 2 4 1 0 0 0\n 3 5 1 0 0 0\n 4 6 1 0 0 0\n 5 7 1 0 0 0\n 6 8 1 0 0 0\n 8 9 1 0 0 0\n 10 11 1 0 0 0\n 10 12 1 0 0 0\n 11 14 1 0 0 0\n 13 15 1 0 0 0\n 13 16 1 0 0 0\n 14 17 1 0 0 0\n 15 18 1 0 0 0\n 17 19 1 0 0 0\n 18 20 1 0 0 0\n 19 21 1 0 0 0\n 20 22 1 0 0 0\n 21 23 1 0 0 0\n 22 24 1 0 0 0\n 23 25 1 0 0 0\n 24 26 1 0 0 0\n 26 27 1 0 0 0\n 12 7 1 0 0 0\n 9 16 1 0 0 0\n 27 25 1 0 0 0\nM END\n> \nCrown Ethers\n\n$$$$\n30-Crown-10\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 30 30 0 0 0 999 V2000\n 10.5968 -3.4933 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5443 -3.8013 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8344 -4.1370 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 11.7938 -4.7628 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.1029 -3.4529 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7946 -4.6212 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1487 -3.7257 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.4230 -5.3890 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8987 -4.6893 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.0643 -6.3145 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 6.9078 -4.5662 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.9365 -6.8065 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3013 -5.3520 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.9385 -7.7974 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.6787 -6.2795 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.0639 -8.2936 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.8115 -6.7735 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.4322 -9.2202 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.8115 -7.7678 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.8108 -10.0124 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.6722 -8.2700 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 11.8119 -9.8780 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 6.2940 -9.1976 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5637 -10.8535 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.8989 -9.9918 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.5955 -11.1458 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.9003 -9.8692 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1417 -10.8495 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0967 -11.1471 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8494 -10.4845 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 3 1 0 0 0\n 2 4 1 0 0 0\n 4 6 1 0 0 0\n 6 8 1 0 0 0\n 7 9 1 0 0 0\n 8 10 1 0 0 0\n 9 11 1 0 0 0\n 10 12 1 0 0 0\n 11 13 1 0 0 0\n 12 14 1 0 0 0\n 14 16 1 0 0 0\n 15 17 1 0 0 0\n 16 18 1 0 0 0\n 17 19 1 0 0 0\n 19 21 1 0 0 0\n 20 22 1 0 0 0\n 21 23 1 0 0 0\n 22 24 1 0 0 0\n 23 25 1 0 0 0\n 24 26 1 0 0 0\n 27 28 1 0 0 0\n 29 30 1 0 0 0\n 5 7 1 0 0 0\n 18 20 1 0 0 0\n 25 27 1 0 0 0\n 28 29 1 0 0 0\n 26 30 1 0 0 0\n 15 13 1 0 0 0\n 5 3 1 0 0 0\nM END\n> \nCrown Ethers\n\n> \n0\n\n> \n0\n\n$$$$\nALA-D-Alanine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 6 5 0 1 0 999 V2000\n 13.6701 -6.8246 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.6701 -5.8249 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.8003 -5.3251 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 14.5335 -5.3251 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.5335 -4.3254 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.3999 -5.8240 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 1 0 0\n 2 4 1 0 0 0\n 4 5 2 0 0 0\n 4 6 1 0 0 0\nM END\n> \nD-Amino Acids\n\n> \n2\n\n> \n0\n\n$$$$\nARG-D-Arginine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 11 0 1 0 999 V2000\n 12.0694 -4.2443 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7765 -4.9514 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.5148 -5.9202 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5506 -6.1773 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.2934 -7.1415 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.3248 -7.4032 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0676 -8.3674 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.1033 -8.6246 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7747 -9.0745 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 13.7407 -4.6943 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.0024 -3.7255 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.4467 -5.4025 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 1 0 0\n 2 3 1 0 0 0\n 2 10 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 7 8 1 0 0 0\n 7 9 2 0 0 0\n 10 11 2 0 0 0\n 10 12 1 0 0 0\nM END\n> \nD-Amino Acids\n\n> \n0\n\n> \n7\n\n$$$$\nASN-D-Asparagine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 9 8 0 1 0 999 V2000\n 10.8319 -5.4762 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 11.6977 -5.9761 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.6989 -6.9740 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8342 -7.4719 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8321 -8.4753 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9683 -6.9719 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.5657 -5.4726 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.5645 -4.4747 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.4317 -5.9725 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 1 0 0\n 2 3 1 0 0 0\n 2 7 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 4 6 2 0 0 0\n 7 8 2 0 0 0\n 7 9 1 0 0 0\nM END\n> \nD-Amino Acids\n\n> \n0\n\n> \n4\n\n$$$$\nASP-D-Aspartic acid\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 9 8 0 1 0 999 V2000\n 10.7814 -5.6761 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 11.6474 -6.1761 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.6486 -7.1739 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7839 -7.6718 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7818 -8.6752 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9179 -7.1719 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.5154 -5.6726 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.5142 -4.6748 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.3821 -6.1711 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 1 0 0\n 2 3 1 0 0 0\n 2 7 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 4 6 2 0 0 0\n 7 8 2 0 0 0\n 7 9 1 0 0 0\nM END\n> \nD-Amino Acids\n\n> \n0\n\n> \n4\n\n$$$$\nCYS-D-Cysteine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 7 6 0 1 0 999 V2000\n 6.9511 -4.7004 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8205 -5.2000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8205 -6.1991 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.9511 -6.6987 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6834 -4.7004 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6834 -3.7013 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5489 -5.1995 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 1 0 0\n 2 3 1 0 0 0\n 2 5 1 0 0 0\n 3 4 1 0 0 0\n 5 6 2 0 0 0\n 5 7 1 0 0 0\nM END\n> \nD-Amino Acids\n\n> \n0\n\n> \n3\n\n$$$$\nGLN-D-Glutamine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 9 0 1 0 999 V2000\n 11.1341 -5.3758 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 12.0002 -5.8759 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.0015 -6.8739 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1332 -7.3776 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1344 -8.3757 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.2695 -8.8736 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 12.0006 -8.8757 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.8652 -5.3779 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.8673 -4.3743 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.7305 -5.8794 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 1 0 0\n 2 3 1 0 0 0\n 2 8 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 5 7 2 0 0 0\n 8 9 2 0 0 0\n 8 10 1 0 0 0\nM END\n> \nD-Amino Acids\n\n> \n0\n\n> \n5\n\n$$$$\nGLU-D-Glutamic acid\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 9 0 1 0 999 V2000\n 11.4591 -5.3259 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3252 -5.8259 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3265 -6.8240 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4582 -7.3276 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4594 -8.3256 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.5945 -8.8236 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3256 -8.8257 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.1902 -5.3279 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.1923 -4.3243 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.0555 -5.8295 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 1 0 0\n 2 3 1 0 0 0\n 2 8 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 5 7 2 0 0 0\n 8 9 2 0 0 0\n 8 10 1 0 0 0\nM END\n> \nD-Amino Acids\n\n> \n0\n\n> \n5\n\n$$$$\nGLY-Glycine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 5 4 0 0 0 999 V2000\n 10.6670 -7.3750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5331 -6.8750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8010 -6.8750 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3990 -7.3750 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5331 -5.8750 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 3 1 0 0 0\n 2 4 1 0 0 0\n 2 5 2 0 0 0\nM END\n> \nD-Amino Acids\n\n> \n2\n\n> \n1\n\n$$$$\nHIS-D-Histidine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 11 11 0 1 0 999 V2000\n 11.4910 -6.5739 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3584 -7.0771 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3572 -8.0742 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4919 -8.5738 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.3861 -9.5713 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4100 -9.7753 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9104 -8.9099 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.5750 -8.1667 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2237 -6.5775 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2217 -5.5747 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.0896 -7.0762 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 1 0 0\n 2 3 1 0 0 0\n 2 9 1 0 0 0\n 3 4 1 0 0 0\n 4 5 2 0 0 0\n 4 8 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 7 8 2 0 0 0\n 9 10 2 0 0 0\n 9 11 1 0 0 0\nM END\n> \nD-Amino Acids\n\n> \n0\n\n> \n1\n\n$$$$\nILE-D-Isoleucine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 9 8 0 1 0 999 V2000\n 11.8001 -9.8252 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.8020 -8.8218 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.6668 -8.3239 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.5327 -8.8239 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.6656 -7.3261 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.7997 -6.8261 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 13.5336 -6.8225 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.5324 -5.8248 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.4003 -7.3211 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 6 0 0\n 3 5 1 0 0 0\n 5 6 1 1 0 0\n 5 7 1 0 0 0\n 7 8 2 0 0 0\n 7 9 1 0 0 0\nM END\n> \nD-Amino Acids\n\n> \n5\n\n> \n0\n\n$$$$\nLEU-D-Leucine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 9 8 0 1 0 999 V2000\n 12.2568 -9.3502 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.2588 -8.3468 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.3929 -7.8469 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.1235 -7.8489 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.1224 -6.8511 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.2564 -6.3511 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 13.9903 -6.3475 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.9891 -5.3498 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.8571 -6.8461 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 2 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 1 0 0\n 5 7 1 0 0 0\n 7 8 2 0 0 0\n 7 9 1 0 0 0\nM END\n> \nD-Amino Acids\n\n> \n5\n\n> \n0\n\n$$$$\nLYS-D-Lysine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 9 0 1 0 999 V2000\n 10.6692 -9.3254 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6712 -8.3221 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5358 -7.8243 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5346 -6.8266 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.4025 -6.3233 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.4013 -5.3256 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5355 -4.8257 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2659 -4.8278 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2679 -3.8246 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.1308 -5.3291 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 1 0 0\n 6 8 1 0 0 0\n 8 9 2 0 0 0\n 8 10 1 0 0 0\nM END\n> \nD-Amino Acids\n\n> \n6\n\n> \n0\n\n$$$$\nMET-D-Methionine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 9 8 0 1 0 999 V2000\n 11.6195 -9.8247 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.4844 -9.3267 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0\n 12.4832 -8.3287 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.3515 -7.8251 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.3502 -6.8270 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.4841 -6.3270 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 14.2152 -6.3290 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.2173 -5.3253 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.0805 -6.8304 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 1 0 0\n 5 7 1 0 0 0\n 7 8 2 0 0 0\n 7 9 1 0 0 0\nM END\n> \nD-Amino Acids\n\n> \n5\n\n> \n0\n\n$$$$\nPHE-D-Phenylalanine\n Ketcher 4 22514402D 1 1.00000 0.00000 0\n\n 12 12 0 0 1 0 0 0 0 0999 V2000\n 25.2012 -10.8254 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 26.0671 -11.3253 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 26.9332 -10.8254 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 26.9332 -9.8254 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 27.7992 -11.3253 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 26.0671 -12.3253 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 25.2011 -12.8253 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 24.3373 -14.3246 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 25.2014 -13.8260 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 23.4702 -13.8247 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 24.3304 -12.3234 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 23.4676 -12.8290 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 1 0 0\n 2 3 1 0 0 0\n 2 6 1 0 0 0\n 3 4 2 0 0 0\n 3 5 1 0 0 0\n 6 7 1 0 0 0\n 9 7 2 0 0 0\n 7 11 1 0 0 0\n 11 12 2 0 0 0\n 12 10 1 0 0 0\n 10 8 2 0 0 0\n 8 9 1 0 0 0\nM END\n> \nD-Amino Acids\n\n> \n0\n\n> \n4\n\n$$$$\nPRO-D-Proline\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 8 8 0 1 0 999 V2000\n 10.6969 -1.7001 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6956 -2.6978 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8298 -3.1977 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7240 -4.1958 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7473 -4.3999 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.2474 -3.5340 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9124 -2.7903 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4026 -3.4047 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0\n 3 2 1 1 0 0\n 2 8 1 0 0 0\n 3 4 1 0 0 0\n 3 7 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\nM END\n> \nD-Amino Acids\n\n> \n6\n\n> \n2\n\n$$$$\nSER-D-Serine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 7 6 0 1 0 999 V2000\n 10.3261 -6.8754 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1955 -7.3750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1955 -8.3741 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.3261 -8.8737 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.0584 -6.8754 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.0584 -5.8763 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.9239 -7.3745 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 1 0 0\n 2 3 1 0 0 0\n 2 5 1 0 0 0\n 3 4 1 0 0 0\n 5 6 2 0 0 0\n 5 7 1 0 0 0\nM END\n> \nD-Amino Acids\n\n> \n0\n\n> \n3\n\n$$$$\nTHR-D-Threonine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 8 7 0 1 0 999 V2000\n 11.5255 -8.1243 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3953 -7.6246 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2586 -8.1243 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3953 -6.6250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5255 -6.1252 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2586 -6.1252 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2586 -5.1257 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.1245 -6.6245 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 1 0 0\n 2 4 1 0 0 0\n 4 5 1 1 0 0\n 4 6 1 0 0 0\n 6 7 2 0 0 0\n 6 8 1 0 0 0\nM END\n> \nD-Amino Acids\n\n> \n4\n\n> \n0\n\n$$$$\nTRP-D-Tryptophan\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 15 16 0 1 0 999 V2000\n 11.9929 -5.3065 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 12.8877 -5.7594 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.9408 -6.7608 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.0974 -7.3028 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1680 -6.9465 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.5350 -7.7214 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 11.0834 -8.5631 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.0497 -8.3041 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7565 -9.0092 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.4968 -9.9732 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5306 -10.2321 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8239 -9.5270 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.7230 -5.2128 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.6717 -4.2179 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.6150 -5.6658 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 1 0 0\n 2 3 1 0 0 0\n 2 13 1 0 0 0\n 3 4 1 0 0 0\n 4 5 2 0 0 0\n 4 8 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 7 8 2 0 0 0\n 7 12 1 0 0 0\n 8 9 1 0 0 0\n 9 10 2 0 0 0\n 10 11 1 0 0 0\n 11 12 2 0 0 0\n 13 14 2 0 0 0\n 13 15 1 0 0 0\nM END\n> \nD-Amino Acids\n\n> \n0\n\n> \n15\n\n$$$$\nTYR-D-Tyrosine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 13 13 0 1 0 999 V2000\n 12.5019 -5.8250 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 13.3670 -6.3231 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.3658 -7.3212 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.4995 -7.8214 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.5016 -8.8251 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.6354 -9.3253 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7671 -8.8216 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9008 -9.3217 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7683 -7.8234 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.6344 -7.3233 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.2333 -5.8229 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.2344 -4.8247 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.0992 -6.3235 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 1 0 0\n 2 3 1 0 0 0\n 2 11 1 0 0 0\n 3 4 1 0 0 0\n 4 5 2 0 0 0\n 4 10 1 0 0 0\n 5 6 1 0 0 0\n 6 7 2 0 0 0\n 7 8 1 0 0 0\n 7 9 1 0 0 0\n 9 10 2 0 0 0\n 11 12 2 0 0 0\n 11 13 1 0 0 0\nM END\n> \nD-Amino Acids\n\n> \n0\n\n> \n8\n\n$$$$\nVAL-D-Valine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 8 7 0 1 0 999 V2000\n 10.8255 -8.9494 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.6953 -8.4496 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.5586 -8.9494 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.6953 -7.4500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8255 -6.9502 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 12.5586 -6.9502 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.5586 -5.9506 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.4245 -7.4494 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 2 4 1 0 0 0\n 4 5 1 1 0 0\n 4 6 1 0 0 0\n 6 7 2 0 0 0\n 6 8 1 0 0 0\nM END\n> \nD-Amino Acids\n\n> \n4\n\n> \n0\n\n$$$$\nD-Allose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 11 0 1 0 999 V2000\n -3.4194 -1.6883 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.9924 -1.0905 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4387 -0.4664 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.0204 0.1639 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4629 0.7656 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.0221 1.3609 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4407 1.9808 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.1127 2.6517 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.2718 1.3426 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.2093 0.7656 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.2702 0.1833 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1849 -0.4782 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 7 8 2 0 0 0\n 6 7 1 0 0 0\n 6 9 1 6 0 0\n 5 10 1 1 0 0\n 4 11 1 6 0 0\n 3 12 1 1 0 0\nM END\n> \nD-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nD-Altrose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 11 0 1 0 999 V2000\n -3.4516 -1.2975 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.0245 -0.6997 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4709 -0.0714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.0525 0.5547 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4950 1.1564 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.0501 1.7518 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4729 2.3717 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.1448 3.0442 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.3040 1.7335 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.2414 1.1564 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.3024 0.5742 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.2171 -0.0873 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 7 8 2 0 0 0\n 6 7 1 0 0 0\n 6 9 1 1 0 0\n 5 10 1 1 0 0\n 4 11 1 6 0 0\n 3 12 1 1 0 0\nM END\n> \nD-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nD-Arabinose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 9 0 1 0 999 V2000\n -3.8949 -0.0936 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4593 0.4968 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8995 1.1253 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4675 1.7484 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.9005 2.3460 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4667 2.9613 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4723 -0.7154 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.7192 1.7520 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.6437 1.1253 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.7111 0.4839 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 2 0 0 0\n 1 7 1 0 0 0\n 4 8 1 1 0 0\n 3 9 1 1 0 0\n 2 10 1 6 0 0\nM END\n> \nD-Sugars\n\n> \n6\n\n> \n5\n\n$$$$\nD-Erythrose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 8 7 0 1 0 999 V2000\n -4.1906 0.0133 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7523 0.6006 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1844 1.2349 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7532 1.8545 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1786 2.4581 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7458 3.0700 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.0034 1.8545 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.9299 1.2384 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 2 0 0 0\n 4 7 1 6 0 0\n 3 8 1 1 0 0\nM END\n> \nD-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nD-Erythrulose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 8 7 0 1 0 999 V2000\n -4.1896 2.0954 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7907 1.5002 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.2449 0.8939 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8481 0.2611 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7539 2.6818 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.0537 1.4794 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.9812 0.9226 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.3557 -0.3786 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 1 5 1 0 0 0\n 2 6 2 0 0 0\n 3 7 1 1 0 0\n 8 4 1 0 0 0\nM END\n> \nD-Sugars\n\n> \n4\n\n> \n3\n\n$$$$\nD-Fructose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 11 0 1 0 999 V2000\n -3.1480 1.9843 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.5728 1.3875 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.1297 0.7648 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.5540 0.1353 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.1105 -0.4649 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.5532 -1.0589 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.1339 -1.6816 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.5796 2.5934 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.3170 1.3875 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.3814 0.7735 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.2979 0.1190 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.3622 -0.4638 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 1 8 1 0 0 0\n 2 9 2 0 0 0\n 3 10 1 1 0 0\n 4 11 1 1 0 0\n 5 12 1 6 0 0\nM END\n> \nD-Sugars\n\n> \n7\n\n> \n6\n\n$$$$\nD-Galactose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 11 0 1 0 999 V2000\n -3.8880 -0.9644 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4609 -0.3663 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.9072 0.2619 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4890 0.8881 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.9315 1.4898 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4907 2.0852 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.9093 2.7051 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.5812 3.3773 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.7403 2.0668 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.6779 1.4898 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.7387 0.9075 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.6535 0.2459 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 7 8 2 0 0 0\n 6 7 1 0 0 0\n 6 9 1 6 0 0\n 5 10 1 6 0 0\n 4 11 1 1 0 0\n 3 12 1 1 0 0\nM END\n> \nD-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nD-Glucose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 11 0 1 0 999 V2000\n -3.5186 -1.2143 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.9457 -0.6164 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4995 0.0120 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.9178 0.6380 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4754 1.2399 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.9163 1.8351 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4978 2.4551 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8217 3.1274 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.6624 1.8167 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.7249 1.2399 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.6639 0.6573 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.7491 -0.0039 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 7 8 2 0 0 0\n 6 7 1 0 0 0\n 6 9 1 1 0 0\n 5 10 1 1 0 0\n 4 11 1 1 0 0\n 3 12 1 6 0 0\nM END\n> \nD-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nD-Gulose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 11 0 1 0 999 V2000\n -4.3047 -1.0894 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8775 -0.4913 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.3239 0.1369 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.9056 0.7631 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.3481 1.3648 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.9073 1.9602 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.3260 2.5801 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.9978 3.2523 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.1570 1.9418 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.0945 1.3648 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.1554 0.7825 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.0702 0.1209 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 7 8 2 0 0 0\n 6 7 1 0 0 0\n 6 9 1 6 0 0\n 5 10 1 1 0 0\n 4 11 1 1 0 0\n 3 12 1 1 0 0\nM END\n> \nD-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nD-Idose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 11 0 1 0 999 V2000\n -3.7380 -1.2977 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.3109 -0.6997 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7572 -0.0715 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.3390 0.5547 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7815 1.1564 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.3407 1.7519 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7593 2.3718 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4312 3.0440 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.5903 1.7335 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.5279 1.1564 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.5887 0.5742 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.5035 -0.0874 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 7 8 2 0 0 0\n 6 7 1 0 0 0\n 6 9 1 1 0 0\n 5 10 1 1 0 0\n 4 11 1 1 0 0\n 3 12 1 1 0 0\nM END\n> \nD-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nD-Lyxose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 9 0 1 0 999 V2000\n -3.9033 0.3647 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.3348 0.9551 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8987 1.5836 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.3307 2.2068 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8977 2.8043 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.3273 3.4196 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.3259 -0.2571 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.0749 2.2103 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.1504 1.5836 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.0829 0.9422 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 2 0 0 0\n 1 7 1 0 0 0\n 4 8 1 6 0 0\n 3 9 1 1 0 0\n 2 10 1 1 0 0\nM END\n> \nD-Sugars\n\n> \n6\n\n> \n5\n\n$$$$\nD-Mannose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 11 0 1 0 999 V2000\n -3.9005 -1.2560 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4734 -0.6580 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.9197 -0.0298 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.5015 0.5964 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.9440 1.1981 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.5032 1.7935 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.9218 2.4134 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.5937 3.0856 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.7528 1.7751 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.6904 1.1981 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.7512 0.6158 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.6660 -0.0458 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 7 8 2 0 0 0\n 6 7 1 0 0 0\n 6 9 1 1 0 0\n 5 10 1 6 0 0\n 4 11 1 6 0 0\n 3 12 1 1 0 0\nM END\n> \nD-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nD-Psicose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 11 0 1 0 999 V2000\n -4.1455 2.7364 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7122 2.1393 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1459 1.5125 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7164 0.8867 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1511 0.2825 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.6999 -0.3115 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1099 -0.9416 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7230 3.3500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.9598 2.1522 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.8942 1.5125 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.9639 0.8833 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.8992 0.2707 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 1 8 1 0 0 0\n 2 9 2 0 0 0\n 3 10 1 1 0 0\n 4 11 1 6 0 0\n 5 12 1 1 0 0\nM END\n> \nD-Sugars\n\n> \n7\n\n> \n6\n\n$$$$\nD-Ribose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 9 0 1 0 999 V2000\n -3.4471 -0.1770 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8828 0.4134 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4426 1.0421 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8747 1.6651 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4417 2.2627 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8713 2.8780 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8696 -0.7989 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.6188 1.6686 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6943 1.0421 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.6268 0.4006 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 2 0 0 0\n 1 7 1 0 0 0\n 4 8 1 1 0 0\n 3 9 1 6 0 0\n 2 10 1 1 0 0\nM END\n> \nD-Sugars\n\n> \n6\n\n> \n5\n\n$$$$\nD-Ribulose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 9 0 1 0 999 V2000\n -3.1689 -0.5395 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.6004 0.0509 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.1643 0.6794 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.5963 1.3026 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.1633 1.9001 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.5929 2.5154 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.4160 0.6794 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.5914 -1.1613 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.3485 0.0380 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.3252 1.2997 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 3 7 1 6 0 0\n 1 8 1 0 0 0\n 2 9 1 1 0 0\n 4 10 2 0 0 0\nM END\n> \nD-Sugars\n\n> \n7\n\n> \n6\n\n$$$$\nD-Sorbose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 11 0 1 0 999 V2000\n -3.8077 2.3989 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.3743 1.8060 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8123 1.1791 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.3785 0.5576 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8133 -0.0508 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.3620 -0.6406 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7721 -1.2667 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.3851 3.0166 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6219 1.8147 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.5564 1.1791 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6301 0.5499 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.5573 -0.0626 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 1 8 1 0 0 0\n 2 9 2 0 0 0\n 3 10 1 1 0 0\n 4 11 1 1 0 0\n 5 12 1 1 0 0\nM END\n> \nD-Sugars\n\n> \n7\n\n> \n6\n\n$$$$\nD-Tagatose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 11 0 1 0 999 V2000\n -5.3565 3.2050 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7786 2.4087 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -5.3570 1.5726 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7842 0.7381 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -5.3640 -0.0678 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7622 -0.8600 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -5.3090 -1.7005 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7930 4.0234 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7752 2.4259 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -6.3552 1.5726 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7806 0.7334 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -6.3619 -0.0835 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 1 8 1 0 0 0\n 2 9 2 0 0 0\n 3 10 1 6 0 0\n 4 11 1 1 0 0\n 5 12 1 1 0 0\nM END\n> \nD-Sugars\n\n> \n7\n\n> \n6\n\n$$$$\nD-Talose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 11 0 1 0 999 V2000\n -4.0547 -0.8394 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.6275 -0.2413 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.0739 0.3869 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.6556 1.0131 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.0981 1.6148 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.6573 2.2102 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.0760 2.8301 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7478 3.5023 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.9070 2.1918 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.8445 1.6148 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.9054 1.0325 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.8202 0.3709 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 7 8 2 0 0 0\n 6 7 1 0 0 0\n 6 9 1 1 0 0\n 5 10 1 6 0 0\n 4 11 1 1 0 0\n 3 12 1 1 0 0\nM END\n> \nD-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nD-Threose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 8 7 0 1 0 999 V2000\n -4.7339 0.2599 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.3006 0.8540 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7343 1.4815 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.3045 2.1079 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.7353 2.7047 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.3079 3.3192 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.5548 2.1114 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.4800 1.4815 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 2 0 0 0\n 4 7 1 1 0 0\n 3 8 1 1 0 0\nM END\n> \nD-Sugars\n\n> \n0\n\n> \n0\n\n$$$$\nD-Xylose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 9 0 1 0 999 V2000\n -3.7801 -0.0936 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.2157 0.4968 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7755 1.1253 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.2075 1.7484 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7745 2.3460 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.2083 2.9613 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.2027 -0.7154 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.9517 1.7520 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.0272 1.1253 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.9597 0.4839 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 2 0 0 0\n 1 7 1 0 0 0\n 4 8 1 1 0 0\n 3 9 1 1 0 0\n 2 10 1 1 0 0\nM END\n> \nD-Sugars\n\n> \n6\n\n> \n5\n\n$$$$\nD-Xylulose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 9 0 1 0 999 V2000\n -2.9398 -0.2937 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.3754 0.3009 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.9352 0.9336 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.3672 1.5568 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.9342 2.1584 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.3638 2.7737 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.1827 0.9336 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.3623 -0.9196 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1235 0.2880 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1002 1.5539 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 3 7 1 1 0 0\n 1 8 1 0 0 0\n 2 9 1 1 0 0\n 4 10 2 0 0 0\nM END\n> \nD-Sugars\n\n> \n7\n\n> \n6\n\n$$$$\n1_2_3-Oxadiazole\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 5 5 0 0 0 999 V2000\n 4.9500 -4.1780 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2815 -3.6923 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5368 -2.9063 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.3632 -2.9063 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6185 -3.6923 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 2 0 0 0\n 1 2 1 0 0 0\n 3 4 1 0 0 0\n 4 5 2 0 0 0\n 5 1 1 0 0 0\nM END\n> \nHeterocyclic Rings\n\n> \n1\n\n> \n0\n\n$$$$\nDioxane\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 6 6 0 0 0 999 V2000\n 4.2090 -3.4616 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2090 -4.2884 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.9250 -4.7018 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6410 -4.2884 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6410 -3.4616 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.9250 -3.0482 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 6 1 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\nM END\n> \nHeterocyclic Rings\n\n> \n0\n\n> \n1\n\n$$$$\nFuran\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 5 5 0 0 0 999 V2000\n 4.9500 -4.1780 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2815 -3.6923 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5368 -2.9063 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.3632 -2.9063 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6185 -3.6923 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 2 0 0 0\n 1 2 1 0 0 0\n 3 4 1 0 0 0\n 4 5 2 0 0 0\n 5 1 1 0 0 0\nM END\n> \nHeterocyclic Rings\n\n> \n1\n\n> \n0\n\n$$$$\nImidazole\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 5 5 0 0 0 999 V2000\n 4.9500 -4.1780 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2815 -3.6923 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5368 -2.9063 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.3632 -2.9063 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6185 -3.6923 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 2 0 0 0\n 1 2 1 0 0 0\n 3 4 1 0 0 0\n 4 5 2 0 0 0\n 5 1 1 0 0 0\nM END\n> \nHeterocyclic Rings\n\n> \n0\n\n> \n0\n\n$$$$\nIndole\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 9 10 0 0 0 999 V2000\n 6.3344 -5.9612 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.7641 -5.9608 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0506 -5.5480 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.7641 -6.7878 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3344 -6.7915 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0524 -7.2005 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4800 -7.2028 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 9.1974 -6.7878 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.1974 -5.9608 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3 1 2 0 0 0\n 4 2 2 0 0 0\n 1 5 1 0 0 0\n 2 3 1 0 0 0\n 5 6 2 0 0 0\n 6 4 1 0 0 0\n 8 9 2 0 0 0\n 7 8 1 0 0 0\n 2 9 1 0 0 0\n 4 7 1 0 0 0\nM END\n> \nHeterocyclic Rings\n\n> \n6\n\n> \n6\n\n$$$$\nIsoquinoline\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 11 0 0 0 999 V2000\n 7.2094 -5.7112 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6391 -5.7108 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.9256 -5.2980 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6391 -6.5378 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.2094 -6.5415 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.9274 -6.9505 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3533 -5.2990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0698 -5.7124 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3584 -6.9529 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0717 -6.5353 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 3 1 2 0 0 0\n 2 4 2 0 0 0\n 1 5 1 0 0 0\n 2 3 1 0 0 0\n 5 6 2 0 0 0\n 6 4 1 0 0 0\n 8 7 2 0 0 0\n 9 10 2 0 0 0\n 10 8 1 0 0 0\n 4 9 1 0 0 0\n 2 7 1 0 0 0\nM END\n> \nHeterocyclic Rings\n\n> \n8\n\n> \n0\n\n$$$$\nIsoxazole\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 5 5 0 0 0 999 V2000\n 4.9500 -4.1780 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2815 -3.6923 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5368 -2.9063 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.3632 -2.9063 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6185 -3.6923 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 2 0 0 0\n 1 2 1 0 0 0\n 3 4 1 0 0 0\n 4 5 2 0 0 0\n 5 1 1 0 0 0\nM END\n> \nHeterocyclic Rings\n\n> \n2\n\n> \n0\n\n$$$$\nMorpholine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 6 6 0 0 0 999 V2000\n 4.2090 -3.4616 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2090 -4.2884 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.9250 -4.7018 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6410 -4.2884 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6410 -3.4616 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.9250 -3.0482 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1 6 1 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\nM END\n> \nHeterocyclic Rings\n\n> \n5\n\n> \n1\n\n$$$$\nOxazole\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 5 5 0 0 0 999 V2000\n 4.9500 -4.1780 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2815 -3.6923 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5368 -2.9063 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.3632 -2.9063 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6185 -3.6923 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 2 0 0 0\n 1 2 1 0 0 0\n 3 4 1 0 0 0\n 4 5 2 0 0 0\n 5 1 1 0 0 0\nM END\n> \nHeterocyclic Rings\n\n> \n4\n\n> \n0\n\n$$$$\nPiperazine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 6 6 0 0 0 999 V2000\n 4.2090 -3.4616 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2090 -4.2884 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.9250 -4.7018 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6410 -4.2884 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6410 -3.4616 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.9250 -3.0482 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1 6 1 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\nM END\n> \nHeterocyclic Rings\n\n> \n5\n\n> \n1\n\n$$$$\nPiperidine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 6 6 0 0 0 999 V2000\n 3.0000 -9.5098 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 -10.3366 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.7160 -10.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.4320 -10.3366 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.4320 -9.5098 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.7160 -9.0964 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1 6 1 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\nM END\n> \nHeterocyclic Rings\n\n> \n5\n\n> \n0\n\n$$$$\nPurine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 9 10 0 0 0 999 V2000\n 6.3344 -5.9612 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 7.7641 -5.9608 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0506 -5.5480 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.7641 -6.7878 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3344 -6.7915 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0524 -7.2005 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4800 -7.2028 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 9.1974 -6.7878 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.1974 -5.9608 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 3 1 2 0 0 0\n 4 2 2 0 0 0\n 1 5 1 0 0 0\n 2 3 1 0 0 0\n 5 6 2 0 0 0\n 6 4 1 0 0 0\n 8 9 2 0 0 0\n 7 8 1 0 0 0\n 2 9 1 0 0 0\n 4 7 1 0 0 0\nM END\n> \nHeterocyclic Rings\n\n> \n6\n\n> \n7\n\n$$$$\nPyran\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 6 6 0 0 0 999 V2000\n 4.2090 -3.4616 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2090 -4.2884 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.9250 -4.7018 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6410 -4.2884 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6410 -3.4616 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.9250 -3.0482 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 6 1 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\nM END\n> \nHeterocyclic Rings\n\n> \n0\n\n> \n1\n\n$$$$\nPyrazine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 6 6 0 0 0 999 V2000\n 6.4094 -4.0362 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8391 -4.0358 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1256 -3.6230 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8391 -4.8628 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.4094 -4.8665 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1274 -5.2755 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 3 1 2 0 0 0\n 4 2 2 0 0 0\n 1 5 1 0 0 0\n 2 3 1 0 0 0\n 5 6 2 0 0 0\n 6 4 1 0 0 0\nM END\n> \nHeterocyclic Rings\n\n> \n0\n\n> \n2\n\n$$$$\nPyrazol\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 5 5 0 0 0 999 V2000\n 4.9500 -4.1780 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2815 -3.6923 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5368 -2.9063 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.3632 -2.9063 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6185 -3.6923 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 2 0 0 0\n 1 2 1 0 0 0\n 3 4 1 0 0 0\n 4 5 2 0 0 0\n 5 1 1 0 0 0\nM END\n> \nHeterocyclic Rings\n\n> \n0\n\n> \n0\n\n$$$$\nPyridazine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 6 6 0 0 0 999 V2000\n 6.4094 -4.0362 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8391 -4.0358 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1256 -3.6230 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8391 -4.8628 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.4094 -4.8665 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1274 -5.2755 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 3 1 2 0 0 0\n 4 2 2 0 0 0\n 1 5 1 0 0 0\n 2 3 1 0 0 0\n 5 6 2 0 0 0\n 6 4 1 0 0 0\nM END\n> \nHeterocyclic Rings\n\n> \n0\n\n> \n0\n\n$$$$\nPyridine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 6 6 0 0 0 999 V2000\n 6.4094 -4.0362 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8391 -4.0358 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1256 -3.6230 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8391 -4.8628 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.4094 -4.8665 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1274 -5.2755 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 3 1 2 0 0 0\n 4 2 2 0 0 0\n 1 5 1 0 0 0\n 2 3 1 0 0 0\n 5 6 2 0 0 0\n 6 4 1 0 0 0\nM END\n> \nHeterocyclic Rings\n\n> \n3\n\n> \n1\n\n$$$$\nPyridone\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 7 7 0 0 0 999 V2000\n 5.2590 -5.0116 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.2590 -5.8384 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.9750 -6.2518 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.6910 -5.8384 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.6910 -5.0116 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.9750 -4.5982 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5430 -4.5982 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 6 1 0 0 0\n 1 2 1 0 0 0\n 2 3 2 0 0 0\n 3 4 1 0 0 0\n 4 5 2 0 0 0\n 5 6 1 0 0 0\n 1 7 2 0 0 0\nM END\n> \nHeterocyclic Rings\n\n> \n5\n\n> \n5\n\n$$$$\nPyrimidine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 6 6 0 0 0 999 V2000\n 6.4094 -4.0362 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8391 -4.0358 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1256 -3.6230 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8391 -4.8628 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.4094 -4.8665 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1274 -5.2755 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 3 1 2 0 0 0\n 4 2 2 0 0 0\n 1 5 1 0 0 0\n 2 3 1 0 0 0\n 5 6 2 0 0 0\n 6 4 1 0 0 0\nM END\n> \nHeterocyclic Rings\n\n> \n4\n\n> \n1\n\n$$$$\nPyrole\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 5 5 0 0 0 999 V2000\n 3.6685 -10.0843 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 -9.5986 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.2553 -8.8126 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.0817 -8.8126 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.3370 -9.5986 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 2 0 0 0\n 1 2 1 0 0 0\n 3 4 1 0 0 0\n 4 5 2 0 0 0\n 5 1 1 0 0 0\nM END\n> \nHeterocyclic Rings\n\n$$$$\nPyrone\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 7 7 0 0 0 999 V2000\n 5.2590 -5.0116 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.2590 -5.8384 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.9750 -6.2518 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.6910 -5.8384 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.6910 -5.0116 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.9750 -4.5982 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5430 -4.5982 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 6 1 0 0 0\n 1 2 1 0 0 0\n 2 3 2 0 0 0\n 3 4 1 0 0 0\n 4 5 2 0 0 0\n 5 6 1 0 0 0\n 1 7 2 0 0 0\nM END\n> \nHeterocyclic Rings\n\n> \n4\n\n> \n4\n\n$$$$\nPyrrolidine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 5 5 0 0 0 999 V2000\n 3.7210 -3.9181 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.3632 -3.3980 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 5.0779 -3.8107 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8532 -4.6492 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.0171 -4.6492 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 1 0 0 0\n 1 2 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 1 1 0 0 0\nM END\n> \nHeterocyclic Rings\n\n> \n1\n\n> \n2\n\n$$$$\nQuinoline\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 11 0 0 0 999 V2000\n 7.2094 -5.7112 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6391 -5.7108 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.9256 -5.2980 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6391 -6.5378 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.2094 -6.5415 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.9274 -6.9505 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3533 -5.2990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0698 -5.7124 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3584 -6.9529 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0717 -6.5353 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3 1 2 0 0 0\n 2 4 2 0 0 0\n 1 5 1 0 0 0\n 2 3 1 0 0 0\n 5 6 2 0 0 0\n 6 4 1 0 0 0\n 8 7 2 0 0 0\n 9 10 2 0 0 0\n 10 8 1 0 0 0\n 4 9 1 0 0 0\n 2 7 1 0 0 0\nM END\n> \nHeterocyclic Rings\n\n> \n9\n\n> \n8\n\n$$$$\nTetrahydrofuran\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 5 5 0 0 0 999 V2000\n 3.7210 -3.9181 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.3632 -3.3980 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.0779 -3.8107 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8532 -4.6492 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.0171 -4.6492 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 1 0 0 0\n 1 2 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 1 1 0 0 0\nM END\n> \nHeterocyclic Rings\n\n> \n2\n\n> \n2\n\n$$$$\nTetrahydrothiophene\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 5 5 0 0 0 999 V2000\n 3.7210 -3.9181 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.3632 -3.3980 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0\n 5.0779 -3.8107 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8532 -4.6492 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.0171 -4.6492 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 1 0 0 0\n 1 2 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 1 1 0 0 0\nM END\n> \nHeterocyclic Rings\n\n> \n2\n\n> \n2\n\n$$$$\nTetrazole\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 5 5 0 0 0 999 V2000\n 4.9500 -4.1780 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2815 -3.6923 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5368 -2.9063 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 5.3632 -2.9063 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6185 -3.6923 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 2 0 0 0\n 1 2 1 0 0 0\n 3 4 1 0 0 0\n 4 5 2 0 0 0\n 5 1 1 0 0 0\nM END\n> \nHeterocyclic Rings\n\n> \n0\n\n> \n1\n\n$$$$\nThiophene\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 5 5 0 0 0 999 V2000\n 4.9500 -4.1780 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2815 -3.6923 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5368 -2.9063 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.3632 -2.9063 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6185 -3.6923 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 2 0 0 0\n 1 2 1 0 0 0\n 3 4 1 0 0 0\n 4 5 2 0 0 0\n 5 1 1 0 0 0\nM END\n> \nHeterocyclic Rings\n\n> \n4\n\n> \n3\n\n$$$$\nTriazine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 6 6 0 0 0 999 V2000\n 6.4094 -4.0362 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8391 -4.0358 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1256 -3.6230 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8391 -4.8628 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.4094 -4.8665 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1274 -5.2755 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 3 1 2 0 0 0\n 4 2 2 0 0 0\n 1 5 1 0 0 0\n 2 3 1 0 0 0\n 5 6 2 0 0 0\n 6 4 1 0 0 0\nM END\n> \nHeterocyclic Rings\n\n> \n3\n\n> \n1\n\n$$$$\nTriazole\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 5 5 0 0 0 999 V2000\n 4.9500 -4.1780 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2815 -3.6923 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5368 -2.9063 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 5.3632 -2.9063 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6185 -3.6923 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 2 0 0 0\n 1 2 1 0 0 0\n 3 4 1 0 0 0\n 4 5 2 0 0 0\n 5 1 1 0 0 0\nM END\n> \nHeterocyclic Rings\n\n> \n0\n\n> \n1\n\n$$$$\nALA-L-Alanine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 6 5 0 1 0 999 V2000\n 13.6700 -6.8246 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.6700 -5.8249 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.8002 -5.3251 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 14.5334 -5.3251 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.5334 -4.3254 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.3998 -5.8240 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 6 0 0\n 2 4 1 0 0 0\n 4 5 2 0 0 0\n 4 6 1 0 0 0\nM END\n> \nL-Amino Acids\n\n> \n2\n\n> \n0\n\n$$$$\nARG-L-Arginine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 11 0 1 0 999 V2000\n 12.0694 -4.2443 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7765 -4.9514 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.5148 -5.9202 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5506 -6.1773 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.2934 -7.1415 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.3248 -7.4032 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0676 -8.3674 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.1033 -8.6246 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7747 -9.0745 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 13.7407 -4.6943 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.0024 -3.7255 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.4467 -5.4025 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 6 0 0\n 2 3 1 0 0 0\n 2 10 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 7 8 1 0 0 0\n 7 9 2 0 0 0\n 10 11 2 0 0 0\n 10 12 1 0 0 0\nM END\n> \nL-Amino Acids\n\n> \n0\n\n> \n7\n\n$$$$\nASN-L-Asparagine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 9 8 0 1 0 999 V2000\n 10.8319 -5.4762 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 11.6977 -5.9761 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.6989 -6.9740 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8342 -7.4719 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8321 -8.4753 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9683 -6.9719 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.5657 -5.4726 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.5645 -4.4747 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.4317 -5.9725 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 6 0 0\n 2 3 1 0 0 0\n 2 7 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 4 6 2 0 0 0\n 7 8 2 0 0 0\n 7 9 1 0 0 0\nM END\n> \nL-Amino Acids\n\n> \n0\n\n> \n4\n\n$$$$\nASP-L-Aspartic acid\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 9 8 0 1 0 999 V2000\n 10.7814 -5.6761 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 11.6474 -6.1761 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.6486 -7.1739 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7839 -7.6718 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7818 -8.6752 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9179 -7.1719 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.5154 -5.6726 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.5142 -4.6748 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.3821 -6.1711 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 6 0 0\n 2 3 1 0 0 0\n 2 7 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 4 6 2 0 0 0\n 7 8 2 0 0 0\n 7 9 1 0 0 0\nM END\n> \nL-Amino Acids\n\n> \n0\n\n> \n4\n\n$$$$\nCYS-L-Cysteine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 7 6 0 1 0 999 V2000\n 6.9511 -4.7004 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8205 -5.2000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8205 -6.1991 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.9511 -6.6987 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6834 -4.7004 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6834 -3.7013 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5489 -5.1995 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 6 0 0\n 2 3 1 0 0 0\n 2 5 1 0 0 0\n 3 4 1 0 0 0\n 5 6 2 0 0 0\n 5 7 1 0 0 0\nM END\n> \nL-Amino Acids\n\n> \n0\n\n> \n3\n\n$$$$\nGLN-L-Glutamine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 9 0 1 0 999 V2000\n 11.1341 -5.3758 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 12.0002 -5.8759 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.0015 -6.8739 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1332 -7.3776 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1344 -8.3757 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.2695 -8.8736 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 12.0006 -8.8757 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.8652 -5.3779 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.8673 -4.3743 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.7305 -5.8794 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 6 0 0\n 2 3 1 0 0 0\n 2 8 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 5 7 2 0 0 0\n 8 9 2 0 0 0\n 8 10 1 0 0 0\nM END\n> \nL-Amino Acids\n\n> \n0\n\n> \n5\n\n$$$$\nGLU-L-Glutamic acid\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 9 0 1 0 999 V2000\n 11.4591 -5.3259 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3252 -5.8259 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3265 -6.8240 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4582 -7.3276 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4594 -8.3256 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.5945 -8.8236 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3256 -8.8257 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.1902 -5.3279 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.1923 -4.3243 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.0555 -5.8295 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 6 0 0\n 2 3 1 0 0 0\n 2 8 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 5 7 2 0 0 0\n 8 9 2 0 0 0\n 8 10 1 0 0 0\nM END\n> \nL-Amino Acids\n\n> \n0\n\n> \n5\n\n$$$$\nGLY-Glycine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 5 4 0 0 0 999 V2000\n 10.6670 -7.3750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5331 -6.8750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8010 -6.8750 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3990 -7.3750 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5331 -5.8750 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 3 1 0 0 0\n 2 4 1 0 0 0\n 2 5 2 0 0 0\nM END\n> \nL-Amino Acids\n\n> \n2\n\n> \n1\n\n$$$$\nHIS-L-Histidine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 11 11 0 1 0 999 V2000\n 11.4910 -6.5739 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3584 -7.0771 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3572 -8.0742 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4919 -8.5738 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.3861 -9.5713 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4100 -9.7753 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9104 -8.9099 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.5750 -8.1667 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2237 -6.5775 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2217 -5.5747 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.0896 -7.0762 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 6 0 0\n 2 3 1 0 0 0\n 2 9 1 0 0 0\n 3 4 1 0 0 0\n 4 5 2 0 0 0\n 4 8 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 7 8 2 0 0 0\n 9 10 2 0 0 0\n 9 11 1 0 0 0\nM END\n> \nL-Amino Acids\n\n> \n0\n\n> \n1\n\n$$$$\nILE-L-Isoleucine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 9 8 0 1 0 999 V2000\n 11.8001 -9.8252 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.8020 -8.8218 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.6668 -8.3239 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.5327 -8.8239 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.6656 -7.3261 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.7997 -6.8261 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 13.5336 -6.8225 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.5324 -5.8248 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.4003 -7.3211 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 1 0 0\n 3 5 1 0 0 0\n 5 6 1 6 0 0\n 5 7 1 0 0 0\n 7 8 2 0 0 0\n 7 9 1 0 0 0\nM END\n> \nL-Amino Acids\n\n> \n5\n\n> \n0\n\n$$$$\nLEU-L-Leucine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 9 8 0 1 0 999 V2000\n 12.2568 -9.3502 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.2588 -8.3468 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.3929 -7.8469 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.1235 -7.8489 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.1224 -6.8511 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.2564 -6.3511 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 13.9903 -6.3475 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.9891 -5.3498 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.8571 -6.8461 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 2 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 6 0 0\n 5 7 1 0 0 0\n 7 8 2 0 0 0\n 7 9 1 0 0 0\nM END\n> \nL-Amino Acids\n\n> \n5\n\n> \n0\n\n$$$$\nLYS-L-Lysine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 9 0 1 0 999 V2000\n 10.6692 -9.3254 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6712 -8.3221 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5358 -7.8243 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5346 -6.8266 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.4025 -6.3233 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.4013 -5.3256 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5355 -4.8257 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2659 -4.8278 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2679 -3.8246 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.1308 -5.3291 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 6 0 0\n 6 8 1 0 0 0\n 8 9 2 0 0 0\n 8 10 1 0 0 0\nM END\n> \nL-Amino Acids\n\n> \n6\n\n> \n0\n\n$$$$\nMET-L-Methionine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 9 8 0 1 0 999 V2000\n 11.6195 -9.8247 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.4844 -9.3267 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0\n 12.4832 -8.3287 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.3515 -7.8251 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.3502 -6.8270 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.4841 -6.3270 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 14.2152 -6.3290 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.2173 -5.3253 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.0805 -6.8304 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 6 0 0\n 5 7 1 0 0 0\n 7 8 2 0 0 0\n 7 9 1 0 0 0\nM END\n> \nL-Amino Acids\n\n> \n5\n\n> \n0\n\n$$$$\nPHE-L-Phenylalanine\n Ketcher 4 22514402D 1 1.00000 0.00000 0\n\n 12 12 0 0 1 0 0 0 0 0999 V2000\n 25.2012 -10.8254 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 26.0671 -11.3253 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 26.9332 -10.8254 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 26.9332 -9.8254 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 27.7992 -11.3253 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 26.0671 -12.3253 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 25.2011 -12.8253 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 24.3373 -14.3246 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 25.2014 -13.8260 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 23.4702 -13.8247 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 24.3304 -12.3234 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 23.4676 -12.8290 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 6 0 0\n 2 3 1 0 0 0\n 2 6 1 0 0 0\n 3 4 2 0 0 0\n 3 5 1 0 0 0\n 6 7 1 0 0 0\n 9 7 2 0 0 0\n 7 11 1 0 0 0\n 11 12 2 0 0 0\n 12 10 1 0 0 0\n 10 8 2 0 0 0\n 8 9 1 0 0 0\nM END\n> \nL-Amino Acids\n\n> \n0\n\n> \n0\n\n$$$$\nPRO-L-Proline\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 8 8 0 1 0 999 V2000\n 10.6969 -1.7001 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6956 -2.6978 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8298 -3.1977 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7240 -4.1958 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7473 -4.3999 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.2474 -3.5340 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9124 -2.7903 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4026 -3.4047 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0\n 3 2 1 6 0 0\n 2 8 1 0 0 0\n 3 4 1 0 0 0\n 3 7 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\nM END\n> \nL-Amino Acids\n\n> \n6\n\n> \n2\n\n$$$$\nSER-L-Serine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 7 6 0 1 0 999 V2000\n 10.3261 -6.8754 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1955 -7.3750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1955 -8.3741 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.3261 -8.8737 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.0584 -6.8754 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.0584 -5.8763 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.9239 -7.3745 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 6 0 0\n 2 3 1 0 0 0\n 2 5 1 0 0 0\n 3 4 1 0 0 0\n 5 6 2 0 0 0\n 5 7 1 0 0 0\nM END\n> \nL-Amino Acids\n\n> \n0\n\n> \n3\n\n$$$$\nTHR-L-Threonine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 8 7 0 1 0 999 V2000\n 11.5255 -8.1243 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3953 -7.6246 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2586 -8.1243 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3953 -6.6250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5255 -6.1252 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2586 -6.1252 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2586 -5.1257 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.1245 -6.6245 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 6 0 0\n 2 4 1 0 0 0\n 4 5 1 6 0 0\n 4 6 1 0 0 0\n 6 7 2 0 0 0\n 6 8 1 0 0 0\nM END\n> \nL-Amino Acids\n\n> \n4\n\n> \n0\n\n$$$$\nTRP-L-Tryptophan\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 15 16 0 1 0 999 V2000\n 11.9929 -5.3065 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 12.8877 -5.7594 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.9408 -6.7608 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.0974 -7.3028 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1680 -6.9465 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.5350 -7.7214 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 11.0834 -8.5631 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.0497 -8.3041 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7565 -9.0092 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.4968 -9.9732 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5306 -10.2321 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8239 -9.5270 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.7230 -5.2128 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.6717 -4.2179 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.6150 -5.6658 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 6 0 0\n 2 3 1 0 0 0\n 2 13 1 0 0 0\n 3 4 1 0 0 0\n 4 5 2 0 0 0\n 4 8 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 7 8 2 0 0 0\n 7 12 1 0 0 0\n 8 9 1 0 0 0\n 9 10 2 0 0 0\n 10 11 1 0 0 0\n 11 12 2 0 0 0\n 13 14 2 0 0 0\n 13 15 1 0 0 0\nM END\n> \nL-Amino Acids\n\n> \n0\n\n> \n15\n\n$$$$\nTYR-L-Tyrosine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 13 13 0 1 0 999 V2000\n 12.5019 -5.8250 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 13.3670 -6.3231 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.3658 -7.3212 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.4995 -7.8214 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.5016 -8.8251 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.6354 -9.3253 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7671 -8.8216 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9008 -9.3217 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7683 -7.8234 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.6344 -7.3233 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.2333 -5.8229 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.2344 -4.8247 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.0992 -6.3235 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 6 0 0\n 2 3 1 0 0 0\n 2 11 1 0 0 0\n 3 4 1 0 0 0\n 4 5 2 0 0 0\n 4 10 1 0 0 0\n 5 6 1 0 0 0\n 6 7 2 0 0 0\n 7 8 1 0 0 0\n 7 9 1 0 0 0\n 9 10 2 0 0 0\n 11 12 2 0 0 0\n 11 13 1 0 0 0\nM END\n> \nL-Amino Acids\n\n> \n0\n\n> \n8\n\n$$$$\nVAL-L-Valine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 8 7 0 1 0 999 V2000\n 10.8255 -8.9494 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.6953 -8.4496 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.5586 -8.9494 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.6953 -7.4500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8255 -6.9502 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 12.5586 -6.9502 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.5586 -5.9506 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.4245 -7.4494 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 2 4 1 0 0 0\n 4 5 1 6 0 0\n 4 6 1 0 0 0\n 6 7 2 0 0 0\n 6 8 1 0 0 0\nM END\n> \nL-Amino Acids\n\n> \n4\n\n> \n0\n\n$$$$\nAdenine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 11 0 0 0 999 V2000\n 3.4903 -2.0759 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 4.1974 -1.8369 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 -1.3637 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.1974 -0.9421 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.9070 -2.2584 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 3.4956 -0.6934 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8834 -0.5386 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6333 -1.8449 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6333 -0.9769 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8834 0.2478 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 3 1 0 0 0\n 2 4 2 0 0 0\n 2 5 1 0 0 0\n 3 6 2 0 0 0\n 4 7 1 0 0 0\n 5 8 2 0 0 0\n 7 9 2 0 0 0\n 7 10 1 0 0 0\n 4 6 1 0 0 0\n 8 9 1 0 0 0\nM END\n> \nNucleobases\n\n> \n0\n\n> \n1\n\n$$$$\nCytosine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 8 8 0 0 0 999 V2000\n 3.7084 -1.9709 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 4.4211 -1.5561 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 -1.5602 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.4211 -0.7296 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 5.1335 -1.9667 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 -0.7338 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.7050 -0.3230 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.7050 0.4994 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 3 1 0 0 0\n 2 4 1 0 0 0\n 2 5 2 0 0 0\n 3 6 2 0 0 0\n 4 7 2 0 0 0\n 7 8 1 0 0 0\n 6 7 1 0 0 0\nM END\n> \nNucleobases\n\n> \n0\n\n> \n1\n\n$$$$\nGuanine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 11 12 0 0 0 999 V2000\n 3.4897 0.3839 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 4.1974 0.6221 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 1.0969 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.1974 1.5215 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.9066 0.2000 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5004 1.7668 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8887 1.9244 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6377 0.6171 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6377 1.4853 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8887 2.7154 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3288 0.2133 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 3 1 0 0 0\n 2 4 2 0 0 0\n 2 5 1 0 0 0\n 3 6 2 0 0 0\n 4 7 1 0 0 0\n 5 8 2 0 0 0\n 7 9 1 0 0 0\n 7 10 2 0 0 0\n 4 6 1 0 0 0\n 8 9 1 0 0 0\n 8 11 1 0 0 0\nM END\n> \nNucleobases\n\n> \n0\n\n> \n1\n\n$$$$\nThymine\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 9 9 0 0 0 999 V2000\n 2.4396 -1.5954 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 3.1523 -1.1809 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.7188 -1.1806 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.1523 -0.3502 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 3.8646 -1.5913 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.7189 -0.3543 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.4364 0.0565 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.4364 0.8829 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0104 0.0579 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 3 1 0 0 0\n 2 4 1 0 0 0\n 2 5 2 0 0 0\n 3 6 2 0 0 0\n 4 7 1 0 0 0\n 7 8 2 0 0 0\n 6 7 1 0 0 0\n 6 9 1 0 0 0\nM END\n> \nNucleobases\n\n> \n0\n\n> \n1\n\n$$$$\nUracil\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 8 8 0 0 0 999 V2000\n 3.7124 -0.5250 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 4.4252 -0.1064 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 -0.1145 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.4252 0.7243 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 5.1458 -0.5209 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 0.7202 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.7092 1.1310 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.7092 1.9576 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 3 1 0 0 0\n 2 4 1 0 0 0\n 2 5 2 0 0 0\n 3 6 2 0 0 0\n 4 7 1 0 0 0\n 7 8 2 0 0 0\n 6 7 1 0 0 0\nM END\n> \nNucleobases\n\n> \n0\n\n> \n1\n\n$$$$\nRibose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 14 14 0 1 0 999 V2000\n 3.6483 -1.5101 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.6483 -2.8768 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.6030 -2.5039 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5685 -2.8768 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.9582 -3.4695 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.2479 -3.4695 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.2479 -2.2377 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 3.2479 -4.2134 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.9582 -2.2333 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 1.9582 -4.2134 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5685 -2.0518 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.7706 -2.0564 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5685 -3.8042 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 3.6483 -3.6834 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 1 0 0\n 5 6 1 1 0 0\n 2 6 1 1 0 0\n 6 7 1 0 0 0\n 6 8 1 0 0 0\n 5 9 1 0 0 0\n 5 10 1 0 0 0\n 4 11 1 0 0 0\n 11 12 1 0 0 0\n 4 13 1 0 0 0\n 2 14 1 0 0 0\nM END\n> \nNucleobases\n\n> \n0\n\n> \n11\n\n$$$$\nDeoxyribose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 14 14 0 0 0 999 V2000\n 11.5961 -4.0092 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5961 -5.4644 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1697 -6.0955 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7965 -6.0955 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3815 -5.4644 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4831 -5.0674 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3815 -4.5860 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5320 -4.5909 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3815 -6.4519 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7965 -4.7792 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7965 -6.8876 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1697 -4.7839 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1697 -6.8876 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5961 -6.3232 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 2 6 1 0 0 0\n 6 5 1 0 0 0\n 5 4 1 0 0 0\n 4 3 1 0 0 0\n 2 3 1 0 0 0\n 2 1 1 0 0 0\n 5 7 1 0 0 0\n 7 8 1 0 0 0\n 5 9 1 0 0 0\n 4 10 1 0 0 0\n 4 11 1 0 0 0\n 3 12 1 0 0 0\n 3 13 1 0 0 0\n 2 14 1 0 0 0\nM END\n> \nNucleobases\n\n> \n0\n\n> \n7\n\n$$$$\nRibose monophosphate\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 18 18 0 1 0 999 V2000\n 14.4831 -3.7504 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.4831 -5.1570 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.4073 -4.7732 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3426 -5.1570 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7437 -5.7670 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.0710 -5.7670 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.0710 -4.4993 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 14.0710 -6.5326 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7437 -4.4947 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7437 -6.5326 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3426 -4.3079 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3426 -6.1115 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 14.4831 -5.9871 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 11.2261 -4.3001 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 10.3520 -4.3001 0.0000 P 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4739 -4.3001 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 10.3520 -3.4183 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 10.3520 -5.1818 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 1 0 0\n 5 6 1 1 0 0\n 2 6 1 1 0 0\n 6 7 1 0 0 0\n 6 8 1 0 0 0\n 5 9 1 0 0 0\n 5 10 1 0 0 0\n 4 11 1 0 0 0\n 4 12 1 0 0 0\n 2 13 1 0 0 0\n 14 15 1 0 0 0\n 15 16 1 0 0 0\n 15 17 2 0 0 0\n 15 18 1 0 0 0\n 11 14 1 0 0 0\nM END\n> \nNucleobases\n\n> \n0\n\n> \n14\n\n$$$$\nDeoxyribose monophosphate\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 18 18 0 0 0 999 V2000\n 11.5961 -4.0092 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5961 -5.4644 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1697 -6.0955 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7965 -6.0955 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3815 -5.4644 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4831 -5.0674 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3815 -4.5860 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5320 -4.5909 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6579 -4.5909 0.0000 P 0 0 0 0 0 0 0 0 0 0 0 0\n 6.7798 -4.5909 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6579 -3.7091 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6579 -5.4726 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3815 -6.4519 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7965 -4.7792 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7965 -6.8876 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1697 -4.7839 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1697 -6.8876 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5961 -6.3232 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 2 6 1 0 0 0\n 6 5 1 0 0 0\n 5 4 1 0 0 0\n 4 3 1 0 0 0\n 2 3 1 0 0 0\n 2 1 1 0 0 0\n 5 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 9 11 2 0 0 0\n 9 12 1 0 0 0\n 5 13 1 0 0 0\n 4 14 1 0 0 0\n 4 15 1 0 0 0\n 3 16 1 0 0 0\n 3 17 1 0 0 0\n 2 18 1 0 0 0\nM END\n> \nNucleobases\n\n> \n0\n\n> \n9\n\n$$$$\nAdenosine monophosphate\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 23 25 0 1 0 999 V2000\n 13.0195 -10.5215 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3520 -10.8431 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.6070 -11.4643 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.4320 -11.4643 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.6869 -10.8431 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.6070 -12.2893 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3520 -10.0181 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5270 -10.0181 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.6869 -10.0181 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 15.1983 -8.5670 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.9127 -8.9796 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 15.9127 -9.8046 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.1983 -10.2171 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 14.4838 -9.8046 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.7568 -8.6851 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 14.4838 -8.9796 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2376 -9.3262 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.1983 -7.7420 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 13.4320 -12.2893 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7020 -10.0181 0.0000 P 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7020 -9.1931 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7020 -10.8431 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8770 -10.0181 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 5 1 0 0 0\n 2 3 1 1 0 0\n 2 7 1 0 0 0\n 3 4 1 1 0 0\n 3 6 1 0 0 0\n 5 4 1 1 0 0\n 5 9 1 0 0 0\n 7 8 1 0 0 0\n 14 9 1 0 0 0\n 9 17 1 0 0 0\n 10 11 2 0 0 0\n 10 16 1 0 0 0\n 10 18 1 0 0 0\n 11 12 1 0 0 0\n 12 13 2 0 0 0\n 13 14 1 0 0 0\n 16 14 2 0 0 0\n 15 16 1 0 0 0\n 15 17 2 0 0 0\n 4 19 1 0 0 0\n 8 20 1 0 0 0\n 20 21 2 0 0 0\n 20 22 1 0 0 0\n 20 23 1 0 0 0\nM END\n> \nNucleobases\n\n> \n22\n\n> \n24\n\n$$$$\nAdenosine diphosphate\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 27 29 0 1 0 999 V2000\n 11.2820 -9.5684 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6145 -9.8900 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8695 -10.5112 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.6945 -10.5112 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.9494 -9.8900 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8695 -11.3362 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6145 -9.0650 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7895 -9.0650 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 11.9494 -9.0650 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 13.4608 -7.6139 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.1752 -8.0265 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 14.1752 -8.8515 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.4608 -9.2640 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7463 -8.8515 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.0193 -7.7320 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7463 -8.0265 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5001 -8.3731 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.4608 -6.7889 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 11.6945 -11.3362 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9645 -9.0650 0.0000 P 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9645 -8.2400 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9645 -9.8900 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1395 -9.0650 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3145 -9.0650 0.0000 P 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3145 -8.2400 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3145 -9.8900 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 6.4895 -9.0650 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 5 1 0 0 0\n 2 3 1 1 0 0\n 2 7 1 0 0 0\n 3 4 1 1 0 0\n 3 6 1 0 0 0\n 5 4 1 1 0 0\n 5 9 1 0 0 0\n 7 8 1 0 0 0\n 14 9 1 0 0 0\n 9 17 1 0 0 0\n 10 11 2 0 0 0\n 10 16 1 0 0 0\n 10 18 1 0 0 0\n 11 12 1 0 0 0\n 12 13 2 0 0 0\n 13 14 1 0 0 0\n 16 14 2 0 0 0\n 15 16 1 0 0 0\n 15 17 2 0 0 0\n 4 19 1 0 0 0\n 8 20 1 0 0 0\n 20 21 2 0 0 0\n 20 22 1 0 0 0\n 20 23 1 0 0 0\n 23 24 1 0 0 0\n 24 25 2 0 0 0\n 24 26 1 0 0 0\n 24 27 1 0 0 0\nM END\n> \nNucleobases\n\n> \n26\n\n> \n28\n\n$$$$\nAdenosine triphosphate\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 31 33 0 1 0 999 V2000\n 14.6695 -10.5215 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.0020 -10.8431 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.2570 -11.4643 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.0820 -11.4643 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.3369 -10.8431 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.2570 -12.2893 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.0020 -10.0181 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.1770 -10.0181 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.3369 -10.0181 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 16.8483 -8.5670 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.5627 -8.9796 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 17.5627 -9.8046 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.8483 -10.2171 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 16.1338 -9.8046 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.4068 -8.6851 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 16.1338 -8.9796 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.8876 -9.3262 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.8483 -7.7420 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 15.0820 -12.2893 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3520 -10.0181 0.0000 P 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3520 -9.1931 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3520 -10.8431 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5270 -10.0181 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7020 -10.0181 0.0000 P 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7020 -9.1931 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7020 -10.8431 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8770 -10.0181 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0520 -10.0181 0.0000 P 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0520 -9.1931 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0520 -10.8431 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 8.2270 -10.0181 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 5 1 0 0 0\n 2 3 1 1 0 0\n 2 7 1 0 0 0\n 3 4 1 1 0 0\n 3 6 1 0 0 0\n 5 4 1 1 0 0\n 5 9 1 0 0 0\n 7 8 1 0 0 0\n 14 9 1 0 0 0\n 9 17 1 0 0 0\n 10 11 2 0 0 0\n 10 16 1 0 0 0\n 10 18 1 0 0 0\n 11 12 1 0 0 0\n 12 13 2 0 0 0\n 13 14 1 0 0 0\n 16 14 2 0 0 0\n 15 16 1 0 0 0\n 15 17 2 0 0 0\n 4 19 1 0 0 0\n 8 20 1 0 0 0\n 20 21 2 0 0 0\n 20 22 1 0 0 0\n 20 23 1 0 0 0\n 23 24 1 0 0 0\n 24 25 2 0 0 0\n 24 26 1 0 0 0\n 24 27 1 0 0 0\n 27 28 1 0 0 0\n 28 29 2 0 0 0\n 28 30 1 0 0 0\n 28 31 1 0 0 0\nM END\n> \nNucleobases\n\n> \n30\n\n> \n32\n\n$$$$\nBenzene\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 6 6 0 0 0 999 V2000\n 0.6548 2.2452 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.0813 2.2456 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3694 2.6575 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.0813 1.4204 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.6548 1.4167 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3712 1.0086 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3 1 2 0 0 0\n 4 2 2 0 0 0\n 1 5 1 0 0 0\n 2 3 1 0 0 0\n 5 6 2 0 0 0\n 6 4 1 0 0 0\nM END\n> \nRings\n\n> \n0\n\n> \n0\n\n$$$$\nBoat\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 6 6 0 0 0 999 V2000\n 5.8944 2.4444 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4777 2.4444 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4166 3.9499 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.9277 3.9666 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.2722 3.2222 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.0277 3.2222 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 1 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 3 1 0 0 0\nM END\n> \nRings\n\n> \n3\n\n> \n2\n\n$$$$\nChair\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 6 6 0 0 0 999 V2000\n 8.5333 5.5888 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.1166 6.6110 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9111 6.0833 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2555 6.0833 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0277 5.5888 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6166 6.6222 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 1 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 3 1 0 0 0\nM END\n> \nRings\n\n> \n0\n\n> \n0\n\n$$$$\nChair1\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 6 6 0 0 0 999 V2000\n 4.9944 2.4555 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.7388 3.0777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2777 2.1666 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4055 4.1610 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5333 3.5388 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1166 4.4555 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 1 1 0 0 0\nM END\n> \nRings\n\n> \n0\n\n> \n0\n\n$$$$\nChair2\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 6 6 0 0 0 999 V2000\n 10.4055 2.4555 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6611 3.0777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1222 2.1666 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.9944 4.1610 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.8666 3.5388 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2833 4.4555 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 1 1 0 0 0\nM END\n> \nRings\n\n> \n0\n\n> \n0\n\n$$$$\nChair3\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 18 18 0 0 0 999 V2000\n 5.0777 4.5777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4888 9.8610 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.2000 10.1555 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.8222 8.7777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3611 4.2888 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.3277 7.0332 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.0777 6.3666 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4888 8.0721 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.2388 7.4055 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6166 5.6610 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8666 7.8666 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.2000 8.3666 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3611 6.0777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7777 6.6610 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.8222 6.9888 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.0333 5.6610 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4055 8.7777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6166 7.4499 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7 15 1 0 0 0\n 15 13 1 0 0 0\n 13 8 1 0 0 0\n 8 18 1 0 0 0\n 18 12 1 0 0 0\n 12 7 1 0 0 0\n 1 7 1 0 0 0\n 8 2 1 0 0 0\n 12 3 1 0 0 0\n 15 4 1 0 0 0\n 5 13 1 0 0 0\n 6 7 1 0 0 0\n 8 9 1 0 0 0\n 10 18 1 0 0 0\n 11 12 1 0 0 0\n 13 14 1 0 0 0\n 15 16 1 0 0 0\n 17 18 1 0 0 0\nM END\n> \nRings\n\n> \n0\n\n> \n5\n\n$$$$\nChair4\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 18 18 0 0 0 999 V2000\n 10.4888 4.5777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.0777 9.8610 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3666 10.1555 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7444 8.7777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.2055 4.2888 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.2388 7.0332 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4888 6.3666 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.0777 8.0721 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.3277 7.4055 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.9500 5.6610 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7000 7.8666 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3666 8.3666 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.2055 6.0777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.7888 6.6610 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7444 6.9888 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5333 5.6610 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1611 8.7777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.9500 7.4499 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7 15 1 0 0 0\n 15 13 1 0 0 0\n 13 8 1 0 0 0\n 8 18 1 0 0 0\n 18 12 1 0 0 0\n 12 7 1 0 0 0\n 1 7 1 0 0 0\n 8 2 1 0 0 0\n 12 3 1 0 0 0\n 15 4 1 0 0 0\n 5 13 1 0 0 0\n 6 7 1 0 0 0\n 8 9 1 0 0 0\n 10 18 1 0 0 0\n 11 12 1 0 0 0\n 13 14 1 0 0 0\n 15 16 1 0 0 0\n 17 18 1 0 0 0\nM END\n> \nRings\n\n> \n0\n\n> \n5\n\n$$$$\nCyclopentadiene\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 5 5 0 0 0 999 V2000\n 3.8091 8.2444 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.3091 6.7055 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.6181 7.6510 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.3091 6.7055 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 7.6510 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 5 1 0 0 0\n 2 3 2 0 0 0\n 3 1 1 0 0 0\n 4 2 1 0 0 0\n 5 4 2 0 0 0\nM END\n> \nRings\n\n> \n0\n\n> \n0\n\n$$$$\nCyclopentadiene\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 5 5 0 0 0 999 V2000\n 14.3500 -2.6500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.2160 -3.1500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.2160 -4.1500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.4840 -4.1500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.4840 -3.1500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 2 0 0 0\n 4 5 2 0 0 0\n 5 1 1 0 0 0\n 4 3 1 0 0 0\nM END\n> \nRings\n\n> \n0\n\n> \n0\n\n$$$$\nRing3\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 3 3 0 0 0 999 V2000\n 2.6123 1.5663 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.6098 1.5663 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.1111 2.4280 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 3 1 0 0 0\n 2 3 1 0 0 0\nM END\n> \nRings\n\n$$$$\nRing4\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 4 4 0 0 0 999 V2000\n 3.4956 1.8862 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.4919 2.8804 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.4846 1.8991 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.4821 2.8804 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 3 1 0 0 0\n 2 4 1 0 0 0\n 3 4 1 0 0 0\nM END\n> \nRings\n\n$$$$\nRing5\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 5 5 0 0 0 999 V2000\n 3.3632 3.2710 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.3649 3.2710 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0647 2.3206 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.6686 2.2948 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.8751 1.7233 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 3 1 0 0 0\n 2 4 1 0 0 0\n 3 5 1 0 0 0\n 4 5 1 0 0 0\nM END\n> \nRings\n\n$$$$\nRing5\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 5 5 0 0 0 999 V2000\n 2.2500 1.3250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.1160 0.8250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.1160 -0.1750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3840 -0.1750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3840 0.8250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 4 5 1 0 0 0\n 5 1 1 0 0 0\n 4 3 1 0 0 0\nM END\n> \nRings\n\n$$$$\nRing6\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 6 6 0 0 0 999 V2000\n 2.5500 3.6722 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5500 2.6722 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.4160 2.1722 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2820 2.6722 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2820 3.6722 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.4160 4.1722 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 6 1 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\nM END\n> \nRings\n\n$$$$\nRing7\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 7 7 0 0 0 999 V2000\n 21.4111 6.3389 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 22.1938 6.9555 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 23.1653 6.7333 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 23.5987 5.8389 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 21.4166 5.3333 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 23.1660 4.9333 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 22.1938 4.7111 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 6 1 0 0 0\n 1 5 1 0 0 0\n 5 7 1 0 0 0\n 6 7 1 0 0 0\nM END\n> \nRings\n\n> \n0\n\n> \n0\n\n$$$$\nRing8\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 8 8 0 0 0 999 V2000\n 2.9268 2.2122 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.9270 3.2099 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.6288 3.9118 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.6290 1.5102 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.6266 1.5102 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.3286 2.2122 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.3285 3.2099 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.6266 3.9119 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 1 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 7 8 1 0 0 0\n 8 3 1 0 0 0\nM END\n> \nRings\n\n$$$$\nRing9\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 9 9 0 0 0 999 V2000\n 2.7667 2.2210 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5972 3.2097 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0962 4.0662 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5313 1.5810 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5375 1.5810 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.2993 2.2169 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.4693 3.1987 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.0364 4.4023 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.9746 4.0565 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 1 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 8 3 1 0 0 0\n 8 9 1 0 0 0\n 9 7 1 0 0 0\nM END\n> \nRings\n\n$$$$\nRing10\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 10 10 0 0 0 999 V2000\n 3.5215 2.9499 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3132 2.5249 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3132 1.6750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.0493 2.9499 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.7854 2.5249 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.7854 1.6750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5215 1.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2575 1.6750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2575 2.5249 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.0493 1.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8 9 1 0 0 0\n 3 10 1 0 0 0\n 10 6 1 0 0 0\n 5 4 1 0 0 0\n 4 2 1 0 0 0\n 6 7 1 0 0 0\n 7 8 1 0 0 0\n 2 3 1 0 0 0\n 9 1 1 0 0 0\n 1 5 1 0 0 0\nM END\n> \nRings\n\n> \n0\n\n> \n0\n\n$$$$\nRing11\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 11 11 0 0 0 999 V2000\n 3.7115 0.9202 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.6673 0.9202 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8179 1.8392 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.7664 2.5772 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8179 3.2138 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.6382 4.1686 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.6721 4.1677 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.4599 3.2440 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5335 3.0226 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5480 2.0636 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.4840 1.8574 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 10 11 1 0 0 0\n 11 1 1 0 0 0\n 4 5 1 0 0 0\nM END\n> \nRings\n\n$$$$\nRing12\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 12 12 0 0 0 999 V2000\n 3.7276 1.1285 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.7247 1.1285 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.9441 2.1019 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.9082 2.3309 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.9040 3.3264 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.9232 3.5474 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.6929 4.5158 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.6906 4.5147 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.4660 3.5463 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5063 3.3181 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5162 2.3234 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.4980 2.1108 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 10 11 1 0 0 0\n 11 12 1 0 0 0\n 12 1 1 0 0 0\nM END\n> \nRings\n\n> \n0\n\n> \n0\n\n$$$$\nRing13\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 13 13 0 0 0 999 V2000\n 3.2666 4.9710 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.4574 4.9486 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.9755 4.0189 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.7213 3.9768 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.0441 3.6774 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6650 3.7016 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.0441 2.6968 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.7099 2.6175 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.9763 2.4069 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.6652 2.4096 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0491 1.4518 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.6845 1.4484 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.9051 1.1289 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 3 1 0 0 0\n 2 4 1 0 0 0\n 3 5 1 0 0 0\n 4 6 1 0 0 0\n 5 7 1 0 0 0\n 6 8 1 0 0 0\n 7 9 1 0 0 0\n 8 10 1 0 0 0\n 9 11 1 0 0 0\n 10 12 1 0 0 0\n 11 13 1 0 0 0\n 12 13 1 0 0 0\n 1 2 1 0 0 0\nM END\n> \nRings\n\n> \n0\n\n> \n12\n\n$$$$\nRing14\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 14 14 0 0 0 999 V2000\n 6.8995 3.2081 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3539 4.0579 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3678 2.3687 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.3685 3.9274 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.3883 2.5015 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.9655 4.8438 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.9885 1.5835 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.9602 4.8347 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.9932 1.5783 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5727 3.9117 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5892 2.4908 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5971 4.0366 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.6111 2.3505 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.0671 3.1903 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 3 1 0 0 0\n 2 4 1 0 0 0\n 3 5 1 0 0 0\n 4 6 1 0 0 0\n 5 7 1 0 0 0\n 6 8 1 0 0 0\n 7 9 1 0 0 0\n 8 10 1 0 0 0\n 9 11 1 0 0 0\n 10 12 1 0 0 0\n 11 13 1 0 0 0\n 12 14 1 0 0 0\n 13 14 1 0 0 0\nM END\n> \nRings\n\n$$$$\nRing15\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 15 15 0 0 0 999 V2000\n 6.3839 2.8393 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.0478 1.8979 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.0286 1.8979 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.6750 0.9634 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.6672 0.9934 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.3752 1.9525 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.3912 2.0190 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.1293 2.9718 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.9384 3.5389 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.6710 4.4863 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.4746 5.0532 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2796 4.4781 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.1008 5.0326 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.9121 4.4093 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5968 3.4606 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 3 4 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 10 11 1 0 0 0\n 7 8 1 0 0 0\n 12 13 1 0 0 0\n 13 14 1 0 0 0\n 14 15 1 0 0 0\n 11 12 1 0 0 0\n 1 15 1 0 0 0\nM END\n> \nRings\n\n$$$$\nRing16\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 16 16 0 0 0 999 V2000\n 5.3307 1.4944 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8666 2.4944 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.4647 0.9944 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8666 4.4944 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0006 3.9944 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0006 2.9944 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8666 1.4944 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.7326 0.9944 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5987 1.4944 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.7326 3.9944 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5987 4.4944 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.4647 3.9944 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.3307 2.4944 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1967 2.9944 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1967 3.9944 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.3307 4.4944 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9 3 1 0 0 0\n 3 1 1 0 0 0\n 1 13 1 0 0 0\n 10 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 2 1 0 0 0\n 2 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 12 11 1 0 0 0\n 11 10 1 0 0 0\n 13 14 1 0 0 0\n 14 15 1 0 0 0\n 15 16 1 0 0 0\n 16 12 1 0 0 0\nM END\n> \nRings\n\n> \n0\n\n> \n1\n\n$$$$\nRing18\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 18 18 0 0 0 999 V2000\n 6.7675 4.0116 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.7675 3.0235 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.8338 2.6634 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.9136 1.6865 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.0241 1.2306 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2362 1.8639 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.4295 1.2651 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5501 1.7405 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.6379 2.7240 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.7034 3.0885 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.7024 4.0770 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.6366 4.4288 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5561 5.4110 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.4362 5.8637 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2239 5.2349 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.0336 5.8456 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.9184 5.3645 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.8307 4.3812 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 3 4 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 10 11 1 0 0 0\n 7 8 1 0 0 0\n 12 13 1 0 0 0\n 13 14 1 0 0 0\n 14 15 1 0 0 0\n 11 12 1 0 0 0\n 16 17 1 0 0 0\n 17 18 1 0 0 0\n 15 16 1 0 0 0\n 1 18 1 0 0 0\nM END\n> \nRings\n\n> \n0\n\n> \n0\n\n$$$$\nRing20\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 20 20 0 0 0 999 V2000\n 5.1641 6.8777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.7000 5.8777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.7000 6.8777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5660 7.3777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.4320 6.8777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2980 7.3777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.1641 5.8777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.0301 4.3777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.0301 5.3777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.1641 3.8777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.1641 2.8777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2980 2.3777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5660 1.3777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.4320 0.8777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2980 1.3777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.8339 5.3777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.8339 4.3777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.7000 3.8777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.6999 2.8777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5660 2.3777 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3 2 1 0 0 0\n 5 4 1 0 0 0\n 4 3 1 0 0 0\n 7 1 1 0 0 0\n 1 6 1 0 0 0\n 6 5 1 0 0 0\n 10 8 1 0 0 0\n 8 9 1 0 0 0\n 9 7 1 0 0 0\n 12 11 1 0 0 0\n 11 10 1 0 0 0\n 20 13 1 0 0 0\n 13 14 1 0 0 0\n 14 15 1 0 0 0\n 15 12 1 0 0 0\n 2 16 1 0 0 0\n 16 17 1 0 0 0\n 17 18 1 0 0 0\n 18 19 1 0 0 0\n 19 20 1 0 0 0\nM END\n> \nRings\n\n> \n13\n\n> \n13\n\n$$$$\nRing21\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 21 21 0 0 0 999 V2000\n 13.0927 4.9401 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.7000 5.4856 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.7000 4.3856 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4537 6.0258 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4631 7.1298 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5095 7.6878 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5428 7.1369 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.5875 7.6838 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.6370 7.1269 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.6419 6.0230 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.6614 3.8372 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.6675 2.7393 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6235 2.1978 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5583 2.7574 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5110 2.2085 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4619 2.7621 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4601 3.8647 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4049 5.4888 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4047 4.3920 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.4478 4.0529 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.4480 5.8274 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 1 0 0 0\n 2 10 1 0 0 0\n 3 11 1 0 0 0\n 17 19 1 0 0 0\n 18 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 1 0 0 0\n 9 10 1 0 0 0\n 11 12 1 0 0 0\n 12 13 1 0 0 0\n 13 14 1 0 0 0\n 14 15 1 0 0 0\n 15 16 1 0 0 0\n 16 17 1 0 0 0\n 19 20 1 0 0 0\n 20 1 1 0 0 0\n 1 21 1 0 0 0\n 21 18 1 0 0 0\nM END\n> \nRings\n\n> \n0\n\n> \n0\n\n$$$$\nalpha-D-Allopyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 17 17 0 1 0 999 V2000\n -4.1124 6.2007 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.6076 4.1259 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.5974 5.2058 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4025 4.8658 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.5974 6.0607 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -5.3373 4.7808 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.9974 3.2709 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.2076 5.2058 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.7775 5.3207 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -1.6076 3.2709 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.1476 3.8958 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4025 4.0109 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1124 5.3507 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7577 4.3259 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -2.7775 4.4658 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.9974 4.1259 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.8224 4.3259 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 8 2 1 0 0 0\n 2 15 1 1 0 0\n 3 16 1 1 0 0\n 3 4 1 0 0 0\n 8 4 1 0 0 0\n 3 5 1 0 0 0\n 3 6 1 0 0 0\n 7 16 1 0 0 0\n 17 16 1 0 0 0\n 9 15 1 0 0 0\n 2 10 1 0 0 0\n 11 15 1 0 0 0\n 4 12 1 0 0 0\n 4 13 1 0 0 0\n 2 14 1 0 0 0\n 15 16 1 1 0 0\n 13 1 1 0 0 0\nM END\n> \nSugars\n\n> \n9\n\n> \n16\n\n$$$$\nalpha-D-Altropyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 17 17 0 1 0 999 V2000\n -6.8433 4.3051 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.3385 2.2303 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -7.3283 3.3102 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -6.1334 2.9703 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -7.3283 4.1651 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -8.0682 2.8852 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -6.7283 1.3754 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.9384 3.3102 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.5084 3.4252 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.3385 1.3754 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.8784 2.0003 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -6.1334 2.1154 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -6.8433 3.4551 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4886 2.4303 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -5.5084 2.5702 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -6.7283 2.2303 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -7.5532 2.4303 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 8 2 1 0 0 0\n 2 15 1 1 0 0\n 3 16 1 1 0 0\n 3 4 1 0 0 0\n 8 4 1 0 0 0\n 3 5 1 0 0 0\n 3 6 1 0 0 0\n 7 16 1 0 0 0\n 17 16 1 0 0 0\n 9 15 1 0 0 0\n 2 10 1 0 0 0\n 11 15 1 0 0 0\n 4 12 1 0 0 0\n 4 13 1 0 0 0\n 2 14 1 0 0 0\n 15 16 1 1 0 0\n 13 1 1 0 0 0\nM END\n> \nSugars\n\n> \n9\n\n> \n16\n\n$$$$\nalpha-D-Galactopyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 17 17 0 1 0 999 V2000\n -6.4899 2.6666 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.9851 0.5918 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -6.9748 1.6717 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -5.7800 1.3317 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -6.9748 2.5266 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -7.7148 1.2467 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -6.3749 -0.2631 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -7.1998 0.7918 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.1550 1.7866 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -3.9851 -0.2631 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.5250 0.3618 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.7800 0.4768 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -6.4899 1.8166 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.1352 0.7918 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -5.1550 0.9317 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -6.3749 0.5918 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.5850 1.6717 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 17 2 1 0 0 0\n 2 15 1 1 0 0\n 3 16 1 1 0 0\n 3 4 1 0 0 0\n 17 4 1 0 0 0\n 3 5 1 0 0 0\n 3 6 1 0 0 0\n 7 16 1 0 0 0\n 8 16 1 0 0 0\n 9 15 1 0 0 0\n 2 10 1 0 0 0\n 11 15 1 0 0 0\n 4 12 1 0 0 0\n 4 13 1 0 0 0\n 2 14 1 0 0 0\n 15 16 1 1 0 0\n 13 1 1 0 0 0\nM END\n> \nSugars\n\n> \n9\n\n> \n16\n\n$$$$\nalpha-D-Glucopyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 17 17 0 1 0 999 V2000\n -7.7107 -0.2570 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.2094 -2.3086 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -8.1903 -1.2408 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -7.0088 -1.5769 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -8.1903 -0.3955 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -5.8273 -1.2408 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -7.5674 -3.1539 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -8.3831 -2.1108 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -6.3908 -1.1271 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -5.2094 -3.1539 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.7680 -2.5360 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -7.0088 -2.4222 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -7.7107 -1.0975 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.3937 -2.1108 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -6.3908 -1.9725 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -7.5674 -2.3086 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -8.8923 -1.6610 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 6 2 1 0 0 0\n 2 15 1 1 0 0\n 3 16 1 1 0 0\n 3 4 1 0 0 0\n 6 4 1 0 0 0\n 3 5 1 0 0 0\n 3 17 1 0 0 0\n 7 16 1 0 0 0\n 8 16 1 0 0 0\n 9 15 1 0 0 0\n 2 10 1 0 0 0\n 11 15 1 0 0 0\n 4 12 1 0 0 0\n 4 13 1 0 0 0\n 2 14 1 0 0 0\n 15 16 1 1 0 0\n 13 1 1 0 0 0\nM END\n> \nSugars\n\n> \n9\n\n> \n16\n\n$$$$\nalpha-D-Gulopyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 17 17 0 1 0 999 V2000\n -5.8152 3.8232 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.2901 1.7531 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -6.2952 2.8332 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -5.1052 2.4882 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -6.2952 3.6832 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.9101 2.8332 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.6702 0.9031 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -6.5202 1.9532 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -4.4801 2.9432 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -3.2901 0.9031 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8551 1.5281 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.1052 1.6382 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -5.8152 2.9732 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.4651 1.9532 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -4.4801 2.0931 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -5.6702 1.7531 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -7.0302 2.4032 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 6 2 1 0 0 0\n 2 15 1 1 0 0\n 3 16 1 1 0 0\n 3 4 1 0 0 0\n 6 4 1 0 0 0\n 3 5 1 0 0 0\n 3 17 1 0 0 0\n 7 16 1 0 0 0\n 8 16 1 0 0 0\n 9 15 1 0 0 0\n 2 10 1 0 0 0\n 11 15 1 0 0 0\n 4 12 1 0 0 0\n 4 13 1 0 0 0\n 2 14 1 0 0 0\n 15 16 1 1 0 0\n 13 1 1 0 0 0\nM END\n> \nSugars\n\n> \n9\n\n> \n16\n\n$$$$\nalpha-D-Idopyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 17 17 0 1 0 999 V2000\n -6.0079 2.7309 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4782 0.6560 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -6.4929 1.7359 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -5.2981 1.3960 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -6.4929 2.5909 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1031 1.7359 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.8630 -0.1989 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -6.6879 0.8561 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -4.6731 1.8509 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4782 -0.1989 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.0431 0.4260 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -5.2981 0.5411 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -6.0079 1.8809 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6533 0.8561 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -4.6731 0.9960 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -5.8630 0.6560 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -7.2329 1.3109 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 6 2 1 0 0 0\n 2 15 1 1 0 0\n 3 16 1 1 0 0\n 3 4 1 0 0 0\n 6 4 1 0 0 0\n 3 5 1 0 0 0\n 3 17 1 0 0 0\n 7 16 1 0 0 0\n 8 16 1 0 0 0\n 9 15 1 0 0 0\n 2 10 1 0 0 0\n 11 15 1 0 0 0\n 4 12 1 0 0 0\n 4 13 1 0 0 0\n 2 14 1 0 0 0\n 15 16 1 1 0 0\n 13 1 1 0 0 0\nM END\n> \nSugars\n\n> \n9\n\n> \n16\n\n$$$$\nalpha-D-Mannopyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 17 17 0 1 0 999 V2000\n -5.5581 1.8634 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.0527 -0.1676 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -6.0375 0.8751 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.8565 0.5342 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -6.0375 1.7202 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -6.7441 0.4501 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.4199 -1.0126 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -6.2352 0.0005 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.2339 1.0134 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.0527 -1.0126 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.6161 -0.4246 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -4.8565 -0.3109 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -5.5581 1.0134 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.2325 0.0301 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -4.2339 0.1684 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -5.4199 -0.1676 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.6705 0.8751 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 17 2 1 0 0 0\n 2 15 1 1 0 0\n 3 16 1 1 0 0\n 3 4 1 0 0 0\n 17 4 1 0 0 0\n 3 5 1 0 0 0\n 3 6 1 0 0 0\n 7 16 1 0 0 0\n 8 16 1 0 0 0\n 9 15 1 0 0 0\n 2 10 1 0 0 0\n 11 15 1 0 0 0\n 4 12 1 0 0 0\n 4 13 1 0 0 0\n 2 14 1 0 0 0\n 15 16 1 1 0 0\n 13 1 1 0 0 0\nM END\n> \nSugars\n\n> \n9\n\n> \n16\n\n$$$$\nalpha-D-Talopyranose\n Ketcher 11161713142D 1 1.00000 0.00000 0\n\n 17 17 0 1 0 999 V2000\n -6.3613 0.1928 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8363 -1.8473 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -6.8414 -0.7673 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -5.6514 -1.1373 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -6.8414 0.0827 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -7.5764 -1.2223 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -6.2164 -2.6973 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -7.0414 -1.6773 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.0263 -0.6572 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8363 -2.6973 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -4.4013 -2.0723 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -5.6514 -1.9874 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -6.3613 -0.6572 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.0113 -1.6473 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -5.0263 -1.5074 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -6.2164 -1.8473 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.4562 -0.7673 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 17 2 1 0 0 0\n 2 15 1 1 0 0\n 3 16 1 1 0 0\n 3 4 1 0 0 0\n 17 4 1 0 0 0\n 3 5 1 0 0 0\n 3 6 1 0 0 0\n 7 16 1 0 0 0\n 8 16 1 0 0 0\n 9 15 1 0 0 0\n 2 10 1 0 0 0\n 11 15 1 0 0 0\n 4 12 1 0 0 0\n 4 13 1 0 0 0\n 2 14 1 0 0 0\n 15 16 1 1 0 0\n 13 1 1 0 0 0\nM END\n> \nSugars\n\n> \n9\n\n> \n16\n\n$$$$\nfullerene C60\n Ketcher 3131814142D 1 1.00000 0.00000 0\n\n 60 90 0 0 0 999 V2000\n 8.1533 -10.1609 -0.1552 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.5120 -9.2753 0.7287 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7211 -9.6737 -1.3649 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.4284 -7.8924 0.4121 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6441 -6.9280 1.4115 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8106 -9.6782 2.0415 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.0295 -8.7030 3.0509 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.9469 -7.3351 2.7388 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6766 -11.1024 -1.0190 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.1155 -11.5835 0.1778 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9755 -10.1416 -1.7961 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8475 -11.1110 0.6132 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6349 -10.8139 1.9708 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1564 -11.7548 1.1061 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.9409 -11.4548 2.4787 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.6874 -10.9874 2.9088 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.0739 -8.9381 -2.1897 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7682 -9.8885 -1.4198 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6696 -9.0654 -2.3772 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.0644 -10.9756 -0.8317 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3595 -11.3790 0.4827 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.7598 -9.2142 -0.6853 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.0558 -9.6210 0.6448 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.3611 -10.6974 1.2254 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4123 -6.6547 -2.0401 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.8008 -6.5277 -1.8552 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8430 -7.9304 -2.3022 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.6373 -7.6755 -1.9309 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.6791 -7.8462 -1.0006 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.0147 -5.5656 -0.8513 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.0674 -5.7391 0.0877 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.8951 -6.8726 0.0134 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.9892 -7.4108 -0.7846 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5523 -6.1489 -0.5256 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6396 -8.3057 -1.6776 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7701 -5.7695 -1.1557 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7608 -5.0959 -0.4209 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.3383 -5.8515 0.8323 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3403 -5.1700 1.5751 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.5444 -4.7952 0.9518 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.5476 -6.3919 2.2132 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.8535 -5.4411 1.4456 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5858 -4.9664 1.8803 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.9810 -6.8781 3.4234 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.7114 -9.1401 2.8425 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.2717 -8.6582 1.6457 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.1904 -7.2758 1.3282 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.0632 -8.2456 3.7369 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.2924 -9.8955 4.0975 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.9320 -10.7811 3.2133 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.1480 -10.4012 2.5830 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.8614 -8.6206 4.3621 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.6340 -7.6127 4.2389 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0720 -8.8741 3.9774 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9055 -10.0226 3.9070 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.0361 -7.4850 4.4331 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.0254 -5.4466 3.0771 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.6379 -5.5719 2.8889 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9380 -6.6611 3.4734 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.7278 -6.4079 3.8535 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 1 0 0 0 0\n 1 12 1 0 0 0 0\n 2 4 1 0 0 0 0\n 2 6 1 0 0 0 0\n 3 11 2 0 0 0 0\n 3 35 1 0 0 0 0\n 4 5 2 0 0 0 0\n 4 33 1 0 0 0 0\n 5 8 1 0 0 0 0\n 5 38 1 0 0 0 0\n 6 7 2 0 0 0 0\n 6 13 1 0 0 0 0\n 7 8 1 0 0 0 0\n 7 54 1 0 0 0 0\n 8 59 2 0 0 0 0\n 9 10 2 0 0 0 0\n 9 11 1 0 0 0 0\n 9 20 1 0 0 0 0\n 10 12 1 0 0 0 0\n 10 14 1 0 0 0 0\n 11 19 1 0 0 0 0\n 12 13 2 0 0 0 0\n 13 16 1 0 0 0 0\n 14 15 2 0 0 0 0\n 14 21 1 0 0 0 0\n 15 16 1 0 0 0 0\n 15 50 1 0 0 0 0\n 16 55 2 0 0 0 0\n 17 18 1 0 0 0 0\n 17 19 2 0 0 0 0\n 17 28 1 0 0 0 0\n 18 20 2 0 0 0 0\n 18 22 1 0 0 0 0\n 19 27 1 0 0 0 0\n 20 21 1 0 0 0 0\n 21 24 2 0 0 0 0\n 22 23 2 0 0 0 0\n 22 29 1 0 0 0 0\n 23 24 1 0 0 0 0\n 23 46 1 0 0 0 0\n 24 51 1 0 0 0 0\n 25 26 1 0 0 0 0\n 25 27 2 0 0 0 0\n 25 36 1 0 0 0 0\n 26 28 2 0 0 0 0\n 26 30 1 0 0 0 0\n 27 35 1 0 0 0 0\n 28 29 1 0 0 0 0\n 29 32 2 0 0 0 0\n 30 31 2 0 0 0 0\n 30 37 1 0 0 0 0\n 31 32 1 0 0 0 0\n 31 42 1 0 0 0 0\n 32 47 1 0 0 0 0\n 33 34 1 0 0 0 0\n 33 35 2 0 0 0 0\n 34 36 2 0 0 0 0\n 34 38 1 0 0 0 0\n 36 37 1 0 0 0 0\n 37 40 2 0 0 0 0\n 38 39 2 0 0 0 0\n 39 40 1 0 0 0 0\n 39 58 1 0 0 0 0\n 40 43 1 0 0 0 0\n 41 42 1 0 0 0 0\n 41 44 2 0 0 0 0\n 41 47 1 0 0 0 0\n 42 43 2 0 0 0 0\n 43 57 1 0 0 0 0\n 44 48 1 0 0 0 0\n 44 60 1 0 0 0 0\n 45 46 1 0 0 0 0\n 45 48 2 0 0 0 0\n 45 51 1 0 0 0 0\n 46 47 2 0 0 0 0\n 48 52 1 0 0 0 0\n 49 50 1 0 0 0 0\n 49 52 2 0 0 0 0\n 49 55 1 0 0 0 0\n 50 51 2 0 0 0 0\n 52 56 1 0 0 0 0\n 53 54 2 0 0 0 0\n 53 56 1 0 0 0 0\n 53 59 1 0 0 0 0\n 54 55 1 0 0 0 0\n 56 60 2 0 0 0 0\n 57 58 2 0 0 0 0\n 57 60 1 0 0 0 0\n 58 59 1 0 0 0 0\nM END\n> \n3D Templates\n\n> \n18\n\n> \n34\n\n> \nC60\n\n$$$$\nadamantane\n Ketcher 3131814142D 1 1.00000 0.00000 0\n\n 10 12 0 0 0 999 V2000\n 15.2172 -8.1314 1.0220 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.4398 -7.4133 -0.1292 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2919 -8.3429 -0.6392 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.9004 -9.6792 -1.1737 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.6785 -10.3958 -0.0237 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.8276 -9.4680 0.4869 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.8081 -9.1570 -0.6894 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.0325 -8.4390 -1.8401 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.4215 -7.1042 -1.3049 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.8828 -9.3683 -2.3500 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 4 10 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 2 9 1 0 0 0 0\n 1 6 1 0 0 0 0\n 6 7 1 0 0 0 0\n 7 8 1 0 0 0 0\n 8 9 1 0 0 0 0\n 5 6 1 0 0 0 0\n 8 10 1 0 0 0 0\n 2 3 1 0 0 0 0\nM END\n> \n3D Templates\n\n> \n1\n\n> \n0\n> \nadamantane\n\n$$$$\ncubane\n Ketcher 3131814142D 1 1.00000 0.00000 0\n\n 8 12 0 0 0 999 V2000\n 10.5569 -9.9029 4.2925 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2017 -9.5628 4.9812 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.5825 -8.4868 3.6463 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.3483 -7.9339 4.8851 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9705 -9.0155 6.2193 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.3256 -9.3519 5.5298 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2296 -8.1444 4.3386 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9966 -7.5972 5.5784 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 0 0 0 0\n 3 1 1 0 0 0 0\n 1 6 1 0 0 0 0\n 2 5 1 0 0 0 0\n 7 2 1 0 0 0 0\n 3 4 1 0 0 0 0\n 7 3 1 0 0 0 0\n 4 6 1 0 0 0 0\n 8 4 1 0 0 0 0\n 5 6 1 0 0 0 0\n 8 5 1 0 0 0 0\n 8 7 1 0 0 0 0\nM END\n> \n0\n\n> \n0\n\n> \n3D Templates\n\n> \ncubane\n\n$$$$\nring 6 boat\n Ketcher 3131814142D 1 1.00000 0.00000 0\n\n 18 18 0 0 0 999 V2000\n 11.2934 -7.8385 -0.6482 H 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2480 -6.3919 0.1251 H 0 0 0 0 0 0 0 0 0 0 0 0\n 12.1209 -8.2282 2.2065 H 0 0 0 0 0 0 0 0 0 0 0 0\n 12.5795 -10.2283 0.6541 H 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2777 -9.8706 -1.8252 H 0 0 0 0 0 0 0 0 0 0 0 0\n 13.5448 -7.5081 -2.7767 H 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7930 -7.7993 -0.2998 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.8567 -7.8369 0.7935 H 0 0 0 0 0 0 0 0 0 0 0 0\n 14.7961 -6.3928 0.4449 H 0 0 0 0 0 0 0 0 0 0 0 0\n 16.0357 -7.4556 -2.0500 H 0 0 0 0 0 0 0 0 0 0 0 0\n 15.7535 -9.8351 -1.1468 H 0 0 0 0 0 0 0 0 0 0 0 0\n 15.0584 -10.2582 1.3110 H 0 0 0 0 0 0 0 0 0 0 0 0\n 14.6187 -8.3063 2.8894 H 0 0 0 0 0 0 0 0 0 0 0 0\n 13.6881 -8.3653 -1.4688 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.2260 -8.3597 -1.0520 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.9985 -8.7537 0.9805 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.5364 -8.7481 1.4094 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.3614 -7.8158 0.4528 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 7 1 0 0 0 0\n 3 16 1 0 0 0 0\n 4 16 1 0 0 0 0\n 5 14 1 0 0 0 0\n 6 14 1 0 0 0 0\n 7 14 1 0 0 0 0\n 7 16 1 0 0 0 0\n 8 18 1 0 0 0 0\n 9 18 1 0 0 0 0\n 10 15 1 0 0 0 0\n 11 15 1 0 0 0 0\n 12 17 1 0 0 0 0\n 13 17 1 0 0 0 0\n 14 15 1 0 0 0 0\n 15 18 1 0 0 0 0\n 16 17 1 0 0 0 0\n 17 18 1 0 0 0 0\n 1 7 1 0 0 0 0\nM END\n> \n0\n\n> \n17\n\n> \n3D Templates\n\n> \nring 6 boat\n\n$$$$\nring 6 chair\n Ketcher 3131814142D 1 1.00000 0.00000 0\n\n 18 18 0 0 0 999 V2000\n 6.4738 -5.6532 -0.6660 H 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4541 -4.2314 0.0877 H 0 0 0 0 0 0 0 0 0 0 0 0\n 7.2774 -5.9986 2.2013 H 0 0 0 0 0 0 0 0 0 0 0 0\n 7.7022 -8.0409 0.6946 H 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4210 -7.7512 -1.7876 H 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7429 -5.4159 -2.7877 H 0 0 0 0 0 0 0 0 0 0 0 0\n 12.0262 -7.2017 0.7693 H 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0549 -8.6186 -0.0171 H 0 0 0 0 0 0 0 0 0 0 0 0\n 9.6856 -6.5861 1.4297 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7917 -7.4939 2.7473 H 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0968 -5.1271 1.7849 H 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1503 -6.5687 0.9919 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.3966 -6.2651 -1.0354 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.5752 -7.1963 0.2541 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8371 -4.7668 -0.6787 H 0 0 0 0 0 0 0 0 0 0 0 0\n 11.2658 -6.7684 -2.2180 H 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8611 -6.2475 -1.4612 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.9719 -5.6379 -0.3097 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 18 1 0 0 0 0\n 3 12 1 0 0 0 0\n 4 12 1 0 0 0 0\n 5 17 1 0 0 0 0\n 6 17 1 0 0 0 0\n 7 14 1 0 0 0 0\n 8 14 1 0 0 0 0\n 9 10 1 0 0 0 0\n 9 11 1 0 0 0 0\n 9 12 1 0 0 0 0\n 9 14 1 0 0 0 0\n 12 18 1 0 0 0 0\n 13 14 1 0 0 0 0\n 13 15 1 0 0 0 0\n 13 16 1 0 0 0 0\n 13 17 1 0 0 0 0\n 17 18 1 0 0 0 0\n 1 18 1 0 0 0 0\nM END\n> \n0\n\n> \n17\n\n> \n3D Templates\n\n> \nring 6 chair\n\n$$$$\nFerrocene_covalent\n Ketcher 3131814142D 1 1.00000 0.00000 0\n\n 21 30 0 0 0 999 V2000\n 10.7433 -4.6065 -1.0460 H 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1199 -5.2233 1.4626 H 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8813 -5.4347 2.6717 H 0 0 0 0 0 0 0 0 0 0 0 0\n 6.9893 -4.9432 0.9828 H 0 0 0 0 0 0 0 0 0 0 0 0\n 8.0583 -4.4230 -1.4256 H 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8850 -5.0258 0.7924 C 0 0 0 0 0 5 0 0 0 0 0 0\n 8.5484 -4.7171 -0.5593 C 0 0 0 0 0 5 0 0 0 0 0 0\n 10.0737 -4.8235 -0.3755 C 0 0 0 0 0 5 0 0 0 0 0 0\n 10.3426 -5.1926 1.0905 C 0 0 0 0 0 5 0 0 0 0 0 0\n 8.9947 -5.3190 1.8095 C 0 0 0 0 0 4 0 0 0 0 0 0\n 9.0287 -7.2803 -0.0160 Fe 0 0 0 0 0 0 0 0 0 0 0 0\n 6.8301 -9.3252 -1.3831 H 0 0 0 0 0 0 0 0 0 0 0 0\n 7.4779 -9.9251 1.0385 H 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9836 -10.0770 1.2682 H 0 0 0 0 0 0 0 0 0 0 0 0\n 11.0339 -9.5923 -1.0056 H 0 0 0 0 0 0 0 0 0 0 0 0\n 9.1165 -9.0779 -2.7663 H 0 0 0 0 0 0 0 0 0 0 0 0\n 10.1539 -9.5146 -0.7880 C 0 0 0 0 0 5 0 0 0 0 0 0\n 9.0210 -9.2478 -1.7601 C 0 0 0 0 0 5 0 0 0 0 0 0\n 7.7109 -9.3705 -0.9994 C 0 0 0 0 0 5 0 0 0 0 0 0\n 8.0440 -9.7186 0.4389 C 0 0 0 0 0 5 0 0 0 0 0 0\n 9.5495 -9.8067 0.5699 C 0 0 0 0 0 4 0 0 0 0 0 0\n 1 8 1 0 0 0 0\n 2 9 1 0 0 0 0\n 3 10 1 0 0 0 0\n 4 6 1 0 0 0 0\n 5 7 1 0 0 0 0\n 6 7 2 0 0 0 0\n 6 10 1 0 0 0 0\n 6 11 1 0 0 0 0\n 7 11 1 0 0 0 0\n 8 9 2 0 0 0 0\n 8 11 1 0 0 0 0\n 9 10 1 0 0 0 0\n 9 11 1 0 0 0 0\n 10 11 1 0 0 0 0\n 11 17 1 0 0 0 0\n 11 18 1 0 0 0 0\n 11 19 1 0 0 0 0\n 11 20 1 0 0 0 0\n 11 21 1 0 0 0 0\n 12 19 1 0 0 0 0\n 13 20 1 0 0 0 0\n 14 21 1 0 0 0 0\n 15 17 1 0 0 0 0\n 16 18 1 0 0 0 0\n 17 18 2 0 0 0 0\n 17 21 1 0 0 0 0\n 18 19 1 0 0 0 0\n 19 20 2 0 0 0 0\n 20 21 1 0 0 0 0\n 7 8 1 0 0 0 0\nM CHG 3 10 -1 11 2 21 -1\nM END\n> \n0\n\n> \n29\nM END\n> \n0\n\n> \n17\n\n> \n3D Templates\n\n> \nCp2Fe\n\n$$$$\nFerrocene_haptic\n Ketcher 3312515452D 1 1.00000 0.00000 0\n\n 21 20 0 0 0 0 0 0 0 0999 V2000\n 18.6460 -4.5375 -0.8000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 18.9220 -4.9896 1.0386 H 0 0 0 0 0 0 0 0 0 0 0 0\n 17.2813 -5.1445 1.9248 H 0 0 0 0 0 0 0 0 0 0 0 0\n 15.8946 -4.7843 0.6869 H 0 0 0 0 0 0 0 0 0 0 0 0\n 16.6781 -4.4030 -1.0782 H 0 0 0 0 0 0 0 0 0 0 0 0\n 16.5511 -4.8448 0.5474 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.0373 -4.6186 -0.4433 C 0 0 0 0 0 0 0 0 0 0 0 0\n 18.1553 -4.6966 -0.3086 C 0 0 0 0 0 0 0 0 0 0 0 0\n 18.3523 -4.9671 0.7659 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.3644 -5.0597 1.2928 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.3894 -6.4972 -0.0451 Fe 0 0 0 0 0 0 0 0 0 0 0 0\n 15.7780 -7.9960 -1.0471 H 0 0 0 0 0 0 0 0 0 0 0 0\n 16.2527 -8.4356 0.7278 H 0 0 0 0 0 0 0 0 0 0 0 0\n 18.0892 -8.5470 0.8961 H 0 0 0 0 0 0 0 0 0 0 0 0\n 18.8590 -8.1917 -0.7704 H 0 0 0 0 0 0 0 0 0 0 0 0\n 17.4537 -7.8147 -2.0609 H 0 0 0 0 0 0 0 0 0 0 0 0\n 18.2140 -8.1348 -0.6109 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.3837 -7.9392 -1.3234 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.4235 -8.0292 -0.7659 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.6677 -8.2843 0.2883 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.7711 -8.3489 0.3843 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 8 1 0 0 0\n 2 9 1 0 0 0\n 3 10 1 0 0 0\n 4 6 1 0 0 0\n 5 7 1 0 0 0\n 6 7 2 0 0 0\n 6 10 1 0 0 0\n 8 9 2 0 0 0\n 9 10 1 0 0 0\n 7 8 1 0 0 0\n 12 19 1 0 0 0\n 13 20 1 0 0 0\n 14 21 1 0 0 0\n 15 17 1 0 0 0\n 16 18 1 0 0 0\n 17 18 1 0 0 0\n 17 21 2 0 0 0\n 18 19 1 0 0 0\n 19 20 2 0 0 0\n 20 21 1 0 0 0\nM CHG 3 10 -1 11 2 18 -1\nM END\n> \n3D Templates\n\n> \nCp2Fe\n\n$$$$\nbis(benzene)chromium_haptic\n Ketcher 3312515482D 1 1.00000 0.00000 0\n\n 25 24 0 0 0 0 0 0 0 0999 V2000\n 15.5943 -4.9414 0.8347 H 0 0 0 0 0 0 0 0 0 0 0 0\n 19.1199 -4.8546 0.5825 H 0 0 0 0 0 0 0 0 0 0 0 0\n 16.3715 -4.3444 -0.5880 H 0 0 0 0 0 0 0 0 0 0 0 0\n 18.3737 -5.5242 2.0796 H 0 0 0 0 0 0 0 0 0 0 0 0\n 18.1093 -4.2689 -0.7544 H 0 0 0 0 0 0 0 0 0 0 0 0\n 16.5048 -5.6195 2.2914 H 0 0 0 0 0 0 0 0 0 0 0 0\n 18.3228 -4.9476 0.6064 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.7835 -4.6451 -0.0595 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.7658 -4.6163 -0.1320 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.3558 -5.0010 0.7455 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.8970 -5.3030 1.4153 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.9151 -5.3301 1.4835 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.5592 -8.0714 -0.7290 H 0 0 0 0 0 0 0 0 0 0 0 0\n 19.1408 -8.0591 -0.7289 H 0 0 0 0 0 0 0 0 0 0 0 0\n 16.4658 -8.6551 0.6508 H 0 0 0 0 0 0 0 0 0 0 0 0\n 18.2575 -7.4020 -2.1900 H 0 0 0 0 0 0 0 0 0 0 0 0\n 18.2358 -8.6811 0.6916 H 0 0 0 0 0 0 0 0 0 0 0 0\n 16.3511 -7.3583 -2.2669 H 0 0 0 0 0 0 0 0 0 0 0 0\n 18.3303 -7.9895 -0.6955 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.8357 -8.3381 0.0882 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.8332 -8.3381 0.0882 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.3340 -7.9895 -0.6931 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.8308 -7.6398 -1.4835 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.8346 -7.6399 -1.4817 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.3363 -6.4730 -0.0045 Cr 0 0 0 0 0 0 0 0 0 0 0 0\n 1 10 1 0 0 0\n 2 7 1 0 0 0\n 3 8 1 0 0 0\n 4 11 1 0 0 0\n 5 9 1 0 0 0\n 6 12 1 0 0 0\n 7 9 1 0 0 0\n 7 11 2 0 0 0\n 8 9 2 0 0 0\n 8 10 1 0 0 0\n 10 12 2 0 0 0\n 11 12 1 0 0 0\n 13 22 1 0 0 0\n 14 19 1 0 0 0\n 15 20 1 0 0 0\n 16 23 1 0 0 0\n 17 21 1 0 0 0\n 18 24 1 0 0 0\n 19 21 1 0 0 0\n 19 23 2 0 0 0\n 20 22 1 0 0 0\n 22 24 2 0 0 0\n 23 24 1 0 0 0\n 20 21 2 0 0 0\nM END\n> \n3D Templates\n\n> \nCr(C6H6)2\n\n$$$$\nbis(benzene)chromium_covalent\n Ketcher 3131814142D 1 1.00000 0.00000 0\n\n 25 36 0 0 0 999 V2000\n 6.4355 -9.0395 -1.1100 H 0 0 0 0 0 0 0 0 0 0 0 0\n 11.9645 -9.0205 -1.1098 H 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8350 -9.9405 1.0201 H 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6010 -8.0061 -3.3654 H 0 0 0 0 0 0 0 0 0 0 0 0\n 10.5675 -9.9807 1.0831 H 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6580 -7.9387 -3.4841 H 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7133 -8.9130 -1.0583 C 0 0 0 0 0 5 0 0 0 0 0 0\n 8.4060 -9.4512 0.1516 C 0 0 0 0 0 5 0 0 0 0 0 0\n 9.9460 -9.4512 0.1516 C 0 0 0 0 0 5 0 0 0 0 0 0\n 7.6316 -8.9131 -1.0546 C 0 0 0 0 0 5 0 0 0 0 0 0\n 9.9423 -8.3732 -2.2747 C 0 0 0 0 0 5 0 0 0 0 0 0\n 8.4043 -8.3734 -2.2720 C 0 0 0 0 0 5 0 0 0 0 0 0\n 9.1789 -6.5719 0.0084 Cr 0 0 0 0 0 0 0 0 0 0 0 0\n 6.4896 -4.2075 1.3040 H 0 0 0 0 0 0 0 0 0 0 0 0\n 11.9323 -4.0735 0.9147 H 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6895 -3.2859 -0.8924 H 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7804 -5.1073 3.2258 H 0 0 0 0 0 0 0 0 0 0 0 0\n 10.3721 -3.1694 -1.1492 H 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8953 -5.2543 3.5528 H 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7017 -4.2171 0.9515 C 0 0 0 0 0 5 0 0 0 0 0 0\n 8.3254 -3.7502 -0.0765 C 0 0 0 0 0 5 0 0 0 0 0 0\n 9.8419 -3.7057 -0.1884 C 0 0 0 0 0 5 0 0 0 0 0 0\n 7.6652 -4.2995 1.1662 C 0 0 0 0 0 5 0 0 0 0 0 0\n 10.0444 -4.7658 2.2003 C 0 0 0 0 0 5 0 0 0 0 0 0\n 8.5286 -4.8076 2.3055 C 0 0 0 0 0 5 0 0 0 0 0 0\n 1 10 1 0 0 0 0\n 2 7 1 0 0 0 0\n 3 8 1 0 0 0 0\n 4 11 1 0 0 0 0\n 5 9 1 0 0 0 0\n 6 12 1 0 0 0 0\n 7 9 1 0 0 0 0\n 7 11 2 0 0 0 0\n 7 13 1 0 0 0 0\n 8 10 1 0 0 0 0\n 8 13 1 0 0 0 0\n 9 13 1 0 0 0 0\n 10 12 2 0 0 0 0\n 10 13 1 0 0 0 0\n 11 12 1 0 0 0 0\n 11 13 1 0 0 0 0\n 12 13 1 0 0 0 0\n 13 20 1 0 0 0 0\n 13 21 1 0 0 0 0\n 13 22 1 0 0 0 0\n 13 23 1 0 0 0 0\n 13 24 1 0 0 0 0\n 13 25 1 0 0 0 0\n 14 23 1 0 0 0 0\n 15 20 1 0 0 0 0\n 16 21 1 0 0 0 0\n 17 24 1 0 0 0 0\n 18 22 1 0 0 0 0\n 19 25 1 0 0 0 0\n 20 22 1 0 0 0 0\n 20 24 2 0 0 0 0\n 21 22 2 0 0 0 0\n 21 23 1 0 0 0 0\n 23 25 2 0 0 0 0\n 24 25 1 0 0 0 0\n 8 9 2 0 0 0 0\nM END\n> \n13\n\n> \n32\n\n> \n3D Templates\n\n> \nCr(C6H6)2\n\n$$$$\nDodecaborate\n -INDIGO-03312515463D\n\n 24 42 0 0 0 0 0 0 0 0999 V2000\n 17.3845 -4.9529 0.1441 B 0 0 0 0 0 0 0 0 0 0 0 0\n 18.6799 -5.8037 -0.0875 B 0 0 0 0 0 0 0 0 0 0 0 0\n 17.9264 -5.9378 1.2637 B 0 0 0 0 0 0 0 0 0 0 0 0\n 16.3808 -5.8743 0.9681 B 0 0 0 0 0 0 0 0 0 0 0 0\n 16.2044 -5.6998 -0.5839 B 0 0 0 0 0 0 0 0 0 0 0 0\n 17.6262 -5.6620 -1.2317 B 0 0 0 0 0 0 0 0 0 0 0 0\n 16.0061 -7.1448 0.0903 B 0 0 0 0 0 0 0 0 0 0 0 0\n 16.7642 -7.0122 -1.2704 B 0 0 0 0 0 0 0 0 0 0 0 0\n 18.3052 -7.0740 -0.9651 B 0 0 0 0 0 0 0 0 0 0 0 0\n 18.4957 -7.2507 0.5818 B 0 0 0 0 0 0 0 0 0 0 0 0\n 17.0783 -7.2901 1.2202 B 0 0 0 0 0 0 0 0 0 0 0 0\n 17.3016 -7.9954 -0.1414 B 0 0 0 0 0 0 0 0 0 0 0 0\n 17.3987 -4.4551 0.1896 H 0 0 0 0 0 0 0 0 0 0 0 0\n 19.1379 -5.5835 -0.1186 H 0 0 0 0 0 0 0 0 0 0 0 0\n 18.1102 -5.7551 1.6907 H 0 0 0 0 0 0 0 0 0 0 0 0\n 16.0634 -5.6737 1.2838 H 0 0 0 0 0 0 0 0 0 0 0 0\n 15.8225 -5.4472 -0.7830 H 0 0 0 0 0 0 0 0 0 0 0 0\n 17.7142 -5.3917 -1.6380 H 0 0 0 0 0 0 0 0 0 0 0 0\n 15.5621 -7.3671 0.1166 H 0 0 0 0 0 0 0 0 0 0 0 0\n 16.5758 -7.1932 -1.6880 H 0 0 0 0 0 0 0 0 0 0 0 0\n 18.6271 -7.2764 -1.2904 H 0 0 0 0 0 0 0 0 0 0 0 0\n 18.8685 -7.5003 0.8000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 16.9812 -7.5573 1.6454 H 0 0 0 0 0 0 0 0 0 0 0 0\n 17.2919 -8.4949 -0.1962 H 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 1 5 1 0 0 0 0\n 1 6 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 6 1 0 0 0 0\n 2 9 1 0 0 0 0\n 2 10 1 0 0 0 0\n 2 14 1 0 0 0 0\n 3 4 1 0 0 0 0\n 3 10 1 0 0 0 0\n 3 11 1 0 0 0 0\n 3 15 1 0 0 0 0\n 4 5 1 0 0 0 0\n 4 7 1 0 0 0 0\n 4 11 1 0 0 0 0\n 4 16 1 0 0 0 0\n 5 6 1 0 0 0 0\n 5 7 1 0 0 0 0\n 5 8 1 0 0 0 0\n 5 17 1 0 0 0 0\n 6 8 1 0 0 0 0\n 6 9 1 0 0 0 0\n 6 18 1 0 0 0 0\n 7 8 1 0 0 0 0\n 7 11 1 0 0 0 0\n 7 12 1 0 0 0 0\n 7 19 1 0 0 0 0\n 8 9 1 0 0 0 0\n 8 12 1 0 0 0 0\n 8 20 1 0 0 0 0\n 9 10 1 0 0 0 0\n 9 12 1 0 0 0 0\n 9 21 1 0 0 0 0\n 10 11 1 0 0 0 0\n 10 12 1 0 0 0 0\n 10 22 1 0 0 0 0\n 11 12 1 0 0 0 0\n 11 23 1 0 0 0 0\n 12 24 1 0 0 0 0\n 1 13 1 0 0 0 0\nM CHG 2 1 -1 12 -1\nM END\n> \n3D Templates\n\n> \nB12H12(2-)\n\n$$$$\nVitamin B12_dative\n -INDIGO-03312515413D\n\n103114 0 0 1 0 0 0 0 0999 V2000\n 16.4280 -4.2779 -2.8020 C 0 0 2 0 0 0 0 0 0 0 0 0\n 15.9522 -3.4839 -4.0210 C 0 0 2 0 0 0 0 0 0 0 0 0\n 17.1035 -3.4780 -4.8521 C 0 0 1 0 0 0 0 0 0 0 0 0\n 18.2357 -3.7357 -4.1287 C 0 0 0 0 0 0 0 0 0 0 0 0\n 19.5797 -3.6065 -4.4278 C 0 0 0 0 0 0 0 0 0 0 0 0\n 20.5526 -3.9409 -3.5181 C 0 0 0 0 0 0 0 0 0 0 0 0\n 21.7296 -3.8307 -3.7707 C 0 0 1 0 0 0 0 0 0 0 0 0\n 22.3160 -4.2143 -2.8064 C 0 0 1 0 0 0 0 0 0 0 0 0\n 21.5064 -4.5467 -1.9697 C 0 0 0 0 0 0 0 0 0 0 0 0\n 21.8581 -5.0196 -0.7834 C 0 0 0 0 0 0 0 0 0 0 0 0\n 20.8967 -5.3912 0.1165 C 0 0 0 0 0 0 0 0 0 0 0 0\n 21.2373 -5.8415 1.1947 C 0 0 0 0 0 0 0 0 0 0 0 0\n 20.1262 -6.0594 1.7698 C 0 0 1 0 0 0 0 0 0 0 0 0\n 19.2135 -5.7719 1.0400 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.9012 -5.9408 1.3393 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.9118 -5.5869 0.4475 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.4930 -5.6648 0.5286 C 0 0 1 0 0 0 0 0 0 0 0 0\n 14.9479 -5.4767 -0.7076 C 0 0 2 0 0 0 0 0 0 0 0 0\n 16.0459 -4.8177 -1.4877 C 0 0 1 0 0 0 0 0 0 0 0 0\n 18.7250 -4.7550 -1.5362 Co 0 0 0 0 0 0 0 0 0 0 0 0\n 17.8776 -4.2402 -2.8666 N 0 0 0 0 0 0 0 0 0 0 0 0\n 20.1809 -4.4243 -2.3083 N 0 0 0 0 0 0 0 0 0 0 0 0\n 19.5884 -5.2713 -0.2036 N 0 0 0 0 0 0 0 0 0 0 0 0\n 17.2862 -5.0852 -0.7797 N 0 0 0 0 0 0 0 0 0 0 0 0\n 18.7215 -3.1484 -0.9733 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.1522 -6.0059 -3.0572 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.4285 -2.2451 -3.6876 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.7683 -4.1418 -4.7150 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.1619 -2.2214 -5.4978 H 0 0 0 0 0 0 0 0 0 0 0 0\n 17.3041 -4.1031 -5.8101 C 0 0 0 0 0 0 0 0 0 0 0 0\n 22.4943 -4.8963 -4.7165 C 0 0 0 0 0 0 0 0 0 0 0 0\n 22.0113 -2.6829 -3.9972 C 0 0 0 0 0 0 0 0 0 0 0 0\n 21.8132 -6.8399 1.1025 C 0 0 0 0 0 0 0 0 0 0 0 0\n 21.7803 -5.4692 1.7840 C 0 0 0 0 0 0 0 0 0 0 0 0\n 20.1288 -5.0457 2.7840 H 0 0 0 0 0 0 0 0 0 0 0 0\n 20.0702 -7.2516 2.0783 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.0822 -6.8974 1.0358 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.0142 -4.6470 1.3968 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.8108 -4.6654 -0.6273 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.5567 -6.7319 -1.2417 H 0 0 0 0 0 0 0 0 0 0 0 0\n 19.9371 -3.1023 -5.6736 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.5273 -6.4256 2.6029 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.9464 -7.2614 0.1295 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.7697 -4.1274 -1.1945 H 0 0 0 0 0 0 0 0 0 0 0 0\n 18.7641 -7.6474 -2.5966 N 0 0 0 0 0 0 0 0 0 0 0 0\n 18.2593 -8.1136 -2.5759 C 0 0 0 0 0 0 0 0 0 0 0 0\n 19.3136 -7.9546 -2.7962 C 0 0 0 0 0 0 0 0 0 0 0 0\n 19.1848 -8.6408 -2.8737 C 0 0 0 0 0 0 0 0 0 0 0 0\n 18.5214 -8.7163 -2.7250 N 0 0 1 0 0 0 0 0 0 0 0 0\n 19.9555 -7.7346 -2.9078 C 0 0 0 0 0 0 0 0 0 0 0 0\n 20.4206 -8.1595 -3.0960 C 0 0 0 0 0 0 0 0 0 0 0 0\n 20.2917 -8.8457 -3.1735 C 0 0 0 0 0 0 0 0 0 0 0 0\n 19.6677 -9.0677 -3.0629 C 0 0 0 0 0 0 0 0 0 0 0 0\n 21.0626 -7.9379 -3.2074 C 0 0 0 0 0 0 0 0 0 0 0 0\n 20.7562 -9.2710 -3.3454 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.9544 -9.1891 -2.8553 C 0 0 2 0 0 0 0 0 0 0 0 0\n 15.7380 -9.4902 -2.1444 C 0 0 1 0 0 0 0 0 0 0 0 0\n 18.0778 -9.5034 -2.0289 C 0 0 2 0 0 0 0 0 0 0 0 0\n 17.5407 -10.0031 -0.8085 O 0 0 0 0 0 0 0 0 0 0 0 0\n 16.1036 -9.9845 -0.9041 C 0 0 2 0 0 0 0 0 0 0 0 0\n 18.5101 -10.3746 -2.2484 H 0 0 0 0 0 0 0 0 0 0 0 0\n 16.8784 -8.0688 -3.2417 O 0 0 0 0 0 0 0 0 0 0 0 0\n 16.8197 -10.3262 -4.0929 H 0 0 0 0 0 0 0 0 0 0 0 0\n 15.5817 -11.3388 -0.6930 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.7077 -11.3312 0.4546 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.8066 -8.9017 0.1339 H 0 0 0 0 0 0 0 0 0 0 0 0\n 14.9660 -10.5002 -2.8486 H 0 0 0 0 0 0 0 0 0 0 0 0\n 14.3363 -8.2937 -2.4401 P 0 0 2 0 0 0 0 0 0 0 0 0\n 14.9681 -8.2720 -2.0184 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.7117 -9.1309 -2.2377 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.9492 -9.0231 -1.8000 C 0 0 1 0 0 0 0 0 0 0 0 0\n 12.2562 -8.7531 -2.2165 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.7318 -7.9599 -4.0172 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.0570 -8.3499 -1.2210 H 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7584 -9.7717 -1.3970 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4463 -9.3799 -1.7642 N 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4572 -8.6850 -0.9561 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.0977 -7.5732 -2.0905 O 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7658 -8.7134 -0.4125 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.9453 -4.9999 -0.6904 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.0840 -4.4886 -0.6948 N 0 0 0 0 0 0 0 0 0 0 0 0\n 12.8652 -5.7285 -0.7472 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.2805 -2.3848 -3.7574 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.4116 -1.9269 -3.7636 N 0 0 0 0 0 0 0 0 0 0 0 0\n 14.1111 -3.1033 -3.8194 O 0 0 0 0 0 0 0 0 0 0 0 0\n 18.0852 -3.2353 -5.7545 C 0 0 0 0 0 0 0 0 0 0 0 0\n 18.0512 -2.2592 -5.7302 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.6540 -1.6188 -5.7300 N 0 0 0 0 0 0 0 0 0 0 0 0\n 18.6732 -1.6811 -5.6890 O 0 0 0 0 0 0 0 0 0 0 0 0\n 21.2877 -2.2409 -4.0158 C 0 0 0 0 0 0 0 0 0 0 0 0\n 20.5425 -2.6256 -4.0571 N 0 0 0 0 0 0 0 0 0 0 0 0\n 20.6701 -1.7927 -4.0299 O 0 0 0 0 0 0 0 0 0 0 0 0\n 22.9958 -3.3124 -2.3776 H 0 0 0 0 0 0 0 0 0 0 0 0\n 23.0144 -5.1504 -3.0705 C 0 0 0 0 0 0 0 0 0 0 0 0\n 22.8556 -5.9254 -3.0975 C 0 0 0 0 0 0 0 0 0 0 0 0\n 23.2071 -6.6494 -3.1019 C 0 0 0 0 0 0 0 0 0 0 0 0\n 23.5410 -7.2087 -3.1027 N 0 0 0 0 0 0 0 0 0 0 0 0\n 22.6092 -6.9965 -3.1360 O 0 0 0 0 0 0 0 0 0 0 0 0\n 21.2046 -7.5788 2.1171 C 0 0 0 0 0 0 0 0 0 0 0 0\n 21.3595 -8.4436 2.1008 C 0 0 0 0 0 0 0 0 0 0 0 0\n 20.9522 -9.0277 2.0684 N 0 0 0 0 0 0 0 0 0 0 0 0\n 22.1026 -8.8878 2.1202 O 0 0 0 0 0 0 0 0 0 0 0 0\n 18.7063 -2.2189 -0.6808 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 19 1 0 0 0 0\n 1 21 1 0 0 0 0\n 1 26 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 27 1 0 0 0 0\n 2 28 1 0 0 0 0\n 3 4 1 0 0 0 0\n 3 29 1 0 0 0 0\n 3 30 1 0 0 0 0\n 4 5 1 0 0 0 0\n 4 21 2 0 0 0 0\n 5 6 2 0 0 0 0\n 5 41 1 0 0 0 0\n 6 7 1 0 0 0 0\n 6 22 1 0 0 0 0\n 7 8 1 0 0 0 0\n 7 31 1 0 0 0 0\n 7 32 1 0 0 0 0\n 8 9 1 0 0 0 0\n 8 93 1 0 0 0 0\n 8 94 1 0 0 0 0\n 9 10 1 0 0 0 0\n 9 22 2 0 0 0 0\n 10 11 2 0 0 0 0\n 11 12 1 0 0 0 0\n 11 23 1 0 0 0 0\n 12 13 1 0 0 0 0\n 12 33 1 0 0 0 0\n 12 34 1 0 0 0 0\n 13 14 1 0 0 0 0\n 13 35 1 0 0 0 0\n 13 36 1 0 0 0 0\n 14 15 1 0 0 0 0\n 14 23 2 0 0 0 0\n 15 16 2 0 0 0 0\n 15 42 1 0 0 0 0\n 16 17 1 0 0 0 0\n 16 24 1 0 0 0 0\n 17 18 1 0 0 0 0\n 17 37 1 0 0 0 0\n 17 38 1 0 0 0 0\n 18 19 1 0 0 0 0\n 18 39 1 0 0 0 0\n 18 40 1 0 0 0 0\n 19 24 1 0 0 0 0\n 19 44 1 0 0 0 0\n 25103 3 0 0 0 0\n 27 83 1 0 0 0 0\n 30 86 1 0 0 0 0\n 32 90 1 0 0 0 0\n 36 99 1 0 0 0 0\n 37 43 1 0 0 0 0\n 39 80 1 0 0 0 0\n 43 77 1 0 0 0 0\n 45 46 2 0 0 0 0\n 45 47 1 0 0 0 0\n 46 49 1 0 0 0 0\n 47 48 2 0 0 0 0\n 47 50 1 0 0 0 0\n 48 49 1 0 0 0 0\n 48 53 1 0 0 0 0\n 49 58 1 0 0 0 0\n 50 51 2 0 0 0 0\n 51 52 1 0 0 0 0\n 51 54 1 0 0 0 0\n 52 53 2 0 0 0 0\n 52 55 1 0 0 0 0\n 56 57 1 0 0 0 0\n 56 58 1 0 0 0 0\n 56 62 1 0 0 0 0\n 56 63 1 0 0 0 0\n 57 60 1 0 0 0 0\n 57 67 1 0 0 0 0\n 57 69 1 0 0 0 0\n 58 59 1 0 0 0 0\n 58 61 1 0 0 0 0\n 59 60 1 0 0 0 0\n 60 64 1 0 0 0 0\n 60 66 1 0 0 0 0\n 64 65 1 0 0 0 0\n 68 69 1 0 0 0 0\n 68 70 1 0 0 0 0\n 68 73 2 0 0 0 0\n 68 78 1 0 0 0 0\n 70 71 1 0 0 0 0\n 71 72 1 0 0 0 0\n 71 74 1 0 0 0 0\n 71 75 1 0 0 0 0\n 72 76 1 0 0 0 0\n 76 77 1 0 0 0 0\n 77 79 2 0 0 0 0\n 80 81 1 0 0 0 0\n 80 82 2 0 0 0 0\n 83 85 2 0 0 0 0\n 86 87 1 0 0 0 0\n 87 88 1 0 0 0 0\n 87 89 2 0 0 0 0\n 90 91 1 0 0 0 0\n 90 92 2 0 0 0 0\n 94 95 1 0 0 0 0\n 95 96 1 0 0 0 0\n 96 97 1 0 0 0 0\n 96 98 2 0 0 0 0\n 99100 1 0 0 0 0\n100101 1 0 0 0 0\n100102 2 0 0 0 0\n 83 84 1 0 0 0 0\n 25 20 9 0 0 0 0\n 21 20 9 0 0 0 0\n 24 20 9 0 0 0 0\n 45 20 9 0 0 0 0\n 23 20 9 0 0 0 0\n 22 20 9 0 0 0 0\nM CHG 4 20 1 24 -1 25 -1 78 -1\nM END\n> \n3D Templates\n\n> \nC63H88CoN14O14P\n\n$$$$\nVitamin B12_covalent\n Ketcher 3131814142D 1 1.00000 0.00000 0\n\n103114 0 0 0 999 V2000\n 10.0126 -6.0489 -13.5041 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2665 -4.8038 -15.4155 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.0719 -4.7946 -16.7187 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.8472 -5.1986 -15.5844 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.9546 -4.9961 -16.0533 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.4802 -5.5205 -14.6269 C 0 0 0 0 0 0 0 0 0 0 0 0\n 18.3257 -5.3477 -15.0230 C 0 0 0 0 0 0 0 0 0 0 0 0\n 19.2452 -5.9492 -13.5110 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.9757 -6.4703 -12.1989 C 0 0 0 0 0 0 0 0 0 0 0 0\n 18.5273 -7.2118 -10.3388 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.0197 -7.7946 -8.9278 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.5538 -8.5006 -7.2370 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.8115 -8.8424 -6.3353 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.3804 -8.3915 -7.4797 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3227 -8.6564 -7.0103 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7712 -8.1015 -8.4087 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5465 -8.2236 -8.2815 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6917 -7.9286 -10.2200 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4134 -6.8953 -11.4432 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.6144 -6.7969 -11.5192 Co 0 0 0 0 0 6 0 0 0 0 0 0\n 12.2857 -5.9898 -13.6053 N 0 0 0 0 0 4 0 0 0 0 0 0\n 15.8974 -6.2784 -12.7299 N 0 0 0 0 0 4 0 0 0 0 0 0\n 14.9683 -7.6066 -9.4297 N 0 0 0 0 0 4 0 0 0 0 0 0\n 11.3583 -7.3147 -10.3330 N 0 0 0 0 0 3 0 0 0 0 0 0\n 13.6089 -4.2778 -10.6365 C 0 0 0 0 0 4 0 0 0 0 0 0\n 9.5801 -8.7584 -13.9042 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4453 -2.8614 -14.8927 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.4101 -5.8354 -16.5037 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1634 -2.8242 -17.7312 H 0 0 0 0 0 0 0 0 0 0 0 0\n 11.3864 -5.7747 -18.2208 C 0 0 0 0 0 0 0 0 0 0 0 0\n 19.5249 -7.0185 -16.5061 C 0 0 0 0 0 0 0 0 0 0 0 0\n 18.7675 -3.5479 -15.3782 C 0 0 0 0 0 0 0 0 0 0 0 0\n 18.4569 -10.0661 -7.3817 C 0 0 0 0 0 0 0 0 0 0 0 0\n 18.4052 -7.9169 -6.3130 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.8156 -7.2528 -4.7450 H 0 0 0 0 0 0 0 0 0 0 0 0\n 15.7237 -10.7118 -5.8515 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.9023 -10.1564 -7.4863 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.7957 -6.6276 -6.9202 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.9087 -6.6565 -10.0941 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0783 -9.8969 -11.0575 H 0 0 0 0 0 0 0 0 0 0 0 0\n 15.5150 -4.2054 -18.0068 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.7364 -9.4165 -5.0289 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5533 -10.7271 -8.9073 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9804 -5.8129 -10.9834 H 0 0 0 0 0 0 0 0 0 0 0 0\n 13.6757 -11.3323 -13.1820 N 0 0 0 0 0 4 0 0 0 0 0 0\n 12.8841 -12.0634 -13.1495 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.5374 -11.8140 -13.4950 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.3354 -12.8901 -13.6165 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2952 -13.0084 -13.3833 N 0 0 0 0 0 0 0 0 0 0 0 0\n 15.5439 -11.4691 -13.6699 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.2732 -12.1354 -13.9651 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.0710 -13.2114 -14.0865 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.0926 -13.5594 -13.9132 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.2799 -11.7879 -14.1397 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.7994 -13.8782 -14.3561 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8380 -13.7498 -13.5877 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9307 -14.2220 -12.4729 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.5996 -14.2426 -12.2918 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.7574 -15.0262 -10.3782 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5040 -14.9970 -10.5281 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2774 -15.6088 -12.6360 H 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7189 -11.9931 -14.1935 O 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6269 -15.5329 -15.5283 H 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6856 -17.1207 -10.1971 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3152 -17.1087 -8.3976 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0383 -13.2992 -8.9005 H 0 0 0 0 0 0 0 0 0 0 0 0\n 7.7202 -15.8056 -13.5771 H 0 0 0 0 0 0 0 0 0 0 0 0\n 6.7327 -12.3458 -12.9365 P 0 0 0 0 0 0 0 0 0 0 0 0\n 7.7235 -12.3118 -12.2754 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.7534 -13.6586 -12.6192 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5577 -13.4895 -11.9328 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.4710 -13.0662 -12.5859 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.7849 -11.8224 -15.4096 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.7267 -12.4339 -11.0249 H 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2585 -14.6633 -11.3010 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.2011 -14.0490 -11.8767 N 0 0 0 0 0 0 0 0 0 0 0 0\n 2.2182 -12.9593 -10.6096 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3586 -11.2160 -12.3884 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.1340 -13.0039 -9.7572 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5516 -7.1810 -10.1929 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.2010 -6.3792 -10.1999 N 0 0 0 0 0 0 0 0 0 0 0 0\n 4.4260 -8.3234 -10.2821 O 0 0 0 0 0 0 0 0 0 0 0 0\n 6.6452 -3.0804 -15.0021 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.2828 -2.3624 -15.0118 N 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3796 -4.2070 -15.0993 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.6112 -4.4140 -18.1337 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.5579 -2.8834 -18.0956 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.9350 -1.8793 -18.0952 N 0 0 0 0 0 0 0 0 0 0 0 0\n 13.5332 -1.9770 -18.0310 O 0 0 0 0 0 0 0 0 0 0 0 0\n 17.6329 -2.8548 -15.4074 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.4644 -3.4580 -15.4721 N 0 0 0 0 0 0 0 0 0 0 0 0\n 16.6644 -2.1519 -15.4294 O 0 0 0 0 0 0 0 0 0 0 0 0\n 20.3112 -4.5349 -12.8385 H 0 0 0 0 0 0 0 0 0 0 0 0\n 20.3404 -7.4169 -13.9250 C 0 0 0 0 0 0 0 0 0 0 0 0\n 20.0913 -8.6322 -13.9674 C 0 0 0 0 0 0 0 0 0 0 0 0\n 20.6425 -9.7675 -13.9743 C 0 0 0 0 0 0 0 0 0 0 0 0\n 21.1661 -10.6445 -13.9755 N 0 0 0 0 0 0 0 0 0 0 0 0\n 19.7050 -10.3118 -14.0278 O 0 0 0 0 0 0 0 0 0 0 0 0\n 17.5025 -11.2248 -5.7907 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.7454 -12.5808 -5.8163 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.1068 -13.4968 -5.8671 N 0 0 0 0 0 0 0 0 0 0 0 0\n 18.9107 -13.2774 -5.7859 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.5851 -2.8203 -10.1780 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 19 1 0 0 0 0\n 1 21 1 0 0 0 0\n 1 26 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 27 1 0 0 0 0\n 2 28 1 0 0 0 0\n 3 4 1 0 0 0 0\n 3 29 1 0 0 0 0\n 3 30 1 0 0 0 0\n 4 5 1 0 0 0 0\n 4 21 2 0 0 0 0\n 5 6 2 0 0 0 0\n 5 41 1 0 0 0 0\n 6 7 1 0 0 0 0\n 6 22 1 0 0 0 0\n 7 8 1 0 0 0 0\n 7 31 1 0 0 0 0\n 7 32 1 0 0 0 0\n 8 9 1 0 0 0 0\n 8 93 1 0 0 0 0\n 8 94 1 0 0 0 0\n 9 10 1 0 0 0 0\n 9 22 2 0 0 0 0\n 10 11 2 0 0 0 0\n 11 12 1 0 0 0 0\n 11 23 1 0 0 0 0\n 12 13 1 0 0 0 0\n 12 33 1 0 0 0 0\n 12 34 1 0 0 0 0\n 13 14 1 0 0 0 0\n 13 35 1 0 0 0 0\n 13 36 1 0 0 0 0\n 14 15 1 0 0 0 0\n 14 23 2 0 0 0 0\n 15 16 2 0 0 0 0\n 15 42 1 0 0 0 0\n 16 17 1 0 0 0 0\n 16 24 1 0 0 0 0\n 17 18 1 0 0 0 0\n 17 37 1 0 0 0 0\n 17 38 1 0 0 0 0\n 18 19 1 0 0 0 0\n 18 39 1 0 0 0 0\n 18 40 1 0 0 0 0\n 19 24 1 0 0 0 0\n 19 44 1 0 0 0 0\n 20 21 1 0 0 0 0\n 20 22 1 0 0 0 0\n 20 23 1 0 0 0 0\n 20 24 1 0 0 0 0\n 20 25 1 0 0 0 0\n 20 45 1 0 0 0 0\n 25103 3 0 0 0 0\n 27 83 1 0 0 0 0\n 30 86 1 0 0 0 0\n 32 90 1 0 0 0 0\n 36 99 1 0 0 0 0\n 37 43 1 0 0 0 0\n 39 80 1 0 0 0 0\n 43 77 1 0 0 0 0\n 45 46 2 0 0 0 0\n 45 47 1 0 0 0 0\n 46 49 1 0 0 0 0\n 47 48 2 0 0 0 0\n 47 50 1 0 0 0 0\n 48 49 1 0 0 0 0\n 48 53 1 0 0 0 0\n 49 58 1 0 0 0 0\n 50 51 2 0 0 0 0\n 51 52 1 0 0 0 0\n 51 54 1 0 0 0 0\n 52 53 2 0 0 0 0\n 52 55 1 0 0 0 0\n 56 57 1 0 0 0 0\n 56 58 1 0 0 0 0\n 56 62 1 0 0 0 0\n 56 63 1 0 0 0 0\n 57 60 1 0 0 0 0\n 57 67 1 0 0 0 0\n 57 69 1 0 0 0 0\n 58 59 1 0 0 0 0\n 58 61 1 0 0 0 0\n 59 60 1 0 0 0 0\n 60 64 1 0 0 0 0\n 60 66 1 0 0 0 0\n 64 65 1 0 0 0 0\n 68 69 1 0 0 0 0\n 68 70 1 0 0 0 0\n 68 73 2 0 0 0 0\n 68 78 1 0 0 0 0\n 70 71 1 0 0 0 0\n 71 72 1 0 0 0 0\n 71 74 1 0 0 0 0\n 71 75 1 0 0 0 0\n 72 76 1 0 0 0 0\n 76 77 1 0 0 0 0\n 77 79 2 0 0 0 0\n 80 81 1 0 0 0 0\n 80 82 2 0 0 0 0\n 83 85 2 0 0 0 0\n 86 87 1 0 0 0 0\n 87 88 1 0 0 0 0\n 87 89 2 0 0 0 0\n 90 91 1 0 0 0 0\n 90 92 2 0 0 0 0\n 94 95 1 0 0 0 0\n 95 96 1 0 0 0 0\n 96 97 1 0 0 0 0\n 96 98 2 0 0 0 0\n 99100 1 0 0 0 0\n100101 1 0 0 0 0\n100102 2 0 0 0 0\n 83 84 1 0 0 0 0\nM CHG 4 20 3 24 -1 25 -1 78 -1\nM END\n> \n83\n\n> \n113\n\n> \n3D Templates\n\n> \nC63H88CoN14O14P\n\n$$$$\nsucrose\n Ketcher 3131814142D 1 1.00000 0.00000 0\n\n 31 32 0 0 0 999 V2000\n 5.2890 -7.5286 -0.0614 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6624 -5.1211 -0.7785 H 0 0 0 0 0 0 0 0 0 0 0 0\n 6.2941 -5.7056 2.0759 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.9494 -7.5048 1.3153 H 0 0 0 0 0 0 0 0 0 0 0 0\n 8.0481 -8.2707 -1.1553 H 0 0 0 0 0 0 0 0 0 0 0 0\n 10.2890 -4.4624 -0.8035 H 0 0 0 0 0 0 0 0 0 0 0 0\n 8.3001 -5.0862 0.5701 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.1244 -4.8497 1.9163 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.5502 -3.7821 0.2011 H 0 0 0 0 0 0 0 0 0 0 0 0\n 7.2117 -6.2026 0.8774 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.3725 -5.8284 -1.8918 O 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3225 -6.4586 -0.4301 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.2839 -6.9390 -1.5749 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.5059 -7.2324 -2.8968 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.5117 -6.1824 -4.0570 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2609 -5.5788 -0.5948 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9153 -6.8782 -0.1205 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.4269 -6.7225 2.4575 H 0 0 0 0 0 0 0 0 0 0 0 0\n 10.3241 -8.0774 2.1099 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.1140 -7.8468 -1.0282 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.3110 -9.0856 -0.5158 H 0 0 0 0 0 0 0 0 0 0 0 0\n 12.5240 -8.9610 1.2547 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.7799 -10.1548 1.8160 H 0 0 0 0 0 0 0 0 0 0 0 0\n 13.8853 -8.7670 1.9939 O 0 0 0 0 0 0 0 0 0 0 0 0\n 11.6894 -7.6334 1.4979 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4355 -6.9446 0.0877 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.0396 -5.5329 0.1043 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.4050 -5.2699 -0.5577 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7885 -9.0951 -0.3085 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.1875 -10.4160 -0.8042 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.0011 -11.7179 -0.6982 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 12 1 0 0 0 0\n 2 12 1 0 0 0 0\n 3 10 1 0 0 0 0\n 4 10 1 0 0 0 0\n 5 13 1 0 0 0 0\n 6 16 1 0 0 0 0\n 7 8 1 0 0 0 0\n 7 9 1 0 0 0 0\n 7 10 1 0 0 0 0\n 7 16 1 0 0 0 0\n 10 12 1 0 0 0 0\n 11 13 1 0 0 0 0\n 11 16 1 0 0 0 0\n 12 13 1 0 0 0 0\n 13 14 1 0 0 0 0\n 14 15 1 0 0 0 0\n 16 17 1 0 0 0 0\n 17 26 1 0 0 0 0\n 18 25 1 0 0 0 0\n 19 25 1 0 0 0 0\n 20 26 1 0 0 0 0\n 20 29 1 0 0 0 0\n 21 29 1 0 0 0 0\n 22 23 1 0 0 0 0\n 22 24 1 0 0 0 0\n 22 25 1 0 0 0 0\n 22 29 1 0 0 0 0\n 25 26 1 0 0 0 0\n 26 27 1 0 0 0 0\n 29 30 1 0 0 0 0\n 30 31 1 0 0 0 0\n 27 28 1 0 0 0 0\nM END\n> \n20\n\n> \n22\n\n> \n3D Templates\n\n> \nsucrose\n\n$$$$\nHeptamolybdate ion_dative\n -INDIGO-03312515443D\n\n 31 42 0 0 0 0 0 0 0 0999 V2000\n 18.4677 -7.9741 0.4125 Mo 0 0 0 0 0 0 0 0 0 0 0 0\n 18.2144 -9.0440 0.0304 O 0 0 0 0 0 0 0 0 0 0 0 0\n 19.4315 -8.3961 0.9253 O 0 0 0 0 0 0 0 0 0 0 0 0\n 17.7534 -6.4779 0.2889 Mo 0 0 0 0 0 0 0 0 0 0 0 0\n 18.7173 -6.8980 0.8027 O 0 0 0 0 0 0 0 0 0 0 0 0\n 17.0401 -4.9816 0.1655 Mo 0 0 0 0 0 0 0 0 0 0 0 0\n 16.0740 -4.5540 -0.3376 O 0 0 0 0 0 0 0 0 0 0 0 0\n 17.2913 -3.9060 0.5565 O 0 0 0 0 0 0 0 0 0 0 0 0\n 18.0040 -5.4018 0.6794 O 0 0 0 0 0 0 0 0 0 0 0 0\n 18.0877 -7.3561 -1.0859 Mo 0 0 0 0 0 0 0 0 0 0 0 0\n 17.8018 -8.4457 -1.4534 O 0 0 0 0 0 0 0 0 0 0 0 0\n 19.0750 -7.7631 -0.5929 O 0 0 0 0 0 0 0 0 0 0 0 0\n 18.6821 -7.1722 -2.1186 O 0 0 0 0 0 0 0 0 0 0 0 0\n 17.3635 -5.8475 -1.2255 Mo 0 0 0 0 0 0 0 0 0 0 0 0\n 16.3639 -5.4195 -1.7265 O 0 0 0 0 0 0 0 0 0 0 0 0\n 17.0879 -6.9494 -1.5752 O 0 0 0 0 0 0 0 0 0 0 0 0\n 17.6478 -4.7701 -0.8389 O 0 0 0 0 0 0 0 0 0 0 0 0\n 18.3612 -6.2669 -0.7148 O 0 0 0 0 0 0 0 0 0 0 0 0\n 17.9572 -5.6662 -2.2763 O 0 0 0 0 0 0 0 0 0 0 0 0\n 16.8720 -7.7514 0.8975 Mo 0 0 0 0 0 0 0 0 0 0 0 0\n 16.5980 -8.8053 0.5010 O 0 0 0 0 0 0 0 0 0 0 0 0\n 17.8583 -8.1882 1.4264 O 0 0 0 0 0 0 0 0 0 0 0 0\n 16.2425 -7.9578 1.8944 O 0 0 0 0 0 0 0 0 0 0 0 0\n 17.5000 -7.5460 -0.0916 O 0 0 0 0 0 0 0 0 0 0 0 0\n 16.1933 -6.2498 0.7667 Mo 0 0 0 0 0 0 0 0 0 0 0 0\n 15.9297 -7.2940 0.3845 O 0 0 0 0 0 0 0 0 0 0 0 0\n 17.1436 -6.6904 1.3026 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.2384 -5.8517 0.2833 O 0 0 0 0 0 0 0 0 0 0 0 0\n 16.4294 -5.1940 1.1790 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.5969 -6.4504 1.7553 O 0 0 0 0 0 0 0 0 0 0 0 0\n 16.7863 -6.0492 -0.2149 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 2 0 0 0 0\n 1 5 1 0 0 0 0\n 1 12 1 0 0 0 0\n 1 22 1 0 0 0 0\n 1 24 1 0 0 0 0\n 4 5 1 0 0 0 0\n 4 9 1 0 0 0 0\n 4 18 1 0 0 0 0\n 4 24 1 0 0 0 0\n 4 27 1 0 0 0 0\n 4 31 1 0 0 0 0\n 6 7 2 0 0 0 0\n 6 8 2 0 0 0 0\n 6 9 1 0 0 0 0\n 6 17 1 0 0 0 0\n 6 29 1 0 0 0 0\n 6 27 1 0 0 0 0\n 10 11 2 0 0 0 0\n 10 12 1 0 0 0 0\n 10 13 2 0 0 0 0\n 10 16 1 0 0 0 0\n 10 18 1 0 0 0 0\n 10 24 1 0 0 0 0\n 14 15 2 0 0 0 0\n 14 16 1 0 0 0 0\n 14 17 1 0 0 0 0\n 14 24 1 0 0 0 0\n 14 19 2 0 0 0 0\n 9 14 1 0 0 0 0\n 20 21 2 0 0 0 0\n 20 22 1 0 0 0 0\n 5 20 1 0 0 0 0\n 20 26 1 0 0 0 0\n 20 27 1 0 0 0 0\n 25 26 1 0 0 0 0\n 25 27 1 0 0 0 0\n 25 28 2 0 0 0 0\n 25 29 1 0 0 0 0\n 25 30 2 0 0 0 0\n 25 31 1 0 0 0 0\n 20 23 2 0 0 0 0\nM CHG 8 1 2 5 -1 6 2 9 -1 10 2 12 -2 14 2 16 -2\nM CHG 8 17 -2 18 -1 20 2 22 -2 24 -1 25 2 26 -2 27 -1\nM CHG 2 29 -2 31 -1\nM END\n> \n3D Templates\n\n> \nMo7O24(6-)\n\n$$$$\nHeptamolybdate ion_covalent\n Ketcher 3131814142D 1 1.00000 0.00000 0\n\n 31 42 0 0 0 999 V2000\n 8.3825 -6.6288 0.5307 Mo 0 0 0 0 0 0 0 0 0 0 0 0\n 8.0566 -8.0054 0.0391 O 0 0 0 0 0 2 0 0 0 0 0 0\n 9.6225 -7.1718 1.1905 O 0 0 0 0 0 2 0 0 0 0 0 0\n 7.4634 -4.7037 0.3717 Mo 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7036 -5.2443 1.0328 O 0 0 0 0 0 2 0 0 0 0 0 0\n 6.5457 -2.7785 0.2130 Mo 0 0 0 0 0 0 0 0 0 0 0 0\n 5.3026 -2.2284 -0.4344 O 0 0 0 0 0 2 0 0 0 0 0 0\n 6.8689 -1.3946 0.7160 O 0 0 0 0 0 2 0 0 0 0 0 0\n 7.7859 -3.3192 0.8741 O 0 0 0 0 0 2 0 0 0 0 0 0\n 7.8935 -5.8337 -1.3972 Mo 0 0 0 0 0 0 0 0 0 0 0 0\n 7.5257 -7.2356 -1.8700 O 0 0 0 0 0 2 0 0 0 0 0 0\n 9.1639 -6.3573 -0.7629 O 0 0 0 0 0 2 0 0 0 0 0 0\n 8.6584 -5.5970 -2.7259 O 0 0 0 0 0 2 0 0 0 0 0 0\n 6.9618 -3.8926 -1.5768 Mo 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6757 -3.3420 -2.2214 O 0 0 0 0 0 2 0 0 0 0 0 0\n 6.6072 -5.3104 -2.0267 O 0 0 0 0 0 2 0 0 0 0 0 0\n 7.3276 -2.5064 -1.0793 O 0 0 0 0 0 2 0 0 0 0 0 0\n 8.2454 -4.4322 -0.9197 O 0 0 0 0 0 3 0 0 0 0 0 0\n 7.7257 -3.6594 -2.9288 O 0 0 0 0 0 2 0 0 0 0 0 0\n 6.3294 -6.3423 1.1548 Mo 0 0 0 0 0 0 0 0 0 0 0 0\n 5.9769 -7.6983 0.6446 O 0 0 0 0 0 2 0 0 0 0 0 0\n 7.5984 -6.9043 1.8353 O 0 0 0 0 0 2 0 0 0 0 0 0\n 5.5195 -6.6078 2.4374 O 0 0 0 0 0 2 0 0 0 0 0 0\n 7.1374 -6.0780 -0.1178 O 0 0 0 0 0 4 0 0 0 0 0 0\n 5.4562 -4.4102 0.9865 Mo 0 0 0 0 0 0 0 0 0 0 0 0\n 5.1170 -5.7537 0.4947 O 0 0 0 0 0 2 0 0 0 0 0 0\n 6.6789 -4.9771 1.6760 O 0 0 0 0 0 3 0 0 0 0 0 0\n 4.2276 -3.8981 0.3645 O 0 0 0 0 0 2 0 0 0 0 0 0\n 5.7599 -3.0518 1.5169 O 0 0 0 0 0 2 0 0 0 0 0 0\n 4.6888 -4.6683 2.2585 O 0 0 0 0 0 2 0 0 0 0 0 0\n 6.2191 -4.1522 -0.2765 O 0 0 0 0 0 4 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 2 0 0 0 0\n 1 5 1 0 0 0 0\n 1 12 1 0 0 0 0\n 1 22 1 0 0 0 0\n 1 24 1 0 0 0 0\n 4 5 1 0 0 0 0\n 4 9 1 0 0 0 0\n 4 18 1 0 0 0 0\n 4 24 1 0 0 0 0\n 4 27 1 0 0 0 0\n 4 31 1 0 0 0 0\n 6 7 2 0 0 0 0\n 6 8 2 0 0 0 0\n 6 9 1 0 0 0 0\n 6 17 1 0 0 0 0\n 6 29 1 0 0 0 0\n 6 31 1 0 0 0 0\n 10 11 2 0 0 0 0\n 10 12 1 0 0 0 0\n 10 13 2 0 0 0 0\n 10 16 1 0 0 0 0\n 10 18 1 0 0 0 0\n 10 24 1 0 0 0 0\n 14 15 2 0 0 0 0\n 14 16 1 0 0 0 0\n 14 17 1 0 0 0 0\n 14 18 1 0 0 0 0\n 14 19 2 0 0 0 0\n 14 31 1 0 0 0 0\n 20 21 2 0 0 0 0\n 20 22 1 0 0 0 0\n 20 24 1 0 0 0 0\n 20 26 1 0 0 0 0\n 20 27 1 0 0 0 0\n 25 26 1 0 0 0 0\n 25 27 1 0 0 0 0\n 25 28 2 0 0 0 0\n 25 29 1 0 0 0 0\n 25 30 2 0 0 0 0\n 25 31 1 0 0 0 0\n 20 23 2 0 0 0 0\nM CHG 8 1 6 2 -2 3 -2 4 6 5 -2 6 6 7 -2 8 -2\nM END\n> \n1\n\n> \n0\n\n> \n3D Templates\n\n> \nMo7O24(6-)\n\n$$$$\nC20H20\n Ketcher 3131814142D 1 1.00000 0.00000 0\n\n 40 50 0 0 0 999 V2000\n 7.5483 -7.7451 -3.3419 H 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3984 -5.8792 -3.4318 H 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3399 -6.5425 -1.9898 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6820 -3.9425 -1.6474 H 0 0 0 0 0 0 0 0 0 0 0 0\n 5.8163 -7.1034 -1.6635 H 0 0 0 0 0 0 0 0 0 0 0 0\n 6.5722 -4.7343 -0.6304 H 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1701 -7.2380 -0.8890 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.8300 -6.9765 -2.5544 H 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6631 -7.1690 -1.5375 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4077 -9.5239 -2.1472 H 0 0 0 0 0 0 0 0 0 0 0 0\n 11.9006 -10.0139 0.4722 H 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6600 -8.8749 0.2914 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.5136 -5.9115 -0.4190 H 0 0 0 0 0 0 0 0 0 0 0 0\n 12.5338 -7.8406 1.4379 H 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6981 -8.8654 3.4177 H 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4046 -10.6907 1.7143 H 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3185 -9.3106 0.9700 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.4958 -10.8075 -0.1783 H 0 0 0 0 0 0 0 0 0 0 0 0\n 6.5552 -7.8780 2.6983 H 0 0 0 0 0 0 0 0 0 0 0 0\n 5.8522 -9.1147 0.4514 H 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1601 -8.2997 0.2353 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.5774 -7.5989 1.5700 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6577 -4.0099 0.1683 H 0 0 0 0 0 0 0 0 0 0 0 0\n 11.0808 -6.4894 -0.1982 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9123 -5.4699 -0.9424 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9155 -8.2329 2.0184 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.0766 -7.5513 0.9147 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6780 -6.9857 3.3021 H 0 0 0 0 0 0 0 0 0 0 0 0\n 7.5861 -5.8939 -0.2667 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.9973 -5.0597 1.9875 H 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3193 -5.8429 1.5048 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4740 -4.7173 2.5743 H 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9809 -7.1457 1.9811 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8270 -6.1245 1.2483 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0023 -5.4308 0.1366 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9125 -8.9385 -1.4737 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.2374 -9.3522 -0.1173 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4116 -8.6461 -1.2148 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7726 -9.9758 -2.5047 H 0 0 0 0 0 0 0 0 0 0 0 0\n 8.2577 -7.6250 -1.9478 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 40 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 9 1 0 0 0 0\n 3 25 1 0 0 0 0\n 3 40 1 0 0 0 0\n 4 25 1 0 0 0 0\n 5 7 1 0 0 0 0\n 6 29 1 0 0 0 0\n 7 21 1 0 0 0 0\n 7 29 1 0 0 0 0\n 7 40 1 0 0 0 0\n 8 9 1 0 0 0 0\n 9 24 1 0 0 0 0\n 9 38 1 0 0 0 0\n 10 38 1 0 0 0 0\n 11 12 1 0 0 0 0\n 12 17 1 0 0 0 0\n 12 27 1 0 0 0 0\n 12 38 1 0 0 0 0\n 13 24 1 0 0 0 0\n 14 27 1 0 0 0 0\n 15 26 1 0 0 0 0\n 16 17 1 0 0 0 0\n 17 26 1 0 0 0 0\n 17 37 1 0 0 0 0\n 18 37 1 0 0 0 0\n 19 22 1 0 0 0 0\n 20 21 1 0 0 0 0\n 21 22 1 0 0 0 0\n 21 37 1 0 0 0 0\n 22 26 1 0 0 0 0\n 22 34 1 0 0 0 0\n 23 35 1 0 0 0 0\n 24 27 1 0 0 0 0\n 24 35 1 0 0 0 0\n 25 29 1 0 0 0 0\n 25 35 1 0 0 0 0\n 26 33 1 0 0 0 0\n 27 33 1 0 0 0 0\n 28 33 1 0 0 0 0\n 29 34 1 0 0 0 0\n 30 34 1 0 0 0 0\n 31 32 1 0 0 0 0\n 31 33 1 0 0 0 0\n 31 35 1 0 0 0 0\n 36 37 1 0 0 0 0\n 36 38 1 0 0 0 0\n 36 39 1 0 0 0 0\n 36 40 1 0 0 0 0\n 31 34 1 0 0 0 0\nM END\n> \n19\n\n> \n27\n\n> \n3D Templates\n\n> \nC20H20\n\n$$$$\nTetracobalt dodecacarbonyl_dative\n -INDIGO-03312515423D\n\n 28 33 0 0 0 0 0 0 0 0999 V2000\n 17.7209 -5.9276 0.1578 Co 0 0 0 0 0 0 0 0 0 0 0 0\n 19.2423 -5.2448 0.5528 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.5073 -4.6902 -1.0065 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.9598 -4.9280 1.4016 C 0 0 0 0 0 0 0 0 0 0 0 0\n 20.0159 -4.9114 0.7574 O 0 0 0 0 0 0 0 0 0 0 0 0\n 17.4149 -4.0696 -1.5867 O 0 0 0 0 0 0 0 0 0 0 0 0\n 16.5847 -4.4295 2.0078 O 0 0 0 0 0 0 0 0 0 0 0 0\n 17.2598 -8.6407 1.7152 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.5069 -7.4625 1.9290 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.2480 -8.9929 1.9591 O 0 0 0 0 0 0 0 0 0 0 0 0\n 17.6274 -7.2300 2.2740 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.9969 -6.7234 -1.1691 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.7245 -7.9864 -1.3456 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.8513 -6.3329 -1.3649 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.4536 -8.2301 -1.6329 O 0 0 0 0 0 0 0 0 0 0 0 0\n 19.1330 -7.4567 -0.8554 C 0 0 0 0 0 0 0 0 0 0 0 0\n 18.9481 -8.5769 -1.0127 C 0 0 0 0 0 0 0 0 0 0 0 0\n 19.4328 -7.2049 -0.9539 O 0 0 0 0 0 0 0 0 0 0 0 0\n 19.1529 -8.8834 -1.1785 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.6737 -7.5690 0.7861 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.4692 -7.4081 1.4013 O 0 0 0 0 0 0 0 0 0 0 0 0\n 17.2683 -7.9399 1.2282 Co 0 0 0 0 0 0 0 0 0 0 0 0\n 18.8991 -8.2285 0.9635 C 0 0 0 0 0 0 0 0 0 0 0 0\n 19.9960 -8.5388 1.7147 O 0 0 0 0 0 0 0 0 0 0 0 0\n 18.5344 -7.9515 -0.6701 Co 0 0 0 0 0 0 0 0 0 0 0 0\n 17.5066 -7.5868 -1.9670 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.2792 -7.4934 -0.7734 Co 0 0 0 0 0 0 0 0 0 0 0 0\n 17.6150 -7.4372 -3.3310 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 22 1 0 0 0 0\n 1 25 1 0 0 0 0\n 1 27 1 0 0 0 0\n 2 5 3 0 0 0 0\n 4 7 3 0 0 0 0\n 8 10 3 0 0 0 0\n 8 22 9 0 0 0 0\n 9 11 3 0 0 0 0\n 9 22 9 0 0 0 0\n 12 14 3 0 0 0 0\n 12 27 9 0 0 0 0\n 13 15 3 0 0 0 0\n 13 27 9 0 0 0 0\n 16 18 3 0 0 0 0\n 16 25 9 0 0 0 0\n 17 19 3 0 0 0 0\n 17 25 9 0 0 0 0\n 20 21 2 0 0 0 0\n 20 22 9 0 0 0 0\n 22 25 1 0 0 0 0\n 22 27 1 0 0 0 0\n 23 24 2 0 0 0 0\n 25 27 1 0 0 0 0\n 26 27 9 0 0 0 0\n 26 28 2 0 0 0 0\n 3 6 3 0 0 0 0\n 4 1 9 0 0 0 0\n 3 1 9 0 0 0 0\n 2 1 9 0 0 0 0\n 23 25 9 0 0 0 0\n 23 22 9 0 0 0 0\n 26 25 9 0 0 0 0\n 20 27 9 0 0 0 0\nM CHG 8 2 -1 3 -1 4 -1 5 1 6 1 7 1 8 -1 9 -1\nM CHG 8 10 1 11 1 12 -1 13 -1 14 1 15 1 16 -1 17 -1\nM CHG 8 18 1 19 1 20 -2 22 2 23 -2 25 2 26 -2 27 2\nM END\n> \n3D Templates\n\n> \nCo4(CO)12\n\n$$$$\nTetracobalt dodecacarbonyl_covalent\n Ketcher 3131814142D 1 1.00000 0.00000 0\n\n 28 33 0 0 0 999 V2000\n 11.5119 -6.3872 0.2843 Co 0 0 0 0 0 0 0 0 0 0 0 0\n 14.2537 -5.1567 0.9962 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1271 -4.1574 -1.8138 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.1405 -4.5859 2.5258 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.6477 -4.5559 1.3649 O 0 0 0 0 0 3 0 0 0 0 0 0\n 10.9606 -3.0390 -2.8593 O 0 0 0 0 0 3 0 0 0 0 0 0\n 9.4644 -3.6875 3.6182 O 0 0 0 0 0 3 0 0 0 0 0 0\n 10.6811 -11.2763 3.0909 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1263 -9.1532 3.4762 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6597 -11.9110 3.5304 O 0 0 0 0 0 3 0 0 0 0 0 0\n 11.3435 -8.7342 4.0978 O 0 0 0 0 0 3 0 0 0 0 0 0\n 8.4053 -7.8212 -2.1068 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.9144 -10.0973 -2.4249 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1429 -7.1175 -2.4596 O 0 0 0 0 0 3 0 0 0 0 0 0\n 7.4262 -10.5365 -2.9426 O 0 0 0 0 0 3 0 0 0 0 0 0\n 14.0567 -9.1427 -1.5415 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.7234 -11.1613 -1.8250 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.5969 -8.6889 -1.7190 O 0 0 0 0 0 3 0 0 0 0 0 0\n 14.0925 -11.7138 -2.1238 O 0 0 0 0 0 3 0 0 0 0 0 0\n 7.8227 -9.3450 1.4166 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6523 -9.0552 2.5252 O 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6963 -10.0134 2.2132 Co 0 0 0 0 0 0 0 0 0 0 0 0\n 13.6352 -10.5336 1.7363 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.6119 -11.0927 3.0899 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.9779 -10.0343 -1.2076 Co 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1257 -9.3771 -3.5447 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9140 -9.2088 -1.3937 Co 0 0 0 0 0 0 0 0 0 0 0 0\n 11.3211 -9.1075 -6.0026 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 1 22 1 0 0 0 0\n 1 25 1 0 0 0 0\n 1 27 1 0 0 0 0\n 2 5 3 0 0 0 0\n 4 7 3 0 0 0 0\n 8 10 3 0 0 0 0\n 8 22 1 0 0 0 0\n 9 11 3 0 0 0 0\n 9 22 1 0 0 0 0\n 12 14 3 0 0 0 0\n 12 27 1 0 0 0 0\n 13 15 3 0 0 0 0\n 13 27 1 0 0 0 0\n 16 18 3 0 0 0 0\n 16 25 1 0 0 0 0\n 17 19 3 0 0 0 0\n 17 25 1 0 0 0 0\n 20 21 2 0 0 0 0\n 20 22 1 0 0 0 0\n 20 27 1 0 0 0 0\n 22 23 1 0 0 0 0\n 22 25 1 0 0 0 0\n 22 27 1 0 0 0 0\n 23 24 2 0 0 0 0\n 23 25 1 0 0 0 0\n 25 26 1 0 0 0 0\n 25 27 1 0 0 0 0\n 26 27 1 0 0 0 0\n 26 28 2 0 0 0 0\n 3 6 3 0 0 0 0\nM END\n> \n0\n\n> \n4\n\n> \n3D Templates\n\n> \nCo4(CO)12\n\n$$$$\nIron pentacarbonyl_dative\n -INDIGO-03312515433D\n\n 11 10 0 0 0 0 0 0 0 0999 V2000\n 17.8272 -6.5434 0.0016 Fe 0 0 0 0 0 0 0 0 0 0 0 0\n 16.5160 -6.5546 0.0060 C 0 0 0 0 0 0 0 0 0 0 0 0\n 18.4365 -6.3526 -1.1017 C 0 0 0 0 0 0 0 0 0 0 0 0\n 18.4929 -6.7351 1.0861 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.8279 -4.9640 0.2302 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.8265 -8.1106 -0.2271 C 0 0 0 0 0 0 0 0 0 0 0 0\n 18.9473 -6.1954 -2.0026 O 0 0 0 0 0 0 0 0 0 0 0 0\n 19.0125 -6.8785 1.9652 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.4727 -6.5682 0.0394 O 0 0 0 0 0 0 0 0 0 0 0 0\n 17.8279 -3.9110 0.3907 O 0 0 0 0 0 0 0 0 0 0 0 0\n 17.8266 -9.1515 -0.3878 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 9 3 0 0 0 0\n 3 7 3 0 0 0 0\n 4 8 3 0 0 0 0\n 6 11 3 0 0 0 0\n 5 10 3 0 0 0 0\n 2 1 9 0 0 0 0\n 5 1 9 0 0 0 0\n 6 1 9 0 0 0 0\n 3 1 9 0 0 0 0\n 4 1 9 0 0 0 0\nM CHG 8 2 -1 3 -1 4 -1 5 -1 6 -1 7 1 8 1 9 1\nM CHG 2 10 1 11 1\nM END\n> \n3D Templates\n\n> \nFe(CO)5\n\n$$$$\nIron pentacarbonyl_covalent\n Ketcher 3131814142D 1 1.00000 0.00000 0\n\n 11 10 0 0 0 999 V2000\n 10.8202 -7.3426 0.0023 Fe 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9246 -7.3587 0.0087 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.7011 -7.0667 -1.5928 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.7827 -7.6197 1.5703 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8213 -5.0591 0.3328 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8193 -9.6084 -0.3284 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.4397 -6.8395 -2.8953 O 0 0 0 0 0 3 0 0 0 0 0 0\n 12.5339 -7.8271 2.8412 O 0 0 0 0 0 3 0 0 0 0 0 0\n 7.4162 -7.3784 0.0570 O 0 0 0 0 0 3 0 0 0 0 0 0\n 10.8213 -3.5367 0.5648 O 0 0 0 0 0 3 0 0 0 0 0 0\n 10.8194 -11.1133 -0.5606 O 0 0 0 0 0 3 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 1 5 1 0 0 0 0\n 1 6 1 0 0 0 0\n 2 9 3 0 0 0 0\n 3 7 3 0 0 0 0\n 4 8 3 0 0 0 0\n 6 11 3 0 0 0 0\n 5 10 3 0 0 0 0\nM END\n> \n0\n\n> \n0\n\n> \n3D Templates\n\n> \nFe(CO)5\n\n$$$$\nChlorophyll A_dative\n -INDIGO-03312515473D\n\n 0 0 0 0 0 0 0 0 0 0 0 V3000\nM V30 BEGIN CTAB\nM V30 COUNTS 71 77 0 0 0\nM V30 BEGIN ATOM\nM V30 1 C 19.4605 -9.71006 -7.9474 0\nM V30 2 C 18.7353 -8.98751 -8.59136 0\nM V30 3 C 17.324 -8.4129 -9.31537 0 CFG=1\nM V30 4 C 18.1019 -7.72808 -9.55292 0\nM V30 5 C 17.9353 -6.77994 -10.1982 0\nM V30 6 C 18.8805 -6.06238 -10.4591 0\nM V30 7 C 18.8007 -5.19229 -11.0525 0\nM V30 8 C 19.7446 -4.7595 -11.095 0\nM V30 9 C 20.4051 -5.32973 -10.5434 0\nM V30 10 C 21.5599 -5.06382 -10.4421 0\nM V30 11 C 22.2994 -5.79261 -9.79884 0\nM V30 12 C 23.3213 -5.61298 -9.679 0\nM V30 13 C 23.7235 -6.38137 -9.08001 0\nM V30 14 C 22.9388 -7.03005 -8.83974 0\nM V30 15 C 23.0717 -7.99068 -8.19598 0\nM V30 16 C 22.1566 -8.72106 -7.95039 0\nM V30 17 C 22.2416 -9.58012 -7.36947 0\nM V30 18 C 21.2877 -10.0316 -7.30184 0\nM V30 19 C 20.5789 -10.9304 -6.87822 0\nM V30 20 C 20.6339 -9.42833 -7.84742 0\nM V30 21 N 21.0789 -8.4414 -8.38869 0 CHG=-1\nM V30 22 N 19.1807 -7.99925 -9.12897 0\nM V30 23 N 19.9738 -6.33394 -10.0129 0 CHG=-1\nM V30 24 N 21.8544 -6.77928 -9.26103 0\nM V30 25 Mg 20.521 -7.37495 -9.20264 0 CHG=2\nM V30 26 O 20.9331 -11.8585 -6.18763 0\nM V30 27 H 17.5114 -10.1302 -9.18982 0\nM V30 28 H 16.5656 -7.90312 -8.81403 0\nM V30 29 C 16.9188 -8.84409 -10.1772 0\nM V30 30 C 17.799 -4.78083 -11.5722 0\nM V30 31 C 20.037 -3.7266 -11.7042 0\nM V30 32 C 21.1752 -3.30391 -11.681 0\nM V30 33 C 23.9535 -4.67335 -10.1524 0\nM V30 34 C 24.8823 -6.49357 -8.72209 0\nM V30 35 C 25.7379 -7.09302 -9.36034 0\nM V30 36 C 23.2591 -9.98361 -6.84023 0\nM V30 37 H 18.6587 -10.7866 -6.46656 0\nM V30 38 C 19.4474 -10.7345 -7.28915 0 CFG=2\nM V30 39 C 18.0599 -12.1106 -8.48939 0\nM V30 40 O 18.332 -11.4379 -8.01469 0\nM V30 41 C 19.1669 -11.4059 -7.76206 0\nM V30 42 O 19.7188 -12.0481 -7.98433 0\nM V30 43 C 17.6994 -9.17517 -8.72243 0 CFG=2\nM V30 44 C 17.4168 -9.18228 -7.74685 0\nM V30 45 C 16.5945 -9.72793 -7.45915 0\nM V30 46 C 10.7469 -9.40661 -5.43379 0\nM V30 47 O 14.9281 -9.78313 -6.88201 0\nM V30 48 C 15.7471 -9.23735 -7.16633 0\nM V30 49 O 15.709 -8.21494 -7.15603 0\nM V30 50 C 14.0819 -9.29448 -6.58946 0\nM V30 51 C 13.2579 -9.84006 -6.30003 0\nM V30 52 H 13.2947 -10.8688 -6.31285 0\nM V30 53 C 11.5947 -9.89546 -5.72641 0\nM V30 54 C 12.4151 -9.35141 -6.01259 0\nM V30 55 C 12.3757 -8.3276 -5.99877 0\nM V30 56 C 9.86938 -7.90538 -5.134 0 CFG=2\nM V30 57 H 9.62944 -8.25467 -4.0261 0\nM V30 58 C 10.7233 -8.38095 -5.43007 0\nM V30 59 C 9.00189 -8.29818 -5.6829 0\nM V30 60 C 9.84746 -6.88012 -5.13021 0\nM V30 61 C 10.7044 -6.3714 -5.34697 0\nM V30 62 C 11.5596 -4.83889 -5.56539 0 CFG=2\nM V30 63 H 11.998 -5.21381 -6.56348 0\nM V30 64 C 10.695 -5.34268 -5.34803 0\nM V30 65 C 12.3516 -5.1701 -4.82397 0\nM V30 66 C 11.5484 -3.81189 -5.56486 0\nM V30 67 C 12.4102 -3.31288 -5.78115 0\nM V30 68 C 12.4153 -2.28157 -5.78527 0\nM V30 69 C 13.2796 -0.764398 -6.00907 0\nM V30 70 C 13.2796 -1.7874 -6.00907 0\nM V30 71 C 14.1382 -2.30303 -6.21732 0\nM V30 END ATOM\nM V30 BEGIN BOND\nM V30 1 1 1 2\nM V30 2 2 1 20\nM V30 3 1 1 38\nM V30 4 2 2 22\nM V30 5 1 2 43\nM V30 6 1 3 4\nM V30 7 1 3 28\nM V30 8 1 3 29\nM V30 9 1 3 43\nM V30 10 2 4 5\nM V30 11 1 4 22\nM V30 12 1 5 6\nM V30 13 2 6 7\nM V30 14 1 6 23\nM V30 15 1 7 8\nM V30 16 1 7 30\nM V30 17 2 8 9\nM V30 18 1 8 31\nM V30 19 1 9 10\nM V30 20 1 9 23\nM V30 21 2 10 11\nM V30 22 1 11 12\nM V30 23 1 11 24\nM V30 24 2 12 13\nM V30 25 1 12 33\nM V30 26 1 13 14\nM V30 27 1 13 34\nM V30 28 1 14 15\nM V30 29 2 14 24\nM V30 30 2 15 16\nM V30 31 1 16 17\nM V30 32 1 16 21\nM V30 33 2 17 18\nM V30 34 1 17 36\nM V30 35 1 18 19\nM V30 36 1 18 20\nM V30 37 2 19 26\nM V30 38 1 19 38\nM V30 39 1 20 21\nM V30 40 9 22 25\nM V30 41 9 24 25\nM V30 42 1 27 43\nM V30 43 2 31 32\nM V30 44 1 34 35\nM V30 45 1 37 38\nM V30 46 1 38 41\nM V30 47 1 39 40\nM V30 48 1 40 41\nM V30 49 2 41 42\nM V30 50 1 43 44\nM V30 51 1 44 45\nM V30 52 1 45 48\nM V30 53 1 46 53\nM V30 54 1 46 58\nM V30 55 1 47 48\nM V30 56 1 47 50\nM V30 57 2 48 49\nM V30 58 1 50 51\nM V30 59 1 51 52\nM V30 60 2 51 54\nM V30 61 1 53 54\nM V30 62 1 54 55\nM V30 63 1 56 57\nM V30 64 1 56 58\nM V30 65 1 56 59\nM V30 66 1 56 60\nM V30 67 1 60 61\nM V30 68 1 61 64\nM V30 69 1 62 63\nM V30 70 1 62 64\nM V30 71 1 62 65\nM V30 72 1 62 66\nM V30 73 1 66 67\nM V30 74 1 67 68\nM V30 75 1 68 70\nM V30 76 1 70 71\nM V30 77 1 69 70\nM V30 END BOND\nM V30 BEGIN COLLECTION\nM V30 MDLV30/STEABS ATOMS=(5 3 38 43 56 62)\nM V30 END COLLECTION\nM V30 END CTAB\nM END\n> \n3D Templates\n\n> \nC55H72MgN4O5\n\n$$$$\nChlorophyll A_covalent\n Ketcher 3131814142D 1 1.00000 0.00000 0\n\n 71 79 0 0 0 999 V2000\n 11.3221 -15.0514 -29.5828 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.2305 -13.9637 -30.5522 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1059 -13.0987 -31.6421 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2769 -12.0678 -31.9997 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0261 -10.6405 -32.9711 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.4490 -9.5603 -33.3639 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.3289 -8.2505 -34.2571 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.7498 -7.5990 -34.3211 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7441 -8.4574 -33.4907 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.4825 -8.0571 -33.3382 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.5957 -9.1542 -32.3699 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.1341 -8.8838 -32.1895 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.7396 -10.0405 -31.2878 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.5583 -11.0170 -30.9261 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.7584 -12.4631 -29.9570 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.3808 -13.5626 -29.5873 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.5088 -14.8558 -28.7128 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.0728 -15.5355 -28.6110 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.0058 -16.8885 -27.9733 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.0886 -14.6273 -29.4323 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.7585 -13.1416 -30.2471 N 0 0 0 0 0 3 0 0 0 0 0 0\n 10.9009 -12.4760 -31.3615 N 0 0 0 0 0 4 0 0 0 0 0 0\n 12.0949 -9.9691 -32.6922 N 0 0 0 0 0 3 0 0 0 0 0 0\n 14.9259 -10.6395 -31.5603 N 0 0 0 0 0 4 0 0 0 0 0 0\n 12.9186 -11.5362 -31.4724 Mg 0 0 0 0 0 4 0 0 0 0 0 0\n 13.5390 -18.2856 -26.9337 O 0 0 0 0 0 0 0 0 0 0 0 0\n 8.3880 -15.6838 -31.4531 H 0 0 0 0 0 0 0 0 0 0 0 0\n 6.9642 -12.3313 -30.8874 H 0 0 0 0 0 0 0 0 0 0 0 0\n 7.4960 -13.7478 -32.9395 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8210 -7.6311 -35.0395 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.1900 -6.0441 -35.2381 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.9034 -5.4078 -35.2032 C 0 0 0 0 0 0 0 0 0 0 0 0\n 18.0857 -7.4693 -32.9022 C 0 0 0 0 0 0 0 0 0 0 0 0\n 19.4839 -10.2094 -30.7490 C 0 0 0 0 0 0 0 0 0 0 0 0\n 20.7720 -11.1118 -31.7098 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.0404 -15.4632 -27.9161 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.1151 -16.6720 -27.3536 H 0 0 0 0 0 0 0 0 0 0 0 0\n 11.3024 -16.5936 -28.5919 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2137 -18.6651 -30.3987 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.6234 -17.6524 -29.6841 O 0 0 0 0 0 0 0 0 0 0 0 0\n 10.8802 -17.6043 -29.3038 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.7110 -18.5710 -29.6384 O 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6710 -14.2462 -30.7495 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.2457 -14.2569 -29.2809 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0077 -15.0783 -28.8478 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.7950 -14.5946 -25.7989 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.4992 -15.1614 -27.9790 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.7321 -14.3398 -28.4070 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6748 -12.8007 -28.3915 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.2254 -14.4258 -27.5386 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.9849 -15.2471 -27.1029 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.0404 -16.7958 -27.1222 H 0 0 0 0 0 0 0 0 0 0 0 0\n -0.5187 -15.3305 -26.2394 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.7162 -14.5115 -26.6702 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.6570 -12.9703 -26.6494 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.1160 -12.3347 -25.3476 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4772 -12.8605 -23.6798 H 0 0 0 0 0 0 0 0 0 0 0 0\n -1.8305 -13.0506 -25.7933 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.4219 -12.9260 -26.1739 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.1490 -10.7913 -25.3419 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.8590 -10.0255 -25.6682 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.5716 -7.7185 -25.9970 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0884 -8.2829 -27.4995 H 0 0 0 0 0 0 0 0 0 0 0 0\n -1.8731 -8.4769 -25.6698 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.6206 -8.2171 -24.8809 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.5885 -6.1725 -25.9962 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.7089 -5.4213 -26.3218 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.7165 -3.8688 -26.3280 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.0177 -1.5849 -26.6649 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.0177 -3.1249 -26.6649 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.3102 -3.9011 -26.9784 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 20 2 0 0 0 0\n 1 38 1 0 0 0 0\n 2 22 2 0 0 0 0\n 2 43 1 0 0 0 0\n 3 4 1 0 0 0 0\n 3 28 1 0 0 0 0\n 3 29 1 0 0 0 0\n 3 43 1 0 0 0 0\n 4 5 2 0 0 0 0\n 4 22 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 2 0 0 0 0\n 6 23 1 0 0 0 0\n 7 8 1 0 0 0 0\n 7 30 1 0 0 0 0\n 8 9 2 0 0 0 0\n 8 31 1 0 0 0 0\n 9 10 1 0 0 0 0\n 9 23 1 0 0 0 0\n 10 11 2 0 0 0 0\n 11 12 1 0 0 0 0\n 11 24 1 0 0 0 0\n 12 13 2 0 0 0 0\n 12 33 1 0 0 0 0\n 13 14 1 0 0 0 0\n 13 34 1 0 0 0 0\n 14 15 1 0 0 0 0\n 14 24 2 0 0 0 0\n 15 16 2 0 0 0 0\n 16 17 1 0 0 0 0\n 16 21 1 0 0 0 0\n 17 18 2 0 0 0 0\n 17 36 1 0 0 0 0\n 18 19 1 0 0 0 0\n 18 20 1 0 0 0 0\n 19 26 2 0 0 0 0\n 19 38 1 0 0 0 0\n 20 21 1 0 0 0 0\n 21 25 1 0 0 0 0\n 22 25 1 0 0 0 0\n 23 25 1 0 0 0 0\n 24 25 1 0 0 0 0\n 27 43 1 0 0 0 0\n 31 32 2 0 0 0 0\n 34 35 1 0 0 0 0\n 37 38 1 0 0 0 0\n 38 41 1 0 0 0 0\n 39 40 1 0 0 0 0\n 40 41 1 0 0 0 0\n 41 42 2 0 0 0 0\n 43 44 1 0 0 0 0\n 44 45 1 0 0 0 0\n 45 48 1 0 0 0 0\n 46 53 1 0 0 0 0\n 46 58 1 0 0 0 0\n 47 48 1 0 0 0 0\n 47 50 1 0 0 0 0\n 48 49 2 0 0 0 0\n 50 51 1 0 0 0 0\n 51 52 1 0 0 0 0\n 51 54 2 0 0 0 0\n 53 54 1 0 0 0 0\n 54 55 1 0 0 0 0\n 56 57 1 0 0 0 0\n 56 58 1 0 0 0 0\n 56 59 1 0 0 0 0\n 56 60 1 0 0 0 0\n 60 61 1 0 0 0 0\n 61 64 1 0 0 0 0\n 62 63 1 0 0 0 0\n 62 64 1 0 0 0 0\n 62 65 1 0 0 0 0\n 62 66 1 0 0 0 0\n 66 67 1 0 0 0 0\n 67 68 1 0 0 0 0\n 68 70 1 0 0 0 0\n 70 71 1 0 0 0 0\n 69 70 1 0 0 0 0\nM CHG 3 21 -1 23 -1 25 2\nM END\n> \n31\n\n> \n44\n\n> \n3D Templates\n\n> \nC55H72MgN4O5\n\n$$$$\nPhenylalanine mustard\n Ketcher 8252313372D 1 1.00000 0.00000 0\n\n 19 19 0 0 1 0 0 0 0 0999 V2000\n 5.5721 -3.1600 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 2.1079 -3.1600 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 2.1079 -11.1600 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.8401 -11.1600 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.8401 -5.1600 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 2.1079 -9.1600 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 3.8401 -6.1600 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.8401 -9.1600 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.8401 -8.1600 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.7061 -4.6600 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.9740 -4.6600 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.9740 -9.6600 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.7061 -6.6600 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.9740 -6.6600 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.7061 -7.6600 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.9740 -7.6600 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.7061 -3.6600 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.9740 -3.6600 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.9740 -10.6600 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 17 1 0 0 0\n 2 18 1 0 0 0\n 3 19 1 0 0 0\n 4 19 2 0 0 0\n 5 7 1 0 0 0\n 5 10 1 0 0 0\n 5 11 1 0 0 0\n 12 6 1 1 0 0\n 7 13 2 0 0 0\n 7 14 1 0 0 0\n 8 9 1 0 0 0\n 8 12 1 0 0 0\n 9 15 2 0 0 0\n 9 16 1 0 0 0\n 10 17 1 0 0 0\n 11 18 1 0 0 0\n 12 19 1 0 0 0\n 13 15 1 0 0 0\n 14 16 2 0 0 0\nM END\n\n> \n0\n\n> \n0\n\n> \nAromatics\n\n$$$$\n"),V=function(U,F,Q){var B=U.reduce(function(U,F){var Q=Qk(F).file;return Q&&-1===U.indexOf(Q)&&U.push(Q),U},[]),R=Promise.all(B.map(function(U){return Fk(F+U).catch(function(U){W.KetcherLogger.error("init-lib.ts::prefetchRender",U)})}));return R.then(function(U){return U.forEach(function(U){U&&(Q.innerHTML+=U)}),B.filter(function(F,Q){return!!U[Q]})})}(R,U+"/templates/",F);return V.then(function(U){return R.map(function(F){var Q=Qk(F);return Q.file&&(F.props.prerender=-1!==U.indexOf(Q.file)?"#".concat(Q.id):""),F})})};function qE(U,F,Q){return _E.apply(this,arguments)}function _E(){return _E=(0,l.A)(J().mark(function U(F,Q,B){return J().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:return wE=[F,Q,B],U.abrupt("return",AE(Q,B).then(function(U){var Q=U.concat(Uk());F(PE(Q)),F(GE({templates:!0})),gE&&($E(),gE=!1)}));case 3:case"end":return U.stop()}},U)})),_E.apply(this,arguments)}function $E(){wE?qE.apply(void 0,(0,o.A)(wE)):gE=!0}function Uk(){var U=KE("ketcher-tmpls");if(!Array.isArray(U)||0===U.length)return[];var F=new W.KetSerializer;return U.map(function(U){try{return""===U.props&&(U.props={}),U.props.group="User Templates",{struct:F.deserialize(U.struct),props:U.props}}catch(Q){return W.KetcherLogger.error("init-lib.ts::userTmpls",Q),null}}).filter(function(U){return null!==U})}function Fk(U){return fetch(U,{credentials:"same-origin"}).then(function(F){if(F.ok)return F.text();throw Error("Could not fetch "+U)})}function Qk(U){var F=U.props.prerender,Q=F&&"".concat(F).split("#",2);return{file:F&&Q[0],id:F&&Q[1]}}function Bk(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function Rk(U){for(var F=1;F0&&void 0!==arguments[0]?arguments[0]:kk,Q=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,B=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;return"Custom"===F.key?null===(U=F.properties[Q])||void 0===U?void 0:U.default:Q||B?B?F[Q][B]?F[Q][B].properties.fieldValue.default:"":tk(F[Q]):tk(F)}function Tk(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function ek(U){for(var F=1;F0",resth:!1}},save:{errors:{},valid:!0,result:{filename:"ketcher",format:"mol"}},settings:{errors:{},valid:!0,result:xE()},text:{errors:{},valid:!0,result:{}},attach:{errors:{},valid:!0,result:{}},sgroup:function(U){var F="Custom"===U.key,Q=F?Ck(Ek,"context"):Ck(kk),B=F?Ck(Ek,"fieldName"):Ck(kk,Q);return{errors:{},valid:!0,result:{context:Q,fieldName:B,fieldValue:F?Ck(Ek,"fieldValue"):Ck(kk,Q,B),radiobuttons:"Absolute",type:"DAT"}}}(Ek)};function rk(U){return{type:"UPDATE_FORM",data:U}}function mk(){var U,F=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{errors:{}},Q=arguments.length>1?arguments[1]:void 0,B="data"in Q?Q.data:{},R=F,V=B.result,n=null===V||void 0===V?void 0:V.type;return"DAT"===n?ok(R,Q):"SUP"===n&&"nucleotideComponent"!==(null===R||void 0===R||null===(U=R.result)||void 0===U?void 0:U.type)&&Object.values(W.SUPERATOM_CLASS).includes(null===V||void 0===V?void 0:V.class)?function(U,F){return ek(ek({},U),{},{result:ek(ek(ek({},U.result),F.data.result),{},{type:"nucleotideComponent"})})}(R,Q):hk(hk({},F),B)}var Mk="INDIGO_VERIFICATION",ik="ANALYZING_FILE";function bk(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function vk(U){for(var F=1;F0,secondary:(2&(null!==Q&&void 0!==Q?Q:0))>0})}:U;var F,Q}function _k(U){var F,Q,B,R,V;return"rlabel"===U.type?{label:U.values.length?"R#":"C",rglabel:0===U.values.length?null:Qt(U.values)}:"list"===U.type||"not-list"===U.type?function(U){return{pseudo:null,label:"L#",atomList:new W.AtomList({notList:"not-list"===U.type,ids:U.values.map(function(U){return W.Elements.get(U).number})})}}(U):!U.label&&"ap"in U?{attachmentPoints:(Q=U.ap,(Q.primary?1:0)+(Q.secondary?2:0))}:"list"===U.atomType?(U.label="L#",U.pseudo=null,U.atomList=new W.AtomList({notList:!!U.notList,ids:(null===(B=U.atomList)||void 0===B?void 0:B.split(",").map(function(U){return W.Elements.get(U).number}))||[]}),delete U.notList,delete U.atomType,Ut(U)):"pseudo"===U.atomType?(U.label=null!==(R=U.pseudo)&&void 0!==R?R:void 0,U.atomList=null,delete U.notList,delete U.atomType,Ut(U)):W.Elements.get((0,D.capitalize)(null!==(F=U.label)&&void 0!==F?F:""))||U.customQuery&&""!==U.customQuery?(U.label=(0,D.capitalize)(null!==(V=U.label)&&void 0!==V?V:""),U.pseudo=null,U.atomList=null,delete U.notList,delete U.atomType,Ut(U)):"A"===U.label||"*"===U.label||"Q"===U.label||"X"===U.label||"R"===U.label?(U.pseudo=U.label,Ut(U)):U}function $k(U){var F,Q,B,R;return U?{alias:null!==(F=U.alias)&&void 0!==F?F:"",atomType:(0,W.getAtomType)(U),atomList:null!==(Q=null===(B=U.atomList)||void 0===B?void 0:B.ids.map(function(U){return W.Elements.get(U).label}).join(","))&&void 0!==Q?Q:"",notList:(null===(R=U.atomList)||void 0===R?void 0:R.notList)||!1,pseudo:U.pseudo,label:U.label,charge:null===U.charge?"":U.charge.toString(),isotope:null===U.isotope?"":U.isotope.toString(),explicitValence:U.explicitValence,radical:U.radical,invRet:U.invRet,exactChangeFlag:!!U.exactChangeFlag,ringBondCount:U.ringBondCount,substitutionCount:U.substitutionCount,unsaturatedAtom:!!U.unsaturatedAtom,hCount:U.hCount,stereoParity:U.stereoParity,implicitHCount:U.implicitHCount,aromaticity:U.queryProperties.aromaticity,ringMembership:U.queryProperties.ringMembership,ringSize:U.queryProperties.ringSize,connectivity:U.queryProperties.connectivity,chirality:U.queryProperties.chirality,customQuery:null==U.queryProperties.customQuery?"":U.queryProperties.customQuery.toString()}:null}function Ut(U){var F,Q,B,R=U.aromaticity,V=void 0===R?null:R,n=U.ringMembership,l=void 0===n?null:n,d=U.ringSize,J=void 0===d?null:d,N=U.connectivity,Z=void 0===N?null:N,W=U.chirality,E=void 0===W?null:W,k=U.customQuery,t=void 0===k?"":k,a=(0,S.A)(U,Kk);if(t&&""!==t)return Pk(Pk({},a),{},{label:"A",atomList:null,pseudo:void 0,alias:null,charge:null,isotope:null,explicitValence:-1,radical:0,ringBondCount:0,hCount:0,substitutionCount:0,unsaturatedAtom:0,implicitHCount:null,queryProperties:{aromaticity:null,ringMembership:null,ringSize:null,connectivity:null,chirality:null,customQuery:t},invRet:0,exactChangeFlag:0});var T=Ik(a.charge),e=T?parseInt(T[1]+T[3]+T[2]):a.charge;return Pk(Pk({},a),{},{isotope:a.isotope?Number(a.isotope):null,charge:a.charge&&0!==e?Number(e):null,alias:""===a.alias?null:null!==(F=a.alias)&&void 0!==F?F:null,exactChangeFlag:+(null!==(Q=a.exactChangeFlag)&&void 0!==Q&&Q),unsaturatedAtom:+(null!==(B=a.unsaturatedAtom)&&void 0!==B&&B),queryProperties:{aromaticity:V,ringMembership:l,ringSize:J,connectivity:Z,chirality:E,customQuery:""===t?null:t}})}function Ft(U){for(var F=[],Q=0;Q<32;Q++)U&1<=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function Nt(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q2}var Wt,St=function(U){return U.slice(0,-5)},Et=function(U){return Object.keys(U).filter(function(U){return U.startsWith("bond-")})},kt=["bond-any","bond-aromatic","bond-singledouble","bond-singlearomatic","bond-doublearomatic"],tt=["any","singledouble","singlearomatic","doublearomatic"],at=tt.map(function(U){return"bond-".concat(U)});function Tt(U,F){var Q=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],B=Object.keys(U).filter(function(U){return!Q.includes(U)});return 1===B.length&&F in U}function et(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}var Ct=(Wt={hand:{title:"Hand tool",enabledInViewOnly:!0,shortcut:"Mod+Alt+h",action:{tool:"hand"},hidden:function(U){return dE(U,"hand")}},"select-rectangle":{title:"Rectangle Selection",enabledInViewOnly:!0,shortcut:["Shift+Tab","Escape"],action:{tool:"select",opts:"rectangle"},hidden:function(U){return dE(U,"select-rectangle")}},"select-lasso":{title:"Lasso Selection",enabledInViewOnly:!0,shortcut:["Shift+Tab","Escape"],action:{tool:"select",opts:"lasso"}},"select-structure":{title:"Structure Selection",shortcut:["Shift+Tab","Escape"],action:{tool:"select",opts:"fragment"},hidden:function(U){return dE(U,"select-structure")}},"select-fragment":{title:"Fragment Selection",shortcut:["Shift+Tab","Escape"],action:{tool:"fragmentSelection"},hidden:function(U){return dE(U,"select-fragment")}},erase:{title:"Erase",shortcut:["Delete","Backspace"],action:{tool:"eraser",opts:1},hidden:function(U){return dE(U,"erase")}},chain:{title:"Chain",action:{tool:"chain"},hidden:function(U){return dE(U,"chain")}},"enhanced-stereo":{shortcut:"Alt+e",title:"Stereochemistry",action:{tool:"enhancedStereo"},disabled:function(U){return U.isMonomerCreationWizardActive||0===(0,W.findStereoAtoms)(null===U||void 0===U?void 0:U.struct(),Array.from(null===U||void 0===U?void 0:U.struct().atoms.keys())).length},hidden:function(U){return dE(U,"enhanced-stereo")}},"charge-plus":{shortcut:["Equal","Shift+Equal","NumpadAdd"],title:"Charge Plus",action:{tool:"charge",opts:1},hidden:function(U){return dE(U,"charge-plus")}},"charge-minus":{shortcut:["Minus","NumpadSubtract"],title:"Charge Minus",action:{tool:"charge",opts:-1},hidden:function(U){return dE(U,"charge-minus")}},"transform-rotate":{title:"Rotate Tool",action:{tool:"rotate"},hidden:function(U){return dE(U,"transform-rotate")}},"transform-flip-h":{shortcut:"Alt+h",title:"Horizontal Flip",action:{tool:"rotate",opts:"horizontal"},disabled:Zt,hidden:function(U){return dE(U,"transform-flip-h")}},"transform-flip-v":{shortcut:"Alt+v",title:"Vertical Flip",action:{tool:"rotate",opts:"vertical"},disabled:Zt,hidden:function(U){return dE(U,"transform-flip-v")}},sgroup:{shortcut:"Mod+g",title:"S-Group",action:{tool:"sgroup"},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"sgroup")}},arrows:{disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"arrows")}},"reaction-arrow-open-angle":{title:"Arrow Open Angle Tool",action:{tool:"reactionarrow",opts:W.RxnArrowMode.OpenAngle},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"reaction-arrow-open-angle")}},"reaction-arrow-filled-triangle":{title:"Arrow Filled Triangle Tool",action:{tool:"reactionarrow",opts:W.RxnArrowMode.FilledTriangle},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"reaction-arrow-filled-triangle")}},"reaction-arrow-filled-bow":{title:"Arrow Filled Bow Tool",action:{tool:"reactionarrow",opts:W.RxnArrowMode.FilledBow},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"reaction-arrow-filled-bow")}},"reaction-arrow-dashed-open-angle":{title:"Arrow Dashed Open Angle Tool",action:{tool:"reactionarrow",opts:W.RxnArrowMode.DashedOpenAngle},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"reaction-arrow-dashed-open-angle")}},"reaction-arrow-failed":{title:"Failed Arrow Tool",action:{tool:"reactionarrow",opts:W.RxnArrowMode.Failed},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"reaction-arrow-failed")}},"reaction-arrow-retrosynthetic":{title:"Retrosynthetic Arrow Tool",action:{tool:"reactionarrow",opts:W.RxnArrowMode.Retrosynthetic},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"reaction-arrow-retrosynthetic")}},"reaction-arrow-both-ends-filled-triangle":{title:"Arrow Both Ends Filled Triangle Tool",action:{tool:"reactionarrow",opts:W.RxnArrowMode.BothEndsFilledTriangle},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"reaction-arrow-both-ends-filled-triangle")}},"reaction-arrow-equilibrium-filled-half-bow":{title:"Arrow Equilibrium Filled Half Bow Tool",action:{tool:"reactionarrow",opts:W.RxnArrowMode.EquilibriumFilledHalfBow},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"reaction-arrow-equilibrium-filled-half-bow")}},"reaction-arrow-equilibrium-filled-triangle":{title:"Arrow Equilibrium Filled Triangle Tool",action:{tool:"reactionarrow",opts:W.RxnArrowMode.EquilibriumFilledTriangle},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"reaction-arrow-equilibrium-filled-triangle")}},"reaction-arrow-equilibrium-open-angle":{title:"Arrow Equilibrium Open Angle Tool",action:{tool:"reactionarrow",opts:W.RxnArrowMode.EquilibriumOpenAngle},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"reaction-arrow-equilibrium-open-angle")}},"reaction-arrow-unbalanced-equilibrium-filled-half-bow":{title:"Arrow Unbalanced Equilibrium Filled Half Bow Tool",action:{tool:"reactionarrow",opts:W.RxnArrowMode.UnbalancedEquilibriumFilledHalfBow},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"reaction-arrow-unbalanced-equilibrium-filled-half-bow")}},"reaction-arrow-unbalanced-equilibrium-open-half-angle":{title:"Arrow Unbalanced Equilibrium Open Half Angle Tool",action:{tool:"reactionarrow",opts:W.RxnArrowMode.UnbalancedEquilibriumOpenHalfAngle},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"reaction-arrow-unbalanced-equilibrium-open-half-angle")}},"reaction-arrow-unbalanced-equilibrium-large-filled-half-bow":{title:"Arrow Unbalanced Equilibrium Large Filled Half Bow Tool",action:{tool:"reactionarrow",opts:W.RxnArrowMode.UnbalancedEquilibriumLargeFilledHalfBow},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"reaction-arrow-unbalanced-equilibrium-large-filled-half-bow")}},"reaction-arrow-unbalanced-equilibrium-filled-half-triangle":{title:"Arrow Unbalanced Equilibrium Filled Half Triangle Tool",action:{tool:"reactionarrow",opts:W.RxnArrowMode.UnbalancedEquilibriumFilledHalfTriangle},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"reaction-arrow-unbalanced-equilibrium-filled-half-triangle")}},"reaction-arrow-elliptical-arc-arrow-filled-bow":{title:"Arrow Elliptical Arc Filled Bow Tool",action:{tool:"reactionarrow",opts:W.RxnArrowMode.EllipticalArcFilledBow},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"reaction-arrow-elliptical-arc-arrow-filled-bow")}},"reaction-arrow-elliptical-arc-arrow-filled-triangle":{title:"Arrow Elliptical Arc Filled Triangle Tool",action:{tool:"reactionarrow",opts:W.RxnArrowMode.EllipticalArcFilledTriangle},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"reaction-arrow-elliptical-arc-arrow-filled-triangle")}},"reaction-arrow-elliptical-arc-arrow-open-angle":{title:"Arrow Elliptical Arc Open Angle Tool",action:{tool:"reactionarrow",opts:W.RxnArrowMode.EllipticalArcOpenAngle},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"reaction-arrow-elliptical-arc-arrow-open-angle")}},"reaction-arrow-elliptical-arc-arrow-open-half-angle":{title:"Arrow Elliptical Arc Open Half Angle Tool",action:{tool:"reactionarrow",opts:W.RxnArrowMode.EllipticalArcOpenHalfAngle},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"reaction-arrow-elliptical-arc-arrow-open-half-angle")}}},(0,B.A)((0,B.A)((0,B.A)((0,B.A)((0,B.A)((0,B.A)((0,B.A)((0,B.A)((0,B.A)((0,B.A)(Wt,W.MULTITAIL_ARROW_TOOL_NAME,{title:"Multi-Tailed Arrow Tool",action:{tool:"reactionarrow",opts:W.MULTITAIL_ARROW_TOOL_NAME},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,W.MULTITAIL_ARROW_TOOL_NAME)}}),"reaction-plus",{title:"Reaction Plus Tool",action:{tool:"reactionplus"},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"reaction-plus")}}),"reaction-mapping-tools",{disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"reaction-mapping-tools")}}),"reaction-map",{title:"Reaction Mapping Tool",action:{tool:"reactionmap"},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"reaction-map")}}),"reaction-unmap",{title:"Reaction Unmapping Tool",action:{tool:"reactionunmap"},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"reaction-unmap")}}),"rgroup",{disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"rgroup")}}),"rgroup-label",{shortcut:"Mod+r",title:"R-Group Label Tool",action:{tool:"rgroupatom"},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"rgroup-label")}}),"rgroup-fragment",{shortcut:["Mod+Shift+r","Mod+r"],title:"R-Group Fragment Tool",action:{tool:"rgroupfragment"},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"rgroup-fragment")}}),"rgroup-attpoints",{shortcut:"Mod+r",title:"Attachment Point Tool",action:{tool:"apoint"},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"rgroup-attpoints")}}),W.CREATE_MONOMER_TOOL_NAME,{shortcut:"Mod+m",title:"Create a monomer",action:{tool:W.CREATE_MONOMER_TOOL_NAME},disabled:function(U){return U.isMonomerCreationWizardActive||!U.isMonomerCreationWizardEnabled},hidden:function(U){return dE(U,W.CREATE_MONOMER_TOOL_NAME)}}),(0,B.A)((0,B.A)((0,B.A)((0,B.A)((0,B.A)((0,B.A)((0,B.A)(Wt,"shapes",{disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"shapes")}}),"shape-ellipse",{title:"Shape Ellipse",action:{tool:"simpleobject",opts:W.SimpleObjectMode.ellipse},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"shape-ellipse")}}),"shape-rectangle",{title:"Shape Rectangle",action:{tool:"simpleobject",opts:W.SimpleObjectMode.rectangle},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"shape-rectangle")}}),"shape-line",{title:"Shape Line",action:{tool:"simpleobject",opts:W.SimpleObjectMode.line},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"shape-line")}}),"text",{shortcut:"Alt+t",title:"Add text",action:{tool:"text"},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,"text")}}),"bonds",{hidden:function(U){return dE(U,"bonds")}}),W.IMAGE_KEY,{title:"Add Image",action:{tool:W.IMAGE_KEY},disabled:function(U){return U.isMonomerCreationWizardActive},hidden:function(U){return dE(U,W.IMAGE_KEY)}})),Dt={single:"1",double:"2",triple:"3",up:"1",down:"1",updown:"1",crossed:"2",any:"0",aromatic:"4"},ot=xk.properties.type,pt=ot.enum,ht=ot.enumNames,ct=new Set(tt),rt=pt.reduce(function(U,F,Q){return U["bond-".concat(F)]=function(U){for(var F=1;F0&&(Q.valence="Structure contains ".concat(R," atom").concat(1!==R?"s":""," with bad valence"))}return Q}(n,U),d=Q().options.getServerSettings();return d.data={types:(0,D.without)(["valence","chiral_flag"],U)},Ht(R,V,"check",d).then(function(U){U=Object.assign(U,l),F(function(U){return{type:"UPDATE_FORM",data:{moleculeErrors:U}}}(U))}).catch(function(U){W.KetcherLogger.error("index.js::check",U),R.errorHandler(U)})}}function Lt(U,F,Q){return function(B,R){var V=R(),n=V.options.getServerSettings();n.data=F,B(Gk(!0)),Ht(V.editor,V.server,U,n,Q).then(function(F){var Q=(new W.KetSerializer).deserialize(F.struct);return B(Xt(Q,{rescale:"layout"===U,reactionRelayout:"clean"===U,method:U}))}).catch(function(U){W.KetcherLogger.error("index.js::serverTransform",U),V.editor.errorHandler(U)}).finally(function(){B(Gk(!1))})}}function Ht(U,F,Q,B,R){var V=U.selection(),n=[],l=[],d=new Map,J=new Map,N=(R||U.struct()).clone(null,null,!1,d,null,null,null,null,null,J),Z=U.explicitSelected();V&&(n=(V.atoms?V.atoms:Z.atoms).map(function(U){return d.get(U)}),l=(V.bonds?V.bonds:Z.bonds).map(function(U){return J.get(U)})),"layout"===Q&&function(U){U.frags.forEach(function(U){return U.stereoFlagPosition=void 0})}(N);var S=(new W.KetSerializer).serialize(N,void 0,zt(zt({},V),{},{atoms:n,bonds:l}));return F.then(function(){return F[Q](zt(zt(zt({struct:S},"calculate"!==Q&&"check"!==Q?{output_format:W.ChemicalMimeType.KET}:null),n&&n.length>0?{selected:n}:null),B.data),(0,D.omit)("data",B))})}var xt={layout:{shortcut:"Mod+l",title:"Layout",action:{thunk:Lt("layout")},disabled:function(U,F,Q){return!Q.app.server},hidden:function(U){return dE(U,"layout")}},clean:{shortcut:"Mod+Shift+l",title:"Clean Up",action:{thunk:Lt("clean")},disabled:function(U,F,Q){return!Q.app.server},hidden:function(U){return dE(U,"clean")}},arom:{shortcut:"Alt+a",title:"Aromatize",action:{thunk:Lt("aromatize")},disabled:function(U,F,Q){return!Q.app.server},hidden:function(U){return dE(U,"arom")}},dearom:{shortcut:"Ctrl+Alt+a",title:"Dearomatize",action:{thunk:Lt("dearomatize")},disabled:function(U,F,Q){return!Q.app.server},hidden:function(U){return dE(U,"dearom")}},cip:{shortcut:"Mod+p",title:"Calculate CIP",action:{thunk:Lt("calculateCip")},disabled:function(U,F,Q){return!Q.app.server},hidden:function(U){return dE(U,"cip")}},check:{shortcut:"Alt+s",enabledInViewOnly:!0,title:"Check Structure",action:{dialog:"check"},disabled:function(U,F,Q){return!Q.app.server},hidden:function(U){return dE(U,"check")}},analyse:{shortcut:"Alt+c",enabledInViewOnly:!0,title:"Calculated Values",action:{dialog:"analyse"},disabled:function(U,F,Q){return!Q.app.server},hidden:function(U){return dE(U,"analyse")}},recognize:{title:"Recognize Molecule",action:{dialog:"recognize"},disabled:function(U,F,Q){var B;return!Q.app.server||!(null!==(B=Q.app.imagoVersions)&&void 0!==B&&B.length)},hidden:function(U){return dE(U,"recognize")}},miew:{title:"3D Viewer",enabledInViewOnly:!0,action:{dialog:"miew"},hidden:function(U){return dE(U,"miew")}},"explicit-hydrogens":{title:"Add/Remove explicit hydrogens",action:{thunk:Lt("toggleExplicitHydrogens")},disabled:function(U,F,Q){return!Q.app.server},hidden:function(U){return dE(U,"explicit-hydrogens")}}},ut=new W.MolSerializer,wt=["Benzene\n Ketcher 5112215552D 1 1.00000 0.00000 0\n\n 6 6 0 0 0 0 999 V2000\n 0.6548 2.2452 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.0813 2.2456 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3694 2.6575 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.0813 1.4204 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.6548 1.4167 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3712 1.0086 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3 1 2 0 0 0\n 1 5 1 0 0 0\n 5 6 2 0 0 0\n 6 4 1 0 0 0\n 4 2 2 0 0 0\n 2 3 1 0 0 0\nM END","Cyclopentadiene\n Ketcher 5112215552D 1 1.00000 0.00000 0\n\n 5 5 0 0 0 0 999 V2000\n 3.8091 8.2444 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.3091 6.7055 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.6181 7.6510 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.3091 6.7055 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 7.6510 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 5 1 0 0 0\n 5 4 2 0 0 0\n 4 2 1 0 0 0\n 2 3 2 0 0 0\n 3 1 1 0 0 0\nM END","Cyclohexane\n Ketcher 5112215552D 1 1.00000 0.00000 0\n\n 6 6 0 0 0 0 999 V2000\n 2.5500 3.6722 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5500 2.6722 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.4160 2.1722 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2820 2.6722 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2820 3.6722 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.4160 4.1722 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6 1 1 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\nM END","Cyclopentane\n Ketcher 11161218352D 1 1.00000 0.00000 0\n\n 5 5 0 0 0 999 V2000\n 0.8090 1.5389 0.0000 C 0 0 0 0 0 0 0 0 0\n 1.6180 0.9511 0.0000 C 0 0 0 0 0 0 0 0 0\n 1.3090 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0\n 0.3090 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0\n 0.0000 0.9511 0.0000 C 0 0 0 0 0 0 0 0 0\n 1 5 1 0 0 0\n 5 4 1 0 0 0\n 4 3 1 0 0 0\n 3 2 1 0 0 0\n 2 1 1 0 0 0\nM END","Cyclopropane\n Ketcher 5112215552D 1 1.00000 0.00000 0\n\n 3 3 0 0 0 0 999 V2000\n 2.6123 1.5663 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.6098 1.5663 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.1111 2.4280 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 3 1 1 0 0 0\nM END","Cyclobutane\n Ketcher 5112215552D 1 1.00000 0.00000 0\n\n 4 4 0 0 0 0 999 V2000\n 3.4956 1.8862 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.4919 2.8804 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.4846 1.8991 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.4821 2.8804 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 4 1 0 0 0\n 4 3 1 0 0 0\n 3 1 1 0 0 0\nM END","Cycloheptane\n Ketcher 5112215552D 1 1.00000 0.00000 0\n\n 7 7 0 0 0 0 999 V2000\n 21.4111 6.3389 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 22.1938 6.9555 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 23.1653 6.7333 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 23.5987 5.8389 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 21.4166 5.3333 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 23.1660 4.9333 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 22.1938 4.7111 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 0 0 0\n 1 5 1 0 0 0\n 5 7 1 0 0 0\n 7 6 1 0 0 0\n 6 4 1 0 0 0\n 4 3 1 0 0 0\n 3 2 1 0 0 0\nM END","Cyclooctane\n Ketcher 5112215552D 1 1.00000 0.00000 0\n\n 8 8 0 0 0 0 999 V2000\n 2.9268 2.2122 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.9270 3.2099 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.6288 3.9118 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.6290 1.5102 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.6266 1.5102 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.3286 2.2122 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.3285 3.2099 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.6266 3.9119 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 0 0 0\n 1 4 1 0 0 0\n 4 5 1 0 0 0\n 5 6 1 0 0 0\n 6 7 1 0 0 0\n 7 8 1 0 0 0\n 8 3 1 0 0 0\n 3 2 1 0 0 0\nM END"].map(function(U){return ut.deserialize(U)}),jt={"template-lib":{shortcut:"Shift+t",title:"Structure Library",action:{dialog:"templates",prop:{tab:null}},selected:function(U){return"classic"===U._tool.mode},disabled:function(U,F,Q){return!Q.app.templates},hidden:function(U){return dE(U,"template-lib")}}},It=wt.reduce(function(U,F,Q){return U["template-".concat(Q)]={title:"".concat(F.name),shortcut:"t",action:{tool:"template",opts:{struct:F}}},U},jt),Kt=[.2,.3,.4,.5,.6,.7,.8,.9,1,1.1,1.2,1.3,1.4,1.5,1.7,2,2.5,3,3.5,4],ft={zoom:{shortcut:["Mod+0"],enabledInViewOnly:!0,selected:function(U){return U.zoom()},action:function(U){var F;U.zoom(1),null===(F=U.tool())||void 0===F||F.mousemove(U.lastEvent)},hidden:function(U){return dE(U,"zoom")}},"zoom-out":{shortcut:["Mod+Minus","Mod+NumpadSubtract"],title:"Zoom Out",enabledInViewOnly:!0,disabled:function(U){return U.zoom()<=Kt[0]},action:function(U){return function(F){var Q,B=F.zoom(),R=(0,D.findLastIndex)(function(U){return U<=B},Kt);F.zoom(Kt[Kt[R]===B&&R>0?R-1:R],U),null===(Q=F.tool())||void 0===Q||Q.mousemove(F.lastEvent)}},hidden:function(U){return dE(U,"zoom-out")}},"zoom-in":{shortcut:["Mod+Equal","Mod+NumpadAdd"],title:"Zoom In",enabledInViewOnly:!0,disabled:function(U){return Kt[Kt.length-1]<=U.zoom()},action:function(U){return function(F){var Q,B=F.zoom(),R=(0,D.findIndex)(function(U){return U>=B},Kt);F.zoom(Kt[Kt[R]===B&&R0}var Za,Wa,Sa,Ea,ka,ta,aa,Ta,ea,Ca,Da,oa,pa,ha,ca,ra,ma,Ma,ia,ba,va,Ga,sa,Xa,Ya,ya,za,Oa,La,Ha,xa,ua,wa,ja,Ia,Ka,fa,ga,Pa,Aa,qa,_a,$a,UT,FT,QT,BT,RT,VT,nT,lT,dT,JT,NT,ZT,WT,ST,ET,kT,tT,aT,TT,eT,CT,DT,oT,pT,hT,cT,rT,mT,MT,iT,bT,vT,GT,sT,XT,YT,yT,zT,OT,LT,HT,xT,uT,wT,jT,IT,KT,fT,gT,PT,AT,qT,_T,$T,Ue,Fe,Qe,Be,Re,Ve,ne,le,de,Je,Ne,Ze,We,Se,Ee,ke,te,ae,Te,ee,Ce,De,oe,pe,he,ce,re,me,Me,ie,be,ve,Ge,se,Xe,Ye,ye,ze,Oe,Le,He,xe,ue,we,je,Ie,Ke,fe,ge,Pe,Ae,qe,_e,$e,UC,FC,QC,BC,RC,VC,nC,lC,dC,JC,NC,ZC,WC,SC,EC,kC,tC,aC,TC,eC,CC,DC,oC,pC,hC,cC,rC,mC,MC,iC,bC,vC,GC,sC,XC,YC,yC,zC,OC,LC,HC,xC,uC,wC,jC,IC,KC,fC,gC,PC,AC,qC,_C,$C,UD,FD,QD,BD,RD,VD,nD,lD,dD,JD,ND,ZD,WD,SD,ED,kD,tD,aD,TD,eD,CD,DD,oD,pD,hD,cD,rD,mD,MD,iD,bD,vD,GD,sD,XD,YD,yD,zD,OD,LD,HD,xD,uD,wD,jD,ID,KD,fD,gD,PD,AD,qD,_D,$D,Uo,Fo,Qo,Bo,Ro,Vo,no,lo,Jo,No,Zo,Wo,So,Eo,ko,to,ao,To,eo,Co,Do,oo,po,ho,co,ro,mo,Mo,io,bo,vo,Go,so,Xo,Yo,yo,zo,Oo,Lo,Ho,xo,uo,wo,jo,Io,Ko,fo,go,Po,Ao,qo,_o,$o,Up,Fp,Qp,Bp,Rp,Vp,np,lp,dp,Jp,Np,Zp,Wp,Sp,Ep,kp,tp,ap,Tp,ep,Cp,Dp,op,pp,hp,cp,rp,mp,Mp,ip,bp,vp="ActionButton-module_button__nfoWQ",Gp="ActionButton-module_selected__kPCxA";function sp(){return sp=Object.assign?Object.assign.bind():function(U){for(var F=1;F svg {\n height: 100%;\n width: 100%;\n }\n ":"\n display: flex;\n justify-content: center;\n align-items: center;\n "}),GM=function(U){var F=U.struct,Q=U.options,B=U.className,R=U.fullsize,l=U.update,d=U.testId,J=(0,n.useRef)(null);return(0,n.useEffect)(function(){var U=J.current;if(U){U.innerHTML="";var B=function(U){if(U instanceof W.Struct)return U;try{return(new W.MolSerializer).deserialize(U)}catch(F){throw W.KetcherLogger.error("StructRenderer.tsx::normalizeStruct",F),Error("Could not parse Struct")}}(F);W.RenderStruct.render(U,B,Q)}},[F,Q,l]),(0,V.jsx)(vM,{"data-testid":null!==d&&void 0!==d?d:"monomer-preview-micro",ref:J,className:B,fullsize:R})},sM=r.A.input({border:"none",borderRadius:WM.border.radius.medium,outline:WM.border.primary,padding:"4px 8px",caretColor:WM.color.green,":hover":{outline:WM.border.medium},":active, :focus,:focus-visible":{outline:WM.border.secondary},":disabled":{color:"blue",outline:WM.border.primary,backgroundColor:"#e1e5ea"}});function XM(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}var YM=function(U){return(0,V.jsx)(sM,function(U){for(var F=1;F0?h.includes(U):m(U)},i=function(U){var F=m(U)?"onOk":"onCancel";B&&F in B&&("onOk"!==F||J())&&B[F](l())};return(0,n.useEffect)(function(){var U=function(U){var F;if(null===(F=r.current)||void 0===F?void 0:F.contains(document.activeElement)){var Q=U.key,B=document.activeElement,R="TEXTAREA"===(null===B||void 0===B?void 0:B.tagName);("Escape"===Q||"Enter"===Q&&!R)&&(i("Enter"===Q?"OK":"Cancel"),U.preventDefault(),U.stopPropagation())}};return document.addEventListener("keydown",U),function(){document.removeEventListener("keydown",U)}}),(0,V.jsxs)("dialog",AM(AM({ref:r,open:!0,"data-testid":"info-modal-window",tabIndex:-1,className:(0,T.A)(fM.dialog,k,null===B||void 0===B?void 0:B.className)},c),{},{children:[(0,V.jsxs)("header",{className:(0,T.A)(fM.header,D&&fM.withDivider),children:[W||(0,V.jsx)("span",{children:Q}),(0,V.jsx)("div",{className:fM.btnContainer,children:(0,V.jsx)("button",{className:fM.buttonTop,onClick:function(){return i("Cancel")},"data-testid":"close-window-button",children:(0,V.jsx)(dM,{name:"close",className:fM.closeButton})})})]}),(0,V.jsx)("div",{className:(0,T.A)(fM.body,e&&fM.withMargin),"data-testid":"info-modal-body",children:F}),(E||Z.length>0)&&(0,V.jsxs)("footer",{className:fM.footer,children:[E,Z.length>0&&Z.map(function(U){var F;return"string"!==typeof U?U:(0,V.jsx)("input",{type:"button",className:(0,T.A)(M(U)?fM.ok:fM.cancel,"Save"===U&&fM.save),value:null!==(F=null===t||void 0===t?void 0:t[U])&&void 0!==F?F:U,disabled:m(U)&&!J(),onClick:function(){return i(U)},"data-testid":U},U)})]})]}))},ni=r.A.div(qM||(qM=c(["\n display: flex;\n flex-direction: column;\n align-items: start;\n gap: 16px;\n padding: 8px;\n background: #ffffff;\n border: 1px solid #cad3dd;\n border-radius: 4px;\n box-shadow: 0px 1px 1px rgba(197, 203, 207, 0.7);\n"]))),li=r.A.div(_M||(_M=c(["\n font-weight: 600;\n"]))),di=r.A.div($M||($M=c(["\n display: flex;\n flex-direction: column;\n gap: 4px;\n"]))),Ji=r.A.div(Ui||(Ui=c(["\n height: 24px;\n display: flex;\n align-items: center;\n gap: 8px;\n white-space: pre;\n"]))),Ni=r.A.div(Fi||(Fi=c(["\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n width: 36px;\n border-right: 0.5px solid #b4b9d6;\n background: ",";\n"])),function(U){var F=U.ratio;return"linear-gradient(\n 90deg,\n #ffffff 0%,\n #ffffff ".concat(100-F,"%,\n #e7f7ea ").concat(100-F+.5,"%,\n #e7f7ea 100%\n )")}),Zi=(r.A.div(Qi||(Qi=c(["\n flex: 1;\n"]))),function(U){var F=U.className,Q=U.preview,B=U.style,l=Q.monomer,d=Q.presetMonomers,J="alternatives"===l.subtype,N=J?"Alternatives":"Mixed",Z="X"===l.label?"Any amino acid":null,W="N"===l.label?"Any base":null,S=null!==Z&&void 0!==Z?Z:W,E=l.monomers,k=l.options,t=(0,n.useMemo)(function(){return S?[]:E.map(function(U){var F,Q=k.find(function(F){return F.templateId===U.monomerItem.props.id});if(d){var B,V,n=(0,R.A)(d,3),l=n[0],J=n[2],N=null!==(B=null===l||void 0===l?void 0:l.label)&&void 0!==B?B:"",Z=null!==(V=null===J||void 0===J?void 0:J.label)&&void 0!==V?V:"";F="".concat(N,"(").concat(U.label,")").concat(Z)}else F=U.monomerItem.props.Name;return{monomerName:F,ratio:null===Q||void 0===Q?void 0:Q.ratio}})},[S,E,d,k]),a=(0,n.useMemo)(function(){var U=(0,o.A)(t);if(J)U.sort(function(U,F){return U.monomerName.localeCompare(F.monomerName)});else{var F=U.reduce(function(U,F){var Q;return U+(null!==(Q=F.ratio)&&void 0!==Q?Q:1)},0);U.forEach(function(U){var Q;U.ratio=Math.round((null!==(Q=U.ratio)&&void 0!==Q?Q:1)/F*100)}),U.sort(function(U,F){var Q,B,R=(null!==(Q=F.ratio)&&void 0!==Q?Q:0)-(null!==(B=U.ratio)&&void 0!==B?B:0);return 0!==R?R:U.monomerName.localeCompare(F.monomerName)})}return U.slice(0,5)},[t,J]);return(0,V.jsxs)(ni,{style:B,className:F,"data-testid":"polymer-library-preview",children:[(0,V.jsx)(li,{"data-testid":"preview-tooltip-title",children:N}),(0,V.jsx)(di,{children:null!==S&&void 0!==S?S:a.map(function(U){return(0,V.jsxs)(Ji,{children:[U.ratio&&(0,V.jsxs)(Ni,{ratio:U.ratio,children:[U.ratio,"%"]}),U.monomerName]},U.monomerName)})})]})});!function(U){U.Monomer="monomer",U.Preset="preset",U.Bond="bond",U.AmbiguousMonomer="ambiguousMonomer"}(Bi||(Bi={})),function(U){U.Library="library",U.ChainStart="chainStart",U.ChainMiddle="chainMiddle",U.ChainEnd="chainEnd"}(Ri||(Ri={}));var Wi={width:345,height:345,gap:5,topPadding:16,heightForNucleotide:105,widthForBond:358,heightForBond:268},Si="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof window?window:"undefined"!==typeof Q.g?Q.g:"undefined"!==typeof self?self:{};function Ei(U,F,Q){return U(Q={path:F,exports:{},require:function(U,F){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}((void 0===F||null===F)&&Q.path)}},Q.exports),Q.exports}var ki=function(){if("function"!==typeof Symbol||"function"!==typeof Object.getOwnPropertySymbols)return!1;if("symbol"===typeof Symbol.iterator)return!0;var U={},F=Symbol("test"),Q=Object(F);if("string"===typeof F)return!1;if("[object Symbol]"!==Object.prototype.toString.call(F))return!1;if("[object Symbol]"!==Object.prototype.toString.call(Q))return!1;for(var B in U[F]=42,U)return!1;if("function"===typeof Object.keys&&0!==Object.keys(U).length)return!1;if("function"===typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(U).length)return!1;var R=Object.getOwnPropertySymbols(U);if(1!==R.length||R[0]!==F)return!1;if(!Object.prototype.propertyIsEnumerable.call(U,F))return!1;if("function"===typeof Object.getOwnPropertyDescriptor){var V=Object.getOwnPropertyDescriptor(U,F);if(42!==V.value||!0!==V.enumerable)return!1}return!0},ti=function(){return ki()&&!!Symbol.toStringTag},ai=Object,Ti=Error,ei=EvalError,Ci=RangeError,Di=ReferenceError,oi=SyntaxError,pi=TypeError,hi=URIError,ci=Math.abs,ri=Math.floor,mi=Math.max,Mi=Math.min,ii=Math.pow,bi=Math.round,vi=Number.isNaN||function(U){return U!==U},Gi=Object.getOwnPropertyDescriptor;if(Gi)try{Gi([],"length")}catch(_3){Gi=null}var si=Gi,Xi=Object.defineProperty||!1;if(Xi)try{Xi({},"a",{value:1})}catch(_3){Xi=!1}var Yi,yi=Xi,zi="undefined"!==typeof Symbol&&Symbol,Oi="undefined"!==typeof Reflect&&Reflect.getPrototypeOf||null,Li=ai,Hi=Li.getPrototypeOf||null,xi=Object.prototype.toString,ui=Math.max,wi=function(U,F){for(var Q=[],B=0;B1&&"boolean"!==typeof F)throw new gi('"allowMissing" argument must be a boolean');if(null===yb(/^%?[^%]*%?$/,U))throw new Nb("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var Q=function(U){var F=Yb(U,0,1),Q=Yb(U,-1);if("%"===F&&"%"!==Q)throw new Nb("invalid intrinsic syntax, expected closing `%`");if("%"===Q&&"%"!==F)throw new Nb("invalid intrinsic syntax, expected opening `%`");var B=[];return Xb(U,zb,function(U,F,Q,R){B[B.length]=Q?Xb(R,Ob,"$1"):F||U}),B}(U),B=Q.length>0?Q[0]:"",R=Lb("%"+B+"%",F),V=R.name,n=R.value,l=!1,d=R.alias;d&&(B=d[0],sb(Q,Gb([0,1],d)));for(var J=1,N=!0;J=Q.length){var E=Ai(n,Z);n=(N=!!E)&&"get"in E&&!("originalValue"in E.get)?E.get:n[Z]}else N=Cb(n,Z),n=n[Z];N&&!l&&(Mb[V]=n)}}return n},ub=function(U,F,Q){if(!U||"object"!==typeof U&&"function"!==typeof U)throw new gi("`obj` must be an object or a function`");if("string"!==typeof F&&"symbol"!==typeof F)throw new gi("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!==typeof arguments[3]&&null!==arguments[3])throw new gi("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!==typeof arguments[4]&&null!==arguments[4])throw new gi("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!==typeof arguments[5]&&null!==arguments[5])throw new gi("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!==typeof arguments[6])throw new gi("`loose`, if provided, must be a boolean");var B=arguments.length>3?arguments[3]:null,R=arguments.length>4?arguments[4]:null,V=arguments.length>5?arguments[5]:null,n=arguments.length>6&&arguments[6],l=!!Ai&&Ai(U,F);if(eb)eb(U,F,{configurable:null===V&&l?l.configurable:!V,enumerable:null===B&&l?l.enumerable:!B,value:Q,writable:null===R&&l?l.writable:!R});else{if(!n&&(B||R||V))throw new Nb("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");U[F]=Q}},wb=Hb,jb=wb(),Ib=xb("%Math.floor%"),Kb=function(){return fi(ji,Ki,arguments)},fb=function(U,F){if("function"!==typeof U)throw new gi("`fn` is not a function");if("number"!==typeof F||F<0||F>4294967295||Ib(F)!==F)throw new gi("`length` must be a positive 32-bit integer");var Q=arguments.length>2&&!!arguments[2],B=!0,R=!0;if("length"in U&&Ai){var V=Ai(U,"length");V&&!V.configurable&&(B=!1),V&&!V.writable&&(R=!1)}return(B||R||!Q)&&(jb?ub(U,"length",F,!0,!0):ub(U,"length",F)),U},gb=Ei(function(U){U.exports=function(U){var F=Pi(arguments),Q=U.length-(arguments.length-1);return fb(F,1+(Q>0?Q:0),!0)},eb?eb(U.exports,"apply",{value:Kb}):U.exports.apply=Kb}),Pb=gb(xb("String.prototype.indexOf")),Ab=function(U,F){var Q=xb(U,!!F);return"function"===typeof Q&&Pb(U,".prototype.")>-1?gb(Q):Q},qb=ti(),_b=Ab("Object.prototype.toString"),$b=function(U){return!(qb&&U&&"object"===typeof U&&Symbol.toStringTag in U)&&"[object Arguments]"===_b(U)},Uv=function(U){return!!$b(U)||null!==U&&"object"===typeof U&&"number"===typeof U.length&&U.length>=0&&"[object Array]"!==_b(U)&&"[object Function]"===_b(U.callee)},Fv=function(){return $b(arguments)}();$b.isLegacyArguments=Uv;var Qv,Bv,Rv,Vv=Fv?$b:Uv,nv=Object.prototype.toString,lv=Function.prototype.toString,dv=/^\s*(?:function)?\*/,Jv=ti(),Nv=Object.getPrototypeOf,Zv=function(U){if("function"!==typeof U)return!1;if(dv.test(lv.call(U)))return!0;if(!Jv)return"[object GeneratorFunction]"===nv.call(U);if(!Nv)return!1;if("undefined"===typeof Qv){var F=function(){if(!Jv)return!1;try{return Function("return function*() {}")()}catch(_3){}}();Qv=!!F&&Nv(F)}return Nv(U)===Qv},Wv=Function.prototype.toString,Sv="object"===typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"===typeof Sv&&"function"===typeof Object.defineProperty)try{Bv=Object.defineProperty({},"length",{get:function(){throw Rv}}),Rv={},Sv(function(){throw 42},null,Bv)}catch(rB){rB!==Rv&&(Sv=null)}else Sv=null;var Ev=/^\s*class\b/,kv=function(U){try{var F=Wv.call(U);return Ev.test(F)}catch(_3){return!1}},tv=function(U){try{return!kv(U)&&(Wv.call(U),!0)}catch(_3){return!1}},av=Object.prototype.toString,Tv="function"===typeof Symbol&&!!Symbol.toStringTag,ev=!(0 in[,]),Cv=function(){return!1};if("object"===typeof document){var Dv=document.all;av.call(Dv)===av.call(document.all)&&(Cv=function(U){if((ev||!U)&&("undefined"===typeof U||"object"===typeof U))try{var F=av.call(U);return("[object HTMLAllCollection]"===F||"[object HTML document.all class]"===F||"[object HTMLCollection]"===F||"[object Object]"===F)&&null==U("")}catch(_3){}return!1})}var ov=Sv?function(U){if(Cv(U))return!0;if(!U)return!1;if("function"!==typeof U&&"object"!==typeof U)return!1;try{Sv(U,null,Bv)}catch(_3){if(_3!==Rv)return!1}return!kv(U)&&tv(U)}:function(U){if(Cv(U))return!0;if(!U)return!1;if("function"!==typeof U&&"object"!==typeof U)return!1;if(Tv)return tv(U);if(kv(U))return!1;var F=av.call(U);return!("[object Function]"!==F&&"[object GeneratorFunction]"!==F&&!/^\[object HTML/.test(F))&&tv(U)},pv=Object.prototype.toString,hv=Object.prototype.hasOwnProperty;var cv=function(U,F,Q){if(!ov(F))throw new TypeError("iterator must be a function");var B;arguments.length>=3&&(B=Q),function(U){return"[object Array]"===pv.call(U)}(U)?function(U,F,Q){for(var B=0,R=U.length;B-1?Pi([Q]):Q},vv=bv("Object.prototype.toString"),Gv=ti(),sv="undefined"===typeof globalThis?Si:globalThis,Xv=iv(),Yv=bv("String.prototype.slice"),yv=bv("Array.prototype.indexOf",!0)||function(U,F){for(var Q=0;Q-1?F:"Object"===F&&function(U){var F=!1;return cv(zv,function(Q,B){if(!F)try{Q(U),F=Yv(B,1)}catch(_3){}}),F}(U)}return Ai?function(U){var F=!1;return cv(zv,function(Q,B){if(!F)try{"$"+Q(U)===B&&(F=Yv(B,1))}catch(_3){}}),F}(U):null},Lv=function(U){return!!Ov(U)},Hv=Ei(function(U,F){function Q(U){return U.call.bind(U)}var B="undefined"!==typeof BigInt,R="undefined"!==typeof Symbol,V=Q(Object.prototype.toString),n=Q(Number.prototype.valueOf),l=Q(String.prototype.valueOf),d=Q(Boolean.prototype.valueOf);if(B)var J=Q(BigInt.prototype.valueOf);if(R)var N=Q(Symbol.prototype.valueOf);function Z(U,F){if("object"!==typeof U)return!1;try{return F(U),!0}catch(_3){return!1}}function W(U){return"[object Map]"===V(U)}function S(U){return"[object Set]"===V(U)}function E(U){return"[object WeakMap]"===V(U)}function k(U){return"[object WeakSet]"===V(U)}function t(U){return"[object ArrayBuffer]"===V(U)}function a(U){return"undefined"!==typeof ArrayBuffer&&(t.working?t(U):U instanceof ArrayBuffer)}function T(U){return"[object DataView]"===V(U)}function e(U){return"undefined"!==typeof DataView&&(T.working?T(U):U instanceof DataView)}F.isArgumentsObject=Vv,F.isGeneratorFunction=Zv,F.isTypedArray=Lv,F.isPromise=function(U){return"undefined"!==typeof Promise&&U instanceof Promise||null!==U&&"object"===typeof U&&"function"===typeof U.then&&"function"===typeof U.catch},F.isArrayBufferView=function(U){return"undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(U):Lv(U)||e(U)},F.isUint8Array=function(U){return"Uint8Array"===Ov(U)},F.isUint8ClampedArray=function(U){return"Uint8ClampedArray"===Ov(U)},F.isUint16Array=function(U){return"Uint16Array"===Ov(U)},F.isUint32Array=function(U){return"Uint32Array"===Ov(U)},F.isInt8Array=function(U){return"Int8Array"===Ov(U)},F.isInt16Array=function(U){return"Int16Array"===Ov(U)},F.isInt32Array=function(U){return"Int32Array"===Ov(U)},F.isFloat32Array=function(U){return"Float32Array"===Ov(U)},F.isFloat64Array=function(U){return"Float64Array"===Ov(U)},F.isBigInt64Array=function(U){return"BigInt64Array"===Ov(U)},F.isBigUint64Array=function(U){return"BigUint64Array"===Ov(U)},W.working="undefined"!==typeof Map&&W(new Map),F.isMap=function(U){return"undefined"!==typeof Map&&(W.working?W(U):U instanceof Map)},S.working="undefined"!==typeof Set&&S(new Set),F.isSet=function(U){return"undefined"!==typeof Set&&(S.working?S(U):U instanceof Set)},E.working="undefined"!==typeof WeakMap&&E(new WeakMap),F.isWeakMap=function(U){return"undefined"!==typeof WeakMap&&(E.working?E(U):U instanceof WeakMap)},k.working="undefined"!==typeof WeakSet&&k(new WeakSet),F.isWeakSet=function(U){return k(U)},t.working="undefined"!==typeof ArrayBuffer&&t(new ArrayBuffer),F.isArrayBuffer=a,T.working="undefined"!==typeof ArrayBuffer&&"undefined"!==typeof DataView&&T(new DataView(new ArrayBuffer(1),0,1)),F.isDataView=e;var C="undefined"!==typeof SharedArrayBuffer?SharedArrayBuffer:void 0;function D(U){return"[object SharedArrayBuffer]"===V(U)}function o(U){return"undefined"!==typeof C&&("undefined"===typeof D.working&&(D.working=D(new C)),D.working?D(U):U instanceof C)}function p(U){return Z(U,n)}function h(U){return Z(U,l)}function c(U){return Z(U,d)}function r(U){return B&&Z(U,J)}function m(U){return R&&Z(U,N)}F.isSharedArrayBuffer=o,F.isAsyncFunction=function(U){return"[object AsyncFunction]"===V(U)},F.isMapIterator=function(U){return"[object Map Iterator]"===V(U)},F.isSetIterator=function(U){return"[object Set Iterator]"===V(U)},F.isGeneratorObject=function(U){return"[object Generator]"===V(U)},F.isWebAssemblyCompiledModule=function(U){return"[object WebAssembly.Module]"===V(U)},F.isNumberObject=p,F.isStringObject=h,F.isBooleanObject=c,F.isBigIntObject=r,F.isSymbolObject=m,F.isBoxedPrimitive=function(U){return p(U)||h(U)||c(U)||r(U)||m(U)},F.isAnyArrayBuffer=function(U){return"undefined"!==typeof Uint8Array&&(a(U)||o(U))},["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(U){Object.defineProperty(F,U,{enumerable:!1,value:function(){throw new Error(U+" is not supported in userland")}})})}),xv=function(U){return U instanceof Buffer},uv=Ei(function(U){"function"===typeof Object.create?U.exports=function(U,F){F&&(U.super_=F,U.prototype=Object.create(F.prototype,{constructor:{value:U,enumerable:!1,writable:!0,configurable:!0}}))}:U.exports=function(U,F){if(F){U.super_=F;var Q=function(){};Q.prototype=F.prototype,U.prototype=new Q,U.prototype.constructor=U}}}),wv=Ei(function(U){try{var F=i();if("function"!==typeof F.inherits)throw"";U.exports=F.inherits}catch(_3){U.exports=uv}}),jv=Ei(function(U,F){var Q=Object.getOwnPropertyDescriptors||function(U){for(var F=Object.keys(U),Q={},B=0;B=V)return U;switch(U){case"%s":return String(R[Q++]);case"%d":return Number(R[Q++]);case"%j":try{return JSON.stringify(R[Q++])}catch(rB){return"[Circular]"}default:return U}}),d=R[Q];Q=3&&(B.depth=arguments[2]),arguments.length>=4&&(B.colors=arguments[3]),E(Q)?B.showHidden=Q:Q&&F._extend(B,Q),T(B.showHidden)&&(B.showHidden=!1),T(B.depth)&&(B.depth=2),T(B.colors)&&(B.colors=!1),T(B.customInspect)&&(B.customInspect=!0),B.colors&&(B.stylize=d),N(B,U,B.depth)}function d(U,F){var Q=l.styles[F];return Q?"\x1b["+l.colors[Q][0]+"m"+U+"\x1b["+l.colors[Q][1]+"m":U}function J(U,F){return U}function N(U,Q,B){if(U.customInspect&&Q&&p(Q.inspect)&&Q.inspect!==F.inspect&&(!Q.constructor||Q.constructor.prototype!==Q)){var R=Q.inspect(B,U);return a(R)||(R=N(U,R,B)),R}var V=function(U,F){if(T(F))return U.stylize("undefined","undefined");if(a(F)){var Q="'"+JSON.stringify(F).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return U.stylize(Q,"string")}if(t(F))return U.stylize(""+F,"number");if(E(F))return U.stylize(""+F,"boolean");if(k(F))return U.stylize("null","null")}(U,Q);if(V)return V;var n=Object.keys(Q),l=function(U){var F={};return U.forEach(function(U,Q){F[U]=!0}),F}(n);if(U.showHidden&&(n=Object.getOwnPropertyNames(Q)),o(Q)&&(n.indexOf("message")>=0||n.indexOf("description")>=0))return Z(Q);if(0===n.length){if(p(Q)){var d=Q.name?": "+Q.name:"";return U.stylize("[Function"+d+"]","special")}if(e(Q))return U.stylize(RegExp.prototype.toString.call(Q),"regexp");if(D(Q))return U.stylize(Date.prototype.toString.call(Q),"date");if(o(Q))return Z(Q)}var J,C="",h=!1,c=["{","}"];(S(Q)&&(h=!0,c=["[","]"]),p(Q))&&(C=" [Function"+(Q.name?": "+Q.name:"")+"]");return e(Q)&&(C=" "+RegExp.prototype.toString.call(Q)),D(Q)&&(C=" "+Date.prototype.toUTCString.call(Q)),o(Q)&&(C=" "+Z(Q)),0!==n.length||h&&0!=Q.length?B<0?e(Q)?U.stylize(RegExp.prototype.toString.call(Q),"regexp"):U.stylize("[Object]","special"):(U.seen.push(Q),J=h?function(U,F,Q,B,R){for(var V=[],n=0,l=F.length;n60)return Q[0]+(""===F?"":F+"\n ")+" "+U.join(",\n ")+" "+Q[1];return Q[0]+F+" "+U.join(", ")+" "+Q[1]}(J,C,c)):c[0]+C+c[1]}function Z(U){return"["+Error.prototype.toString.call(U)+"]"}function W(U,F,Q,B,R,V){var n,l,d;if((d=Object.getOwnPropertyDescriptor(F,R)||{value:F[R]}).get?l=d.set?U.stylize("[Getter/Setter]","special"):U.stylize("[Getter]","special"):d.set&&(l=U.stylize("[Setter]","special")),m(B,R)||(n="["+R+"]"),l||(U.seen.indexOf(d.value)<0?(l=k(Q)?N(U,d.value,null):N(U,d.value,Q-1)).indexOf("\n")>-1&&(l=V?l.split("\n").map(function(U){return" "+U}).join("\n").slice(2):"\n"+l.split("\n").map(function(U){return" "+U}).join("\n")):l=U.stylize("[Circular]","special")),T(n)){if(V&&R.match(/^\d+$/))return l;(n=JSON.stringify(""+R)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(n=n.slice(1,-1),n=U.stylize(n,"name")):(n=n.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),n=U.stylize(n,"string"))}return n+": "+l}function S(U){return Array.isArray(U)}function E(U){return"boolean"===typeof U}function k(U){return null===U}function t(U){return"number"===typeof U}function a(U){return"string"===typeof U}function T(U){return void 0===U}function e(U){return C(U)&&"[object RegExp]"===h(U)}function C(U){return"object"===typeof U&&null!==U}function D(U){return C(U)&&"[object Date]"===h(U)}function o(U){return C(U)&&("[object Error]"===h(U)||U instanceof Error)}function p(U){return"function"===typeof U}function h(U){return Object.prototype.toString.call(U)}function c(U){return U<10?"0"+U.toString(10):U.toString(10)}F.debuglog=function(U){if(U=U.toUpperCase(),!R[U])if(V.test(U)){var Q=process.pid;R[U]=function(){var B=F.format.apply(F,arguments);console.error("%s %d: %s",U,Q,B)}}else R[U]=function(){};return R[U]},F.inspect=l,l.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},l.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},F.types=Hv,F.isArray=S,F.isBoolean=E,F.isNull=k,F.isNullOrUndefined=function(U){return null==U},F.isNumber=t,F.isString=a,F.isSymbol=function(U){return"symbol"===typeof U},F.isUndefined=T,F.isRegExp=e,F.types.isRegExp=e,F.isObject=C,F.isDate=D,F.types.isDate=D,F.isError=o,F.types.isNativeError=o,F.isFunction=p,F.isPrimitive=function(U){return null===U||"boolean"===typeof U||"number"===typeof U||"string"===typeof U||"symbol"===typeof U||"undefined"===typeof U},F.isBuffer=xv;var r=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function m(U,F){return Object.prototype.hasOwnProperty.call(U,F)}F.log=function(){console.log("%s - %s",function(){var U=new Date,F=[c(U.getHours()),c(U.getMinutes()),c(U.getSeconds())].join(":");return[U.getDate(),r[U.getMonth()],F].join(" ")}(),F.format.apply(F,arguments))},F.inherits=wv,F._extend=function(U,F){if(!F||!C(F))return U;for(var Q=Object.keys(F),B=Q.length;B--;)U[Q[B]]=F[Q[B]];return U};var M="undefined"!==typeof Symbol?Symbol("util.promisify.custom"):void 0;function i(U,F){if(!U){var Q=new Error("Promise was rejected with a falsy value");Q.reason=U,U=Q}return F(U)}F.promisify=function(U){if("function"!==typeof U)throw new TypeError('The "original" argument must be of type Function');if(M&&U[M]){var F;if("function"!==typeof(F=U[M]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(F,M,{value:F,enumerable:!1,writable:!1,configurable:!0}),F}function F(){for(var F,Q,B=new Promise(function(U,B){F=U,Q=B}),R=[],V=0;V2?"one of ".concat(F," ").concat(U.slice(0,Q-1).join(", "),", or ")+U[Q-1]:2===Q?"one of ".concat(F," ").concat(U[0]," or ").concat(U[1]):"of ".concat(F," ").concat(U[0])}return"of ".concat(F," ").concat(String(U))}FG("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),FG("ERR_INVALID_ARG_TYPE",function(U,F,Q){var B,R,V,n;if(void 0===_v&&(_v=Iv),_v("string"===typeof U,"'name' must be a string"),"string"===typeof F&&(R="not ",F.substr(!V||V<0?0:+V,R.length)===R)?(B="must not be",F=F.replace(/^not /,"")):B="must be",function(U,F,Q){return(void 0===Q||Q>U.length)&&(Q=U.length),U.substring(Q-F.length,Q)===F}(U," argument"))n="The ".concat(U," ").concat(B," ").concat(QG(F,"type"));else{var l=function(U,F,Q){return"number"!==typeof Q&&(Q=0),!(Q+F.length>U.length)&&-1!==U.indexOf(F,Q)}(U,".")?"property":"argument";n='The "'.concat(U,'" ').concat(l," ").concat(B," ").concat(QG(F,"type"))}return n+=". Received type ".concat(Kv(Q))},TypeError),FG("ERR_INVALID_ARG_VALUE",function(U,F){var Q=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===$v&&($v=jv);var B=$v.inspect(F);return B.length>128&&(B="".concat(B.slice(0,128),"...")),"The argument '".concat(U,"' ").concat(Q,". Received ").concat(B)},TypeError),FG("ERR_INVALID_RETURN_VALUE",function(U,F,Q){var B;return B=Q&&Q.constructor&&Q.constructor.name?"instance of ".concat(Q.constructor.name):"type ".concat(Kv(Q)),"Expected ".concat(U,' to be returned from the "').concat(F,'"')+" function but got ".concat(B,".")},TypeError),FG("ERR_MISSING_ARGS",function(){for(var U=arguments.length,F=new Array(U),Q=0;Q0,"At least one arg needs to be specified");var B="The ",R=F.length;switch(F=F.map(function(U){return'"'.concat(U,'"')}),R){case 1:B+="".concat(F[0]," argument");break;case 2:B+="".concat(F[0]," and ").concat(F[1]," arguments");break;default:B+=F.slice(0,R-1).join(", "),B+=", and ".concat(F[R-1]," arguments")}return"".concat(B," must be specified")},TypeError);var BG={codes:UG};function RG(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function VG(U){for(var F=1;FU.length)&&(Q=U.length),U.substring(Q-F.length,Q)===F}var CG="",DG="",oG="",pG="",hG={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function cG(U){var F=Object.keys(U),Q=Object.create(Object.getPrototypeOf(U));return F.forEach(function(F){Q[F]=U[F]}),Object.defineProperty(Q,"message",{value:U.message}),Q}function rG(U){return aG(U,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function mG(U,F,Q){var B="",R="",V=0,n="",l=!1,d=rG(U),J=d.split("\n"),N=rG(F).split("\n"),Z=0,W="";if("strictEqual"===Q&&"object"===tG(U)&&"object"===tG(F)&&null!==U&&null!==F&&(Q="strictEqualObject"),1===J.length&&1===N.length&&J[0]!==N[0]){var S=J[0].length+N[0].length;if(S<=10){if(("object"!==tG(U)||null===U)&&("object"!==tG(F)||null===F)&&(0!==U||0!==F))return"".concat(hG[Q],"\n\n")+"".concat(J[0]," !== ").concat(N[0],"\n")}else if("strictEqualObject"!==Q){if(S<(process.stderr&&process.stderr.isTTY?process.stderr.columns:80)){for(;J[0][Z]===N[0][Z];)Z++;Z>2&&(W="\n ".concat(function(U,F){if(F=Math.floor(F),0==U.length||0==F)return"";var Q=U.length*F;for(F=Math.floor(Math.log(F)/Math.log(2));F;)U+=U,F--;return U+U.substring(0,Q-U.length)}(" ",Z),"^"),Z=0)}}}for(var E=J[J.length-1],k=N[N.length-1];E===k&&(Z++<2?n="\n ".concat(E).concat(n):B=E,J.pop(),N.pop(),0!==J.length&&0!==N.length);)E=J[J.length-1],k=N[N.length-1];var t=Math.max(J.length,N.length);if(0===t){var a=d.split("\n");if(a.length>30)for(a[26]="".concat(CG,"...").concat(pG);a.length>27;)a.pop();return"".concat(hG.notIdentical,"\n\n").concat(a.join("\n"),"\n")}Z>3&&(n="\n".concat(CG,"...").concat(pG).concat(n),l=!0),""!==B&&(n="\n ".concat(B).concat(n),B="");var T=0,e=hG[Q]+"\n".concat(DG,"+ actual").concat(pG," ").concat(oG,"- expected").concat(pG),C=" ".concat(CG,"...").concat(pG," Lines skipped");for(Z=0;Z1&&Z>2&&(D>4?(R+="\n".concat(CG,"...").concat(pG),l=!0):D>3&&(R+="\n ".concat(N[Z-2]),T++),R+="\n ".concat(N[Z-1]),T++),V=Z,B+="\n".concat(oG,"-").concat(pG," ").concat(N[Z]),T++;else if(N.length1&&Z>2&&(D>4?(R+="\n".concat(CG,"...").concat(pG),l=!0):D>3&&(R+="\n ".concat(J[Z-2]),T++),R+="\n ".concat(J[Z-1]),T++),V=Z,R+="\n".concat(DG,"+").concat(pG," ").concat(J[Z]),T++;else{var o=N[Z],p=J[Z],h=p!==o&&(!eG(p,",")||p.slice(0,-1)!==o);h&&eG(o,",")&&o.slice(0,-1)===p&&(h=!1,p+=","),h?(D>1&&Z>2&&(D>4?(R+="\n".concat(CG,"...").concat(pG),l=!0):D>3&&(R+="\n ".concat(J[Z-2]),T++),R+="\n ".concat(J[Z-1]),T++),V=Z,R+="\n".concat(DG,"+").concat(pG," ").concat(p),B+="\n".concat(oG,"-").concat(pG," ").concat(o),T+=2):(R+=B,B="",1!==D&&0!==Z||(R+="\n ".concat(p),T++))}if(T>20&&Z30)for(Z[26]="".concat(CG,"...").concat(pG);Z.length>27;)Z.pop();F=1===Z.length?V.call(this,"".concat(N," ").concat(Z[0])):V.call(this,"".concat(N,"\n\n").concat(Z.join("\n"),"\n"))}else{var W=rG(l),S="",E=hG[B];"notDeepEqual"===B||"notEqual"===B?(W="".concat(hG[B],"\n\n").concat(W)).length>1024&&(W="".concat(W.slice(0,1021),"...")):(S="".concat(rG(d)),W.length>512&&(W="".concat(W.slice(0,509),"...")),S.length>512&&(S="".concat(S.slice(0,509),"...")),"deepEqual"===B||"equal"===B?W="".concat(E,"\n\n").concat(W,"\n\nshould equal\n\n"):S=" ".concat(B," ").concat(S)),F=V.call(this,"".concat(W).concat(S))}return Error.stackTraceLimit=J,F.generatedMessage=!Q,Object.defineProperty(NG(F),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),F.code="ERR_ASSERTION",F.actual=l,F.expected=d,F.operator=B,Error.captureStackTrace&&Error.captureStackTrace(NG(F),R),F.stack,F.name="AssertionError",JG(F)}return Q=n,(B=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:F,value:function(U,F){return aG(this,VG(VG({},F),{},{customInspect:!1,depth:0}))}}])&&lG(Q.prototype,B),R&&lG(Q,R),Object.defineProperty(Q,"prototype",{writable:!1}),n}(ZG(Error),aG.custom),bG=Object.prototype.toString,vG=function(U){var F=bG.call(U),Q="[object Arguments]"===F;return Q||(Q="[object Array]"!==F&&null!==U&&"object"===typeof U&&"number"===typeof U.length&&U.length>=0&&"[object Function]"===bG.call(U.callee)),Q};if(!Object.keys){var GG=Object.prototype.hasOwnProperty,sG=Object.prototype.toString,XG=vG,YG=Object.prototype.propertyIsEnumerable,yG=!YG.call({toString:null},"toString"),zG=YG.call(function(){},"prototype"),OG=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],LG=function(U){var F=U.constructor;return F&&F.prototype===U},HG={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},xG=function(){if("undefined"===typeof window)return!1;for(var U in window)try{if(!HG["$"+U]&&GG.call(window,U)&&null!==window[U]&&"object"===typeof window[U])try{LG(window[U])}catch(_3){return!0}}catch(_3){return!0}return!1}();MG=function(U){var F=null!==U&&"object"===typeof U,Q="[object Function]"===sG.call(U),B=XG(U),R=F&&"[object String]"===sG.call(U),V=[];if(!F&&!Q&&!B)throw new TypeError("Object.keys called on a non-object");var n=zG&&Q;if(R&&U.length>0&&!GG.call(U,0))for(var l=0;l0)for(var d=0;d2?arguments[2]:{},B=fG(F);Bs&&(B=Vs.call(B,Object.getOwnPropertySymbols(F)));for(var R=0;RU.length)&&(F=U.length);for(var Q=0,B=new Array(F);Q10)return!0;for(var F=0;F57)return!0}return 10===U.length&&U>=Math.pow(2,32)}function Ks(U){return Object.keys(U).filter(Is).concat(ps(U).filter(Object.prototype.propertyIsEnumerable.bind(U)))}function fs(U,F){if(U===F)return 0;for(var Q=U.length,B=F.length,R=0,V=Math.min(Q,B);R1?Q-1:0),R=1;R1?Q-1:0),R=1;R1?Q-1:0),R=1;R1?Q-1:0),R=1;RF+Wi.gap+Wi.topPadding)return J;var Z=null!==(R=null===n||void 0===n?void 0:n.height)&&void 0!==R?R:0,S=U.top+F>Z,E=U.top>Z/2;return S&&E?J:N}(F,U);return"".concat(Q,"px")}}var lX=function(U){var F="X"===U.label||"N"===U.label?1:U.monomers.length,Q=function(U){return 16+35*U}(Math.min(5,F));return nX(Q)};var dX=function(U,F){var Q,B,R,V,n,l,d=U.firstMonomer,J=U.secondMonomer;BX(J);var N=null===(Q=d.renderer)||void 0===Q?void 0:Q.rootBoundingClientRect,Z=null===(B=J.renderer)||void 0===B?void 0:B.rootBoundingClientRect,S=null===(R=W.ZoomTool.instance)||void 0===R||null===(R=R.canvasWrapper.node())||void 0===R?void 0:R.getBoundingClientRect(),E=null!==(V=null===S||void 0===S?void 0:S.bottom)&&void 0!==V?V:0,k=null!==(n=null===S||void 0===S?void 0:S.top)&&void 0!==n?n:0,t=null!==(l=null===S||void 0===S?void 0:S.right)&&void 0!==l?l:0;BX(N),BX(Z);var a=Math.min(F.left,N.left,Z.left),T=Math.min(F.top,N.top,Z.top),e=Math.max(F.right,N.right,Z.right),C=Math.max(F.bottom,N.bottom,Z.bottom),D=e-a,o=C-T,p={};if(D>o){var h,c=a+D/2;h=T+k>Wi.height?T-Wi.heightForBond-Wi.gap:C+Wi.gap;var r="0";c+Wi.width>t?r="-100%":c>Wi.width/2&&(r="-50%"),p={top:"".concat(h,"px"),left:"".concat(c,"px"),transform:"translate(".concat(r,", 0)")}}else{var m,M=T+o/2,i=(m=a>Wi.widthForBond+Wi.gap?a-Wi.widthForBond/2-Wi.gap:e+Wi.widthForBond/2+Wi.gap)>Wi.width/2?"-50%":"0",b="0";M+Wi.height/2>E?b="-100%":M>Wi.height/2&&(b="-50%"),p={top:"".concat(M,"px"),left:"".concat(m,"px"),transform:"translate(".concat(i,", ").concat(b,")")}}return p},JX=function(U){var F=U.name,Q=U.action,R=U.status,n=void 0===R?{}:R,l=U.selected,d=void 0!==l&&l,J=U.disableableButtons,N=U.indigoVerification,Z=U.className,S=U.onAction,E=U.dataTestId;if(n.hidden)return null;var k=(0,W.shortcutStr)(null===Q||void 0===Q?void 0:Q.shortcut),t=n.disabled||N&&J.includes(F);return(0,V.jsxs)("button",{"data-testid":null!==E&&void 0!==E?E:F,disabled:t,onClick:function(){null!==Q&&void 0!==Q&&Q.action&&S(Q.action)},title:k?"".concat(null===Q||void 0===Q?void 0:Q.title," (").concat(k,")"):null===Q||void 0===Q?void 0:Q.title,className:(0,T.A)(vp,(0,B.A)({},Gp,d),Z),children:[(0,V.jsx)(dM,{name:F}),(0,V.jsx)("kbd",{children:k})]})};function NX(){try{var U=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(U){}return(NX=function(){return!!U})()}var ZX=function(U){function F(U){var Q;return(0,N.A)(this,F),(Q=function(U,F,Q){return F=(0,k.A)(F),(0,E.A)(U,NX()?Reflect.construct(F,Q||[],(0,k.A)(U).constructor):F.apply(U,Q))}(this,F,[U])).element=document.createElement("div"),Q.isElementInDom=!1,Q.props.testId&&Q.element.setAttribute("data-testid",Q.props.testId),Q}return(0,a.A)(F,U),(0,Z.A)(F,[{key:"componentDidMount",value:function(){!this.isElementInDom&&this.props.isOpen&&this.addElementInDOM();var U=this.props,F=U.className,Q=U.style;F&&this.addClassName(F),Q&&this.updateStyle(Q)}},{key:"componentWillUnmount",value:function(){this.isElementInDom&&this.removeElementFromDOM()}},{key:"componentDidUpdate",value:function(U){var F=this.props,Q=F.isOpen,B=F.className,R=F.style;B!==U.className&&(this.removeClassNames(U.className),this.addClassName(B)),R!==U.style&&this.updateStyle(R,U.style),Q!==U.isOpen&&(Q&&!this.isElementInDom?this.addElementInDOM():this.isElementInDom&&this.removeElementFromDOM())}},{key:"addElementInDOM",value:function(){var U;null===(U=document.querySelector($t))||void 0===U||U.appendChild(this.element),this.isElementInDom=!0}},{key:"removeElementFromDOM",value:function(){var U;null===(U=document.querySelector($t))||void 0===U||U.removeChild(this.element),this.isElementInDom=!1}},{key:"removeClassNames",value:function(U){var F=this;U&&U.split(" ").forEach(function(U){F.element.classList.remove(U)})}},{key:"addClassName",value:function(U){var F=this;U&&U.split(" ").forEach(function(U){F.element.classList.add(U)})}},{key:"updateStyle",value:function(U,F){var Q=this;F&&Object.keys(F).forEach(function(U){Q.element.style[U]=""},this),U&&Object.keys(U).forEach(function(F){Q.element.style[F]=U[F]},this)}},{key:"render",value:function(){var U=this.props.children;return b.createPortal(U,this.element)}}]),F}(n.Component),WX="DefaultMultiTool-module_default__zNTMe",SX=function(U){var F=U.options,Q=U.status,B=U.disableableButtons,R=U.indigoVerification,n=U.onAction;return(0,V.jsx)(V.Fragment,{children:F.map(function(U){var F=Q[U.id],l=JM(U.id);return l&&(0,V.jsx)(JX,{name:l,action:Ja[U.id],status:F,selected:!(null===F||void 0===F||!F.selected),disableableButtons:B,indigoVerification:R,onAction:n},U.id)})})},EX="GroupedMultiTool-module_group__BJQAU",kX=function(U){var F=U.groups,Q=U.options,B=U.status,R=U.disableableButtons,n=U.indigoVerification,l=U.onAction;return F?(0,V.jsx)(V.Fragment,{children:F.map(function(U){return(0,V.jsx)("div",{className:EX,children:Q.slice(U.start,U.end).map(function(U){var F=B[U.id],Q=JM(U.id);return Q&&(0,V.jsx)(JX,{name:Q,action:Ja[U.id],status:F,selected:!(null===F||void 0===F||!F.selected),disableableButtons:R,indigoVerification:n,onAction:l},U.id)})},U.start)})}):null};var tX="ToolbarMultiToolItem-module_icon__-HQal",aX="ToolbarMultiToolItem-module_root__uTaId",TX="ToolbarMultiToolItem-module_iconSelected__hlO0J",eX="ToolbarMultiToolItem-module_portal__2XJgz",CX="ToolbarMultiToolItem-module_portal-vertical__A0DVe";function DX(U){var F=(0,R.A)(U,4),Q=F[0],B=F[1],V=F[2],l=F[3],d=(0,n.useState)({}),J=(0,R.A)(d,2),N=J[0],Z=J[1];return(0,n.useEffect)(function(){var U,F;if(Q.current){var B=null!==(U=null===(F=document.querySelector(null!==l&&void 0!==l?l:$t))||void 0===F?void 0:F.getBoundingClientRect())&&void 0!==U?U:{top:0,left:0},R=Q.current.getBoundingClientRect(),n=R.top-B.top+(V?4+R.height:0)-(V?0:2),d=R.left-B.left+(V?0:4+R.width)-(V?2:0);Z({top:"".concat(n,"px"),left:"".concat(d,"px")})}},[Q,B,V,l]),[N]}function oX(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function pX(U){for(var F=1;F0&&void 0!==arguments[0]?arguments[0]:"default";switch(U){case"default":return[SX,"".concat(WX," default-multitool-dropdown")];case"grouped":return[kX,"grouped-multitool-dropdown"];default:throw new Error("Unsupported variant ".concat(U))}}(l),z=(0,R.A)(y,2),O=z[0],L=z[1],H=JM(c),x=!0===(null===m||void 0===m?void 0:m.disabled);return M&&H?(0,V.jsxs)("div",{ref:e,className:aX,"data-testid":"".concat(F,"-drop-down-button"),"data-is-selected":h?"true":"false",children:[(0,V.jsx)(JX,pX(pX({},Y),{},{className:S,name:H,action:Ja[c],status:m,selected:h,dataTestId:null!==a&&void 0!==a?a:H})),!D&&!x&&(0,V.jsx)(dM,{className:"".concat(tX," ").concat((null===m||void 0===m?void 0:m.selected)&&TX),name:"dropdown",dataTestId:"dropdown-expand",onClick:X}),D?(0,V.jsx)(ZX,{isOpen:D,className:(0,T.A)(eX,E&&CX,L),style:p,testId:"multi-tool-dropdown",children:(0,V.jsx)(O,{options:Q,groups:B,status:d,disableableButtons:Z,indigoVerification:N,onAction:k})}):null]}):null},cX=function(U){var F=U.id,Q=U.options,B=U.status,R=U.className,n=U.opened,l=U.indigoVerification,d=U.disableableButtons,J=U.vertical,N=U.onAction,Z=U.onOpen,W=U.dataTestId;if(null===Q||void 0===Q||!Q.length){var S,E=JM(F);return E&&(0,V.jsx)(JX,{className:R,name:E,action:Ja[F],status:B[F],selected:!(null===(S=B[F])||void 0===S||!S.selected),indigoVerification:l,disableableButtons:d,onAction:N,dataTestId:W})}return(0,V.jsx)(hX,{className:R,id:F,options:Q,status:B,opened:n,disableableButtons:d,indigoVerification:l,onAction:N,onOpen:Z,vertical:J,dataTestId:W})},rX=function(U){var F=U.active,Q=U.disableableButtons,B=U.indigoVerification,R=U.onAction,n=U.status,l=F&&"template"===F.tool,d=function(U,F){return{shortcut:Ja["template-".concat(F)].shortcut,action:{tool:"template",opts:{struct:U}},title:U.name}};return(0,V.jsx)(V.Fragment,{children:wt.map(function(U,J){var N=JM("template-".concat(J));return N&&(0,V.jsx)(JX,{name:N,action:d(U,J),onAction:R,selected:l&&F&&F.opts.struct===U,status:n["template-".concat(J)],disableableButtons:Q,indigoVerification:B},N)})})},mX="BottomToolbar-module_group__b-pGt",MX="BottomToolbar-module_root__kjkSm",iX=["className"];function bX(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function vX(U){for(var F=1;F1&&void 0!==arguments[1]?arguments[1]:0,B=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],R=h().debounce(U,Q),V=function(U){return(null===U||void 0===U?void 0:U.filter(function(U,F){return!B.includes(F)}))||[]};return function(){for(var U=V(F),Q=arguments.length,B=new Array(Q),n=0;n0&&void 0!==arguments[0]?arguments[0]:qX,F=arguments.length>1?arguments[1]:void 0;return F.type===_X?AX(AX({},U),{},{cursorPosition:{x:F.data.x,y:F.data.y}}):U},actionState:function(){var U,F=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,Q=arguments.length>1?arguments[1]:void 0,B=Q.type,R=Q.action,V=(0,S.A)(Q,$X);switch(B){case"INIT":var n,l=W.SettingsManager.selectionTool||Ja["select-rectangle"].action;return"select"===(null===(n=U=QY(null===F||void 0===F?void 0:F.activeTool,FY(FY({},V),{},{action:l})))||void 0===n?void 0:n.tool)&&(W.SettingsManager.selectionTool=U),nY(U||(null===F||void 0===F?void 0:F.activeTool),V);case"ACTION":var d;return"select"===(null===(d=U=QY(null===F||void 0===F?void 0:F.activeTool,FY(FY({},V),{},{action:R})))||void 0===d?void 0:d.tool)&&(W.SettingsManager.selectionTool=U),nY(U||(null===F||void 0===F?void 0:F.activeTool),V);case"UPDATE":return nY(U||(null===F||void 0===F?void 0:F.activeTool),V);default:return F}},toolbar:function(){var U,F,Q,B=arguments.length>0&&void 0!==arguments[0]?arguments[0]:bY,R=arguments.length>1?arguments[1]:void 0,V=R.type,n=R.data;switch(V){case"ACTION":var l=vY(R.action);return iY(iY({},B),{},l?{opened:null,visibleTools:iY(iY({},B.visibleTools),l)}:{opened:null});case"ADD_ATOMS":var d=(U=n,F=B.freqAtoms,Q=B.currentAtom,U=(0,D.capitalize)(U),BE.indexOf(U)>-1||-1!==F.indexOf(U)?{freqAtoms:F}:(F[Q]=U,{freqAtoms:F,currentAtom:Q=(Q+1)%7}));return iY(iY({},B),d);case"CLEAR_VISIBLE":var J=vY(R.data),N=function(U,F){var Q=/(bond)(-)(common|stereo|query)/,B=window.innerHeight;return Object.keys(U).reduce(function(F,R){return"bond"===R&&B>700||"transform"===R&&B>800||"rgroup"===R&&B>850||"shape"===R&&B>900||(!Q.exec(R)||B>700)&&(F[R]=U[R]),F},iY({},F))}(B.visibleTools,J);return iY(iY({},B),{},{opened:null,visibleTools:iY({},N)});case"OPENED":return n.isSelected&&B.opened?iY(iY({},B),{},{opened:null}):iY(iY({},B),{},{opened:n.menuName});case"UPDATE":case"MODAL_OPEN":return iY(iY({},B),{},{opened:null});default:return B}},modal:function(){var U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,F=arguments.length>1?arguments[1]:void 0;switch(F.type){case"UPDATE_FORM":var Q;if(!U)return null;var B=mk(null!==(Q=U.form)&&void 0!==Q?Q:void 0,F);return XX(XX({},U),{},{form:B});case"MODAL_CLOSE":if(null!==U&&void 0!==U&&U.parentModal){var R,V,n=XX(XX(XX({},U.parentModal.prop),null!==(R=null===(V=U.parentModal.form)||void 0===V?void 0:V.result)&&void 0!==R?R:{}),{},{isRestoredModal:!0});return XX(XX({},U.parentModal),{},{prop:n})}return null;case"MODAL_OPEN":var l,d=F.data;return{name:d.name,form:ck[d.name]||null,prop:d.prop||null,parentModal:null!==(l=d.prop)&&void 0!==l&&l.isNestedModal?U:null};default:return U}},abbreviationLookup:function(){var U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:jX,F=arguments.length>1?arguments[1]:void 0;switch(F.type){case IX:return{isOpen:!1,lookupValue:F.data};case KX:return{isOpen:!0,lookupValue:"".concat(U.lookupValue).concat(F.data)};case fX:return{isOpen:!1,lookupValue:void 0};default:return U}},server:function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:null},editor:function(){return arguments.length>0&&void 0!==arguments[0]?arguments[0]:null},options:function(){var U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},F=arguments.length>1?arguments[1]:void 0,Q=F.type,B=F.data;return Q===vE?Rk(Rk({},U),{},{app:Rk(Rk({},U.app),B)}):"SAVE_SETTINGS"===Q?Rk(Rk({},U),{},{settings:Rk(Rk({},U.settings),B)}):"SAVE_CHECK_OPTS"===Q?Rk(Rk({},U),{},{check:B}):"CHANGE_ANALYSE"===Q?Rk(Rk({},U),{},{analyse:Rk(Rk(Rk({},U.analyse),B),{},{loading:!1})}):"ANALYSE_LOADING"===Q?Rk(Rk({},U),{},{analyse:Rk(Rk({},U.analyse),{},{loading:!0})}):lk.includes(Q)?Rk(Rk({},U),{},{recognize:Rk(Rk({},U.recognize),B)}):U},templates:function(){var U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:xX,F=arguments.length>1?arguments[1]:void 0;if(uX.includes(F.type))return zX(zX({},U),F.data||{});if(wX.includes(F.type)){var Q=zX(zX({},U.attach),F.data||{});return zX(zX({},U),{},{attach:Q})}if("TMPL_DELETE"===F.type){var B=zX({},U),R=B.lib.filter(function(U){return U!==F.data.tmpl});return zX(zX({},B),{},{lib:R})}return U},functionalGroups:function(){var U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:DY,F=arguments.length>1?arguments[1]:void 0,Q=F.type,B=F.payload;switch(Q){case"FG_INIT":return CY(CY({},U),B);case"FG_HIGHLIGHT":return CY(CY({},U),{},{functionalGroupInfo:B});default:return U}},saltsAndSolvents:function(){var U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:rY,F=arguments.length>1?arguments[1]:void 0,Q=F.type,B=F.payload;return"SALTS_AND_SOLVENTS_INIT"===Q?cY(cY({},U),B):U},requestsStatuses:function(){var U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Xk,F=arguments.length>1?arguments[1]:void 0,Q=F.type,B=F.data;switch(Q){case Mk:return vk(vk({},U),{},{indigoVerification:B});case ik:return vk(vk({},U),{},{isAnalyzingFile:B});default:return U}},floatingTools:function(){var U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:XY,F=arguments.length>1?arguments[1]:void 0,Q=F.type,B=F.payload;return"UPDATE_FLOATING_TOOLS"===Q?sY(sY({},U),B):U},notifications:function(){var U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:zY,F=arguments.length>1?arguments[1]:void 0;return"SHOW_SNACKBAR_NOTIFICATION"===F.type?yY(yY({},U),{},{snackbarNotificationText:F.data}):"HIDE_SNACKBAR_NOTIFICATION"===F.type?yY(yY({},U),{},{snackbarNotificationText:""}):U}});function jY(U,F,B){var R=U.buttons,V=void 0===R?{}:R,n=U.customButtons,l=(0,S.A)(U,LY),d={actionState:null,editor:null,modal:null,options:Object.assign(Vk,{app:l,buttons:V,customButtons:n}),server:F||Promise.reject(new Error("Standalone mode!")),templates:xX,notifications:zY},J=[X.P],N=function(U){return function(F,B){var R=F;switch(B.type){case"INIT":U(B.editor);var V=xY({},B);delete V.type,V&&(R=xY(xY({},R),V)),R=xY(xY({},R),{},{server:B.server||R.server});break;case"UPDATE":var n=xY({},B);delete n.type,n&&(R=xY(xY({},R),n));break;case uY:R=xY(xY({},R),{},{server:B.server||R.server})}var l=wY(R,xY(xY({},B),(0,D.pick)(["editor","server","options"],R))),d=l===R.shared?R:xY(xY({},R),l);return Q.g.currentState=d,d}}(B);return(0,G.y$)(N,d,G.Tw.apply(void 0,J))}var IY=[],KY=(0,v.Ng)(function(U){var F,Q;return{active:null===(F=U.actionState)||void 0===F?void 0:F.activeTool,status:null!==(Q=U.actionState)&&void 0!==Q?Q:{},opened:U.toolbar.opened,indigoVerification:U.requestsStatuses.indigoVerification,disableableButtons:IY}},function(U){return{onAction:function(F){return U(vt(F))},onOpen:function(F,Q){return U({type:"OPENED",data:{menuName:F,isSelected:Q}})}}})(function(U){var F=U.className,Q=(0,S.A)(U,iX);return(0,V.jsx)("div",{"data-testid":"bottom-toolbar",className:(0,T.A)(MX,F),children:(0,V.jsxs)(GX,{children:[(0,V.jsx)(rX,vX({},Q)),(0,V.jsx)(cX,vX({id:"template-lib"},Q))]})})});function fY(U){return U.map(function(U){return{id:U}})}var gY=fY(["bond-single","bond-double","bond-triple"]),PY=fY(["bond-up","bond-down","bond-updown","bond-crossed"]),AY=fY(["bond-any","bond-aromatic","bond-singledouble","bond-singlearomatic","bond-doublearomatic"]),qY=fY(["bond-dative","bond-hydrogen"]),_Y=[gY,PY,AY,qY],$Y=_Y.flat(),Uy=_Y.reduce(function(U,F,Q){var B,R,V=null!==(B=null===(R=U[Q-1])||void 0===R?void 0:R.end)&&void 0!==B?B:0;return U.push({start:V,end:V+F.length}),U},[]),Fy=fY(["rgroup-label","rgroup-fragment","rgroup-attpoints"]),Qy=fY(["shape-ellipse","shape-rectangle","shape-line"]),By=fY(["select-rectangle","select-lasso","select-structure","select-fragment"]),Ry=fY(["reaction-arrow-open-angle","reaction-arrow-filled-triangle","reaction-arrow-filled-bow","reaction-arrow-dashed-open-angle","reaction-arrow-failed","reaction-arrow-retrosynthetic","reaction-arrow-both-ends-filled-triangle","reaction-arrow-equilibrium-filled-half-bow","reaction-arrow-equilibrium-filled-triangle","reaction-arrow-equilibrium-open-angle","reaction-arrow-unbalanced-equilibrium-filled-half-bow","reaction-arrow-unbalanced-equilibrium-open-half-angle","reaction-arrow-unbalanced-equilibrium-large-filled-half-bow","reaction-arrow-unbalanced-equilibrium-filled-half-triangle","reaction-arrow-elliptical-arc-arrow-filled-bow","reaction-arrow-elliptical-arc-arrow-filled-triangle","reaction-arrow-elliptical-arc-arrow-open-angle","reaction-arrow-elliptical-arc-arrow-open-half-angle",W.MULTITAIL_ARROW_TOOL_NAME]),Vy=fY(["reaction-map","reaction-unmap","reaction-automap"]),ny={scroll:"ArrowScroll-module_scroll__h9kCx",upDown:"ArrowScroll-module_upDown__zT-Uf",button:"ArrowScroll-module_button__ygMgL",down:"ArrowScroll-module_down__yDzZX",up:"ArrowScroll-module_up__Q1ubd",left:"ArrowScroll-module_left__ND2ZB",right:"ArrowScroll-module_right__A3fNm"};function ly(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function dy(U){for(var F=1;F0&&void 0!==arguments[0]?arguments[0]:{},F=(0,n.useState)({height:void 0,width:void 0}),Q=(0,R.A)(F,2),B=Q[0],V=Q[1],l=(0,n.useMemo)(function(){return(0,p.throttle)(V,100)},[]),d=y()(dy({onResize:l},U));return dy({ref:d.ref},B)}function Ny(){var U=n.useContext(QE);if(!U)throw new Error("useFormContext must be used within a Form component");return U}var Zy=function(){return n.useContext($S)},Wy=function(U,F){var Q=(0,n.useRef)(F);(0,n.useEffect)(function(){Q.current=F},[F]),(0,n.useEffect)(function(){if(U){var F=0,B=performance.now();return F=requestAnimationFrame(function U(R){var V=R-B;B=R,Q.current(V),F=requestAnimationFrame(U)}),function(){return cancelAnimationFrame(F)}}},[U])},Sy=v.wA.withTypes(),Ey=function(){var U=Sy(),F=Zy().ketcherId,Q=function(){U(Gk(!0))},B=function(){U(Gk(!1))};(0,n.useEffect)(function(){var U=function(){var U;(U=W.ketcherProvider.getKetcher(F)).eventBus.addListener(W.KetcherAsyncEvents.LOADING,Q),U.eventBus.addListener(W.KetcherAsyncEvents.SUCCESS,B),U.eventBus.addListener(W.KetcherAsyncEvents.FAILURE,B)},R=function(){var U;(U=W.ketcherProvider.getKetcher(F)).eventBus.removeListener(W.KetcherAsyncEvents.LOADING,Q),U.eventBus.removeListener(W.KetcherAsyncEvents.SUCCESS,B),U.eventBus.removeListener(W.KetcherAsyncEvents.FAILURE,B)},V=Pt(F);return window.addEventListener(V,U),function(){R(),window.removeEventListener(V,U)}},[])},ky=function(U){var F=U.startInView,Q=U.endInView,B=U.scrollForward,l=U.scrollBack,d=U.isLeftRight,J=(0,n.useState)(!1),N=(0,R.A)(J,2),Z=N[0],W=N[1],S=(0,n.useState)(!1),E=(0,R.A)(S,2),k=E[0],t=E[1];return Wy(Z,function(U){return B(U)}),Wy(k,function(U){return l(U)}),(0,n.useEffect)(function(){return function(){t(!1)}},[F]),(0,n.useEffect)(function(){return function(){W(!1)}},[Q]),(0,V.jsxs)("div",{className:(0,T.A)(ny.scroll,d?ny.leftRight:ny.upDown),children:[Q?(0,V.jsx)(V.Fragment,{}):(0,V.jsx)("button",{onClick:function(U){U.stopPropagation(),B(100)},onMouseUp:function(){return W(!1)},onMouseDown:function(){return W(!0)},className:(0,T.A)(ny.button,d?ny.right:ny.down),"data-testid":"arrow-scroll-right-button",children:d?"\u25ba":"\u25bc"}),F?(0,V.jsx)(V.Fragment,{}):(0,V.jsx)("button",{onClick:function(U){U.stopPropagation(),l(100)},onMouseUp:function(){return t(!1)},onMouseDown:function(){return t(!0)},className:(0,T.A)(ny.button,d?ny.left:ny.up),"data-testid":"arrow-scroll-left-button",children:d?"\u25c4":"\u25b2"})]})},ty=770,ay=["height"];function Ty(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function ey(U){for(var F=1;FJ&&(0,V.jsx)(ky,{startInView:t,endInView:D,scrollForward:function(){N.current&&p.current&&(N.current.scrollTop+=p.current.offsetHeight)},scrollBack:function(){N.current&&p.current&&(N.current.scrollTop-=p.current.offsetHeight)}})]})}),Gy="Atom-module_atom__g2RUu",sy=["el","shortcut","selected"];function Xy(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function Yy(U){for(var F=1;F-1?(0,W.shortcutStr)(RE[U]):null,N=l&&B&&B.opts.label===U,Z="atom-".concat(U.toLowerCase());return(0,V.jsx)(Ly,{el:d,shortcut:J,className:N?"selected":"",selected:N,disabled:null===(F=R[Z])||void 0===F?void 0:F.disabled,onClick:function(){return n({tool:"atom",opts:{label:U}})}},U)})})}),xy="RightToolbar-module_group__3mhUx",uy="RightToolbar-module_root__1D5hp",wy="RightToolbar-module_atomsList__ar08-",jy="RightToolbar-module_groupItem__KHL-v",Iy="RightToolbar-module_buttons__YxRHI",Ky="RightToolbar-module_button__KwZD8",fy=(0,r.A)("hr")(zy||(zy=c(["\n margin: 0px 6px;\n flex-shrink: 0;\n height: 45%;\n align-self: center;\n border-width: 0px thin 0px 0px;\n border-style: solid;\n border-color: ",";\n"])),WM.color.darkGrey),gy=(0,r.A)("hr")(Oy||(Oy=c(["\n margin: 6px 0px;\n -webkit-flex-shrink: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n width: 70%;\n -webkit-align-self: center;\n -ms-flex-item-align: center;\n align-self: center;\n border: 1px solid;\n border-color: ",";\n"])),WM.color.grey),Py=function(){return(0,V.jsx)(fy,{})},Ay=function(){return(0,V.jsx)(gy,{})},qy=["className"];function _y(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function $y(U){for(var F=1;FE&&(0,V.jsx)(ky,{startInView:e,endInView:p,scrollForward:function(){c.current&&h.current&&(c.current.scrollTop+=h.current.offsetHeight)},scrollBack:function(){c.current&&h.current&&(c.current.scrollTop-=h.current.offsetHeight)}})]})}),Dz=(0,m.AH)(Uz||(Uz=c(["\n border-radius: 4px;\n padding: 2px;\n width: 28px;\n height: 28px;\n\n @media only screen {\n @container (min-width: 1024px) {\n height: 32px;\n width: 32px;\n padding: 4px;\n }\n }\n @media only screen {\n @container (min-width: 1920px) {\n height: 40px;\n width: 40px;\n padding: 5px;\n }\n }\n"]))),oz=(0,r.A)(DM)(Fz||(Fz=c(["\n ","\n"])),Dz),pz=(0,r.A)(function(U){var F=U.link,Q=(0,S.A)(U,oM);return(0,V.jsx)(aM,hM(hM({},Q),{},{children:(0,V.jsx)(tM,{src:F,alt:Q.title})}))})(Qz||(Qz=c(["\n ","\n"])),Dz),hz=function(U){var F=U.onFileOpen,Q=U.onSave,B=U.shortcuts,R=U.hiddenButtons;return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(oz,{title:"Open...",onClick:F,iconName:"open",shortcut:B.open,isHidden:R.includes("open"),testId:"open-file-button"}),(0,V.jsx)(oz,{title:"Save as...",onClick:Q,iconName:"save",shortcut:B.save,isHidden:R.includes("save"),testId:"save-file-button"})]})},cz=(0,r.A)("div")(Bz||(Bz=c(["\n position: relative;\n"]))),rz=(0,r.A)("div")(Rz||(Rz=c(["\n display: flex;\n position: absolute;\n left: 5px;\n border-radius: 2px;\n flex-direction: column;\n z-index: 20;\n white-space: nowrap;\n word-break: keep-all;\n padding: 2px;\n background: white; // TODO use variable\n border: 1px solid #cad3dd; // TODO use variable\n border-radius: 5px;\n box-shadow: 0 6px 12px rgb(0 0 0 / 18%);\n"]))),mz=(0,r.A)(O.A)(Vz||(Vz=c(["\n position: absolute;\n padding: 0;\n right: 0;\n bottom: 0;\n\n &.disabled {\n cursor: not-allowed;\n opacity: 0.5;\n background-color: initial;\n color: #333;\n pointer-events: auto;\n }\n"]))),Mz=(0,r.A)(dM)(nz||(nz=c(["\n display: block;\n width: 7px;\n height: 7px;\n margin: 1px;\n\n &:hover {\n fill: #005662;\n transform: none;\n box-shadow: none;\n transition: none;\n background: none;\n }\n\n &svg {\n width: 100%;\n height: 100%;\n }\n\n &svg path {\n fill: inherit;\n }\n"]))),iz=(0,v.Ng)(null,function(U){return{onToolOpen:function(){return U({type:"OPENED",data:{menuName:null,isSelected:null}})}}})(function(U){var F=U.topElement,Q=U.dropDownElements,B=U.onToolOpen,l=(0,n.useState)(!1),d=(0,R.A)(l,2),J=d[0],N=d[1],Z=function(){N(!1)};return(0,V.jsxs)(cz,{children:[F,0!==Q.filter(function(U){return!U.props.isHidden}).length&&(0,V.jsx)(mz,{onClick:function(){B(),N(!0)},"data-testid":"copy-button-dropdown-triangle",className:"expanded ".concat(null!==F&&void 0!==F&&F.props.disabled?"disabled":""),children:!J&&(0,V.jsx)(Mz,{name:"dropdown"})}),(0,V.jsx)(L.A,{in:J,timeout:"auto",onClick:Z,unmountOnExit:!0,children:(0,V.jsx)(H.x,{onClickAway:Z,children:(0,V.jsx)(rz,{"data-testid":"selection-toolbar",children:Q})})})]})}),bz=function(U){var F=U.onCopy,Q=U.onCopyMol,B=U.onCopyKet,R=U.onCopyImage,n=U.onPaste,l=U.onCut,d=U.shortcuts,J=U.disabledButtons,N=U.hiddenButtons,Z=[{name:"copy",title:"Copy",handler:F,testId:"copy-button"},{name:"copy-mol",title:"Copy as MOL",handler:Q,testId:"copy-mol-button"},{name:"copy-ket",title:"Copy as KET",handler:B,testId:"copy-ket-button"},{name:"copy-image",title:"Copy Image",handler:R,testId:"copy-image-button"}],W=function(U){return(0,V.jsx)(oz,{title:U.title,onClick:U.handler,iconName:U.name,shortcut:d[U.name],disabled:J.includes(U.name),isHidden:N.includes(U.name),testId:U.testId},U.name)},S=Z.find(function(U){return!N.includes(U.name)}),E=Z.filter(function(U){return U!==S}).map(function(U){return W(U)});return(0,V.jsxs)(V.Fragment,{children:[!N.includes("copies")&&(0,V.jsx)(iz,{topElement:W(S),dropDownElements:E}),(0,V.jsx)(oz,{title:"Paste",testId:"paste-button",onClick:n,iconName:"paste",shortcut:d.paste,disabled:J.includes("paste"),isHidden:N.includes("paste")}),(0,V.jsx)(oz,{title:"Cut",testId:"cut-button",onClick:l,iconName:"cut",shortcut:d.cut,disabled:J.includes("cut"),isHidden:N.includes("cut")})]})},vz=function(U){var F=U.onUndo,Q=U.onRedo,B=U.disabledButtons,R=U.hiddenButtons,n=U.shortcuts;return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Py,{}),(0,V.jsx)(oz,{title:"Undo",onClick:F,iconName:"undo",disabled:B.includes("undo"),isHidden:R.includes("undo"),shortcut:n.undo,testId:"undo"}),(0,V.jsx)(oz,{title:"Redo",onClick:Q,iconName:"redo",disabled:B.includes("redo"),isHidden:R.includes("redo"),shortcut:n.redo,testId:"redo"}),(0,V.jsx)(Py,{})]})},Gz=(0,r.A)("input")(lz||(lz=c(["\n border: 1px solid #cad3dd;\n border-radius: 4px;\n padding: 3px 8px;\n color: #585858;\n font-size: 14px;\n line-height: 16px;\n caret-color: #43b5c0;\n margin-bottom: 8px;\n\n &:hover {\n border-color: #43b5c0;\n }\n\n &:active,\n &:focus {\n border-color: #167782;\n outline: none;\n }\n\n &::after,\n &::before {\n display: none;\n }\n"]))),sz=function(U){U.target.select()},Xz=function(U,F){F&&(F.value="".concat(U,"%"))},Yz=function(U){var F=U.onZoomSubmit,Q=U.currentZoom,B=U.inputRef,R=U.shortcuts;(0,n.useEffect)(function(){var U=B.current;Xz(Q,U),document.activeElement===U&&(null===U||void 0===U||U.select())},[Q,B]);var l=(0,n.useCallback)(function(U){var Q=B.current;Q&&([R["zoom-out"],R["zoom-in"]].includes(U.key)||U.nativeEvent.stopImmediatePropagation(),"Enter"===U.key&&(F(),Q.select()))},[F,B,R]);return(0,n.useEffect)(function(){var U=B.current;null===U||void 0===U||U.focus(),null===U||void 0===U||U.select()},[B]),(0,V.jsx)(Gz,{ref:B,"data-testid":"zoom-value",onFocus:sz,onKeyDown:l})},yz=(0,r.A)("div")(dz||(dz=c(["\n position: relative;\n"]))),zz=(0,r.A)(x.A)(Jz||(Jz=c(["\n display: flex;\n color: #000000;\n padding-right: 0;\n padding-left: 0;\n\n & svg {\n margin-left: 2px;\n width: 16px;\n height: 16px;\n }\n"]))),Oz=(0,r.A)("span")(Nz||(Nz=c(["\n width: 35px;\n"]))),Lz=(0,r.A)(u.Ay)(Zz||(Zz=c(["\n & .MuiPopover-paper {\n padding: 8px;\n width: 175px;\n border: none;\n border-radius: 0px 0px 4px 4px;\n box-shadow: 0px 30px 48px -17px rgba(160, 165, 174, 0.3);\n box-sizing: border-box;\n }\n"]))),Hz=(0,r.A)("div")(Wz||(Wz=c(["\n display: flex;\n flex-direction: column;\n white-space: nowrap;\n word-break: keep-all;\n background: white;\n"]))),xz=(0,r.A)(x.A)(Sz||(Sz=c(["\n display: flex;\n justify-content: space-between;\n font-weight: 400;\n font-size: 12px;\n line-height: 14px;\n padding: 7px 8px;\n text-transform: none;\n color: #333333;\n"]))),uz=(0,r.A)("span")(Ez||(Ez=c(["\n color: #cad3dd;\n"]))),wz=function(U){var F=U.currentZoom,Q=U.onZoom,B=U.onZoomIn,l=U.onZoomOut,d=U.disabledButtons,J=U.hiddenButtons,N=U.shortcuts,Z=(0,n.useState)(!1),S=(0,R.A)(Z,2),E=S[0],k=S[1],t=(0,n.useRef)(null),a=(0,n.useRef)(null),T=(0,n.useCallback)(function(){var U=a.current;if(U){var B=function(U){var F=parseInt(null!==U&&void 0!==U?U:"");return isNaN(F)?0:F}(U.value);if(B&&B!==F){var R=function(U,F){if(0===U)return F;var Q=100*Math.min.apply(Math,(0,o.A)(Kt)),B=100*Math.max.apply(Math,(0,o.A)(Kt));return UB?B:U}(B,F);Xz(R,U),Q(R)}else Xz(F,U)}},[Q,F]);return(0,V.jsxs)(yz,{ref:t,children:[(0,V.jsxs)(zz,{onClick:function(){k(!0)},"data-testid":"zoom-selector",children:[(0,V.jsxs)(Oz,{"data-testid":"zoom-input",children:[Math.round(F),"%"]}),(0,V.jsx)(dM,{name:"chevron"})]}),(0,V.jsx)(Lz,{open:E,onClose:function(U,F){"backdropClick"===F&&T(),k(!1)},anchorEl:t.current,container:document.querySelector($t)||document.querySelector(W.KETCHER_MACROMOLECULES_ROOT_NODE_SELECTOR),anchorOrigin:{vertical:"bottom",horizontal:"left"},children:(0,V.jsxs)(Hz,{children:[(0,V.jsx)(Yz,{onZoomSubmit:T,inputRef:a,currentZoom:F,shortcuts:N}),!J.includes("zoom-out")&&(0,V.jsxs)(xz,{"data-testid":"zoom-out",title:"Zoom Out",onClick:l,disabled:d.includes("zoom-out"),children:[(0,V.jsx)("span",{children:"Zoom out"}),(0,V.jsx)(uz,{children:N["zoom-out"]})]}),!J.includes("zoom-in")&&(0,V.jsxs)(xz,{"data-testid":"zoom-in",title:"Zoom In",onClick:B,disabled:d.includes("zoom-in"),children:[(0,V.jsx)("span",{children:"Zoom in"}),(0,V.jsx)(uz,{children:N["zoom-in"]})]}),(0,V.jsxs)(xz,{"data-testid":"zoom-default",title:"Zoom 100%",onClick:function(){Q(100)},children:[(0,V.jsx)("span",{children:"Zoom 100%"}),(0,V.jsx)(uz,{children:N.zoom})]})]})})]})},jz=function(){return!!(document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement)},Iz=(0,r.A)("div")(kz||(kz=c(["\n display: flex;\n align-items: center;\n flex-grow: 0;\n justify-content: flex-end;\n"]))),Kz=function(U){var F=U.disabledButtons,Q=U.hiddenButtons,B=U.onSettingsOpen,l=U.onFullscreen,d=U.onHelp,J=U.onAboutOpen,N=U.className,Z=(0,n.useState)(jz),S=(0,R.A)(Z,2),E=S[0],k=S[1];return(0,n.useEffect)(function(){var U=function(){return k(jz())};return document.addEventListener("fullscreenchange",U),document.addEventListener("webkitfullscreenchange",U),document.addEventListener("mozfullscreenchange",U),document.addEventListener("MSFullscreenChange",U),function(){document.removeEventListener("fullscreenchange",U),document.removeEventListener("webkitfullscreenchange",U),document.removeEventListener("mozfullscreenchange",U),document.removeEventListener("MSFullscreenChange",U)}},[]),(0,V.jsxs)(Iz,{className:N,children:[(0,V.jsx)(oz,{title:"Settings",onClick:B,iconName:"settings",disabled:F.includes("settings"),isHidden:Q.includes("settings"),testId:"settings-button"}),(0,V.jsx)(oz,{title:"Help (".concat((0,W.shortcutStr)(["?","&","Shift+/"]),")"),onClick:d,iconName:"help",disabled:F.includes("help"),isHidden:Q.includes("help"),testId:"help-button"}),(0,V.jsx)(oz,{title:"About",onClick:J,iconName:"about",disabled:F.includes("about"),isHidden:Q.includes("about"),testId:"about-button"}),(0,V.jsx)(oz,{title:"Fullscreen mode",onClick:l,iconName:E?"fullscreen-exit":"fullscreen-enter",disabled:F.includes("fullscreen"),isHidden:Q.includes("fullscreen"),testId:"fullscreen-mode-button"})]})},fz=function(U){var F=U.isCollapsed,Q=U.onLayout,B=U.onClean,R=U.onAromatize,n=U.onDearomatize,l=U.onCalculate,d=U.onCheck,J=U.onAnalyse,N=U.onMiew,Z=U.onToggleExplicitHydrogens,W=U.disabledButtons,S=U.indigoVerification,E=U.hiddenButtons,k=U.shortcuts,t=[{name:"arom",title:"Aromatize",handler:R,testId:"Aromatize button"},{name:"dearom",title:"Dearomatize",handler:n,testId:"Dearomatize button"},{name:"layout",title:"Layout",handler:Q,testId:"Layout button"},{name:"clean",title:"Clean Up",handler:B,testId:"Clean Up button"},{name:"cip",title:"Calculate CIP",handler:l,testId:"Calculate CIP button"},{name:"check",title:"Check Structure",handler:d,testId:"Check Structure button"},{name:"analyse",title:"Calculated Values",handler:J,testId:"Calculated Values button"},{name:"explicit-hydrogens",title:"Add/Remove explicit hydrogens",handler:Z,testId:"Add/Remove explicit hydrogens button"},{name:"miew",title:"3D Viewer",handler:N,testId:"3D Viewer button"}],a=function(U){return(0,V.jsx)(oz,{title:U.title,onClick:U.handler,iconName:U.name,shortcut:k[U.name],disabled:S||W.includes(U.name),isHidden:E.includes(U.name),testId:U.testId},U.name)},T=t.find(function(U){return!E.includes(U.name)}),e=t.filter(function(U){return U!==T}).map(function(U){return a(U)});return F?(0,V.jsx)(iz,{topElement:a(T),dropDownElements:e}):(0,V.jsxs)(V.Fragment,{children:[T&&a(T),(0,V.jsx)(V.Fragment,{children:e})]})},gz=function(U){var F=U.customButton,Q=U.onClick;return(0,V.jsx)(pz,{link:F.imageLink,onClick:function(){return Q(F.id)},title:F.title})},Pz=function(U){var F=U.isCollapsed,Q=U.customButtons,B=U.onCustomAction;return 0===Q.length?null:F?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Py,{}),(0,V.jsx)(iz,{topElement:(0,V.jsx)(gz,{customButton:Q[0],onClick:B}),dropDownElements:Q.slice(1).map(function(U){return(0,V.jsx)(gz,{customButton:U,onClick:B},U.id)})})]}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Py,{}),Q.map(function(U){return(0,V.jsx)(gz,{customButton:U,onClick:B},U.id)})]})},Az=(0,r.A)("div")(tz||(tz=c(["\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n gap: 0px;\n height: 36px;\n padding: 0px 22px;\n background-color: #ffffff;\n box-shadow: 0px 2px 5px rgba(103, 104, 132, 0.15);\n\n .group {\n display: flex;\n flex-direction: row;\n gap: 0px;\n }\n\n & * {\n box-sizing: border-box;\n }\n\n @media only screen {\n @container (min-width: 1024px) {\n height: 40px;\n gap: 0px;\n padding-bottom: 0;\n .group {\n gap: 4px;\n }\n }\n }\n\n @media only screen {\n @container (min-width: 1920px) {\n height: 64px;\n gap: 12px;\n }\n }\n"]))),qz=r.A.div(az||(az=c(["\n display: flex;\n align-items: center;\n height: 100%;\n"]))),_z=function(U){var F;return null!==(F=U.actionState)&&void 0!==F?F:{}},$z=function(U){var F,Q;return null!==(F=null===U||void 0===U||null===(Q=U.options)||void 0===Q?void 0:Q.customButtons)&&void 0!==F?F:[]},UO=pQ([_z],function(U){return Object.keys(U).reduce(function(F,Q){var B;return null!==(B=U[Q])&&void 0!==B&&B.disabled&&F.push(Q),F},[])}),FO=pQ([_z],function(U){return Object.keys(U).reduce(function(F,Q){var B;return null!==(B=U[Q])&&void 0!==B&&B.hidden&&F.push(Q),F},[])}),QO=["layout","clean","arom","dearom","cip","enhanced-stereo"],BO=(0,W.generateMenuShortcuts)(Ja),RO=(0,v.Ng)(function(U){var F,Q,B;return{currentZoom:Math.round(100*(null===(F=U.actionState)||void 0===F||null===(F=F.zoom)||void 0===F?void 0:F.selected)),disabledButtons:UO(U),hiddenButtons:FO(U),isModeSwitcherDisabled:Boolean(null===(Q=U.editor)||void 0===Q?void 0:Q.isMonomerCreationWizardActive),customButtons:$z(U),shortcuts:BO,status:null!==(B=U.actionState)&&void 0!==B?B:{},opened:U.toolbar.opened,indigoVerification:U.requestsStatuses.indigoVerification,disableableButtons:QO}},function(U){var F=function(F){["zoom-in","zoom-out"].includes(F)?U(vt(Ja[F].action())):U(vt(Ja[F].action))};return{onClear:function(){return F("clear")},onFileOpen:function(){return F("open")},onSave:function(){U(st()),F("save")},onUndo:function(){return F("undo")},onRedo:function(){return F("redo")},onCopy:function(){return F("copy")},onCopyMol:function(){return F("copy-mol")},onCopyKet:function(){return F("copy-ket")},onCopyImage:function(){return F("copy-image")},onCut:function(){return F("cut")},onPaste:function(){return F("paste")},onZoomIn:function(){return F("zoom-in")},onZoomOut:function(){return F("zoom-out")},onZoom:function(F){return U(vt(function(U){return U.zoom(F/100)}))},onSettingsOpen:function(){return F("settings")},onLayout:function(){return F("layout")},onClean:function(){return F("clean")},onAromatize:function(){return F("arom")},onDearomatize:function(){return F("dearom")},onCalculate:function(){return F("cip")},onCheck:function(){return F("check")},onAnalyse:function(){return F("analyse")},onMiew:function(){return F("miew")},onAction:function(F){return U(vt(F))},onOpen:function(F,Q){return U({type:"OPENED",data:{menuName:F,isSelected:Q}})},onFullscreen:function(){return F("fullscreen")},onHelp:function(){return F("help")},onAbout:function(){return F("about")},onToggleExplicitHydrogens:function(){return F("explicit-hydrogens")}}})(function(U){var F=U.className,Q=U.disabledButtons,B=U.indigoVerification,R=U.hiddenButtons,l=U.shortcuts,d=U.onClear,J=U.onFileOpen,N=U.onSave,Z=U.onUndo,S=U.onRedo,E=U.onCopy,k=U.onCopyMol,t=U.onCopyKet,a=U.onCopyImage,T=U.onCut,e=U.onPaste,C=U.currentZoom,D=U.onZoom,o=U.onZoomIn,p=U.onZoomOut,h=U.onSettingsOpen,c=U.onLayout,r=U.onClean,m=U.onAromatize,M=U.onDearomatize,i=U.onCalculate,b=U.onCheck,v=U.onAnalyse,G=U.onMiew,s=U.onToggleExplicitHydrogens,X=U.onFullscreen,Y=U.onAbout,y=U.onHelp,z=U.togglerComponent,O=U.isModeSwitcherDisabled,L=U.customButtons,H=Jy(),x=H.ref,u=H.width,w=void 0===u?50:u,j=Zy().ketcherId,I=(0,n.useMemo)(function(){return W.ketcherProvider.getKetcher(j)},[j]),K=(0,n.useCallback)(function(U){return I.sendCustomAction(U)},[I]),f=w<(0,n.useMemo)(function(){return 650+40*L.length},[L.length]),g=z?(0,n.cloneElement)(z,{disabled:O}):void 0;return(0,V.jsxs)(Az,{className:F,ref:x,"data-testid":"top-toolbar",children:[(0,V.jsxs)(qz,{children:[(0,V.jsx)(oz,{title:"Clear Canvas",onClick:d,iconName:"clear",shortcut:l.clear,isHidden:R.includes("clear"),disabled:Q.includes("clear"),testId:"clear-canvas"}),(0,V.jsx)(hz,{onFileOpen:J,onSave:N,shortcuts:l,hiddenButtons:R}),(0,V.jsx)(bz,{onCopy:E,onCopyMol:k,onCopyKet:t,onCopyImage:a,onPaste:e,onCut:T,shortcuts:l,disabledButtons:Q,hiddenButtons:R}),(0,V.jsx)(vz,{onUndo:Z,onRedo:S,disabledButtons:Q,hiddenButtons:R,shortcuts:l}),(0,V.jsx)(fz,{onLayout:c,onClean:r,onAromatize:m,onDearomatize:M,onCalculate:i,onCheck:b,onAnalyse:v,onMiew:G,onToggleExplicitHydrogens:s,disabledButtons:Q,hiddenButtons:R,shortcuts:l,indigoVerification:B,isCollapsed:f}),(0,V.jsx)(Pz,{isCollapsed:f,customButtons:L,onCustomAction:K})]}),(0,V.jsxs)(qz,{children:[g,g&&(0,V.jsx)(Py,{}),(0,V.jsx)(Kz,{onSettingsOpen:h,onFullscreen:X,onHelp:y,onAboutOpen:Y,disabledButtons:Q,hiddenButtons:R}),(0,V.jsx)(Py,{}),!R.includes("zoom-list")&&(0,V.jsx)(wz,{currentZoom:null!==C&&void 0!==C?C:1,onZoomIn:o,onZoomOut:p,onZoom:D,shortcuts:l,disabledButtons:Q,hiddenButtons:R})]})]})}),VO=function(U){return U.floatingTools.visible},nO=function(U){return U.floatingTools.rotateHandlePosition},lO="FloatingTools-module_wrapper__OFeE9",dO="FloatingTools-module_item__UcfDN",JO=["transform-flip-h","transform-flip-v","erase"],NO=(0,v.Ng)(function(U){var F;return{visible:VO(U),rotateHandlePosition:nO(U),status:null!==(F=U.actionState)&&void 0!==F?F:{},indigoVerification:U.requestsStatuses.indigoVerification}},function(U){return{onAction:function(F){return U(vt(F))}}})(function(U){var F=U.visible,Q=U.rotateHandlePosition,B=U.status,R=U.indigoVerification,n=U.onAction;return F?(0,V.jsx)("div",{className:lO,style:{left:Q.x,top:Q.y},"data-testid":"floating-tools",children:JO.map(function(U){var F=JM("erase"===U?"delete":U);return F&&(0,V.jsx)(JX,{className:dO,name:F,action:Ja[U],status:B[U],selected:!1,indigoVerification:R,onAction:n,disableableButtons:[],dataTestId:"erase"===U?"float-delete":void 0},U)})}):null}),ZO=function(U){return U.abbreviationLookup.isOpen},WO=function(U){var F;return null!==(F=U.abbreviationLookup.lookupValue)&&void 0!==F?F:""};function SO(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function EO(U){for(var F=1;FV.a.pp.y?F:V),Q&&n&&(n=Q.x>n.a.pp.x?F:n),Q&&l&&(l=Q.x=E.minY+E.height-aO,a=S<=E.minX+aO,T=Z>=E.minX+E.width-aO;return k&&"ArrowUp"===Q||t&&"ArrowDown"===Q||a&&"ArrowLeft"===Q||T&&"ArrowRight"===Q}return!1}(R,U,F);if(d){var J=Q?B(V):V;U.render.setViewBox(function(U){return EO(EO({},U),{},{minX:U.minX+J.x,minY:U.minY+J.y})})}U.rotateController.rerender()}var aO=50;function TO(U,F){var Q="undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(!Q){if(Array.isArray(U)||(Q=function(U,F){if(U){if("string"==typeof U)return eO(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?eO(U,F):void 0}}(U))||F&&U&&"number"==typeof U.length){Q&&(U=Q);var B=0,R=function(){};return{s:R,n:function(){return B>=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function eO(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q-N?l>-N&&(Z=!0):(Math.abs(n)*Math.abs(e)-Math.abs(T)*Math.abs(l))*e>0&&(Z=!0)),Z&&S&&W.Vec2.dot(a,R)*W.Vec2.dot(d,R)>=0&&(Z=!1),Z&&J++,V=t,n=T,l=e,d=a,S=Z}}catch(C){E.e(C)}finally{E.f()}return J%2!==0}var DO={inRectangle:function(U,F,Q){var V=[],n=[],l=U.molecule.functionalGroups,d=U.molecule,J=Math.min(F.x,Q.x),N=Math.max(F.x,Q.x),Z=Math.min(F.y,Q.y),S=Math.max(F.y,Q.y),E=[new W.Vec2(J,Z),new W.Vec2(N,Z),new W.Vec2(N,S),new W.Vec2(J,S)];U.visibleBonds.forEach(function(U,F){if(!U.b.isPreview){var Q;if(U.b.isExternalBondBetweenMonomers(d)){var B=d.getGroupFromAtomId(U.b.begin),R=d.getGroupFromAtomId(U.b.end);BX(B),BX(R),Q=B.pp&&R.pp?W.Vec2.centre(B.pp,R.pp):U.b.center}else Q=U.b.center;Q.x>J&&Q.xZ&&Q.yJ&&R.xZ&&R.yJ&&U.a.pp.xZ&&U.a.pp.yJ&&U.item.center().xZ&&U.item.center().yJ&&U.item.pp.xZ&&U.item.pp.yJ&&U.xZ&&U.yJ&&U.pp.xZ&&U.pp.yJ&&Q.xZ&&Q.yJ&&U.xZ&&U.yJ&&U.middlePoint.xZ&&U.middlePoint.y1){var U=this.editor.render,F=this.points.map(function(F){return W.Scale.modelToCanvas(F,U.options).add(U.options.offset)});this.selection=0===this.mode?U.selectionPolygon(F):U.selectionRectangle(F[0],F[1])}}},{key:"end",value:function(){var U=this.getSelection();return this.points=null,this.update(),U}},{key:"cancel",value:function(){this.points=null,this.update()}}]),U}();function pO(U,F){var Q;if(!U.sgroups.size)return[];var B=new Set;return null!==F&&void 0!==F&&F.atoms&&F.atoms.filter(function(F){return!W.Atom.isSuperatomLeavingGroupAtom(U,F)}).forEach(function(F){var Q=U.getGroupIdFromAtomId(F);null!==Q&&B.add(Q)}),null===F||void 0===F||null===(Q=F.bonds)||void 0===Q||Q.forEach(function(F){var Q=U.getGroupIdFromBondId(F);null!==Q&&B.add(Q)}),Array.from(B)}function hO(U,F){var Q="undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(!Q){if(Array.isArray(U)||(Q=function(U,F){if(U){if("string"==typeof U)return cO(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?cO(U,F):void 0}}(U))||F&&U&&"number"==typeof U.length){Q&&(U=Q);var B=0,R=function(){};return{s:R,n:function(){return B>=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function cO(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q0?rO(Q.end(),U,!1):Q.end();F.selection(B.shiftKey?rO(R,F.selection(),!1):R)}(vO(F,B?pO(R,B):[]),F,Q,U)}else Q.fragment&&!U.shiftKey&&F.render.clientArea.contains(U.target)&&F.selection(null)}function YO(U,F){F.running()&&U.selection(F.end())}var yO=function(){function U(F,Q){(0,N.A)(this,U),this.editor=F,this.mode=Q,this.lassoHelper=new oO("lasso"===this.mode?0:1,F,"fragment"===this.mode)}return(0,Z.A)(U,[{key:"isSelectionRunning",value:function(){return this.lassoHelper.running()}},{key:"mousedown",value:function(U){GO(U,this.editor,this.lassoHelper)}},{key:"mousemove",value:function(U){sO(U,this.editor,this.lassoHelper)}},{key:"mouseup",value:function(U){XO(U,this.editor,this.lassoHelper)}},{key:"mouseleave",value:function(){YO(this.editor,this.lassoHelper)}}]),U}(),zO=function(U,F){var Q=U.findItem(F,["bonds","functionalGroups"]);return U.struct().isTargetFromMacromolecule(Q)};function OO(U,F,Q){var B=[],R=F.molecule.functionalGroups,V=F.sgroups;return U.forEach(function(U){var n,l=null===(n=V.get(U))||void 0===n?void 0:n.item;if(W.FunctionalGroup.isContractedFunctionalGroup(U,R)){var d=W.SGroup.getAtoms(F.molecule,l),J=l.getContractedPosition(F.molecule).atomId,N=d.filter(function(U){return U!==J});B.push.apply(B,(0,o.A)(N)),Q.mergeWith((0,W.fromSgroupDeletion)(F,U)),Q.mergeWith((0,W.fromFragmentDeletion)(F,{atoms:N,bonds:W.SGroup.getBonds(F,l)}))}}),B}function LO(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function HO(U,F,Q){(function(U,F){if(F.has(U))throw new TypeError("Cannot initialize the same private elements twice on an object")})(U,F),F.set(U,Q)}var xO=new WeakMap,uO=function(){function U(F,Q){var B=this;(0,N.A)(this,U),HO(this,xO,{writable:!0,value:void 0}),this.editor=F,this.atomProps=Q,(0,rQ.A)(this,xO,{type:1,stereo:W.Bond.PATTERN.STEREO.NONE});var R=F.selection();if(R){if(R.atoms){var V,n=F.render.ctab,l=new W.Action,d=pO(n.molecule,R),J=n.molecule.functionalGroups,Z=R.atoms.filter(function(U){return!W.Atom.isSuperatomLeavingGroupAtom(n.molecule,U)}).map(function(U){return W.FunctionalGroup.atomsInFunctionalGroup(J,U)});if(Z.some(function(U){return null!==U}))return F.event.removeFG.dispatch({fgIds:(0,o.A)(d)}),this.editor.hoverIcon.hide(),void(this.isNotActiveTool=!0);var S=OO(d,n,l),E=null===R||void 0===R||null===(V=R.atoms)||void 0===V?void 0:V.filter(function(U){return!(null!==S&&void 0!==S&&S.includes(U))&&n.atoms.has(U)&&!W.Atom.isSuperatomLeavingGroupAtom(B.editor.render.ctab.molecule,U)});l.mergeWith((0,W.fromAtomsAttrs)(n,E,Q,!0)),F.update(l),F.selection(null),this.editor.hoverIcon.hide()}this.isNotActiveTool=!0}else{var k;this.editor.hoverIcon.show(),this.editor.hoverIcon.label=Q.label,this.editor.hoverIcon.fill=null!==(k=W.ElementColor[Q.label])&&void 0!==k?k:"#000000",this.editor.hoverIcon.updatePosition()}}return(0,Z.A)(U,[{key:"mousedown",value:function(U){var F,Q=this.editor,B=this.editor.render.ctab,R=B.molecule,V=B.molecule.functionalGroups;Q.hover(null),Q.selection(null);var n=Q.findItem(U,["atoms","functionalGroups"]);if(!Q.struct().isTargetFromMacromolecule(n)){if("atoms"===(null===n||void 0===n?void 0:n.map)){var l=n.id,d=W.FunctionalGroup.findFunctionalGroupByAtom(V,l);if(null!==d)return void Q.event.removeFG.dispatch({fgIds:[d]})}var J="functionalGroups"===(null===n||void 0===n?void 0:n.map)?null===(F=R.sgroups.get(null===n||void 0===n?void 0:n.id))||void 0===F?void 0:F.data.name:void 0,N=!!J&&W.SGroup.isSaltOrSolvent(J);this.dragCtx={item:n,isSaltOrSolvent:N}}}},{key:"mousemove",value:function(U){var F=this.dragCtx,Q=this.atomProps,R=this.editor,V=this.editor,n=V.render,l=V.render,d=l.ctab,J=l.ctab.molecule,N=["atoms","functionalGroups"],Z=R.findItem(U,N);if(!R.struct().isTargetFromMacromolecule(Z))if(null===F||void 0===F||!F.item||null!==F&&void 0!==F&&F.isSaltOrSolvent||void 0!==(null===Z||void 0===Z?void 0:Z.id)&&Z.id===F.item.id){if(R.hoverIcon.show(),R.hoverIcon.updatePosition(),R.hover(R.findItem(U,N),null,U),null!==F&&void 0!==F&&F.action){var S=F.action.perform(d);delete F.action,R.update(S,!0)}}else{var E;if(R.hoverIcon.hide(),"atoms"===F.item.map)E=F.item.id;else if("functionalGroups"===F.item.map){var k=J.sgroups.get(F.item.id);E=null===k||void 0===k?void 0:k.getAttachmentAtomId()}if(void 0!==E){var t=J.atoms.get(E),a=W.vectorUtils.calcAngle(t.pp,W.CoordinateTransformation.pageToModel(U,n));U.ctrlKey||(a=W.vectorUtils.fracAngle(a,null));var T=W.vectorUtils.degrees(a);R.event.message.dispatch({info:T+"\xba"});var e=W.vectorUtils.calcNewAtomPos(t.pp,W.CoordinateTransformation.pageToModel(U,n),U.ctrlKey);F.action&&F.action.perform(d),F.action=(0,W.fromBondAddition)(n.ctab,(0,cQ.A)(this,xO),E,function(U){for(var F=1;F=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function gO(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q0){var s,X=fO(k);try{for(X.s();!(s=X.n()).done;){var Y=s.value,y=W.FunctionalGroup.findFunctionalGroupByAtom(t,Y);null===y||a.includes(y)||a.push(y)}}catch(z){X.e(z)}finally{X.f()}}if(a.length)return this.editor.selection(null),void this.editor.event.removeFG.dispatch({fgIds:a});U.sgroupDialog(this.editor,T),this.isNotActiveTool=!0}}},{key:"mousedown",value:function(U){var F=this.editor.findItem(U,qO),Q=this.editor.render.ctab,B=Q.sgroups,R=Q.molecule,V=R.functionalGroups,n=[],l=[],d=[];if("atoms"===(null===F||void 0===F?void 0:F.map)&&V.size){var J,N=W.FunctionalGroup.atomsInFunctionalGroup(V,F.id),Z=null!==N?null===(J=Q.atoms.get(N))||void 0===J?void 0:J.a:null;!Z||null===N||W.FunctionalGroup.isAtomInContractedFunctionalGroup(Z,B,V)||W.SGroup.isAtomInContractedSGroup(Z,B)||n.push(N)}if("bonds"===(null===F||void 0===F?void 0:F.map)&&V.size){var S,E=W.FunctionalGroup.bondsInFunctionalGroup(R,V,F.id),k=null!==E?null===(S=Q.bonds.get(E))||void 0===S?void 0:S.b:null;!k||null===E||W.FunctionalGroup.isBondInContractedFunctionalGroup(k,B,V)||W.SGroup.isBondInContractedSGroup(k,B)||l.push(E)}if("functionalGroups"===(null===F||void 0===F?void 0:F.map)&&V.size){var t=B.get(F.id);if(W.FunctionalGroup.isFunctionalGroup(null===t||void 0===t?void 0:t.item))return void this.editor.event.removeFG.dispatch({fgIds:[F.id]})}if(n.length>0){var a,T=fO(n);try{for(T.s();!(a=T.n()).done;){var e=a.value,C=W.FunctionalGroup.findFunctionalGroupByAtom(V,e);null===C||d.includes(C)||d.push(C)}}catch(c){T.e(c)}finally{T.f()}if(d.length>0)return void this.editor.event.removeFG.dispatch({fgIds:d})}else if(l.length>0){var D,o=fO(l);try{for(o.s();!(D=o.n()).done;){var p=D.value,h=W.FunctionalGroup.findFunctionalGroupByBond(R,V,p);null===h||d.includes(h)||d.push(h)}}catch(c){o.e(c)}finally{o.f()}return void this.editor.event.removeFG.dispatch({fgIds:d})}F||this.lassoHelper.begin(U)}},{key:"mousemove",value:function(U){this.lassoHelper.running(U)?this.editor.selection(this.lassoHelper.addPoint(U)):this.editor.hover(this.editor.findItem(U,qO),null,U)}},{key:"mouseleave",value:function(U){this.lassoHelper.running(U)&&this.lassoHelper.end(U)}},{key:"isContractedFunctionalGroupClicked",value:function(U,F){return"functionalGroups"===(null===U||void 0===U?void 0:U.map)&&F.size&&W.FunctionalGroup.isContractedFunctionalGroup(U.id,F)}},{key:"processSelectedAtoms",value:function(U,F,Q,B,R){var V=[],n=!1;if(!U||!F.size||!U.atoms)return{atomsResult:V,extraAtoms:n};var l,d=Q.sgroups,J=fO(U.atoms);try{for(J.s();!(l=J.n()).done;){var N,Z=l.value,S=W.FunctionalGroup.atomsInFunctionalGroup(F,Z);if(null!=S){var E=null===(N=Q.atoms.get(S))||void 0===N?void 0:N.a;if(E){var k=this.getActualSgroupId(E);this.isAtomInContractedGroup(E,d,F)&&this.addContractedGroupToSelection(Z,k,B,Q,R),V.push(S)}}else n=!0}}catch(t){J.e(t)}finally{J.f()}return{atomsResult:V,extraAtoms:n}}},{key:"getActualSgroupId",value:function(U){var F,Q,B=fO(U.sgs.values());try{for(B.s();!(Q=B.n()).done;){F=Q.value}}catch(R){B.e(R)}finally{B.f()}return F}},{key:"isAtomInContractedGroup",value:function(U,F,Q){return W.FunctionalGroup.isAtomInContractedFunctionalGroup(U,F,Q)||W.SGroup.isAtomInContractedSGroup(U,F)}},{key:"addContractedGroupToSelection",value:function(U,F,Q,B,R){var V,n;if(void 0!==F){var l,d,J=W.SGroup.getAtoms(Q,null===(V=B.sgroups.get(F))||void 0===V?void 0:V.item),N=W.SGroup.getBonds(Q,null===(n=B.sgroups.get(F))||void 0===n?void 0:n.item);if(U===J[0])(l=R.atoms).push.apply(l,(0,o.A)(J)),(d=R.bonds).push.apply(d,(0,o.A)(N))}}},{key:"processSelectedBonds",value:function(U,F,Q,B){var R=[],V=!1;if(!U||!F.size||!U.bonds)return{bondsResult:R,extraBonds:V};var n,l=fO(U.bonds);try{for(l.s();!(n=l.n()).done;){var d,J=n.value,N=W.FunctionalGroup.bondsInFunctionalGroup(Q,F,J);if(null!==N)(null===(d=B.bonds.get(N))||void 0===d?void 0:d.b)&&R.push(N);else V=!0}}catch(Z){l.e(Z)}finally{l.f()}return{bondsResult:R,extraBonds:V}}},{key:"expandFunctionalGroupSelection",value:function(U,F,Q,B,R,V){this.expandAtomsToFunctionalGroups(U,Q,B,R,V),this.expandBondsToFunctionalGroups(F,Q,B,R,V)}},{key:"expandAtomsToFunctionalGroups",value:function(U,F,Q,B,R){U.length&&U.forEach(function(U){var V,n,l=W.FunctionalGroup.findFunctionalGroupByAtom(F,U);if(null!==l){var d=W.SGroup.getAtoms(Q,null===(V=B.sgroups.get(l))||void 0===V?void 0:V.item);(n=R.atoms).push.apply(n,(0,o.A)(d))}})}},{key:"expandBondsToFunctionalGroups",value:function(U,F,Q,B,R){U.length&&U.forEach(function(U){var V,n,l=W.FunctionalGroup.findFunctionalGroupByBond(Q,F,U);if(null!==l){var d=W.SGroup.getBonds(Q,null===(V=B.sgroups.get(l))||void 0===V?void 0:V.item);(n=R.bonds).push.apply(n,(0,o.A)(d))}})}},{key:"collectFunctionalGroupIds",value:function(U,F,Q,B,R,V){if(Q||B)return[];var n=[];return this.collectFunctionalGroupIdsFromAtoms(U,R,n),this.collectFunctionalGroupIdsFromBonds(F,R,V,n),n}},{key:"collectFunctionalGroupIdsFromAtoms",value:function(U,F,Q){if(null!==U&&void 0!==U&&U.length){var B,R=fO(U);try{for(R.s();!(B=R.n()).done;){var V=B.value,n=W.FunctionalGroup.findFunctionalGroupByAtom(F,V);null===n||Q.includes(n)||Q.push(n)}}catch(l){R.e(l)}finally{R.f()}}}},{key:"collectFunctionalGroupIdsFromBonds",value:function(U,F,Q,B){if(null!==U&&void 0!==U&&U.length){var R,V=fO(U);try{for(V.s();!(R=V.n()).done;){var n=R.value,l=W.FunctionalGroup.findFunctionalGroupByBond(Q,F,n);null===l||B.includes(l)||B.push(l)}}catch(d){V.e(d)}finally{V.f()}}}},{key:"shouldRemoveSingleFunctionalGroup",value:function(U){return 1===U.length}},{key:"determineSelection",value:function(U,F,Q,B){return this.lassoHelper.running(U)?this.handleLassoSelection(U,Q,B):this.handleClickSelection(U,F)}},{key:"handleLassoSelection",value:function(U,F,Q){var B=this.lassoHelper.end(U),R=F.atoms.length>0?rO(B,F,!1):B,V=KO({atoms:R.atoms,bonds:R.bonds},Q);return R=AO(AO({},R),{},{atoms:V.atoms,bonds:V.bonds}),this.editor.selection(R),{id:null,selection:R}}},{key:"handleClickSelection",value:function(U,F){if(!F)return{id:null,selection:null};if(this.editor.hover(this.editor.findItem(U,qO),null,U),"atoms"===F.map)return{id:null,selection:{atoms:[F.id]}};if("bonds"===F.map){var Q=this.editor.render.ctab.bonds.get(F.id);return{id:null,selection:{atoms:[null===Q||void 0===Q?void 0:Q.b.begin,null===Q||void 0===Q?void 0:Q.b.end],bonds:[F.id]}}}return"sgroups"===F.map||"sgroupData"===F.map?{id:F.id,selection:null}:{id:null,selection:null}}},{key:"shouldOpenDialog",value:function(U,F){var Q,B,R=(null===F||void 0===F||null===(Q=F.atoms)||void 0===Q?void 0:Q.length)||(null===F||void 0===F||null===(B=F.bonds)||void 0===B?void 0:B.length);return null!==U||R}},{key:"mouseup",value:function(F){var Q=this.editor.render.ctab,B=Q.molecule,R=B.functionalGroups,V=this.editor.findItem(F,qO),n=this.editor.selection();if(!this.isContractedFunctionalGroupClicked(V,R)){var l={atoms:[],bonds:[]},d=this.processSelectedAtoms(n,R,Q,B,l),J=d.atomsResult,N=d.extraAtoms,Z=this.processSelectedBonds(n,R,B,Q),W=Z.bondsResult,S=Z.extraBonds;this.expandFunctionalGroupSelection(J,W,R,B,Q,l);var E=this.collectFunctionalGroupIds(J,W,N,S,R,B);if(this.shouldRemoveSingleFunctionalGroup(E))return this.editor.selection(null),this.lassoHelper.cancel(),void this.editor.event.removeFG.dispatch({fgIds:E});var k=this.determineSelection(F,V,l,B),t=k.id,a=k.selection;this.shouldOpenDialog(t,a)&&(this.editor.selection(a),U.sgroupDialog(this.editor,t))}}},{key:"cancel",value:function(){this.lassoHelper.running()&&this.lassoHelper.end(),this.editor.selection(null)}}],[{key:"sgroupDialog",value:function(U,F){var Q,B,R=U.render.ctab,V=R.molecule,n=null!==(Q=U.selection())&&void 0!==Q?Q:{},l=null!==F?V.sgroups.get(F):null;if(null!==l&&void 0!==l&&l.isMonomer)return Promise.resolve();l?(B=l.getAttrs()).context||(B.context=function(U,F){var Q=U.molecule;if(1===F.length)return W.SgContexts.Atom;if(BL(U,F))return W.SgContexts.Multifragment;if(QL(U,F))return W.SgContexts.Fragment;var B=new W.Pile(F),R=Array.from(Q.bonds.values()).filter(function(U){return B.has(U.begin)&&B.has(U.end)});return FL(R)?W.SgContexts.Group:W.SgContexts.Bond}(R,l.atoms)):B={context:$O(R,n)};var d=U.event.sgroupEdit.dispatch({type:null===l||void 0===l?void 0:l.type,attrs:B});return Promise.resolve(d).then(function(Q){var B=W.SGroup.isQuerySGroup(Q),d=W.SGroup.isDataSGroup(Q);if(d||B||!(0,W.checkOverlapping)(V,"common",n.atoms)){if(!l&&!d&&!B&&(!n.atoms||0===n.atoms.length))return;var J=(null===l||void 0===l?void 0:l.getAttrs().context)===Q.attrs.context&&!B;if(l&&J){var N=(0,W.fromSeveralSgroupAddition)(R,Q.type,l.atoms,Q.attrs).mergeWith((0,W.fromSgroupDeletion)(R,F));return N.mergeWith((0,W.expandSGroupWithMultipleAttachmentPoint)(R)),U.update(N),void U.selection(n)}var Z=B?function(U,F,Q,B,R){var V,n=F.render.ctab.molecule;if(!B.atoms&&R){var l,d;if(!R.atoms)return void(null===(d=F.errorHandler)||void 0===d||d.call(F,"Cannot convert to a query component"));B={atoms:null!==(l=R.atoms)&&void 0!==l?l:[]}}if(!(0,W.checkOverlapping)(n,"queryComponent",B.atoms))return UL(U,F,Q,B);null===(V=F.errorHandler)||void 0===V||V.call(F,"Cannot create a query component: one fragment can only be part of one query component")}(F,U,Q,n,l):UL(F,U,Q,n);Z&&U.update(Z.action),U.selection(null)}else U.event.message.dispatch({error:"Partial S-group overlapping is not allowed."})}).catch(function(U){W.KetcherLogger.error("sgroup.ts::SGroupTool::sgroupDialog",U)})}}]),U}();function $O(U,F){var Q,B=U.molecule;if(F.atoms&&!F.bonds)return W.SgContexts.Atom;var R=F.bonds.map(function(U){return B.bonds.get(U)});if(!FL(R))return W.SgContexts.Bond;F.atoms=null!==(Q=F.atoms)&&void 0!==Q?Q:[];var V=new W.Pile(F.atoms),n=R.every(function(U){return V.has(U.begin)&&V.has(U.end)});return QL(U,F.atoms)&&n?W.SgContexts.Fragment:BL(U,F.atoms)?W.SgContexts.Multifragment:W.SgContexts.Group}function UL(U,F,Q,B){var R,V,n=F.render.ctab,l=n.molecule.sgroups.get(U),d=null!==(R=null!==(V=null===l||void 0===l?void 0:l.atoms)&&void 0!==V?V:B.atoms)&&void 0!==R?R:[],J=Q.attrs.context;Q.type!==W.SGroup.TYPES.SUP&&Q.type!==W.SGroup.TYPES.nucleotideComponent||(Q.attrs.expanded=!0);var N=(0,W.fromSgroupAction)(J,n,Q,d,B);return N.selection=N.selection||B,null!==U&&void 0!==U&&(N.action=N.action.mergeWith((0,W.fromSgroupDeletion)(n,U))),F.selection(N.selection),N}function FL(U){if(0===U.length)return!0;for(var F=0;F1}function RL(U,F){var Q=new W.Pile(F);return Array.from(U.connectedComponents.values()).reduce(function(U,F){return U+(Q.isSuperset(F)?1:0)},0)}function VL(U,F){var Q="undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(!Q){if(Array.isArray(U)||(Q=function(U,F){if(U){if("string"==typeof U)return nL(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?nL(U,F):void 0}}(U))||F&&U&&"number"==typeof U.length){Q&&(U=Q);var B=0,R=function(){};return{s:R,n:function(){return B>=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function nL(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q0&&U.update(N,!1),N}function dL(U,F){var Q=Object.getOwnPropertyNames(F).filter(function(U){return""!==F[U]});return Object.getOwnPropertyNames(U).reduce(function(B,R){return B[R]=Q.includes(R)?function(U,F){var Q={exactChangeFlag:Number,unsaturatedAtom:Number};return Q[U]?Q[U](F):F}(R,F[R]):U[R],B},{})}function JL(U){var F=U.atoms,Q=U.changeAtomPromise,B=U.editor,R=new W.Action,V=B.render.ctab,n=V.molecule;F&&Promise.resolve(Q).then(function(U){F.forEach(function(F){var Q=dL(n.atoms.get(F),U);R.mergeWith((0,W.fromAtomsAttrs)(V,F,Q,!1))}),B.update(R)}).catch(function(U){W.KetcherLogger.error("atoms.ts::updateSelectedAtoms",U)})}function NL(U){var F=U.bonds,Q=U.changeBondPromise,B=U.editor,R=new W.Action,V=B.render.ctab,n=V.molecule;F&&Promise.resolve(Q).then(function(U){F.forEach(function(F){var Q=dL(n.bonds.get(F),U);R.mergeWith((0,W.fromBondsAttrs)(V,F,Q,!1))}),B.update(R)}).catch(function(U){W.KetcherLogger.error("bonds.ts::updateSelectedBonds",U)})}function ZL(U){return Object.keys(W.ReStruct.maps).reduce(function(F,Q){return F[Q]=Array.from(U[Q].keys()),F},{})}var WL=function(U,F,Q){var B=F.getAttribute("cursor");!U&&B&&F.removeAttribute("cursor"),U&&F.setAttribute("cursor",Q)};function SL(U,F){var Q=U.options.movingStyle.cursor;if(!F)return Q;switch(F.map){case W.MULTITAIL_ARROW_KEY:var B=F.ref;return B?B.isLine?W.multitailArrowReferenceLinesToCursor[B.name]:W.multitailReferencePositionToCursor[B.name]:Q;case W.IMAGE_KEY:var R=F.ref;return R?W.imageReferencePositionToCursor[R.name]:Q;default:return Q}}function EL(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function kL(U){for(var F=1;F=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function iL(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q0){var a,T=ML(l);try{for(T.s();!(a=T.n()).done;){var e=a.value,C=W.FunctionalGroup.findFunctionalGroupByAtom(V,e);null===C||J.includes(C)||J.push(C)}}catch(s){T.e(s)}finally{T.f()}F.event.removeFG.dispatch({fgIds:J})}else if(d.length>0){var D,o=ML(d);try{for(o.s();!(D=o.n()).done;){var p=D.value,h=W.FunctionalGroup.findFunctionalGroupByBond(B,V,p);null===h||J.includes(h)||J.push(h)}}catch(s){o.e(s)}finally{o.f()}this.editor.event.removeFG.dispatch({fgIds:J})}else if(n){var c=this.editor.selection();if("atoms"===n.map){var r,m=mO(c,B),M=F.event.elementEdit.dispatch(m);JL({atoms:null!==(r=null===c||void 0===c?void 0:c.atoms)&&void 0!==r?r:[],editor:F,changeAtomPromise:M})}else if("bonds"===n.map){var i,b=function(U,F){return null!==U&&void 0!==U&&U.bonds?iO(null===U||void 0===U?void 0:U.bonds,F):[]}(c,B),v=F.event.bondEdit.dispatch(b);NL({bonds:null!==(i=null===c||void 0===c?void 0:c.bonds)&&void 0!==i?i:[],changeBondPromise:v,editor:F})}else if("sgroups"===n.map&&!W.FunctionalGroup.isFunctionalGroup(B.sgroups.get(n.id))||"sgroupData"===n.map)F.selection(yL(n)),_O.sgroupDialog(F,n.id);else if("texts"===n.map){F.selection(yL(n));var G=B.texts.get(n.id);F.event.elementEdit.dispatch(vL(vL({},G),{},{type:"text"})).then(function(U){var B=U.content;B?B!==(null===G||void 0===G?void 0:G.content)&&F.update((0,W.fromTextUpdating)(Q,n.id,B)):F.update((0,W.fromTextDeletion)(Q,n.id))}).catch(function(U){W.KetcherLogger.error("select.ts::SelectTool::dblclick",U)})}return!0}}},{key:"mouseleave",value:function(){var U,F;if(null!==(U=this.dragCtx)&&void 0!==U&&U.stopTapping&&this.dragCtx.stopTapping(),null!==(F=this.dragCtx)&&void 0!==F&&F.action){var Q=this.dragCtx.action;this.editor.update(Q)}YO(this.editor,(0,cQ.A)(this,XL)),this.dragCtx=null,this.editor.hover(null)}},{key:"isDraggingStructureOnSaltOrSolvent",value:function(U,F){var Q,B;if(null!==U&&void 0!==U&&U.mergeItems){var R=Array.from(U.mergeItems.atoms.values()),V=Array.from(U.mergeItems.bonds.values()),n=Array.from(F.values()).map(function(U){return U.item}).filter(function(U){return!!U});Q=R.some(function(U){return W.SGroup.isAtomInSaltOrSolvent(U,n)}),B=V.some(function(U){return W.SGroup.isBondInSaltOrSolvent(U,n)})}return Q||B}},{key:"isCloseToEdgeOfCanvas",value:function(U){var F=W.CoordinateTransformation.pageToCanvas(U,this.editor.render),Q=this.editor.render.viewBox,B=[],R=!1;return F.xQ.minX+Q.width-50&&(R=!0,B.push(mL.RIGHT)),F.yQ.minY+Q.height-50&&(R=!0,B.push(mL.DOWN)),[R,B]}},{key:"handleMoveCloseToEdgeOfCanvas",value:function(){var U=this,F=this.previousMouseMoveEvent;if(F){var Q=this.isCloseToEdgeOfCanvas(F),B=(0,R.A)(Q,2),V=B[0],n=B[1];V&&(this.mousemove(F),this.moveViewBox(n)),this.isMouseDown&&requestAnimationFrame(function(){return U.handleMoveCloseToEdgeOfCanvas()})}}},{key:"moveViewBox",value:function(U){var F=this.editor.render;U.includes(mL.RIGHT)&&F.setViewBox(function(U){return vL(vL({},U),{},{minX:U.minX+5})}),U.includes(mL.LEFT)&&F.setViewBox(function(U){return vL(vL({},U),{},{minX:U.minX-5})}),U.includes(mL.DOWN)&&F.setViewBox(function(U){return vL(vL({},U),{},{minY:U.minY+5})}),U.includes(mL.TOP)&&F.setViewBox(function(U){return vL(vL({},U),{},{minY:U.minY-5})})}}]),U}();function yL(U){var F={};return F[U.map]=[U.id],F}function zL(U){return["sgroups","functionalGroups","sgroupData","rgroups","rgroupAttachmentPoints","rxnArrows",W.MULTITAIL_ARROW_KEY,"rxnPluses","enhancedFlags","simpleObjects","texts",W.IMAGE_KEY].concat((0,o.A)(U?["frags"]:["atoms","bonds"]))}var OL=function(U,F){return!0===U.render.options.viewOnlyMode?new yO(U,F):new YL(U,F)};function LL(U,F,Q){var B=U.atoms.get(F.begin).pp,R=U.atoms.get(F.end).pp,V=W.Vec2.cross(W.Vec2.diff(B,R),W.Vec2.diff(Q,R));return V>0?1:V<0?-1:0}function HL(U,F){var Q,B,R,V=new W.Vec2,n=null===(Q=U.atoms.get(F.begin))||void 0===Q?void 0:Q.fragment,l=U.getFragmentIds(n),d=0,J=null===(B=U.halfBonds.get(null===F||void 0===F?void 0:F.hb1))||void 0===B?void 0:B.loop;J&&J<0&&(J=null===(R=U.halfBonds.get(null===F||void 0===F?void 0:F.hb2))||void 0===R?void 0:R.loop);if(J&&J>=0){var N,Z=null===(N=U.loops.get(J))||void 0===N?void 0:N.hbs;null===Z||void 0===Z||Z.forEach(function(F){var Q,B=null===(Q=U.halfBonds.get(F))||void 0===Q?void 0:Q.begin;if(B){var R=U.atoms.get(B);R&&(V.add_(R.pp),d++)}})}else l.forEach(function(F){var Q=U.atoms.get(F);Q&&(V.add_(Q.pp),d++)});var S=V.scaled(1/d);return LL(U,F,S)||1}function xL(U,F,Q){var B,R,V=null===(B=Q.atoms.get(F.id))||void 0===B?void 0:B.a.neighbors.length;if(V&&V>1)R=null;else if(1===V){var n,l=Q.molecule.atoms.get(F.id),d=l&&(null===(n=Q.molecule.halfBonds.get(l.neighbors[0]))||void 0===n?void 0:n.end),J=(d||0===d)&&Q.molecule.atoms.get(d);R=U.ctrlKey?W.vectorUtils.calcAngle(null===J||void 0===J?void 0:J.pp,null===l||void 0===l?void 0:l.pp):W.vectorUtils.fracAngle(W.vectorUtils.calcAngle(J.pp,null===l||void 0===l?void 0:l.pp),null)}else R=0;return R}function uL(U){return"".concat(U.id,"-").concat(U.map)}var wL=function(){function U(F,Q,R){(0,N.A)(this,U),(0,B.A)(this,"connectedPreviewTimeout",null),this.editor=F,this.template=Q,this.floatingPreviewAction=new W.Action,this.connectedPreviewAction=null,this.connectedPreviewTimeout=null,this.lastPreviewId=null,this.mode=R,this.floatingPreview=null,this.position=new W.Vec2,this.previousPosition=new W.Vec2}return(0,Z.A)(U,[{key:"struct",get:function(){return this.restruct.molecule}},{key:"restruct",get:function(){return this.editor.render.ctab}},{key:"isModeFunctionalGroup",get:function(){return this.mode===At}},{key:"hidePreview",value:function(){this.hideConnectedPreview(),this.hideFloatingPreview()}},{key:"getPreviewTarget",value:function(U){var F,Q=this.editor.findItem(U,["atoms","bonds"]);return Q&&!1===(null===(F=this.restruct.molecule[Q.map].get(Q.id))||void 0===F?void 0:F.isPreview)?Q:null}},{key:"movePreview",value:function(U){var F=this;this.position=W.CoordinateTransformation.pageToModel(U,this.editor.render);var Q=this.editor.struct(),B=this.getPreviewTarget(U),R=!B,V=B&&this.lastPreviewId!==uL(B),n=R||V,l=B&&!Q.isTargetFromMacromolecule(B)&&!this.connectedPreviewAction&&!this.connectedPreviewTimeout;n&&this.hideConnectedPreview(),l?(this.lastPreviewId=uL(B),this.connectedPreviewTimeout=setTimeout(function(){F.previousPosition=F.position,F.hideFloatingPreview(),F.showConnectedPreview(U,B)},300)):n&&(this.floatingPreview?this.moveFloatingPreview():(this.showFloatingPreview(this.position),this.previousPosition=this.position,this.editor.render.update(!1,null)))}},{key:"moveFloatingPreview",value:function(){var U=this.position.sub(this.previousPosition);this.previousPosition=this.position,(0,W.fromMultipleMove)(this.restruct,this.floatingPreview,U),this.editor.render.update(!1,null)}},{key:"showFloatingPreview",value:function(U){var F=(0,W.fromTemplateOnCanvas)(this.restruct,this.template,U),Q=(0,R.A)(F,2);this.floatingPreviewAction=Q[0],this.floatingPreview=Q[1],this.editor.render.update(!0,null)}},{key:"hideFloatingPreview",value:function(){if(this.floatingPreviewAction){var U=this.floatingPreviewAction.perform(this.restruct);this.editor.update(U,!0),this.floatingPreviewAction=null,this.floatingPreview=null}}},{key:"hideConnectedPreview",value:function(){this.connectedPreviewAction&&(this.connectedPreviewAction.perform(this.restruct),this.connectedPreviewAction=null,this.editor.render.update()),this.connectedPreviewTimeout&&(clearTimeout(this.connectedPreviewTimeout),this.connectedPreviewTimeout=null)}},{key:"showConnectedPreview",value:function(U,F){var Q=this;if("bonds"!==F.map||this.isModeFunctionalGroup){if("atoms"===F.map){var B=xL(U,F,this.restruct),V=(0,W.fromTemplateOnAtom)(this.restruct,this.template,F.id,B,!1,!0),n=(0,R.A)(V,2),l=n[0],d=n[1];if(d&&!this.isModeFunctionalGroup){var J=(0,W.getItemsToFuse)(this.editor,d);l=(0,W.fromItemsFuse)(this.restruct,J).mergeWith(l)}this.editor.update(l,!0),this.connectedPreviewAction=l}}else{var N=this.struct.bonds.get(F.id);if(!N)return;var Z=HL(this.struct,N)*this.template.sign>0;(0,W.fromTemplateOnBondAction)(this.restruct,this.template,F.id,this.editor.event,Z,!0,!0).then(function(U){var F=(0,R.A)(U,2),B=F[0],V=F[1];if(!Q.isModeFunctionalGroup){var n=(0,W.getItemsToFuse)(Q.editor,V);B=(0,W.fromItemsFuse)(Q.restruct,n).mergeWith(B),Q.editor.update(B,!0),Q.connectedPreviewAction=B}})}}}]),U}();function jL(U,F){var Q="undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(!Q){if(Array.isArray(U)||(Q=function(U,F){if(U){if("string"==typeof U)return IL(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?IL(U,F):void 0}}(U))||F&&U&&"number"==typeof U.length){Q&&(U=Q);var B=0,R=function(){};return{s:R,n:function(){return B>=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function IL(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q1)}}}else n=B.xy0;if(n){var Z=W.vectorUtils.calcAngle(n,Q);U.ctrlKey||(Z=W.vectorUtils.fracAngle(Z,null));var S=W.vectorUtils.degrees(Z);if(this.editor.event.message.dispatch({info:S+"\xba"}),!B.hasOwnProperty("angle")||B.angle!==S||B.hasOwnProperty("extra_bond")&&B.extra_bond!==l){B.action&&B.action.perform(this.editor.render.ctab),B.angle=S;var E=null;if(V){if("atoms"===(null===V||void 0===V?void 0:V.map)||"functionalGroups"===(null===V||void 0===V?void 0:V.map)){var k=AL(this.struct,V),t=(0,W.fromTemplateOnAtom)(this.editor.render.ctab,this.template,k,Z,l);E=(0,R.A)(t,1)[0],B.extra_bond=l}}else{var a;if(null===(a=this.template)||void 0===a||null===(a=a.molecule)||void 0===a?void 0:a.sgroups.size)return;var T=(0,W.fromTemplateOnCanvas)(this.editor.render.ctab,this.template,n,Z);E=(0,R.A)(T,1)[0]}B.action=E,this.editor.update(B.action,!0),this.targetGroupsIds.length&&(this.targetGroupsIds.length=0)}}}else{var e=this.struct.bonds.get(V.id),C=LL(this.struct,e,Q);if(B.sign1*this.template.sign>0&&(C=-C),C!==B.sign2||!B.action){B.action&&B.action.perform(this.editor.render.ctab),B.sign2=C;var D=(0,W.fromTemplateOnBondAction)(this.editor.render.ctab,this.template,V.id,this.editor.event,B.sign1*B.sign2>0,!1),o=(0,R.A)(D,2),p=o[0],h=o[1];B.action=p,this.editor.update(B.action,!0),B.mergeItems=(0,W.getItemsToFuse)(this.editor,h),this.editor.hover((0,W.getHoverToFuse)(B.mergeItems))}}}}},{key:"mouseup",value:function(U){var F,Q=this,B=this.dragCtx;if(B){delete this.dragCtx;var V,n,l=this.editor.render.ctab,d=B.item;if(B.action&&d&&"bonds"===d.map&&!this.isModeFunctionalGroup)return B.action.perform(l),void(0,W.fromTemplateOnBondAction)(l,this.template,d.id,this.editor.event,B.sign1*B.sign2>0,!0).then(function(U){var F=(0,R.A)(U,2),B=F[0],V=F[1],n=(0,W.getItemsToFuse)(Q.editor,V);B=(0,W.fromItemsFuse)(l,n).mergeWith(B),Q.editor.update(B)});if("functionalGroups"===(null===(F=d)||void 0===F?void 0:F.map)&&W.FunctionalGroup.isContractedFunctionalGroup(d.id,this.functionalGroups)&&this.isModeFunctionalGroup&&this.targetGroupsIds.length){var J=this.editor.render.ctab,N=this.struct.sgroups.get(d.id);if(this.isSaltOrSolvent&&N.isGroupAttached(this.struct))return void PL({restruct:J,template:this.template,dragCtx:B,editor:this.editor,event:U});n=new W.Action;var Z=N.getContractedPosition(J.molecule).atomId,S=W.SGroup.getAtoms(this.struct,N).filter(function(U){return U!==Z});n.mergeWith((0,W.fromSgroupDeletion)(J,d.id)),n.mergeWith((0,W.fromFragmentDeletion)(J,{atoms:S})),d={map:"atoms",id:Z}}if(!B.action){if(!d)return void PL({restruct:l,template:this.template,dragCtx:B,editor:this.editor,event:U});if("atoms"===d.map){var E,k=null===(E=l.atoms.get(d.id))||void 0===E?void 0:E.a.neighbors.length;if(k&&k>=1&&this.isSaltOrSolvent)return void PL({restruct:l,template:this.template,dragCtx:B,editor:this.editor,event:U});var t=xL(U,d,l),a=(0,W.fromTemplateOnAtom)(l,this.template,d.id,t,!1);V=(0,R.A)(a,1)[0],n&&(V=n.mergeWith(V)),B.action=V}else if("bonds"===d.map&&!this.isModeFunctionalGroup){return void(0,W.fromTemplateOnBondAction)(l,this.template,d.id,this.editor.event,B.sign1*B.sign2>0,!0).then(function(U){var F=(0,R.A)(U,2),B=F[0],V=F[1];if(!Q.isModeFunctionalGroup){var n=(0,W.getItemsToFuse)(Q.editor,V);B=(0,W.fromItemsFuse)(l,n).mergeWith(B),Q.editor.update(B)}})}}var T,e=jL(l.molecule.bonds.keys());try{for(e.s();!(T=e.n()).done;){var C=T.value;new W.BondAttr(C,"isPreview",!1).perform(l)}}catch(c){e.e(c)}finally{e.f()}var D,o=jL(l.molecule.atoms.keys());try{for(o.s();!(D=o.n()).done;){var p=D.value;new W.AtomAttr(p,"isPreview",!1).perform(l)}}catch(c){o.e(c)}finally{o.f()}var h=B.action;h&&!h.isDummy()&&this.editor.update(h),this.editor.hover(this.editor.findItem(U,null),null,U)}}},{key:"cancel",value:function(){var U;null===(U=this.templatePreview)||void 0===U||U.hidePreview(),this.mouseup()}},{key:"mouseleave",value:function(){this.cancel()}},{key:"mouseLeaveClientArea",value:function(){var U;null===(U=this.templatePreview)||void 0===U||U.hidePreview()}}]),U}();function PL(U){var F=U.restruct,Q=U.template,B=U.dragCtx,V=U.editor,n=U.event,l=(0,W.fromTemplateOnCanvas)(F,Q,B.xy0,0,!1),d=(0,R.A)(l,1)[0];V.update(d),V.selection(null),V.hover(V.findItem(n,null),null,n),V.event.message.dispatch({info:!1})}function AL(U,F){if("atoms"===F.map)return F.id;if("functionalGroups"===F.map){var Q=U.sgroups.get(F.id);return null===Q||void 0===Q?void 0:Q.getAttachmentAtomId()}}function qL(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function _L(U){for(var F=1;F1&&void 0!==arguments[1]?arguments[1]:"",Q={atoms:{atom:function(U){return function(U){var F=U.hoveredItemId,Q=U.newAction,B=U.editor,R=_L({},Q.opts),V=(0,W.fromAtomsAttrs)(B.render.ctab,F,R,!0);B.update(V)}(U)},bond:function(U){return function(U){var F=U.hoveredItemId,Q=U.newAction,B=U.editor,R=(0,W.fromBondAddition)(B.render.ctab,Q.opts,F,{label:"C"})[0];B.update(R)}(U)},charge:function(U){return function(U){var F,Q=U.hoveredItemId,B=U.newAction,R=U.editor,V=null===(F=R.render.ctab.atoms.get(Q))||void 0===F?void 0:F.a;if(V){var n=(0,W.fromAtomsAttrs)(R.render.ctab,Q,{charge:V.charge+B.opts},null);R.update(n)}}(U)},rgroupatom:function(U){return function(U){return BH.apply(this,arguments)}(U)},sgroup:function(U){var F=U.editor,Q=U.hoveredItemId;_O.sgroupDialog(F,Q)},hand:function(U){return(0,U.dispatch)(vt({tool:"hand"}))}},sgroups:{atom:function(U){return function(U){var F=U.hoveredItemId,Q=U.newAction,B=U.editor,R=_L({},Q.opts),V=new W.Action,n=B.render.ctab,l=n.molecule.sgroups.get(F);if(null==l)throw new Error('unexpected error, sgroup with id "'.concat(F,'" is not found'));var d=l.getContractedPosition(n.molecule).atomId;OO([F],n,V),V.mergeWith((0,W.fromAtomsAttrs)(B.render.ctab,d,R,!0)),B.update(V)}(U)}},_default:{}},B=Q[U];if(B)return B[F];return Q._default[F]}(n,Q.tool),V="hand"!==Q.tool,l=F[n];if(U){var d={hoveredItemId:l,editor:B,newAction:Q,dispatch:R};FH(d,n).then(function(F){!F&&V||U(d)})}};for(var n in F)V()}(U):function(U){var F=U.dispatch,Q=U.newAction;F(vt(Q))}(U)}function UH(U){var F=U.editor,Q=U.item,B=(0,W.fromFragmentDeletion)(F.render.ctab,Q);F.update(B),F.hover(null)}function FH(U,F){return QH.apply(this,arguments)}function QH(){return QH=(0,l.A)(J().mark(function U(F,Q){return J().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:if("sgroups"!==Q){U.next=2;break}return U.abrupt("return",!0);case 2:return U.next=4,VH(F,Q);case 4:return U.abrupt("return",U.sent);case 5:case"end":return U.stop()}},U)})),QH.apply(this,arguments)}function BH(){return BH=(0,l.A)(J().mark(function U(F){var Q,B,R,V,n,l,d;return J().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:return Q=F.hoveredItemId,B=F.editor,R=B.render.ctab.molecule,V=Q||0===Q?R.atoms.get(Q):null,n=V?V.rglabel:0,l=V?V.label:"R#",U.prev=5,U.next=8,B.event.elementEdit.dispatch({label:"R#",rglabel:n,fragId:V?V.fragment:null});case 8:d=U.sent,d=_L(_L({},W.Atom.attrlist),d||{}),!Q&&0!==Q&&d.rglabel?B.update((0,W.fromAtomAddition)(B.render.ctab,null,d)):n!==d.rglabel&&(d.rglabel||"R#"===l||(d.label=l),B.update((0,W.fromAtomsAttrs)(B.render.ctab,Q,d,!1))),U.next=16;break;case 13:U.prev=13,U.t0=U.catch(5),W.KetcherLogger.error("handleHotkeysOverItem.ts::handleRGroupAtomTool",U.t0);case 16:case"end":return U.stop()}},U,null,[[5,13]])})),BH.apply(this,arguments)}function RH(U,F,Q){var B=U.render.ctab.molecule,R=B.functionalGroups;return"atoms"===Q?W.FunctionalGroup.findFunctionalGroupByAtom(R,F):W.FunctionalGroup.findFunctionalGroupByBond(B,R,F)}function VH(U,F){return nH.apply(this,arguments)}function nH(){return nH=(0,l.A)(J().mark(function U(F,Q){var B,R,V;return J().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:if(B=F.hoveredItemId,R=F.editor,null===(V=RH(R,B,Q))){U.next=6;break}return U.next=5,R.event.removeFG.dispatch({fgIds:[V]});case 5:return U.abrupt("return",!1);case 6:return U.abrupt("return",!0);case 7:case"end":return U.stop()}},U)})),nH.apply(this,arguments)}var lH,dH=null;function JH(U){return function(F,Q){var B=(0,W.initHotKeys)(Ja);dH=function(U){return function(U,F,Q,B){var R=F();if(function(U,F){if(U.modal||ZO(U))return!0;return(0,W.isEditableInputTarget)(F.target)}(R,B))return;var V=R.editor,n=V.render,l=R.actionState,d=l.activeTool,J=(0,W.keyNorm)(B),N=WH(n.ctab);if(J&&1===J.length&&!N){var Z=function(U,F,Q,B){if(function(U,F){var Q=WO(F),B=ZH.includes(U.toLowerCase()),R=U.toLowerCase()===Q;return Boolean((!R||!B)&&Q)}(U,F)){Q(function(U){return{type:KX,data:U}}(B.key)),clearTimeout(lH),lH=void 0;var R=W.SettingsManager.getSettings().selectionTool;return Q(vt(R)),B.preventDefault(),!0}return lH=window.setTimeout(function(){Q(gX()),lH=void 0},NH),Q(function(U){return{type:IX,data:U}}(B.key)),!1}(J,R,U,B);if(Z)return}if("Slash"===J)return void function(U,F,Q,B){var R={atoms:Ja["atom-props"].action,bonds:Ja["bond-props"].action};if(!U)return;var V=Object.keys(U)[0];Object.hasOwn(R,V)&&$L({hoveredItem:U,newAction:R[V],editor:F,dispatch:Q});B.preventDefault()}(N,V,U,B);if(V.rotateController.isRotating&&"Escape"===J)return void function(U){U.rotateController.revert()}(V);var S=W.keyNorm.lookup(Q,B);if(void 0!==S)return void function(U,F,Q,B,R,V,n,l){var d=function(U,F){var Q=U.indexOf(F.tool);return U.forEach(function(U,B){(0,D.isEqual)(Ja[U].action,F)&&(Q=B)}),Q}(U,F),J=null!==U?U.length:1,N=U[(d+1)%J];if(function(U,F){var Q;return U[F]&&!0===U[F].disabled||!0===(null===(Q=U[F])||void 0===Q?void 0:Q.hidden)}(Q,N))return void l.preventDefault();if(function(U,F,Q){["paste","template"].includes(U.tool)&&null!==F&&void 0!==F&&F.includes("save")&&Q(st())}(F,U,n),-1===mE.indexOf(N)){var Z,S=function(U){return["zoom-in","zoom-out"].includes(U)?Ja[U].action():Ja[U].action}(N),E=WH(V.ctab),k=null!==(Z=R.selection())&&void 0!==Z?Z:{},t=k.atoms,a=k.bonds,T=Boolean(null===t||void 0===t?void 0:t.length)||Boolean(null===a||void 0===a?void 0:a.length);"erase"===N&&T?n(vt(S)):!function(U,F){return Boolean(U&&"select"!==F.tool&&"templates"!==F.dialog)}(E,S)?("select"===S.tool&&(S=function(U,F,Q){if("Escape"===F)return W.SettingsManager.getSettings().selectionTool;if(-1===Q)return{};return U}(S,B,d)),n(vt(S))):$L({hoveredItem:E,newAction:S=function(U){var F;return null===(F=Ja[U])||void 0===F?void 0:F.action}(U[d])||S,editor:R,dispatch:n}),l.preventDefault()}else hQ.lT&&ME(l)}(S,d,l,J,V,n,U,B);(function(U){return"ArrowUp"===U||"ArrowDown"===U||"ArrowLeft"===U||"ArrowRight"===U})(B.key)&&tO(V,B.key,B.shiftKey)}(F,Q,B,U)},U.addEventListener("keydown",dH)}}var NH=1e3,ZH=["1","2","3","4","t","h","n","o","s","p","f","i","b","+","-"];function WH(U){var F={},Q=function(Q){return Object.keys(F).length?0:U[Q]instanceof Map?void U[Q].forEach(function(U,B){U.hover&&(F[Q]=B)}):1};for(var B in U)if(0===Q(B))break;return Object.keys(F).length?F:null}var SH=/\$RXN\n+\s+0\s+0\s+0\n*/;function EH(U,F){var Q=Object.keys(W.formatProperties).map(function(U){return W.formatProperties[U].mime}),B=(0,D.debounce)(0,function(F){return U(vt(F))}),R=(0,D.debounce)(0,function(F,Q){return U(Xt(F,Q))});return{formats:Q,focused:function(){return!F().modal},onLegacyCopy:function(){var U=F().editor,Q=TH(U);return U.selection(null),Q},onLegacyCut:function(){var U=F().editor,Q=TH(U);return Q?B({tool:"eraser",opts:1}):U.selection(null),Q},onCut:function(){return(0,l.A)(J().mark(function U(){var Q,R,V;return J().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:return Q=F(),R=W.ketcherProvider.getKetcher(Q.editor.ketcherId),U.next=4,(0,W.runAsyncAction)((0,l.A)(J().mark(function U(){var Q,R;return J().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:return Q=F().editor,U.next=3,tH(Q);case 3:return(R=U.sent)?B({tool:"eraser",opts:1}):Q.selection(null),U.abrupt("return",R);case 6:case"end":return U.stop()}},U)})),R.eventBus);case 4:return V=U.sent,U.abrupt("return",V);case 6:case"end":return U.stop()}},U)}))()},onCopy:function(){return(0,l.A)(J().mark(function U(){var Q,B,R;return J().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:return Q=F(),B=W.ketcherProvider.getKetcher(Q.editor.ketcherId),U.next=4,(0,W.runAsyncAction)((0,l.A)(J().mark(function U(){var Q,B;return J().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:return Q=F().editor,U.next=3,tH(Q);case 3:return B=U.sent,Q.selection(null),U.abrupt("return",B);case 6:case"end":return U.stop()}},U)})),B.eventBus);case 4:return R=U.sent,U.abrupt("return",R);case 6:case"end":return U.stop()}},U)}))()},onPaste:function(Q,B){return(0,l.A)(J().mark(function R(){var V,n,d;return J().wrap(function(R){for(;;)switch(R.prev=R.next){case 0:return V=F(),n=W.ketcherProvider.getKetcher(V.editor.ketcherId),R.next=4,(0,W.runAsyncAction)((0,l.A)(J().mark(function F(){var R,V;return J().wrap(function(F){for(;;)switch(F.prev=F.next){case 0:return F.next=2,(0,W.getStructStringFromClipboardData)(Q);case 2:if(!(R=F.sent)&&SH.test(Q["text/plain"])){F.next=7;break}return V=B?{fragment:!0,isPaste:!0,"input-format":W.ChemicalMimeType.DaylightSmarts}:{fragment:!0,isPaste:!0},F.next=7,U(Xt(R,V));case 7:case"end":return F.stop()}},F)})),n.eventBus);case 4:return d=R.sent,R.abrupt("return",d);case 6:case"end":return R.stop()}},R)}))()},onLegacyPaste:function(U,F){var Q=U[W.ChemicalMimeType.KET]||U[W.ChemicalMimeType.Mol]||U[W.ChemicalMimeType.Rxn]||U["text/plain"];!Q&&SH.test(U["text/plain"])||R(Q,F?{fragment:!0,isPaste:!0,"input-format":W.ChemicalMimeType.DaylightSmarts}:{fragment:!0,isPaste:!0})}}}function kH(U){var F=U.structSelected(),Q=U.errorHandler;return!F.isBlank()&&(!(Boolean(F.simpleObjects.size||F.texts.size)&&hQ.lT&&Q)||(Q('The structure you are trying to copy contains Simple object or/and Text object.To copy Simple object or Text object in Internet Explorer try "Copy as KET" button'),!1))}function tH(U){return aH.apply(this,arguments)}function aH(){return aH=(0,l.A)(J().mark(function U(F){var Q,B,R,V,n,l,d,N;return J().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:if(kH(F)){U.next=2;break}return U.abrupt("return",null);case 2:return Q={},B=F.structSelected(),R=F.errorHandler,U.prev=5,V=new W.KetSerializer,n=V.serialize(B),l=W.ketcherProvider.getKetcher(F.ketcherId),U.next=11,(0,W.getStructure)(F.ketcherId,l.formatterFactory,B,W.SupportedFormat.molAuto);case 11:return d=U.sent,Q[W.ChemicalMimeType.KET]=n,N=B.isReaction?W.ChemicalMimeType.Mol:W.ChemicalMimeType.Rxn,Q["text/plain"]=d,Q[N]=d,U.abrupt("return",Q);case 19:U.prev=19,U.t0=U.catch(5),W.KetcherLogger.error("hotkeys.ts::clipData",U.t0),R&&R(U.t0.message);case 23:return U.abrupt("return",null);case 24:case"end":return U.stop()}},U,null,[[5,19]])})),aH.apply(this,arguments)}function TH(U){if(!kH(U))return null;var F={},Q=U.structSelected(),B=U.errorHandler,R=new W.MolSerializer;try{var V=(new W.KetSerializer).serialize(Q);F[W.ChemicalMimeType.KET]=V;var n=Q.isReaction?W.ChemicalMimeType.Mol:W.ChemicalMimeType.Rxn,l=R.serialize(Q);return F["text/plain"]=l,F[n]=l,F}catch(_3){W.KetcherLogger.error("hotkeys.ts::legacyClipData",_3),B&&B(_3.message)}return null}var eH=(0,v.Ng)(null,function(U){return U(EH)})(CE),CH=(0,v.Ng)(null,function(U){return{onInitTmpls:function(F,Q){qE(U,Q,F)}}})(function(U){var F=U.onInitTmpls,Q=(0,n.useRef)(null),B=n.useContext(FE).staticResourcesUrl;return(0,n.useEffect)(function(){"function"===typeof requestIdleCallback?requestIdleCallback(function(){return F(Q.current,B)}):F(Q.current,B)},[]),(0,V.jsx)("div",{style:{display:"none"},ref:Q})}),DH="Modal-module_modalOverlay__AzVeg",oH="Modal-module_smallScreen__nzt2L",pH="Select-module_dropdownList__rdcrH",hH="Select-module_listDivider__4vJyh",cH="Select-module_selectContainer__yXT-t",rH=600,mH=600,MH="LoadingCircles-module_container__MPCs0",iH=function(){return(0,V.jsxs)("div",{className:"".concat(MH," loading-spinner"),"data-testid":"loading-spinner",children:[(0,V.jsx)("span",{}),(0,V.jsx)("span",{}),(0,V.jsx)("span",{})]})};function bH(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function vH(U,F){var Q="undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(!Q){if(Array.isArray(U)||(Q=function(U,F){if(U){if("string"==typeof U)return GH(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?GH(U,F):void 0}}(U))||F&&U&&"number"==typeof U.length){Q&&(U=Q);var B=0,R=function(){};return{s:R,n:function(){return B>=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function GH(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q=1)){var J=Math.abs(F.y-d.y);J<.3&&(!n||JF.y&&V.p0.xF.x,l=Math.min(Math.abs(V.p0.x-F.x),Math.abs(V.p1.x-F.x));n&&(null===B||lJ.y&&U.p0.xJ.x,V=Math.min(Math.abs(U.p0.x-J.x),Math.abs(U.p1.x-J.x));F&&(null===Q||VJ)?{id:l,dist:J/Q.microModeScale,ref:N}:U},null)}),W.IMAGE_KEY,function(U,F){var Q=U.render.options,B=W.Scale.modelToCanvas(F,Q),V=Q.microModeScale*sH;return Array.from(U.images.entries()).reduce(function(U,F){var n=(0,R.A)(F,2),l=n[0],d=n[1],J=d.calculateDistanceToPoint(B,Q);if(J<=V){if(U&&U.distsH*R.microModeScale?{id:n,dist:B}:null}function LH(U,F,Q){var B,V=U.sgroups,n="functionalGroups"===(null===Q||void 0===Q?void 0:Q.map)?Q.id:null,l=vH(V.entries());try{for(l.s();!(B=l.n()).done;){var d=(0,R.A)(B.value,2),J=d[0],N=d[1];if(J!==n){var Z=N.getTextHighlightDimensions(U.render,0),S=Z.startX,E=Z.startY,k=Z.width,t=Z.height,a=W.Scale.modelToCanvas(F,U.render.options),T=a.x,e=a.y;if(YH(S,E,k,t,T,e)){var C=S+k/2,D=E+t/2,o=new W.Vec2(C,D),p=new W.Vec2(T,e),h=W.Vec2.dist(o,p);return{id:N.item.id,dist:h}}}}}catch(c){l.e(c)}finally{l.f()}return null}var HH={atom:zH,item:function(U,F,Q,R,V){var n,l;Q=null!==(n=Q)&&void 0!==n?n:Object.keys(XH);var d=null,J=Q.reduce(function(Q,n){var l,J=null!==(l=null===Q||void 0===Q?void 0:Q.dist)&&void 0!==l?l:null,N=XH[n](U,F,R,J,V);if(null!==N){var Z=function(U){for(var F=1;F3&&void 0!==arguments[3]?arguments[3]:["atoms","bonds"],R={atoms:new Map,bonds:new Map},V=U.molecule;F.atoms.forEach(function(U){var F=V.atoms.get(U);F&&R.atoms.set(U,F.pp)}),F.bonds.forEach(function(U){var F=V.bonds.get(U);F&&R.bonds.set(U,W.Vec2.lc2(V.atoms.get(F.begin).pp,.5,V.atoms.get(F.end).pp,.5))});var n={atoms:new Map,atomToFunctionalGroup:new Map};return B.forEach(function(B){"atoms"===B?Array.from(R.atoms.keys()).forEach(function(Q){var B=R.atoms.get(Q);(function(U,F,Q,B,R){var V={map:"atoms",id:U},n=zH(F,Q,V,null);if(n&&!B.atoms.includes(n.id))return R.atoms.set(U,n.id),!0;return!1})(Q,U,B,F,n)||function(U,F,Q,B){var R=F.molecule.getGroupFromAtomId(U),V=U===(null===R||void 0===R?void 0:R.getAttachmentAtomId());if(V)return!1;var n=LH(F,Q,null);if(n)return B.atomToFunctionalGroup.set(U,n.id),!0}(Q,U,B,n)}):n[B]=Array.from(R[B].keys()).reduce(function(V,n){var l={map:B,id:n},d=XH[B](U,R[B].get(n),l,null,Q);return d&&!F[B].includes(d.id)&&V.set(n,d.id),V},new Map)}),n}};function xH(U,F,Q){return uH.apply(this,arguments)}function uH(){return uH=(0,l.A)(J().mark(function U(F,Q,B){var R,V,n,l,d,N;return J().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:return U.prev=0,U.next=3,F.event.elementEdit.dispatch({attachmentPoints:Q.attachmentPoints});case 3:R=U.sent,V=null===Q||void 0===Q?void 0:Q.attachmentPoints,n=R.attachmentPoints,V!==n&&(l=(0,W.fromAtomsAttrs)(F.render.ctab,B,R,null),d=(0,W.fromRGroupAttachmentPointUpdate)(F.render.ctab,B,n),N=l.mergeWith(d),F.update(N)),U.next=12;break;case 9:U.prev=9,U.t0=U.catch(0),W.KetcherLogger.error("apoint.utils.ts::editRGroupAttachmentPoint",U.t0);case 12:case"end":return U.stop()}},U,null,[[0,9]])})),uH.apply(this,arguments)}function wH(U,F){var Q="undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(!Q){if(Array.isArray(U)||(Q=function(U,F){if(U){if("string"==typeof U)return jH(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?jH(U,F):void 0}}(U))||F&&U&&"number"==typeof U.length){Q&&(U=Q);var B=0,R=function(){};return{s:R,n:function(){return B>=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function jH(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q0){var d,J=wH(V);try{for(J.s();!(d=J.n()).done;){var N=d.value,Z=W.FunctionalGroup.findFunctionalGroupByAtom(B,N);null===Z||n.includes(Z)||n.push(Z)}}catch(E){J.e(E)}finally{J.f()}if(n.length>0)return void this.editor.event.removeFG.dispatch({fgIds:n})}if(R&&"atoms"===R.map){this.editor.hover(null);var S=Q.atoms.get(R.id);return BX(null!=S),S.isRGroupAttachmentPointEditDisabled||xH(F,S,R.id),!0}return!0}}]),U}();function KH(U,F){var Q="undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(!Q){if(Array.isArray(U)||(Q=function(U,F){if(U){if("string"==typeof U)return fH(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?fH(U,F):void 0}}(U))||F&&U&&"number"==typeof U.length){Q&&(U=Q);var B=0,R=function(){};return{s:R,n:function(){return B>=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function fH(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q0){var Z,S=KH(n);try{for(S.s();!(Z=S.n()).done;){var E=Z.value,k=W.FunctionalGroup.findFunctionalGroupByAtom(R,E);null===k||d.includes(k)||d.push(k)}}catch(C){S.e(C)}finally{S.f()}this.editor.event.removeFG.dispatch({fgIds:d})}else{if(!(l.length>0))return V&&("atoms"===V.map&&W.Elements.get(null===(F=B.atoms.get(V.id))||void 0===F?void 0:F.label)||"bonds"===V.map)&&("atoms"===V.map?this.attach.atomid=V.id:this.attach.bondid=V.id,this.editor.selection({atoms:[this.attach.atomid],bonds:[this.attach.bondid]}),this.editor.event.attachEdit.dispatch(this.attach)),!0;var t,a=KH(l);try{for(a.s();!(t=a.n()).done;){var T=t.value,e=W.FunctionalGroup.findFunctionalGroupByBond(B,R,T);null===e||d.includes(e)||d.push(e)}}catch(C){a.e(C)}finally{a.f()}this.editor.event.removeFG.dispatch({fgIds:d})}}}]),U}();function PH(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function AH(U,F){var Q="undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(!Q){if(Array.isArray(U)||(Q=function(U,F){if(U){if("string"==typeof U)return qH(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?qH(U,F):void 0}}(U))||F&&U&&"number"==typeof U.length){Q&&(U=Q);var B=0,R=function(){};return{s:R,n:function(){return B>=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function qH(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q0){var N,Z=AH(V);try{for(Z.s();!(N=Z.n()).done;){var S=N.value,E=W.FunctionalGroup.findFunctionalGroupByAtom(B,S);null===E||l.includes(E)||l.push(E)}}catch(D){Z.e(D)}finally{Z.f()}if(l.length)return void this.editor.event.removeFG.dispatch({fgIds:l})}else if(n.length>0){var k,t=AH(n);try{for(t.s();!(k=t.n()).done;){var a=k.value,T=W.FunctionalGroup.findFunctionalGroupByBond(Q,B,a);null===T||l.includes(T)||l.push(T)}}catch(D){t.e(D)}finally{t.f()}if(l.length)return void this.editor.event.removeFG.dispatch({fgIds:l})}if("functionalGroups"===(null===R||void 0===R?void 0:R.map)){var e=Q.sgroups.get(R.id);F=null===e||void 0===e?void 0:e.getAttachmentAtomId()}var C=this.editor.render;return this.editor.hover(null),this.editor.selection(null),this.dragCtx={xy0:W.CoordinateTransformation.pageToModel(U,C),pageX0:U.clientX,pageY0:U.clientY,hasStartedDragging:!1,item:void 0===F?R:{map:"atoms",id:F}},this.dragCtx.item||delete this.dragCtx.item,!0}}},{key:"mousemove",value:function(U){return!!zO(this.editor,U)||(this.dragCtx?!this.isDragStartThresholdReached(U,this.dragCtx)||this.handleDragMove(U):(this.editor.hover(this.editor.findItem(U,["atoms","bonds","functionalGroups"]),null,U),!0))}},{key:"isDragStartThresholdReached",value:function(F,Q){if(Q.hasStartedDragging)return!0;var B=F.clientX-Q.pageX0,R=F.clientY-Q.pageY0;return!(Math.hypot(B,R)0)return this.editor.event.removeFG.dispatch({fgIds:J}),delete this.dragCtx,{beginAtom:n,endAtom:d,beginPos:l,shouldReturn:!0}}else"functionalGroups"===(null===(R=d)||void 0===R?void 0:R.map)&&(d=this.resolveEndAtomFromFunctionalGroup(Q,d));return{beginAtom:n,endAtom:d,beginPos:l,shouldReturn:!1}}},{key:"collectFunctionalGroupIdsForAtom",value:function(U,F){var Q=W.FunctionalGroup.atomsInFunctionalGroup(U,F);if(null===Q)return[];var B=W.FunctionalGroup.findFunctionalGroupByAtom(U,Q);return null!==B?[B]:[]}},{key:"resolveEndAtomFromFunctionalGroup",value:function(U,F){var Q=U.functionalGroups.get(F.id);if(!W.SGroup.isSaltOrSolvent((null===Q||void 0===Q?void 0:Q.name)||"")){var B=null===Q||void 0===Q?void 0:Q.relatedSGroup.getAttachmentAtomId();return void 0===B?null:{map:"atoms",id:B}}return F}},{key:"resolveEndAtomPosition",value:function(U,F,Q,B,R){var V,n;if("atoms"===(null===(V=B)||void 0===V?void 0:V.map))return{endAtom:B.id,endPos:n};B=this.atomProps;var l=W.CoordinateTransformation.pageToModel(U,F);if(R)n=W.vectorUtils.calcNewAtomPos(R,l,U.ctrlKey);else{var d=F.ctab.molecule.atoms.get(Q);n=W.vectorUtils.calcNewAtomPos(d.pp.get_xy0(),l,U.ctrlKey)}return{endAtom:B,endPos:n}}},{key:"applyBondAction",value:function(U,F,Q,B,V){var n=V.beginAtom,l=V.endAtom,d=V.beginPos,J=V.endPos;if(V.dist>.3){var N=this.getExistingBond(B,n,l),Z=(0,R.A)(N,2),S=Z[0],E=Z[1];F.action=(0,W.fromBondAddition)(Q.ctab,this.bondProps,n,l,d,J)[0],null!==S&&(this.dragCtx.existedBond=E,this.dragCtx.action.mergeWith((0,W.fromOneBondDeletion)(Q.ctab,S)))}else delete F.action;this.restoreBondWhenHoveringOnCanvas(U),F.action&&this.editor.update(F.action,!0)}},{key:"mouseup",value:function(U){if("dragCtx"in this){var F=this.dragCtx,Q="item"in F,R=this.editor.render,V=R.ctab.molecule;if("action"in F)this.restoreBondWhenHoveringOnCanvas(U),this.editor.update(F.action);else if(Q){if(Q&&"atoms"===F.item.map){W.Atom.isSuperatomLeavingGroupAtom(V,F.item.id)||(this.editor.update((0,W.fromBondAddition)(R.ctab,this.bondProps,F.item.id,{label:"C"})[0]),delete this.dragCtx.existedBond)}else if("bonds"===F.item.map){var n=function(U){for(var F=1;F=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function Ux(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q0){var N,Z=$H(V);try{for(Z.s();!(N=Z.n()).done;){var S=N.value,E=W.FunctionalGroup.findFunctionalGroupByAtom(Q,S);null===E||l.includes(E)||l.push(E)}}catch(h){Z.e(h)}finally{Z.f()}if(l.length)return void this.editor.event.removeFG.dispatch({fgIds:l})}else if(n.length>0){var k,t=$H(n);try{for(t.s();!(k=t.n()).done;){var a=k.value,T=W.FunctionalGroup.findFunctionalGroupByBond(F,Q,a);null===T||l.includes(T)||l.push(T)}}catch(h){t.e(h)}finally{t.f()}if(l.length)return void this.editor.event.removeFG.dispatch({fgIds:l})}if(this.editor.hover(null),this.dragCtx={xy0:W.CoordinateTransformation.pageToModel(U,B),item:R},"atoms"===(null===R||void 0===R?void 0:R.map)&&(this.editor.selection({atoms:[R.id]}),wO(this,B)),"functionalGroups"===(null===R||void 0===R?void 0:R.map)){var e,C=F.functionalGroups.get(R.id);if(!W.SGroup.isSaltOrSolvent(null!==(e=null===C||void 0===C?void 0:C.name)&&void 0!==e?e:"")){var D=R.id,o=F.sgroups.get(D),p=null===o||void 0===o?void 0:o.getAttachmentAtomId();this.dragCtx.item={map:"atoms",id:p}}}return this.dragCtx.item||delete this.dragCtx.item,!0}}},{key:"mousemove",value:function(U){var F=this.editor,Q=F.render.ctab,B=this.dragCtx;if(F.hover(this.editor.findItem(U,["atoms","bonds","functionalGroups"]),null,U),B&&(null!==B&&void 0!==B&&B.stopTapping&&B.stopTapping(),F.selection(null),!B.item||"atoms"===B.item.map)){var V;B.action&&B.action.perform(Q);var n=Q.molecule.atoms,l=B.item?null===(V=n.get(B.item.id))||void 0===V?void 0:V.pp:B.xy0,d=W.CoordinateTransformation.pageToModel(U,F.render),J=Math.ceil(W.Vec2.diff(d,l).length()),N=U.ctrlKey?W.vectorUtils.calcAngle(l,d):W.vectorUtils.fracAngle(l,d),Z=(0,W.fromChain)(Q,l,N,J,B.item?B.item.id:null),S=(0,R.A)(Z,2),E=S[0],k=S[1];F.event.message.dispatch({info:J+" sectors"}),B.action=E,F.update(B.action,!0),B.mergeItems=(0,W.getItemsToFuse)(F,k),F.hover((0,W.getHoverToFuse)(B.mergeItems))}return!0}},{key:"mouseup",value:function(){var U,F,Q=this.editor.render.ctab,B=Q.molecule,R=B.functionalGroups,V=[],n=[];if((0,W.removeInfoLabelFromAtoms)(Q),this.editor.render.update(!0,null),null!==(U=this.dragCtx)&&void 0!==U&&U.mergeItems&&R.size&&(F=this.dragCtx.mergeItems.atoms.values().next().value),F){var l=W.FunctionalGroup.atomsInFunctionalGroup(R,F);null!==l&&V.push(l)}if(!(V.length>0)){var d=this.dragCtx;if(d){var J;delete this.dragCtx;var N=this.editor;if(d.stopTapping&&d.stopTapping(),d.action||"bonds"!==(null===(J=d.item)||void 0===J?void 0:J.map))d.action=d.action?(0,W.fromItemsFuse)(Q,d.mergeItems).mergeWith(d.action):(0,W.fromItemsFuse)(Q,d.mergeItems);else{var Z=B.bonds.get(d.item.id);d.action=(0,W.bondChangingAction)(Q,d.item.id,Z,{type:W.Bond.PATTERN.TYPE.SINGLE,stereo:W.Bond.PATTERN.STEREO.NONE})}N.selection(null),N.hover(null),d.action&&N.update(d.action),N.event.message.dispatch({info:!1})}return!0}var S,E=$H(V);try{for(E.s();!(S=E.n()).done;){var k=S.value,t=W.FunctionalGroup.findFunctionalGroupByAtom(R,k);null===t||n.includes(t)||n.push(t)}}catch(a){E.e(a)}finally{E.f()}this.editor.event.removeFG.dispatch({fgIds:n})}},{key:"cancel",value:function(){this.mouseup()}},{key:"mouseleave",value:function(){this.mouseup()}}]),U}();function Qx(U,F){var Q="undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(!Q){if(Array.isArray(U)||(Q=function(U,F){if(U){if("string"==typeof U)return Bx(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?Bx(U,F):void 0}}(U))||F&&U&&"number"==typeof U.length){Q&&(U=Q);var B=0,R=function(){};return{s:R,n:function(){return B>=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function Bx(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q0){var J,N=Qx(n);try{for(N.s();!(J=N.n()).done;){var Z=J.value,S=W.FunctionalGroup.findFunctionalGroupByAtom(B,Z);null===S||l.includes(S)||l.push(S)}}catch(t){N.e(t)}finally{N.f()}if(l.length>0)return void this.editor.event.removeFG.dispatch({fgIds:l})}if(V&&"atoms"===V.map){var E,k=Q.atoms.get(V.id);if(k&&this.isChargeableAtom(k))this.editor.hover(V),this.editor.update((0,W.fromAtomsAttrs)(R.ctab,V.id,{charge:(null!==(E=k.charge)&&void 0!==E?E:0)+this.charge},null))}return!0}},{key:"isChargeableAtom",value:function(U){return!U.atomList&&!U.rglabel}}]),U}(),Vx=function(){function U(F){(0,N.A)(this,U);var Q=F.selection();this.editor=F,this.isNotActiveTool=!0,this.stereoAtoms=(0,W.findStereoAtoms)(F.struct(),Q?Q.atoms||[]:Array.from(F.struct().atoms.keys())),0!==this.stereoAtoms.length&&U.changeAtomsStereoAction(this.editor,this.stereoAtoms).then(function(U){return U&&F.update(U)})}return(0,Z.A)(U,null,[{key:"changeAtomsStereoAction",value:function(U,F){var Q=U.struct(),B=U.render.ctab,R=F.map(function(U){var F=Q.atoms.get(U);return null===F||void 0===F?void 0:F.stereoLabel}),V=R.some(function(U){return U!==R[0]});return U.event.enhancedStereoEdit.dispatch({stereoLabel:V?null:R[0]}).then(function(U){if(!U)return null;var R=F.reduce(function(U,F){var R,V=null===(R=Q.atoms.get(F))||void 0===R?void 0:R.fragment,n=void 0!==V?B.molecule.frags.get(V):null;return null!==n&&void 0!==n&&n.stereoAtoms?U.mergeWith((0,W.fromStereoFlagUpdate)(B,V)):U},(0,W.fromAtomsAttrs)(B,F,{stereoLabel:U},!1));return R.operations.reverse(),R})}}]),U}();function nx(U,F){var Q="undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(!Q){if(Array.isArray(U)||(Q=function(U,F){if(U){if("string"==typeof U)return lx(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?lx(U,F):void 0}}(U))||F&&U&&"number"==typeof U.length){Q&&(U=Q);var B=0,R=function(){};return{s:R,n:function(){return B>=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function lx(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q0){var y,z=nx(l);try{for(z.s();!(y=z.n()).done;){var O=y.value,L=W.FunctionalGroup.findFunctionalGroupByAtom(R,O);null!==L&&!J.includes(L)&&J.push(L)}}catch(f){z.e(f)}finally{z.f()}}if(d.length>0){var H,x=nx(d);try{for(x.s();!(H=x.n()).done;){var u=H.value,w=W.FunctionalGroup.findFunctionalGroupByBond(B,R,u);null!==w&&!J.includes(w)&&J.push(w)}}catch(f){x.e(f)}finally{x.f()}}if(J.length>0){var j=[];J.forEach(function(U){var F;(null===(F=Q.get(U))||void 0===F||null===(F=F.item)||void 0===F?void 0:F.atoms).forEach(function(F){!l.includes(F)&&!j.includes(U)&&j.push(U)})}),j.length>0&&(this.editor.selection(null),this.editor.event.removeFG.dispatch({fgIds:j}),this.lassoHelper.cancel())}var I=this.editor.render;if(this.lassoHelper.running()){var K=n.atoms.length>0?rO(this.lassoHelper.end(),n,!1):this.lassoHelper.end();this.editor.update((0,W.fromFragmentDeletion)(I.ctab,K)),this.editor.selection(null)}}},{key:"click",value:function(U){var F=this.editor.render,Q=F.ctab,B=Q.sgroups,R=Q.molecule,V=R.functionalGroups,n=this.editor.findItem(U,this.maps),l=[],d=[],J=[];if(n&&V&&"functionalGroups"===n.map&&!W.FunctionalGroup.isContractedFunctionalGroup(n.id,V)){var N=B.get(n.id);W.FunctionalGroup.isFunctionalGroup(null===N||void 0===N?void 0:N.item)&&J.push(n.id)}else if(n&&V&&"atoms"===n.map){var Z,S=W.FunctionalGroup.atomsInFunctionalGroup(V,n.id),E=null!==S&&(null===(Z=Q.atoms.get(S))||void 0===Z?void 0:Z.a);E&&!W.FunctionalGroup.isAtomInContractedFunctionalGroup(E,B,V)&&l.push(S)}else if(n&&V&&"bonds"===n.map){var k,t=W.FunctionalGroup.bondsInFunctionalGroup(R,V,n.id),a=null!==t&&(null===(k=Q.bonds.get(t))||void 0===k?void 0:k.b);a&&!W.FunctionalGroup.isBondInContractedFunctionalGroup(a,B,V)&&d.push(t)}else if(V&&"rgroupAttachmentPoints"===(null===n||void 0===n?void 0:n.map)){var T=W.FunctionalGroup.isRGroupAttachmentPointInsideFunctionalGroup(R,n.id);null!==T&&l.push(T)}if(l.length){var e,C=nx(l);try{for(C.s();!(e=C.n()).done;){var D=e.value,p=W.FunctionalGroup.findFunctionalGroupByAtom(V,D);null===p||J.includes(p)||J.push(p)}}catch(b){C.e(b)}finally{C.f()}}else if(d.length){var h,c=nx(d);try{for(c.s();!(h=c.n()).done;){var r=h.value,m=W.FunctionalGroup.findFunctionalGroupByBond(R,V,r);null===m||J.includes(m)||J.push(m)}}catch(b){c.e(b)}finally{c.f()}}if(J.length)this.editor.event.removeFG.dispatch({fgIds:J});else if(n){if(this.editor.hover(null),"atoms"===n.map)this.editor.update((0,W.fromOneAtomDeletion)(Q,n.id));else if("bonds"===n.map)this.editor.update((0,W.fromOneBondDeletion)(Q,n.id));else if("sgroups"!==n.map&&"functionalGroups"!==n.map||!W.FunctionalGroup.isContractedFunctionalGroup(n.id,V))if("sgroups"===n.map||"sgroupData"===n.map){var M=B.get(n.id);W.FunctionalGroup.isFunctionalGroup(null===M||void 0===M?void 0:M.item)||(null===M||void 0===M?void 0:M.item)instanceof W.MonomerMicromolecule?this.editor.event.removeFG.dispatch({fgIds:[n.id]}):this.editor.update((0,W.fromSgroupDeletion)(Q,n.id))}else if("rxnArrows"===n.map)this.editor.update((0,W.fromArrowDeletion)(Q,n.id));else if("rxnPluses"===n.map)this.editor.update((0,W.fromPlusDeletion)(Q,n.id));else if("simpleObjects"===n.map)this.editor.update((0,W.fromSimpleObjectDeletion)(Q,n.id));else if("texts"===n.map)this.editor.update((0,W.fromTextDeletion)(Q,n.id));else if("rgroupAttachmentPoints"===n.map)this.editor.update((0,W.fromRGroupAttachmentPointDeletion)(Q,n.id));else if(n.map===W.IMAGE_KEY)this.editor.update((0,W.fromImageDeletion)(Q,n.id));else{if(n.map!==W.MULTITAIL_ARROW_KEY)return;this.editor.update((0,W.fromMultitailArrowDeletion)(Q,n.id))}else{var i=B.get(n.id);this.editor.update((0,W.fromFragmentDeletion)(F.ctab,{atoms:(0,o.A)(W.SGroup.getAtoms(R,null===i||void 0===i?void 0:i.item)),bonds:(0,o.A)(W.SGroup.getBonds(R,null===i||void 0===i?void 0:i.item))}))}this.editor.selection(null)}}},{key:"mouseleave",value:function(){this.mouseup()}},{key:"cancel",value:function(){this.lassoHelper.running()&&this.lassoHelper.end(),this.editor.selection(null)}}]),U}();function Jx(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function Nx(U){for(var F=1;F3&&void 0!==arguments[3]&&arguments[3],R=(0,W.getItemsToFuse)(U,F);U.hover((0,W.getHoverToFuse)(R),B?Q:void 0),Q.setMergeItems(R),(0,W.notifyItemsToMergeInitializationComplete)()},50),tx=function(){function U(F,Q){var B;(0,N.A)(this,U),this.editor=F,this.editor.selection(null),this.struct=Q,this.isSingleContractedGroup=Q.isSingleGroup()&&!(null!==(B=Q.functionalGroups.get(0))&&void 0!==B&&B.isExpanded);var V=this.editor.render,n=V.clientArea,l=n.clientHeight,d=n.clientWidth,J=V.clientArea.getBoundingClientRect(),Z=this.editor.lastEvent?W.CoordinateTransformation.pageToModel(this.editor.lastEvent,V):W.CoordinateTransformation.pageToModel({clientX:J.left+d/2,clientY:J.top+l/2},V),S=(0,W.fromPaste)(V.ctab,this.struct,Z),E=(0,R.A)(S,2),k=E[0],t=E[1];this.action=k,this.editor.update(this.action,!0),k.mergeWith((0,W.expandSGroupWithMultipleAttachmentPoint)(this.restruct)),this.editor.update(this.action,!0),kx(this.editor,t,this,!0)}return(0,Z.A)(U,[{key:"setMergeItems",value:function(U){this.mergeItems=U}},{key:"restruct",get:function(){return this.editor.render.ctab}},{key:"mousedown",value:function(U){var F;if(this.isSingleContractedGroup&&!W.SGroup.isSaltOrSolvent(null===(F=this.struct.sgroups.get(0))||void 0===F?void 0:F.data.name)){var Q;if(this.action)null===(Q=this.action)||void 0===Q||Q.perform(this.restruct);var B=this.editor.findItem(U,["functionalGroups"]),V=this.editor.struct().sgroups.get(null===B||void 0===B?void 0:B.id);if(B&&!W.SGroup.isSaltOrSolvent(null===V||void 0===V?void 0:V.data.name))this.action=null,this.dragCtx={xy0:W.CoordinateTransformation.pageToModel(U,this.editor.render),item:B};else{var n=(0,W.fromPaste)(this.restruct,this.struct,W.CoordinateTransformation.pageToModel(U,this.editor.render)),l=(0,R.A)(n,1)[0];this.action=l}}}},{key:"mousemove",value:function(U){if(this.mergeItems=null,this.editor.hover(null),!Ex){var F;if(Ex=!0,this.action)null===(F=this.action)||void 0===F||F.perform(this.restruct);if(this.dragCtx){var Q=null,B=W.CoordinateTransformation.pageToModel(U,this.editor.render),V=this.editor.struct().sgroups.get(this.dragCtx.item.id),n=null===V||void 0===V?void 0:V.getAttachmentAtomId();if(void 0!==n){var l=this.editor.struct().atoms.get(n);Q=null===l||void 0===l?void 0:l.pp}var d=W.vectorUtils.calcAngle(Q,B);U.ctrlKey||(d=W.vectorUtils.fracAngle(d,null));var J=W.vectorUtils.degrees(d);if(this.dragCtx.hasOwnProperty("angle")&&this.dragCtx.angle===J)return void requestAnimationFrame(function(){Ex=!1});this.dragCtx.action&&this.dragCtx.action.perform(this.restruct),this.dragCtx.angle=J;var N=(0,W.fromTemplateOnAtom)(this.restruct,function(U){var F,Q={},B=U.sgroups.get(0),R=new W.Vec2;U.atoms.forEach(function(U){R.add_(U.pp)}),Q.aid=null!==(F=null===B||void 0===B?void 0:B.getAttachmentAtomId())&&void 0!==F?F:0,Q.molecule=U,Q.xy0=R.scaled(1/(U.atoms.size||1));var V=U.atoms.get(Q.aid);V&&(Q.angle0=W.vectorUtils.calcAngle(V.pp,Q.xy0));return Q}(this.struct),n,d,!0),Z=(0,R.A)(N,1)[0];this.dragCtx.action=Z,this.editor.update(this.dragCtx.action,!0)}else{var S=(0,W.fromPaste)(this.restruct,this.struct,W.CoordinateTransformation.pageToModel(U,this.editor.render)),E=(0,R.A)(S,2),k=E[0],t=E[1];this.action=k,this.editor.update(this.action,!0);var a=jO(t,this.editor.struct());kx(this.editor,a,this)}requestAnimationFrame(function(){Ex=!1})}}},{key:"mouseup",value:function(){var U=this.mergeItems&&Sx(Sx({},this.mergeItems.atoms&&{atoms:Array.from(this.mergeItems.atoms.values())}),this.mergeItems.bonds&&{bonds:Array.from(this.mergeItems.bonds.values())}),F=pO(this.editor.struct(),U);if(F.length)this.editor.event.removeFG.dispatch({fgIds:F});else if(this.dragCtx){var Q=this.dragCtx;delete this.dragCtx,Q.action=Q.action?(0,W.fromItemsFuse)(this.restruct,Q.mergeItems).mergeWith(Q.action):(0,W.fromItemsFuse)(this.restruct,Q.mergeItems),this.editor.hover(null),this.editor.update(Q.action),this.editor.event.message.dispatch({info:!1})}else{var B=this.action;delete this.action,this.isSingleContractedGroup&&this.mergeItems||lL(this.editor,this.mergeItems,B),this.editor.tool("select")}}},{key:"cancel",value:function(){var U=this.editor.render;this.editor.hover(null),this.action&&(this.action.perform(U.ctab),delete this.action,U.update())}},{key:"mouseleave",value:function(){this.cancel()}},{key:"mouseLeaveClientArea",value:function(){this.cancel()}}]),U}();function ax(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function Tx(U){for(var F=1;F=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function Cx(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q0){var d,J=ex(V);try{for(J.s();!(d=J.n()).done;){var N=d.value,Z=W.FunctionalGroup.findFunctionalGroupByAtom(Q,N);null===Z||n.includes(Z)||n.push(Z)}}catch(E){J.e(E)}finally{J.f()}if(n.length>0)return void this.editor.event.removeFG.dispatch({fgIds:n})}if(!R)return this.editor.hover(null),ox(this.editor,null,W.CoordinateTransformation.pageToModel(U,B)),!0;if("atoms"===R.map){var S=this.editor.render.ctab.molecule.atoms.get(R.id);if(this.editor.hover(this.editor.findItem(U,["atoms"]),null,U),null!==(null===S||void 0===S?void 0:S.attachmentPoints))return;return ox(this.editor,R.id,null),!0}return!0}}]),U}();function ox(U,F,Q){var B=U.render.ctab.molecule,R=F||0===F?B.atoms.get(F):null,V=R?R.rglabel:0,n=R?R.label:"R#",l=U.event.elementEdit.dispatch({label:"R#",rglabel:V,fragId:R?R.fragment:null});Promise.resolve(l).then(function(B){B=Tx(Tx({},W.Atom.attrlist),B||{}),!F&&0!==F&&B.rglabel?U.update((0,W.fromAtomAddition)(U.render.ctab,Q,B)):V!==B.rglabel&&(B.aam=R.aam,B.attachmentPoints=R.attachmentPoints,B.rglabel||"R#"===n||(B.label=n),U.update((0,W.fromAtomsAttrs)(U.render.ctab,F,B,!1)))}).catch(function(U){W.KetcherLogger.error("rgroupatom.ts:propsDialog",U)})}function px(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function hx(U,F){var Q="undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(!Q){if(Array.isArray(U)||(Q=function(U,F){if(U){if("string"==typeof U)return cx(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?cx(U,F):void 0}}(U))||F&&U&&"number"==typeof U.length){Q&&(U=Q);var B=0,R=function(){};return{s:R,n:function(){return B>=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function cx(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q0){var E,k=hx(d);try{for(k.s();!(E=k.n()).done;){var t=E.value,a=W.FunctionalGroup.findFunctionalGroupByAtom(R,t);null===a||N.includes(a)||N.push(a)}}catch(h){k.e(h)}finally{k.f()}if(N.length>0)return void this.editor.event.removeFG.dispatch({fgIds:N})}else if(J.length>0){var T,e=hx(J);try{for(e.s();!(T=e.n()).done;){var C=T.value,D=W.FunctionalGroup.findFunctionalGroupByBond(Q,R,C);null===D||N.includes(D)||N.push(D)}}catch(h){e.e(h)}finally{e.f()}return void this.editor.event.removeFG.dispatch({fgIds:N})}if(!n)return!0;this.editor.hover(null);var o=function(U){for(var F=1;FMath.PI?F-2*Math.PI:F<=-Math.PI?F+2*Math.PI:F}function vx(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}var Gx=[Math.PI/2,-Math.PI/2,2*Math.PI/3,-2*Math.PI/3,Math.PI],sx=Math.PI/18,Xx=Math.PI/9,Yx=function(){function U(F,Q){var V=this;if((0,N.A)(this,U),(0,B.A)(this,"isNotActiveTool",!0),(0,B.A)(this,"snapInfo",null),(0,B.A)(this,"mousemove",(0,p.throttle)(function(U){if(V.dragCtx){var F=V.dragCtx,Q=W.CoordinateTransformation.pageToModel(U,V.editor.render),B=W.vectorUtils.calcAngle(F.xy0,Q)-F.angle1,n=B;if(V.reStruct.clearSnappingBonds(),V.snapInfo&&(V.snapInfo.snapAngleDrawingProps=null),!U.ctrlKey){var l=V.snap(B),d=(0,R.A)(l,2),J=d[0],N=d[1];n=J?N:W.vectorUtils.fracAngle(B,null)}var Z=W.vectorUtils.degrees(n);if(!("angle"in F)||F.angle!==Z){"action"in F&&F.action.perform(V.reStruct),F.angle=Z,F.action=(0,W.fromRotate)(V.reStruct,V.selection,F.xy0,n),V.editor.event.message.dispatch({info:Z+"\xba"});var S=V.editor.explicitSelected();F.mergeItems=(0,W.getItemsToFuse)(V.editor,S),V.editor.hover((0,W.getHoverToFuse)(F.mergeItems),null,U),V.editor.update(F.action,!0)}}else V.editor.hover(null,null,U);return!0},40)),this.editor=F,Q){var n=this.getCenter(),l=this.reStruct.getVBoxObj().centre(),d=(0,W.fromFlip)(this.reStruct,this.selection,Q,n||l);F.update(d),F.rotateController.rerender()}}return(0,Z.A)(U,[{key:"reStruct",get:function(){return this.editor.render.ctab}},{key:"struct",get:function(){return this.reStruct.molecule}},{key:"selection",get:function(){return this.editor.selection()}},{key:"snapAngleDrawingProps",get:function(){var U;return null!==(U=this.snapInfo)&&void 0!==U&&U.snapAngleDrawingProps?function(U){for(var F=1;F1){var R=[];B.forEach(function(U){R.push([U.begin,U.end])});var V,n=p.intersection.apply(void 0,R);if(1===n.length&&Q.includes(n[0]))this.centerAtomId=n[0],F=null===(V=this.struct.atoms.get(this.centerAtomId))||void 0===V?void 0:V.pp}else if(1===B.size){var l,d=B.keys().next().value,J=B.get(d);this.centerAtomId=[J.begin,J.end].find(function(F){var B;return null!==(B=U.selection)&&void 0!==B&&null!==(B=B.bonds)&&void 0!==B&&B.includes(d)?!Q.includes(F):Q.includes(F)}),F=null===(l=this.struct.atoms.get(this.centerAtomId))||void 0===l?void 0:l.pp}var N=this.selection,Z=N.texts,S=N.rxnArrows,E=N.rxnPluses;return!F&&(Q.length||null!==Z&&void 0!==Z&&Z.length||null!==S&&void 0!==S&&S.length||null!==E&&void 0!==E&&E.length)&&(F=this.reStruct.getSelectionBoxCenter({atoms:Q,texts:Z,rxnArrows:S,rxnPluses:E})),F}}},{key:"mouseup",value:function(){var U=this;if(this.dragCtx){var F,Q;this.reStruct.clearSnappingBonds(),this.editor.update(!0);var B=this.dragCtx,R=!1,V=null!==(F=B.mergeItems)&&void 0!==F?F:{},n=V.atoms,l=V.bonds;null===n||void 0===n||n.forEach(function(F,Q){(U.struct.isAtomFromMacromolecule(Q)||U.struct.isAtomFromMacromolecule(F))&&(R=!0)}),null===l||void 0===l||l.forEach(function(F,Q){(U.struct.isBondFromMacromolecule(Q)||U.struct.isBondFromMacromolecule(F))&&(R=!0)});var d=B.action;if(R||(d=d?(0,W.fromItemsFuse)(this.reStruct,B.mergeItems).mergeWith(d):(0,W.fromItemsFuse)(this.reStruct,B.mergeItems)),null!==(Q=this.selection)&&void 0!==Q&&Q.atoms){var J,N=(0,W.getRelSGroupsBySelection)(this.struct,null===(J=this.selection)||void 0===J?void 0:J.atoms),Z=new W.Action;N.forEach(function(U){if(U instanceof W.MonomerMicromolecule){var F=B.angle*Math.PI/180;Z.addOp(new W.RotateMonomerOperation({id:U.id,value:F}))}}),Z.perform(this.reStruct),d=d.mergeWith(Z)}delete this.dragCtx,this.editor.update(d),B.mergeItems&&this.editor.selection(null),this.editor.event.message.dispatch({info:!1})}return!0}},{key:"cancel",value:function(){this.mouseup()}},{key:"mouseleave",value:function(){this.mouseup()}},{key:"initSnapInfo",value:function(){if(void 0!==this.centerAtomId){var U=this.struct.atoms.get(this.centerAtomId);BX(null!=U);var F=this.partitionNeighborsBySelection(this.selection,U),Q=F.rotatableHalfBondIds,B=F.rotatableHalfBondAngles,R=F.fixedHalfBondIds,V=F.fixedHalfBondAngles;if(Q.length>1)this.snapInfo=null;else{var n=Q[0],l=B[0],d=this.calculateAbsoluteSnapAngles(R,V,n),J=d.absoluteSnapAngles,N=d.snapAngleToHalfBonds,Z=d.snapMode;this.snapInfo={snapMode:Z,rotatableHalfBondAngle:l,absoluteSnapAngles:J,snapAngleToHalfBonds:N,snapAngleDrawingProps:null}}}else this.snapInfo=null}},{key:"calculateAbsoluteSnapAngles",value:function(U,F,Q){var B="one-bond",V=[],n=new Map;if(1===U.length){var l=U[0],d=F[0],J=this.calculateAbsoluteAnglesByFixedBond(l,d,Q),N=(0,R.A)(J,2);V=N[0],n=N[1]}else if(U.length>1){B="multiple-bonds";var Z=this.calculateAbsoluteAnglesByBisector(U,F,Q),W=(0,R.A)(Z,2);V=W[0],n=W[1]}return{absoluteSnapAngles:V,snapAngleToHalfBonds:n,snapMode:B}}},{key:"calculateAbsoluteAnglesByFixedBond",value:function(U,F,Q){var B=[],R=new Map;return Gx.forEach(function(V){var n=bx(F+V);B.push(n),R.set(n,[Q,U])}),[B,R]}},{key:"calculateAbsoluteAnglesByBisector",value:function(U,F,Q){for(var B=[],R=new Map,V=U.length,n=0;nMath.PI?S:bx(S+Math.PI);B.push(E),R.set(E,[Q,l,N])}return[B,R]}},{key:"partitionNeighborsBySelection",value:function(U,F){var Q=this,B=[],R=[],V=[],n=[];return F.neighbors.forEach(function(F){var l,d=Q.struct.halfBonds.get(F);BX(null!=d);var J=d.end;null!==U&&void 0!==U&&null!==(l=U.atoms)&&void 0!==l&&l.includes(J)?W.FunctionalGroup.isHalfBondInContractedFunctionalGroup(d,Q.struct)||(B.push(F),R.push(d.ang)):(V.push(F),n.push(d.ang))}),{rotatableHalfBondIds:B,rotatableHalfBondAngles:R,fixedHalfBondIds:V,fixedHalfBondAngles:n}}},{key:"snap",value:function(U){var F=this,Q=!1,B=0;if(!this.snapInfo)return[Q,B];var R=bx(this.snapInfo.rotatableHalfBondAngle+U);return this.snapInfo.absoluteSnapAngles.some(function(U,V){return Math.abs(R-U)<=sx?(Q=!0,BX(null!=F.snapInfo),B=U-F.snapInfo.rotatableHalfBondAngle,F.saveSnappingBonds(U),F.snapInfo.snapAngleDrawingProps={isSnapping:Q,absoluteAngle:U,relativeAngle:Gx[V]},!0):Math.abs(R-U)=16&&V.height>=16,R=0===V.width&&0===V.height&&V.src.length>=320;if(!F&&!R){var n="Image should be at least 16x16 pixels";return W.KetcherLogger.error("".concat(Lx,":onLoad"),n),void(B&&B(n))}var l=R?new W.Vec2(16,16):new W.Vec2(V.width/2,V.height/2),d=W.Scale.canvasToModel(l,Q.editor.render.options);Q.editor.update((0,W.fromImageCreation)(Q.editor.render.ctab,V.src,U,d))},V.onerror=function(U){Q.resetElementValue();var F="Cannot load image";W.KetcherLogger.error("".concat(Lx,":onerror"),F,U),B&&B(F)},n.readAsDataURL(R)}}},{key:"createElement",value:function(){var F=document.createElement("input");return F.style.display="none",F.id=U.INPUT_ID,F.type="file",F.accept=Hx.map(function(U){return"image/".concat(U)}).join(","),document.body.appendChild(F),F}},{key:"getElement",value:function(){var F=document.getElementById(U.INPUT_ID);return F instanceof HTMLInputElement?F:(null===F||void 0===F||F.remove(),this.createElement())}},{key:"resetElementValue",value:function(){this.getElement().value=""}}]),U}();(0,B.A)(wx,"INPUT_ID","image-upload");var jx=function(){function U(F){var Q=this;(0,N.A)(this,U),this.editor=F,this.editor.openMonomerCreationWizard(),setTimeout(function(){Q.editor.tool("select")},0)}return(0,Z.A)(U,[{key:"mousemove",value:function(){}}]),U}();function Ix(U,F){var Q="undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(!Q){if(Array.isArray(U)||(Q=function(U,F){if(U){if("string"==typeof U)return Kx(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?Kx(U,F):void 0}}(U))||F&&U&&"number"==typeof U.length){Q&&(U=Q);var B=0,R=function(){};return{s:R,n:function(){return B>=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function Kx(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q0&&(F=F.filter(function(U){return R.has(U)}));Q.length>0&&(Q=Q.filter(function(U){return V.has(U)}));B.length>0&&(B=B.filter(function(U){return n.has(U)}));return{validAtoms:F,validBonds:Q,validRgroupAttachmentPoints:B}}(U.editor.render.ctab.molecule,B,R,V),d=l.validAtoms,J=l.validBonds,N=l.validRgroupAttachmentPoints;0===d.length&&0===J.length&&0===N.length||F.push({atoms:d,bonds:J,rgroupAttachmentPoints:N,color:n})}});var V=(0,W.fromHighlightCreate)(this.editor.render.ctab,F);this.editor.update(V,!0)}},{key:"clear",value:function(){var U=(0,W.fromHighlightClear)(this.editor.render.ctab);this.editor.update(U,!0)}}]),U}();var qx=function(){function U(F){(0,N.A)(this,U),this.editor=F;var Q=this.initialize();this.element=Q.element,this._fill=Q.fill,this._label=Q.label,this.isShown=!0,this.shouldBeShownWhenMouseBack=!1,this.updatePosition();var B=this.editor.render.clientArea;this.onMouseMove=this.onMouseMove.bind(this),this.onMouseLeave=this.onMouseLeave.bind(this),document.addEventListener("mousemove",this.onMouseMove),B.addEventListener("mouseover",this.onMouseMove),B.addEventListener("mouseleave",this.onMouseLeave)}return(0,Z.A)(U,[{key:"fill",get:function(){return this._fill},set:function(U){this._fill=U,this.element.attr("fill",U)}},{key:"label",get:function(){return this._label},set:function(U){this._label=U,this.element.attr("text",U)}},{key:"isOverLoader",value:function(U){var F,Q,B=null!==(F=null===U||void 0===U?void 0:U.relatedTarget)&&void 0!==F?F:U.target;return null===B||void 0===B||null===(Q=B.classList)||void 0===Q?void 0:Q.contains("loading-spinner")}},{key:"onMouseMove",value:function(U){(this.isShown||this.isOverLoader(U)&&this.shouldBeShownWhenMouseBack)&&(this.show(),this.updatePosition())}},{key:"onMouseLeave",value:function(U){!this.isOverLoader(U)&&this.isShown&&(this.shouldBeShownWhenMouseBack=!0,this.hide())}},{key:"updatePosition",value:function(){var U=this.editor.lastCursorPosition,F=U.x,Q=U.y,B=new W.Vec2(F,Q),R=null===W.CoordinateTransformation||void 0===W.CoordinateTransformation?void 0:W.CoordinateTransformation.viewToCanvas(B,this.editor.render);this.element.attr({x:null===R||void 0===R?void 0:R.x,y:null===R||void 0===R?void 0:R.y})}},{key:"show",value:function(){this.element.show(),this.isShown=!0,this.shouldBeShownWhenMouseBack=!1}},{key:"hide",value:function(U){this.element.hide(),this.isShown=!1,U&&(this.shouldBeShownWhenMouseBack=!1)}},{key:"initialize",value:function(){var U,F,Q,B=this.editor.render,R=null!==(U=this.fill)&&void 0!==U?U:"#000000",V=B.paper.text(0,0,null!==(F=this.label)&&void 0!==F?F:""),n=(0,W.getOptionsWithConvertedUnits)(this.editor.options());return V.attr("fill",R),V.attr("font-size",n.fontszInPx),V.attr("opacity",.7),{element:V,fill:R,label:null!==(Q=null===this||void 0===this?void 0:this.label)&&void 0!==Q?Q:""}}},{key:"create",value:function(){var U=this.initialize();this.element=U.element,this._fill=U.fill,this._label=U.label,this.shouldBeShownWhenMouseBack=!1,this.hide()}},{key:"destroy",value:function(){var U=this.editor.render.clientArea;document.removeEventListener("mousemove",this.onMouseMove),U.removeEventListener("mouseover",this.onMouseMove),U.removeEventListener("mouseleave",this.onMouseLeave)}}]),U}(),_x=function(U,F,Q){var B=U,R=F.sub(B).rotate(Q);return B.add(R)},$x=15,Uu=10,Fu="#B4B9D6",Qu="#365CFF",Bu=function(){function U(F){var Q=this;(0,N.A)(this,U),(0,B.A)(this,"hoverIn",function(U){0!==U.buttons||Q.drawHandle("hoverIn")}),(0,B.A)(this,"hoverOut",function(U){0!==U.buttons||Q.drawHandle("hoverOut")}),(0,B.A)(this,"dragStart",function(U){var F;if(U.stopPropagation(),1===U.buttons)if(Q.isRotating)Q.clean();else{Q.isRotating=!0,Q.editor.event.updateFloatingTools.dispatch({visible:!1,rotateHandlePosition:new W.Vec2}),null===(F=Q.boundingRect)||void 0===F||F.remove(),delete Q.boundingRect;var B=Q.handleCenter.sub(Q.center);Q.normalizedCenterInitialHandleVec=B.normalized();var V=W.Vec2.dist(Q.handleCenter,Q.center)-$x-Uu;Q.initialRadius=V>=0?V:0;var n=Q.getProtractorBaseInfo(Q.initialRadius),l=(0,R.A)(n,2),d=l[0],J=l[1];Q.drawProtractor(0,Q.initialRadius,d,J),Q.drawCross("active"),Q.drawLink("long"),Q.drawHandle("active");var N=Q.handleCenter.sub(Q.render.options.offset).scaled(1/Q.render.options.microModeScale);Q.rotateTool.mousedownHandle(N,Q.originalCenter)}}),(0,B.A)(this,"dragMove",function(){var U;return(0,p.throttle)(function(F,B,V,n,l){var d,J,N,Z,S;if(Q.isRotating){Q.handleCenter=W.CoordinateTransformation.pageToModel(l,Q.render).scaled(Q.render.options.microModeScale).add(Q.render.options.offset),Q.drawLink("moveHandle"),Q.drawHandle("move"),Q.drawCross("move"),Q.rotateTool.mousemove(l);var E=W.Vec2.dist(Q.handleCenter,Q.center)-$x-Uu,k=E>=0?E:0;k>=1.4*(U=null!==(d=U)&&void 0!==d?d:Q.initialRadius)||k<=U/1.4?U=k:k=U;var t=Q.getProtractorBaseInfo(k),a=(0,R.A)(t,4),T=a[0],e=a[1],C=a[2],D=a[3];Q.drawRotateArc(null!==(J=null===(N=Q.rotateTool.dragCtx)||void 0===N?void 0:N.angle)&&void 0!==J?J:0,k,C,D),Q.drawProtractor(null!==(Z=null===(S=Q.rotateTool.dragCtx)||void 0===S?void 0:S.angle)&&void 0!==Z?Z:0,k,T,e),Q.updateSnapAngleIndicator()}},40)}),(0,B.A)(this,"dragEnd",function(U){U.stopPropagation(),Q.rotateTool.mouseup(),Q.rerender()}),(0,B.A)(this,"hoverCrossIn",function(U){0!==U.buttons||(Q.drawCross("active"),Q.drawLink("long"))}),(0,B.A)(this,"hoverCrossOut",function(U){0!==U.buttons||(Q.drawCross("inactive"),Q.drawLink("short"))}),(0,B.A)(this,"dragCrossStart",function(U){U.stopPropagation(),Q.isMovingCenter=!0}),(0,B.A)(this,"dragCrossMove",(0,p.throttle)(function(U,F,B,R,V){Q.isMovingCenter&&(Q.originalCenter=W.CoordinateTransformation.pageToModel(V,Q.render),Q.drawCross("move"),Q.drawLink("moveCenter"))},40)),(0,B.A)(this,"dragCrossEnd",function(U){U.stopPropagation(),Q.isMovingCenter=!1,Q.originalCenter=W.CoordinateTransformation.pageToModel(U,Q.render)}),(0,B.A)(this,"dragCrossEndOUtOfBounding",function(U){Q.isMovingCenter=!1,Q.rerender()}),(0,B.A)(this,"updateFloatingToolsPosition",(0,p.throttle)(function(){if(Q.handle){var U=W.CoordinateTransformation.canvasToView(Q.handleCenter,Q.render);Q.editor.event.updateFloatingTools.dispatch({rotateHandlePosition:U})}},40)),this.editor=F,this.init(),this.rotateTool=new Yx(this.editor,void 0)}return(0,Z.A)(U,[{key:"init",value:function(){this.originalCenter=new W.Vec2,this.normalizedCenterInitialHandleVec=new W.Vec2,this.handleCenter=new W.Vec2,this.initialRadius=0,this.isRotating=!1,this.isMovingCenter=!1}},{key:"render",get:function(){return this.editor.render}},{key:"paper",get:function(){return this.render.paper}},{key:"center",get:function(){return this.originalCenter.scaled(this.render.options.microModeScale).add(this.render.options.offset)}},{key:"rerender",value:function(){this.clean(),this.init(),this.show()}},{key:"clean",value:function(){var U,F,Q,B,R,V,n,l,d,J,N,Z;this.editor.event.updateFloatingTools.dispatch({visible:!1,rotateHandlePosition:new W.Vec2}),null===(U=this.handle)||void 0===U||U.unhover(this.hoverIn,this.hoverOut),null===(F=this.handle)||void 0===F||F.unmousedown(this.dragStart),null===(Q=this.handle)||void 0===Q||Q.unmouseup(this.dragEnd),null===(B=this.handle)||void 0===B||B.undrag();var S=null===(R=this.cross)||void 0===R?void 0:R[1];null===S||void 0===S||S.unhover(this.hoverCrossIn,this.hoverCrossOut),null===S||void 0===S||S.unmousedown(this.dragCrossStart),null===S||void 0===S||S.unmouseup(this.dragCrossEnd),null===S||void 0===S||S.undrag(),null===(V=this.cross)||void 0===V||V.remove(),delete this.cross,null===(n=this.boundingRect)||void 0===n||n.remove(),delete this.boundingRect,null===(l=this.link)||void 0===l||l.remove(),delete this.link,null===(d=this.handle)||void 0===d||d.remove(),delete this.handle,null===(J=this.protractor)||void 0===J||J.remove(),delete this.protractor,null===(N=this.rotateArc)||void 0===N||N.remove(),delete this.rotateArc,null===(Z=this.snapAngleIndicator)||void 0===Z||Z.remove(),delete this.snapAngleIndicator}},{key:"revert",value:function(){var U;null!==(U=this.rotateTool.dragCtx)&&void 0!==U&&U.action&&this.isRotating&&(this.rotateTool.dragCtx.action.perform(this.render.ctab),this.render.update(),this.rerender())}},{key:"isPartOfFragmentSelected",value:function(){var U,F,Q=this.render.ctab.molecule.atoms,B=null!==(U=null===(F=this.editor.selection())||void 0===F?void 0:F.atoms)&&void 0!==U?U:[],R=new Set;return B.forEach(function(U){var F,B=null===(F=Q.get(U))||void 0===F?void 0:F.fragment;R.add(B)}),Q.filter(function(U){return!B.includes(U)}).some(function(U){return R.has(U.fragment)})}},{key:"show",value:function(){var U,F,Q,B,R,V=this.rotateTool.getCenter(),n=this.editor.selection(),l=this.render.ctab.molecule.getSelectedVisibleAtoms(n),d=n||{},J=d.texts,N=d.rxnArrows,Z=d.rxnPluses,S=l.concat(J||[],N||[],Z||[]).length>1,E=this.editor.tool();if(S&&(E instanceof YL||E instanceof gx)&&V){this.originalCenter=V;var k=this.drawBoundingRect(l,J,N,Z,null===n||void 0===n?void 0:n.bonds,null===n||void 0===n?void 0:n.rgroupAttachmentPoints);this.handleCenter=new W.Vec2(this.center.x,k-$x-Uu);var t=W.CoordinateTransformation.canvasToView(this.handleCenter,this.render);if(this.editor.event.updateFloatingTools.dispatch({visible:!0,rotateHandlePosition:t}),this.drawLink(),this.drawCross(),this.drawHandle(),null===(U=this.handle)||void 0===U||U.hover(this.hoverIn,this.hoverOut),null===(F=this.handle)||void 0===F||F.mousedown(this.dragStart),null===(Q=this.handle)||void 0===Q||Q.mouseup(this.dragEnd),null===(B=this.handle)||void 0===B||B.drag(this.dragMove(),void 0,this.dragEnd),!this.isPartOfFragmentSelected()){var a=null===(R=this.cross)||void 0===R?void 0:R[1];null===a||void 0===a||a.hover(this.hoverCrossIn,this.hoverCrossOut),null===a||void 0===a||a.mousedown(this.dragCrossStart),null===a||void 0===a||a.mouseup(this.dragCrossEnd),null===a||void 0===a||a.drag(this.dragCrossMove,void 0,this.dragCrossEndOUtOfBounding)}}}},{key:"drawCross",value:function(U){switch(U){case"active":var F;null===(F=this.cross)||void 0===F||F.attr({stroke:Qu});break;case"inactive":var Q;null===(Q=this.cross)||void 0===Q||Q.attr({stroke:Fu});break;case"move":var B,R;null===(B=this.cross)||void 0===B||B.transform(""),null===(R=this.cross)||void 0===R||R.translate(this.center.x,this.center.y);break;default:var V,n,l=this.paper.path("M0,0h8M0,0h-8M0,0v8M0,0v-8").attr({stroke:Fu,"stroke-width":2,"stroke-linecap":"round"}),d=this.paper.circle(0,0,10).attr({fill:"red",opacity:0});d.node.setAttribute("data-testid","rotation-center-handle"),this.cross=this.paper.set(),null===(V=this.cross)||void 0===V||V.push(l,d),null===(n=this.cross)||void 0===n||n.translate(this.center.x,this.center.y)}}},{key:"drawBoundingRect",value:function(U,F,Q,B,R,V){var n=this.render.ctab.getVBoxObj({atoms:U,texts:F,rxnArrows:Q,rxnPluses:B,sgroups:pO(this.render.ctab.molecule,{atoms:U}),bonds:R,rgroupAttachmentPoints:V}).transform(W.Scale.modelToCanvas,this.render.options).translate(this.render.options.offset||new W.Vec2),l=n.p0.x-10-this.render.options.atomSelectionPlateRadius,d=n.p0.y-10-this.render.options.atomSelectionPlateRadius,J=n.p1.x+10+this.render.options.atomSelectionPlateRadius,N=n.p1.y+10+this.render.options.atomSelectionPlateRadius;return this.boundingRect=this.paper.rect(l,d,J-l,N-d,20).attr({"stroke-dasharray":"-",stroke:Fu}),d}},{key:"drawHandle",value:function(U){switch(U){case"hoverIn":var F,Q;null===(F=this.handle)||void 0===F||F.attr({cursor:"grab"}),(null===(Q=this.handle)||void 0===Q?void 0:Q[0]).attr({fill:Qu});break;case"hoverOut":var B;(null===(B=this.handle)||void 0===B?void 0:B[0]).attr({fill:Fu});break;case"active":var R,V;null===(R=this.handle)||void 0===R||R.attr({cursor:"grabbing"});var n=null===(V=this.handle)||void 0===V?void 0:V[1];null===n||void 0===n||n.attr({fill:"none"});break;case"move":var l;null===(l=this.handle)||void 0===l||l.transform("").translate(this.handleCenter.x,this.handleCenter.y);break;default:var d=this.paper.circle(0,0,Uu).attr({fill:Fu,stroke:"none"});d.node.setAttribute("data-testid","rotation-handle");var J=this.paper.path("M12.7034 14.8189L9.39616 17.6218L9.13674 16.1892C8.12927 16.0487 7.17132 15.6644 6.34605 15.0697C5.52078 14.475 4.85314 13.6878 4.40108 12.7766C3.94903 11.8653 3.72622 10.8575 3.75201 9.84062C3.7778 8.82373 4.0514 7.8285 4.54906 6.94133L5.8121 7.65148C5.45018 8.29719 5.24246 9.01784 5.20516 9.75712C5.16786 10.4964 5.302 11.2343 5.59709 11.9132C5.89218 12.592 6.34023 13.1935 6.90624 13.6705C7.47225 14.1475 8.1409 14.4872 8.85993 14.6631L8.62297 13.3587L12.7034 14.8189Z").attr({fill:"white",stroke:"none"}),N=this.paper.path("M15.4493 13.0588L14.1862 12.3486C14.5482 11.7029 14.7559 10.9823 14.7932 10.243C14.8305 9.50371 14.6963 8.76582 14.4012 8.08695C14.1062 7.40809 13.6581 6.80665 13.0921 6.32962C12.5261 5.85259 11.8574 5.51288 11.1384 5.33704L11.3754 6.64501L7.29492 5.18124L10.6022 2.37834L10.8616 3.81095C11.8691 3.95145 12.827 4.33573 13.6523 4.93043C14.4776 5.52513 15.1452 6.31227 15.5973 7.22353C16.0493 8.13478 16.2721 9.1426 16.2463 10.1595C16.2205 11.1764 15.9469 12.1716 15.4493 13.0588Z").attr({fill:"white",stroke:"none"}),Z=this.paper.set();Z.push(J,N);var W=Z.getBBox(),S=W.x,E=W.y,k=W.width,t=W.height;Z.translate(-(S+k/2),-(E+t/2)),this.handle=this.paper.set(),this.handle.push(d,Z),this.handle.translate(this.handleCenter.x,this.handleCenter.y)}}},{key:"drawLink",value:function(U){switch(U){case"long":var F;null===(F=this.link)||void 0===F||F.attr({path:"M".concat(this.center.x,",").concat(this.center.y)+"L".concat(this.handleCenter.x,",").concat(this.handleCenter.y),stroke:Qu});break;case"short":var Q;null===(Q=this.link)||void 0===Q||Q.attr({path:"M".concat(this.handleCenter.x,",").concat(this.handleCenter.y)+"l0,".concat(Uu+$x),stroke:Fu});break;case"moveCenter":case"moveHandle":var B;null===(B=this.link)||void 0===B||B.attr({path:"M".concat(this.center.x,",").concat(this.center.y)+"L".concat(this.handleCenter.x,",").concat(this.handleCenter.y)});break;default:this.link=this.paper.path("M".concat(this.handleCenter.x,",").concat(this.handleCenter.y)+"l0,".concat(Uu+$x)).attr({"stroke-dasharray":"-",stroke:Fu})}}},{key:"drawProtractor",value:function(U,F,Q,B){var R,V=this;null===(R=this.protractor)||void 0===R||R.remove();var n="#E1E5EA",l=this.paper.circle(this.center.x,this.center.y,F).attr({"stroke-dasharray":"-",stroke:n});this.protractor=this.paper.set(),this.protractor.push(l);var d=0;[0,30,45,60,90,120,135,150,180,-150,-135,-120,-90,-60,-45,-30].forEach(function(R,l){var J,N,Z=0===l,W=R-d,S=function(U,F){var Q=0;if(F>90){var B=U<0?U+360:U;Q=Math.abs(B-F)}else if(F<-90){var R=U>0?U-360:U;Q=Math.abs(R-F)}else Q=Math.abs(U-F);return Q}(R,U);if(Z||(Q=Q.clone().rotate(W,V.center.x,V.center.y)),Q.attr({stroke:S>90?"none":n}),null===(J=V.protractor)||void 0===J||J.push(Q),F<65)d=R;else{B=_x(V.center,B,W/180*Math.PI);var E=Fu;S>90?E="none":0!==R&&R===U&&(E=Qu);var k=V.paper.text(B.x,B.y,"".concat(R,"\xb0")).attr({fill:E,"font-size":12});null===(N=V.protractor)||void 0===N||N.push(k),d=R}}),this.protractor.toBack()}},{key:"drawRotateArc",value:function(U,F,Q,B){if(!this.rotateArc){var R=this.paper.path(),V=this.paper.text(0,0,"");this.rotateArc=this.paper.set().push(R,V)}var n=_x(this.center,Q,U/180*Math.PI),l=this.rotateArc[0],d=this.rotateArc[1];l.attr({path:"M".concat(Q.x,",").concat(Q.y)+"A".concat(F,",").concat(F," ")+"0 0,".concat(U<0?"0":"1"," ")+"".concat(n.x,",").concat(n.y),stroke:Qu}).toBack(),d.attr({text:"".concat(U,"\xb0"),x:B.x,y:B.y,"font-size":16,fill:"#333333"})}},{key:"getProtractorBaseInfo",value:function(U){var F=U+$x+2*Uu+10,Q=this.normalizedCenterInitialHandleVec.scaled(F),B=this.center.add(Q),R=U>=65?$x:$x/2,V=this.normalizedCenterInitialHandleVec.scaled(U),n=this.normalizedCenterInitialHandleVec.scaled(R),l=this.center.add(V),d=l.add(n),J=l.addScaled(n,.5),N=this.paper.path("M".concat(l.x,",").concat(l.y)+(U>=65?"L".concat(d.x,", ").concat(d.y):"L".concat(J.x,", ").concat(J.y))).attr({"stroke-dasharray":"-"}),Z=this.center.add(this.normalizedCenterInitialHandleVec.scaled(U)),W=V.add(n),S=W.rotate(Math.PI/2).normalized().scaled(20);return[N,B,Z,this.center.add(W).add(S)]}},{key:"updateSnapAngleIndicator",value:function(){var U=this.rotateTool.snapAngleDrawingProps;if(null===U||"multiple-bonds"===U.snapMode&&U.isSnapping){var F;null===(F=this.snapAngleIndicator)||void 0===F||F.remove()}else{var Q=U.isSnapping,B=U.absoluteAngle,R=U.relativeAngle,V=U.snapMode,n="default";Q?n="noLine":"multiple-bonds"===V&&(n="noText"),this.drawSnapAngleIndicator(n,B,R)}}},{key:"drawSnapAngleIndicator",value:function(U,F,Q){var B,R=this;null===(B=this.snapAngleIndicator)||void 0===B||B.remove(),this.snapAngleIndicator=this.paper.set();var V=W.vectorUtils.degrees(Q),n=function(U){return R.paper.text(U.x,U.y,"".concat(Math.abs(V),"\xb0")).attr({"font-size":12})},l=function(){var U=new W.Vec2(30,0).rotate(F);return R.paper.path("M0,0"+"l".concat(U.x,",").concat(U.y)).attr({"stroke-dasharray":"-",stroke:Fu})};switch(U){case"noLine":var d=bx(F-Q/2),J=n(new W.Vec2(20,0).rotate(d)).attr({fill:Qu});this.snapAngleIndicator.push(J);break;case"noText":var N=l();this.snapAngleIndicator.push(N);break;default:var Z=l(),S=n(new W.Vec2(45,0).rotate(F)).attr({fill:Fu});this.snapAngleIndicator.push(Z),this.snapAngleIndicator.push(S)}this.snapAngleIndicator.translate(this.center.x,this.center.y)}}]),U}(),Ru=["root"];function Vu(U,F){var Q="undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(!Q){if(Array.isArray(U)||(Q=function(U,F){if(U){if("string"==typeof U)return nu(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?nu(U,F):void 0}}(U))||F&&U&&"number"==typeof U.length){Q&&(U=Q);var B=0,R=function(){};return{s:R,n:function(){return B>=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function nu(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q1&&void 0!==arguments[1])||arguments[1],Q=arguments.length>2?arguments[2]:void 0,B=arguments.length>3?arguments[3]:void 0,R=(0,W.fromNewCanvas)(this.render.ctab,U);return this.update(R,this.isMonomerCreationWizardActive),F?this.centerStruct():null!=Q&&null!=B&&this.positionStruct(Q,B),this.render.ctab.molecule}},{key:"struct",value:function(U){var F=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Q=arguments.length>2?arguments[2]:void 0,B=arguments.length>3?arguments[3]:void 0;if(0===arguments.length)return this.render.ctab.molecule;W.KetcherLogger.log("Editor.struct(), start",U,F),this.selection(null);var R=null!==U&&void 0!==U?U:new W.Struct,V=this.renderAndRecoordinateStruct(R,F,Q,B);return this.hoverIcon.create(),W.KetcherLogger.log("Editor.struct(), end"),V}},{key:"structToAddFragment",value:function(U,F,Q){if(null!=F&&null!=Q){var B=new W.Vec2(F,Q),V=(0,W.fromPaste)(this.render.ctab,U,B,0,!1,!0),n=(0,R.A)(V,1)[0];this.update(n,!0)}else{var l=U.mergeInto(this.render.ctab.molecule.clone());this.renderAndRecoordinateStruct(l)}return this.centerViewportAccordingToStruct(),this.render.ctab.molecule}},{key:"setOptions",value:function(U){var F=JSON.parse(U);this.event.apiSettings.dispatch(du({},F));var Q=!!this.render.options.viewOnlyMode,B=this.render.updateOptions(U);return this.updateToolAfterOptionsChange(Q),B}},{key:"options",value:function(U){if(0===arguments.length)return this.render.options;var F=this.render.ctab.molecule,Q=this.render.options.zoom;this.render.clientArea.innerHTML="";var B=!!this.render.options.viewOnlyMode;return this.render=new W.Render(this.render.clientArea,du({microModeScale:Nu},null!==U&&void 0!==U?U:{})),this.updateToolAfterOptionsChange(B),this.render.setMolecule(F),this.struct(F.clone()),this.render.setZoom(Q),this.render.update(),this.render.options}},{key:"setServerSettings",value:function(U){this.serverSettings=U}},{key:"updateToolAfterOptionsChange",value:function(U){var F=this.render.options.viewOnlyMode;(!U&&!0===F||U&&!1===F)&&(this.tool("select"),this.event.change.dispatch("force"),W.ketcherProvider.getKetcher(this.ketcherId).changeEvent.dispatch("force"))}},{key:"zoom",value:function(U,F){return 0===arguments.length||this.render.options.zoom===U||(this.render.setZoom(U,F),this.render.update(),this.rotateController.rerender()),this.render.options.zoom}},{key:"centerStruct",value:function(){var U=this.render.ctab,F=function(U,F){var Q=U.getVBoxObj(null!==F&&void 0!==F?F:{});return W.Vec2.lc2(Q.p0,.5,Q.p1,.5)}(U),Q=new W.Vec2(this.render.viewBox.minX+this.render.viewBox.width/2,this.render.viewBox.minY+this.render.viewBox.height/2),B=W.Scale.canvasToModel(Q,this.render.options).sub(F),R=ZL(U),V=(0,W.fromMultipleMove)(U,R,B);this.update(V,!0)}},{key:"centerViewportAccordingToStruct",value:function(){var U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.struct(),F=this.zoomAccordingContent(U),Q=U.getCoordBoundingBox(),B=W.Coordinates.modelToCanvas(F?new W.Vec2(Q.min.x+(Q.max.x-Q.min.x)/2,Q.min.y+(Q.max.y-Q.min.y)/2):new W.Vec2(Q.min.x,Q.min.y)).sub(new W.Vec2(this.render.viewBox.width/2,this.render.viewBox.height/2));this.render.setViewBox(function(U){return du(du({},U),{},{minX:B.x,minY:B.y})})}},{key:"positionStruct",value:function(U,F){var Q=this.struct(),B=this.render.ctab,R=Q.getCoordBoundingBox(),V=new W.Vec2(U,F).sub(R.min),n=ZL(B),l=(0,W.fromMultipleMove)(B,n,V);this.update(l,!0),this.centerViewportAccordingToStruct()}},{key:"zoomAccordingContent",value:function(U){var F=U.getCoordBoundingBox(),Q=new W.Vec2(F.max.x-F.min.x,F.max.y-F.min.y),B=Q.x*this.render.options.microModeScale*this.render.options.zoom,R=Q.y*this.render.options.microModeScale*this.render.options.zoom,V=this.render.clientArea.getBoundingClientRect();if(B+60B-V.width?R/V.height:B/V.width);return n>=1?(this.zoom(1),!0):(n-=60/V.width,this.zoom(n<.1?.1:Number(n.toFixed(2))),this.event.zoomChanged.dispatch(),n>.1)}},{key:"monomerCreationState",get:function(){return this.render.monomerCreationState},set:function(U){this.render.monomerCreationState=U}},{key:"setMonomerCreationSelectedType",value:function(U){var F=this.render.monomerCreationState;F&&(this.render.monomerCreationState=du(du({},F),{},{selectedMonomerClass:U}),this.render.update(!0))}},{key:"markAsRnaComponent",value:function(U,F,Q){var B,R,V=this.monomerCreationState;if(V){V.rnaComponentAtoms||(V.rnaComponentAtoms=new Map);var n=V.rnaComponentAtoms.get(U),l=null!==(B=null===n||void 0===n?void 0:n.atoms)&&void 0!==B?B:[],d=null!==(R=null===n||void 0===n?void 0:n.bonds)&&void 0!==R?R:[],J=new W.Action([new W.MarkAsRnaComponentOperation(V,U,F,Q,l,d)]).perform(this.render.ctab);this.update(J)}}},{key:"setConnectionAttachmentPoints",value:function(U){var F=this.render.monomerCreationState;F&&(this.render.monomerCreationState=du(du({},F),{},{connectionAttachmentPoints:U}),this.render.update(!0))}},{key:"setVisibleAssignedAttachmentPoints",value:function(U){var F=this.render.monomerCreationState;F&&(this.render.monomerCreationState=du(du({},F),{},{visibleAssignedAttachmentPoints:U}),this.render.update(!0))}},{key:"highlightConnectionAttachmentPoint",value:function(U){if(U){var F=this.render.monomerCreationState;if(null!==F&&void 0!==F&&F.connectionAttachmentPoints){var Q=F.connectionAttachmentPoints.get(U);Q&&this.render.ctab.setSelection({atoms:[Q[0]]})}}else this.render.ctab.setSelection(null)}},{key:"highlightAtomById",value:function(U){null!==U?this.render.ctab.setSelection({atoms:[U]}):this.render.ctab.setSelection(null)}},{key:"isMonomerCreationWizardActive",get:function(){return Boolean(this.monomerCreationState)}},{key:"isMonomerCreationWizardEnabled",get:function(){if(this.terminalRGroupAtoms=[],this.potentialLeavingAtomsForAutoAssignment=[],this.potentialLeavingAtomsForManualAssignment=[],this.isMonomerCreationWizardActive)return!1;var F=this.struct(),Q=this.selection(),B=null!==Q?Q.atoms:Array.from(F.atoms.keys());if(!B||0===B.length)return!1;var R=B.some(function(U){var Q=F.atoms.get(U);if(!Q)return!0;var B=Q.sgs,R=Q.attachmentPoints,V=Q.rglabel,n=Q.neighbors,l=Q.label,d=B.size>0,J=null!==R,N=null!==V&&n.length>1,Z=null!==V&&!(0,W.isSingleRGroupAttachmentPoint)(Number(V)),S=F.rgroups.some(function(U){return U.frags.has(Q.fragment)}),E=W.genericsList.includes(l);return d||J||N||Z||S||E});if(R)return!1;var V=B.filter(function(U){var Q=F.atoms.get(U);return!!Q&&(null!==Q.rglabel&&1===Q.neighbors.length)}),n=new Set(B),l=F.bonds.filter(function(U,F){return n.has(F.begin)&&!n.has(F.end)||n.has(F.end)&&!n.has(F.begin)}),d=l.some(function(F){return!U.isBondSuitableForAttachmentPoint(F)});if(d)return!1;var J=[];l.forEach(function(U){J.push(n.has(U.begin)?U.end:U.begin)});var N=[];return n.forEach(function(Q){var B=F.atoms.get(Q);if(BX(B),!(B.neighbors.length>1||(0,p.isNumber)(B.rglabel))){var R=F.bonds.find(function(U,F){return F.hb1===B.neighbors[0]||F.hb2===B.neighbors[0]});if(null!==R){var V=F.bonds.get(R);BX(V),U.isBondSuitableForAttachmentPoint(V)&&N.push(Q)}}}),!(V.length+J.length>8)&&(this.terminalRGroupAtoms=V.map(function(U){var Q=F.atoms.get(U);return BX(Q),BX(Q.rglabel),[U,(0,W.getAttachmentPointLabelWithBinaryShift)(Number(Q.rglabel))]}),this.potentialLeavingAtomsForAutoAssignment=J,this.potentialLeavingAtomsForManualAssignment=N,window.dispatchEvent(new CustomEvent("monomerCreationEnabled")),!0)}},{key:"openMonomerCreationWizard",value:function(U,F,Q){var B,V,n=this,l=this.render.ctab.molecule,d=du({rxnArrows:[],rxnPluses:[],texts:[],rgroupAttachmentPoints:[]},null!==(B=null!==U&&void 0!==U?U:this.selection())&&void 0!==B?B:{atoms:Array.from(this.struct().atoms.keys()),bonds:Array.from(this.struct().bonds.keys())});this.originalSelection=d;var J=this.structSelected(d);F&&(J.functionalGroups.clear(),Array.from(J.sgroups.keys()).forEach(function(U){J.sGroupDelete(U)}),this.terminalRGroupAtoms=[],this.potentialLeavingAtomsForAutoAssignment=[],this.potentialLeavingAtomsForManualAssignment=[]);var N=new Map;(0,o.A)(null!==(V=d.atoms)&&void 0!==V?V:[]).sort(function(U,F){return U-F}).forEach(function(U,F){N.set(U,F),n.selectedToOriginalAtomsIdMap.set(F,U)});var Z=new Map;null===Q||void 0===Q||Q.forEach(function(U){if(U.attachmentPointNumber){var F=N.get(U.atomId),Q=N.get(U.leaveAtomId);(0,p.isNumber)(F)&&(0,p.isNumber)(Q)&&Z.set((0,W.getAttachmentPointLabel)(U.attachmentPointNumber),[F,Q])}});for(var S=this.terminalRGroupAtoms.filter(function(U){var F=(0,R.A)(U,2)[1];return F!==W.AttachmentPointName.R1&&F!==W.AttachmentPointName.R2}),E=[],k=0;k8)break;E=E.concat((0,W.getAttachmentPointLabel)(t))}(0,o.A)(this.terminalRGroupAtoms).sort(function(U,F){var Q=(0,R.A)(U,2)[1],B=(0,R.A)(F,2)[1];return(0,W.getAttachmentPointNumberFromLabel)(Q)-(0,W.getAttachmentPointNumberFromLabel)(B)}).forEach(function(U){var F,Q=(0,R.A)(U,2),B=Q[0],V=Q[1],n=N.get(B);BX(void 0!==n);var l,d=J.atoms.get(n);BX(d),BX(d.rglabel);var S=V===W.AttachmentPointName.R1||V===W.AttachmentPointName.R2,k=Z.has(V);if(S&&!k||!S&&E.includes(V))l=V;else{var t=Array.from(Z.keys()),a=S||t.length0||this.potentialLeavingAtomsForAutoAssignment.length>0;this.monomerCreationState=du({assignedAttachmentPoints:Z,potentialAttachmentPoints:a,problematicAttachmentPoints:new Set,hasDefaultAttachmentPoints:T},F?{editInstanceInitialValues:F}:{}),this.originalHistoryStack=this.historyStack,this.originalHistoryPointer=this.historyPtr,this.originalStruct=l,this.historyStack=[],this.historyPtr=0,this.struct(J),this.subscribeToChangeEventInMonomerCreationWizard()}},{key:"assignLeavingGroupAtom",value:function(U){var F=new W.Action([new W.AssignLeavingGroupAtomOperation(this.monomerCreationState,U)]).perform(this.render.ctab);this.update(F)}},{key:"assignConnectionPointAtom",value:function(U,F,Q,B){var V=this,n=arguments.length>4&&void 0!==arguments[4]&&arguments[4],l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:W.AtomLabel.H,d=arguments.length>6?arguments[6]:void 0;BX(this.monomerCreationState);var J,N=this.monomerCreationState.potentialAttachmentPoints.get(U),Z=null;if(!n&&N){var S=Array.from(N).sort(function(U,F){return U-F}).reduce(function(U,F){var Q,B=V.struct().atoms.get(F);BX(B);var R=null===(Q=W.Elements.get(B.label))||void 0===Q?void 0:Q.number;if(void 0!==R&&R0&&void 0!==arguments[0]&&arguments[0];this.isMonomerCreationWizardActive&&(this.unsubscribeFromChangeEventInMonomerCreationWizard(),this.historyStack=this.originalHistoryStack,this.historyPtr=this.originalHistoryPointer,U&&this.struct(this.originalStruct,!1),this.monomerCreationState=null,this.tool("select"))}},{key:"saveNewMonomer",value:function(U){if(!this.monomerCreationState)throw new Error("Monomer creation wizard is not active, cannot save new monomer");var F=new W.KetSerializer,Q=JSON.parse(F.serialize(U.structure)),B=U.symbol,V=U.name,n=U.type,l=U.naturalAnalogue,d=U.modificationTypes,J=U.aliasHELM,N=U.aliasBILN,Z=U.hidden,S=[];new Map((0,o.A)(U.attachmentPoints).sort(function(U,F){var Q=(0,R.A)(U,1)[0],B=(0,R.A)(F,1)[0];return Q.localeCompare(B)})).forEach(function(U,F){var Q=(0,R.A)(U,2),B=Q[0],V=Q[1],n="side";F===W.AttachmentPointName.R1?n="left":F===W.AttachmentPointName.R2&&(n="right");var l={attachmentAtom:B,leavingGroup:{atoms:[V]},type:n};S.push(l)});var E="".concat(B,"___").concat(V).concat(Z?"___hidden":""),k=(0,W.setMonomerTemplatePrefix)(E),t=(0,W.getHELMClassByKetMonomerClass)(n),a=(0,W.fillNaturalAnalogueForPhosphateAndSugar)(l,n),T=du(du({type:W.KetTemplateType.MONOMER_TEMPLATE,id:E,class:n,classHELM:t,alias:B,fullName:V,naturalAnalogShort:a,modificationTypes:d,aliasHELM:J,aliasBILN:N,atoms:(0,W.normalizeMonomerAtomsPositions)(Q.mol0.atoms),bonds:Q.mol0.bonds,attachmentPoints:S},Z?{hidden:!0}:{}),{},{root:{nodes:[],connections:[],templates:[{$ref:k}]}}),e=F.convertMonomerTemplateToLibraryItem(T),C=(0,W.monomerFactory)(e),D=(0,R.A)(C,1)[0],p=U.structure.getCoordBoundingBoxObj();return{monomer:new D(e,new W.Vec2((p.min.x+p.max.x)/2,(p.min.y+p.max.y)/2)),monomerTemplate:T,monomerRef:k}}},{key:"finishNewMonomersCreation",value:function(U){var F,Q=this,V=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=V.rnaPresetName,l=V.phosphatePosition,d=W.ketcherProvider.getKetcher(this.ketcherId),J=Boolean(n),N=U.map(function(U){var F,V=U.monomer,n=U.monomerTemplate,l=U.monomerRef,d=U.monomerStructureInWizard,J=U.atomIdMap,N=new Map,Z=Vu(J.entries());try{for(Z.s();!(F=Z.n()).done;){var E=(0,R.A)(F.value,2),k=E[0],t=E[1];N.set(t,k)}}catch(D){Z.e(D)}finally{Z.f()}var a=W.MacromoleculesConverter.convertMonomerAttachmentPointsToSGroupAttachmentPoints(V,N),T=(0,W.fromSgroupAddition)(Q.render.ctab,W.SGroup.TYPES.SUP,d.atoms,{expanded:!0},Q.render.ctab.molecule.sgroups.newId(),a,V.position,!0,V.monomerItem.props.MonomerName,null,V);Q.render.ctab.molecule.clearFragments(),Q.render.ctab.molecule.markFragments(),Q.update(T);var e=n.root,C=(0,S.A)(n,Ru);return(0,B.A)({root:du({},e)},l,du({},C))}),Z={root:{templates:N.map(function(U){return U.root.templates[0]})}};if(N.forEach(function(U){Z=du(du({},U),Z)}),J){var E,k,t,a=U.map(function(U){return U.monomerTemplate.id}).join("_"),T=(0,W.setMonomerGroupTemplatePrefix)(a),e=null===(E=U.find(function(U){return U.monomerTemplate.class===W.KetMonomerClass.Sugar}))||void 0===E?void 0:E.monomerTemplate,C=null===(k=U.find(function(U){return U.monomerTemplate.class===W.KetMonomerClass.Phosphate}))||void 0===k?void 0:k.monomerTemplate,D=null===(t=U.find(function(U){return U.monomerTemplate.class===W.KetMonomerClass.Base}))||void 0===t?void 0:t.monomerTemplate,h=[];if(e&&C){var c="5"===l?W.AttachmentPointName.R1:W.AttachmentPointName.R2,r="5"===l?W.AttachmentPointName.R2:W.AttachmentPointName.R1;h.push({connectionType:W.KetConnectionType.SINGLE,endpoint1:{templateId:(0,W.setMonomerTemplatePrefix)(e.id),attachmentPointId:c},endpoint2:{templateId:(0,W.setMonomerTemplatePrefix)(C.id),attachmentPointId:r}})}e&&D&&h.push({connectionType:W.KetConnectionType.SINGLE,endpoint1:{templateId:(0,W.setMonomerTemplatePrefix)(e.id),attachmentPointId:W.AttachmentPointName.R3},endpoint2:{templateId:(0,W.setMonomerTemplatePrefix)(D.id),attachmentPointId:W.AttachmentPointName.R1}});var m=(0,B.A)({root:{templates:[(0,W.getKetRef)(T)]}},T,{type:W.KetTemplateType.MONOMER_GROUP_TEMPLATE,class:W.KetMonomerClass.RNA,name:n,id:a,templates:(0,o.A)(U.map(function(U){return(0,W.getKetRef)(U.monomerRef)})),connections:h});Z.root.templates.push((0,W.getKetRef)(T)),Z[T]=m[T]}d.updateMonomersLibrary(JSON.stringify(Z),{format:"ket",shouldPersist:!0,needDispatchLibraryUpdateEvent:!0});var M=new Set(null!==(F=this.originalSelection.atoms)&&void 0!==F?F:[]),i=[];this.originalStruct.bonds.forEach(function(U){M.has(U.begin)&&!M.has(U.end)&&i.push(U),M.has(U.end)&&!M.has(U.begin)&&i.push(U)});var b=new Map;this.selectedToOriginalAtomsIdMap.forEach(function(U,F){b.set(U,F)});var v=this.struct(),G=null,s=0,X=0,Y=0;this.selectedToOriginalAtomsIdMap.forEach(function(U,F){var B=Q.originalStruct.atoms.get(U),R=v.atoms.get(F);null!==B&&void 0!==B&&B.pp&&null!==R&&void 0!==R&&R.pp&&(X+=B.pp.x-R.pp.x,Y+=B.pp.y-R.pp.y,s+=1)}),s>0&&(G=new W.Vec2(X/s,Y/s)),this.closeMonomerCreationWizard();var y=(0,W.fromNewCanvas)(this.render.ctab,this.originalStruct);this.update(y,!0),this.event.change.dispatch(),setTimeout(function(){var F=new W.Action;F.mergeWith((0,W.fromFragmentDeletion)(Q.render.ctab,Q.originalSelection)),Q.update(F,!0);var B=new Map;v.mergeInto(Q.struct(),void 0,void 0,void 0,void 0,B,void 0,void 0,void 0,void 0,void 0,void 0,!0);var R=Q.struct();G&&B.forEach(function(U){var F=R.atoms.get(U);null!==F&&void 0!==F&&F.pp&&(F.pp=F.pp.add(G))}),i.forEach(function(U){var F=M.has(U.begin),Q=M.has(U.end);if(F&&!Q){var V=b.get(U.begin),n=(0,p.isNumber)(V)?B.get(V):void 0;if((0,p.isNumber)(n)){var l=U.clone();l.begin=n,R.bonds.add(l)}}if(Q&&!F){var d=b.get(U.end),J=(0,p.isNumber)(d)?B.get(d):void 0;if((0,p.isNumber)(J)){var N=U.clone();N.end=J,R.bonds.add(N)}}}),R.bonds.forEach(function(U){var F=R.getGroupFromAtomId(U.begin),Q=R.getGroupFromAtomId(U.end);if(F&&F.isMonomer&&F!==Q){var B=F.getAttachmentPoints().find(function(F){return F.atomId===U.begin});B&&(U.beginSuperatomAttachmentPointNumber=B.attachmentPointNumber)}if(Q&&Q.isMonomer&&Q!==F){var V=Q.getAttachmentPoints().find(function(F){return F.atomId===U.end});V&&(U.endSuperatomAttachmentPointNumber=V.attachmentPointNumber)}}),Q.struct(Q.struct().clone(void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,!0));var V=new Set(U.map(function(U){return U.monomer})),n=new Set,l=new Set,d=Q.struct();d.sgroups.forEach(function(U){var F=U.monomer;U.isMonomer&&V.has(F)&&(W.SGroup.getAtoms(d,U).forEach(function(U){n.add(U)}),W.SGroup.getBonds(d,U).forEach(function(U){l.add(U)}))}),(n.size>0||l.size>0)&&Q.selection({atoms:Array.from(n),bonds:Array.from(l)})},0)}},{key:"reassignAttachmentPointLeavingAtom",value:function(U,F){BX(this.monomerCreationState);var Q=this.monomerCreationState.assignedAttachmentPoints.get(U);BX(Q);var B=(0,R.A)(Q,2),V=B[0],n=B[1],l=F,d=null;if(-1===F){var J=(0,W.fromBondAddition)(this.render.ctab,{type:W.Bond.PATTERN.TYPE.SINGLE,stereo:W.Bond.PATTERN.STEREO.NONE},V,{label:W.AtomLabel.H}),N=(0,R.A)(J,3);d=N[0],l=N[2]}var Z=new W.Action([new W.ReassignLeavingAtomOperation(this.monomerCreationState,U,V,l,n)]).perform(this.render.ctab);d&&(Z=Z.mergeWith(d)),this.update(Z)}},{key:"reassignAttachmentPoint",value:function(U,F){BX(this.monomerCreationState);var Q=new W.Action([new W.ReassignAttachmentPointOperation(this.monomerCreationState,U,F)]).perform(this.render.ctab);this.update(Q)}},{key:"changeLeavingAtomLabel",value:function(U,F){BX(this.monomerCreationState);var Q=this.monomerCreationState.assignedAttachmentPoints.get(U);BX(Q);var B=(0,R.A)(Q,2)[1],V=this.struct().atoms.get(B);if(BX(V),V.label!==F){var n=(0,W.fromAtomsAttrs)(this.render.ctab,B,{label:F},!1);this.update(n)}}},{key:"removeAttachmentPoint",value:function(U){var F=this;BX(this.monomerCreationState);var Q=this.monomerCreationState.assignedAttachmentPoints.get(U);BX(Q);var B=(0,R.A)(Q,1)[0],V=new Set(this.findPotentialLeavingAtoms(B).map(function(U){var Q=F.struct().atoms.keyOf(U);return BX(null!==Q),Q})),n=new W.Action([new W.RemoveAttachmentPointOperation(this.monomerCreationState,U,V)]).perform(this.render.ctab);this.update(n)}},{key:"cleanupCloseAttachmentPointEditPopup",value:function(){BX(this.monomerCreationState),this.monomerCreationState.clickedAttachmentPoint=null,this.render.update(!0)}},{key:"setProblematicAttachmentPoints",value:function(U){var F;BX(this.monomerCreationState),this.monomerCreationState.problematicAttachmentPoints=U,this.monomerCreationState=du({},null!==(F=this.monomerCreationState)&&void 0!==F?F:{}),this.render.update(!0)}},{key:"setProblematicAtoms",value:function(U){var F;this.monomerCreationState?(this.monomerCreationState.problematicAtoms=U,this.monomerCreationState=du({},null!==(F=this.monomerCreationState)&&void 0!==F?F:{}),this.render.update(!0)):W.KetcherLogger.error("Can not set problematic atoms. There is no monomerCreationState")}},{key:"highlightAttachmentPoint",value:function(U){if(U){BX(this.monomerCreationState);var F=this.monomerCreationState.assignedAttachmentPoints.get(U);BX(F);var Q={atoms:(0,o.A)(F)},B=(0,R.A)(F,2),V=B[0],n=B[1],l=this.struct().bonds.find(function(U,F){return F.begin===V&&F.end===n||F.begin===n&&F.end===V});null!==l&&(Q=du(du({},Q),{},{bonds:[l]})),this.render.ctab.setSelection(Q)}else this.render.ctab.setSelection(null)}},{key:"findPotentialLeavingAtoms",value:function(F){var Q=this,B=this.struct().bonds.filter(function(U,Q){return F===Q.begin&&F!==Q.end||F===Q.end&&F!==Q.begin}),R=[];return B.forEach(function(B){if(U.isBondSuitableForAttachmentPoint(B)){var V=F===B.begin?B.end:B.begin,n=Q.struct().atoms.get(V);BX(n),1===n.neighbors.length&&R.push(n)}}),R}},{key:"getRnaComponentForAtom",value:function(U){var F,Q=null===(F=this.monomerCreationState)||void 0===F?void 0:F.rnaComponentAtoms;if(!Q)return null;var B,V=Vu(Q.entries());try{for(V.s();!(B=V.n()).done;){var n=(0,R.A)(B.value,2),l=n[0];if(n[1].atoms.includes(U))return l}}catch(d){V.e(d)}finally{V.f()}return null}},{key:"canAssignRnaComponent",value:function(U){var F,Q=this;if(null===(F=this.monomerCreationState)||void 0===F||!F.rnaComponentAtoms)return!1;var B=this.getRnaComponentForAtom(U.begin),R=this.getRnaComponentForAtom(U.end);if(!B&&!R||B&&R&&B!==R)return!1;var V=null!==B&&void 0!==B?B:R,n=this.struct(),l=B?U.begin:U.end,d=new Set,J=[l],N=!1,Z=!1;d.add(l);for(var S=function(){var U=J.pop(),F=(0,p.isNumber)(U)?n.atoms.get(U):void 0;if(!F)return 1;null===F||void 0===F||F.neighbors.forEach(function(F){var B=n.halfBonds.get(F);if(!N&&!Z)if(B){var R=B.begin===U?B.end:B.begin;if(!d.has(R)){d.add(R);var l=Q.getRnaComponentForAtom(R);if(l!==V)if(l&&l!==V)N=!0;else{var S=Q.selectedToOriginalAtomsIdMap.get(R);(0,p.isNumber)(S)&&Q.originalStruct.atoms.has(S)?Z=!0:(J.push(R),d.add(R))}}}else W.KetcherLogger.warn("Half-bond not found in structure")})};J.length>0;)S();return!N&&!Z}},{key:"autoAssignAtomToRnaComponent",value:function(U){var F;if(null===(F=this.monomerCreationState)||void 0===F?void 0:F.rnaComponentAtoms){var Q=this.struct(),B=Q.bonds.get(U);if(B){var R=this.getRnaComponentForAtom(B.begin),V=this.getRnaComponentForAtom(B.end),n=null!==R&&void 0!==R?R:V;if(n){for(var l=[],d=[],J=[U],N=new Set;J.length>0;){var Z=J.pop(),S=(0,p.isNumber)(Z)?Q.bonds.get(Z):void 0;if((0,p.isNumber)(Z)&&S&&!N.has(Z)){d.push(Z),N.add(Z);var E=Q.atoms.get(S.begin),k=Q.atoms.get(S.end),t=this.getRnaComponentForAtom(S.begin),a=this.getRnaComponentForAtom(S.end),T=[];E&&t!==n&&(l.push(S.begin),T.push(E)),k&&a!==n&&(l.push(S.end),T.push(k)),T.forEach(function(U){U.neighbors.forEach(function(U){var F=Q.halfBonds.get(U);if(F){var B=F.bid;Q.bonds.get(B)&&!J.includes(B)?J.push(B):W.KetcherLogger.warn("Bond not found in structure")}else W.KetcherLogger.warn("Half-bond not found in structure")})})}}this.addAtomsAndBondsToRnaComponent(n,l,d)}}else W.KetcherLogger.warn("Bond not found in structure")}}},{key:"updateRnaComponentStructureState",value:function(U,F,Q){var B;null===(B=this.monomerCreationState)||void 0===B||null===(B=B.rnaComponentAtoms)||void 0===B||B.set(U,{atoms:F,bonds:Q});var R={componentKey:U,atomIds:F,bondIds:Q};window.dispatchEvent(new CustomEvent(W.MonomerCreationComponentStructureUpdateEvent,{detail:R}))}},{key:"addAtomsAndBondsToRnaComponent",value:function(U,F,Q){var B;if(null!==(B=this.monomerCreationState)&&void 0!==B&&B.rnaComponentAtoms){var R=this.monomerCreationState.rnaComponentAtoms.get(U);if(R){var V=(0,o.A)(R.atoms),n=(0,o.A)(R.bonds);F.forEach(function(U){V.includes(U)||V.push(U)}),Q.forEach(function(U){n.includes(U)||n.push(U)}),this.updateRnaComponentStructureState(U,V,n)}}}},{key:"removeAtomsAndBondsFromRnaComponents",value:function(U,F){var Q;if(null!==(Q=this.monomerCreationState)&&void 0!==Q&&Q.rnaComponentAtoms){var B,V=Vu(this.monomerCreationState.rnaComponentAtoms.entries());try{for(V.s();!(B=V.n()).done;){var n=(0,R.A)(B.value,2),l=n[0],d=n[1],J=d.atoms.filter(function(F){return!U.includes(F)}),N=d.bonds.filter(function(U){return!F.includes(U)});this.updateRnaComponentStructureState(l,J,N)}}catch(Z){V.e(Z)}finally{V.f()}}}},{key:"subscribeToChangeEventInMonomerCreationWizard",value:function(){var U=this;if(!this.changeEventSubscriber){this.changeEventSubscriber=this.subscribe("change",function(F){U.isMonomerCreationWizardActive&&0!==F.length&&U.collectChangesForMonomerCreationStateInvalidation(F)})}}},{key:"unsubscribeFromChangeEventInMonomerCreationWizard",value:function(){this.changeEventSubscriber&&(this.unsubscribe("change",this.changeEventSubscriber),this.changeEventSubscriber=null)}},{key:"collectChangesForMonomerCreationStateInvalidation",value:function(U){if(this.monomerCreationState){var F=new Map;U.forEach(function(U){switch(U.operation){case W.OperationType.ATOM_ADD:case W.OperationType.ATOM_DELETE:case W.OperationType.ATOM_ATTR:case W.OperationType.BOND_ADD:case W.OperationType.BOND_DELETE:case W.OperationType.BOND_ATTR:if(void 0!==U.id){var Q=F.get(U.operation);Q?Q.add(U.id):F.set(U.operation,new Set([U.id]))}}}),this.invalidateMonomerCreationWizardState(F)}}},{key:"invalidateMonomerCreationWizardState",value:function(F){var Q,B=this;if(this.monomerCreationState){var V,n=Vu(F.entries());try{var l=function(){var F=(0,R.A)(V.value,2),Q=F[0],n=F[1];switch(Q){case W.OperationType.ATOM_DELETE:var l=Array.from(B.monomerCreationState.assignedAttachmentPoints.entries()).filter(function(U){var F=(0,R.A)(U,2)[1];return n.has(F[0])||n.has(F[1])});if(!l)return 1;l.forEach(function(U){var F,Q=(0,R.A)(U,2),V=Q[0],l=Q[1],d=(0,R.A)(l,2),J=d[0],N=d[1];if(n.has(J))null===(F=B.monomerCreationState)||void 0===F||F.assignedAttachmentPoints.delete(V);else if(n.has(N)){var Z=B.findPotentialLeavingAtoms(J);if(0===Z.length){var W;null===(W=B.monomerCreationState)||void 0===W||W.assignedAttachmentPoints.delete(V)}else{var S,E=B.struct().atoms.keyOf(Z[0]);BX(null!==E),null===(S=B.monomerCreationState)||void 0===S||S.assignedAttachmentPoints.set(V,[J,E])}}}),Array.from(B.monomerCreationState.potentialAttachmentPoints.entries()).forEach(function(U){var F=(0,R.A)(U,2),Q=F[0],V=F[1];if(n.has(Q)){var l;null===(l=B.monomerCreationState)||void 0===l||l.potentialAttachmentPoints.delete(Q)}else{var d,J,N=new Set(Array.from(V).filter(function(U){return!n.has(U)}));if(0===N.size)null===(d=B.monomerCreationState)||void 0===d||d.potentialAttachmentPoints.delete(Q);else null===(J=B.monomerCreationState)||void 0===J||J.potentialAttachmentPoints.set(Q,N)}}),B.removeAtomsAndBondsFromRnaComponents((0,o.A)(n.values()),[]);break;case W.OperationType.BOND_ATTR:var d,J=Vu(n.values());try{var N=function(){var F=d.value,Q=B.struct().bonds.get(F);BX(Q);var V=Array.from(B.monomerCreationState.assignedAttachmentPoints.entries()).find(function(U){var F=(0,R.A)(U,2)[1];return Q.begin===F[0]&&Q.end===F[1]||Q.begin===F[1]&&Q.end===F[0]});V&&(U.isBondSuitableForAttachmentPoint(Q)?B.monomerCreationState.problematicAttachmentPoints.delete(V[0]):B.monomerCreationState.problematicAttachmentPoints.add(V[0])),U.isBondSuitableForAttachmentPoint(Q)||B.monomerCreationState.potentialAttachmentPoints.forEach(function(U,F){var R,V,n=new Set(U),l=Q.begin===F&&U.has(Q.end),d=Q.end===F&&U.has(Q.begin);((l||d)&&n.delete(l?Q.end:Q.begin),0===n.size)?null===(R=B.monomerCreationState)||void 0===R||R.potentialAttachmentPoints.delete(F):null===(V=B.monomerCreationState)||void 0===V||V.potentialAttachmentPoints.set(F,n)})};for(J.s();!(d=J.n()).done;)N()}catch(k){J.e(k)}finally{J.f()}break;case W.OperationType.BOND_ADD:var Z,S=Vu(n.values());try{var E=function(){var F=Z.value,Q=B.struct().bonds.get(F);BX(Q);var V=Array.from(B.monomerCreationState.assignedAttachmentPoints.entries()).find(function(U){var F=(0,R.A)(U,2),B=(0,R.A)(F[1],2),V=B[0],n=B[1];return Q.begin===n&&Q.end!==V||Q.end===n&&Q.begin!==V});if(V){var n=(0,R.A)(V,1)[0];B.monomerCreationState.assignedAttachmentPoints.delete(n)}if(U.isBondSuitableForAttachmentPoint(Q)){if(B.monomerCreationState.potentialAttachmentPoints.has(Q.begin)){var l=B.monomerCreationState.potentialAttachmentPoints.get(Q.begin);BX(l);var d=B.struct().atoms.get(Q.end);if(d&&1===d.neighbors.length){var J=new Set(l);J.add(Q.end),B.monomerCreationState.potentialAttachmentPoints.set(Q.begin,J)}}if(B.monomerCreationState.potentialAttachmentPoints.has(Q.end)){var N=B.monomerCreationState.potentialAttachmentPoints.get(Q.end);BX(N);var W=B.struct().atoms.get(Q.begin);if(W&&1===W.neighbors.length){var S=new Set(N);S.add(Q.begin),B.monomerCreationState.potentialAttachmentPoints.set(Q.end,S)}}}B.canAssignRnaComponent(Q)&&B.autoAssignAtomToRnaComponent(F)};for(S.s();!(Z=S.n()).done;)E()}catch(k){S.e(k)}finally{S.f()}break;case W.OperationType.BOND_DELETE:B.removeAtomsAndBondsFromRnaComponents([],(0,o.A)(n.values()))}};for(n.s();!(V=n.n()).done;)l()}catch(d){n.e(d)}finally{n.f()}this.monomerCreationState=du({},null!==(Q=this.monomerCreationState)&&void 0!==Q?Q:{})}}},{key:"setRnaMonomerCreationMode",value:function(U){this.monomerCreationState?this.monomerCreationState.isRnaPresetMode=U:W.KetcherLogger.warn("Monomer creation state is not initialized")}},{key:"selection",value:function(U){if(0===arguments.length)return this._selection;var F=this.render.ctab,Q=!1;this._selection=null;var B=U;if("all"===U&&(Q=!0,B=Zu.reduce(function(U,Q){return U[Q]=Array.from(F[Q].keys()),U},{})),"descriptors"===U&&(F=this.render.ctab,B={sgroupData:Array.from(F.sgroupData.keys())}),B){var R={};Object.keys(B).forEach(function(U){B[U].length>0&&(R[U]=B[U].slice())}),0!==Object.keys(R).length&&(this._selection=R);var V,n=function(U,F){var Q=new Map;U.forEach(function(U,F){var B,R=U.fragment;if(-1!==R){var V=(null!==(B=Q.get(R))&&void 0!==B?B:[]).concat(F);Q.set(R,V)}});var B=[];return Q.forEach(function(U,Q){U.every(function(U){return F.includes(U)})&&(B=B.concat(Q))}),B}(this.struct().atoms,this.explicitSelected().atoms);if(0!==n.length)null!==(V=this._selection)&&void 0!==V&&V.enhancedFlags?this._selection.enhancedFlags=Array.from(new Set([].concat((0,o.A)(this._selection.enhancedFlags),(0,o.A)(n)))):R.enhancedFlags=n}return this.render.ctab.setSelection(this._selection),this.event.selectionChange.dispatch(this._selection),Q?this.rotateController.rerender():null===this._selection&&this.rotateController.clean(),this.render.update(!1,null),this._selection}},{key:"hover",value:function(U,F,Q){var B=null!==F&&void 0!==F?F:this._tool,R=B.ci;if(R){var V=this.getHoverId(R),n=this.getHoverId(U);U&&R.map===U.map&&V===n||(tu(R,!1,this.render),delete B.ci)}U&&tu(U,!0,this.render)&&(B.ci=U),U?Q&&TY({editor:this,event:Q,isShow:!0}):TY({editor:this,isShow:!1})}},{key:"getHoverId",value:function(U){return U&&"id"in U?U.id:void 0}},{key:"update",value:function(U,F){TY({editor:this,isShow:!1}),F||(this.render.ctab.needRecalculateVisibleAtomsAndBonds=!0),!0===U?this.render.update(!0,null):(F||U.isDummy()||(this.historyStack.splice(this.historyPtr,33,U),this.historyStack.length>32&&this.historyStack.shift(),this.historyPtr=this.historyStack.length,this.event.change.dispatch(U),W.ketcherProvider.getKetcher(this.ketcherId).changeEvent.dispatch(U)),this.render.update(!1,null))}},{key:"historySize",value:function(){return{undo:this.historyPtr,redo:this.historyStack.length-this.historyPtr}}},{key:"undo",value:function(){var U;W.KetcherLogger.log("Editor.undo(), start, ",this.historyPtr,this.historyStack);var F=W.ketcherProvider.getKetcher(this.ketcherId).changeEvent;if(0===this.historyPtr)throw new Error("Undo stack is empty");null!==(U=this._tool)&&void 0!==U&&U.cancel&&this._tool.cancel(),this.selection(null),this.historyPtr--;var Q=this.historyStack[this.historyPtr].perform(this.render.ctab);this.historyStack[this.historyPtr]=Q,this._tool instanceof Px.paste?(this.event.change.dispatch(),F.dispatch()):(this.event.change.dispatch(Q),F.dispatch(Q)),this.render.ctab.needRecalculateVisibleAtomsAndBonds=!0,this.render.update(),W.KetcherLogger.log("Editor.undo(), end")}},{key:"redo",value:function(){var U;W.KetcherLogger.log("Editor.redo(), start, ",this.historyPtr,this.historyStack);var F=W.ketcherProvider.getKetcher(this.ketcherId).changeEvent;if(this.historyPtr===this.historyStack.length)throw new Error("Redo stack is empty");null!==(U=this._tool)&&void 0!==U&&U.cancel&&this._tool.cancel(),this.selection(null);var Q,B=this.historyStack[this.historyPtr];try{Q=B.perform(this.render.ctab)}finally{this.historyStack[this.historyPtr]=Q,this.historyPtr++}this._tool instanceof Px.paste?(this.event.change.dispatch(),F.dispatch()):(this.event.change.dispatch(Q),F.dispatch(Q)),this.render.ctab.needRecalculateVisibleAtomsAndBonds=!0,this.render.update(),W.KetcherLogger.log("Editor.redo(), end")}},{key:"clearHistory",value:function(){this.historyStack=[],this.historyPtr=0}},{key:"subscribe",value:function(U,F){var Q={handler:F};switch(U){case"change":var B=function(U){return function(U,F){var Q=[];return void 0===U?F():window.isPolymerEditorTurnedOn?function(U){return U()}(F):function(U,F){return null!==U&&void 0!==U&&U.operations&&Array.isArray(U.operations)?((0,o.A)(U.operations).reverse().forEach(function(U){var F=U._inverted;switch(F.type){case W.OperationType.ATOM_ADD:case W.OperationType.ATOM_DELETE:Q.push({operation:F.type,id:F.data.aid,label:F.data.atom.label?F.data.atom.label:"",position:{x:+F.data.pos.x.toFixed(2),y:+F.data.pos.y.toFixed(2)}});break;case W.OperationType.ATOM_ATTR:Q.push({operation:U.type,id:U.data.aid,attribute:U.data.attribute,from:U.data.value,to:U.data2.value});break;case W.OperationType.ATOM_MOVE:Q.push({operation:F.type,id:F.data.aid,position:{x:+F.data.d.x.toFixed(2),y:+F.data.d.y.toFixed(2)}});break;case W.OperationType.BOND_ADD:case W.OperationType.BOND_DELETE:case W.OperationType.BOND_ATTR:Q.push({operation:F.type,id:F.data.bid});break;case W.OperationType.FRAGMENT_ADD:case W.OperationType.FRAGMENT_DELETE:Q.push({operation:F.type,id:F.frid});break;case W.OperationType.FRAGMENT_ADD_STEREO_ATOM:case W.OperationType.FRAGMENT_DELETE_STEREO_ATOM:Q.push({operation:F.type,atomId:F.data.aid,fragId:F.data.frid});break;case W.OperationType.S_GROUP_ATOM_ADD:case W.OperationType.S_GROUP_ATOM_REMOVE:Q.push({operation:F.type,atomId:F.data.aid,sGroupId:F.data.sgid});break;case W.OperationType.S_GROUP_CREATE:case W.OperationType.S_GROUP_DELETE:Q.push({operation:F.type,type:F.data.type,sGroupId:F.data.sgid});break;case W.OperationType.RXN_ARROW_ADD:case W.OperationType.RXN_ARROW_DELETE:Q.push({operation:F.type,id:F.data.id,mode:F.data.mode,position:F.data.pos.map(function(U){return{x:+U.x.toFixed(2),y:+U.y.toFixed(2)}})});break;case W.OperationType.RXN_ARROW_RESIZE:case W.OperationType.SIMPLE_OBJECT_RESIZE:Q.push({operation:F.type,id:F.data.id});break;case W.OperationType.RXN_ARROW_MOVE:Q.push({operation:F.type,id:F.data.id,position:{x:+F.data.d.x.toFixed(2),y:+F.data.d.y.toFixed(2)}});break;case W.OperationType.R_GROUP_FRAGMENT:Q.push({operation:U.type,id:F.frid});break;case W.OperationType.SIMPLE_OBJECT_ADD:case W.OperationType.SIMPLE_OBJECT_DELETE:Q.push({operation:F.type,id:F.data.id,mode:F.data.mode});break;case W.OperationType.SIMPLE_OBJECT_MOVE:Q.push({operation:U.type,id:U.data.id,position:{x:+U.data.d.x.toFixed(2),y:+U.data.d.y.toFixed(2)}});break;default:Q.push({operation:F.type})}}),F(Q)):F(Q)}(U,F)}(U,F)};Q.handler=B,W.ketcherProvider.getKetcher(this.ketcherId).changeEvent.add(B);break;case"libraryUpdate":W.ketcherProvider.getKetcher(this.ketcherId).libraryUpdateEvent.add(F);break;default:this.event[U].add(F)}return Q}},{key:"unsubscribe",value:function(U,F){switch(U){case"change":W.ketcherProvider.getKetcher(this.ketcherId).changeEvent.remove(F.handler);break;case"libraryUpdate":W.ketcherProvider.getKetcher(this.ketcherId).libraryUpdateEvent.remove(F.handler);break;default:this.event[U].remove(F.handler)}}},{key:"findItem",value:function(U,F){var Q=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,B=W.CoordinateTransformation.pageToModel(U,this.render);return HH.item(this.render.ctab,B,F,Q,this.render.options)}},{key:"findMerge",value:function(U,F){return HH.merge(this.render.ctab,U,this.render.options,F)}},{key:"explicitSelected",value:function(){var U,F=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],Q=null!==(U=this.selection())&&void 0!==U?U:{},B=Zu.reduce(function(U,F){return U[F]=Q[F]?Q[F].slice():[],U},{}),R=this.render.ctab.molecule;return B.bonds&&B.bonds.forEach(function(U){var F,Q=R.bonds.get(U);Q&&(B.atoms=null!==(F=B.atoms)&&void 0!==F?F:[],B.atoms.indexOf(Q.begin)<0&&B.atoms.push(Q.begin),B.atoms.indexOf(Q.end)<0&&B.atoms.push(Q.end))}),F&&B.atoms&&B.bonds&&R.bonds.forEach(function(U,F){var Q;B.bonds.indexOf(F)<0&&B.atoms.indexOf(U.begin)>=0&&B.atoms.indexOf(U.end)>=0&&(B.bonds=null!==(Q=B.bonds)&&void 0!==Q?Q:[],B.bonds.push(F))}),B}},{key:"structSelected",value:function(U,F,Q){var B=this.render.ctab.molecule,R=null!==U&&void 0!==U?U:this.explicitSelected(),V=B.clone(new W.Pile(R.atoms),new W.Pile(R.bonds),!0,F,new W.Pile(R.simpleObjects),new W.Pile(R.texts),null,new W.Pile(R.images),new W.Pile(R[W.MULTITAIL_ARROW_KEY]),Q);return B.rxnArrows.forEach(function(U,F){-1!==R.rxnArrows.indexOf(F)&&V.rxnArrows.add(U.clone())}),B.rxnPluses.forEach(function(U,F){-1!==R.rxnPluses.indexOf(F)&&V.rxnPluses.add(U.clone())}),V.isReaction=B.isReaction&&B.isRxn(),V}},{key:"alignDescriptors",value:function(){this.selection(null);var U=(0,W.fromDescriptorsAlign)(this.render.ctab);this.update(U),this.render.update(!0)}},{key:"setMacromoleculeConvertionError",value:function(U){this.macromoleculeConvertionError=U}},{key:"clearMacromoleculeConvertionError",value:function(){this.macromoleculeConvertionError=null}},{key:"focusCliparea",value:function(){var U=document.querySelector(".cliparea");null===U||void 0===U||U.focus()}}],[{key:"isBondSuitableForAttachmentPoint",value:function(U){return U.type===W.Bond.PATTERN.TYPE.SINGLE&&new Set([W.Bond.PATTERN.STEREO.NONE,W.Bond.PATTERN.STEREO.UP,W.Bond.PATTERN.STEREO.DOWN]).has(U.stereo)}},{key:"isMinimalViableStructure",value:function(F,Q){var B=F.atoms.filter(function(U){return BX(Q),Array.from(Q.assignedAttachmentPoints.values()).every(function(F){return F[1]!==U})});if(B.size<2)return!1;var R=F.bonds.filter(function(U,F){return B.has(F.begin)&&B.has(F.end)});if(R.size<1)return!1;var V=R.filter(function(F,Q){return U.isBondSuitableForAttachmentPoint(Q)});return V.size>=1}},{key:"isStructureContinuous",value:function(U,F){var Q,B,R,V;F?(Q=null!==(R=F.atoms)&&void 0!==R?R:[],B=null!==(V=F.bonds)&&void 0!==V?V:[]):(Q=Array.from(U.atoms.keys()),B=Array.from(U.bonds.keys()));if(!Q||0===Q.length||!Q||0===Q.length)return!1;var n,l=new Map,d=Vu(Q);try{for(d.s();!(n=d.n()).done;){var J=n.value;l.set(J,[])}}catch(a){d.e(a)}finally{d.f()}B.forEach(function(F){var Q=U.bonds.get(F);if(Q){var B,R,V=Q.begin,n=Q.end;if(l.has(V)&&l.has(n))null===(B=l.get(V))||void 0===B||B.push(n),null===(R=l.get(n))||void 0===R||R.push(V)}});for(var N=new Set,Z=[Q[0]];Z.length>0;){var W=Z.shift();if(void 0!==W&&!N.has(W)){var S;N.add(W);var E,k=Vu(null!==(S=l.get(W))&&void 0!==S?S:[]);try{for(k.s();!(E=k.n()).done;){var t=E.value;N.has(t)||Z.push(t)}}catch(a){k.e(a)}finally{k.f()}}}return N.size===Q.length}},{key:"isStructureImpure",value:function(U){var F=U.atoms,Q=U.sgroups,B=U.rgroups,R=U.functionalGroups;return Q.size>0||B.size>0||R.size>0||Array.from(F.values()).some(function(U){return W.genericsList.includes(U.label)})}}]),U}();function ku(U){return!Object.values(U).some(Boolean)}function tu(U,F,Q){if(-1===Wu.indexOf(U.map))return!1;var B=null;if("merge"===U.map){if(Object.keys(U.items).forEach(function(R){U.items[R].forEach(function(U){(B=Q.ctab[R].get(U))&&B.setHover(F,Q,!1)})}),F){var R=Object.keys(U.items).flatMap(function(F){return U.items[F].flatMap(function(U){return Q.ctab[F].get(U)})}).map(function(U){var F;return null===U||void 0===U||null===(F=U.makeHoverPlate)||void 0===F?void 0:F.call(U,Q)}).filter(Boolean);iQ().setup(document.createElement("canvas"));var V=null,n=Q.options,l=new W.Visel("mergedHover"),d=[];if(R.forEach(function(U){null!==U&&void 0!==U&&U.node&&(d.push(U.node),U.node.remove())}),d.forEach(function(U){var F=(0,W.paperPathFromSVGElement)(U);F&&(F.closed||F.closePath(),V=V?V.unite(F):F)}),!V)return;var J=V.pathData;Q.ctab.addReObjectPath(W.LayerMap.hovering,l,Q.paper.path(J).attr({stroke:n.hoverStyle.stroke,"stroke-width":n.hoverStyle["stroke-width"]})),Q.combinedHover=l}else{var N;null===(N=Q.combinedHover)||void 0===N||N.paths.forEach(function(U){U.remove()}),Q.combinedHover=null}return!0}if("functionalGroups"===U.map&&(U.map="sgroups"),!(B=Q.ctab[U.map].get(U.id)))return!0;if("sgroups"===U.map&&"DAT"===B.item.type||"sgroupData"===U.map){var Z=Q.ctab.sgroups.get(U.id);Z&&Z.setHover(F,Q);var S=Q.ctab.sgroupData.get(U.id);S&&S.setHover(F,Q)}else B.setHover(F,Q);return!0}var au,Tu,eu="StructEditor-module_spinnerOverlay__5H1IM",Cu="StructEditor-module_canvas__LLnzh",Du="StructEditor-module_measureLog__B2wuy",ou="StructEditor-module_visible__3eFNB",pu="StructEditor-module_intermediateCanvas__fR3ws",hu="StructEditor-module_enableCursor__Qla0A",cu={"button-common-styles":"ContextMenu-module_button-common-styles__pshYr",scrollbar:"ContextMenu-module_scrollbar__fCla5",contextMenu:"ContextMenu-module_contextMenu__oqyL-",icon:"ContextMenu-module_icon__KhXEk",markAsComponentIcon:"ContextMenu-module_markAsComponentIcon__oBjcI",contextMenuText:"ContextMenu-module_contextMenuText__j0O2-",sameGroup:"ContextMenu-module_sameGroup__0DPIX",devider:"ContextMenu-module_devider__-K9Bc"};!function(U){U.FOR_BONDS="context-menu-for-bonds",U.FOR_ATOMS="context-menu-for-atoms",U.FOR_SELECTION="context-menu-for-selection",U.FOR_FUNCTIONAL_GROUPS="context-menu-for-functional-groups",U.FOR_R_GROUP_ATTACHMENT_POINT="context-menu-for-rgroup-attachment-point",U.FOR_MULTITAIL_ARROW="context-menu-for-multiple-arrowed",U.FOR_MACROMOLECULE="context-menu-for-macromolecule",U.FOR_ATTACHMENT_POINT_LABEL="context-menu-for-attachment-point-label"}(au||(au={})),function(U){U.None="none",U.Selection="selection",U.ClosestItem="closestItem",U.AuxiliaryItem="auxiliaryItem"}(Tu||(Tu={}));var ru,mu,Mu,iu,bu,vu=function(){var U=Zy().ketcherId,F=(0,n.useCallback)(function(){var F=(0,l.A)(J().mark(function F(Q){var B,R,V,n,l,d,N;return J().wrap(function(F){for(;;)switch(F.prev=F.next){case 0:R=Q.props,V=W.ketcherProvider.getKetcher(U).editor,n=V.render.ctab,l=null!==(B=null===R||void 0===R?void 0:R.atomIds)&&void 0!==B?B:[],d=MO(l,n),N=V.event.elementEdit.dispatch(d),JL({atoms:l,changeAtomPromise:N,editor:V});case 7:case"end":return F.stop()}},F)}));return function(U){return F.apply(this,arguments)}}(),[U]),Q=(0,n.useCallback)(function(U){var F=U.props,Q=null===F||void 0===F?void 0:F.atomIds;return!Array.isArray(Q)||0===Q.length},[]);return[F,Q]},Gu=function(){var U=Zy().ketcherId,F=(0,n.useRef)(void 0),Q=(0,n.useCallback)(function(){var Q=(0,l.A)(J().mark(function Q(B){var R,V;return J().wrap(function(Q){for(;;)switch(Q.prev=Q.next){case 0:if(B.props&&F.current){Q.next=3;break}return Q.abrupt("return");case 3:return R=W.ketcherProvider.getKetcher(U).editor,Q.prev=4,Q.next=7,Vx.changeAtomsStereoAction(R,F.current);case 7:(V=Q.sent)&&R.update(V),Q.next=15;break;case 11:Q.prev=11,Q.t0=Q.catch(4),W.KetcherLogger.error("useAtomStereo.ts::useAtomStereo::handler",Q.t0);case 15:case"end":return Q.stop()}},Q,null,[[4,11]])}));return function(U){return Q.apply(this,arguments)}}(),[U]),B=(0,n.useCallback)(function(Q){var B=Q.props,R=W.ketcherProvider.getKetcher(U).editor,V=(0,W.findStereoAtoms)(R.struct(),null===B||void 0===B?void 0:B.atomIds);return F.current=V,!Array.isArray(V)||0===V.length},[U]);return[Q,B]},su=function(){var U=Zy().ketcherId,F=(0,n.useCallback)(function(){var F=(0,l.A)(J().mark(function F(Q){var B,R,V,n,l;return J().wrap(function(F){for(;;)switch(F.prev=F.next){case 0:B=Q.props,R=W.ketcherProvider.getKetcher(U).editor,V=R.render.ctab,n=R.selection()||{bonds:null===B||void 0===B?void 0:B.bondIds,atoms:null===B||void 0===B?void 0:B.atomIds},l=(0,W.fromFragmentDeletion)(V,n),R.update(l),R.selection(null),R.focusCliparea();case 8:case"end":return F.stop()}},F)}));return function(U){return F.apply(this,arguments)}}(),[U]);return F},Xu=[{value:W.KetMonomerClass.AminoAcid,label:"Amino acid",iconName:"peptide"},{value:W.KetMonomerClass.Sugar,label:"Sugar",iconName:"sugar"},{value:W.KetMonomerClass.Base,label:"Base",iconName:"base"},{value:W.KetMonomerClass.Phosphate,label:"Phosphate",iconName:"phosphate"},{value:W.KetMonomerClass.RNA,label:"Nucleotide (monomer)",iconName:"nucleotide"},{value:"rnaPreset",label:"Nucleotide (preset)",iconName:"preset"},{value:W.KetMonomerClass.CHEM,label:"CHEM",iconName:"chem"}],Yu={defaultAttachmentPoints:"Attachment points are set by default with hydrogens as leaving groups.",emptyMandatoryFields:"Mandatory fields must be filled.",invalidSymbol:"The monomer code must consist only of uppercase and lowercase letters, numbers, hyphens (-), underscores (_), and asterisks (*).",symbolExists:"The code must be unique amongst peptide, RNA, or CHEM monomers.",editingIsNotAllowed:"Editing of the structure is not allowed.",noAttachmentPoints:"The monomer must have at least one attachment point.",incorrectAttachmentPointsOrder:"Attachment point numbers must be in order, but R1 and R2 may be skipped.",attachmentPointsNotUnique:"Only one attachment point can have the same number.",creationSuccessful:"The monomer was successfully added to the library.",creationRNASuccessful:"The preset was successfully added to the library.",incontinuousStructure:"All monomers must have a continuous structure.",notUniqueModificationTypes:"Only one amino acid within a natural analogue can have the same modification type.",modificationTypeExists:"Only one amino acid within a natural analogue can have the same modification type.",notMinimalViableStructure:"Minimal monomer structure is two atoms connected via a single bond.",impureStructure:"Monomer structure cannot contain S-groups, R-groups, special atoms, or any other query properties.",invalidHELMAlias:W.HELM_ALIAS_FORMAT_ERROR_MESSAGE,notUniqueHELMAlias:"The HELM alias must be unique amongst peptide or RNA monomers.",invalidBILNAlias:W.BILN_ALIAS_FORMAT_ERROR_MESSAGE,notUniqueBILNAlias:"The BILN alias must be unique amongst peptide and CHEM monomers.",invalidRnaPresetStructure:"Structure of rna preset component contains issues. Please adjust the structure.",rnaPresetAtomsOutsideComponents:"Every atom in the loaded structure must belong to a sugar, base, or a phosphate.",rnaPresetAtomsInMultipleComponents:"Every atom in the loaded structure must belong only to one of the components (sugar, base, or phosphate).",rnaPresetMissingComponents:"Every preset must contain at least two components, with sugar being a mandatory component.",rnaPresetInvalidSugarConnectionBonds:"Sugar can only have one single bond with base and one single bond with phosphate.",rnaPresetUnexpectedBasePhosphateBond:"Phosphate and base mustn't have a bond.",rnaPresetInvalidSugarBaseConnectionAttachmentPoints:"The bond between sugar and base must be established between R3 of the sugar and R1 of the base.",rnaPresetInvalidSugarPhosphateConnectionAttachmentPoints:"The bond between sugar and phosphate must be established between R2 of one monomer and R1 of the other.",notUniquePresetCode:"The preset code must be unique amongst other presets.",invalidPresetCode:"The preset code must consist only of uppercase and lowercase letters, numbers, hyphens (-), underscores (_), and asterisks (*).",invalidName:"The monomer name must consist only of uppercase and lowercase letters, numbers, hyphens (-), underscores (_), asterisks (*), and spaces.",invalidPhosphatePositionAttachmentPoints:"3\u2032 position requires phosphate R1 and sugar R2, 5\u2032 position requires phosphate R2 and sugar R1.",phosphatePositionNotSelected:"You must chose the position of the phosphate (5' or 3')."},yu={defaultAttachmentPoints:"info",emptyMandatoryFields:"error",invalidSymbol:"error",symbolExists:"error",editingIsNotAllowed:"error",noAttachmentPoints:"error",incorrectAttachmentPointsOrder:"error",attachmentPointsNotUnique:"error",creationSuccessful:"info",creationRNASuccessful:"info",incontinuousStructure:"error",notUniqueModificationTypes:"error",modificationTypeExists:"error",notMinimalViableStructure:"error",impureStructure:"error",invalidHELMAlias:"error",notUniqueHELMAlias:"error",invalidBILNAlias:"error",notUniqueBILNAlias:"error",invalidRnaPresetStructure:"error",rnaPresetAtomsOutsideComponents:"error",rnaPresetAtomsInMultipleComponents:"error",rnaPresetMissingComponents:"error",rnaPresetInvalidSugarConnectionBonds:"error",rnaPresetUnexpectedBasePhosphateBond:"error",rnaPresetInvalidSugarBaseConnectionAttachmentPoints:"error",rnaPresetInvalidSugarPhosphateConnectionAttachmentPoints:"error",notUniquePresetCode:"error",invalidPresetCode:"error",invalidName:"error",invalidPhosphatePositionAttachmentPoints:"error",phosphatePositionNotSelected:"error"},zu="MonomerCreationExternalNotification",Ou="MonomerCreationMarkAsComponent",Lu=function(){var U=Zy().ketcherId,F=(0,n.useCallback)(function(U){return function(F){window.dispatchEvent(new CustomEvent(Ou,{detail:U}))}},[]),Q=(0,n.useCallback)(function(){var F=W.ketcherProvider.getKetcher(U).editor;if(!F.isMonomerCreationWizardActive)return!1;var Q=F.monomerCreationState;return null===Q||void 0===Q?void 0:Q.isRnaPresetMode},[U]),B=(0,n.useCallback)(function(){var F=W.ketcherProvider.getKetcher(U).editor,Q=F.selection(),B=F.struct();return null===Q||void 0===Q||!Q.atoms||0===Q.atoms.length||!Eu.isStructureContinuous(B,Q)},[U]);return{handler:F,isVisible:Q,isDisabled:B}},Hu="ToggleButtonGroup-module_button__5nfNK",xu="ToggleButtonGroup-module_selected__SAbod";function uu(U){var F=U.buttons,Q=U.onClick,l=U.defaultValue,d=U.title,J=(0,n.useState)(l),N=(0,R.A)(J,2),Z=N[0],W=N[1],S=(0,n.useCallback)(function(U,F){U.stopPropagation(),Q(F),W(F)},[Q]),E=(0,n.useCallback)(function(U){var F=(U||"").trim();return""!==F&&!isNaN(Number(F))},[]),k=(0,n.useMemo)(function(){var U=F.filter(function(U){var F=U.label;return!E(F)}),Q=F.filter(function(U){var F=U.label;return E(F)});return{textButtons:U,numericButtons:Q,hasNumeric:Q.length>0,isTwoTextButtons:2===U.length,isSingleTextButton:1===U.length}},[F,E]),t=k.textButtons,a=k.numericButtons,e=k.hasNumeric,C=k.isTwoTextButtons,D=k.isSingleTextButton,o=(0,n.useMemo)(function(){return{display:e&&C?"grid":"flex",gridTemplateColumns:e&&C?"51px 74px":void 0,columnGap:e&&C?2:void 0,rowGap:e&&C?0:void 0,flexWrap:e&&C?void 0:"wrap",flexDirection:e?void 0:"column",gap:e?void 0:5}},[e,C]),p=(0,n.useCallback)(function(U){var F=e&&C;return{display:"flex",flex:e&&!C&&!D?"1 0 45%":void 0,width:e&&D?51:F?void 0:"100%",height:28,margin:F?"0 0 0 0":0,gap:F?0:void 0,borderRadius:"4px",alignItems:"center",justifyContent:"center"}},[e,C,D]),h=(0,n.useMemo)(function(){return{display:"grid",gridTemplateColumns:"repeat(".concat(4,", ").concat(28,"px)"),gap:5,marginTop:5}},[]),c=(0,n.useMemo)(function(){return{display:"flex",boxSizing:"border-box",padding:0,minWidth:0,width:28,height:28,margin:0,borderRadius:"4px",alignItems:"center",justifyContent:"center"}},[]);return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)("div",{style:o,children:t.map(function(U){var F=U.label,Q=U.value;return(0,V.jsx)(kU,{"data-testid":"".concat(d,"-").concat(F,"-option"),value:Number(Q)||"",onClick:function(U){return S(U,Q)},className:(0,T.A)(Hu,(0,B.A)({},xu,Q===Z)),style:p(Q),children:F||"none"},F)})}),a.length>0&&(0,V.jsx)("div",{style:h,children:a.map(function(U){var F=U.label,Q=U.value;return(0,V.jsx)(kU,{"data-testid":"".concat(d,"-").concat(F,"-option"),value:Number(Q)||"",onClick:function(U){return S(U,Q)},className:(0,T.A)(Hu,(0,B.A)({},xu,Q===Z)),style:c,children:F},F)})})]})}var wu=[{name:"Red",value:"#F64D3C"},{name:"Orange",value:"#FF9A25"},{name:"Yellow",value:"#FFEA4E"},{name:"Green",value:"#8BC152"},{name:"Blue",value:"#00BBD3"},{name:"Purple",value:"#EE82EE"},{name:"Pink",value:"#FF69B4"},{name:"Magenta",value:"#FF00FF"}];(0,r.A)(bQ.Qw)(ru||(ru=c(["\n width: 150px;!important;\n"])));var ju=r.A.div(mu||(mu=c(["\n display: grid;\n grid-template-columns: repeat(4, 30px);\n padding: 5px;\n gap: 10px;\n"]))),Iu=r.A.span(Mu||(Mu=c(["\n width: 30px;\n height: 30px;\n background-color: ",";\n border-radius: 4px;\n cursor: pointer;\n &:hover {\n outline: 4px solid #00bbd3;\n }\n\n &.active {\n outline: 4px solid #00bbd3;\n }\n"])),function(U){return U.color}),Ku=(0,r.A)(bQ.q7)(iu||(iu=c(["\n .contexify_itemContent {\n padding: 0 !important;\n }\n"]))),fu=r.A.div(bu||(bu=c(["\n height: 1px;\n background-color: #ccc;\n"]))),gu=function(U){var F=U.onHighlight,Q=U.disabled;return(0,V.jsxs)(bQ.Qw,{"data-testid":"Highlight-option",label:"Highlight",disabled:Q,children:[(0,V.jsx)(ju,{children:wu.map(function(U){return(0,V.jsx)(Ku,{"data-testid":"".concat(U.name,"-option"),onClick:function(){return F(U.value)},children:(0,V.jsx)(Iu,{color:U.value})},U.name)})}),(0,V.jsx)(fu,{}),(0,V.jsx)(bQ.q7,{"data-testid":"No highlight-option",onClick:function(){return F("")},children:(0,V.jsxs)("div",{style:{marginLeft:"-10px"},children:[(0,V.jsx)(dM,{name:"no-highlight-cross"}),(0,V.jsx)("span",{style:{marginLeft:"10px"},children:"No highlight"})]})})]})};function Pu(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function Au(U){for(var F=1;F0,t=J.size>=8,a=[];E&&a.push((0,n.createElement)(bQ.q7,Au(Au({},Q),{},{onClick:function(){BX(void 0!==B),l.assignLeavingGroupAtom(B)},disabled:t||Z,key:"mark-as-leaving-group","data-testid":"mark-as-leaving-group"}),(0,V.jsx)(dM,{name:"leavingGroup",className:cu.icon}),"Mark as leaving group"));return a.push((0,n.createElement)(bQ.q7,Au(Au({},Q),{},{onClick:function(){BX(void 0!==B),l.assignConnectionPointAtom(B)},disabled:t||!k||W,"data-testid":"mark-as-connection-point",key:"mark-as-connection-point"}),(0,V.jsx)(dM,{name:"connectionPoint",className:cu.icon}),"Mark as connection point")),a.length>0?a:null}({props:U,selectedAtomId:r,editor:o});if(m&&c)return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(gu,{onHighlight:M}),(0,V.jsx)(bQ.wv,{}),(0,V.jsxs)(bQ.q7,nw(nw({},U),{},{"data-testid":"Delete-option",onClick:k,children:[(0,V.jsx)(dM,{name:"deleteMenu",className:cu.icon}),(0,V.jsx)("span",{className:cu.contextMenuText,children:"Delete"})]}))]});var b=null!==(l=U.propsFromTrigger)&&void 0!==l&&l.extraItemsSelected?"Edit selected atoms...":"Edit...",v=o.isMonomerCreationWizardActive,G=e(),s=C();return(0,V.jsxs)(V.Fragment,{children:[G&&(0,V.jsxs)(bQ.Qw,nw(nw({},U),{},{"data-testid":"Mark as a...-option",label:"Mark as a...",disabled:s,className:cu.subMenu,children:[(0,V.jsxs)(bQ.q7,nw(nw({},U),{},{"data-testid":"Mark as Base-option",onClick:a("base"),children:[(0,V.jsx)(dM,{name:"base",className:(0,T.A)(cu.icon,cu.markAsComponentIcon)}),(0,V.jsx)("span",{children:"Base"})]})),(0,V.jsxs)(bQ.q7,nw(nw({},U),{},{"data-testid":"Mark as Sugar-option",onClick:a("sugar"),children:[(0,V.jsx)(dM,{name:"sugar",className:(0,T.A)(cu.icon,cu.markAsComponentIcon)}),(0,V.jsx)("span",{children:"Sugar"})]})),(0,V.jsxs)(bQ.q7,nw(nw({},U),{},{"data-testid":"Mark as Phosphate-option",onClick:a("phosphate"),children:[(0,V.jsx)(dM,{name:"phosphate",className:(0,T.A)(cu.icon,cu.markAsComponentIcon)}),(0,V.jsx)("span",{children:"Phosphate"})]}))]})),i&&(0,V.jsxs)(V.Fragment,{children:[i,(0,V.jsx)(bQ.wv,{})]}),(0,V.jsxs)(bQ.q7,nw(nw({},U),{},{"data-testid":b.concat("-option"),onClick:J,children:[(0,V.jsx)(dM,{name:"editMenu",className:cu.icon}),(0,V.jsx)("span",{className:cu.contextMenuText,children:b})]})),(0,V.jsx)(bQ.q7,nw(nw({},U),{},{"data-testid":"Enhanced stereochemistry...-option",disabled:E,onClick:S,children:"Enhanced stereochemistry..."})),(0,V.jsx)(bQ.Qw,nw(nw({},U),{},{label:"Query properties","data-testid":"Query properties-option",style:{overflow:"visible"},disabled:v,children:Ew.map(function(F){var Q=F.title,R=F.buttons,l=F.key;return(0,n.createElement)(bQ.Qw,nw(nw({},U),{},{label:Q,"data-testid":"".concat(Q,"-option"),key:l,className:cu.sameGroup}),(0,V.jsx)(uu,{buttons:R,defaultValue:h(l),title:Q,onClick:function(F){return function(F,Q){var R,V=null===(R=U.propsFromTrigger)||void 0===R?void 0:R.atomIds;V&&JL({atoms:V,editor:o,changeAtomPromise:Promise.resolve(Sw.includes(F)?{queryProperties:nw(nw({},h("queryProperties")),{},(0,B.A)({},F,Q))}:(0,B.A)({},F,Q))})}(l,F)}}))})})),(0,V.jsx)(gu,{onHighlight:M,disabled:v}),(0,V.jsx)(bQ.wv,{}),(0,V.jsxs)(bQ.q7,nw(nw({},U),{},{"data-testid":"Delete-option",onClick:k,children:[(0,V.jsx)(dM,{name:"deleteMenu",className:cu.icon}),(0,V.jsx)("span",{className:cu.contextMenuText,children:"Delete"})]}))]})},tw=function(){var U=Zy().ketcherId,F=(0,n.useCallback)(function(){var F=(0,l.A)(J().mark(function F(Q){var B,R,V,n,l,d,N;return J().wrap(function(F){for(;;)switch(F.prev=F.next){case 0:return R=Q.props,V=W.ketcherProvider.getKetcher(U).editor,n=null!==(B=null===R||void 0===R?void 0:R.bondIds)&&void 0!==B?B:[],l=V.render.ctab,F.prev=4,d=iO(n,l),F.next=8,V.event.bondEdit.dispatch(d);case 8:N=F.sent,NL({bonds:n,changeBondPromise:N,editor:V}),F.next=16;break;case 12:F.prev=12,F.t0=F.catch(4),W.KetcherLogger.error("useBondEdit.ts::useBondEdit::handler",F.t0);case 16:case"end":return F.stop()}},F,null,[[4,12]])}));return function(U){return F.apply(this,arguments)}}(),[U]),Q=(0,n.useCallback)(function(U){var F=U.props,Q=null===F||void 0===F?void 0:F.bondIds;return!Array.isArray(Q)||0===Q.length},[]);return[F,Q]};function aw(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}var Tw=function(){var U=Zy().ketcherId,F=(0,n.useCallback)(function(F){var Q,R,V,n=F.id,l=F.props;if(null!=n){var d=null===(Q=rt[n])||void 0===Q?void 0:Q.action;if(d&&"function"!==typeof d){var J=W.ketcherProvider.getKetcher(U).editor,N=J.render.ctab,Z=null!==(R=null===l||void 0===l?void 0:l.bondIds)&&void 0!==R?R:[],S=function(U){for(var F=1;F1)return!0;var l=V.bonds.get(n[0]).b.getAttachedSGroups(V.molecule),d=(0,R.A)(l,1)[0],J=null===(Q=V.sgroups.get(d))||void 0===Q?void 0:Q.item;return(null===J||void 0===J||!J.isSuperatomWithoutLabel)&&l.size>0},[U]);return[F,Q]}(),p=(0,R.A)(o,2),h=p[0],c=p[1],r=function(){var U=Zy().ketcherId,F=(0,n.useRef)(new W.Pile),Q=(0,n.useCallback)(function(){var Q=W.ketcherProvider.getKetcher(U).editor,B=Array.from(F.current);_O.sgroupDialog(Q,B[0])},[U]),B=(0,n.useCallback)(function(Q){var B=Q.props,R=W.ketcherProvider.getKetcher(U).editor.render.ctab,V=B.bondIds;if(V.length>1)return!0;var n=R.bonds.get(V[0]);return F.current=n.b.getAttachedSGroups(R.molecule),F.current.size>1},[U]),V=(0,n.useCallback)(function(){var Q,B=W.ketcherProvider.getKetcher(U).editor.render.ctab,V=(0,R.A)(F.current,1)[0],n=null===(Q=B.sgroups.get(V))||void 0===Q?void 0:Q.item;return!(null===n||void 0===n||!n.isSuperatomWithoutLabel)||0===F.current.size},[U]);return[Q,B,V]}(),m=(0,R.A)(r,3),M=m[0],i=m[1],b=m[2],v=su(),G=Dw.slice(1),s=D({props:U.propsFromTrigger}),X=function(U){var F=Zy().ketcherId;return{changeDirection:function(){var Q,B,R,V=null===(Q=W.ketcherProvider.getKetcher(F))||void 0===Q?void 0:Q.editor,n=(null!==(B=null===(R=U.propsFromTrigger)||void 0===R?void 0:R.bondIds)&&void 0!==B?B:[])[0],l=null===V||void 0===V?void 0:V.render.ctab.molecule;if(l&&n&&l.bonds.get(n)){var d=(0,W.fromBondFlipping)(null===V||void 0===V?void 0:V.render.ctab,n);null===V||void 0===V||V.selection(null),V.update(d)}}}}(U),Y=X.changeDirection,y=W.ketcherProvider.getKetcher(B).editor;(0,n.useEffect)(function(){var F,Q,R=null===(F=W.ketcherProvider.getKetcher(B))||void 0===F?void 0:F.editor,V=(null===(Q=U.propsFromTrigger)||void 0===Q?void 0:Q.bondIds)||[];if(V.length>0&&R){var n=R.render.ctab.molecule.bonds.get(V[0]);if(n){N({type:n.type,stereo:n.stereo});var l=R.render.ctab.molecule,d=l.getGroupFromAtomId(n.begin),J=l.getGroupFromAtomId(n.end),Z=d instanceof W.MonomerMicromolecule&&J instanceof W.MonomerMicromolecule&&d!==J;k(Z)}else N(null),k(!1)}},[U.propsFromTrigger,B]);var z=J&&(9===J.type&&0===J.stereo||1===J.type&&1===J.stereo||1===J.type&&6===J.stereo||1===J.type&&4===J.stereo),O=y.isMonomerCreationWizardActive;return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(bQ.q7,Cw(Cw({},U),{},{"data-testid":null!==(F=U.propsFromTrigger)&&void 0!==F&&F.extraItemsSelected?"Edit selected bonds...-option":"Edit...-option",onClick:a,disabled:s,children:[(0,V.jsx)(dM,{name:"editMenu",className:cu.icon}),(0,V.jsx)("span",{className:cu.contextMenuText,children:null!==(Q=U.propsFromTrigger)&&void 0!==Q&&Q.extraItemsSelected?"Edit selected bonds...":"Edit..."})]})),(0,V.jsx)(bQ.wv,{}),G.map(function(F){var Q,B=JM(F),R=cu.sameGroup;return(0,n.createElement)(bQ.q7,Cw(Cw({className:R},U),{},{"data-testid":"".concat(F,"-option"),id:F,onClick:C,key:F,disabled:s}),B&&(0,V.jsx)(dM,{name:B,className:cu.icon}),(0,V.jsx)("span",{children:St(null!==(Q=rt[F].title)&&void 0!==Q?Q:"")}))}),(0,V.jsx)(bQ.wv,{}),(0,V.jsx)(bQ.Qw,Cw(Cw({},U),{},{"data-testid":"Query bonds-option",label:"Query bonds",className:cu.subMenu,disabled:O,children:kt.map(function(U){var F,Q=JM(U);return(0,V.jsxs)(bQ.q7,{className:cu.sameGroup,"data-testid":"".concat(U,"-option"),id:U,onClick:C,disabled:s,children:[Q&&(0,V.jsx)(dM,{name:Q,className:cu.icon}),(0,V.jsx)("span",{children:St(null!==(F=rt[U].title)&&void 0!==F?F:"")})]},U)})})),z&&(0,V.jsx)(bQ.q7,Cw(Cw({},U),{},{"data-testid":"Change direction-option",onClick:Y,disabled:E,children:"Change direction"})),(0,V.jsx)(bQ.q7,Cw(Cw({},U),{},{"data-testid":"Attach S-Group...-option",hidden:c,onClick:h,disabled:O||E,children:"Attach S-Group..."})),(0,V.jsx)(gu,{onHighlight:function(F){var Q,B=(null===(Q=U.propsFromTrigger)||void 0===Q?void 0:Q.bondIds)||[];y.highlights.create({atoms:[],bonds:B,rgroupAttachmentPoints:[],color:""===F?"transparent":F})},disabled:O}),(0,V.jsx)(bQ.q7,Cw(Cw({},U),{},{"data-testid":"Edit S-Group...-option",hidden:b,disabled:i,onClick:M,children:"Edit S-Group..."})),(0,V.jsx)(bQ.wv,{}),(0,V.jsxs)(bQ.q7,Cw(Cw({},U),{},{"data-testid":"Delete-option",onClick:v,children:[(0,V.jsx)(dM,{name:"deleteMenu",className:cu.icon}),(0,V.jsx)("span",{className:cu.contextMenuText,children:"Delete"})]}))]})};function pw(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function hw(U){for(var F=1;F1},[]);return[F,Q,B]}(),d=(0,R.A)(B,3),N=d[0],Z=d[1],S=d[2],E=W.ketcherProvider.getKetcher(F).editor;return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(bQ.q7,sw(sw({},U),{},{disabled:Z,hidden:S,onClick:N,children:"Edit..."})),(0,V.jsx)(gu,{onHighlight:function(F){var Q,B=(null===(Q=U.propsFromTrigger)||void 0===Q?void 0:Q.rgroupAttachmentPoints)||[];E.highlights.create({rgroupAttachmentPoints:B,atoms:[],bonds:[],color:""===F?"transparent":F})}}),(0,V.jsx)(bQ.q7,sw(sw({},U),{},{onClick:Q,children:"Remove"}))]})};function Yw(U,F){var Q=U;Q.update(F),Q.selection(null),Q.focusCliparea()}function yw(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function zw(U){for(var F=1;F1,a=null!==(l=null===E||void 0===E?void 0:E.every(function(U){return!Lw(U)}))&&void 0!==l&&l,T=t?"Expand monomers":"Expand monomer",e=t?"Collapse monomers":"Collapse monomer",C=t||!(k instanceof W.MonomerMicromolecule)||(0,W.isAmbiguousMonomerLibraryItem)(k.monomer.monomerItem)||k.monomer.monomerItem.props.unresolved;return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(bQ.q7,ww(ww({},U),{},{"data-testid":"Edit Instance-option",onClick:function(){var U,F=W.ketcherProvider.getKetcher(d).editor,Q=null===E||void 0===E||null===(U=E[0])||void 0===U?void 0:U.relatedSGroup;if(Q instanceof W.MonomerMicromolecule){var B=(0,o.A)(Q.atoms),R=[];F.struct().bonds.forEach(function(U,F){B.includes(U.begin)&&B.includes(U.end)&&R.push(F)}),F.openMonomerCreationWizard({atoms:B,bonds:R,rxnArrows:[],rxnPluses:[],texts:[],rgroupAttachmentPoints:[]},xw(Q.monomer),Q.getAttachmentPoints())}},disabled:C,children:"Edit Instance"})),(0,V.jsx)(bQ.q7,ww(ww({},U),{},{"data-testid":"".concat(T,"-option"),hidden:function(U){return S(U,!0)},onClick:function(U){return Z(U,!0)},disabled:a,children:T})),(0,V.jsx)(bQ.q7,ww(ww({},U),{},{"data-testid":"".concat(e,"-option"),hidden:function(U){return S(U,!1)},onClick:function(U){return Z(U,!1)},children:e}))]})},Iw=function(U){var F=U.propsFromTrigger,Q=Zy().ketcherId,B=W.ketcherProvider.getKetcher(Q).editor;if(!F)return null;var n=F.attachmentPointName;return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(bQ.q7,{"data-testid":"edit-connection-point",onClick:function(){var U,F=null===(U=B.monomerCreationState)||void 0===U||null===(U=U.assignedAttachmentPoints)||void 0===U?void 0:U.get(n);BX(F);var Q=(0,R.A)(F,2)[1],V=B.struct().atoms.get(Q);BX(V);var l={attachmentPointName:n,position:W.Coordinates.modelToView(V.pp)};window.dispatchEvent(new CustomEvent(W.MonomerCreationAttachmentPointClickEvent,{detail:l}))},children:[(0,V.jsx)(dM,{name:"editMenu",className:cu.icon}),"Edit connection point"]}),(0,V.jsxs)(bQ.q7,{"data-testid":"remove-assignment",onClick:function(){B.removeAttachmentPoint(n)},children:[(0,V.jsx)(dM,{name:"deleteMenu",className:cu.icon}),"Remove assignment"]})]})};function Kw(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function fw(U){for(var F=1;FV.right&&(d=V.right-R.width),R.bottom>V.bottom&&(J=V.bottom-R.height),d<0&&(d=0),J<0&&(J=0),R.right>n&&(d=n-R.width-10),R.bottom>l&&(J=l-R.height-10),Q.style.left="".concat(d,"px"),Q.style.top="".concat(J,"px")}}}(R)},0),V.length&&V.forEach(function(U){!function(U){var F,Q,B,R,V=U.getBoundingClientRect(),n=document.querySelector($t),l=null===n||void 0===n?void 0:n.getBoundingClientRect(),d=null!==(F=null===l||void 0===l?void 0:l.width)&&void 0!==F?F:0,J=null!==(Q=null===l||void 0===l?void 0:l.height)&&void 0!==Q?Q:0,N=null!==(B=null===l||void 0===l?void 0:l.left)&&void 0!==B?B:0,Z=null!==(R=null===l||void 0===l?void 0:l.top)&&void 0!==R?R:0;V.right-N>d?(U.style.left="auto",U.style.right="100%"):(U.style.left="100%",U.style.right="auto"),V.bottom-Z>J?(U.style.top="auto",U.style.bottom="0"):(U.style.top="0",U.style.bottom="auto")}(U)})}B.contextMenu[F]=Q},[U]),Q=document.querySelector($t);return Q?(0,b.createPortal)((0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(bQ.W1,fw(fw({},gw),{},{id:au.FOR_BONDS+U,onVisibilityChange:function(Q){return F(au.FOR_BONDS+U,Q)},children:(0,V.jsx)(ow,{})})),(0,V.jsx)(bQ.W1,fw(fw({},gw),{},{id:au.FOR_ATOMS+U,onVisibilityChange:function(Q){return F(au.FOR_ATOMS+U,Q)},children:(0,V.jsx)(kw,{})})),(0,V.jsx)(bQ.W1,fw(fw({},gw),{},{id:au.FOR_SELECTION+U,onVisibilityChange:function(Q){return F(au.FOR_SELECTION+U,Q)},children:(0,V.jsx)(bw,{})})),(0,V.jsx)(bQ.W1,fw(fw({},gw),{},{id:au.FOR_FUNCTIONAL_GROUPS+U,onVisibilityChange:function(Q){return F(au.FOR_FUNCTIONAL_GROUPS+U,Q)},children:(0,V.jsx)(cw,{})})),(0,V.jsx)(bQ.W1,fw(fw({},gw),{},{id:au.FOR_R_GROUP_ATTACHMENT_POINT+U,onVisibilityChange:function(Q){return F(au.FOR_R_GROUP_ATTACHMENT_POINT+U,Q)},children:(0,V.jsx)(Xw,{})})),(0,V.jsx)(bQ.W1,fw(fw({},gw),{},{id:au.FOR_MULTITAIL_ARROW+U,onVisibilityChange:function(Q){return F(au.FOR_MULTITAIL_ARROW+U,Q)},children:(0,V.jsx)(Ow,{})})),(0,V.jsx)(bQ.W1,fw(fw({},gw),{},{id:au.FOR_MACROMOLECULE+U,onVisibilityChange:function(Q){return F(au.FOR_MACROMOLECULE+U,Q)},children:(0,V.jsx)(jw,{})})),(0,V.jsx)(bQ.W1,fw(fw({},gw),{},{id:au.FOR_ATTACHMENT_POINT_LABEL+U,onVisibilityChange:function(Q){return F(au.FOR_ATTACHMENT_POINT_LABEL+U,Q)},children:(0,V.jsx)(Iw,{})}))]}),Q):null};var Aw=["enhancedFlags"];function qw(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function _w(U){for(var F=1;F0){var n=Array.from(F.values());return n.some(function(U){return U.relatedSGroup instanceof W.MonomerMicromolecule})?{id:au.FOR_MACROMOLECULE+Q,functionalGroups:n}:{id:au.FOR_FUNCTIONAL_GROUPS+Q,functionalGroups:n}}return!B||R||V?!R||B||V?!V||B||R?{id:au.FOR_SELECTION+Q,bondIds:B,atomIds:R,rgroupAttachmentPoints:V}:{id:au.FOR_R_GROUP_ATTACHMENT_POINT+Q,rgroupAttachmentPoints:V,extraItemsSelected:!Tt(U,"rgroupAttachmentPoints",Aw)}:{id:au.FOR_ATOMS+Q,atomIds:R,extraItemsSelected:!Tt(U,"atoms",Aw)}:{id:au.FOR_BONDS+Q,bondIds:B,extraItemsSelected:!Tt(U,"bonds",Aw)}}(Z,E,Q)}t&&B({id:t.id,event:U,props:_w(_w({},t),{},{ketcherId:Q})})}else{var a=1===U.buttons;Z&&!a&&F.selection(null)}}},[R,B,Q]);return(0,V.jsx)("div",{style:{height:"100%"},onContextMenu:l,role:"application",children:F})},Uj="InfoPanel-module_infoPanel__irvZL",Fj="InfoPanel-module_infoTooltip__D7Mnj",Qj="InfoPanel-module_infoTooltipSmallSquare__DtHa7",Bj=function(U,F){return U/F*.4};var Rj=function(U){var F=U.clientX,Q=U.clientY,B=U.render,l=U.className,d=U.sGroup,J=U.sGroupData,N=(0,n.useState)(0),Z=(0,R.A)(N,2),S=Z[0],E=Z[1],k=(0,n.useState)(0),t=(0,R.A)(k,2),a=t[0],e=t[1],C=(0,n.useRef)(null);(0,n.useEffect)(function(){C.current&&(E(C.current.clientHeight),e(C.current.clientWidth))});var D=function(U,F,Q,B,V,n){var l,d,J,N=96+V,Z=(null===B||void 0===B||null===(l=B.clientArea)||void 0===l?void 0:l.clientHeight)-32-n,S=(null===B||void 0===B||null===(d=B.clientArea)||void 0===d?void 0:d.clientWidth)-32-V;if(!Q.hovering)return null;var E=function(U){if(!U)return[];for(var F=[],Q={x:U[0][0],y:U[0][1]},B=1;BZ&&(D=e.y-n),U>S&&(C=t.x-V,D=t.y-n/2),Ut?n=k.x-R-Jj:UT&&(l=k.y-V-60)}return[new W.Vec2(n,l),new W.Vec2(R,V)]}(Q,B,l,N),r=(0,R.A)(c,2),m=r[0],M=r[1],i=m.x,b=m.y,v=M.x,G=M.y;return E&&N&&!W.SGroup.isDataSGroup(N)&&!W.SGroup.isQuerySGroup(N)?(0,V.jsx)("div",{style:{left:i+"px",top:b+"px"},className:(0,T.A)(Uj,d),children:(0,V.jsx)(GM,{struct:E,options:dj(dj({},l.options),{},{downScale:!0,cachePrefix:"infoPanel",needCache:!1,width:v,height:G})})}):(0,V.jsx)(Rj,{clientX:Q,clientY:B,render:l,sGroup:N,sGroupData:e,className:d})}),Zj=30,Wj=30;var Sj=(0,v.Ng)(function(U){var F;return{render:null===(F=U.editor)||void 0===F||null===(F=F.render)||void 0===F||null===(F=F.ctab)||void 0===F?void 0:F.render}})(function(U){var F,Q=U.render,B=U.className,l=(0,n.useState)(null),d=(0,R.A)(l,2),J=d[0],N=d[1],Z=(0,n.useState)({x:null,y:null}),W=(0,R.A)(Z,2),S=W[0],E=W[1];if((0,n.useEffect)(function(){var U=(0,p.debounce)(function(U,F){N(F),E({x:U.clientX,y:U.clientY})},300),F=function(F){var Q=F.target.dataset.tooltip;Q?U(F,Q):(U.cancel(),N(null),E({x:null,y:null}))};return document.addEventListener("mouseover",F),function(){document.removeEventListener("mouseover",F)}},[]),!J||!S.x||!S.y)return null;var k=null===Q||void 0===Q||null===(F=Q.clientArea)||void 0===F?void 0:F.getBoundingClientRect(),t=function(U,F,Q){var B,R,V=U.x-Q.x,n=U.y-Q.y,l=(null===F||void 0===F||null===(B=F.clientArea)||void 0===B?void 0:B.clientWidth)-70,d=(null===F||void 0===F||null===(R=F.clientArea)||void 0===R?void 0:R.clientHeight)-40,J=V-Zj,N=n-Wj;return J>l&&(J=J-140-20),N>d&&(N-=20),{x:J,y:N}}(S,Q,k?{x:k.left,y:k.top}:{x:0,y:0}),a=["5'","3'"].includes((J||"").trim());return(0,V.jsx)("div",{id:"atomInfoTooltip","data-testid":"atom-info-tooltip",role:"tooltip",style:{left:t.x+"px",top:t.y+"px"},className:(0,T.A)(Fj,a&&Qj,B),dangerouslySetInnerHTML:{__html:J}})}),Ej={monomerCreationWizard:"MonomerCreationWizard-module_monomerCreationWizard__YebqM",monomerCreationWizardBackdrop:"MonomerCreationWizard-module_monomerCreationWizardBackdrop__Ohs9v",leftColumn:"MonomerCreationWizard-module_leftColumn__37rQm",wizardTitle:"MonomerCreationWizard-module_wizardTitle__CM1O0",notificationsArea:"MonomerCreationWizard-module_notificationsArea__Rylrw",rightColumn:"MonomerCreationWizard-module_rightColumn__1iO-A",attributesWindow:"MonomerCreationWizard-module_attributesWindow__RlPFW",attributesTitle:"MonomerCreationWizard-module_attributesTitle__5V6-3",attributesFields:"MonomerCreationWizard-module_attributesFields__93rI4",typeOption:"MonomerCreationWizard-module_typeOption__PWgpy",input:"MonomerCreationWizard-module_input__Bd8De",inputError:"MonomerCreationWizard-module_inputError__UBQJ0",divider:"MonomerCreationWizard-module_divider__CQQFT",attachmentPointsHeader:"MonomerCreationWizard-module_attachmentPointsHeader__yRs8G",attachmentPointInfoIcon:"MonomerCreationWizard-module_attachmentPointInfoIcon__ONAvJ",attachmentPointsTitle:"MonomerCreationWizard-module_attachmentPointsTitle__MJp08",attachmentPoints:"MonomerCreationWizard-module_attachmentPoints__k6-zs",attachmentPointsExtra:"MonomerCreationWizard-module_attachmentPointsExtra__QTfOs",attachmentPointIcon:"MonomerCreationWizard-module_attachmentPointIcon__zZW8Q",buttonsContainer:"MonomerCreationWizard-module_buttonsContainer__7sTlf",buttonDiscard:"MonomerCreationWizard-module_buttonDiscard__GPRz7",buttonSubmit:"MonomerCreationWizard-module_buttonSubmit__Ex7ys",accordionContainer:"MonomerCreationWizard-module_accordionContainer__-TBkb",accordion:"MonomerCreationWizard-module_accordion__3LJ0L",modificationTypeRow:"MonomerCreationWizard-module_modificationTypeRow__u5vmr",deleteModificationTypeButton:"MonomerCreationWizard-module_deleteModificationTypeButton__U3XG5",addModificationTypeButton:"MonomerCreationWizard-module_addModificationTypeButton__gP9V2",smallDialog:"MonomerCreationWizard-module_smallDialog__1AZg-",dialogOverlay:"MonomerCreationWizard-module_dialogOverlay__lyhOX",DialogMessage:"MonomerCreationWizard-module_DialogMessage__p9HWw",inputField:"MonomerCreationWizard-module_inputField__JUcHZ",error:"MonomerCreationWizard-module_error__aay5X",inputLabel:"MonomerCreationWizard-module_inputLabel__yJwZl",aliasField:"MonomerCreationWizard-module_aliasField__BABA6"},kj=function(U){var F=U.className;return(0,V.jsx)(dM,{name:"chevron",className:F})},tj=function(U){var F,Q=U.className,R=U.value,n=U.onChange,l=U.multiple,d=void 0!==l&&l,J=U.disabled,N=U.options,Z=U.formName,W=U.name,S=U.placeholder,E=U["data-testid"],k=U.error,t=U.title,a=null===N||void 0===N?void 0:N.find(function(U){return U.value===R}),e=!!document.fullscreenElement?document.querySelector("#root"):void 0;return(0,V.jsx)(KF.A,{className:(0,T.A)(cH,Q),value:null!==(F=null===a||void 0===a?void 0:a.value)&&void 0!==F?F:"",title:t,onChange:function(U){n(U.target.value)},renderValue:function(U){var F,Q,B,R;return null!==(F=null!==(Q=null!==(B=null!==(R=null===a||void 0===a?void 0:a.children)&&void 0!==R?R:null===a||void 0===a?void 0:a.label)&&void 0!==B?B:S)&&void 0!==Q?Q:U)&&void 0!==F?F:""},displayEmpty:!0,multiple:d,disabled:J,placeholder:S,MenuProps:{container:e,className:pH},IconComponent:kj,"data-testid":E,error:k,children:null===N||void 0===N?void 0:N.map(function(U){var F;return"string"===typeof(null===U||void 0===U?void 0:U.value)&&U.value.includes("Divider")?(0,V.jsx)(yQ,{className:hH},U.value):(0,V.jsx)(zQ.A,{value:U.value,disableRipple:!0,disabled:U.disabled,className:(0,T.A)((0,B.A)({},"dropdown-".concat(Z,"_").concat(W),Z)),"data-testid":"".concat(U.label,"-option"),children:(0,V.jsx)(V.Fragment,{children:null!==(F=U.children)&&void 0!==F?F:U.label})},U.value)})})},aj="NaturalAnaloguePicker-module_selectContainer__z-Wds",Tj="NaturalAnaloguePicker-module_selectedChip__r5G4v",ej="NaturalAnaloguePicker-module_placeholder__nd-xp",Cj="NaturalAnaloguePicker-module_dropdownMenu__-5nyX",Dj="NaturalAnaloguePicker-module_dropdownPaper__EYB4P",oj="NaturalAnaloguePicker-module_dropdownList__cf-r5",pj="NaturalAnaloguePicker-module_gridItem__ELf27",hj="NaturalAnaloguePicker-module_optionChip__cYotZ",cj={chip:"NaturalAnalogueChip-module_chip__4cj06",chipStrip:"NaturalAnalogueChip-module_chipStrip__AFNlP"},rj=function(U){var F=U.label,Q=U.color,B=U.className;return(0,V.jsxs)("button",{className:(0,T.A)(cj.chip,B),children:[(0,V.jsx)("span",{className:cj.chipLetter,children:F}),(0,V.jsx)("div",{className:cj.chipStrip,style:{backgroundColor:Q}})]})},mj=function(U){var F=U.className;return(0,V.jsx)(dM,{name:"chevron",className:F})},Mj=[{value:"A",label:"A",color:"#008080"},{value:"C",label:"C",color:"#BF00FF"},{value:"D",label:"D",color:"#FF8C69"},{value:"E",label:"E",color:"#DC143C"},{value:"F",label:"F",color:"#008A00"},{value:"G",label:"G",color:"#BDB76B"},{value:"H",label:"H",color:"#007FFF"},{value:"I",label:"I",color:"#4CBB17"},{value:"K",label:"K",color:"#B0E0E6"},{value:"L",label:"L",color:"#7FFF00"},{value:"M",label:"M",color:"#FFF600"},{value:"N",label:"N",color:"#800080"},{value:"O",label:"O",color:"#2A52BE"},{value:"P",label:"P",color:"#D2D900"},{value:"Q",label:"Q",color:"#EDB4ED"},{value:"R",label:"R",color:"#0A12FF"},{value:"S",label:"S",color:"#9966CC"},{value:"T",label:"T",color:"#FF00FF"},{value:"U",label:"U",color:"#CA7DE3"},{value:"V",label:"V",color:"#FFD700"},{value:"W",label:"W",color:"#CCCBD6"},{value:"X",label:"X",color:"#CCCBD6"},{value:"Y",label:"Y",color:"#D65CBC"}],ij=[{value:"A",label:"A",color:"#008080"},{value:"C",label:"C",color:"#BF00FF"},{value:"G",label:"G",color:"#BDB76B"},{value:"T",label:"T",color:"#FF00FF"},{value:"U",label:"U",color:"#CA7DE3"},{value:"X",label:"X",color:"#CCCBD6"}],bj=function(U){return U===W.KetMonomerClass.AminoAcid||U===W.KetMonomerClass.Base||U===W.KetMonomerClass.RNA},vj=function(U){var F=U.monomerType,Q=U.value,B=U.onChange,R=U.className,l=U.error,d=!bj(F),J=F===W.KetMonomerClass.AminoAcid?Mj:ij,N=(0,n.useCallback)(function(U){var F=J.find(function(F){return F.value===U});return F?(0,V.jsx)(rj,{label:F.label,color:F.color,className:Tj,"data-testid":"natural-analogue-picker-selected-".concat(F.value)}):(0,V.jsx)("span",{className:ej,children:"Select an analogue"})},[J]),Z=(0,n.useMemo)(function(){return{className:Cj,PaperProps:{className:Dj},MenuListProps:{className:oj}}},[]);return(0,V.jsx)(KF.A,{className:(0,T.A)(aj,R),value:Q,onChange:function(U){B(U.target.value)},displayEmpty:!0,renderValue:N,MenuProps:Z,IconComponent:mj,"data-testid":"natural-analogue-picker",disabled:d,error:l,children:J.map(function(U){return(0,V.jsx)(zQ.A,{value:U.value,className:pj,disableRipple:!0,"data-testid":"natural-analogue-picker-option-".concat(U.value),children:(0,V.jsx)(rj,{label:U.label,color:U.color,className:hj})},U.value)})})},Gj=function(U){var F;return Boolean(null===U||void 0===U||null===(F=U.atoms)||void 0===F?void 0:F.length)},sj=function(U){return Gj(U.sugar.structure)&&(Gj(U.base.structure)||Gj(U.phosphate.structure))},Xj=function(U,F,Q){return(F.includes(U.begin)||F.includes(U.end))&&(Q.includes(U.begin)||Q.includes(U.end))},Yj=function(U,F,Q){var B;return U.bonds.forEach(function(U){!B&&Xj(U,F,Q)&&(B=U)}),B},yj=function(U,F,Q){var B=0,R=!1;return U.bonds.forEach(function(U){Xj(U,F,Q)&&(B+=1,R=R||!function(U){var F=void 0===U.type||U.type===W.Bond.PATTERN.TYPE.SINGLE,Q=new Set([void 0,W.Bond.PATTERN.STEREO.NONE,W.Bond.PATTERN.STEREO.UP,W.Bond.PATTERN.STEREO.DOWN]);return F&&Q.has(U.stereo)}(U))}),{count:B,hasInvalidBond:R}},zj=function(U,F){var Q,B,V,n=[],l=new Set,d=(null===(Q=F.sugar.structure)||void 0===Q?void 0:Q.atoms)||[],J=(null===(B=F.base.structure)||void 0===B?void 0:B.atoms)||[],N=(null===(V=F.phosphate.structure)||void 0===V?void 0:V.atoms)||[],Z=Gj(F.base.structure),W=Gj(F.phosphate.structure),S=[].concat((0,o.A)(d),(0,o.A)(J),(0,o.A)(N)),E=new Map;S.forEach(function(U){var F;E.set(U,(null!==(F=E.get(U))&&void 0!==F?F:0)+1)}),Array.from(E.entries()).some(function(U){var F=(0,R.A)(U,2),Q=F[0];return F[1]>1&&(l.add(Q),!0)})&&n.push("rnaPresetAtomsInMultipleComponents");var k=!1;U.atoms.forEach(function(U,F){E.has(F)||(k=!0,l.add(F))}),k&&n.push("rnaPresetAtomsOutsideComponents"),sj(F)||n.push("rnaPresetMissingComponents");var t=yj(U,d,J),a=yj(U,d,N),T=yj(U,J,N);return(Z&&(1!==t.count||t.hasInvalidBond)||W&&(1!==a.count||a.hasInvalidBond))&&n.push("rnaPresetInvalidSugarConnectionBonds"),T.count>0&&n.push("rnaPresetUnexpectedBasePhosphateBond"),{issues:n,problematicAtomIds:l}},Oj=function(U){var F;return null===(F=U.editor)||void 0===F||null===(F=F.render)||void 0===F?void 0:F.options},Lj=function(U){var F;return null===(F=U.editor)||void 0===F?void 0:F.monomerCreationState},Hj=function(U){var F;return null===(F=U.editor)||void 0===F?void 0:F.selection()},xj="AttributeField-module_field__1lvR1",uj="AttributeField-module_fieldTitle__pYIun",wj="AttributeField-module_required__H-K3Q",jj="AttributeField-module_disabled__gHGq3",Ij=function(U){var F=U.title,Q=U.control,B=U.required,R=U.disabled;return(0,V.jsxs)("div",{className:xj,children:[(0,V.jsxs)("p",{className:(0,T.A)(uj,R&&jj),children:[F,B&&(0,V.jsx)("span",{className:(0,T.A)(wj,R&&jj),children:"*"})]}),Q]})},Kj="Notification-module_notification__yHqXk",fj="Notification-module_notificationStrip__gSCg2",gj="Notification-module_info__M2qqL",Pj="Notification-module_error__I3OUR",Aj="Notification-module_notificationIcon__weZ-g",qj="Notification-module_notificationText__4-qhV",_j="Notification-module_notificationButton__Bgw5u",$j={info:"checkFilled",error:"warningFilled",warning:"warningFilled"},UI=function(U){var F=U.id,Q=U.type,B=U.message,R=U.wizardStateDispatch;return(0,V.jsxs)("div",{className:(0,T.A)(Kj,"info"===Q&&gj,"error"===Q&&Pj),"data-testid":"notification-".concat(F,"-message-banner"),children:[(0,V.jsx)("div",{className:fj}),(0,V.jsx)(dM,{name:$j[Q],className:Aj}),(0,V.jsx)("p",{className:qj,"data-testid":"notification-message-body",children:B}),(0,V.jsx)("button",{className:_j,onClick:function(){R({type:"RemoveNotification",id:F})},"data-testid":"notification-message-ok-button",children:"OK"})]})},FI="AttachmentPointControls-module_selectsWrapper__FmdLM",QI="AttachmentPointControls-module_highlight__DW90m",BI="AttachmentPointControls-module_nameSelect__ku1DR",RI="AttachmentPointControls-module_leavingAtomSelect__nxOam",VI=(0,n.forwardRef)(function(U,F){var Q=U.data,B=U.onNameChange,R=U.onLeavingAtomChange,n=U.className,l=U.additionalControls,d=U.highlight,J=U.isPopup,N=U.disabled,Z=U.disabledName,W=U.nameTooltip,S=Q.nameOptions,E=Q.leavingAtomOptions,k=Q.currentNameOption,t=Q.currentLeavingAtomOption;return(0,V.jsxs)("div",{className:(0,T.A)(FI,n,d&&QI),ref:F,"data-testid":"attachment-point-controls-".concat(null===k||void 0===k?void 0:k.label),children:[(0,V.jsx)(tj,{className:BI,options:S,value:null===k||void 0===k?void 0:k.value,onChange:function(U){B(U)},disabled:N||Z,title:Z?W:void 0,"data-testid":J?"attachment-point-name-select":"attachment-point-name-select-".concat(null===k||void 0===k?void 0:k.label)}),(0,V.jsx)(tj,{className:RI,options:E,value:null===t||void 0===t?void 0:t.value,onChange:function(U){R(U)},disabled:N,"data-testid":J?"attachment-point-atom-select":"attachment-point-atom-select-".concat(null===k||void 0===k?void 0:k.label)}),l]})}),nI=["\u2080","\u2081","\u2082","\u2083","\u2084","\u2085","\u2086","\u2087","\u2088","\u2089"],lI=function(U,F){return F>0?F>1?"".concat(U).concat(W.AtomLabel.H).concat(nI[F]):"".concat(U).concat(W.AtomLabel.H):U},dI=function(U){var F=arguments.length>1&&void 0!==arguments[1]?arguments[1]:U===W.AtomLabel.O?1:0;return{value:U,label:U,children:(0,V.jsx)(V.Fragment,{children:lI(U,F)})}},JI=function(U){var F=arguments.length>1&&void 0!==arguments[1]?arguments[1]:U===W.AtomLabel.O?1:0,Q=U===W.AtomLabel.H,B=U===W.AtomLabel.O&&1===F,R=[dI(W.AtomLabel.H,0),dI(W.AtomLabel.O)];Q||B||R.push(dI(U,F));var V=R.find(function(F){return F.value===W.AtomLabel.H?Q:F.value===W.AtomLabel.O?B:F.value===U});return{options:R,currentOption:V}},NI=function(U,F){if(!U.monomerCreationState)return null;var Q=U.monomerCreationState.assignedAttachmentPoints,B=Q.get(F);if(!B)return null;var V=(0,R.A)(B,2),n=V[0],l=V[1];if(!U.struct().atoms.get(n))return null;var d=U.struct().atoms.get(l);if(!d)return null;var J=Array.from(Q.keys()).map(function(U){return(0,W.getAttachmentPointNumberFromLabel)(U)}),N=Math.max.apply(Math,(0,o.A)(J)),Z=N<=3?3:Math.min(N,8),S=Array.from({length:Z}).map(function(U,F){return{value:"R".concat(F+1),label:"R".concat(F+1)}}),E=d.label,k=d.implicitH,t=JI(E,k),a=t.options,T=t.currentOption,e=S.find(function(U){return U.value===F});return{nameOptions:S,leavingAtomOptions:a,currentNameOption:e,currentLeavingAtomOption:T}},ZI="AttachmentPointEditPopup-module_popup__A5WpH",WI="AttachmentPointEditPopup-module_title__-4VgW",SI="AttachmentPointEditPopup-module_selectsWrapper__r9qAO",EI=function(U){var F=U.data,Q=U.onNameChange,B=U.onLeavingAtomChange,R=U.onClose,l=U.editor,d=(0,n.useRef)(null);(0,n.useEffect)(function(){var U=function(U){var F=d.current,Q=U.target;if(F&&!F.contains(Q)){var B=U.target;B.closest&&(B.closest('[role="listbox"]')||B.closest('[role="option"]')||B.closest(".MuiPaper-root")||B.closest(".MuiList-root")||B.closest(".MuiMenuItem-root")||B.closest(".MuiSelect-root")||B.closest('[data-testid*="select"]'))||R()}},F=function(U){"Escape"===U.key&&R()};return document.addEventListener("mousedown",U),document.addEventListener("keydown",F),function(){document.removeEventListener("mousedown",U),document.removeEventListener("keydown",F)}},[R]);var J=F.attachmentPointName,N=F.position;BX(l.monomerCreationState);var Z=l.monomerCreationState.assignedAttachmentPoints,W=NI(l,J);if(!W)return null;return(0,V.jsxs)("div",{className:(0,T.A)(cH,ZI),style:{top:N.y,left:N.x},ref:d,"data-testid":"attachment-point-edit-popup",children:[(0,V.jsx)("p",{className:WI,children:"Edit connection point"}),(0,V.jsx)(VI,{data:W,onNameChange:function(U){U!==J&&Q(J,U),R()},onLeavingAtomChange:function(U){var F=Z.get(J);BX(F);var Q=F[1],V=l.struct().atoms.get(Q);BX(V),U!==V.label&&B(J,U),R()},className:SI,isPopup:!0})]})},kI=[{monomerType:W.KetMonomerClass.AminoAcid,requirements:[{attachmentPoint:W.AttachmentPointName.R1,expectedLeavingGroup:W.AtomLabel.H},{attachmentPoint:W.AttachmentPointName.R2,expectedLeavingGroup:W.AtomLabel.O}],warningMessage:"Amino acid monomers typically have a hydrogen as the leaving group for R1, and a hydroxyl as a leaving group for R2. Do you wish to proceed with the current attachment points?"},{monomerType:W.KetMonomerClass.Sugar,requirements:[{attachmentPoint:W.AttachmentPointName.R1,expectedLeavingGroup:W.AtomLabel.H},{attachmentPoint:W.AttachmentPointName.R2,expectedLeavingGroup:W.AtomLabel.H},{attachmentPoint:W.AttachmentPointName.R3,expectedLeavingGroup:W.AtomLabel.O}],warningMessage:"Sugar monomers typically have a hydrogen as the leaving group for R1 and R2, and a hydroxyl as a leaving group for R3. Do you wish to proceed with the current attachment points?"},{monomerType:W.KetMonomerClass.Base,requirements:[{attachmentPoint:W.AttachmentPointName.R1,expectedLeavingGroup:W.AtomLabel.H}],warningMessage:"Base monomers typically have a hydrogen as the leaving group for R1. Do you wish to proceed with the current attachment points?"},{monomerType:W.KetMonomerClass.Phosphate,requirements:[{attachmentPoint:W.AttachmentPointName.R1,expectedLeavingGroup:W.AtomLabel.O},{attachmentPoint:W.AttachmentPointName.R2,expectedLeavingGroup:W.AtomLabel.O}],warningMessage:"Phosphate monomers typically have a hydroxyl as the leaving group for R1 and R2. Do you wish to proceed with the current attachment points?"},{monomerType:W.KetMonomerClass.RNA,requirements:[{attachmentPoint:W.AttachmentPointName.R1,expectedLeavingGroup:W.AtomLabel.H},{attachmentPoint:W.AttachmentPointName.R2,expectedLeavingGroup:W.AtomLabel.O}],warningMessage:"Nucleotide monomers typically have a hydrogen as the leaving group for R1, and a hydroxyl as a leaving group for R2. Do you wish to proceed with the current attachment points?"}];function tI(U,F){var Q="undefined"!=typeof Symbol&&U[Symbol.iterator]||U["@@iterator"];if(!Q){if(Array.isArray(U)||(Q=function(U,F){if(U){if("string"==typeof U)return aI(U,F);var Q={}.toString.call(U).slice(8,-1);return"Object"===Q&&U.constructor&&(Q=U.constructor.name),"Map"===Q||"Set"===Q?Array.from(U):"Arguments"===Q||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Q)?aI(U,F):void 0}}(U))||F&&U&&"number"==typeof U.length){Q&&(U=Q);var B=0,R=function(){};return{s:R,n:function(){return B>=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function aI(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q0||J.length>0)&&(0,V.jsxs)("div",{className:Ej.attachmentPoints,children:[Array.from(l.entries()).map(function(U){var F=(0,R.A)(U,2),B=F[0],n=F[1];return(0,V.jsx)(DI,{name:B,editor:Q,onNameChange:b,onLeavingAtomChange:G,onRemove:s},"".concat(B,"-").concat(n[0],"-").concat(n[1]))}),J.map(function(U){var F=U.name,B=U.leavingAtomLabel;return(0,V.jsx)(oI,{name:F,leavingAtomLabel:B,editor:Q,onLeavingAtomChange:S},"readonly-".concat(F))})]})]}),y&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)("div",{className:Ej.divider}),(0,V.jsx)("div",{className:Ej.accordionContainer,children:(0,V.jsxs)(_Q,{className:(0,T.A)(pI,Ej.accordion),square:!0,children:[(0,V.jsx)(nB,{className:Ej.accordionSummary,expandIcon:(0,V.jsx)(dM,{className:hI,name:"chevron"}),"data-testid":"modification-types-accordion",children:"Modification"}),(0,V.jsxs)(ZB,{children:[m.map(function(U,F){return(0,V.jsxs)("div",{className:Ej.modificationTypeRow,children:[(0,V.jsx)(vI,{value:U.value,naturalAnalogue:D,error:t[U.value]||t.emptyModificationType&&!U.value.trim(),onChange:function(F){return function(U,F){var Q=m.map(function(Q){return Q.id===U?sI(sI({},Q),{},{value:F}):Q});M(Q),null===N||void 0===N||N(Q.map(function(U){return U.value}))}(U.id,F)},testId:"modification-type-dropdown-".concat(F)}),(0,V.jsx)(DM,{iconName:"delete",className:Ej.deleteModificationTypeButton,title:"Delete modification type",onClick:function(){return function(U){var F=m.filter(function(F){return F.id!==U});M(F),null===N||void 0===N||N(F.map(function(U){return U.value}))}(U.id)},testId:"delete-modification-type-button-".concat(F)})]},U.id)}),(0,V.jsx)("button",{type:"button",className:Ej.addModificationTypeButton,onClick:function(){var U=m.length>=5?m:[].concat((0,o.A)(m),[{id:i.current++,value:""}]);M(U),null===N||void 0===N||N(U.map(function(U){return U.value}))},disabled:m.length>=5,"data-testid":"add-modification-type-button",children:"Add modification type"})]})]})})]}),z&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)("div",{className:Ej.divider}),(0,V.jsx)("div",{className:Ej.accordionContainer,children:(0,V.jsxs)(_Q,{className:(0,T.A)(pI,Ej.accordion),square:!0,children:[(0,V.jsx)(nB,{className:Ej.accordionSummary,expandIcon:(0,V.jsx)(dM,{className:hI,name:"chevron"}),"data-testid":"aliases-accordion",children:"Aliases"}),(0,V.jsxs)(ZB,{children:[O&&(0,V.jsxs)("div",{className:Ej.aliasField,children:[(0,V.jsx)("p",{className:Ej.inputLabel,children:"HELM"}),(0,V.jsx)(eF,{freeSolo:!0,options:[],value:p,onInputChange:function(U,F){return Z("aliasHELM",F)},"data-testid":"helm-alias-input",renderInput:function(U){return(0,V.jsx)(_F,sI(sI({},U),{},{variant:"standard",className:(0,T.A)(Ej.inputField,t.aliasHELM&&Ej.error),error:Boolean(t.aliasHELM)}))}})]}),L&&(0,V.jsxs)("div",{className:Ej.aliasField,children:[(0,V.jsx)("p",{className:Ej.inputLabel,children:"BILN"}),(0,V.jsx)(eF,{freeSolo:!0,options:[],value:h,onInputChange:function(U,F){return Z("aliasBILN",F)},"data-testid":"biln-alias-input",renderInput:function(U){return(0,V.jsx)(_F,sI(sI({},U),{},{variant:"standard",className:(0,T.A)(Ej.inputField,t.aliasBILN&&Ej.error),error:Boolean(t.aliasBILN)}))}})]})]})]})})]})]})},YI="RnaPresetTabs-module_styledTabsWrapper__6Y8Lj",yI="RnaPresetTabs-module_styledTab__efRVy",zI="RnaPresetTabs-module_errorTab__URASe",OI="RnaPresetTabs-module_tabLabel__WHj0-",LI="RnaPresetTabs-module_tabsContentWrapper__VwJ9M",HI="RnaPresetTabs-module_createComponentWrapper__-qbMD",xI="RnaPresetTabs-module_createComponentButton__s1kek",uI="RnaPresetTabs-module_phosphatePositionPicker__BbkqP",wI="RnaPresetTabs-module_phosphatePositionPickerError__g3D09",jI="RnaPresetTabs-module_phosphatePositionButton__dXPKI",II="RnaPresetTabs-module_phosphatePositionButtonActive__bnbKx",KI="RnaPresetTabs-module_phosphatePositionButtonLabel__c9ADB",fI="RnaPresetTabs-module_phosphatePositionIcon__4wRR3",gI=function(U,F){switch(U){case W.KetMonomerClass.Base:return W.AtomLabel.H;case W.KetMonomerClass.Sugar:return F===W.AttachmentPointName.R3?W.AtomLabel.O:W.AtomLabel.H;case W.KetMonomerClass.Phosphate:return W.AtomLabel.O;default:return W.AtomLabel.H}},PI=function(U){return"5"===U?{sugar:W.AttachmentPointName.R1,phosphate:W.AttachmentPointName.R2}:{sugar:W.AttachmentPointName.R2,phosphate:W.AttachmentPointName.R1}},AI=["base","sugar","phosphate"],qI=function(U,F,Q){U[F].includes(Q)||U[F].push(Q)},_I=function(U,F,Q){var B,V,n=new Set(null!==(B=null===(V=F[Q].structure)||void 0===V?void 0:V.atoms)&&void 0!==B?B:[]);return new Map(Array.from(U.entries()).filter(function(U){var F=(0,R.A)(U,2),Q=(0,R.A)(F[1],1)[0];return n.has(Q)}))},$I=function(U,F,Q,B){return function(U,F,Q){var B,R,V,n,l,d,J={base:[],sugar:[],phosphate:[]},N=null!==(B=null===(R=U.base.structure)||void 0===R?void 0:R.atoms)&&void 0!==B?B:[],Z=null!==(V=null===(n=U.sugar.structure)||void 0===n?void 0:n.atoms)&&void 0!==V?V:[],S=null!==(l=null===(d=U.phosphate.structure)||void 0===d?void 0:d.atoms)&&void 0!==l?l:[];if(Z.length>0&&N.length>0&&Yj(F,Z,N)&&(qI(J,"sugar",W.AttachmentPointName.R3),qI(J,"base",W.AttachmentPointName.R1)),Q&&Z.length>0&&S.length>0&&Yj(F,Z,S)){var E=PI(Q);qI(J,"sugar",E.sugar),qI(J,"phosphate",E.phosphate)}return J}(U,F,B)[Q]},UK=function(U,F,Q){var B=function(U){var F=new Map;return AI.forEach(function(Q){var B;null===(B=U[Q].structure)||void 0===B||null===(B=B.atoms)||void 0===B||B.forEach(function(U){F.set(U,Q)})}),F}(F),V=new Set;return U.forEach(function(U,F){var n=(0,R.A)(U,1)[0],l=B.get(n);if(l){var d=Q.atoms.get(n);if(d)d.neighbors.some(function(U){var F=Q.halfBonds.get(U);if(!F)return!1;var R=F.begin===n?F.end:F.begin,V=B.get(R);return Boolean(V&&V!==l)})&&V.add(F)}}),new Map(Array.from(U.entries()).filter(function(U){var F=(0,R.A)(U,1)[0];return!V.has(F)}))},FK=["base","sugar","phosphate"],QK={base:"Select all atoms that form the base.",sugar:"Select all atoms that form the sugar.",phosphate:"Select all atoms that form the phosphate."},BK=function(U){var F,Q,B=(0,n.useState)(0),l=(0,R.A)(B,2),d=l[0],J=l[1],N=(0,v.d4)(Hj),Z=(0,v.d4)(Lj),S=Boolean(null===N||void 0===N||null===(F=N.atoms)||void 0===F?void 0:F.length),E=U.wizardState,k=U.wizardStateDispatch,t=U.editor,a=E[FK[d-1]],e=U.phosphatePosition,C=U.onPhosphatePositionChange,D=U.onConnectionLeavingAtomChange,o=U.connectionLeavingAtoms,p=null!==(Q=null===Z||void 0===Z?void 0:Z.assignedAttachmentPoints)&&void 0!==Q?Q:new Map,h=t.struct(),c=UK(p,E,h),r={base:_I(p,E,"base"),sugar:_I(p,E,"sugar"),phosphate:_I(p,E,"phosphate")},m={base:$I(E,h,"base",e),sugar:$I(E,h,"sugar",e),phosphate:$I(E,h,"phosphate",e)},M={base:m.base.map(function(U){var F;return{name:U,leavingAtomLabel:null!==(F=null===o||void 0===o?void 0:o.get("base:".concat(U)))&&void 0!==F?F:gI(W.KetMonomerClass.Base,U)}}),sugar:m.sugar.map(function(U){var F;return{name:U,leavingAtomLabel:null!==(F=null===o||void 0===o?void 0:o.get("sugar:".concat(U)))&&void 0!==F?F:gI(W.KetMonomerClass.Sugar,U)}}),phosphate:m.phosphate.map(function(U){var F;return{name:U,leavingAtomLabel:null!==(F=null===o||void 0===o?void 0:o.get("phosphate:".concat(U)))&&void 0!==F?F:gI(W.KetMonomerClass.Phosphate,U)}})},i=(0,n.useCallback)(function(U){t.highlights.clear(),FK.forEach(function(F,Q){var B=E[F];if(null!==B&&void 0!==B&&B.structure){var R=Q+1===U?"#CDF1FC":"#EFF2F5";t.highlights.create({atoms:B.structure.atoms||[],bonds:B.structure.bonds||[],rgroupAttachmentPoints:[],color:R})}})},[t,E]),b=function(U,F,Q){k({type:"SetFieldValue",fieldId:U,value:F,rnaComponentKey:Q,editor:t})},G=(0,n.useCallback)(function(U){var F=t.explicitSelected(),Q=(null===F||void 0===F?void 0:F.atoms)||[],B=(null===F||void 0===F?void 0:F.bonds)||[];t.markAsRnaComponent(U,Q,B)},[t]),s=function(U){C(U)},X=function(U,F){t.reassignAttachmentPoint(U,F)},Y=function(U,F){t.changeLeavingAtomLabel(U,F)},y=function(U){t.removeAttachmentPoint(U)},z=null===a||void 0===a?void 0:a.structure;(0,n.useEffect)(function(){z&&(i(d),t.selection(null))},[i,z,t,d]),(0,n.useEffect)(function(){t.setVisibleAssignedAttachmentPoints(void 0);var U=FK[d-1];if(U){var F=function(U,F,Q,B){var R,V,n,l,d,J,N=new Map,Z=null!==(R=null===(V=U.base.structure)||void 0===V?void 0:V.atoms)&&void 0!==R?R:[],S=null!==(n=null===(l=U.sugar.structure)||void 0===l?void 0:l.atoms)&&void 0!==n?n:[],E=null!==(d=null===(J=U.phosphate.structure)||void 0===J?void 0:J.atoms)&&void 0!==d?d:[];if(S.length>0&&Z.length>0){var k=Yj(F,S,Z);if(k){var t=S.includes(k.begin)?k.begin:k.end,a=Z.includes(k.begin)?k.begin:k.end;"sugar"===Q?N.set(W.AttachmentPointName.R3,[t,a]):"base"===Q&&N.set(W.AttachmentPointName.R1,[a,t])}}if(B&&S.length>0&&E.length>0){var T=Yj(F,S,E);if(T){var e=S.includes(T.begin)?T.begin:T.end,C=E.includes(T.begin)?T.begin:T.end,D=PI(B),o=D.sugar,p=D.phosphate;"sugar"===Q?N.set(o,[e,C]):"phosphate"===Q&&N.set(p,[C,e])}}return N}(E,h,U,e);t.setConnectionAttachmentPoints(F)}else t.setConnectionAttachmentPoints(new Map)},[t,d,h,E,e]),(0,n.useEffect)(function(){return function(){null===t||void 0===t||t.highlights.clear()}},[null===t||void 0===t?void 0:t.highlights]),(0,n.useEffect)(function(){var U=function(U){var F=U.detail,Q=FK.indexOf(F)+1;G(F),J(Q),i(d)};return window.addEventListener(Ou,U),function(){window.removeEventListener(Ou,U)}},[E,G,i,d]);var O=function(U){return Object.values(U.errors).some(function(U){return Boolean(U)})},L=Boolean(E.preset.errors.components)&&!sj(E);return(0,V.jsxs)("div",{children:[(0,V.jsxs)(SB.A,{className:YI,value:d,onChange:function(U,F){J(F),i(F)},children:[(0,V.jsx)(WB.A,{className:(0,T.A)(yI,O(E.preset)&&zI),"data-testid":"nucleotide-preset-tab",label:(0,V.jsx)("div",{className:OI,children:"Preset"}),icon:(0,V.jsx)(dM,{name:"preset"})}),(0,V.jsx)(WB.A,{className:(0,T.A)(yI,(O(E.base)||L)&&zI),"data-testid":"nucleotide-base-tab",label:(0,V.jsx)("div",{className:OI,children:"Base"}),icon:(0,V.jsx)(dM,{name:"base"})}),(0,V.jsx)(WB.A,{className:(0,T.A)(yI,(O(E.sugar)||L)&&zI),"data-testid":"nucleotide-sugar-tab",label:(0,V.jsx)("div",{className:OI,children:"Sugar"}),icon:(0,V.jsx)(dM,{name:"sugar"})}),(0,V.jsx)(WB.A,{className:(0,T.A)(yI,(O(E.phosphate)||L)&&zI),"data-testid":"nucleotide-phosphate-tab",label:(0,V.jsx)("div",{className:OI,children:"Phosphate"}),icon:(0,V.jsx)(dM,{name:"phosphate"})})]}),(0,V.jsxs)("div",{className:LI,children:[0===d&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Ij,{title:"Code",control:(0,V.jsx)("input",{type:"text",className:(0,T.A)(Ej.input,E.preset.errors.name&&Ej.inputError),placeholder:"e.g. Diethylene Glycol",value:E.preset.name,"data-testid":"code-input",onChange:function(U){return b("name",U.target.value,"preset")}}),required:!0}),(0,V.jsx)("div",{className:Ej.divider}),(0,V.jsxs)("div",{className:(0,T.A)(Ej.attributesFields,cH),children:[(0,V.jsxs)("div",{className:Ej.attachmentPointsHeader,children:[(0,V.jsx)("p",{className:Ej.attachmentPointsTitle,children:"Attachment points"}),(0,V.jsx)("span",{className:Ej.attachmentPointInfoIcon,title:"To add new attachment points, right-click and mark atoms as leaving groups or connection points.","data-testid":"attachment-point-info-icon",children:(0,V.jsx)(dM,{name:"about"})})]}),c.size>0&&(0,V.jsx)("div",{className:Ej.attachmentPoints,children:Array.from(c.entries()).map(function(U){var F=(0,R.A)(U,2),Q=F[0],B=F[1];return(0,V.jsx)(DI,{name:Q,editor:t,onNameChange:X,onLeavingAtomChange:Y,onRemove:y},"".concat(Q,"-").concat(B[0],"-").concat(B[1]))})})]})]}),FK.map(function(U,F){return F+1===d&&(0,V.jsxs)(n.Fragment,{children:[(0,V.jsxs)("div",{className:HI,children:[(0,V.jsx)("div",{children:QK[U]}),(0,V.jsxs)("button",{"data-testid":"Mark-as-".concat(U,"-button"),className:(0,T.A)(Ej.buttonSubmit,xI),disabled:!S,onClick:function(){return G(U)},children:["Mark as ",U]})]}),(0,V.jsx)(XI,{assignedAttachmentPoints:r[U],readonlyAttachmentPoints:M[U],showNaturalAnalogue:"base"===U,attachmentPointsExtra:"phosphate"===U?(0,V.jsx)(Ij,{title:"Position",required:!0,control:(0,V.jsxs)("div",{"data-testid":"phosphate-position-picker",className:(0,T.A)(uI,E.preset.errors.phosphatePosition&&wI),children:[(0,V.jsxs)("button",{type:"button",className:(0,T.A)(jI,"5"===e&&II),"data-testid":"phosphate-position-5-button","aria-pressed":"5"===e,onClick:function(){return s("5")},children:[(0,V.jsx)(dM,{name:"preset-left-phosphate",className:fI}),(0,V.jsx)("span",{className:KI,children:"5'-left"})]}),(0,V.jsxs)("button",{type:"button",className:(0,T.A)(jI,"3"===e&&II),"data-testid":"phosphate-position-3-button","aria-pressed":"3"===e,onClick:function(){return s("3")},children:[(0,V.jsx)(dM,{name:"preset-right-phosphate",className:fI}),(0,V.jsx)("span",{className:KI,children:"3'-right"})]})]})}):null,onFieldChange:function(F,Q){b(F,Q,U)},onReadonlyLeavingAtomChange:D?function(F,Q){return D(F,Q,U)}:void 0,wizardState:E[U]})]},U)})]})]})},RK=function(U,F){var Q,B=function(U){var F=U.includes(W.AttachmentPointName.R1);if(F!==U.includes(W.AttachmentPointName.R2))return F?"3":"5"}((0,o.A)(U.keys())),R=function(U){var F=U.includes(W.AttachmentPointName.R1);if(F!==U.includes(W.AttachmentPointName.R2))return F?"5":"3"}((0,o.A)(F.keys()));return B&&R?B===R?B:"3":null!==(Q=null!==B&&void 0!==B?B:R)&&void 0!==Q?Q:"3"},VK=["rnaComponentKey"];function nK(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function lK(U){for(var F=1;F0&&void 0!==arguments[0]?arguments[0]:W.KetMonomerClass.CHEM,symbol:"",name:"",naturalAnalogue:arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",aliasHELM:"",aliasBILN:""},errors:{},notifications:new Map,structure:void 0}},JK=dK(),NK=function(U){return U?lK(lK({},JK),{},{values:{type:U.type,symbol:U.symbol,name:U.name,naturalAnalogue:U.naturalAnalogue,aliasHELM:U.aliasHELM,aliasBILN:U.aliasBILN}}):JK},ZK=new Set(["aliasBILN"]),WK={base:dK(W.KetMonomerClass.Base,W.NO_NATURAL_ANALOGUE),sugar:dK(W.KetMonomerClass.Sugar),phosphate:dK(W.KetMonomerClass.Phosphate),preset:{name:"",errors:{name:void 0,phosphatePosition:void 0},notifications:new Map,manuallyModifiedSymbols:{base:!1,sugar:!1,phosphate:!1}}},SK=function(U){switch(U){case W.KetMonomerClass.Base:return"B";case W.KetMonomerClass.Sugar:return"S";case W.KetMonomerClass.Phosphate:return"P";default:return""}},EK=function(U,F){switch(F.type){case"SetFieldValue":var Q=F.fieldId,R=F.value,V=lK(lK({},U.values),{},(0,B.A)({},Q,R));return"type"===Q&&(V.naturalAnalogue=""),lK(lK({},U),{},{values:V,errors:lK(lK({},U.errors),ZK.has(Q)?{}:(0,B.A)({},Q,void 0))});case"SetErrors":return lK(lK({},U),{},{errors:lK(lK({},U.errors),F.errors)});case"SetNotifications":return lK(lK({},U),{},{notifications:new Map([].concat((0,o.A)(U.notifications),(0,o.A)(F.notifications)))});case"AddNotification":var n=new Map(U.notifications),l=F.id;return n.has(l)||n.set(l,{type:yu[l],message:Yu[l]}),lK(lK({},U),{},{notifications:n});case"ResetErrors":return lK(lK({},U),{},{errors:{}});case"ResetWizard":return JK;case"RemoveNotification":var d=new Map(U.notifications);return d.delete(F.id),lK(lK({},U),{},{notifications:d});default:return U}},kK=function(U,F){if("ResetErrors"===F.type)return lK(lK({},U),{},{preset:lK(lK({},U.preset),{},{errors:{}})});if("ResetWizard"===F.type)return WK;if("RemoveNotification"===F.type){var Q=new Map(U.preset.notifications),R=new Map(U.base.notifications),V=new Map(U.sugar.notifications),n=new Map(U.phosphate.notifications);return Q.delete(F.id),R.delete(F.id),V.delete(F.id),n.delete(F.id),lK(lK({},U),{},{preset:lK(lK({},U.preset),{},{notifications:Q}),sugar:lK(lK({},U.sugar),{},{notifications:V}),base:lK(lK({},U.base),{},{notifications:R}),phosphate:lK(lK({},U.phosphate),{},{notifications:n})})}if(!F.rnaComponentKey)return U;if("UpdateRnaPresetComponentStructure"===F.type)return lK(lK({},U),{},(0,B.A)({},F.rnaComponentKey,lK(lK({},U[F.rnaComponentKey]),{},{structure:{atoms:F.atomIds,bonds:F.bondIds}})));var l,d=F.rnaComponentKey,J=(0,S.A)(F,VK);if("SetNotifications"===F.type)return lK(lK({},U),{},(0,B.A)({},F.rnaComponentKey,lK(lK({},U[F.rnaComponentKey]),{},{notifications:F.notifications})));if("SetRnaPresetComponentStructure"===J.type)return lK(lK({},U),{},(0,B.A)({},d,lK(lK({},U[d]),{},{structure:null===(l=J.editor)||void 0===l?void 0:l.explicitSelected()})));if("preset"!==d){var N=lK(lK({},U),{},(0,B.A)({},d,EK(U[d],J)));return"SetFieldValue"===J.type&&"symbol"===J.fieldId?lK(lK({},N),{},{preset:lK(lK({},N.preset),{},{manuallyModifiedSymbols:lK(lK({},N.preset.manuallyModifiedSymbols),{},(0,B.A)({},d,!0))})}):N}if("SetErrors"===J.type)return lK(lK({},U),{},{preset:lK(lK({},U.preset),{},{errors:lK(lK({},U.preset.errors),J.errors)})});if("SetFieldValue"===J.type){var Z=lK(lK({},U),{},{preset:lK(lK({},U.preset),{},(0,B.A)((0,B.A)({},J.fieldId,J.value),"errors",lK(lK({},U.preset.errors),{},(0,B.A)({},J.fieldId,void 0))))});if("name"===J.fieldId){var E=J.value,k=U.preset.manuallyModifiedSymbols;k.base||(Z=lK(lK({},Z),{},{base:lK(lK({},Z.base),{},{values:lK(lK({},Z.base.values),{},{symbol:E?E+SK(W.KetMonomerClass.Base):""})})})),k.sugar||(Z=lK(lK({},Z),{},{sugar:lK(lK({},Z.sugar),{},{values:lK(lK({},Z.sugar.values),{},{symbol:E?E+SK(W.KetMonomerClass.Sugar):""})})})),k.phosphate||(Z=lK(lK({},Z),{},{phosphate:lK(lK({},Z.phosphate),{},{values:lK(lK({},Z.phosphate.values),{},{symbol:E?E+SK(W.KetMonomerClass.Phosphate):""})})}))}return Z}return lK({},U)},tK=function(U){var F=arguments.length>1&&void 0!==arguments[1]&&arguments[1],Q=arguments.length>2&&void 0!==arguments[2]&&arguments[2],B=(0,W.provideEditorInstance)(),V={},n=new Map,l=new Set(["aliasHELM","aliasBILN","name"]);return Object.entries(U).forEach(function(d){var J=(0,R.A)(d,2),N=J[0],Z=J[1];if(null!==Z&&void 0!==Z&&Z.trim()){if("symbol"===N){if(!/^[a-zA-Z0-9-_*]*$/.test(Z))return V[N]=!0,void n.set("invalidSymbol",{type:"error",message:Yu.invalidSymbol});!F&&B.checkIfMonomerSymbolClassPairExists(Z,U.type)&&(V[N]=!0,n.set("symbolExists",{type:"error",message:Yu.symbolExists}))}if("name"===N){if(!/^[a-zA-Z0-9-_* ]*$/.test(Z))return V[N]=!0,void n.set("invalidName",{type:"error",message:Yu.invalidName})}if("aliasHELM"===N){if(Z&&!(0,W.isValidHelmAlias)(Z))return V[N]=!0,void n.set("invalidHELMAlias",{type:"error",message:Yu.invalidHELMAlias});!F&&B.checkIfMonomerSymbolClassPairExists(Z,U.type)&&(V[N]=!0,n.set("notUniqueHELMAlias",{type:"error",message:Yu.notUniqueHELMAlias}))}if("aliasBILN"===N){if(Z&&!(0,W.isValidBilnAlias)(Z))return V[N]=!0,void n.set("invalidBILNAlias",{type:"error",message:Yu.invalidBILNAlias});!F&&B.checkIfBilnAliasExists(Z)&&(V[N]=!0,n.set("notUniqueBILNAlias",{type:"error",message:Yu.notUniqueBILNAlias}))}}else Q||l.has(N)||"naturalAnalogue"===N&&!bj(U.type)||(V[N]=!0,n.set("emptyMandatoryFields",{type:"error",message:Yu.emptyMandatoryFields}))}),{errors:V,notifications:n}},aK=function(U,F){var Q=new Map;return Eu.isStructureImpure(U)&&Q.set("impureStructure",{type:"error",message:Yu.impureStructure}),Eu.isMinimalViableStructure(U,F.monomerCreationState)?(Eu.isStructureContinuous(U)||Q.set("incontinuousStructure",{type:"error",message:Yu.incontinuousStructure}),Q):(Q.set("notMinimalViableStructure",{type:"error",message:Yu.notMinimalViableStructure}),Q)},TK=function(U){var F=U.monomerCreationState,Q=Zy().ketcherId,l=W.ketcherProvider.getKetcher(Q).editor,d=(0,v.wA)(),J=(0,n.useReducer)(EK,F.editInstanceInitialValues,NK),N=(0,R.A)(J,2),Z=N[0],S=N[1],E=(0,n.useReducer)(kK,WK),k=(0,R.A)(E,2),t=k[0],a=k[1],e=(0,n.useState)(null),C=(0,R.A)(e,2),D=C[0],h=C[1],c=Z.values,r=Z.notifications,m=Z.errors,M=c.type,i=c.symbol,G=c.name,s=c.naturalAnalogue,X=c.aliasHELM,Y=c.aliasBILN,y=(0,n.useState)([]),z=(0,R.A)(y,2),O=z[0],L=z[1],H=(0,n.useState)(""),x=(0,R.A)(H,2),u=x[0],w=x[1],j=(0,n.useState)(null),I=(0,R.A)(j,2),K=I[0],f=I[1],g=(0,n.useState)(!1),P=(0,R.A)(g,2),A=P[0],q=P[1],_=(0,n.useState)(),$=(0,R.A)(_,2),UU=$[0],FU=$[1],QU=(0,n.useState)(new Map),BU=(0,R.A)(QU,2),RU=BU[0],VU=BU[1],nU=(0,n.useState)(!1),lU=(0,R.A)(nU,2),dU=lU[0],JU=lU[1],NU=(0,n.useCallback)(function(U,F,Q){VU(function(B){var R=new Map(B);return R.set("".concat(Q,":").concat(U),F),R})},[]),ZU="rnaPreset"===M,WU=(0,n.useMemo)(function(){return{base:{structure:t.base.structure},sugar:{structure:t.sugar.structure},phosphate:{structure:t.phosphate.structure}}},[t.base.structure,t.phosphate.structure,t.sugar.structure]),SU=ZU?new Map([].concat((0,o.A)(t.preset.notifications||[]),(0,o.A)(t.sugar.notifications||[]),(0,o.A)(t.base.notifications||[]),(0,o.A)(t.phosphate.notifications||[]))):r;(0,n.useEffect)(function(){var U=function(U){var F=U.detail;F&&S({type:"AddNotification",id:F})};return window.addEventListener(zu,U),function(){window.removeEventListener(zu,U)}},[]),(0,n.useEffect)(function(){var U=function(U){var F=U.detail,Q=F.attachmentPointName,B=F.position;h({attachmentPointName:Q,position:B})};return window.addEventListener(W.MonomerCreationAttachmentPointClickEvent,U),function(){window.removeEventListener(W.MonomerCreationAttachmentPointClickEvent,U)}},[]),(0,n.useEffect)(function(){var U=function(U){var F,Q=U.detail,B=Q.componentKey,R=Q.atomIds,V=Q.bondIds;"base"!==(F=B)&&"sugar"!==F&&"phosphate"!==F||a({type:"UpdateRnaPresetComponentStructure",rnaComponentKey:B,atomIds:R,bondIds:V})};return window.addEventListener(W.MonomerCreationComponentStructureUpdateEvent,U),function(){window.removeEventListener(W.MonomerCreationComponentStructureUpdateEvent,U)}},[]);var EU=function(U){L([]),FU(void 0),"rnaPreset"!==M&&"rnaPreset"!==U||M===U?(S({type:"SetFieldValue",fieldId:"aliasHELM",value:""}),S({type:"SetFieldValue",fieldId:"aliasBILN",value:""})):(S({type:"ResetWizard"}),a({type:"ResetWizard"})),S({type:"SetFieldValue",fieldId:"type",value:U}),l.setRnaMonomerCreationMode("rnaPreset"===U)},kU=function(U,F){if("type"===U){if("rnaPreset"===M&&"rnaPreset"!==F)return f(F),void q(!0);EU(F)}else"naturalAnalogue"===U&&L([]),S({type:"SetFieldValue",fieldId:U,value:F})};(0,n.useEffect)(function(){var U;null===l||void 0===l||null===(U=l.setMonomerCreationSelectedType)||void 0===U||U.call(l,c.type)},[l,c.type]);var tU=(0,n.useMemo)(function(){return Xu.map(function(U){return lK(lK({},U),{},{children:(0,V.jsxs)("div",{className:Ej.typeOption,children:[(0,V.jsx)(dM,{name:U.iconName}),U.label]})})})},[]),aU=function(){S({type:"ResetWizard"}),a({type:"ResetWizard"}),FU(void 0),h(null)},TU=(0,n.useCallback)(function(U){FU(U),a({type:"SetErrors",errors:{phosphatePosition:void 0},rnaComponentKey:"preset"}),a({type:"RemoveNotification",id:"phosphatePositionNotSelected"}),a({type:"RemoveNotification",id:"invalidPhosphatePositionAttachmentPoints"})},[]),eU=rt["select-rectangle"].action;(0,n.useEffect)(function(){var U;if(null!==l&&void 0!==l&&null!==(U=l.render)&&void 0!==U&&U.monomerCreationState&&ZU&&dU){var F=zj(l.struct(),WU).problematicAtomIds;l.setProblematicAtoms(F),0===F.size&&JU(!1)}},[l,dU,ZU,WU]),(0,n.useEffect)(function(){null!==F&&void 0!==F&&F.hasDefaultAttachmentPoints&&S({type:"AddNotification",id:"defaultAttachmentPoints"})},[null===F||void 0===F?void 0:F.hasDefaultAttachmentPoints]),(0,n.useEffect)(function(){if(F&&ZU){var U=new Map,Q=new Map;F.assignedAttachmentPoints.forEach(function(F,B){var V,n,l=(0,R.A)(F,2),d=l[0],J=l[1];null!==(V=t.sugar.structure)&&void 0!==V&&null!==(V=V.atoms)&&void 0!==V&&V.includes(d)&&U.set(B,[d,J]),null!==(n=t.phosphate.structure)&&void 0!==n&&null!==(n=n.atoms)&&void 0!==n&&n.includes(d)&&Q.set(B,[d,J])});var B=RK(U,Q);TU(B)}},[ZU,null===F||void 0===F?void 0:F.assignedAttachmentPoints,t.phosphate.structure,t.sugar.structure,TU]);var CU=F.assignedAttachmentPoints,DU=function(U){var F=!0;if(Z.structure){var Q=U.get(Z);if(Q){var B=l.structSelected(Z.structure),R=Z.values,V=tK(R),n=V.errors,d=V.notifications;if(Object.keys(n).length>0)return S({type:"SetErrors",errors:n}),void S({type:"SetNotifications",notifications:d});var J=function(U){var F=new Map,Q=new Set;if(0===U.length)return F.set("noAttachmentPoints",{type:"error",message:Yu.noAttachmentPoints}),{notifications:F,problematicAttachmentPoints:Q};var B=U.filter(function(U){return(0,W.getAttachmentPointNumberFromLabel)(U)>2});if(0===B.length)return{notifications:F,problematicAttachmentPoints:Q};for(var R=[],V=3;V<3+B.length;V++)R.push(V);return B.map(W.getAttachmentPointNumberFromLabel).sort(function(U,F){return U-F}).forEach(function(U){if(!R.includes(U)){var F=(0,W.getAttachmentPointLabel)(U);Q.add(F)}}),Q.size>0&&F.set("incorrectAttachmentPointsOrder",{type:"error",message:Yu.incorrectAttachmentPointsOrder}),{notifications:F,problematicAttachmentPoints:Q}}(Array.from(Q.keys())),N=J.notifications,E=J.problematicAttachmentPoints;if(N.size>0)return S({type:"SetNotifications",notifications:N}),void l.setProblematicAttachmentPoints(E);var k=function(U,F){var Q,B=(0,W.provideEditorInstance)(),R=new Map,V={},n=B.getAllAminoAcidsModificationTypesGroupedByNaturalAnalogue();return U.some(function(U){return!U.trim()})&&(V.emptyModificationType=!0,R.set("emptyMandatoryFields",{type:"error",message:Yu.emptyMandatoryFields})),U.forEach(function(F){var Q=U.filter(function(U){return U===F}).length;Q>1&&(V[F]=!0,R.set("symbolExists",{type:"error",message:Yu.notUniqueModificationTypes}))}),null===(Q=n[F])||void 0===Q||Q.forEach(function(F){U.includes(F)&&(V[F]=!0,R.set("modificationTypeExists",{type:"error",message:Yu.modificationTypeExists}))}),{notifications:R,errors:V}}(O,s),t=k.errors,a=k.notifications;if(Object.keys(t).length>0)return S({type:"SetErrors",errors:t}),void S({type:"SetNotifications",notifications:a});var T=aK(B,l);if(!(T.size>0)){if(M){var e=TI(l,M,Q);if(e.size>0){F=!1;var C=Array.from(e.values())[0].message;w(C)}}return F}S({type:"SetNotifications",notifications:T})}else W.KetcherLogger.error("Monomer attachment points map is undefined")}else W.KetcherLogger.error("Monomer structure is undefined")},oU=function(U){var F,Q,B,R,V,n,d,J=!0,N=[{name:"base",wizardState:t.base},{name:"phosphate",wizardState:t.phosphate},{name:"sugar",wizardState:t.sugar}],Z=new Map,S=l.struct(),E=zj(S,WU),k=E.issues,T=E.problematicAtomIds;k.length>0&&(J=!1,k.forEach(function(U){Z.set(U,{type:yu[U],message:Yu[U]})}),k.includes("rnaPresetMissingComponents")&&a({type:"SetErrors",errors:{components:!0},rnaComponentKey:"preset"})),T.size>0&&(JU(!0),l.setProblematicAtoms(T));var e=U.get(t.sugar),C=U.get(t.phosphate),D=Yj(S,(null===(F=t.sugar.structure)||void 0===F?void 0:F.atoms)||[],(null===(Q=t.base.structure)||void 0===Q?void 0:Q.atoms)||[]);Yj(S,(null===(B=t.sugar.structure)||void 0===B?void 0:B.atoms)||[],(null===(R=t.phosphate.structure)||void 0===R?void 0:R.atoms)||[])&&UU&&function(U,F,Q){var B=PI(U);return Boolean((null===F||void 0===F?void 0:F.has(B.sugar))||(null===Q||void 0===Q?void 0:Q.has(B.phosphate)))}(UU,e,C)&&(J=!1,Z.set("rnaPresetInvalidSugarPhosphateConnectionAttachmentPoints",{type:"error",message:Yu.rnaPresetInvalidSugarPhosphateConnectionAttachmentPoints})),D&&(null!==e&&void 0!==e&&e.get(W.AttachmentPointName.R3)||null!==(V=U.get(t.base))&&void 0!==V&&V.get(W.AttachmentPointName.R1))&&(J=!1,Z.set("rnaPresetInvalidSugarBaseConnectionAttachmentPoints",{type:"error",message:Yu.rnaPresetInvalidSugarBaseConnectionAttachmentPoints})),Z.size>0&&a({type:"SetNotifications",notifications:Z,rnaComponentKey:"preset",editor:l}),null!==(n=t.phosphate.structure)&&void 0!==n&&null!==(n=n.atoms)&&void 0!==n&&n.length&&!UU&&(J=!1,a({type:"SetErrors",errors:{phosphatePosition:!0},rnaComponentKey:"preset"}),a({type:"SetNotifications",notifications:new Map([["phosphatePositionNotSelected",{type:"error",message:Yu.phosphatePositionNotSelected}]]),rnaComponentKey:"preset",editor:l}));var o=null===(d=t.preset.name)||void 0===d?void 0:d.trim();if(o){if(/^[a-zA-Z0-9-_*]+$/.test(o))(0,W.provideEditorInstance)().checkIfPresetCodeExists(o)&&(J=!1,a({type:"SetErrors",errors:{name:!0},rnaComponentKey:"preset",editor:l}),a({type:"SetNotifications",notifications:new Map([["notUniquePresetCode",{type:"error",message:Yu.notUniquePresetCode}]]),rnaComponentKey:"preset",editor:l}));else J=!1,a({type:"SetErrors",errors:{name:!0},rnaComponentKey:"preset",editor:l}),a({type:"SetNotifications",notifications:new Map([["invalidPresetCode",{type:"error",message:Yu.invalidPresetCode}]]),rnaComponentKey:"preset",editor:l})}else J=!1,a({type:"SetErrors",errors:{name:!0},rnaComponentKey:"preset",editor:l}),a({type:"SetNotifications",notifications:new Map([["emptyMandatoryFields",{type:"error",message:Yu.emptyMandatoryFields}]]),rnaComponentKey:"preset",editor:l});return N.forEach(function(F){var Q=F.wizardState,B=F.name;if(Q.structure)if(U.get(Q)){var R=l.structSelected(Q.structure),V=Q.values,n=function(U){var F=U.type,Q=U.symbol,B=U.naturalAnalogue;return!(null===Q||void 0===Q||!Q.trim())&&!(bj(F)&&(null===B||void 0===B||!B.trim()))}(V),d=tK(V,!0,!n),N=d.errors,Z=d.notifications;if(Object.keys(N).length>0)return J=!1,a({type:"SetErrors",errors:N,rnaComponentKey:B,editor:l}),void a({type:"SetNotifications",notifications:Z,rnaComponentKey:B,editor:l});var S=aK(R,l);S.size>0&&(J=!1,a({type:"SetNotifications",notifications:S,rnaComponentKey:B,editor:l}))}else W.KetcherLogger.error("Monomer attachment points map is undefined");else W.KetcherLogger.error("Monomer structure is undefined")}),J},pU=document.querySelector($t),hU=null!==D&&null!==pU,cU="rnaPreset"===M;return(0,V.jsxs)("div",{className:Ej.monomerCreationWizard,"data-testid":"monomer-creation-wizard",children:[(0,V.jsxs)("div",{className:Ej.leftColumn,children:[(0,V.jsxs)("p",{className:Ej.wizardTitle,children:[(0,V.jsx)(dM,{name:W.CREATE_MONOMER_TOOL_NAME}),"Create Monomer"]}),(0,V.jsx)("div",{className:Ej.notificationsArea,children:Array.from(SU.entries()).map(function(U){var F=(0,R.A)(U,2),Q=F[0],B=F[1],n=B.type,l=B.message;return(0,V.jsx)(UI,{id:Q,type:n,message:l,wizardStateDispatch:ZU?a:S},Q)})})]}),(0,V.jsxs)("div",{className:Ej.rightColumn,children:[(0,V.jsx)("div",{className:Ej.attributesWindow,children:(0,V.jsxs)("div",{className:(0,T.A)(Ej.attributesFields,cH),children:[(0,V.jsx)(Ij,{title:"Type",control:(0,V.jsx)(tj,{className:Ej.input,options:tU,placeholder:"Select monomer type","data-testid":"type-select",value:M,onChange:function(U){kU("type",U)},error:m.type}),required:!0}),(0,V.jsx)("p",{className:Ej.attributesTitle,children:"Attributes"}),cU?(0,V.jsx)(BK,{wizardState:t,wizardStateDispatch:a,editor:l,phosphatePosition:UU,onPhosphatePositionChange:TU,connectionLeavingAtoms:RU,onConnectionLeavingAtomChange:NU}):(0,V.jsx)(XI,{wizardState:Z,assignedAttachmentPoints:CU,onFieldChange:function(U,F){kU(U,F)},onChangeModificationTypes:function(U){L(U)}})]})}),hU&&(0,b.createPortal)((0,V.jsx)(EI,{data:D,onNameChange:function(U,F){l.reassignAttachmentPoint(U,F)},onLeavingAtomChange:function(U,F){l.changeLeavingAtomLabel(U,F)},onClose:function(){h(null),l.cleanupCloseAttachmentPointEditPopup()},editor:l}),pU),(0,V.jsxs)("div",{className:Ej.buttonsContainer,children:[(0,V.jsx)("button",{className:Ej.buttonDiscard,onClick:function(){l.closeMonomerCreationWizard(!0),d(vt(eU)),aU()},"data-testid":"discard-button",children:"Discard"}),(0,V.jsx)("button",{className:Ej.buttonSubmit,onClick:function(){S({type:"ResetErrors"}),a({type:"ResetErrors"}),l.setProblematicAttachmentPoints(new Set),l.setProblematicAtoms(new Set),JU(!1);var U,F=ZU?(U=t,["base","sugar","phosphate"].filter(function(F){return Gj(U[F].structure)})).map(function(U){return t[U]}):[Z],Q=[],V=new Map;ZU||(Z.structure={atoms:(0,o.A)(l.render.ctab.molecule.atoms.keys()),bonds:(0,o.A)(l.render.ctab.molecule.bonds.keys())}),ZU?F.forEach(function(U){var F=new Map;CU.forEach(function(Q,B){var V,n=(0,R.A)(Q,2),l=n[0],d=n[1];null!==(V=U.structure)&&void 0!==V&&null!==(V=V.atoms)&&void 0!==V&&V.includes(l)&&F.set(B,[l,d])}),V.set(U,F)}):V.set(Z,CU);var n=function(U){return ZU?oU(U):DU(U)}(V);if(n){if(ZU){var J=l.struct(),N=t.base.structure,E=t.sugar.structure,k=t.phosphate.structure,T=E&&N?Yj(J,E.atoms||[],N.atoms||[]):void 0,e=E&&k?Yj(J,E.atoms||[],k.atoms||[]):void 0,C="5"===UU?W.AttachmentPointName.R1:W.AttachmentPointName.R2,D="5"===UU?W.AttachmentPointName.R2:W.AttachmentPointName.R1,h=(0,B.A)((0,B.A)((0,B.A)({},W.KetMonomerClass.Base,"base"),W.KetMonomerClass.Sugar,"sugar"),W.KetMonomerClass.Phosphate,"phosphate"),c=function(U,F){var Q=h[U],B=Q?RU.get("".concat(Q,":").concat(F)):void 0;return null!==B&&void 0!==B?B:gI(U,F)};if(T&&E&&N){var r=E.atoms||[],m=N.atoms||[],M=r.includes(T.begin)?T.begin:T.end,i=J.atoms.get(M),b=m.includes(T.begin)?T.begin:T.end,v=J.atoms.get(b);l.assignConnectionPointAtom(b,W.AttachmentPointName.R1,V.get(t.base),t.base.structure,!0,c(W.KetMonomerClass.Base,W.AttachmentPointName.R1),null===i||void 0===i?void 0:i.pp),l.assignConnectionPointAtom(M,W.AttachmentPointName.R3,V.get(t.sugar),t.sugar.structure,!0,c(W.KetMonomerClass.Sugar,W.AttachmentPointName.R3),null===v||void 0===v?void 0:v.pp)}if(e&&E&&k){var G=E.atoms||[],s=k.atoms||[],X=G.includes(e.begin)?e.begin:e.end,Y=J.atoms.get(X),y=s.includes(e.begin)?e.begin:e.end,z=J.atoms.get(y);l.assignConnectionPointAtom(X,C,V.get(t.sugar),t.sugar.structure,!0,c(W.KetMonomerClass.Sugar,C),null===z||void 0===z?void 0:z.pp),l.assignConnectionPointAtom(y,D,V.get(t.phosphate),t.phosphate.structure,!0,c(W.KetMonomerClass.Phosphate,D),null===Y||void 0===Y?void 0:Y.pp)}}F.forEach(function(U){var F=new Map,B=new Map,n=l.structSelected(U.structure,F,B),d=V.get(U);null===d||void 0===d||d.forEach(function(U,Q){var B=(0,R.A)(U,2),V=B[0],n=B[1],l=F.get(V),J=F.get(n);(0,p.isNumber)(l)&&(0,p.isNumber)(J)&&d.set(Q,[l,J])});var J=ZU,N=U.values;J&&(N=function(U,F){var Q,B,R,V,n=SK(U.type),l="".concat(F).concat(n);return lK(lK({},U),{},{symbol:(null===(Q=U.symbol)||void 0===Q?void 0:Q.trim())||l,name:(null===(B=U.name)||void 0===B?void 0:B.trim())||l,naturalAnalogue:U.type===W.KetMonomerClass.Base?(null===(R=U.naturalAnalogue)||void 0===R?void 0:R.trim())||W.NO_NATURAL_ANALOGUE:(null===(V=U.naturalAnalogue)||void 0===V?void 0:V.trim())||""})}(U.values,t.preset.name));var Z=l.saveNewMonomer({type:N.type,symbol:N.symbol,name:N.name||N.symbol,naturalAnalogue:N.naturalAnalogue,modificationTypes:O,aliasHELM:N.aliasHELM,aliasBILN:N.aliasBILN,structure:n,attachmentPoints:d,hidden:J});Q.push(lK(lK({},Z),{},{monomerStructureInWizard:U.structure,atomIdMap:F}))}),l.finishNewMonomersCreation(Q,{rnaPresetName:t.preset.name,phosphatePosition:UU}),d(vt(eU)),aU(),d({type:"SHOW_SNACKBAR_NOTIFICATION",data:ZU?Yu.creationRNASuccessful:Yu.creationSuccessful})}},"data-testid":"submit-button",children:"Submit"})]})]}),A&&pU&&(0,b.createPortal)((0,V.jsx)("div",{className:Ej.dialogOverlay,children:(0,V.jsx)(Vi,{className:Ej.smallDialog,title:"Confirm type change",withDivider:!0,valid:function(){return!0},params:{onOk:function(){null!==K&&EU(K),f(null),q(!1)},onCancel:function(){f(null),q(!1)}},buttons:["OK","Cancel"],buttonsNameMap:{OK:"Yes",Cancel:"Cancel"},primaryButtons:["Cancel"],children:(0,V.jsx)("div",{className:Ej.DialogMessage,children:"Changing the type will result in a loss of inputted data. Do you wish to proceed?"})})}),pU),u&&pU&&(0,b.createPortal)((0,V.jsx)("div",{className:Ej.dialogOverlay,children:(0,V.jsx)(Vi,{className:Ej.smallDialog,title:"Non-typical attachment points",withDivider:!0,valid:function(){return!0},params:{onOk:function(){w(""),Z.structure={atoms:(0,o.A)(l.render.ctab.molecule.atoms.keys()),bonds:(0,o.A)(l.render.ctab.molecule.bonds.keys())};var U=new Map,F=new Map,Q=l.structSelected(Z.structure,U,F),B=l.saveNewMonomer({type:M,symbol:i,name:G||i,naturalAnalogue:s,modificationTypes:O,aliasHELM:X,aliasBILN:Y,attachmentPoints:CU,structure:Q});l.finishNewMonomersCreation([lK(lK({},B),{},{monomerStructureInWizard:Z.structure,atomIdMap:U})]),d(vt(eU)),aU()},onCancel:function(){return w("")}},buttons:["OK","Cancel"],buttonsNameMap:{OK:"Yes",Cancel:"Cancel"},primaryButtons:["Cancel"],children:(0,V.jsx)("div",{className:Ej.DialogMessage,children:u})})}),pU)]})},eK=function(){var U=(0,v.d4)(Lj);return U?(0,V.jsx)(TK,{monomerCreationState:U}):null},CK=function(){return(0,v.d4)(Lj)?(0,V.jsx)("div",{className:Ej.monomerCreationWizardBackdrop,"data-testid":"monomer-creation-wizard-backdrop","aria-hidden":"true"}):null},DK="Tooltip-module_container__G3oG2",oK=function(U){return U.message?(0,V.jsx)("div",{className:"".concat(DK),style:{left:U.position.x+10,top:U.position.y+10},"data-testid":"tooltip",children:U.message}):null},pK=["Tag","className","indigoVerification"];function hK(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function cK(U){for(var F=1;F2&&void 0!==arguments[2]?arguments[2]:{},B=F.struct,R=F.tool,V=F.toolOpts,n=F.options;B!==Q.struct&&U.struct(B),R===Q.tool&&V===Q.toolOpts||(U.tool(R,V),V!==Q.toolOpts&&U.event.message.dispatch({info:JSON.stringify(V)})),Q.options&&n!==Q.options?(U.options(n),U.setServerSettings(F.serverSettings)):F.serverSettings!==Q.serverSettings&&U.setServerSettings(F.serverSettings),Object.keys(U.event).forEach(function(B){var R="on".concat((0,D.upperFirst)(B));F[R]!==Q[R]&&(Q[R]&&U.event[B].remove(Q[R]),F[R]&&U.event[B].add(F[R]))}),B===Q.struct&&n===Q.options||(U.render.unobserveCanvasResize(),U.render.observeCanvasResize())}var MK,iK,bK,vK,GK,sK=function(U){function F(U){var Q;return(0,N.A)(this,F),Q=function(U,F,Q){return F=(0,k.A)(F),(0,E.A)(U,rK()?Reflect.construct(F,Q||[],(0,k.A)(U).constructor):F.apply(U,Q))}(this,F,[U]),(0,B.A)((0,t.A)(Q),"handleWheel",function(U){var F,B,R,V,n,l;U.ctrlKey?(U.preventDefault(),1===(U.deltaY>0?-1:1)?null===(F=(B=Q.props).onZoomIn)||void 0===F||F.call(B,U):null===(R=(V=Q.props).onZoomOut)||void 0===R||R.call(V,U)):(Q.scrollCanvas(U),Q.editor.rotateController.updateFloatingToolsPosition(),Q.editor.hoverIcon.updatePosition(),null===(n=Q.editor.tool())||void 0===n||null===(l=n.mousemove)||void 0===l||l.call(n,Q.editor.lastEvent))}),Q.state={enableCursor:!1,tooltip:""},Q.editorRef=(0,n.createRef)(),Q.logRef=(0,n.createRef)(),Q}return(0,a.A)(F,U),(0,Z.A)(F,[{key:"scrollCanvas",value:function(U){U.shiftKey?this.handleHorizontalScroll(U):this.handleScroll(U)}},{key:"handleHorizontalScroll",value:function(U){var F=this;this.editor.render.setViewBox(function(Q){return cK(cK({},Q),{},{minX:Q.minX-Bj(U.wheelDelta,F.editor.zoom())})})}},{key:"handleScroll",value:function(U){var F=this;this.editor.render.setViewBox(function(Q){return cK(cK({},Q),{},{minX:Q.minX+Bj(U.deltaX,F.editor.zoom()),minY:Q.minY+Bj(U.deltaY,F.editor.zoom())})})}},{key:"shouldComponentUpdate",value:function(U,F){return this.props.indigoVerification!==U.indigoVerification||F.enableCursor!==this.state.enableCursor||F.tooltip!==this.state.tooltip}},{key:"UNSAFE_componentWillReceiveProps",value:function(U){mK(this.editor,U,this.props)}},{key:"componentDidMount",value:function(){var U,F,Q,B=this,R=this.props.prevKetcherId?W.ketcherProvider.getKetcher(this.props.prevKetcherId):void 0,V=W.ketcherProvider.getKetcher(this.props.ketcherId);(this.editor=new Eu(this.props.ketcherId,this.editorRef.current,cK({},this.props.options),cK({},this.props.serverSettings),null===R||void 0===R?void 0:R.editor),V.addEditor(this.editor),null!==V&&void 0!==V&&V.editor.macromoleculeConvertionError)&&(null===(F=(Q=this.props).onShowMacromoleculesErrorMessage)||void 0===F||F.call(Q,V.editor.macromoleculeConvertionError),V.editor.clearMacromoleculeConvertionError());mK(this.editor,this.props),this.props.onInit&&this.props.onInit(this.editor),this.editor.event.message.add(function(U){var F=B.logRef.current;if(F)if(U.info&&B.props.showAttachmentPoints){try{var Q=JSON.parse(U.info);F.innerHTML="Atom Id: ".concat(Q.atomid,", Bond Id: ").concat(Q.bondid)}catch(_3){W.KetcherLogger.error("StructEditor.tsx::StructEditor::componentDidMount",_3),F.innerHTML=U.info}F.classList.add(ou)}else F.classList.remove(ou)}),this.editor.event.tooltip.add(function(U){var F=U?U.message:void 0;B.setState({tooltip:F})}),this.editor.event.cursor.add(function(U){switch(U.status){case"enable":var F,Q,R;null===(F=B.editorRef.current)||void 0===F||F.classList.add(hu);var V=null!==(Q=null===(R=B.editorRef.current)||void 0===R?void 0:R.getBoundingClientRect())&&void 0!==Q?Q:{left:0,top:0,right:0,bottom:0},n=V.left,l=V.top,d=V.right,J=V.bottom,N=U.cursorPosition.clientX,Z=U.cursorPosition.clientY,W=N>=n&&N<=d&&Z>=l&&N<=J;!B.state.enableCursor&&W&&B.setState({enableCursor:!0});break;case"move":case"mouseover":var S;null===(S=B.editorRef.current)||void 0===S||S.classList.add(hu),B.setState({enableCursor:!0});break;case"disable":case"leave":var E;null===(E=B.editorRef.current)||void 0===E||E.classList.remove(hu),B.setState({enableCursor:!1})}}),this.editor.event.message.dispatch({info:JSON.stringify(this.props.toolOpts)}),null===(U=this.editorRef.current)||void 0===U||U.addEventListener("wheel",this.handleWheel)}},{key:"componentWillUnmount",value:function(){var U;!function(U,F){Object.keys(U.event).forEach(function(Q){var B="on".concat((0,D.upperFirst)(Q));F[B]&&U.event[Q].remove(F[B])})}(this.editor,this.props),null===(U=this.editorRef.current)||void 0===U||U.removeEventListener("wheel",this.handleWheel),this.editor.render.unobserveCanvasResize(),this.editor.hoverIcon.destroy()}},{key:"render",value:function(){var U,F,Q,B=(0,p.omit)(this.props,["ketcherId","prevKetcherId","struct","tool","toolOpts","options","onInit","onSelectionChange","onElementEdit","onEnhancedStereoEdit","onQuickEdit","onBondEdit","onZoomIn","onZoomOut","onZoomChanged","onRgroupEdit","onSgroupEdit","onRemoveFG","onMessage","onAromatizeStruct","onDearomatizeStruct","onAttachEdit","onCipChange","onConfirm","onShowInfo","onApiSettings","showAttachmentPoints","onUpdateFloatingTools","onShowMacromoleculesErrorMessage","serverSettings"]),R=B.Tag,n=void 0===R?"div":R,l=B.className,d=B.indigoVerification,J=(0,S.A)(B,pK),N=this.state.tooltip,Z=null===(U=this.editor)||void 0===U?void 0:U.lastCursorPosition,W=n||"div",E=(0,V.jsx)(Nj,{}),k=(0,V.jsx)(Sj,{}),t=(0,V.jsx)(oK,{message:N,position:{x:null!==(F=null===Z||void 0===Z?void 0:Z.x)&&void 0!==F?F:0,y:null!==(Q=null===Z||void 0===Z?void 0:Z.y)&&void 0!==Q?Q:0}});return(0,V.jsxs)(W,cK(cK({className:(0,T.A)(Cu,l)},J),{},{"data-testid":"ketcher-canvas","data-canvasmode":"molecules-mode",children:[(0,V.jsx)(CK,{}),(0,V.jsx)($w,{children:(0,V.jsx)("div",{ref:this.editorRef,className:(0,T.A)(pu)})}),(0,V.jsx)("div",{className:Du,ref:this.logRef}),d&&(0,V.jsx)("div",{className:"".concat(eu," loading-spinner"),"data-testid":"loading-spinner",children:(0,V.jsx)(iH,{})}),E,k,(0,V.jsx)(NO,{}),(0,V.jsx)(Pw,{}),(0,V.jsx)(eK,{}),t]}))}}]),F}(n.Component);function XK(){return XK=Object.assign?Object.assign.bind():function(U){for(var F=1;F=0},onSelect:function(B,R){if(U.val){var V=U.val(B,F);void 0!==V&&Q(V)}else{var n=R?R.indexOf(B):-1;Q(n<0?R?[B].concat((0,o.A)(R)):[B]:[].concat((0,o.A)(R.slice(0,n)),(0,o.A)(R.slice(n+1))))}}}}(U,Q,R):function(U,F,Q){return{selected:function(U,F){return F===U},onSelect:function(B){var R=U.val?U.val(B,F):B;void 0!==R&&Q(R)}}}(U,Q,R):function(U,F,Q){var B={};return F&&("number"!==F.type&&"integer"!==F.type||(B={type:"text"})),qK({onChange:function(B){var R=U.val?U.val(B,F):B;Q(R)}},B)}(U,Q,R)}_K.val=function(U,F){var Q=U.target,B="integer"===(null===F||void 0===F?void 0:F.type),R="number"===(null===F||void 0===F?void 0:F.type),V="number"===Q.type||"range"===Q.type||B||R?Q.value.replace(/,/g,"."):Q.value;return B?Number(V)||0:V},$K.val=function(U){return U.target.value},Uf.val=function(U){return U.stopPropagation(),!!U.target.checked},Ff.val=function(U,F){var Q=U.target;if(!Q.multiple)return Rf(F,Q.selectedIndex);var B=Q.options;return Array.from(B).reduce(function(U,Q,B){return Q.selected?[Rf(F,B)].concat((0,o.A)(U)):U},[])},Qf.val=function(U,F){var Q,B=U.target;if("INPUT"===U.target.tagName){var R,V=null===B||void 0===B||null===(Q=B.parentNode)||void 0===Q||null===(Q=Q.parentNode)||void 0===Q?void 0:Q.parentNode,n=null===V||void 0===V?void 0:V.querySelectorAll("input");return null!==n&&void 0!==n&&n.length&&(R=Array.from(n).reduce(function(U,Q,B){return Q.checked?[Rf(F,B)].concat((0,o.A)(U)):U},[])),"radio"===B.type?R[0]:R}U.stopPropagation()},Bf.val=function(U){return U.stopPropagation(),!!U.target.checked};var nf=n.forwardRef(function(U,F){var Q=U.Component,B=(0,S.A)(U,fK);return(0,V.jsx)(Q,qK(qK({},B),{},{innerRef:F}))}),lf=function(U){function F(U){var Q;return(0,N.A)(this,F),(Q=function(U,F,Q){return F=(0,k.A)(F),(0,E.A)(U,PK()?Reflect.construct(F,Q||[],(0,k.A)(U).constructor):F.apply(U,Q))}(this,F,[U])).component=U.component||function(U){var F=U.schema,Q=U.type,B=U.multiple;return"boolean"===(null===F||void 0===F?void 0:F.type)&&"slider"===(null===F||void 0===F?void 0:F.description)?Bf:F&&(F.enum||F.items||Array.isArray(F))?B||"array"===F.type?"checkbox"===Q?Qf:Ff:"radio"===Q?Qf:Ff:"checkbox"===Q||"boolean"===(null===F||void 0===F?void 0:F.type)?Uf:"textarea"===Q?$K:_K}(U),Q.ctrl=Vf(Q.component,U),Q}return(0,a.A)(F,U),(0,Z.A)(F,[{key:"render",value:function(){var U=this.props;U.children,U.onChange;var F=U.innerRef,Q=(0,S.A)(U,gK);return(0,V.jsx)(nf,qK(qK({Component:this.component,ref:F},this.ctrl),Q))}}]),F}(n.PureComponent),df=n.forwardRef(function(U,F){return(0,V.jsx)(lf,qK({innerRef:F},U))}),Jf="form-module_inputWithExtraLabel__Y--OH",Nf="form-module_extraLabel__2IE13",Zf="form-module_dataError__IXK1h",Wf="form-module_inputWrapper__sIDHH",Sf="form-module_inputWithEditButtonWrapper__hM70e",Ef="form-module_editButton__zLQI5",kf="form-module_divWithTooltipAndAboutIcon__rnNIB",tf=["labelPos","title","tooltip","error","children"],af=["name","extraName","onChange","component","labelPos","className","extraLabel"],Tf=["dataError","onExtraChange","extraValue"],ef=["name","onChange","labelPos","className","onEdit"],Cf=["title","tooltip","options","formName","extraName","extraLabel","extraSchema","component"],Df=["dataError"],of=["name","onChange","labelPos","className","onCheckboxChange","checkboxValue","component","title","tooltip","options","formName","extraLabel","extraSchema"],pf=["dataError"],hf=["title","name","schema"];function cf(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function rf(U){for(var F=1;F1;return Pf({isNewFloat:n},n&&{float:"".concat(B,".").concat(V[V.length-1])})}(F),l=n.isNewFloat,d=n.float;return l?d:F},_f=function(U){var F=U.schema;U.extraSchema;var Q=U.value,B=U.extraValue,l=U.onChange,d=U.onExtraChange;U.name;var J=U.className,N=(0,S.A)(U,ff),Z=(0,n.useState)(String(Q)),W=(0,R.A)(Z,2),E=W[0],k=W[1];(0,n.useEffect)(function(){k(function(U){return U!==String(Q)?String(Q):U})},[Q]),(0,n.useEffect)(function(){E!==String(Q)&&(!isNaN(parseFloat(E))&&l(parseFloat(E)))},[E]);var t=F;return(0,V.jsxs)("div",Pf(Pf({className:(0,T.A)(If,J)},N),{},{children:[(0,V.jsx)("span",{children:N.title||(null===t||void 0===t?void 0:t.title)}),(0,V.jsxs)("div",{style:{display:"flex"},children:[(0,V.jsx)(df,{schema:F,value:E,onChange:function(U){var F=String(U),Q="0"!==F&&F.startsWith("0"),B=Q&&F.includes("."),R=Q&&!B?F.replace(/^0/,""):F||"0";!isNaN(Number(R))&&k(function(U){return qf(U,R)})},type:"text","data-testid":"".concat(null===t||void 0===t?void 0:t.title,"-value-input")}),(0,V.jsx)(tj,{onChange:d,options:Af,value:B,className:Kf,"data-testid":"".concat(null===t||void 0===t?void 0:t.title,"-measure-input")})]})]}))},$f="buttons-module_openButton__wErm9",Ug=["children","type","server","onLoad","onError","className"];function Fg(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function Qg(U){for(var F=1;F0&&B.push((0,V.jsx)("sup",{children:R[1]},B.length)),B.push(F.substring(n,R.index)+R[2]),R[3].length>0&&B.push((0,V.jsx)("sub",{children:R[3]},B.length)),n=R.index+R[0].length,R=$g.exec(F);return 0===n?B.push(F):B.push(F.substring(n,F.length)),FP({content:B,contentEditable:Q})}var BP=function(U){var F=U.value,Q=U["data-testid"];return(0,V.jsx)("input",{"data-testid":Q,type:"text",spellCheck:!1,value:F,readOnly:!0,onChange:function(U){return U.preventDefault()}})},RP="Analyse-module_analyse__MR-Tu",VP="Analyse-module_inputWrapper__uR995",nP="Analyse-module_contentWrapper__B4WCi",lP="Analyse-module_selectWrapper__xEkKL",dP="Analyse-module_select__c6hFt",JP=["values","round","loading","onAnalyse","onChangeRound"];function NP(U,F){return"number"===typeof U?U.toFixed(F):U.replace(/\d*\.\d+/g,function(U){return(+U).toFixed(F)})}var ZP=SY({enum:(0,D.range)(0,8)}),WP=[{name:"Chemical Formula",key:"gross",withSelector:!1},{name:"Molecular Weight",key:"molecular-weight",round:"roundWeight",withSelector:!0},{name:"Exact Mass",key:"monoisotopic-mass",round:"roundMass",withSelector:!0},{name:"Elemental Analysis",key:"mass-composition",round:"roundElAnalysis",withSelector:!1}];function SP(U,F,Q,B){return"gross"===U.key?(0,V.jsx)(QP,{value:F&&!Q&&F[U.key]||"",contentEditable:!1}):"mass-composition"===U.key?(0,V.jsx)("textarea",{readOnly:!0,value:F&&!Q&&U.round?NP(F[U.key],B[U.round]):0,"data-testid":U.name+"-input"}):(0,V.jsx)(BP,{"data-testid":U.name+"-input",value:F&&!Q&&U.round?NP(F[U.key],B[U.round]):0})}var EP=(0,v.Ng)(function(U){return{values:U.options.analyse.values,loading:U.options.analyse.loading,round:{roundWeight:U.options.analyse.roundWeight,roundMass:U.options.analyse.roundMass,roundElAnalysis:U.options.analyse.roundElAnalysis}}},function(U){return{onAnalyse:function(){return U(function(U,F){U({type:"ANALYSE_LOADING"});var Q=F(),B=Q.editor,R=Q.server,V=Q.options.getServerSettings();return V.data={properties:["molecular-weight","most-abundant-mass","monoisotopic-mass","gross","mass-composition"]},Ht(B,R,"calculate",V).then(function(F){return U({type:"CHANGE_ANALYSE",data:{values:F}})}).catch(function(U){W.KetcherLogger.error("index.js::analyse",U),B.errorHandler(U)})})},onChangeRound:function(F,Q){return U(function(U,F){return{type:"CHANGE_ANALYSE",data:(0,B.A)({},U,F)}}(F,Q))}}})(function(U){var F=U.values,Q=U.round,B=U.loading,R=U.onAnalyse,l=U.onChangeRound,d=(0,S.A)(U,JP);return(0,n.useEffect)(function(){R()},[R]),(0,V.jsx)(Vi,{title:"Calculated Values",className:RP,withDivider:!0,needMargin:!0,valid:function(){return!0},buttons:["OK"],buttonsNameMap:{OK:"Close"},params:d,children:(0,V.jsx)("ul",{children:WP.map(function(U){return(0,V.jsxs)("li",{className:nP,"data-testid":U.name+"-wrapper",children:[(0,V.jsxs)("div",{className:VP,children:[(0,V.jsxs)("label",{children:[U.name,":"]}),SP(U,F,B,Q)]}),U.withSelector&&U.round?(0,V.jsxs)("div",{className:lP,children:[(0,V.jsx)("span",{children:"Decimal places"}),(0,V.jsx)(tj,{options:ZP,value:Q[U.round],onChange:function(F){U.round&&l(U.round,F)},className:dP,"data-testid":U.name+"-select"})]}):null]},U.key)})})})}),kP="Recognize-module_recognize__66jG2",tP="Recognize-module_footerContent__0MAC7",aP="Recognize-module_imagoVersion__nBIj6",TP="Recognize-module_openButton__H-j5I",eP="Recognize-module_imagesContainer__rXWWk",CP="Recognize-module_topBody__ZCCjN",DP="Recognize-module_output__WgRnP",oP="Recognize-module_picture__x2Y7S",pP="Recognize-module_filename__-1HIU",hP="Recognize-module_messageContainer__tMvyb",cP="Recognize-module_primaryButton__rzm03",rP="Recognize-module_secondaryButton__H1Q28",mP="Recognize-module_struct__W55TL",MP=function(U){var F=U.clickHandler,Q=U.label,B=U.title,R=U.styles,n=U.disabled,l=U.testId;return(0,V.jsx)("input",{type:"button",className:R,"data-testid":l,value:Q,title:null!==B&&void 0!==B?B:Q,disabled:n,onClick:F},"Open")},iP=["file","structStr","fragment","version","imagoVersions","onOk"],bP=["onRecognize","isFragment","onImage","onChangeImago"];function vP(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function GP(U){for(var F=1;F=1}(F,U,t)},charge:function(U){var F;return null!==(F=function(U,F,Q){var B=Ik(U),R=B&&(""===B[1]||""===B[3]);return!(!Q&&""!==U)||F&&("0"===U||0===U||""===U)||R}(U,l,t))&&void 0!==F&&F},customQuery:function(U){return function(U,F){return!F||new RegExp(zk.properties.customQuery.pattern).test(U)}(U,t)}}},[F.result.atomType,t,l]),r=[{groupName:"General",component:(0,V.jsxs)("div",{children:[(0,V.jsx)(EA,{formState:F,className:""}),(0,V.jsx)(Yf,{name:"alias","data-testid":"alias"}),(0,V.jsx)(Yf,{name:"charge",maxLength:TA.charge.maxLength,"data-testid":"charge"}),(0,V.jsx)(Yf,{name:"isotope",maxLength:TA.isotope.maxLength,"data-testid":"isotope"}),(0,V.jsx)(Yf,{name:"explicitValence",component:tj,options:SY(TA.explicitValence),"data-testid":"explicitValence"}),(0,V.jsx)(Yf,{name:"radical",component:tj,options:SY(TA.radical),"data-testid":"radical"})]})},{groupName:"Query specific",component:(0,V.jsx)("div",{className:JA,children:eA.map(function(U){return"dropdown"===U.component?(0,V.jsx)(Yf,{name:U.name,component:tj,options:SY(TA[U.name]),"data-testid":U.name},U.name):(0,V.jsx)(Yf,aA({},U),U.name)})})},{groupName:"Reaction flags",component:(0,V.jsxs)("div",{className:dA,children:[(0,V.jsx)(Yf,{name:"invRet",component:tj,options:SY(TA.invRet),"data-testid":"inversion"}),(0,V.jsx)(Yf,{name:"exactChangeFlag",labelPos:"before",className:lA})]})}];return(0,V.jsx)(Vi,{title:"Atom Properties",className:qP,result:function(){return F.result},valid:function(){return F.valid},params:Z,buttonsNameMap:{OK:"Apply"},buttons:["Cancel","OK"],withDivider:!0,children:(0,V.jsx)(bf,aA(aA({schema:zk,customValid:c,init:d?null:Z},F),{},{children:(0,V.jsxs)("div",{className:_P,children:[r.map(function(U){var F,Q=U.groupName,R=U.component,n=D.includes(Q),l=N&&("Query specific"===Q||"Reaction flags"===Q);return(0,V.jsxs)("div",{"data-testid":"".concat(Q,"-section"),children:[(0,V.jsx)("button",{onClick:(F=Q,function(){if(!N&&!t){var U=!D.includes(F);h(U?[].concat((0,o.A)(D),[F]):(0,o.A)(D).filter(function(U){return U!==F}))}}),className:FA,disabled:t||l,type:"button",children:(0,V.jsxs)("div",{className:QA,children:[(0,V.jsx)("span",{children:Q}),(0,V.jsx)(dM,{className:(0,T.A)((0,B.A)((0,B.A)({},$P,!0),UA,!n)),name:"chevron"})]})}),(0,V.jsx)("div",{className:(0,T.A)((0,B.A)((0,B.A)({},RA,!0),VA,!n)),"data-testid":"".concat(Q,"-wrapper"),children:(0,V.jsx)("div",{className:nA,children:R})})]},Q)}),!W.SettingsManager.disableCustomQuery&&(0,V.jsx)("div",{className:BA,"aria-disabled":N,children:(0,V.jsx)(zf,{name:"customQuery",labelPos:"after",className:lA,disabled:!t,checkboxValue:t,onCheckboxChange:function(U,F,Q){N||(Q(U?(0,W.getAtomCustomQuery)(F):""),a(U),h([]))},"data-testid":"atom-custom-query"})})]})}))})}),DA="Attach-module_attachPoints__5QEAv",oA=["formState"];function pA(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function hA(U){for(var F=1;F,<=]?\d+$/g)||U.match(/^\d+-\d+$/g)})}(U)}},init:R},F),{},{children:[(0,V.jsx)(Yf,{name:"range"}),(0,V.jsx)(Yf,{name:"resth",labelPos:"after",className:wA}),(0,V.jsx)(xA,{name:"ifthen",label:Q,rgroupLabels:B})]}))})}),gA="Open-module_open__m8V9g",PA="Open-module_textareaEditor__ZbEVj",AA="Open-module_footerContent__Q0hTw",qA="Open-module_buttonsContainer__L1HqU",_A="Open-module_openButton__cj3oU",$A="Open-module_cancelButton__0TQzA",Uq="Open-module_copyButton__KlXKd",Fq="Open-module_loadingContainer__Y354t",Qq="AnalyzingFile-module_analyzingFileWrapper__j0Ltf",Bq="AnalyzingFile-module_fileBox__ywFIh",Rq=function(U){var F=U.fileName;return(0,V.jsxs)("div",{className:Qq,children:[F&&(0,V.jsxs)("div",{className:Bq,children:[(0,V.jsx)(dM,{name:"file-thumbnail"}),(0,V.jsx)("p",{children:F})]}),(0,V.jsx)(iH,{})]})},Vq="OpenOptions-module_optionsContainer__-WqT8",nq="OpenOptions-module_dropContainer__PL6Tg",lq="OpenOptions-module_buttonLabelWrapper__h2YsI",dq="OpenOptions-module_buttonLabel__LiY--",Jq="OpenOptions-module_textLabelWrapper__Vx8NF",Nq="OpenOptions-module_textLabel__TlOfz",Zq="OpenOptions-module_dropIconWrapper__ibBQx",Wq="FileDrop-module_isHovered__c-CDn",Sq="FileDrop-module_isDisabled__Ejuyq",Eq=["buttonLabel","textLabel","iconName","disabled","disabledText","testId"];function kq(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function tq(U){for(var F=1;F:?"*\\\\|\\/][^<>:?"*\\\\|\\/]*$',invalidMessage:function(U){return U?U.length>128?"Filename is too long":"A filename cannot contain characters: \\ / : * ? \" < > | and cannot start with '.'":"Filename should contain at least one character"}},format:{title:"File format:",enum:Object.keys(W.formatProperties),enumNames:Object.keys(W.formatProperties).map(function(U){return W.formatProperties[U].name})}}},U_=function(U){var F=U.classes;return(0,V.jsx)("div",{className:F.loadingCirclesContainer,children:(0,V.jsx)(iH,{})})},F_=function(U){var F=U.classes,Q=U.format,B=U.imageSrc,R=U.isCleanStruct;return(0,V.jsx)("div",{className:F.imageContainer,children:!R&&(0,V.jsx)("img",{src:"data:image/".concat(Q,"+xml;base64,").concat(B),alt:"".concat(Q," preview"),"data-testid":"preview-area"})})},Q_=function(U){var F=U.classes,Q=U.textAreaRef;return(0,V.jsx)("div",{className:F.previewBackground,children:(0,V.jsx)("textarea",{value:"Can not display binary content",className:F.previewArea,readOnly:!0,ref:Q,"data-testid":"preview-area"})})},B_=function(U){var F=U.classes,Q=U.structStr,B=U.textAreaRef,R=U.handleCopy;return(0,V.jsxs)("div",{className:F.previewBackground,children:[(0,V.jsx)("textarea",{value:Q,className:F.previewArea,readOnly:!0,ref:B,"data-testid":"preview-area"}),(0,V.jsx)(DM,{onClick:R,iconName:"copy",title:"Copy to clipboard",testId:"copy-to-clipboard"})]})},R_=function(U){function F(U){var Q;(0,N.A)(this,F),Q=function(U,F,Q){return F=(0,k.A)(F),(0,E.A)(U,_q()?Reflect.construct(F,Q||[],(0,k.A)(U).constructor):F.apply(U,Q))}(this,F,[U]),(0,B.A)((0,t.A)(Q),"isImageFormat",function(U){return!!(0,W.getPropertiesByImgFormat)(U)}),(0,B.A)((0,t.A)(Q),"isBinaryCdxFormat",function(U){return U===W.SupportedFormat.binaryCdx}),(0,B.A)((0,t.A)(Q),"showStructWarningMessage",function(U){var F=Q.props.formState.errors;return U!==W.SupportedFormat.mol&&Object.keys(F).length>0}),(0,B.A)((0,t.A)(Q),"changeType",function(U){var F=Q.props,B=F.struct,V=F.server,n=F.options,l=F.formState,d=F.ignoreChiralFlag;if(!V)return Q.setState({disableControls:!1,tabIndex:0,isLoading:!1}),Promise.resolve();var J=Q.context.errorHandler;if(Q.isImageFormat(U)){var N=(new W.KetSerializer).serialize(B);Q.setState({disableControls:!0,tabIndex:0,imageFormat:U,structStr:N,isLoading:!0});var Z=qq({},n);return Z.outputFormat=U,V.generateImageAsBase64(N,Z).then(function(U){Q.setState({disableControls:!1,tabIndex:0,imageSrc:U,isLoading:!1})}).catch(function(U){return W.KetcherLogger.error("Save.jsx::SaveDialog::changeType",U),J(U),Q.props.onResetForm(l),U})}Q.setState({disableControls:!0,isLoading:!0});var S=new W.FormatterFactory(V),E=!(U!==W.SupportedFormat.mol||!Array.from(B.atoms).find(function(U){var F=(0,R.A)(U,2);F[0];var Q=F[1];return Q.queryProperties.aromaticity||Q.queryProperties.connectivity||Q.queryProperties.ringMembership||Q.queryProperties.ringSize||Q.queryProperties.customQuery||Q.implicitHCount})),k=S.create(U,qq(qq({},n),{},{ignoreChiralFlag:d}),E);return function(){if(U===W.SupportedFormat.ket){var F,R=Q.props.editor.selection();return null!==R&&void 0!==R&&null!==(F=R.atoms)&&void 0!==F&&F.length&&R.atoms.length>0&&(R.atoms=R.atoms.filter(function(U){return!W.Atom.isSuperatomLeavingGroupAtom(B,U)})),k.getStringFromStructureAsync(B,void 0,R||void 0)}return k.getStringFromStructureAsync(B)}().then(function(U){Q.setState({tabIndex:0,structStr:U})},function(U){return J(U.message),Q.props.onResetForm(l),U}).finally(function(){Q.setState({disableControls:!1,tabIndex:0,isLoading:!1})})}),(0,B.A)((0,t.A)(Q),"changeTab",function(U){Q.setState({tabIndex:U})}),(0,B.A)((0,t.A)(Q),"getWarnings",function(U){var F=Q.props,B=F.struct,R=F.moleculeErrors,V=[];if(!Q.isImageFormat(U)){var n=function(U,F){var Q=[],B=(0,W.getPropertiesByFormat)(F).name,R=U.rxnArrows.size,V=U.hasRxnArrow();if("smarts"===F){var n=Array.from(U.atoms.values()),l=Array.from(U.bonds.values()),d=n.some(function(U){return U.radical||U.unsaturatedAtom||U.exactChangeFlag||U.invRet}),J=l.some(function(U){return Boolean(U.reactingCenterStatus)||U.type===W.Bond.PATTERN.TYPE.DATIVE||U.type===W.Bond.PATTERN.TYPE.HYDROGEN});(J||d)&&Q.push("Structure contains query properties of atoms and bonds that are not supported in the SMARTS. Query properties will not be reflected in the file saved.")}if("smiles"===F){var N=Array.from(U.atoms.values()).some(function(U){return U.pseudo});N&&Q.push("Structure contains generic atoms. They will be saved as any atom (*).")}if("ket"!==F){if(V){var Z=Array.from(U.rxnArrows.values())[0].mode;[W.RxnArrowMode.OpenAngle,W.RxnArrowMode.Retrosynthetic].includes(Z)||Q.push("The ".concat(B," format does not support drawn elements: the reaction ").concat(Z," arrow will be replaced with the reaction arrow"))}R>1&&Q.push("The ".concat(B," format does not support drawn elements: reaction arrows will be lost."))}if(["inChI","inChIAuxInfo","inChIKey","smiles","smilesExt"].includes(F)){0!==U.rgroups.size&&Q.push("In ".concat(B," the structure will be saved without R-group fragments"));var S=(U=U.clone()).atoms.find(function(U,F){return"R#"===F.label});null!==S&&Q.push("In ".concat(B," the structure will be saved without R-group members")),null!==U.sgroups.find(function(U,F){return"MUL"!==F.type&&!/^INDIGO_.+_DESC$/i.test(F.data.fieldName)})&&Q.push("In ".concat(B," the structure will be saved without S-groups"))}if(["smiles","smilesExt","smarts","inChI","inChIAuxInfo","inChIKey","cml"].includes(F)){var E=U.atoms.find(function(U,F){return F.explicitValence>=0});null!==E&&Q.push("In ".concat(B," valence is not supported"))}return["mol","rxn"].includes(F)&&Array.from(U.frags.values()).some(function(U){return!(null===U||void 0===U||!U.enhancedStereoFlag)&&U.enhancedStereoFlag!==W.StereoFlag.Abs})&&Q.push("Structure contains enhanced stereochemistry features. Information will be partly lost."),["inChI","inChIAuxInfo","inChIKey","smiles","smilesExt"].includes(F)&&0!==U.functionalGroups.size&&Q.push("In ".concat(B," the structure will be saved without functional groups.")),["cml"].includes(F)&&0!==U.functionalGroups.size&&Q.push("Structure contains functional groups. In ".concat(B," information will be partly lost.")),0!==Q.length?Q.join("\n"):null}(B,U);Q.showStructWarningMessage(U)&&V.push("Structure contains errors, please check the data, otherwise you can lose some properties or the whole structure after saving in this format."),n&&V.push(n)}if(R){var l=Object.values(R).filter(function(F){return U!==W.SupportedFormat.smarts&&U!==W.SupportedFormat.ket||!F.includes("Structure contains query features")});V.push.apply(V,(0,o.A)(l))}return V}),(0,B.A)((0,t.A)(Q),"isValidStringFormat",function(U){return"string"===typeof U&&!U.startsWith("<----")&&!(!(0,W.getPropertiesByFormat)(U)&&!(0,W.getPropertiesByImgFormat)(U))}),(0,B.A)((0,t.A)(Q),"renderForm",function(){var U=qq({},Q.props.formState),F=U.result,B=F.filename,R=F.format,n=0===(Q.isValidStringFormat(R)?Q.getWarnings(R):[]).length?[{caption:"Preview",component:Q.renderSaveFile,tabIndex:0}]:[{caption:"Preview",component:Q.renderSaveFile,tabIndex:0},{caption:"Warnings",component:Q.renderWarnings,tabIndex:1}];return(0,V.jsxs)("div",{className:Pq.formContainer,children:[(0,V.jsxs)(bf,qq(qq({schema:Q.saveSchema,init:{filename:B,format:Q.isRxn?"rxn":"mol"}},U),{},{children:[(0,V.jsx)(Yf,{name:"filename"}),(0,V.jsx)(Yf,{name:"format",onChange:function(U){Q.changeType(U)},options:SY(Q.saveSchema.properties.format),component:tj,className:"file-format-list","data-testid":"file-format-list"})]})),(0,V.jsx)(gq,{className:Pq.tabs,captions:n,tabIndex:Q.state.tabIndex,changeTab:Q.changeTab,tabs:n})]})}),(0,B.A)((0,t.A)(Q),"handleCopy",function(U){var F=Q.state.structStr;try{(0,W.isClipboardAPIAvailable)()?navigator.clipboard.writeText(F||""):"clipboardData"in U&&((0,W.legacyCopy)(U.clipboardData,{"text/plain":F}),U.preventDefault())}catch(_3){W.KetcherLogger.error("copyAs.js::copyAs",_3),Q.props.editor.errorHandler("This feature is not available in your browser")}}),(0,B.A)((0,t.A)(Q),"renderSaveFile",function(){var U=qq({},Q.props.formState);delete U.moleculeErrors;var F=U.result.format,B=Q.state,R=B.structStr,n=B.imageSrc,l=B.isLoading,d=Q.props.struct.isBlank();return l?(0,V.jsx)(U_,{classes:Pq}):Q.isValidStringFormat(F)&&Q.isImageFormat(F)?(0,V.jsx)(F_,{classes:Pq,format:F,imageSrc:n||"",isCleanStruct:d}):Q.isValidStringFormat(F)&&Q.isBinaryCdxFormat(F)?(0,V.jsx)(Q_,{classes:Pq,textAreaRef:Q.textAreaRef}):(0,V.jsx)(B_,{classes:Pq,structStr:R||"",textAreaRef:Q.textAreaRef,handleCopy:Q.handleCopy})}),(0,B.A)((0,t.A)(Q),"renderWarnings",function(){var U=qq({},Q.props.formState).result.format;if(!Q.isValidStringFormat(U))return null;var F=Q.getWarnings(U);return F.length?(0,V.jsx)("div",{className:Pq.warnings,children:F.map(function(U){return(0,V.jsx)("div",{className:Pq.warningsContainer,children:(0,V.jsx)("span",{className:Pq.warningsArr,"data-testid":"WarningTextArea",children:U})},U)})}):null}),(0,B.A)((0,t.A)(Q),"getButtons",function(){var U=Q.state,F=U.disableControls,B=U.imageFormat,R=U.isLoading,n=U.structStr,l=Q.props,d=l.options,J=l.formState,N=J.result,Z=N.filename,S=N.format,E=Q.props.struct.isBlank();d.outputFormat=B;var k,t=Q.isValidStringFormat(S)&&Q.isBinaryCdxFormat(S)&&!R?(0,W.b64toBlob)(n||""):n,a=Q.props.struct.atoms.size&&Q.props.struct.bonds.size,T=[(0,V.jsx)("button",{className:Pq.saveTmpl,disabled:F||E||!a,onClick:function(){return Q.props.onTmplSave(Q.props.struct)},"data-testid":"save-to-templates-button",children:"Save to Templates"},"save-tmpl")];(T.push((0,V.jsx)("button",{className:Pq.cancel,onClick:function(){return Q.props.onOk({})},type:"button","data-testid":"cancel-button",children:"Cancel"},"cancel")),Q.isValidStringFormat(S)&&Q.isImageFormat(S))?T.push((0,V.jsx)(ng,{mode:"saveImage",options:d,data:n||"",filename:Z,type:"image/".concat(S,"+xml"),onSave:Q.props.onOk,testId:"save-button",disabled:F||!J.valid||E||!Q.props.server,className:Pq.ok,children:"Save"},"save-image-button")):T.push((0,V.jsx)(ng,{mode:"saveFile",data:t||"",testId:"save-button",filename:Z+(Q.isValidStringFormat(S)?(null===(k=(0,W.getPropertiesByFormat)(S))||void 0===k?void 0:k.extensions[0])||"":S.name),type:Q.isValidStringFormat(S)?void 0:S.mime,server:Q.props.server,onSave:Q.props.onOk,disabled:F||!J.valid||E,className:Pq.ok,children:"Save"},"save-file-button"));return T}),Q.state={disableControls:!0,imageFormat:"svg",tabIndex:0,isLoading:!0},Q.isRxn=Q.props.struct.hasRxnArrow()||Q.props.struct.hasMultitailArrow(),Q.textAreaRef=(0,n.createRef)();var l=Q.props.server?[W.SupportedFormat.ket,Q.isRxn?W.SupportedFormat.rxn:W.SupportedFormat.mol,Q.isRxn?W.SupportedFormat.rxnV3000:W.SupportedFormat.molV3000,W.SupportedFormat.sdf,W.SupportedFormat.sdfV3000,W.SupportedFormat.rdf,W.SupportedFormat.rdfV3000,W.SupportedFormat.smarts,W.SupportedFormat.smiles,W.SupportedFormat.smilesExt,W.SupportedFormat.cml,"<----firstDivider---\x3e",W.SupportedFormat.inChI,W.SupportedFormat.inChIAuxInfo,W.SupportedFormat.inChIKey,"<----secondDivider---\x3e","svg","png",W.SupportedFormat.cdxml,W.SupportedFormat.cdx,W.SupportedFormat.binaryCdx]:[W.SupportedFormat.ket,Q.isRxn?W.SupportedFormat.rxn:W.SupportedFormat.mol,W.SupportedFormat.smiles];return Q.saveSchema=$q,Q.saveSchema.properties.format=Object.assign(Q.saveSchema.properties.format,{enum:l,enumNames:l.map(function(U){var F=Q.isImageFormat(U)?(0,W.getPropertiesByImgFormat)(U):(0,W.getPropertiesByFormat)(U);return null===F||void 0===F?void 0:F.name})}),Q}return(0,a.A)(F,U),(0,Z.A)(F,[{key:"componentDidMount",value:function(){var U=this,F=this.props.checkState.checkOptions;this.props.onCheck(F),this.changeType(this.isRxn?W.SupportedFormat.rxn:W.SupportedFormat.mol).then(function(F){return F instanceof Error&&U.setState({disableControls:!0})})}},{key:"render",value:function(){var U=Vi;return(0,V.jsx)(U,{testId:"save-structure-dialog",className:Pq.dialog,title:"Save Structure",params:this.props,buttons:this.getButtons(),needMargin:!1,withDivider:!0,children:this.renderForm()})}}]),F}(n.Component);(0,B.A)(R_,"contextType",UE);var V_=pQ([function(U){return U.options}],function(U){return U.getServerSettings()}),n_=(0,v.Ng)(function(U){return{server:U.options.app.server?U.server:null,struct:U.editor.struct(),options:V_(U),formState:U.modal.form,moleculeErrors:U.modal.form.moleculeErrors,checkState:U.options.check,bondThickness:U.options.settings.bondThickness,ignoreChiralFlag:U.editor.render.options.ignoreChiralFlag,editor:U.editor}},function(U){return{onCheck:function(F){return U(Ot(F))},onTmplSave:function(F){return U(function(U){var F={struct:U.clone(),props:{}};return function(U,Q){YX(U,"attach",{tmpl:F}).then(function(B){var R=B.name,V=B.attach;F.struct.name=R.trim(),F.props=zX(zX({},V),{},{group:"User Templates"});var n=Q().templates.lib.concat(F);U(PE(n)),HX(n)}).catch(function(U){W.KetcherLogger.error("index.ts::saveUserTmpl",U)})}}(F))},onResetForm:function(F){return U(rk(F))}}})(function(U){return(0,V.jsx)(R_,qq({},U))}),l_="enhancedStereo-module_enhancedStereo__8FLSY",d_="enhancedStereo-module_labelGroupSelect__K7TYC",J_=["struct","formState","init"];function N_(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function Z_(U){for(var F=1;F1?R:"")+n}var C_=/^(\d+)?([a-z*]{1,3})(\.|:|\^\^)?(\d+[-+]|[-+])?$/i,D_=new Set(["A","Q","X","M"]),o_=function(U){return null!==p_(U)};function p_(U){var F,Q=C_.exec(U);if(!Q)return null;var B="*"===Q[2]?"A":(0,D.capitalize)(Q[2]),R=Q[1]?Number.parseInt(Q[1],10):null,V=Q[3]&&null!==(F={":":1,".":2,"^^":3}[Q[3]])&&void 0!==F?F:0,n=Q[4]?function(U){var F=Number.parseInt(U,10);return Number.isNaN(F)&&(F=1),U.endsWith("-")&&(F=-F),F}(Q[4]):null;return D_.has(B)||W.Elements.get(B)?{label:B,charge:n,isotope:R,radical:V}:null}var h_=(0,v.Ng)(function(U){return{formState:U.modal.form}})(function(U){var F,Q={label:null!==(F=U.letter)&&void 0!==F?F:e_(U)},B=U.formState,R=(0,S.A)(U,t_),n=B.result,l=B.valid;return(0,V.jsx)(Vi,{title:"Label Edit",valid:function(){return l},withDivider:!0,needMargin:!1,result:function(){return p_(n.label)},className:E_,buttons:["Cancel","OK"],buttonsNameMap:{OK:"Apply"},focusable:!1,params:R,children:(0,V.jsx)(bf,T_(T_({schema:Lk,customValid:{label:o_},init:Q},B),{},{children:(0,V.jsx)(Yf,{name:"label",maxLength:20,size:"10",isFocused:!0,className:k_})}))})}),c_="AtomInfo-module_ket_atom_info__GOuZ6",r_="AtomInfo-module_none__PRuzx";function m_(U){var F=U.el,Q=U.isInfo,B={color:W.ElementColor[F.label]||"black",fontSize:"12px"},R={color:W.ElementColor[F.label]||"black",fontWeight:"bold",fontSize:"18px"};return(0,V.jsxs)("div",{className:(0,T.A)(c_,!Q&&r_),children:[(0,V.jsx)("div",{style:B,children:F.number}),(0,V.jsx)("span",{style:R,children:F.label}),(0,V.jsx)("br",{}),F.title,(0,V.jsx)("br",{}),F.mass]})}function M_(){return(0,V.jsx)("tbody",{children:(0,V.jsx)("tr",{children:(0,D.range)(0,19).map(function(U){return(0,V.jsx)("th",{children:U||""},U)})})})}function i_(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function b_(U){for(var F=1;F=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function j$(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q=2,Z=(0,n.useMemo)(function(){return N?uk:Object.fromEntries(Object.entries(uk).filter(function(U){return"COP"!==(0,R.A)(U,1)[0]}))},[N,uk]),W=(0,n.useMemo)(function(){return"DAT"===J&&l.context&&l.fieldName&&l.fieldValue?{context:l.context.trim(),fieldName:l.fieldName.trim(),fieldValue:"string"===typeof l.fieldValue?l.fieldValue.trim():l.fieldValue}:{}},[l.context,l.fieldName,l.fieldValue,J]);return(0,V.jsx)(Vi,{title:"S-Group Properties",className:U0.sgroup,result:function(){return l},valid:function(){return d},buttons:["Cancel","OK"],buttonsNameMap:{OK:"Apply"},withDivider:!0,params:B,children:(0,V.jsxs)(bf,{schema:uk[J],init:B,result:Q.result,errors:Q.errors,serialize:W,children:[(0,V.jsx)(Of,l0({name:"type",schema:Z,"data-testid":"s-group-type"},{title:"Type"})),"DAT"===J?(0,V.jsx)(_$,{formState:Q}):(0,V.jsx)(R0,{formState:l0(l0({},Q),{},{errors:Q.errors})})]})})}),D0={"button-common-styles":"template-lib-module_button-common-styles__9adxB",scrollbar:"template-lib-module_scrollbar__ZFwCC",warning:"template-lib-module_warning__UqgEG",dialogHeader:"template-lib-module_dialogHeader__-AmwE",button:"template-lib-module_button__LKf1c",dialog_body:"template-lib-module_dialog_body__QtL0J",inputContainer:"template-lib-module_inputContainer__dxoHA",searchIcon:"template-lib-module_searchIcon__o7cAy",accordionSummary:"template-lib-module_accordionSummary__2hIop",groupIcon:"template-lib-module_groupIcon__LBIRH",tabsContent:"template-lib-module_tabsContent__1QMnN",resultsContainer:"template-lib-module_resultsContainer__KnPBZ",saveButton:"template-lib-module_saveButton__8PE6t",tabs:"template-lib-module_tabs__YkpEG"},o0=["onInit"],p0=["name","onNameEdit","onAttachEdit"];function h0(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function c0(U){for(var F=1;F50?50:40}var j0="TemplateTable-module_tableContent__dnVKg",I0="TemplateTable-module_structTitle__2XUWI",K0="TemplateTable-module_twoRowsTitleTable__ZYwHq",f0="TemplateTable-module_oneRowTitleTable__N8Ibd",g0="TemplateTable-module_struct__lOLBI",P0="TemplateTable-module_selectedTitle__J-cte",A0="TemplateTable-module_td__6LIhx",q0="TemplateTable-module_selected__qZEF9",_0="TemplateTable-module_button__dpOF0",$0="TemplateTable-module_deleteButton__KfBpW",U1="TemplateTable-module_editButton__A0BoE";function F1(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function Q1(U){for(var F=1;F0&&(d.current=setTimeout(function(){return S(U)},300))},[]);return(0,n.useEffect)(function(){var Q,B=null!==(Q=WY(U,F)[Z1])&&void 0!==Q?Q:[];S(B)},[U,S]),(0,n.useEffect)(function(){if(V)l(!1);else{clearTimeout(d.current);var Q=WY(U,F)[Z1];W(Q)}},[U,F]),Z}(t,F),b=(0,n.useState)(E[C1]),v=(0,R.A)(b,2),G=v[0],s=v[1],X=e1(U);(0,n.useEffect)(function(){s(WY(E,F)[C1])},[E,F]),(0,n.useEffect)(function(){var U;null===(U=h.current)||void 0===U||U.focus(),a(null)},[J,a]),(0,n.useEffect)(function(){null!==Z&&l(Z)},[Z,l]),(0,n.useEffect)(function(){C&&J===W1.FunctionalGroupLibrary&&l(W1.TemplateLibrary)},[C,J,l]);var Y=new W.SdfSerializer,y=(0,B.A)((0,B.A)((0,B.A)({},W1.TemplateLibrary,k),W1.FunctionalGroupLibrary,E),W1.SaltsAndSolvents,t),z=Y.serialize(y[J]),O=function(F){d(F.props.group),U.onSelect(F)};return(0,V.jsxs)(Vi,{headerContent:(0,V.jsx)(D1,{}),footerContent:(0,V.jsx)(o1,{tab:J,data:z,isMonomerCreationWizardActive:C}),className:"".concat(D0.dialog_body),params:(0,D.omit)(["group"],p),buttons:[],needMargin:!1,children:[(0,V.jsxs)("div",{className:D0.inputContainer,children:[(0,V.jsx)(df,{ref:h,className:D0.input,type:"search",value:F,onChange:function(U){return Q(U)},placeholder:"Search by elements...",isFocused:!0,"data-testid":"template-search-input"}),(0,V.jsx)(dM,{name:"search",className:D0.searchIcon})]}),(0,V.jsxs)(SB.A,{value:J,onChange:function(U,F){return function(U){l(U)}(F)},className:D0.tabs,children:[(0,V.jsx)(WB.A,t1({label:"Template Library","data-testid":"template-library-tab"},T1(W1.TemplateLibrary))),(0,V.jsx)(WB.A,t1({label:"Functional Groups","data-testid":"functional-groups-tab",disabled:C,className:(0,T.A)(C&&D0.disabled)},T1(W1.FunctionalGroupLibrary))),(0,V.jsx)(WB.A,t1({label:"Salts and Solvents","data-testid":"salts-and-solvents-tab"},T1(W1.SaltsAndSolvents)))]}),(0,V.jsxs)("div",{className:D0.tabsContent,children:[(0,V.jsx)(a1,{value:J,index:W1.TemplateLibrary,children:(0,V.jsx)("div",{children:Object.keys(X).length?Object.keys(X).map(function(F){var Q,B=m.includes(F);return(0,V.jsxs)(_Q,{className:pI,square:!0,onChange:(Q=F,function(U,F){M(F?[].concat((0,o.A)(m),[Q]):(0,o.A)(m).filter(function(U){return U!==Q}))}),expanded:B,children:[(0,V.jsxs)(nB,{className:D0.accordionSummary,"data-testid":"".concat(F,"-accordion-item"),expandIcon:(0,V.jsx)(dM,{className:hI,name:"chevron"}),children:[(0,V.jsx)(dM,{name:"elements-group",className:D0.groupIcon}),"".concat(ZY(F)," (").concat(X[F].length,")")]}),(0,V.jsx)(ZB,{children:(0,V.jsx)(l1,{templates:B?X[F]:[],onSelect:function(U){return O(U)},selected:U.selected,onDelete:U.onDelete,onAttach:U.onAttach,renderOptions:U.renderOptions})})]},F)}):(0,V.jsx)("div",{className:D0.resultsContainer,children:(0,V.jsx)(N1,{textInfo:"No items found"})})})}),(0,V.jsx)(a1,{value:J,index:W1.FunctionalGroupLibrary,children:null!==G&&void 0!==G&&G.length?(0,V.jsx)("div",{className:D0.resultsContainer,children:(0,V.jsx)(l1,{titleRows:1,templates:G,onSelect:function(U){return O(U)},selected:U.selected,renderOptions:U.renderOptions})}):(0,V.jsx)("div",{className:D0.resultsContainer,children:(0,V.jsx)(N1,{textInfo:"No items found"})})}),(0,V.jsx)(a1,{value:J,index:W1.SaltsAndSolvents,children:null!==i&&void 0!==i&&i.length?(0,V.jsx)("div",{className:D0.resultsContainer,children:(0,V.jsx)(l1,{titleRows:1,templates:i,onSelect:function(U){return O(U)},selected:U.selected,renderOptions:U.renderOptions})}):(0,V.jsx)("div",{className:D0.resultsContainer,children:(0,V.jsx)(N1,{textInfo:"No items found"})})})]})]})}),h1="FontControl-module_fontSizeMenu__4RvmP",c1="FontControl-module_fontSizeOption__eGz-q",r1="FontControl-module_fontBtn__zGgG3",m1=function(U){var F=U.editor,Q="13px",B=(0,n.useState)(!1),l=(0,R.A)(B,2),d=l[0],J=l[1],N=(0,n.useState)(Q),Z=(0,R.A)(N,2),W=Z[0],S=Z[1],E=(0,n.useRef)(null);!function(U,F){var Q=function(Q){var B;null!==(B=U.current)&&void 0!==B&&B.contains(Q.target)||F()};(0,n.useEffect)(function(){return document.addEventListener("click",Q),function(){document.removeEventListener("click",Q)}},[])}(E,function(){return J(!1)});(0,n.useEffect)(function(){return F.registerUpdateListener(function(U){U.editorState.read(function(){var U=Td();if(Fd(U)){var F=function(U,F){let Q=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",B=null;const R=U.getNodes(),V=U.anchor,n=U.focus,l=U.isBackward(),d=l?n.offset:V.offset,J=l?n.getNode():V.getNode();if(Fd(U)&&U.isCollapsed()&&""!==U.style){const Q=uW(U.style);if(null!==Q&&F in Q)return Q[F]}for(let N=0;N0}),U&&(F=R.toJSON()),{content:F?JSON.stringify(F):"",position:Q,id:B}},[J,Q,B]),a=(0,n.useCallback)(function(U){var F=g1[U];F&&J.dispatchCommand(Un,F)},[J]),T=(0,n.useCallback)(function(){J.focus()},[J]);return(0,V.jsxs)(Vi,{className:H1,title:"Text Editor",params:l,result:t,valid:function(){return F.form.valid},buttonsNameMap:{OK:"Apply"},buttons:["Cancel","OK"],withDivider:!0,children:[(0,V.jsxs)("div",{className:x1,onClick:T,onKeyDown:function(U){"Enter"!==U.key&&" "!==U.key||(U.preventDefault(),T())},role:"toolbar",tabIndex:0,"aria-label":"Text formatting toolbar",children:[f1.map(function(U){return(0,V.jsx)(L1,{button:U,active:S.has(U.command),toggleStyle:a},U.name)}),(0,V.jsx)(y1,{editor:J}),(0,V.jsx)("span",{children:"Font Size"}),(0,V.jsx)(m1,{editor:J})]}),(0,V.jsx)("span",{children:"Text:"}),(0,V.jsx)(sS,{contentEditable:(0,V.jsx)(OS,{className:u1,"data-testid":"text-editor"}),ErrorBoundary:wS}),(0,V.jsx)(AS,{}),(0,V.jsx)(A1,{}),(0,V.jsx)(q1,{editorRef:k}),(0,V.jsx)(jS,{})]})},$1=(0,v.Ng)(function(U){return{formState:U.modal}})(function(U){var F=U.formState,Q=U.position,B=U.id,R=function(U){if(U)try{var F=JSON.parse(U);if(F&&"object"===(0,e.A)(F)&&F.root&&"object"===(0,e.A)(F.root)&&"string"===typeof F.root.type)return U}catch(_3){}}(U.content),n={namespace:"KetcherTextEditor",onError:function(U){},editorState:R,theme:P1};return(0,V.jsx)(HZ,{initialConfig:n,children:(0,V.jsx)(_1,{formState:F,position:Q,id:B,params:U})})}),U2="CTRL/Cmd + V",F2="for paste",Q2="Error Message",B2="PasteErrorModalBody-module_pasteErrorModalBody__ExG0r",R2="PasteErrorModalBody-module_shortcutsBlock__e-wyA",V2="PasteErrorModalBody-module_shortcuts__x0xBs",n2="PasteErrorModalBody-module_shortcut__sED-E",l2=function(){return(0,V.jsxs)("div",{className:B2,"data-testid":"error-message-body",children:[(0,V.jsx)("div",{children:"Your browser doesn't allow pasting clipboard content via button. Please use shortcut instead."}),(0,V.jsx)("div",{className:R2,children:(0,V.jsxs)("div",{className:V2,children:[(0,V.jsx)("div",{className:n2,"data-testid":"infoModal-shortcut-for-paste",children:U2}),(0,V.jsx)("div",{children:F2})]})})]})},d2="InfoModal-module_infoModal__0Vza1",J2="InfoModal-module_ok__BZ1ar";var N2=(0,v.Ng)(function(U){return{errorMessage:U.options.app.errorMessage}},function(U){return{onOk:function(F){U({type:"MODAL_CLOSE"})}}})(function(U){var F,Q,B=null!==(F=Ja.paste.title)&&void 0!==F?F:"Paste",R=U.message===B,n="This action is unavailable via menu. Instead, use shortcut to ".concat(U.message,"."),l=(0,V.jsx)("div",{children:null!==(Q=U.title)&&void 0!==Q?Q:Q2});return(0,V.jsx)(Vi,{className:d2,params:U,buttons:[(0,V.jsx)("button",{onClick:U.onOk,className:J2,"data-testid":U.testId||"info-modal-close",children:U.button||"Close"},"ok")],headerContent:l,children:(0,V.jsx)("div",{children:U.customText||(R?(0,V.jsx)(l2,{}):n)})})}),Z2={open:uq,analyse:EP,recognize:yP,"period-table":G$,"extended-table":y$,rgroup:A$,attach:x0,templates:p1,about:OK,miew:AP,atomProps:CA,attachmentPoints:cA,automap:vA,bondProps:zA,check:qg,enhancedStereo:S_,labelEdit:h_,rgroupLogic:fA,removeFG:function(U){var F=Zy().ketcherId,Q=W.ketcherProvider.getKetcher(F).editor,B=U.fgIds,R=function(F,Q){U[F](Q)};return(0,V.jsxs)("div",{onSubmit:function(U){return U.preventDefault()},tabIndex:-1,className:z$,"data-testid":"edit-abbreviation-window",children:[(0,V.jsx)("header",{className:L$,children:"Edit Abbreviation"}),(0,V.jsx)("div",{className:O$,children:"A change was detected for the abbreviation. Do you want to remove the abbreviation information from the structure and continue work with separate atoms and bonds?"}),(0,V.jsxs)("footer",{className:H$,children:[(0,V.jsx)("input",{type:"button",value:"Cancel",className:u$,onClick:function(){return R("onOk",!1)},"data-testid":"Cancel"}),(0,V.jsx)("input",{type:"button",value:"Remove Abbreviation","data-testid":"remove-abbreviation-button",className:x$,onClick:function(){return R("onOk",function(){if(B.length>0){var U,F=w$(B);try{for(F.s();!(U=F.n()).done;){var R=U.value;Q.update((0,W.fromSgroupDeletion)(Q.render.ctab,R))}}catch(V){F.e(V)}finally{F.f()}}return!0}())}})]})]})},save:n_,settings:ig,sgroup:C0,text:$1,confirm:function(U){var F=U.onOk,Q=U.onCancel;return(0,V.jsxs)("div",{className:z$,children:[(0,V.jsx)("header",{className:L$,"data-testid":"confirm-header",children:"Warning!"}),(0,V.jsx)("div",{className:O$,"data-testid":"confirm-question",children:"Unsupported S-group type found. Would you like to import structure without it?"}),(0,V.jsxs)("footer",{className:H$,children:[(0,V.jsx)("input",{type:"button",value:"Cancel",className:u$,onClick:function(){return Q()},"data-testid":"cancel-button"}),(0,V.jsx)("input",{type:"button",value:"OK",className:x$,onClick:function(){return F()},"data-testid":"ok-button"})]})]})},"info-modal":N2},W2=["modal"],S2=["modal"];function E2(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function k2(U){for(var F=1;F=U.length?{done:!0}:{done:!1,value:U[B++]}},e:function(U){throw U},f:R}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var V,n=!0,l=!1;return{s:function(){Q=Q.call(U)},n:function(){var U=Q.next();return n=U.done,U},e:function(U){l=!0,V=U},f:function(){try{n||null==Q.return||Q.return()}finally{if(l)throw V}}}}function h2(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q0&&void 0!==arguments[0]&&arguments[0];return function(){var B=(0,l.A)(J().mark(function B(R){var V,n,l,d,N;return J().wrap(function(B){for(;;)switch(B.prev=B.next){case 0:if(n=F(),(l=null===(V=n.actionState)||void 0===V?void 0:V.activeTool.tool)&&("select"!==l||U)){B.next=4;break}return B.abrupt("return");case 4:d=n.toolbar.visibleTools.select,!0===(N=n.options.settings.resetToSelect)||N===l||!0===U?R({type:"ACTION",action:Ja[d].action}):Q();case 7:case"end":return B.stop()}},B)}));return function(U){return B.apply(this,arguments)}}()};return{onInit:function(F){U({type:"INIT",editor:F})},onChange:function(F){void 0===F&&B(0).then(function(){return U(n())}),"force"===F?B(0).then(function(){return U(n(!0))}):B(0).then(function(){return U(n())})},onSelectionChange:function(){Q()},onElementEdit:function(Q){if(V=Q,Array.isArray(V)&&(null===V||void 0===V?void 0:V.every(function(U){return U instanceof W.Atom}))){var B=C2(Q,$k(Q[0]));return YX(U,"atomProps",o2(o2({},B),{},{isMultipleAtoms:!0})).then(_k)}var V,n="text"===Q.type?Q:qk(Q),l=null;if("text"===n.type)return YX(U,"text",n);if(W.Elements.get(n.label))l=YX(U,"atomProps",n);else if(1===Object.keys(n).length&&"ap"in n)l=YX(U,"attachmentPoints",n.ap).then(function(U){return{ap:U}});else if("rlabel"===n.type){var d=F().editor.struct().rgroups,J={type:"atom",values:n.values,disabledIds:Array.from(d.entries()).reduce(function(U,F){var Q=(0,R.A)(F,2),B=Q[0];return Q[1].frags.has(n.fragId)&&U.push(B),U},[])};l=YX(U,"rgroup",J).then(function(U){return{values:U.values,type:"rlabel"}})}else l=YX(U,n.pseudo?"extended-table":"period-table",o2(o2({},n),{},{pseudo:n.pseudo}));return l.then(_k)},onEnhancedStereoEdit:function(F){var Q=(0,j.A)({},(function(U){if(null==U)throw new TypeError("Cannot destructure "+U)}(F),F));return B(0).then(function(){return Q=function(U){if(null===U)return{type:null};var F=U.match(/\D+/g)[0],Q=+U.replace(F,"");return F===W.StereoLabel.Abs?{type:U,orNumber:1,andNumber:1}:F===W.StereoLabel.And?{type:F,orNumber:1,andNumber:Q}:F===W.StereoLabel.Or?{type:F,orNumber:Q,andNumber:1}:{type:null}}(Q.stereoLabel),YX(U,"enhancedStereo",{init:Q}).then(function(U){return function(U){var F,Q;switch(U.type){case W.StereoLabel.And:return"".concat(W.StereoLabel.And).concat(null!==(F=U.andNumber)&&void 0!==F?F:1);case W.StereoLabel.Or:return"".concat(W.StereoLabel.Or).concat(null!==(Q=U.orNumber)&&void 0!==Q?Q:1);default:return U.type}}(U)},function(){return null})})},onQuickEdit:function(F){return YX(U,"labelEdit",F)},onBondEdit:function(F){var Q=C2(F,F[0]);return YX(U,"bondProps",Bt(Q)).then(Rt)},onRgroupEdit:function(Q){var B=F().editor.struct();if(Object.keys(Q).length>2){var R=Array.from(B.rgroups.keys());return Q.range||(Q.range=">0"),YX(U,"rgroupLogic",o2({rgroupLabels:R},Q))}var V=Array.from(B.atoms.values()).reduce(function(U,F){return F.fragment===Q.fragId&&null!==F.rglabel?U.concat(qk(F).values):U},[]),n={type:"fragment",values:[Q.label],disabledIds:V};return YX(U,"rgroup",n).then(function(U){return{label:U.values[0]}})},onSgroupEdit:function(F){return B(0).then(function(){return YX(U,"sgroup",o2(o2({},function(U){var F,Q,B=null!==(F=U.type)&&void 0!==F?F:"DAT",R=U.attrs,V=R.context,n=R.fieldName,l=R.fieldValue,d=R.absolute,J=R.attached;U.attrs.radiobuttons=!1===d&&!1===J?"Relative":J?"Attached":"Absolute",null!==(Q=kk[V][n])&&void 0!==Q&&Q.properties.fieldValue.items&&(U.attrs.fieldValue=l.split("\n"));var N="DAT"===B?{context:V||Ak(Ek,"context"),fieldName:n||Ak(Ek,"fieldName"),fieldValue:l||Ak(Ek,"fieldValue")}:{};return Pk(Pk({type:B},U.attrs),N)}(F)),{},{selectedSruCount:V(F.type)}))}).then(dt)},onRemoveFG:function(F){return B(0).then(function(){return YX(U,"removeFG",F)})},onMessage:function(U){U.error},onAromatizeStruct:function(U){var Q=F(),B=Q.options.getServerSettings();return Ht(Q.editor,Q.server,"aromatize",B,U).catch(function(U){W.KetcherLogger.error("index.js::initEditor::onAromatizeStruct",U),Q.editor.errorHandler(U)})},onDearomatizeStruct:function(U){var Q=F(),B=Q.options.getServerSettings();return Ht(Q.editor,Q.server,"dearomatize",B,U).catch(function(U){W.KetcherLogger.error("index.js::initEditor::onDearomatizeStruct",U),Q.editor.errorHandler(U)})},onMouseDown:function(){Q()},onConfirm:function(){return YX(U,"confirm")},onShowInfo:function(F){if(F){var Q=F.groupStruct,B=F.event,R=F.sGroup;pY(U,{groupStruct:Q,event:B,sGroup:R})}else pY(U,{groupStruct:null,sGroup:null})},onApiSettings:function(F){return U(nk(F))},onUpdateFloatingTools:EY(function(F){U(function(U){return{type:"UPDATE_FLOATING_TOOLS",payload:U}}(F))}),onZoomIn:Q,onZoomOut:Q,onZoomChanged:Q,onShowMacromoleculesErrorMessage:function(F){return U({type:"MODAL_OPEN",data:{name:"info-modal",prop:{customText:F}}})}}}function r2(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function m2(U){for(var F=1;F=R?0:U.loweredAbbreviation.length}(U,Q),R=U.loweredLabel.indexOf(Q,B);if(-1===R)return U.label;var n=R+Q.length,l=U.label.substring(0,R),d=U.label.substring(R,n),J=U.label.substring(n);return(0,V.jsxs)(V.Fragment,{children:[l,(0,V.jsx)("mark",{children:d}),J]})},q2=function(U){return U.label},_2=function(U,F){if(!F)return 0;var Q=P2(U.loweredName,F),B=P2(U.loweredAbbreviation,F);return Math.max(Q,B)},$2=function(U,F){if(!F.inputValue)return[];var Q=F.inputValue.toLowerCase().trim(),B=U.filter(function(U){var F;return U.loweredName.includes(Q)||(null===(F=U.loweredAbbreviation)||void 0===F?void 0:F.includes(Q))});return B.sort(function(U,F){var B,R,V=U.loweredName.startsWith(Q)||(null===(B=U.loweredAbbreviation)||void 0===B?void 0:B.startsWith(Q)),n=F.loweredName.startsWith(Q)||(null===(R=F.loweredAbbreviation)||void 0===R?void 0:R.startsWith(Q));if(V&&!n)return-1;if(!V&&n)return 1;var l=_2(U,Q),d=_2(F,Q);return l>d?-1:l \nFunctional Groups\n\n> \n0\n\n$$$$\n\nBn\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 7 7 0 0 0 0 0 0 0 0999 V2000\n 9.2471 -6.8849 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2471 -7.7119 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5306 -8.1254 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5306 -8.9561 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2489 -9.3651 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9609 -8.9523 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9609 -8.1250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 2 0 0 0 0\n 7 2 1 0 0 0 0\n 6 7 2 0 0 0 0\n 5 6 1 0 0 0 0\n 4 5 2 0 0 0 0\n 3 4 1 0 0 0 0\n 2 1 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SAP 1 1 1 0\nM SMT 1 Bn\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nBoc\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 7 6 0 0 1 0 0 0 0 0999 V2000\n 1.5000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.2500 1.2990 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2.2500 -1.2990 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.7500 1.2990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.2500 1.2990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.7500 2.7990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.7500 -0.2010 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 2 0 0 0 0\n 2 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 4 6 1 0 0 0 0\n 4 7 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SAP 1 1 1 0\nM SMT 1 Boc\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nBu\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 12.6135 -8.3317 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.3295 -7.9183 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.0455 -8.3317 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.7615 -7.9183 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SAP 1 1 1 0\nM SMT 1 Bu\nM END\n\n> \nFunctional Groups\n\n> \n0\n$$$$\n\nBz\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 8 8 0 0 0 0 0 0 0 0999 V2000\n 9.1980 -7.1408 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.1980 -7.9679 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4815 -8.3813 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4815 -9.2120 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.1998 -9.6211 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9118 -9.2083 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9118 -8.3809 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9143 -6.7272 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 0 0 0 0\n 2 3 2 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 2 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 2 0 0 0 0\n 7 2 1 0 0 0 0\n 1 8 2 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAP 1 1 1 0\nM SMT 1 Bz\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nCbz\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 10 10 0 0 1 0 0 0 0 0999 V2000\n 8.5563 4.7294 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8554 3.9794 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8554 2.4794 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5563 1.7294 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.2573 2.4794 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.2573 3.9794 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.9582 4.7294 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.6592 3.9794 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.3602 4.7294 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.3602 6.2294 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 2 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 2 0 0 0 0\n 6 1 1 0 0 0 0\n 6 7 1 0 0 0 0\n 7 8 1 0 0 0 0\n 8 9 1 0 0 0 0\n 9 10 2 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SMT 1 Cbz\nM SAL 1 10 1 2 3 4 5 6 7 8 9 10\nM SAP 1 1 9 0\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nC2H5\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 2 1 0 0 0 0 0 0 0 0999 V2000\n 2.3125 -3.6875 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0285 -3.2741 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 2 1 2\nM SAP 1 1 1 0\nM SMT 1 C2H5\nM END\n\n> \nFunctional Groups\n\n> \n0\n$$$$\n\nCCl3\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 3.7449 -7.2954 0.0000 C 0 0 3 0 0 0 0 0 0 0 0 0\n 3.7449 -6.5524 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5875 -7.2954 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 2.9179 -7.2954 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SAP 1 1 1 0\nM SMT 1 CCl3\nM END\n\n> \nFunctional Groups\n\n> \n0\n$$$$\n\nCF3\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 3.7449 -7.2954 0.0000 C 0 0 3 0 0 0 0 0 0 0 0 0\n 3.7449 -6.5524 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5875 -7.2954 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 2.9179 -7.2954 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SAP 1 1 1 0\nM SMT 1 CF3\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nCN\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 2 1 0 0 1 0 0 0 0 0999 V2000\n -4.4500 5.0500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.9500 5.0500 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 3 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SMT 1 CN\nM SAL 1 2 1 2\nM SAP 1 1 1 0\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nCO2Et\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 8.1962 -6.9168 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.2413 -6.9167 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2187 -6.3264 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1736 -6.3264 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 11.2641 -6.3261 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 2 0 0 0 0\n 3 2 1 0 0 0 0\n 2 5 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 3 2 5 4\nM SAP 1 1 1 0\nM SMT 1 CO2Et\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nCO2H\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 3 2 0 0 0 0 0 0 0 0999 V2000\n 13.6876 -8.3811 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.4041 -7.9673 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.9709 -7.9673 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 2 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 3 1 2 3\nM SAP 1 1 1 0\nM SMT 1 CO2H\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nCO2Me\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 8.4852 -6.1758 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2023 -5.7617 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9195 -6.1757 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.7680 -5.7617 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 1 4 2 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SAP 1 1 1 0\nM SMT 1 CO2Me\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nCONH2\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 3 2 0 0 1 0 0 0 0 0999 V2000\n -7.8000 3.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -7.0500 4.5490 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -7.0500 1.9510 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SMT 1 CONH2\nM SAL 1 3 1 2 3\nM SAP 1 1 1 0\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nCO2Pr\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n 8.2161 -8.0454 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.2839 -7.4545 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.2611 -8.0452 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2386 -7.4549 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.3068 -8.0451 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1935 -7.4549 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 4 1 0 0 0 0\n 1 6 2 0 0 0 0\n 4 3 1 0 0 0 0\n 3 2 1 0 0 0 0\n 2 5 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 4 3 2 5 6\nM SAP 1 1 1 0\nM SMT 1 CO2Pr\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nCO2tBu\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n 12.5930 -8.0955 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.8080 -7.2933 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.1803 -8.6827 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.9825 -8.4678 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.1974 -7.6656 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.7846 -8.2529 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.5697 -9.0550 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 4 6 1 0 0 0 0\n 4 7 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SAP 1 1 1 0\nM SMT 1 CO2tBu\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nCp\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 5 5 0 0 0 0 0 0 0 0999 V2000\n 9.2500 -7.4876 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5798 -7.9745 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8358 -8.7624 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.6642 -8.7624 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9202 -7.9745 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 2 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 2 0 0 0 0\n 5 1 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SAP 1 1 1 0\nM SMT 1 Cp\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nCPh3\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 19 21 0 0 0 0 0 0 0 0999 V2000\n 15.9886 -1.0358 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.9886 0.0188 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.7001 0.4303 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.7001 1.2533 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.9909 1.6684 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.2735 1.2529 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.2735 0.4338 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.9301 -0.7496 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.5932 -1.2407 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 18.3491 -0.9130 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 18.4450 -0.0936 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.7775 0.3981 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.0261 0.0699 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.0133 -0.7081 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.8526 0.0987 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.0721 0.3625 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.4516 -0.1839 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.6191 -0.9941 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.4003 -1.2545 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 1 0 0 0 0\n 7 2 2 0 0 0 0\n 6 7 1 0 0 0 0\n 5 6 2 0 0 0 0\n 4 5 1 0 0 0 0\n 3 4 2 0 0 0 0\n 8 9 1 0 0 0 0\n 13 8 2 0 0 0 0\n 12 13 1 0 0 0 0\n 11 12 2 0 0 0 0\n 10 11 1 0 0 0 0\n 9 10 2 0 0 0 0\n 14 15 1 0 0 0 0\n 19 14 2 0 0 0 0\n 18 19 1 0 0 0 0\n 17 18 2 0 0 0 0\n 16 17 1 0 0 0 0\n 15 16 2 0 0 0 0\n 1 2 1 0 0 0 0\n 1 8 1 0 0 0 0\n 1 14 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15\nM SAL 1 4 16 17 18 19\nM SAP 1 1 1 0\nM SMT 1 CPh3\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nCy\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 6 6 0 0 1 0 0 0 0 0999 V2000\n 3.9490 -2.3000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.6500 -3.0500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.6500 -4.5500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.9490 -5.3000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.2481 -4.5500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.2481 -3.0500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 1 0 0 0 0\n 2 1 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 1 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SAP 1 1 1 0\nM SMT 1 Cy\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nEt\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 2 1 0 0 0 0 0 0 0 0999 V2000\n 13.3295 -8.3317 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.0455 -7.9183 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\nG 1 0\nEt\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 2 1 2\nM SAP 1 1 1 0\nM SMT 1 Et\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nFMOC\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 17 19 0 0 1 0 0 0 0 0999 V2000\n 7.2573 3.9794 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.9582 4.7294 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.6592 3.9794 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.3602 4.7294 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.3602 6.2294 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.4141 2.4876 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8814 2.1758 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.6313 3.4748 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6276 4.5895 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.0985 3.7867 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5620 5.2133 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.5583 6.3280 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0911 6.0161 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.4105 1.3729 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.8740 -0.0537 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.3412 -0.3655 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3449 0.7492 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 2 0 0 0 0\n 1 6 1 0 0 0 0\n 6 7 2 0 0 0 0\n 7 8 1 0 0 0 0\n 8 9 2 0 0 0 0\n 9 1 1 0 0 0 0\n 8 10 1 0 0 0 0\n 10 11 2 0 0 0 0\n 11 12 1 0 0 0 0\n 12 13 2 0 0 0 0\n 13 9 1 0 0 0 0\n 6 14 1 0 0 0 0\n 14 15 2 0 0 0 0\n 15 16 1 0 0 0 0\n 16 17 2 0 0 0 0\n 17 7 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 17 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17\nM SAP 1 1 4 0\nM SMT 1 FMOC\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\niBu\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 8.5340 -8.7451 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2500 -8.3317 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9660 -8.7451 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2500 -7.5049 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 4 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SAP 1 1 1 0\nM SMT 1 iBu\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nIndole\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 9 10 0 0 0 0 0 0 0 0999 V2000\n 6.0712 -7.3174 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.5571 -7.9865 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.0711 -8.6554 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 5.2847 -8.3999 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.2847 -7.5730 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5715 -7.1602 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.8554 -7.5733 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.8554 -8.4034 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5732 -8.8125 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 2 0 0 0 0\n 5 1 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 2 0 0 0 0\n 7 8 1 0 0 0 0\n 8 9 2 0 0 0 0\n 9 4 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 9 1 2 3 4 5 6 7 8 9\nM SAP 1 1 1 0\nM SMT 1 Indole\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\niPr\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 3 2 0 0 0 0 0 0 0 0999 V2000\n 16.5000 -12.5433 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.7840 -12.9567 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.2160 -12.9567 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 0 0 0 0\n 1 3 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 3 1 2 3\nM SAP 1 1 1 0\nM SMT 1 iPr\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nMe\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 1 0 0 0 0 0 0 0 0 0999 V2000\n 9.2500 -8.1250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 1 1\nM SAP 1 1 1 0\nM SMT 1 Me\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nMes\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 8 8 0 0 1 0 0 0 0 0999 V2000\n -0.1000 1.6571 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.6500 0.3581 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.6500 2.9561 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.1500 0.3581 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.9000 1.6571 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.1500 2.9561 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.9000 4.2552 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.9000 -0.9409 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 2 0 0 0 0\n 2 4 2 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 2 0 0 0 0\n 6 3 1 0 0 0 0\n 6 7 1 0 0 0 0\n 4 8 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAP 1 1 8 0\nM SMT 1 Mes\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nMs\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 13.6876 -8.4891 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0\n 13.6876 -7.6625 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.5143 -8.4891 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.8607 -8.4891 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 0 0 0 0\n 1 3 2 0 0 0 0\n 1 4 2 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SAP 1 1 1 0\nM SMT 1 Ms\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nNCO\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 3 2 0 0 0 0 0 0 0 0999 V2000\n 6.2976 -9.9063 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1250 -9.9063 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.9524 -9.9063 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 2 3 2 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 3 1 2 3\nM SAP 1 1 1 0\nM SMT 1 NCO\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nNCS\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 3 2 0 0 0 0 0 0 0 0999 V2000\n 7.0476 -8.8750 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8750 -8.8750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7024 -8.8750 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 2 3 2 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 3 1 2 3\nM SAP 1 1 1 0\nM SMT 1 NCS\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nNHPh\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 7 7 0 0 0 0 0 0 0 0999 V2000\n 6.5715 -5.1888 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 5.7479 -5.1888 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.3322 -4.4689 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5051 -4.4689 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.0946 -5.1877 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5086 -5.9047 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.3338 -5.9047 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3 4 2 0 0 0 0\n 2 3 1 0 0 0 0\n 7 2 2 0 0 0 0\n 6 7 1 0 0 0 0\n 5 6 2 0 0 0 0\n 4 5 1 0 0 0 0\n 1 2 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SAP 1 1 1 0\nM SMT 1 NHPh\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nNO2\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 3 2 0 0 1 0 0 0 0 0999 V2000\n -6.6000 4.4000 0.0000 N 0 3 0 0 0 0 0 0 0 0 0 0\n -5.8500 5.6990 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -5.8500 3.1010 0.0000 O 0 5 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 1 0 0 0 0\nM CHG 2 1 1 3 -1\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SMT 1 NO2\nM SAL 1 3 1 2 3\nM SAP 1 1 1 0\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nOAc\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 4 3 0 0 1 0 0 0 0 0999 V2000\n -8.0010 2.5000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -6.7019 3.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -5.4029 2.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -6.7019 4.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 4 2 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SMT 1 OAc\nM SAL 1 4 1 2 3 4\nM SAP 1 1 1 0\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nOCF3\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 5 4 0 0 1 0 0 0 0 0999 V2000\n 0.0000 0.0000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 0.0000 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 -1.5000 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 1.5000 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 4 1 0 0 0 0\n 2 5 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SMT 1 OCF3\nM SAL 1 5 1 2 3 4 5\nM SAP 1 1 1 0\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nOCN\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 3 2 0 0 0 0 0 0 0 0999 V2000\n 6.2976 -8.1250 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1250 -8.1250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.9524 -8.1250 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 3 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 3 1 2 3\nM SAP 1 1 1 0\nM SMT 1 OCN\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nOEt\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 3 2 0 0 0 0 0 0 0 0999 V2000\n 14.3514 -7.9669 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.6354 -8.3803 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.9194 -7.9669 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 0 0 0 0\n 2 3 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 3 1 2 3\nM SAP 1 1 1 0\nM SMT 1 OEt\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nOMe\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 2 1 0 0 0 0 0 0 0 0999 V2000\n 13.9934 -7.9675 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2774 -8.3809 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 2 1 2\nM SAP 1 1 1 0\nM SMT 1 OMe\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nPh\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 6 6 0 0 0 0 0 0 0 0999 V2000\n 14.3985 -7.7114 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.3985 -8.5387 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.6865 -8.9516 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.9682 -8.5424 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.9682 -7.7118 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.6847 -7.2984 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 2 0 0 0 0\n 3 2 1 0 0 0 0\n 4 3 2 0 0 0 0\n 5 4 1 0 0 0 0\n 6 5 2 0 0 0 0\n 1 6 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SAP 1 1 1 0\nM SMT 1 Ph\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nPhCOOH\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 9 9 0 0 0 0 0 0 0 0999 V2000\n 13.6014 -8.4081 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.8849 -7.9944 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.1683 -8.4081 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4518 -7.9944 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7352 -8.4081 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7352 -9.2355 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4518 -9.6492 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.1683 -9.2355 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.8849 -7.1670 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 0 0 0 0\n 3 2 1 0 0 0 0\n 4 3 1 0 0 0 0\n 5 4 2 0 0 0 0\n 6 5 1 0 0 0 0\n 7 6 2 0 0 0 0\n 8 7 1 0 0 0 0\n 3 8 2 0 0 0 0\n 2 9 2 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 9 1 2 3 4 5 6 7 8 9\nM SAP 1 1 1 0\nM SMT 1 PhCOOH\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nPiv\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 6 5 0 0 1 0 0 0 0 0999 V2000\n 1.5000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.2500 1.2990 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2.2500 -1.2990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 -2.5981 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5490 -0.5490 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.9510 -2.0490 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 3 5 1 0 0 0 0\n 3 6 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SMT 1 Piv\nM SAL 1 6 1 2 3 4 5 6\nM SAP 1 1 1 0\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nPO2\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 3 2 0 0 0 0 0 0 0 0999 V2000\n 9.1697 -8.4569 0.0000 P 0 0 0 0 0 0 0 0 0 0 0 0\n 9.5847 -7.7424 0.0000 O 0 5 0 0 0 0 0 0 0 0 0 0\n 8.3425 -8.4569 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 2 0 0 0 0\nG 1 0\nM CHG 1 2 -1\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 3 1 2 3\nM SAP 1 1 1 0\nM SMT 1 PO2\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nPO3\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 7.8750 -3.5505 0.0000 P 0 0 3 0 0 0 0 0 0 0 0 0\n 8.7022 -3.5505 0.0000 O 0 5 0 0 0 0 0 0 0 0 0 0\n 7.8750 -2.7234 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0478 -3.5505 0.0000 O 0 5 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 2 0 0 0 0\n 1 4 1 0 0 0 0\nG 1 0\nM CHG 2 2 -1 4 -1\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SAP 1 1 1 0\nM SMT 1 PO3\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nPO3H2\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 4 3 0 0 1 0 0 0 0 0999 V2000\n -1.2500 0.8500 0.0000 P 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2500 2.3500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2500 -0.6500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.2500 0.8500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SMT 1 PO3H2\nM SAL 1 4 1 2 3 4\nM SAP 1 1 1 0\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nPO4\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 9.6258 -5.7188 0.0000 P 0 0 3 0 0 0 0 0 0 0 0 0\n 10.4530 -5.7188 0.0000 O 0 5 0 0 0 0 0 0 0 0 0 0\n 9.6258 -4.8916 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7945 -5.7188 0.0000 O 0 5 0 0 0 0 0 0 0 0 0 0\n 9.6258 -6.5459 0.0000 O 0 5 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 2 0 0 0 0\n 1 4 1 0 0 0 0\n 1 5 1 0 0 0 0\nG 1 0\nM CHG 3 2 0 4 -1 5 -1\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SAP 1 1 2 0\nM SMT 1 PO4\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nPO4H2\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 5 4 0 0 1 0 0 0 0 0999 V2000\n -2.7500 0.8500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2500 0.8500 0.0000 P 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2500 2.3500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2500 -0.6500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.2500 0.8500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 2 0 0 0 0\n 2 4 1 0 0 0 0\n 2 5 1 0 0 0 0\n 2 1 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SMT 1 PO4H2\nM SAL 1 5 1 2 3 4 5\nM SAP 1 1 5 0\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nPr\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 3 2 0 0 0 0 0 0 0 0999 V2000\n 12.9715 -8.3317 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.6875 -7.9183 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.4035 -8.3317 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 3 1 2 3\nM SAP 1 1 1 0\nM SMT 1 Pr\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nsBu\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 5.6730 -8.0431 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.9564 -8.4569 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3895 -8.4569 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1061 -8.0431 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 0 0 0 0\n 1 3 1 0 0 0 0\n 3 4 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SAP 1 1 1 0\nM SMT 1 sBu\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nSCN\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 3 2 0 0 0 0 0 0 0 0999 V2000\n 4.9851 -6.8125 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0\n 5.8125 -6.8125 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.6399 -6.8125 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 3 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 3 1 2 3\nM SAP 1 1 1 0\nM SMT 1 SCN\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nSO2\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 3 2 0 0 0 0 0 0 0 0999 V2000\n 6.9189 -5.7696 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3330 -5.0545 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 6.0918 -5.7696 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 2 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 3 1 2 3\nM SAP 1 1 1 0\nM SMT 1 SO2\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nSO2Cl\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 8.8345 -7.9568 0.0000 S 0 0 3 0 0 0 0 0 0 0 0 0\n 9.6659 -7.9568 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8345 -7.1296 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 8.0074 -7.9568 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 2 0 0 0 0\n 1 4 2 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SAP 1 1 1 0\nM SMT 1 SO2Cl\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nSO2H\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 3 2 0 0 1 0 0 0 0 0999 V2000\n -1.2500 0.8500 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2500 2.3500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2500 -0.6500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SMT 1 SO2H\nM SAL 1 3 1 2 3\nM SAP 1 1 1 0\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nSO3\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 9.0313 -7.9568 0.0000 S 0 0 3 0 0 0 0 0 0 0 0 0\n 9.8626 -7.9568 0.0000 O 0 5 0 0 0 0 0 0 0 0 0 0\n 9.0313 -7.1296 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 8.2042 -7.9568 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 2 0 0 0 0\n 1 4 2 0 0 0 0\nG 1 0\nM CHG 1 2 -1\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SAP 1 1 1 0\nM SMT 1 SO3\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nSO3H\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 4 3 0 0 1 0 0 0 0 0999 V2000\n -1.2500 0.8500 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2500 2.3500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2500 -0.6500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.2500 0.8500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 2 0 0 0 0\n 1 4 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SMT 1 SO3H\nM SAL 1 4 1 2 3 4\nM SAP 1 1 1 0\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nSO4\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 7.6894 -6.2813 0.0000 S 0 0 3 0 0 0 0 0 0 0 0 0\n 8.5166 -6.2813 0.0000 O 0 5 0 0 0 0 0 0 0 0 0 0\n 7.6894 -5.4541 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 6.8582 -6.2813 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6894 -7.1085 0.0000 O 0 5 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 2 0 0 0 0\n 1 4 2 0 0 0 0\n 1 5 1 0 0 0 0\nG 1 0\nM CHG 2 2 0 5 -1\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SAP 1 1 2 0\nM SMT 1 SO4\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nSO4H\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 5 4 0 0 1 0 0 0 0 0999 V2000\n -2.7500 0.8500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2500 0.8500 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2500 2.3500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2500 -0.6500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.2500 0.8500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 2 0 0 0 0\n 2 4 2 0 0 0 0\n 2 5 1 0 0 0 0\n 2 1 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SMT 1 SO4H\nM SAL 1 5 1 2 3 4 5\nM SAP 1 1 5 0\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nster\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n17 20 0 0 0 0 0 0 0 0999 V2000\n 14.0708 -13.7848 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.0708 -12.9569 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.7877 -12.5430 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.5046 -12.9569 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.5046 -13.7848 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.7877 -14.1987 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.2215 -14.1987 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.9384 -13.7848 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.9384 -12.9570 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.2215 -12.5431 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.2215 -11.7152 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.9385 -11.3013 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.6553 -11.7153 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.6553 -12.5431 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 18.4426 -12.7989 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 18.9292 -12.1293 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 18.4427 -11.4595 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 0 0 0 0\n 2 3 1 0 0 0 0\n 4 3 1 0 0 0 0\n 5 4 1 0 0 0 0\n 6 5 1 0 0 0 0\n 1 6 1 0 0 0 0\n 5 7 1 0 0 0 0\n 7 8 1 0 0 0 0\n 8 9 1 0 0 0 0\n 9 10 1 0 0 0 0\n 10 4 1 0 0 0 0\n 11 10 1 0 0 0 0\n 12 11 1 0 0 0 0\n 13 12 1 0 0 0 0\n 14 13 1 0 0 0 0\n 9 14 1 0 0 0 0\n 15 14 1 0 0 0 0\n 16 15 1 0 0 0 0\n 17 16 1 0 0 0 0\n 13 17 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 17 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17\nM SAP 1 1 1 0\nM SMT 1 ster\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nTBDMS\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 7 6 0 0 1 0 0 0 0 0999 V2000\n 0.0000 0.0000 0.0000 Si 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 -1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 -1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 2 5 1 0 0 0 0\n 2 6 1 0 0 0 0\n 2 7 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SMT 1 TBDMS\nM SAL 1 7 1 2 3 4 5 6 7\nM SAP 1 1 1 0\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nTBDPS\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 17 18 0 0 1 0 0 0 0 0999 V2000\n 0.0000 0.0000 0.0000 Si 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 -1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2990 2.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2990 3.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2990 2.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2990 3.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 4.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 -1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2990 -2.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2990 -3.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2990 -2.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2990 -3.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 -4.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 2 4 1 0 0 0 0\n 2 5 1 0 0 0 0\n 1 6 1 0 0 0 0\n 7 6 1 0 0 0 0\n 7 8 2 0 0 0 0\n 6 9 2 0 0 0 0\n 9 10 1 0 0 0 0\n 10 11 2 0 0 0 0\n 11 8 1 0 0 0 0\n 1 12 1 0 0 0 0\n 13 12 1 0 0 0 0\n 13 14 2 0 0 0 0\n 12 15 2 0 0 0 0\n 15 16 1 0 0 0 0\n 16 17 2 0 0 0 0\n 17 14 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SMT 1 TBDPS\nM SAL 1 17 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17\nM SAP 1 1 1 0\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\ntBu\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 13.6875 -8.7451 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.1875 -8.7451 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.1875 -8.7451 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.6875 -8.2451 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\nG 1 0\ntBu\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SAP 1 1 1 0\nM SMT 1 tBu\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nTf\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n 10.9688 -5.2936 0.0000 S 0 0 3 0 0 0 0 0 0 0 0 0\n 10.9688 -4.1127 0.0000 C 0 0 3 0 0 0 0 0 0 0 0 0\n 9.9456 -3.5220 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 10.9688 -2.9313 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 11.9919 -3.5220 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 12.1499 -5.2936 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7876 -5.2936 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 4 1 0 0 0 0\n 2 5 1 0 0 0 0\n 1 6 2 0 0 0 0\n 1 7 2 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SAP 1 1 1 0\nM SMT 1 Tf\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nTMS\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 4 3 0 0 1 0 0 0 0 0999 V2000\n 1.5000 0.0000 0.0000 Si 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 -1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SMT 1 TMS\nM SAL 1 4 1 2 3 4\nM SAP 1 1 1 0\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nTos\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 10 10 0 0 1 0 0 0 0 0999 V2000\n 0.0000 0.0000 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 1.5000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 -1.5000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2.2500 -1.2990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.7500 -1.2990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.7500 1.2990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.2500 1.2990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 2 0 0 0 0\n 1 4 2 0 0 0 0\n 2 5 2 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 2 0 0 0 0\n 7 8 1 0 0 0 0\n 8 9 2 0 0 0 0\n 9 2 1 0 0 0 0\n 7 10 1 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 10 1 2 3 4 5 6 7 8 9 10\nM SAP 1 1 1 0\nM SMT 1 Tos\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n\nTs\nKetcher 11161713142D 1 1.00000 0.00000 0\n\n 10 10 0 0 0 0 0 0 0 0999 V2000\n 9.2500 -9.7293 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2500 -8.9027 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5318 -8.4935 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5318 -7.6629 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2483 -7.2495 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9619 -7.6625 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.9619 -8.4898 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.2483 -6.4223 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0768 -9.7293 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4232 -9.7293 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 0 0 0 0\n 3 2 2 0 0 0 0\n 4 3 1 0 0 0 0\n 5 4 2 0 0 0 0\n 6 5 1 0 0 0 0\n 7 6 2 0 0 0 0\n 2 7 1 0 0 0 0\n 5 8 1 0 0 0 0\n 1 9 2 0 0 0 0\n 1 10 2 0 0 0 0\nG 1 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 10 1 2 3 4 5 6 7 8 9 10\nM SAP 1 1 1 0\nM SMT 1 Ts\nM END\n\n> \nFunctional Groups\n\n> \n0\n\n$$$$\n"),V=R.reduce(function(U,F){var Q=F.struct;return[].concat((0,o.A)(U),[Q])},[]),Q.setFunctionalGroupsList(V),F(oY(R)),F(GE({functionalGroups:!0}));case 7:case"end":return U.stop()}},U)}));return function(F){return U.apply(this,arguments)}}()),F(function(){var U=(0,l.A)(J().mark(function U(F){var Q,B,R,V,n;return J().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:Q=W.SaltsAndSolventsProvider.getInstance(),B=W.FunctionalGroupsProvider.getInstance(),R=new W.SdfSerializer,V=R.deserialize("acetic acid\n -INDIGO-11302219142D\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 0.5143 0.5143 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7848 -0.2357 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8133 -0.2357 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.5143 2.0143 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 2 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SMT 1 acetic acid\nM END\n> \nacetic acid\n\n> \nacetic acid\n\n> \nSalts and Solvents\n\n$$$$\nacetic anhydride\n -INDIGO-11302219142D\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n 0.5143 0.5143 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7848 -0.2357 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8133 -0.2357 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.5143 2.0143 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.1123 0.5143 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.1124 2.0143 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.4114 -0.2357 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 2 0 0 0 0\n 3 5 1 0 0 0 0\n 5 6 2 0 0 0 0\n 5 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 acetic anhydride\nM END\n> \nacetic anhydride\n\n> \nacetic anhydride\n\n> \nSalts and Solvents\n\n$$$$\nformic acid\n -INDIGO-11302219142D\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 0.5143 0.5143 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7848 -0.2357 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8133 -0.2357 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.5143 2.0143 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 2 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SMT 1 formic acid\nM END\n> \nformic acid\n\n> \nformic acid\n\n> \nSalts and Solvents\n\n$$$$\nmethane sulphonic acid\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 0.5143 0.5143 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0\n 0.5143 2.0143 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.5143 -0.9857 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2.0143 0.5143 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -0.9857 0.5143 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 2 0 0 0 0\n 1 4 1 0 0 0 0\n 1 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 methane sulphonic acid\nM END\n> \nmethane sulphonic acid\n\n> \nmethane sulphonic acid\n\n> \nSalts and Solvents\n\n$$$$\npropionic acid\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 0.5143 0.5143 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7848 -0.2357 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8133 -0.2357 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.5143 2.0143 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.0838 0.5143 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 2 0 0 0 0\n 2 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 propionic acid\nM END\n> \npropionic acid\n\n> \npropionic acid\n\n> \nSalts and Solvents\n\n$$$$\n1,2-propanediol\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n -3.3587 -3.5057 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.0597 -2.7557 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.0596 -1.2558 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7606 -3.5057 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.5384 -2.7557 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 4 1 0 0 0 0\n 4 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 1,2-propanediol\nM END\n> \n1,2-propanediol\n\n> \n1,2-propanediol\n\n> \nSalts and Solvents\n\n$$$$\n1,3-propanediol\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 15.0779 -8.5508 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 16.3769 -9.3007 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.6759 -8.5507 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 18.9750 -9.3007 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 20.2740 -8.5507 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 1,3-propanediol\nM END\n> \n1,3-propanediol\n\n> \n1,3-propanediol\n\n> \nSalts and Solvents\n\n$$$$\n1,4-butanediol\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n -0.3480 1.2991 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.9509 2.0491 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.2500 1.2991 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5491 2.0491 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8481 1.2991 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1472 2.0491 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 1,4-butanediol\nM END\n> \n1,4-butanediol\n\n> \n1,4-butanediol\n\n> \nSalts and Solvents\n\n$$$$\n1-butanol\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 0.1714 0.3286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.4705 1.0786 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.1276 1.0786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.4266 0.3286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7257 1.0786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 1-butanol\nM END\n> \n1-butanol\n\n> \n1-butanol\n\n> \nSalts and Solvents\n\n$$$$\n1-propanol\n -INDIGO-11302219142D\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 0.1714 1.2286 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.1276 0.4786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.4266 1.2286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7257 0.4786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SMT 1 1-propanol\nM END\n> \n1-propanol\n\n> \n1-propanol\n\n> \nSalts and Solvents\n\n$$$$\n2-butanol\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 0.1714 1.2286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.4705 0.4786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.1276 0.4786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.4266 1.2286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.1714 2.7286 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 1 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 2-butanol\nM END\n> \n2-butanol\n\n> \n2-butanol\n\n> \nSalts and Solvents\n\n$$$$\n2-ethylhexanol\n -INDIGO-11302219142D\n\n 9 8 0 0 0 0 0 0 0 0999 V2000\n 10.7337 0.4167 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1355 0.4167 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.8365 -0.3333 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5375 0.4167 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1355 1.9167 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4345 -0.3333 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2384 -0.3333 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4345 2.6667 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.9394 0.4167 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 6 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 5 1 0 0 0 0\n 2 6 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 7 1 0 0 0 0\n 5 8 1 0 0 0 0\n 7 9 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 1 9\nM SMT 1 2-ethylhexanol\nM END\n> \n2-ethylhexanol\n\n> \n2-ethylhexanol\n\n> \nSalts and Solvents\n\n$$$$\nisopropanol\n -INDIGO-11302219142D\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 0.1714 1.2286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.4705 0.4786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.1276 0.4786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.1714 2.7286 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SMT 1 2-propanol\nM END\n> \nisopropanol\n\n> \n2-propanol\n\n> \nSalts and Solvents\n\n$$$$\n2-methoxyethanol\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 0.1714 0.3286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.4705 1.0786 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.1276 1.0786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.4266 0.3286 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7257 1.0786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 2-methoxyethanol\nM END\n> \n2-methoxyethanol\n\n> \n2-methoxyethanol\n\n> \nSalts and Solvents\n\n$$$$\n2-pentanol\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n -5.1971 -3.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8980 -2.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.5991 -3.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.3000 -2.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.0009 -3.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.3000 -1.2500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 4 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 2-pentanol\nM END\n> \n2-pentanol\n\n> \n2-pentanol\n\n> \nSalts and Solvents\n\n$$$$\nbenzyl alcohol\n -INDIGO-11302219142D\n\n 8 8 0 0 0 0 0 0 0 0999 V2000\n 6.1000 0.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -0.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -0.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -2.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 -2.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -2.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 1.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 2.5000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 2 0 0 0 0\n 2 4 2 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 2 0 0 0 0\n 6 3 1 0 0 0 0\n 1 7 1 0 0 0 0\n 7 8 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SMT 1 benzyl alcohol\nM END\n> \nbenzyl alcohol\n\n> \nbenzyl alcohol\n\n> \nSalts and Solvents\n\n$$$$\ncyclohexanol\n -INDIGO-11302219142D\n\n 7 7 0 0 0 0 0 0 0 0999 V2000\n 4.2990 2.0175 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2990 0.5175 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 -0.2325 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5981 -0.2325 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 -1.7325 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5981 -1.7325 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2990 -2.4825 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 4 1 0 0 0 0\n 3 5 1 0 0 0 0\n 4 6 1 0 0 0 0\n 5 7 1 0 0 0 0\n 6 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 cyclohexanol\nM END\n> \ncyclohexanol\n\n> \ncyclohexanol\n\n> \nSalts and Solvents\n\n$$$$\nethanol\n -INDIGO-11302219142D\n\n 3 2 0 0 0 0 0 0 0 0999 V2000\n 0.1714 1.2286 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.1276 0.4786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.4266 1.2286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 3 1 2 3\nM SMT 1 ethyl alcohol\nM END\n> \nethanol\n\n> \nethyl alcohol\n\n> \nSalts and Solvents\n\n$$$$\nethylene glycol\n -INDIGO-11302219142D\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 0.1714 1.2286 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.1276 0.4786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.4266 1.2286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7256 0.4786 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SMT 1 ethane-1,2-diol\nM END\n> \nethylene glycol\n\n> \nethane-1,2-diol\n\n> \nSalts and Solvents\n\n$$$$\nglycerol\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n 0.9915 2.6580 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2.2906 1.9080 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5896 2.6580 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5897 4.1580 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8887 1.9080 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1878 2.6580 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 3 5 1 0 0 0 0\n 5 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 glycerol\nM END\n> \nglycerol\n\n> \nglycerol\n\n> \nSalts and Solvents\n\n$$$$\nisoamyl alcohol\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n 0.1714 0.3286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.4705 1.0786 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.1276 1.0786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.4266 0.3286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7257 1.0786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.4266 -1.1714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 4 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 isoamyl alcohol\nM END\n> \nisoamyl alcohol\n\n> \nisoamyl alcohol\n\n> \nSalts and Solvents\n\n$$$$\nisobutanol\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 0.1714 1.2286 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.1276 0.4786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.4266 1.2286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7257 0.4786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.4266 2.7286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 3 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 isobutanol\nM END\n> \nisobutanol\n\n> \nisobutanol\n\n> \nSalts and Solvents\n\n$$$$\nmethanol\n -INDIGO-11302219142D\n\n 2 1 0 0 0 0 0 0 0 0999 V2000\n 0.0709 0.8536 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5710 0.8536 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 2 1 2\nM SMT 1 methyl alcohol\nM END\n> \nmethanol\n\n> \nmethyl alcohol\n\n> \nSalts and Solvents\n\n$$$$\nt-butanol\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 0.0709 0.8536 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5710 0.8536 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.4291 0.8536 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0709 2.3536 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0709 -0.6464 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 1 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 t-butanol\nM END\n> \nt-butanol\n\n> \nt-butanol\n\n> \nSalts and Solvents\n\n$$$$\nwater\n -INDIGO-11302219142D\n\n 1 0 0 0 0 0 0 0 0 0999 V2000\n 0.7500 2.9500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 1 1\nM SMT 1 water\nM END\n> \nwater\n\n> \nwater\n\n> \nSalts and Solvents\n\n$$$$\ncarbon dioxide\n -INDIGO-11302219142D\n\n 3 2 0 0 0 0 0 0 0 0999 V2000\n -1.2000 0.8500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.7000 0.8500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.3000 0.8500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 2 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 3 1 2 3\nM SMT 1 carbon dioxide\nM END\n> \ncarbon dioxide\n\n> \ncarbon dioxide\n\n> \nSalts and Solvents\n\n$$$$\nbenzene\n -INDIGO-11302219142D\n\n 6 6 0 0 0 0 0 0 0 0999 V2000\n 6.1000 0.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -0.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -0.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -2.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 -2.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -2.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 2 0 0 0 0\n 2 4 2 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 2 0 0 0 0\n 6 3 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 benzene\nM END\n> \nbenzene\n\n> \nbenzene\n\n> \nSalts and Solvents\n\n$$$$\ncumene\n -INDIGO-11302219142D\n\n 9 9 0 0 0 0 0 0 0 0999 V2000\n 4.2989 1.8750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2989 0.3750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5981 2.6250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 2.6250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5981 -0.3750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 -0.3750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5981 -1.8750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 -1.8750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2989 -2.6250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 2 5 2 0 0 0 0\n 2 6 1 0 0 0 0\n 5 7 1 0 0 0 0\n 6 8 2 0 0 0 0\n 7 9 2 0 0 0 0\n 8 9 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 1 9\nM SMT 1 cumene\nM END\n> \ncumene\n\n> \ncumene\n\n> \nSalts and Solvents\n\n$$$$\nmesitylene\n -INDIGO-11302219142D\n\n 9 9 0 0 0 0 0 0 0 0999 V2000\n 1.2991 3.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2991 2.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5980 1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5980 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.8971 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2991 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2991 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 2 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 4 6 2 0 0 0 0\n 6 7 1 0 0 0 0\n 7 8 1 0 0 0 0\n 7 9 2 0 0 0 0\n 2 9 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 1 9\nM SMT 1 mesitylene\nM END\n> \nmesitylene\n\n> \nmesitylene\n\n> \nSalts and Solvents\n\n$$$$\ntoluene\n -INDIGO-11302219142D\n\n 7 7 0 0 0 0 0 0 0 0999 V2000\n 6.1000 0.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -0.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -0.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -2.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 -2.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -2.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 1.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 2 0 0 0 0\n 2 4 2 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 2 0 0 0 0\n 6 3 1 0 0 0 0\n 1 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 toluene\nM END\n> \ntoluene\n\n> \ntoluene\n\n> \nSalts and Solvents\n\n$$$$\nn,n-dimethylaniline\n -INDIGO-11302219142D\n\n 9 9 0 0 0 0 0 0 0 0999 V2000\n 4.2989 1.8750 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2989 0.3750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5981 -0.3750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 -0.3750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5981 2.6250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 2.6250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5981 -1.8750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 -1.8750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2989 -2.6250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 5 1 0 0 0 0\n 1 6 1 0 0 0 0\n 2 3 2 0 0 0 0\n 2 4 1 0 0 0 0\n 3 7 1 0 0 0 0\n 4 8 2 0 0 0 0\n 7 9 2 0 0 0 0\n 8 9 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 1 9\nM SMT 1 N,N-dimethylaniline\nM END\n> \nn,n-dimethylaniline\n\n> \nN,N-dimethylaniline\n\n> \nSalts and Solvents\n\n$$$$\npyridine\n -INDIGO-11302219142D\n\n 6 6 0 0 0 0 0 0 0 0999 V2000\n 6.1000 0.2500 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -0.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -0.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -2.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 -2.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -2.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 2 0 0 0 0\n 2 4 2 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 2 0 0 0 0\n 6 3 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 pyridine\nM END\n> \npyridine\n\n> \npyridine\n\n> \nSalts and Solvents\n\n$$$$\ntriethylamine\n -INDIGO-11302219142D\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n 1.5000 0.0000 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.2010 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.7990 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.7990 2.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.0980 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.0980 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 2 5 1 0 0 0 0\n 4 6 1 0 0 0 0\n 3 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 triethylamine\nM END\n> \ntriethylamine\n\n> \ntriethylamine\n\n> \nSalts and Solvents\n\n$$$$\nacetonitrile\n -INDIGO-11302219142D\n\n 3 2 0 0 0 0 0 0 0 0999 V2000\n 1.5000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 0.0000 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 3 0 0 0 0\n 1 3 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 3 1 2 3\nM SMT 1 acetonitrile\nM END\n> \nacetonitrile\n\n> \nacetonitrile\n\n> \nSalts and Solvents\n\n$$$$\ndimethyl acetamide\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n 2.7990 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.7990 1.5000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.0980 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 -0.7500 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 -2.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.2009 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 4 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 dimethyl acetamide\nM END\n> \ndimethyl acetamide\n\n> \ndimethyl acetamide\n\n> \nSalts and Solvents\n\n$$$$\ndimethyl formamide\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n 2.7990 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.7990 1.5000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.0980 -0.7500 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 -0.7500 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 -2.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.2009 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 4 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 DMF\nM END\n> \ndimethyl formamide\n\n> \nDMF\n\n> \nSalts and Solvents\n\n$$$$\ndimethyl sulfoxide\n -INDIGO-11302219142D\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 1.5000 0.0000 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0\n 0.2010 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.7990 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 1.5000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 2 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SMT 1 DMSO\nM END\n> \ndimethyl sulfoxide\n\n> \nDMSO\n\n> \nSalts and Solvents\n\n$$$$\ndimethylpropylene urea\n -INDIGO-11302219142D\n\n 9 9 0 0 0 0 0 0 0 0999 V2000\n 3.4378 2.0544 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.1388 1.3044 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 2.1387 -0.1955 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.8397 -0.9455 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4593 -0.1956 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4593 1.3044 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n -1.7584 2.0545 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.8397 2.0544 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.8397 3.5545 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 1 0 0 0 0\n 6 8 1 0 0 0 0\n 2 8 1 0 0 0 0\n 8 9 2 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 1 9\nM SMT 1 dimethylpropylene urea\nM END\n> \ndimethylpropylene urea\n\n> \ndimethylpropylene urea\n\n> \nSalts and Solvents\n\n$$$$\nformamide\n -INDIGO-11302219142D\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 0.2485 -6.0342 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5476 -5.2841 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5476 -3.7842 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2.8467 -6.0341 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 2 0 0 0 0\n 2 4 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SMT 1 formamide\nM END\n> \nformamide\n\n> \nformamide\n\n> \nSalts and Solvents\n\n$$$$\nn-methyl-2-pyrrolidone\n -INDIGO-11302219142D\n\n 7 7 0 0 0 0 0 0 0 0999 V2000\n 0.7500 2.3100 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4600 1.4300 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.9600 1.4300 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.7500 3.8100 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.3860 1.8953 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3 2 1 0 0 0 0\n 2 1 1 0 0 0 0\n 1 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 3 1 0 0 0 0\n 1 6 1 0 0 0 0\n 4 7 2 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 N-methyl-2-pyrrolidone\nM END\n> \nn-methyl-2-pyrrolidone\n\n> \nN-methyl-2-pyrrolidone\n\n> \nSalts and Solvents\n\n$$$$\nn-methylformamide\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 0.1009 0.5500 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1.4000 1.3000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.4000 2.8000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2.6990 0.5500 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n -1.1981 1.3000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 2 0 0 0 0\n 2 4 1 0 0 0 0\n 1 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 N-methylformamide\nM END\n> \nn-methylformamide\n\n> \nN-methylformamide\n\n> \nSalts and Solvents\n\n$$$$\npropane nitrile\n -INDIGO-11302219142D\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 6.8971 0.7500 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2990 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5981 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 4 3 0 0 0 0\n 2 3 1 0 0 0 0\n 2 4 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SMT 1 propane nitrile\nM END\n> \npropane nitrile\n\n> \npropane nitrile\n\n> \nSalts and Solvents\n\n$$$$\nsulfolane\n -INDIGO-11302219142D\n\n 7 7 0 0 0 0 0 0 0 0999 V2000\n 0.7500 2.3100 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4600 1.4300 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.9600 1.4300 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 3.6090 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -0.0673 3.5678 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3 2 1 0 0 0 0\n 2 1 1 0 0 0 0\n 1 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 3 1 0 0 0 0\n 1 6 2 0 0 0 0\n 1 7 2 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 sulfolane\nM END\n> \nsulfolane\n\n> \nsulfolane\n\n> \nSalts and Solvents\n\n$$$$\namyl acetate\n -INDIGO-11302219142D\n\n 9 8 0 0 0 0 0 0 0 0999 V2000\n 5.8307 0.3714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1297 -0.3786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5316 -0.3786 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.8307 1.8714 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.2326 0.3714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.9335 -0.3785 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.6345 0.3715 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.6646 -0.3785 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.9636 0.3715 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 2 0 0 0 0\n 3 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 1 0 0 0 0\n 7 8 1 0 0 0 0\n 8 9 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 1 9\nM SMT 1 amyl acetate\nM END\n> \namyl acetate\n\n> \namyl acetate\n\n> \nSalts and Solvents\n\n$$$$\nbutyl acetate\n -INDIGO-11302219142D\n\n 8 7 0 0 0 0 0 0 0 0999 V2000\n 7.5466 0.0000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8456 2.2500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.9486 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.6495 0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.2476 0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.3505 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8456 0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.1446 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 5 1 0 0 0 0\n 1 7 1 0 0 0 0\n 2 7 2 0 0 0 0\n 3 4 1 0 0 0 0\n 3 5 1 0 0 0 0\n 4 6 1 0 0 0 0\n 7 8 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SMT 1 butyl acetate\nM END\n> \nbutyl acetate\n\n> \nbutyl acetate\n\n> \nSalts and Solvents\n\n$$$$\ndimethyl carbonate\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n 0.5429 -0.3429 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.5429 1.1571 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7562 -1.0929 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8419 -1.0929 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.0552 -0.3429 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.1409 -0.3429 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 3 5 1 0 0 0 0\n 4 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 dimethyl carbonate\nM END\n> \ndimethyl carbonate\n\n> \ndimethyl carbonate\n\n> \nSalts and Solvents\n\n$$$$\nethyl acetate\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n 2.7079 -0.3429 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.7079 1.1571 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.0070 -1.0929 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.4089 -1.0929 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.1099 -0.3429 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.1891 -1.0929 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 ethyl acetate\nM END\n> \nethyl acetate\n\n> \nethyl acetate\n\n> \nSalts and Solvents\n\n$$$$\nethyl formate\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n 5.8087 -2.6404 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.8087 -1.1506 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5094 -3.4018 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.2098 -2.6486 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.9103 -3.4018 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.1078 -3.3904 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 2 0 0 0 0\n 3 1 1 0 0 0 0\n 4 3 1 0 0 0 0\n 5 4 1 0 0 0 0\n 1 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 ethyl formate\nM END\n> \nethyl formate\n\n> \nethyl formate\n\n> \nSalts and Solvents\n\n$$$$\nethyl lactate\n -INDIGO-11302219142D\n\n 8 7 0 0 0 0 0 0 0 0999 V2000\n -0.3480 1.2991 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.9509 2.0491 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.2500 1.2991 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5491 2.0491 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5491 3.5491 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8480 1.2991 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1471 2.0491 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8480 -0.2009 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 2 0 0 0 0\n 4 6 1 0 0 0 0\n 6 7 1 0 0 0 0\n 6 8 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SMT 1 ethyl lactate\nM END\n> \nethyl lactate\n\n> \nethyl lactate\n\n> \nSalts and Solvents\n\n$$$$\nethyl propionate\n -INDIGO-11302219142D\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n -0.3480 1.2991 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.9509 2.0491 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.2500 1.2991 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5491 2.0491 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5491 3.5491 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8480 1.2991 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1471 2.0491 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 2 0 0 0 0\n 4 6 1 0 0 0 0\n 6 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 ethyl propionate\nM END\n> \nethyl propionate\n\n> \nethyl propionate\n\n> \nSalts and Solvents\n\n$$$$\nethylene carbonate\n -INDIGO-11302219142D\n\n 6 6 0 0 0 0 0 0 0 0999 V2000\n 1.0323 3.5259 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0323 2.0259 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.2458 1.1443 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.7823 -0.2824 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.2824 -0.2824 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.1813 1.1443 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 2 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 ethylene carbonate\nM END\n> \nethylene carbonate\n\n> \nethylene carbonate\n\n> \nSalts and Solvents\n\n$$$$\nisobutyl acetate\n -INDIGO-11302219142D\n\n 8 7 0 0 0 0 0 0 0 0999 V2000\n 4.4399 -0.3429 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.4399 1.1571 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.7390 -1.0929 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.1409 -1.0929 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8419 -0.3429 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.5429 -1.0929 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.5429 -2.5929 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7561 -0.3429 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 1 0 0 0 0\n 6 8 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SMT 1 isobutyl acetate\nM END\n> \nisobutyl acetate\n\n> \nisobutyl acetate\n\n> \nSalts and Solvents\n\n$$$$\nisopropyl acetate\n -INDIGO-11302219142D\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n 3.1409 -0.3429 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.1409 1.1571 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.4400 -1.0929 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8419 -1.0929 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.5429 -0.3429 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7561 -1.0929 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.5429 1.1571 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 5 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 isopropyl acetate\nM END\n> \nisopropyl acetate\n\n> \nisopropyl acetate\n\n> \nSalts and Solvents\n\n$$$$\nmethyl acetate\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 0.5429 -0.3429 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.5429 1.1571 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7562 -1.0929 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.8419 -1.0929 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.1409 -0.3429 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 4 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 methyl acetate\nM END\n> \nmethyl acetate\n\n> \nmethyl acetate\n\n> \nSalts and Solvents\n\n$$$$\nmethyl formate\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 1.5821 -0.3429 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5821 1.1571 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2.8812 -1.0929 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 0.2831 -1.0929 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.0159 -0.3429 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 4 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 methyl formate\nM END\n> \nmethyl formate\n\n> \nmethyl formate\n\n> \nSalts and Solvents\n\n$$$$\nmethyl lactate\n -INDIGO-11302219142D\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n 7.6971 -2.1071 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3980 -2.8571 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.0991 -2.1071 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.0991 -0.6071 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.8000 -2.8571 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5009 -2.1071 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.8000 -4.3571 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 2 0 0 0 0\n 3 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 5 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 methyl lactate\nM END\n> \nmethyl lactate\n\n> \nmethyl lactate\n\n> \nSalts and Solvents\n\n$$$$\nn-octylacetate\n -INDIGO-11302219142D\n\n 12 11 0 0 0 0 0 0 0 0999 V2000\n 7.7009 4.9462 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0000 5.6962 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.2991 4.9462 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5980 5.6962 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.8971 4.9462 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.1962 5.6962 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.4953 4.9462 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.7942 5.6962 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 18.0933 4.9462 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 19.3924 5.6962 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 20.6913 4.9462 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 19.3924 7.1962 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 1 0 0 0 0\n 7 8 1 0 0 0 0\n 8 9 1 0 0 0 0\n 9 10 1 0 0 0 0\n 10 11 1 0 0 0 0\n 10 12 2 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 4 9 10 11 12\nM SMT 1 n-octylacetate\nM END\n> \nn-octylacetate\n\n> \nn-octylacetate\n\n> \nSalts and Solvents\n\n$$$$\npropyl acetate\n -INDIGO-11302219142D\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n 6.3403 -0.1607 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6395 2.0893 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.7423 -0.1607 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.0413 0.5893 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.4433 0.5893 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6395 0.5893 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9385 -0.1607 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 4 1 0 0 0 0\n 1 6 1 0 0 0 0\n 2 6 2 0 0 0 0\n 3 4 1 0 0 0 0\n 3 5 1 0 0 0 0\n 6 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 propyl acetate\nM END\n> \npropyl acetate\n\n> \npropyl acetate\n\n> \nSalts and Solvents\n\n$$$$\npropylene carbonate\n -INDIGO-11302219142D\n\n 7 7 0 0 0 0 0 0 0 0999 V2000\n 0.5661 -1.8745 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.5661 -0.3746 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.6474 0.5071 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.1839 1.9338 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3160 1.9338 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.1978 3.1472 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.7797 0.5071 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 2 0 0 0 0\n 5 7 1 0 0 0 0\n 2 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 propylene carbonate\nM END\n> \npropylene carbonate\n\n> \npropylene carbonate\n\n> \nSalts and Solvents\n\n$$$$\nt-butyl acetate\n -INDIGO-11302219142D\n\n 8 7 0 0 0 0 0 0 0 0999 V2000\n 6.0125 -7.4927 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.7134 -6.7427 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.7134 -5.2428 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.4144 -7.4928 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2.1153 -6.7428 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.8163 -5.9928 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3653 -8.0418 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.8653 -5.4437 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 2 0 0 0 0\n 2 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 5 7 1 0 0 0 0\n 5 8 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SMT 1 t-butyl acetate\nM END\n> \nt-butyl acetate\n\n> \nt-butyl acetate\n\n> \nSalts and Solvents\n\n$$$$\n1,2-dimethoxyethane\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n -0.0857 0.1714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2133 -0.5786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5124 0.1714 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.3848 -0.5786 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.8114 -0.5786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6838 0.1714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 3 5 1 0 0 0 0\n 4 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 1,2-dimethoxyethane\nM END\n> \n1,2-dimethoxyethane\n\n> \n1,2-dimethoxyethane\n\n> \nSalts and Solvents\n\n$$$$\n1,4-dioxane\n -INDIGO-11302219142D\n\n 6 6 0 0 0 0 0 0 0 0999 V2000\n 3.9490 -2.3000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2.6500 -3.0500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.6500 -4.5500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.9490 -5.3000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.2481 -4.5500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.2481 -3.0500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 1 0 0 0 0\n 2 1 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 1 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 1,4-dioxane\nM END\n> \n1,4-dioxane\n\n> \n1,4-dioxane\n\n> \nSalts and Solvents\n\n$$$$\n2-methyl tetrahydrofuran\n -INDIGO-11302219142D\n\n 6 6 0 0 0 0 0 0 0 0999 V2000\n 0.7500 2.3100 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4600 1.4300 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.9600 1.4300 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.3860 1.8953 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3 2 1 0 0 0 0\n 2 1 1 0 0 0 0\n 1 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 3 1 0 0 0 0\n 4 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 2-methyl tetrahydrofuran\nM END\n> \n2-methyl tetrahydrofuran\n\n> \n2-methyl tetrahydrofuran\n\n> \nSalts and Solvents\n\n$$$$\nanisole\n -INDIGO-11302219142D\n\n 8 8 0 0 0 0 0 0 0 0999 V2000\n 6.1000 0.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -0.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -0.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -2.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 -2.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -2.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 1.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 2.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 2 0 0 0 0\n 2 4 2 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 2 0 0 0 0\n 6 3 1 0 0 0 0\n 1 7 1 0 0 0 0\n 7 8 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SMT 1 anisole\nM END\n> \nanisole\n\n> \nanisole\n\n> \nSalts and Solvents\n\n$$$$\nbutyl carbitol\n -INDIGO-11302219142D\n\n 11 10 0 0 0 0 0 0 0 0999 V2000\n -0.2227 -3.0342 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0742 -3.7829 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.3750 -3.0387 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.6719 -3.7875 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.9782 -3.0336 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 6.2751 -3.7823 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.5758 -3.0382 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.8728 -3.7870 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 10.1792 -3.0330 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.4761 -3.7817 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7768 -3.0376 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 1 0 0 0 0\n 7 8 1 0 0 0 0\n 8 9 1 0 0 0 0\n 9 10 1 0 0 0 0\n 10 11 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 3 9 10 11\nM SMT 1 butyl carbitol\nM END\n> \nbutyl carbitol\n\n> \nbutyl carbitol\n\n> \nSalts and Solvents\n\n$$$$\ncyclopentyl methyl ether\n -INDIGO-11302219142D\n\n 7 7 0 0 0 0 0 0 0 0999 V2000\n 6.1000 1.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 1.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 1.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5053 1.7481 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.3855 0.7467 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.4886 -0.4632 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.9950 -0.6239 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 5 4 1 0 0 0 0\n 4 2 1 0 0 0 0\n 2 6 1 0 0 0 0\n 6 7 1 0 0 0 0\n 7 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 cyclopentyl methyl ether\nM END\n> \ncyclopentyl methyl ether\n\n> \ncyclopentyl methyl ether\n\n> \nSalts and Solvents\n\n$$$$\ndibutyl ether\n -INDIGO-11302219142D\n\n 9 8 0 0 0 0 0 0 0 0999 V2000\n 5.4509 4.6471 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.7500 3.8971 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.0491 4.6471 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3480 3.8971 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6470 4.6471 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 11.9461 3.8971 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2452 4.6471 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.5441 3.8971 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.8432 4.6471 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 1 0 0 0 0\n 7 8 1 0 0 0 0\n 8 9 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 1 9\nM SMT 1 dibutyl ether\nM END\n> \ndibutyl ether\n\n> \ndibutyl ether\n\n> \nSalts and Solvents\n\n$$$$\ndiethyl ether\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 6.1000 1.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 2.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 2.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5019 1.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.6980 1.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 2 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 ether\nM END\n> \ndiethyl ether\n\n> \nether\n\n> \nSalts and Solvents\n\n$$$$\ndiethylene glycol\n -INDIGO-11302219142D\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n 7.7875 -1.4835 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.4896 -2.2328 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.1892 -1.4790 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.8854 -2.2317 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5884 -1.4840 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2906 -2.2333 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0845 -2.2313 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 7 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 diethylene glycol\nM END\n> \ndiethylene glycol\n\n> \ndiethylene glycol\n\n> \nSalts and Solvents\n\n$$$$\ndiglyme\n -INDIGO-11302219142D\n\n 9 8 0 0 0 0 0 0 0 0999 V2000\n -0.0857 0.1714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2133 -0.5786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5124 0.1714 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.3848 -0.5786 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.8114 -0.5786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.6838 0.1714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.9828 -0.5786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -5.2818 0.1714 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -6.5809 -0.5786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 3 5 1 0 0 0 0\n 4 6 1 0 0 0 0\n 6 7 1 0 0 0 0\n 7 8 1 0 0 0 0\n 8 9 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 1 9\nM SMT 1 diglyme\nM END\n> \ndiethylene glycol\xa0dimethyl ether\n\n> \ndiglyme\n\n> \nSalts and Solvents\n\n$$$$\ndiisopropyl ether\n -INDIGO-11302219142D\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n 5.5971 2.8500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2980 3.6000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2980 5.1000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.9991 2.8500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.7000 3.6000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.4009 2.8500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.7000 5.1000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 5 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 diisopropyl ether\nM END\n> \ndiisopropyl ether\n\n> \ndiisopropyl ether\n\n> \nSalts and Solvents\n\n$$$$\ndimethyl ether\n -INDIGO-11302219142D\n\n 3 2 0 0 0 0 0 0 0 0999 V2000\n 4.2989 -0.3750 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5980 0.3750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.9999 0.3750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 3 1 2 3\nM SMT 1 dimethyl ether\nM END\n> \ndimethyl ether\n\n> \ndimethyl ether\n\n> \nSalts and Solvents\n\n$$$$\ndiphenyl ether\n -INDIGO-11302219142D\n\n 13 14 0 0 0 0 0 0 0 0999 V2000\n 7.1190 1.0305 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.8200 0.2805 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.8200 -1.2196 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5210 -1.9696 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.2219 -1.2195 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.2219 0.2805 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5209 1.0305 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4181 0.2804 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7171 1.0304 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.0161 0.2805 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.0161 -1.2194 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.7170 -1.9694 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.4180 -1.2195 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 2 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 2 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 2 0 0 0 0\n 2 7 1 0 0 0 0\n 1 8 1 0 0 0 0\n 8 9 2 0 0 0 0\n 9 10 1 0 0 0 0\n 10 11 2 0 0 0 0\n 11 12 1 0 0 0 0\n 12 13 2 0 0 0 0\n 8 13 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 5 9 10 11 12 13\nM SMT 1 diphenyl ether\nM END\n> \ndiphenyl ether\n\n> \ndiphenyl ether\n\n> \nSalts and Solvents\n\n$$$$\nethoxybenzene\n -INDIGO-11302219142D\n\n 9 9 0 0 0 0 0 0 0 0999 V2000\n 0.0000 6.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 4.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2991 3.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2991 2.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5980 1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5980 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2991 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 2 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 2 0 0 0 0\n 7 8 1 0 0 0 0\n 8 9 2 0 0 0 0\n 4 9 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 1 9\nM SMT 1 ethoxybenzene\nM END\n> \nethoxybenzene\n\n> \nethoxybenzene\n\n> \nSalts and Solvents\n\n$$$$\nmethyl t-butyl ether\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n 6.1000 1.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 1.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 1.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5019 0.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.0510 2.2990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5510 -0.2990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 2 4 1 0 0 0 0\n 2 5 1 0 0 0 0\n 2 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 methyl t-butyl ether\nM END\n> \nmethyl t-butyl ether\n\n> \nmethyl t-butyl ether\n\n> \nSalts and Solvents\n\n$$$$\nt-amyl methyl ether\n -INDIGO-11302219142D\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n 6.8972 0.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5982 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2990 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8482 1.2990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3482 -1.2990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1962 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 7 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 4 1 0 0 0 0\n 2 5 1 0 0 0 0\n 3 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 t-amyl methyl ether\nM END\n> \nt-amyl methyl ether\n\n> \nt-amyl methyl ether\n\n> \nSalts and Solvents\n\n$$$$\nt-butylethyl ether\n -INDIGO-11302219142D\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n 2.3688 -7.1130 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0698 -7.8630 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.2293 -7.1129 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.5283 -7.8629 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8274 -8.6129 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.2783 -6.5639 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7783 -9.1620 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 4 6 1 0 0 0 0\n 4 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 t-butylethyl ether\nM END\n> \nt-butylethyl ether\n\n> \nt-butylethyl ether\n\n> \nSalts and Solvents\n\n$$$$\ntetrahydrofuran\n -INDIGO-11302219142D\n\n 5 5 0 0 0 0 0 0 0 0999 V2000\n 0.7500 2.3100 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4600 1.4300 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.9600 1.4300 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3 2 1 0 0 0 0\n 2 1 1 0 0 0 0\n 1 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 3 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 THF\nM END\n> \ntetrahydrofuran\n\n> \nTHF\n\n> \nSalts and Solvents\n\n$$$$\ntriethylene glycol\n -INDIGO-11302219142D\n\n 10 9 0 0 0 0 0 0 0 0999 V2000\n 4.1520 3.8971 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.4509 4.6471 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.7500 3.8971 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.0491 4.6471 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 9.3480 3.8971 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.6471 4.6471 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.9462 3.8971 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.2453 4.6471 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.5442 3.8971 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.8433 4.6471 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 1 0 0 0 0\n 7 8 1 0 0 0 0\n 8 9 1 0 0 0 0\n 9 10 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 2 9 10\nM SMT 1 triethylene glycol\nM END\n> \ntriethylene glycol\n\n> \ntriethylene glycol\n\n> \nSalts and Solvents\n\n$$$$\n1,2,4-trichlorobenzene\n -INDIGO-11302219142D\n\n 9 9 0 0 0 0 0 0 0 0999 V2000\n 2.2506 -3.8983 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.9991 -2.5989 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.2506 -1.2994 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.7485 -1.2994 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 -2.5989 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.7485 -3.8983 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 -5.1978 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 0.0000 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 2.9991 0.0000 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 6 2 0 0 0 0\n 2 3 2 0 0 0 0\n 3 4 1 0 0 0 0\n 3 9 1 0 0 0 0\n 4 5 2 0 0 0 0\n 4 8 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 1 9\nM SMT 1 1,2,4-trichlorobenzene\nM END\n> \n1,2,4-trichlorobenzene\n\n> \n1,2,4-trichlorobenzene\n\n> \nSalts and Solvents\n\n$$$$\n1,2-dichlorobenzene\n -INDIGO-11302219142D\n\n 8 8 0 0 0 0 0 0 0 0999 V2000\n 0.9558 -0.8403 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.4581 -0.8408 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.2048 0.4582 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.4555 1.7560 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.9571 1.7589 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.2065 0.4576 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.2078 3.0567 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 3.2060 3.0573 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 6 2 0 0 0 0\n 2 3 2 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 2 0 0 0 0\n 4 8 1 0 0 0 0\n 5 6 1 0 0 0 0\n 5 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SMT 1 1,2-dichlorobenzene\nM END\n> \n1,2-dichlorobenzene\n\n> \n1,2-dichlorobenzene\n\n> \nSalts and Solvents\n\n$$$$\n1,2-dichloroethane\n -INDIGO-11302219142D\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n -0.2571 0.8286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0419 1.5786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.3409 0.8286 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n -1.5562 1.5786 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 1 4 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SMT 1 DCE\nM END\n> \n1,2-dichloroethane\n\n> \nDCE\n\n> \nSalts and Solvents\n\n$$$$\n2,2,2-trifluoroethanol\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n 2.3661 -2.2500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0670 -1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0670 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0670 1.5000 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4330 0.0000 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5670 0.0000 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 3 5 1 0 0 0 0\n 3 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 2,2,2-trifluoroethanol\nM END\n> \n2,2,2-trifluoroethanol\n\n> \n2,2,2-trifluoroethanol\n\n> \nSalts and Solvents\n\n$$$$\n2,3,4-trifluorotoluene\n -INDIGO-11302219142D\n\n 10 10 0 0 0 0 0 0 0 0999 V2000\n 4.0898 1.7173 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0899 1.7173 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5899 -0.8808 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 4.0898 -0.8807 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8398 0.4183 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8399 -2.1798 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3399 0.4182 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5898 -0.8807 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3399 -2.1798 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0899 -0.8808 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 5 1 0 0 0 0\n 2 7 1 0 0 0 0\n 3 10 1 0 0 0 0\n 4 5 2 0 0 0 0\n 4 6 1 0 0 0 0\n 4 8 1 0 0 0 0\n 5 7 1 0 0 0 0\n 6 9 2 0 0 0 0\n 7 10 2 0 0 0 0\n 9 10 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 2 9 10\nM SMT 1 2,3,4-trifluorotoluene\nM END\n> \n2,3,4-trifluorotoluene\n\n> \n2,3,4-trifluorotoluene\n\n> \nSalts and Solvents\n\n$$$$\ncarbon tetrachloride\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 6.1000 0.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 1.7500 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 -1.2500 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6000 0.2500 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 4.6000 0.2500 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 1 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 carbon tetrachloride\nM END\n> \ncarbon tetrachloride\n\n> \ncarbon tetrachloride\n\n> \nSalts and Solvents\n\n$$$$\nchloroacetic acid\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 9.0626 -7.0246 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.0626 -5.5268 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 10.3632 -7.7759 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 6.4658 -7.0246 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 7.7666 -7.7759 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 2 0 0 0 0\n 3 1 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 1 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 chloroacetic acid\nM END\n> \nchloroacetic acid\n\n> \nchloroacetic acid\n\n> \nSalts and Solvents\n\n$$$$\nchlorobenzene\n -INDIGO-11302219142D\n\n 7 7 0 0 0 0 0 0 0 0999 V2000\n 6.1000 0.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -0.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -0.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -2.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 -2.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -2.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 1.7500 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 2 0 0 0 0\n 2 4 2 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 2 0 0 0 0\n 6 3 1 0 0 0 0\n 1 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 chlorobenzene\nM END\n> \nchlorobenzene\n\n> \nchlorobenzene\n\n> \nSalts and Solvents\n\n$$$$\nchloroform\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 6.1000 0.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 1.7500 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 -1.2500 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6000 0.2500 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 4.6000 0.2500 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 1 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 chloroform\nM END\n> \nchloroform\n\n> \nchloroform\n\n> \nSalts and Solvents\n\n$$$$\ndichloromethane\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 6.1000 0.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -0.5000 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -0.5000 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 6.8500 1.5490 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 5.3500 1.5490 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 1 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 DCM\nM END\n> \ndichloromethane\n\n> \nDCM\n\n> \nSalts and Solvents\n\n$$$$\nfluorobenzene\n -INDIGO-11302219142D\n\n 7 7 0 0 0 0 0 0 0 0999 V2000\n 1.2991 3.7500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2991 2.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5980 1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5980 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2991 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 2 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 2 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 2 0 0 0 0\n 2 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 fluorobenzene\nM END\n> \nfluorobenzene\n\n> \nfluorobenzene\n\n> \nSalts and Solvents\n\n$$$$\nperfluorocyclic ether\n -INDIGO-11302219142D\n\n 25 25 0 0 0 0 0 0 0 0999 V2000\n -1.9038 -6.0746 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n -1.9038 -4.5746 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4038 -4.5746 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n -1.9038 -3.0746 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4038 -4.5746 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4038 -6.0746 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n -0.4038 -3.0746 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0962 -4.5746 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0962 -6.0746 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0962 -3.0746 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5962 -4.5746 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5962 -6.0746 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5962 -3.0746 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 4.0962 -4.5746 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.9395 -6.0662 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 3.9395 -3.0827 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.3099 -2.4726 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5598 -1.1736 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 6.5233 -1.5909 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3135 -3.5873 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3173 -2.4726 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 7.5271 -4.4689 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5635 -4.8864 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.7677 -5.7808 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 5.4224 -6.3797 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 4 1 0 0 0 0\n 2 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 5 7 1 0 0 0 0\n 5 8 1 0 0 0 0\n 8 9 1 0 0 0 0\n 8 10 1 0 0 0 0\n 8 11 1 0 0 0 0\n 11 12 1 0 0 0 0\n 11 13 1 0 0 0 0\n 11 14 1 0 0 0 0\n 14 15 1 0 0 0 0\n 14 16 1 0 0 0 0\n 16 17 1 0 0 0 0\n 17 18 1 0 0 0 0\n 17 19 1 0 0 0 0\n 17 20 1 0 0 0 0\n 20 21 1 0 0 0 0\n 20 22 1 0 0 0 0\n 20 23 1 0 0 0 0\n 14 23 1 0 0 0 0\n 23 24 1 0 0 0 0\n 23 25 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 8 9 10 11 12 13 14 15 16\nM SAL 1 8 17 18 19 20 21 22 23 24\nM SAL 1 1 25\nM SMT 1 perfluorocyclic ether\nM END\n> \nperfluorocyclic ether\n\n> \nperfluorocyclic ether\n\n> \nSalts and Solvents\n\n$$$$\nperfluorocyclohexane\n -INDIGO-11302219142D\n\n 18 18 0 0 0 0 0 0 0 0999 V2000\n 7.8482 2.0490 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5982 0.7500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 6.5491 2.7990 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 5.0490 2.7990 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5982 -0.7500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8482 -2.0490 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 0.7500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 3.7500 2.0490 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 5.0490 -2.7990 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 6.5491 -2.7990 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 3.7500 -2.0490 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 -0.7500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0982 0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.7991 1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0982 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5000 0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.7991 -1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.5000 -0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 13 1 0 0 0 0\n 2 13 1 0 0 0 0\n 3 14 1 0 0 0 0\n 4 14 1 0 0 0 0\n 5 15 1 0 0 0 0\n 6 15 1 0 0 0 0\n 7 16 1 0 0 0 0\n 8 16 1 0 0 0 0\n 9 17 1 0 0 0 0\n 10 17 1 0 0 0 0\n 11 18 1 0 0 0 0\n 12 18 1 0 0 0 0\n 13 14 1 0 0 0 0\n 13 15 1 0 0 0 0\n 14 16 1 0 0 0 0\n 15 17 1 0 0 0 0\n 16 18 1 0 0 0 0\n 17 18 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 8 9 10 11 12 13 14 15 16\nM SAL 1 2 17 18\nM SMT 1 perfluorocyclohexane\nM END\n> \nperfluorocyclohexane\n\n> \nperfluorocyclohexane\n\n> \nSalts and Solvents\n\n$$$$\nperfluorohexane\n -INDIGO-11302219142D\n\n 20 19 0 0 0 0 0 0 0 0999 V2000\n 6.1472 0.9240 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6472 -1.6740 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 8.9463 -0.9240 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 7.4462 1.6740 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 6.3482 -2.4240 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8482 0.1740 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 8.7453 2.4240 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 10.2453 -0.1740 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 5.0491 -3.1740 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5490 -0.5760 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 -2.6250 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 10.0444 3.1740 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 11.5444 0.5760 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 12.0935 2.6250 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 6.8972 -0.3750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1963 0.3750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5982 -1.1250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.4953 1.1250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2991 -1.8750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 10.7944 1.8750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 15 1 0 0 0 0\n 2 15 1 0 0 0 0\n 3 16 1 0 0 0 0\n 4 16 1 0 0 0 0\n 5 17 1 0 0 0 0\n 6 17 1 0 0 0 0\n 7 18 1 0 0 0 0\n 8 18 1 0 0 0 0\n 9 19 1 0 0 0 0\n 10 19 1 0 0 0 0\n 11 19 1 0 0 0 0\n 12 20 1 0 0 0 0\n 13 20 1 0 0 0 0\n 14 20 1 0 0 0 0\n 15 16 1 0 0 0 0\n 15 17 1 0 0 0 0\n 16 18 1 0 0 0 0\n 17 19 1 0 0 0 0\n 18 20 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 8 9 10 11 12 13 14 15 16\nM SAL 1 4 17 18 19 20\nM SMT 1 perfluorohexane\nM END\n> \nperfluorohexane\n\n> \nperfluorohexane\n\n> \nSalts and Solvents\n\n$$$$\nperfluorotoluene\n -INDIGO-11302219142D\n\n 15 15 0 0 0 0 0 0 0 0999 V2000\n 3.0000 0.7500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1962 0.7500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5982 3.7500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 7.0982 2.2500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 4.0982 2.2500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 8.1962 -2.2500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 -2.2500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5982 -3.7500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5982 0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2990 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.8972 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5982 2.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.8972 -1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2990 -1.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.5982 -2.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 10 1 0 0 0 0\n 2 11 1 0 0 0 0\n 3 12 1 0 0 0 0\n 4 12 1 0 0 0 0\n 5 12 1 0 0 0 0\n 6 13 1 0 0 0 0\n 7 14 1 0 0 0 0\n 8 15 1 0 0 0 0\n 9 10 2 0 0 0 0\n 9 11 1 0 0 0 0\n 9 12 1 0 0 0 0\n 10 14 1 0 0 0 0\n 11 13 2 0 0 0 0\n 13 15 1 0 0 0 0\n 14 15 2 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 7 9 10 11 12 13 14 15\nM SMT 1 perfluorotoluene\nM END\n> \nperfluorotoluene\n\n> \nperfluorotoluene\n\n> \nSalts and Solvents\n\n$$$$\ntrichloroacetic acid\n -INDIGO-11302219142D\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n 4.3154 -3.6247 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6336 -2.8642 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.6336 -1.3688 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0543 -2.8010 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 3.1051 -4.3218 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 4.3090 -5.1835 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 6.9579 -3.6120 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2 1 1 0 0 0 0\n 3 2 2 0 0 0 0\n 4 1 1 0 0 0 0\n 5 1 1 0 0 0 0\n 6 1 1 0 0 0 0\n 7 2 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 trichloroacetic acid\nM END\n> \ntrichloroacetic acid\n\n> \ntrichloroacetic acid\n\n> \nSalts and Solvents\n\n$$$$\ntrichloroacetonitrile\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n 4.5000 0.0000 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 1.5000 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0000 -1.5000 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 1.5000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 0.0000 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 4 1 0 0 0 0\n 2 5 1 0 0 0 0\n 5 6 3 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 trichloroacetonitrile\nM END\n> \ntrichloroacetonitrile\n\n> \ntrichloroacetonitrile\n\n> \nSalts and Solvents\n\n$$$$\ntrifluoroacetic acid\n -INDIGO-11302219142D\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n 1.0500 -4.9991 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 0.3000 -3.7000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0500 -2.4009 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2000 -3.7000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.7000 -3.7000 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2000 -2.2000 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2000 -5.2000 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 2 0 0 0 0\n 2 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 4 6 1 0 0 0 0\n 4 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 trifluoroacetic acid\nM END\n> \ntrifluoroacetic acid\n\n> \ntrifluoroacetic acid\n\n> \nSalts and Solvents\n\n$$$$\ntrifluoromethylbenzene\n -INDIGO-11302219142D\n\n 10 10 0 0 0 0 0 0 0 0999 V2000\n 6.1000 0.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -0.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -0.5000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8010 -2.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 -2.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.3990 -2.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 1.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1000 3.2500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 4.6000 1.7500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 7.6000 1.7500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 2 0 0 0 0\n 2 4 2 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 2 0 0 0 0\n 6 3 1 0 0 0 0\n 1 7 1 0 0 0 0\n 7 8 1 0 0 0 0\n 7 9 1 0 0 0 0\n 7 10 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 2 9 10\nM SMT 1 trifluoromethylbenzene\nM END\n> \ntrifluoromethylbenzene\n\n> \ntrifluoromethylbenzene\n\n> \nSalts and Solvents\n\n$$$$\n2-methylpentane\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n 0.5471 -1.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7520 -0.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.0509 -1.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.3500 -0.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.6491 -1.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.3500 1.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 4 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 2-methylpentane\nM END\n> \n2-methylpentane\n\n> \n2-methylpentane\n\n> \nSalts and Solvents\n\n$$$$\ncis-decalin\n -INDIGO-11302219142D\n\n 12 13 0 0 1 0 0 0 0 0999 V2000\n 2.6130 -0.7481 0.0000 C 0 0 2 0 0 0 0 0 0 0 0 0\n 2.6130 -2.2234 0.0000 C 0 0 1 0 0 0 0 0 0 0 0 0\n 1.3195 -3.0026 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3195 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.8754 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.8754 -2.9714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 -0.7481 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.1948 -0.7481 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.1948 -2.2234 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 -2.2234 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5583 0.8018 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 2.6130 -3.6988 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 4 1 0 0 0 0\n 1 5 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 6 1 0 0 0 0\n 3 10 1 0 0 0 0\n 4 7 1 0 0 0 0\n 5 8 1 0 0 0 0\n 6 9 1 0 0 0 0\n 7 10 1 0 0 0 0\n 8 9 1 0 0 0 0\n 1 11 1 1 0 0 0\n 2 12 1 1 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 4 9 10 11 12\nM SMT 1 cis-decalin\nM END\n> \ncis-decalin\n\n> \ncis-decalin\n\n> \nSalts and Solvents\n\n$$$$\ncyclohexane\n -INDIGO-11302219142D\n\n 6 6 0 0 0 0 0 0 0 0999 V2000\n 3.9490 -2.3000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.6500 -3.0500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.6500 -4.5500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.9490 -5.3000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.2481 -4.5500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.2481 -3.0500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 1 0 0 0 0\n 2 1 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 1 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 cyclohexane\nM END\n> \ncyclohexane\n\n> \ncyclohexane\n\n> \nSalts and Solvents\n\n$$$$\nisooctane\n -INDIGO-11302219142D\n\n 8 7 0 0 0 0 0 0 0 0999 V2000\n 4.6062 -2.5071 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.9052 -1.7571 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.2043 -2.5071 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5033 -1.7571 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8023 -2.5071 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.1552 -0.4581 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.6552 -0.4580 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5033 -0.2571 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 2 6 1 0 0 0 0\n 2 7 1 0 0 0 0\n 4 8 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SMT 1 isooctane\nM END\n> \nisooctane\n\n> \nisooctane\n\n> \nSalts and Solvents\n\n$$$$\nmethylcyclohexane\n -INDIGO-11302219142D\n\n 7 7 0 0 0 0 0 0 0 0999 V2000\n 3.9490 -2.3000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.6500 -3.0500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.6500 -4.5500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.9490 -5.3000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.2481 -4.5500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.2481 -3.0500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.9490 -0.8000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 1 0 0 0 0\n 2 1 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 1 1 0 0 0 0\n 1 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 methylcyclohexane\nM END\n> \nmethylcyclohexane\n\n> \nmethylcyclohexane\n\n> \nSalts and Solvents\n\n$$$$\nmethylcyclopentane\n -INDIGO-11302219142D\n\n 6 6 0 0 0 0 0 0 0 0999 V2000\n 4.2136 0.4041 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.4271 -0.4776 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.0001 -0.4776 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.9636 -1.9041 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.4636 -1.9041 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2136 1.9041 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 6 1 0 0 0 0\n 2 4 1 0 0 0 0\n 3 5 1 0 0 0 0\n 4 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 methylcyclopentane\nM END\n> \nmethylcyclopentane\n\n> \nmethylcyclopentane\n\n> \nSalts and Solvents\n\n$$$$\nheptane\n -INDIGO-11302219142D\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n 4.6062 -2.5071 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.9052 -1.7571 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.2043 -2.5071 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5033 -1.7571 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8023 -2.5071 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1014 -1.7571 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.4004 -2.5071 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 n-heptane\nM END\n> \nheptane\n\n> \nn-heptane\n\n> \nSalts and Solvents\n\n$$$$\nhexane\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n 4.6062 -2.5071 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.9052 -1.7571 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.2043 -2.5071 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 8.5033 -1.7571 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 9.8023 -2.5071 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 11.1014 -1.7571 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 n-hexane\nM END\n> \nhexane\n\n> \nn-hexane\n\n> \nSalts and Solvents\n\n$$$$\npentane\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 2.5624 -4.3230 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.1578 -4.3230 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.8600 -3.5708 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.4556 -3.5708 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.2647 -3.5708 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2 3 1 0 0 0 0\n 3 1 1 0 0 0 0\n 4 2 1 0 0 0 0\n 5 1 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 pentane\nM END\n> \npentane\n\n> \npentane\n\n> \nSalts and Solvents\n\n$$$$\n2-pentanone\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n -1.5971 -4.2000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.2980 -3.4500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0009 -4.2000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.3000 -3.4500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5991 -4.2000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.3000 -1.9500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 4 6 2 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 2-pentanone\nM END\n> \n2-pentanone\n\n> \n2-pentanone\n\n> \nSalts and Solvents\n\n$$$$\n3-pentanone\n -INDIGO-11302219142D\n\n 6 5 0 0 0 0 0 0 0 0999 V2000\n 2.6558 5.4039 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.9548 4.6539 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.2538 5.4039 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 5.2539 6.9040 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 6.5530 4.6539 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 7.8520 5.4039 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 2 0 0 0 0\n 3 5 1 0 0 0 0\n 5 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 3-pentanone\nM END\n> \n3-pentanone\n\n> \n3-pentanone\n\n> \nSalts and Solvents\n\n$$$$\nacetone\n -INDIGO-11302219142D\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 0.0571 0.3714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2419 -0.3786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3562 -0.3786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0571 1.8714 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 2 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SMT 1 propanone\nM END\n> \nacetone\n\n> \npropanone\n\n> \nSalts and Solvents\n\n$$$$\ncyclohexanone\n -INDIGO-11302219142D\n\n 7 7 0 0 0 0 0 0 0 0999 V2000\n 0.0571 0.3714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2419 -0.3786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3562 -0.3786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0571 1.8714 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2419 -1.8786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0571 -2.6286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3562 -1.8786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 2 0 0 0 0\n 2 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 1 0 0 0 0\n 7 3 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 cyclohexanone\nM END\n> \ncyclohexanone\n\n> \ncyclohexanone\n\n> \nSalts and Solvents\n\n$$$$\ncyclopentanone\n -INDIGO-11302219142D\n\n 6 6 0 0 0 0 0 0 0 0999 V2000\n 1.0323 3.5259 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0323 2.0259 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.2458 1.1443 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.7823 -0.2824 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.2824 -0.2824 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.1813 1.1443 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 2 6 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 cyclopentanone\nM END\n> \ncyclopentanone\n\n> \ncyclopentanone\n\n> \nSalts and Solvents\n\n$$$$\nmethyl ethyl ketone\n -INDIGO-11302219142D\n\n 5 4 0 0 0 0 0 0 0 0999 V2000\n 0.0571 0.3714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2419 -0.3786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3562 -0.3786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0571 1.8714 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.5409 0.3714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 2 0 0 0 0\n 2 5 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 MEK\nM END\n> \nmethyl ethyl ketone\n\n> \nMEK\n\n> \nSalts and Solvents\n\n$$$$\nmethyl isobutyl ketone\n -INDIGO-11302219142D\n\n 7 6 0 0 0 0 0 0 0 0999 V2000\n 0.0571 0.3714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2419 -0.3786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3562 -0.3786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0571 1.8714 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n -2.5409 0.3714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.8399 -0.3786 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.5409 1.8714 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 2 0 0 0 0\n 2 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 5 7 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 methyl isobutyl ketone\nM END\n> \nmethyl isobutyl ketone\n\n> \nmethyl isobutyl ketone\n\n> \nSalts and Solvents\n\n$$$$\ncarbon disulfide\n -INDIGO-11302219142D\n\n 3 2 0 0 0 0 0 0 0 0999 V2000\n 5.7990 0.0000 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0\n 2.7989 0.0000 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0\n 4.2989 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 3 2 0 0 0 0\n 2 3 2 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 3 1 2 3\nM SMT 1 carbon disulfide\nM END\n> \ncarbon disulfide\n\n> \ncarbon disulfide\n\n> \nSalts and Solvents\n\n$$$$\nnitromethane\n -INDIGO-11302219142D\n\n 4 3 0 0 0 0 0 0 0 0999 V2000\n 1.5009 0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.8000 1.5000 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 4.0991 0.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2.8000 3.0000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 4 2 0 0 0 0\nM CHG 2 2 1 3 -1\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 4 1 2 3 4\nM SMT 1 nitromethane\nM END\n> \nnitromethane\n\n> \nnitromethane\n\n> \nSalts and Solvents\n\n$$$$\no-xylene\n -INDIGO-11302219142D\n\n 8 8 0 0 0 0 0 0 0 0999 V2000\n -2.1500 4.4750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4490 3.7250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4490 2.2250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.1500 1.4750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.8510 2.2250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.8510 3.7250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.1500 5.9750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.4481 4.4750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 2 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 2 0 0 0 0\n 6 1 1 0 0 0 0\n 1 7 1 0 0 0 0\n 6 8 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SMT 1 o-xylene\nM END\n> \no-xylene\n\n> \no-xylene\n\n> \nSalts and Solvents\n\n$$$$\nm-xylene\n -INDIGO-11302219142D\n\n 8 8 0 0 0 0 0 0 0 0999 V2000\n -2.1500 4.4750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4490 3.7250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4490 2.2250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.1500 1.4750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.8510 2.2250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.8510 3.7250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.1500 5.9750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.4480 1.4750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 2 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 2 0 0 0 0\n 6 1 1 0 0 0 0\n 1 7 1 0 0 0 0\n 5 8 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SMT 1 m-xylene\nM END\n> \nm-xylene\n\n> \nm-xylene\n\n> \nSalts and Solvents\n\n$$$$\np-xylene\n -INDIGO-11302219142D\n\n 8 8 0 0 0 0 0 0 0 0999 V2000\n -2.1500 4.4750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4490 3.7250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.4490 2.2250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.1500 1.4750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.8510 2.2250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.8510 3.7250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.1500 5.9750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.1500 -0.0250 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 2 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 2 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 2 0 0 0 0\n 6 1 1 0 0 0 0\n 1 7 1 0 0 0 0\n 4 8 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SMT 1 p-xylene\nM END\n> \np-xylene\n\n> \np-xylene\n\n> \nSalts and Solvents\n\n$$$$\nDIPEA\n -INDIGO-11302219142D\n\n 9 8 0 0 0 0 0 0 0 0999 V2000\n -1.5490 7.3145 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n -1.5490 8.8145 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8481 6.5645 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.2500 6.5645 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -4.1471 7.3145 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8481 5.0645 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0490 7.3145 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.2500 5.0645 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.8481 9.5645 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 1 3 1 0 0 0 0\n 1 4 1 0 0 0 0\n 3 5 1 0 0 0 0\n 3 6 1 0 0 0 0\n 4 7 1 0 0 0 0\n 4 8 1 0 0 0 0\n 2 9 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 1 9\nM SMT 1 DIPEA\nM END\n> \nn,n-diisopropylethylamine\n\n> \nDIPEA\n\n> \nSalts and Solvents\n\n$$$$\n1,5-diazabicyclo[5.4.0]undec-7-ene\n -INDIGO-11302219142D\n\n 11 12 0 0 0 0 0 0 0 0999 V2000\n 1.6852 -0.3846 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3514 1.0778 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.0000 1.7286 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.3515 1.0777 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n -1.6852 -0.3847 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n -3.1695 -0.6090 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -3.7175 -2.0053 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -2.7822 -3.1781 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -1.2990 -2.9545 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n -0.7500 -1.5574 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 0.7500 -1.5574 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 3 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 6 7 1 0 0 0 0\n 7 8 1 0 0 0 0\n 8 9 1 0 0 0 0\n 9 10 2 0 0 0 0\n 10 5 1 0 0 0 0\n 10 11 1 0 0 0 0\n 11 1 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 3 9 10 11\nM SMT 1 DBU\nM END\n> \n1,5-diazabicyclo[5.4.0]undec-7-ene\n\n> \nDBU\n\n> \nSalts and Solvents\n\n$$$$\nhexamethylphosphoramide\n -INDIGO-11302219142D\n\n 11 10 0 0 0 0 0 0 0 0999 V2000\n 2.3174 -0.9012 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.6235 -1.9903 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 4.8900 -0.9145 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5935 -3.2519 0.0000 P 0 0 0 0 0 0 0 0 0 0 0 0\n 3.5935 -4.7619 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 5.0831 -3.2205 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 6.0654 -4.1562 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 6.1687 -1.9999 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.1521 -3.2278 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3934 -4.5570 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.0626 -2.3997 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 4 1 0 0 0 0\n 4 5 2 0 0 0 0\n 4 6 1 0 0 0 0\n 6 7 1 0 0 0 0\n 6 8 1 0 0 0 0\n 4 9 1 0 0 0 0\n 9 10 1 0 0 0 0\n 9 11 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 3 9 10 11\nM SMT 1 HMPA\nM END\n> \nhexamethylphosphoramide\n\n> \nHMPA\n\n> \nSalts and Solvents\n\n$$$$\nhexamethylphosphorous\xa0triamide\n -INDIGO-11302219142D\n\n 10 9 0 0 0 0 0 0 0 0999 V2000\n 0.0007 0.0004 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3000 0.7500 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3000 2.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.6000 0.0000 0.0000 P 0 0 0 0 0 0 0 0 0 0 0 0\n 3.9000 0.7500 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 5.1992 0.0004 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 3.9000 2.2500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 2.6031 -1.5008 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 3.9032 -2.2490 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3053 -2.2531 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 4 1 0 0 0 0\n 4 5 1 0 0 0 0\n 5 6 1 0 0 0 0\n 5 7 1 0 0 0 0\n 4 8 1 0 0 0 0\n 8 9 1 0 0 0 0\n 8 10 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SAL 1 2 9 10\nM SMT 1 HMPT\nM END\n> \nhexamethylphosphorous\xa0triamide\n\n> \nHMPT\n\n> \nSalts and Solvents\n\n$$$$\nheavy water\n -INDIGO-11302219142D\n\n 3 2 0 0 0 0 0 0 0 0999 V2000\n 0.0007 0.0004 0.0000 D 0 0 0 0 0 0 0 0 0 0 0 0\n 1.3000 0.7500 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 2.5993 0.0004 0.0000 D 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 3 1 2 3\nM SMT 1 D2O\nM END\n> \nheavy water\n\n> \nD2O\n\n> \nSalts and Solvents\n\n$$$$\nTRIS\n -INDIGO-03312512502D\n\n 8 7 0 0 0 0 0 0 0 0999 V2000\n 16.0940 -10.7437 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.9600 -10.2437 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.8260 -10.7437 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.9600 -9.2437 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.9600 -11.2437 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 15.2280 -10.2437 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 18.6921 -10.2437 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 17.8260 -8.7437 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0 0\n 2 3 1 0 0 0 0\n 2 4 1 0 0 0 0\n 2 5 1 0 0 0 0\n 1 6 1 0 0 0 0\n 3 7 1 0 0 0 0\n 4 8 1 0 0 0 0\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 8 1 2 3 4 5 6 7 8\nM SMT 1 TRIS\nM SDI 1 4 0.0000 0.0000 0.0000 0.0000\nM SDI 1 4 0.0000 0.0000 0.0000 0.0000\nM END\n> \nTRIS\n\n> \nTRIS\n\n> \nSalts and Solvents\n\n$$$$\nTRIS HCl\n Ketcher 3312513372D 1 1.00000 0.00000 0\n\n 9 7 0 0 0 0 0 0 0 0999 V2000\n 15.7719 -6.6396 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.6379 -6.1396 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.5040 -6.6396 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.6379 -5.1396 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.6379 -7.1396 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 14.9059 -6.1396 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 18.3700 -6.1396 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 17.5040 -4.6396 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 16.6716 -7.9479 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 2 4 1 0 0 0\n 2 5 1 0 0 0\n 1 6 1 0 0 0\n 3 7 1 0 0 0\n 4 8 1 0 0 0\nM CHG 2 5 1 9 -1\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 9 1 2 3 4 5 6 7 8 9\nM SMT 1 TRIS HCl\nM END\n\n> \nTRIS HCl\n\n> \nTRIS HCl\n\n> \nSalts and Solvents\n\n$$$$\nSodium-chloride\n Ketcher 3312513392D 1 1.00000 0.00000 0\n\n 2 0 0 0 0 0 0 0 0 0999 V2000\n 16.4963 -6.3500 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 15.6713 -6.3500 0.0000 Na 0 0 0 0 0 0 0 0 0 0 0 0\nM CHG 2 1 -1 2 1\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 2 1 2\nM SMT 1 NaCl\nM END\n\n> \nSodium-chloride\n\n> \nNaCl\n\n> \nSalts and Solvents\n\n$$$$\nSodium-acetate\n Ketcher 3312513462D 1 1.00000 0.00000 0\n\n 5 3 0 0 0 0 0 0 0 0999 V2000\n 15.0102 -10.7437 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.8763 -10.2437 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.7423 -10.7437 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.8763 -9.2437 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 17.5182 -10.7687 0.0000 Na 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 2 4 2 0 0 0\nM CHG 2 3 -1 5 1\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 CH3COONa\nM END\n\n> \nSodium-acetate\n\n> \nCH3COONa\n\n> \nSalts and Solvents\n\n$$$$\nPotassium-chloride\n Ketcher 3312513542D 1 1.00000 0.00000 0\n\n 2 0 0 0 0 0 0 0 0 0999 V2000\n 16.2390 -13.2275 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 15.4140 -13.2275 0.0000 K 0 0 0 0 0 0 0 0 0 0 0 0\nM CHG 2 1 -1 2 1\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 2 1 2\nM SMT 1 KCl\nM END\n\n> \nPotassium-chloride\n\n> \nKCl\n\n> \nSalts and Solvents\n\n$$$$\nMonopotassium phosphate\n Ketcher 3312513582D 1 1.00000 0.00000 0\n\n 6 4 0 0 0 0 0 0 0 0999 V2000\n 15.0432 -14.6312 0.0000 P 0 0 0 0 0 0 0 0 0 0 0 0\n 15.9093 -15.1312 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.0432 -13.6312 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.1772 -15.1312 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.0432 -15.6312 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 16.6098 -15.1562 0.0000 K 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 3 2 0 0 0\n 1 4 1 0 0 0\n 1 5 1 0 0 0\nM CHG 2 2 -1 6 1\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 6 1 2 3 4 5 6\nM SMT 1 KH2PO4\nM END\n\n> \nMonopotassium phosphate\n\n> \nKH2PO4\n\n> \nSalts and Solvents\n\n$$$$\nLithium-chloride\n Ketcher 3312514 52D 1 1.00000 0.00000 0\n\n 2 0 0 0 0 0 0 0 0 0999 V2000\n 16.4828 -15.7375 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 15.6578 -15.7375 0.0000 Li 0 0 0 0 0 0 0 0 0 0 0 0\nM CHG 2 1 -1 2 1\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 2 1 2\nM SMT 1 LiCl\nM END\n\n> \nLithium-chloride\n\n> \nLiCl\n\n> \nSalts and Solvents\n\n$$$$\nGuanidine HCl\n Ketcher 3312514 62D 1 1.00000 0.00000 0\n\n 5 3 0 0 0 0 0 0 0 0999 V2000\n 14.8573 -16.3937 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 15.7233 -15.8937 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.5893 -16.3937 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 15.7233 -14.8937 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 17.8653 -16.3937 0.0000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 2 4 2 0 0 0\nM CHG 2 3 1 5 -1\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 5 1 2 3 4 5\nM SMT 1 GuHCl\nM END\n\n> \nGuanidine HCl\n\n> \nGuHCl\n\n> \nSalts and Solvents\n\n$$$$\nDisodium phosphate\n Ketcher 3312514 72D 1 1.00000 0.00000 0\n\n 7 4 0 0 0 0 0 0 0 0999 V2000\n 15.7195 -15.6812 0.0000 P 0 0 0 0 0 0 0 0 0 0 0 0\n 16.5856 -16.1812 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.7195 -14.6812 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.8535 -16.1812 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.7195 -16.6812 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 17.2860 -16.2062 0.0000 Na 0 0 0 0 0 0 0 0 0 0 0 0\n 14.1860 -16.1812 0.0000 Na 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 3 2 0 0 0\n 1 4 1 0 0 0\n 1 5 1 0 0 0\nM CHG 4 2 -1 4 -1 6 1 7 1\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 Na2HPO4\nM END\n\n> \nDisodium phosphate\n\n> \nNa2HPO4\n\n> \nSalts and Solvents\n\n$$$$\nDisodium EDTA\n Ketcher 3312514 92D 1 1.00000 0.00000 0\n\n 22 19 0 0 0 0 0 0 0 0999 V2000\n 11.8472 -15.9313 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7132 -15.4313 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 13.5792 -15.9313 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 12.7132 -14.4313 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.4453 -15.4313 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 15.3113 -15.9313 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 14.4453 -14.4313 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.3113 -13.9313 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 15.3113 -12.9313 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 16.1773 -14.4313 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 16.1773 -15.4313 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.0433 -15.9313 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 17.9094 -15.4313 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 17.0433 -16.9313 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.1773 -17.4313 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 16.1773 -18.4313 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.3113 -16.9313 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 18.7754 -15.9313 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n 19.6414 -15.4313 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 18.7754 -16.9313 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 14.5052 -16.9313 0.0000 Na 0 0 0 0 0 0 0 0 0 0 0 0\n 20.4552 -15.4313 0.0000 Na 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 2 3 1 0 0 0\n 2 4 2 0 0 0\n 3 5 1 0 0 0\n 5 6 1 0 0 0\n 5 7 1 0 0 0\n 7 8 1 0 0 0\n 8 9 2 0 0 0\n 8 10 1 0 0 0\n 6 11 1 0 0 0\n 11 12 1 0 0 0\n 12 13 1 0 0 0\n 12 14 1 0 0 0\n 14 15 1 0 0 0\n 15 16 2 0 0 0\n 15 17 1 0 0 0\n 13 18 1 0 0 0\n 18 19 1 0 0 0\n 18 20 2 0 0 0\nM CHG 4 17 -1 19 -1 21 1 22 1\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15\nM SAL 1 7 16 17 18 19 20 21 22\nM SMT 1 Disodium EDTA\nM END\n\n> \nDisodium EDTA\n\n> \nDisodium EDTA\n\n> \nSalts and Solvents\n\n$$$$\nAmmonium-sulfate\n Ketcher 3312514102D 1 1.00000 0.00000 0\n\n 7 4 0 0 0 0 0 0 0 0999 V2000\n 15.8979 -15.6813 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0\n 16.7639 -16.1813 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.8979 -14.6813 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.0319 -16.1813 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 15.8979 -16.6813 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n 13.7644 -16.2063 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 17.4894 -16.2063 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n 1 2 1 0 0 0\n 1 3 2 0 0 0\n 1 4 1 0 0 0\n 1 5 2 0 0 0\nM CHG 4 2 -1 4 -1 6 1 7 1\nM STY 1 1 SUP\nM SLB 1 1 1\nM SAL 1 7 1 2 3 4 5 6 7\nM SMT 1 (NH4)2SO4\nM END\n\n> \nAmmonium-sulfate\n\n> \n(NH4)2SO4\n\n> \nSalts and Solvents\n\n$$$$"),n=V.reduce(function(U,F){var Q=F.struct,B=F.props;return Q.abbreviation=String(B.abbreviation),U.push(Q),U},[]),Q.setSaltsAndSolventsList(n),B.addToFunctionalGroupsList(n),F(mY(V)),F(GE({saltsAndSolvents:!0}));case 9:case"end":return U.stop()}},U)}));return function(F){return U.apply(this,arguments)}}()),function(){F(PE([])),F(mY([])),F(oY([])),W.ketcherProvider.removeKetcherInstance(d)}},[]);var S=b2;return(0,V.jsx)(aQ,{theme:n3,children:(0,V.jsxs)("div",{className:v2,children:[(0,V.jsx)(CH,{}),(0,V.jsx)(S,{prevKetcherId:N,ketcherId:d,className:G2}),(0,V.jsx)(RO,{className:s2,togglerComponent:U.togglerComponent}),(0,V.jsx)(vy,{className:X2}),(0,V.jsx)(KY,{className:y2}),(0,V.jsx)(Cz,{className:Y2}),(0,V.jsx)(eH,{}),(0,V.jsx)(e2,{ketcherId:d}),(0,V.jsx)(V3,{}),(0,V.jsx)(TQ.A,{anchorOrigin:{vertical:"bottom",horizontal:"center"},open:Boolean(B),onClose:Z,autoHideDuration:6e3,children:(0,V.jsxs)("div",{className:z2,"data-testid":"notification-banner",children:[(0,V.jsx)("div",{className:O2,children:B}),(0,V.jsx)(DM,{iconName:"close",className:L2,testId:"notification-banner-close-button",onClick:Z})]})})]})})}),J3=function(U,F){U(function(U,F){return{type:_X,data:{x:U,y:F}}}(F.clientX,F.clientY))},N3=null,Z3=null;function W3(U,F,Q,B,R,n,l,d,J){var N,Z=jY(n,l,function(U){var F=N();d({editor:U,setServer:F})});return N=function(){return function(U){Z.dispatch(function(U){return{type:uY,server:U}}(U))}},Z.dispatch(JH(Q)),Z.dispatch(function(U){return function(F,Q){var B=(0,p.throttle)(J3,300);N3=function(U){return B(F,U)},Z3=function(U){3===U.buttons&&function(U){var F=U().editor;F.rotateController.isRotating&&F.rotateController.revert()}(Q)},U.addEventListener("pointermove",N3),U.addEventListener("mousedown",Z3,!0)}}(Q)),Z.dispatch(function(U,F){var Q=(0,D.throttle)(250,function(){var Q=F();Q.editor.render.update(),U({type:"CLEAR_VISIBLE",data:Q.actionState.activeTool})});addEventListener("resize",Q)}),B.render((0,V.jsx)(v.Kq,{store:Z,children:(0,V.jsx)(FE.Provider,{value:{staticResourcesUrl:R},children:(0,V.jsx)(UE.Provider,{value:{errorHandler:n.errorHandler},children:(0,V.jsx)($S.Provider,{value:{ketcherId:F,prevKetcherId:U},children:(0,V.jsx)(d3,{togglerComponent:J})})})})})),function(){Z.dispatch(function(U){return function(){dH&&U.removeEventListener("keydown",dH)}}(Q)),Z.dispatch(function(U){return function(){N3&&U.removeEventListener("pointermove",N3),Z3&&U.removeEventListener("mousedown",Z3,!0)}}(Q))}}var S3=function(){function U(){(0,N.A)(this,U)}return(0,Z.A)(U,null,[{key:"getIndigo",value:function(){return Q3}},{key:"setIndigo",value:function(U){Q3=U}}]),U}(),E3=function(){function U(){(0,N.A)(this,U),this.structService=null,this.serviceMode=null,this.formatterFactory=null}return(0,Z.A)(U,[{key:"appendApiAsync",value:function(U){var F=_S(U,W.DefaultStructServiceOptions);return this.structService=F,this.formatterFactory=new W.FormatterFactory(F),F}},{key:"reinitializeApi",value:function(U,F,Q){var B=this,R=this.structService;return this.structService=_S(F,W.DefaultStructServiceOptions),this.structService.addKetcherId(U),window.addEventListener("struct-service-initialized",function(){var F;(null===R||void 0===R||null===(F=R.destroy)||void 0===F||F.call(R),B.structService)?(W.ketcherProvider.getKetcher(U).reinitializeIndigo(B.structService),S3.setIndigo(B.structService),Q(B.structService)):W.KetcherLogger.warn("Structure service is not reinitialized")},{once:!0}),this.structService}},{key:"appendServiceMode",value:function(U){this.serviceMode=U}},{key:"appendUiAsync",value:function(){var U=(0,l.A)(J().mark(function U(F,Q,B,R,V,n,l,d,N){var Z,W,S,E,k;return J().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:if(Z=this.structService){U.next=3;break}throw new Error("You should append Api before initializing UI");case 3:return W=null,U.next=6,new Promise(function(U){var J,S;W=W3(F,Q,B,R,V,{buttons:null!==l&&void 0!==l?l:{},errorHandler:null!==n&&void 0!==n?n:null,version:null!==(J="3.17.0")?J:"",buildDate:null!==(S="2026-07-13T13:58:36")?S:"",buildNumber:"",customButtons:null!==N&&void 0!==N?N:[]},Z,U,d)});case 6:return S=U.sent,E=S.editor,k=S.setServer,E.errorHandler=n&&"function"===typeof n?n:function(){},U.abrupt("return",{cleanup:W,setServer:k});case 11:case"end":return U.stop()}},U,this)}));return function(F,Q,B,R,V,n,l,d,J){return U.apply(this,arguments)}}()},{key:"build",value:function(){if(!this.serviceMode)throw new Error("You should append ServiceMode before building");if(!this.structService)throw new Error("You should append Api before building");if(!this.formatterFactory)throw new Error("You should append StructureServiceFactory before building");var U=new W.Ketcher(this.structService,this.formatterFactory);U[this.serviceMode]=!0;var F=document.location.search;if("__proto__"===F||"constructor"===F||"prototype"===F)return U;var Q=new URLSearchParams(document.location.search).get("moll");return Q&&U.setMolecule(Q),S3.setIndigo(this.structService),W.ketcherProvider.addKetcherInstance(U),U}}]),U}();function k3(U){return t3.apply(this,arguments)}function t3(){return t3=(0,l.A)(J().mark(function U(F){var Q,B,R,V,n,l,d,N,Z,W,S,E,k,t,a;return J().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:return Q=F.element,B=F.appRoot,R=F.staticResourcesUrl,V=F.structServiceProvider,n=F.buttons,l=F.errorHandler,d=F.togglerComponent,N=F.customButtons,Z=F.ketcherId,W=new E3,S=W.appendApiAsync(V),W.appendServiceMode(V.mode),E=W.build(),S.addKetcherId(E.id),U.next=8,W.appendUiAsync(Z,E.id,Q,B,R,l,n,d,N);case 8:return k=U.sent,t=k.cleanup,a=k.setServer,U.abrupt("return",{ketcher:E,cleanup:t,builder:W,setServer:a});case 12:case"end":return U.stop()}},U)})),t3.apply(this,arguments)}var a3="Editor-module_small__8cgEX",T3="Editor-module_editor__o0Gjz",e3="Editor-module_switchingLoader__OlmM6",C3="Editor-module_editorsWrapper__qMSvd";function D3(U,F){var Q=Object.keys(U);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(U);F&&(B=B.filter(function(F){return Object.getOwnPropertyDescriptor(U,F).enumerable})),Q.push.apply(Q,B)}return Q}function o3(U){for(var F=1;F{"use strict";var B=Q(19549),R=Q(44176),V=Q(81730).set,n=Q(51299),l=R.setImmediate?n(V,!1):V;B({global:!0,bind:!0,enumerable:!0,forced:R.setImmediate!==l},{setImmediate:l})},77977:(U,F,Q)=>{"use strict";Q.d(F,{c:()=>R,q:()=>B});const B=U=>U.scrollTop;function R(U,F){var Q,B;const{timeout:R,easing:V,style:n={}}=U;return{duration:null!=(Q=n.transitionDuration)?Q:"number"===typeof R?R:R[F.mode]||0,easing:null!=(B=n.transitionTimingFunction)?B:"object"===typeof V?V[F.mode]:V,delay:n.transitionDelay}}},78113:U=>{U.exports=function(U,F){(null==F||F>U.length)&&(F=U.length);for(var Q=0,B=Array(F);Q{function F(){return U.exports=F=Object.assign?Object.assign.bind():function(U){for(var F=1;F{"use strict";var B=Q(55619),R=Q(52746).concat("length","prototype");F.f=Object.getOwnPropertyNames||function(U){return B(U,R)}},78353:(U,F,Q)=>{var B=Q(85519),R=Q(8919),V=Q(19215),n=function(U,F){F=F||{weight:"normal"},this.family=U,this.style=F.style||"normal",this.variant=F.variant||"normal",this.weight=F.weight||"normal",this.stretch=F.stretch||"stretch",this.featureSettings=F.featureSettings||"normal"};U.exports=n,n.HAS_WEBKIT_FALLBACK_BUG=null,n.DEFAULT_TIMEOUT=3e3,n.getUserAgent=function(){return window.navigator.userAgent},n.hasWebKitFallbackBug=function(){if(null===n.HAS_WEBKIT_FALLBACK_BUG){var U=/AppleWeb[kK]it\/([0-9]+)(?:\.([0-9]+))/.exec(n.getUserAgent());n.HAS_WEBKIT_FALLBACK_BUG=!!U&&(parseInt(U[1],10)<536||536===parseInt(U[1],10)&&parseInt(U[2],10)<=11)}return n.HAS_WEBKIT_FALLBACK_BUG},n.prototype.getStyle=function(){return"font-style:"+this.style+";font-variant:"+this.variant+";font-weight:"+this.weight+";font-stretch:"+this.stretch+";font-feature-settings:"+this.featureSettings+";-moz-font-feature-settings:"+this.featureSettings+";-webkit-font-feature-settings:"+this.featureSettings+";"},n.prototype.check=function(U,F){var Q,l,d,J=U||"BESbswy",N=F||n.DEFAULT_TIMEOUT,Z=this.getStyle(),W=R.createElement("div"),S=new V(J),E=new V(J),k=new V(J),t=-1,a=-1,T=-1,e=this;return S.setFont('"Times New Roman", sans-serif',Z),E.setFont("serif",Z),k.setFont("monospace",Z),R.append(W,S.getElement()),R.append(W,E.getElement()),R.append(W,k.getElement()),R.append(document.body,W),Q=S.getWidth(),l=E.getWidth(),d=k.getWidth(),new B(function(U,F){function B(){null!==W.parentNode&&R.remove(document.body,W)}function V(){-1!==t&&-1!==a&&-1!==T&&t===a&&a===T&&(n.hasWebKitFallbackBug()&&(t===Q&&a===Q&&T===Q||t===l&&a===l&&T===l||t===d&&a===d&&T===d)||(B(),U(e)))}setTimeout(function(){B(),F(e)},N),S.onResize(function(U){t=U,V()}),S.setFont(e.family+",sans-serif",Z),E.onResize(function(U){a=U,V()}),E.setFont(e.family+",serif",Z),k.onResize(function(U){T=U,V()}),k.setFont(e.family+",monospace",Z)})}},78542:U=>{"use strict";U.exports=Object.getOwnPropertyDescriptor},78602:(U,F,Q)=>{"use strict";var B;if(!Object.keys){var R=Object.prototype.hasOwnProperty,V=Object.prototype.toString,n=Q(60718),l=Object.prototype.propertyIsEnumerable,d=!l.call({toString:null},"toString"),J=l.call(function(){},"prototype"),N=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],Z=function(U){var F=U.constructor;return F&&F.prototype===U},W={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},S=function(){if("undefined"===typeof window)return!1;for(var U in window)try{if(!W["$"+U]&&R.call(window,U)&&null!==window[U]&&"object"===typeof window[U])try{Z(window[U])}catch(F){return!0}}catch(F){return!0}return!1}();B=function(U){var F=null!==U&&"object"===typeof U,Q="[object Function]"===V.call(U),B=n(U),l=F&&"[object String]"===V.call(U),W=[];if(!F&&!Q&&!B)throw new TypeError("Object.keys called on a non-object");var E=J&&Q;if(l&&U.length>0&&!R.call(U,0))for(var k=0;k0)for(var t=0;t{"use strict";Q.d(F,{A:()=>B});const B=Q(89344).A},79569:(U,F,Q)=>{"use strict";var B=Q(42433),R=B({}.toString),V=B("".slice);U.exports=function(U){return V(R(U),8,-1)}},79980:(U,F,Q)=>{"use strict";var B=Q(28918),R=Q(81909),V=Q(14172),n=Q(12681),l=Q(38559);function d(U){if(!(this instanceof d))return new d(U);var F=B(U);this.segments=F.segments,this.err=F.err,this.__stack=[]}d.from=function(U){if("string"===typeof U)return new d(U);if(U instanceof d){var F=new d("");return F.err=U.err,F.segments=U.segments.map(function(U){return U.slice()}),F.__stack=U.__stack.map(function(U){return V().matrix(U.toArray())}),F}throw new Error("SvgPath.from: invalid param type "+U)},d.prototype.__matrix=function(U){var F,Q=this;U.queue.length&&this.iterate(function(B,R,V,n){var d,J,N,Z;switch(B[0]){case"v":J=0===(d=U.calc(0,B[1],!0))[0]?["v",d[1]]:["l",d[0],d[1]];break;case"V":J=(d=U.calc(V,B[1],!1))[0]===U.calc(V,n,!1)[0]?["V",d[1]]:["L",d[0],d[1]];break;case"h":J=0===(d=U.calc(B[1],0,!0))[1]?["h",d[0]]:["l",d[0],d[1]];break;case"H":J=(d=U.calc(B[1],n,!1))[1]===U.calc(V,n,!1)[1]?["H",d[0]]:["L",d[0],d[1]];break;case"a":case"A":var W=U.toArray(),S=l(B[1],B[2],B[3]).transform(W);if(W[0]*W[3]-W[1]*W[2]<0&&(B[5]=B[5]?"0":"1"),d=U.calc(B[6],B[7],"a"===B[0]),"A"===B[0]&&B[6]===V&&B[7]===n||"a"===B[0]&&0===B[6]&&0===B[7]){J=["a"===B[0]?"l":"L",d[0],d[1]];break}J=S.isDegenerate()?["a"===B[0]?"l":"L",d[0],d[1]]:[B[0],S.rx,S.ry,S.ax,B[4],B[5],d[0],d[1]];break;case"m":Z=R>0,J=["m",(d=U.calc(B[1],B[2],Z))[0],d[1]];break;default:for(J=[N=B[0]],Z=N.toLowerCase()===N,F=1;F=0;)U.matrix(this.__stack[F].toArray());this.__matrix(U),this.__stack=[]}},d.prototype.toString=function(){var U="",F="",Q=!1;this.__evaluateStack();for(var B=0,R=this.segments.length;B=0&&(U+=" "):d>=0&&(U+=" "),U+=d}F=n}return U},d.prototype.translate=function(U,F){return this.__stack.push(V().translate(U,F||0)),this},d.prototype.scale=function(U,F){return this.__stack.push(V().scale(U,F||0===F?F:U)),this},d.prototype.rotate=function(U,F,Q){return this.__stack.push(V().rotate(U,F||0,Q||0)),this},d.prototype.skewX=function(U){return this.__stack.push(V().skewX(U)),this},d.prototype.skewY=function(U){return this.__stack.push(V().skewY(U)),this},d.prototype.matrix=function(U){return this.__stack.push(V().matrix(U)),this},d.prototype.transform=function(U){return U.trim()?(this.__stack.push(R(U)),this):this},d.prototype.round=function(U){var F,Q=0,B=0,R=0,V=0;return U=U||0,this.__evaluateStack(),this.segments.forEach(function(n){var l=n[0].toLowerCase()===n[0];switch(n[0]){case"H":case"h":return l&&(n[1]+=R),R=n[1]-n[1].toFixed(U),void(n[1]=+n[1].toFixed(U));case"V":case"v":return l&&(n[1]+=V),V=n[1]-n[1].toFixed(U),void(n[1]=+n[1].toFixed(U));case"Z":case"z":return R=Q,void(V=B);case"M":case"m":return l&&(n[1]+=R,n[2]+=V),R=n[1]-n[1].toFixed(U),V=n[2]-n[2].toFixed(U),Q=R,B=V,n[1]=+n[1].toFixed(U),void(n[2]=+n[2].toFixed(U));case"A":case"a":return l&&(n[6]+=R,n[7]+=V),R=n[6]-n[6].toFixed(U),V=n[7]-n[7].toFixed(U),n[1]=+n[1].toFixed(U),n[2]=+n[2].toFixed(U),n[3]=+n[3].toFixed(U+2),n[6]=+n[6].toFixed(U),void(n[7]=+n[7].toFixed(U));default:return F=n.length,l&&(n[F-2]+=R,n[F-1]+=V),R=n[F-2]-n[F-2].toFixed(U),V=n[F-1]-n[F-1].toFixed(U),void n.forEach(function(F,Q){Q&&(n[Q]=+n[Q].toFixed(U))})}}),this},d.prototype.iterate=function(U,F){var Q,B,R,V=this.segments,n={},l=!1,d=0,J=0,N=0,Z=0;if(F||this.__evaluateStack(),V.forEach(function(F,Q){var B=U(F,Q,d,J);Array.isArray(B)&&(n[Q]=B,l=!0);var R=F[0]===F[0].toLowerCase();switch(F[0]){case"m":case"M":return d=F[1]+(R?d:0),J=F[2]+(R?J:0),N=d,void(Z=J);case"h":case"H":return void(d=F[1]+(R?d:0));case"v":case"V":return void(J=F[1]+(R?J:0));case"z":case"Z":return d=N,void(J=Z);default:d=F[F.length-2]+(R?d:0),J=F[F.length-1]+(R?J:0)}}),!l)return this;for(R=[],Q=0;Q{"use strict";var F=Object.prototype.toString,Q=Math.max,B=function(U,F){for(var Q=[],B=0;B{"use strict";var B=Q(88240),R=Q(35938),V=Q(4378),n=Q(18018).f;U.exports=function(U){var F=B.Symbol||(B.Symbol={});R(F,U)||n(F,U,{value:V.f(U)})}},81515:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>R});var B=Q(49257);function R(U,F){if(null==U)return{};var Q,R,V=(0,B.A)(U,F);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(U);for(R=0;R{"use strict";var B,R,V,n,l=Q(44176),d=Q(71862),J=Q(2349),N=Q(2428),Z=Q(35938),W=Q(95362),S=Q(42546),E=Q(61825),k=Q(12438),t=Q(62933),a=Q(25306),T=Q(46559),e=l.setImmediate,C=l.clearImmediate,D=l.process,o=l.Dispatch,p=l.Function,h=l.MessageChannel,c=l.String,r=0,m={},M="onreadystatechange";W(function(){B=l.location});var i=function(U){if(Z(m,U)){var F=m[U];delete m[U],F()}},b=function(U){return function(){i(U)}},v=function(U){i(U.data)},G=function(U){l.postMessage(c(U),B.protocol+"//"+B.host)};e&&C||(e=function(U){t(arguments.length,1);var F=N(U)?U:p(U),Q=E(arguments,1);return m[++r]=function(){d(F,void 0,Q)},R(r),r},C=function(U){delete m[U]},T?R=function(U){D.nextTick(b(U))}:o&&o.now?R=function(U){o.now(b(U))}:h&&!a?(n=(V=new h).port2,V.port1.onmessage=v,R=J(n.postMessage,n)):l.addEventListener&&N(l.postMessage)&&!l.importScripts&&B&&"file:"!==B.protocol&&!W(G)?(R=G,l.addEventListener("message",v,!1)):R=M in k("script")?function(U){S.appendChild(k("script"))[M]=function(){S.removeChild(this),i(U)}}:function(U){setTimeout(b(U),0)}),U.exports={set:e,clear:C}},81909:(U,F,Q)=>{"use strict";var B=Q(14172),R={matrix:!0,scale:!0,rotate:!0,translate:!0,skewX:!0,skewY:!0},V=/\s*(matrix|translate|scale|rotate|skewX|skewY)\s*\(\s*(.+?)\s*\)[\s,]*/,n=/[\s,]+/;U.exports=function(U){var F,Q,l=new B;return U.split(V).forEach(function(U){if(U.length)if("undefined"===typeof R[U])switch(Q=U.split(n).map(function(U){return+U||0}),F){case"matrix":return void(6===Q.length&&l.matrix(Q));case"scale":return void(1===Q.length?l.scale(Q[0],Q[0]):2===Q.length&&l.scale(Q[0],Q[1]));case"rotate":return void(1===Q.length?l.rotate(Q[0],0,0):3===Q.length&&l.rotate(Q[0],Q[1],Q[2]));case"translate":return void(1===Q.length?l.translate(Q[0],0):2===Q.length&&l.translate(Q[0],Q[1]));case"skewX":return void(1===Q.length&&l.skewX(Q[0]));case"skewY":return void(1===Q.length&&l.skewY(Q[0]))}else F=U}),l}},82005:(U,F)=>{function Q(U,F,Q){this.f=U,this.once=F,this.priority=Q}function B(){this.handlers=[]}function R(U,F){for(var Q=0;Q=0;Q--)U[Q].once&&(F||(F=U.slice()),F.splice(Q,1));return F&&(this.handlers=F),U},B.prototype.add=function(U,F){R(this,new Q(U,!1,F||0))},B.prototype.addOnce=function(U,F){R(this,new Q(U,!0,F||0))},B.prototype.remove=function(U){for(var F=0;F0},B.prototype.dispatch=function(){for(var U=this.handlersForDispatch(),F=0;F{"use strict";Q.d(F,{A:()=>I});var B=Q(68102),R=Q(49257),V=Q(60471),n=Q(15714),l=Q(93350),d=Q(34315),J=Q(43946),N=Q(90245),Z=Q(86795),W=Q(93842),S=Q(72367),E=Q(51449),k=Q(87042);function t(U,F){var Q=Object.create(null);return U&&V.Children.map(U,function(U){return U}).forEach(function(U){Q[U.key]=function(U){return F&&(0,V.isValidElement)(U)?F(U):U}(U)}),Q}function a(U,F,Q){return null!=Q[F]?Q[F]:U.props[F]}function T(U,F,Q){var B=t(U.children),R=function(U,F){function Q(Q){return Q in F?F[Q]:U[Q]}U=U||{},F=F||{};var B,R=Object.create(null),V=[];for(var n in U)n in F?V.length&&(R[n]=V,V=[]):V.push(n);var l={};for(var d in F){if(R[d])for(B=0;B{if(!J&&null!=N){const U=setTimeout(N,Z);return()=>{clearTimeout(U)}}},[N,J,Z]),(0,h.jsx)("span",{className:E,style:k,children:(0,h.jsx)("span",{className:t})})};var r=Q(16840);const m=(0,r.A)("MuiTouchRipple",["root","ripple","rippleVisible","ripplePulsate","child","childLeaving","childPulsate"]),M=["center","classes","className"];let i,b,v,G,s=U=>U;const X=(0,o.i7)(i||(i=s` 0% { transform: scale(0); opacity: 0.1; } 100% { transform: scale(1); opacity: 0.3; } `)),Y=(0,o.i7)(b||(b=s` 0% { opacity: 1; } 100% { opacity: 0; } `)),y=(0,o.i7)(v||(v=s` 0% { transform: scale(1); } 50% { transform: scale(0.92); } 100% { transform: scale(1); } `)),z=(0,d.Ay)("span",{name:"MuiTouchRipple",slot:"Root"})({overflow:"hidden",pointerEvents:"none",position:"absolute",zIndex:0,top:0,right:0,bottom:0,left:0,borderRadius:"inherit"}),O=(0,d.Ay)(c,{name:"MuiTouchRipple",slot:"Ripple"})(G||(G=s` opacity: 0; position: absolute; &.${0} { opacity: 0.3; transform: scale(1); animation-name: ${0}; animation-duration: ${0}ms; animation-timing-function: ${0}; } &.${0} { animation-duration: ${0}ms; } & .${0} { opacity: 1; display: block; width: 100%; height: 100%; border-radius: 50%; background-color: currentColor; } & .${0} { opacity: 0; animation-name: ${0}; animation-duration: ${0}ms; animation-timing-function: ${0}; } & .${0} { position: absolute; /* @noflip */ left: 0px; top: 0; animation-name: ${0}; animation-duration: 2500ms; animation-timing-function: ${0}; animation-iteration-count: infinite; animation-delay: 200ms; } `),m.rippleVisible,X,550,U=>{let{theme:F}=U;return F.transitions.easing.easeInOut},m.ripplePulsate,U=>{let{theme:F}=U;return F.transitions.duration.shorter},m.child,m.childLeaving,Y,550,U=>{let{theme:F}=U;return F.transitions.easing.easeInOut},m.childPulsate,y,U=>{let{theme:F}=U;return F.transitions.easing.easeInOut}),L=V.forwardRef(function(U,F){const Q=(0,J.b)({props:U,name:"MuiTouchRipple"}),{center:l=!1,classes:d={},className:N}=Q,Z=(0,R.A)(Q,M),[W,S]=V.useState([]),E=V.useRef(0),k=V.useRef(null);V.useEffect(()=>{k.current&&(k.current(),k.current=null)},[W]);const t=V.useRef(!1),a=(0,p.A)(),T=V.useRef(null),e=V.useRef(null),C=V.useCallback(U=>{const{pulsate:F,rippleX:Q,rippleY:B,rippleSize:R,cb:V}=U;S(U=>[...U,(0,h.jsx)(O,{classes:{ripple:(0,n.A)(d.ripple,m.ripple),rippleVisible:(0,n.A)(d.rippleVisible,m.rippleVisible),ripplePulsate:(0,n.A)(d.ripplePulsate,m.ripplePulsate),child:(0,n.A)(d.child,m.child),childLeaving:(0,n.A)(d.childLeaving,m.childLeaving),childPulsate:(0,n.A)(d.childPulsate,m.childPulsate)},timeout:550,pulsate:F,rippleX:Q,rippleY:B,rippleSize:R},E.current)]),E.current+=1,k.current=V},[d]),o=V.useCallback(function(){let U=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},F=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},Q=arguments.length>2&&void 0!==arguments[2]?arguments[2]:()=>{};const{pulsate:B=!1,center:R=l||F.pulsate,fakeElement:V=!1}=F;if("mousedown"===(null==U?void 0:U.type)&&t.current)return void(t.current=!1);"touchstart"===(null==U?void 0:U.type)&&(t.current=!0);const n=V?null:e.current,d=n?n.getBoundingClientRect():{width:0,height:0,left:0,top:0};let J,N,Z;if(R||void 0===U||0===U.clientX&&0===U.clientY||!U.clientX&&!U.touches)J=Math.round(d.width/2),N=Math.round(d.height/2);else{const{clientX:F,clientY:Q}=U.touches&&U.touches.length>0?U.touches[0]:U;J=Math.round(F-d.left),N=Math.round(Q-d.top)}if(R)Z=Math.sqrt((2*d.width**2+d.height**2)/3),Z%2===0&&(Z+=1);else{const U=2*Math.max(Math.abs((n?n.clientWidth:0)-J),J)+2,F=2*Math.max(Math.abs((n?n.clientHeight:0)-N),N)+2;Z=Math.sqrt(U**2+F**2)}null!=U&&U.touches?null===T.current&&(T.current=()=>{C({pulsate:B,rippleX:J,rippleY:N,rippleSize:Z,cb:Q})},a.start(80,()=>{T.current&&(T.current(),T.current=null)})):C({pulsate:B,rippleX:J,rippleY:N,rippleSize:Z,cb:Q})},[l,C,a]),c=V.useCallback(()=>{o({},{pulsate:!0})},[o]),r=V.useCallback((U,F)=>{if(a.clear(),"touchend"===(null==U?void 0:U.type)&&T.current)return T.current(),T.current=null,void a.start(0,()=>{r(U,F)});T.current=null,S(U=>U.length>0?U.slice(1):U),k.current=F},[a]);return V.useImperativeHandle(F,()=>({pulsate:c,start:o,stop:r}),[c,o,r]),(0,h.jsx)(z,(0,B.A)({className:(0,n.A)(m.root,d.root,N),ref:e},Z,{children:(0,h.jsx)(D,{component:null,exit:!0,children:W})}))});var H=Q(85656);function x(U){return(0,H.Ay)("MuiButtonBase",U)}const u=(0,r.A)("MuiButtonBase",["root","disabled","focusVisible"]),w=["action","centerRipple","children","className","component","disabled","disableRipple","disableTouchRipple","focusRipple","focusVisibleClassName","LinkComponent","onBlur","onClick","onContextMenu","onDragLeave","onFocus","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseLeave","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","tabIndex","TouchRippleProps","touchRippleRef","type"],j=(0,d.Ay)("button",{name:"MuiButtonBase",slot:"Root",overridesResolver:(U,F)=>F.root})({display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative",boxSizing:"border-box",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none",textDecoration:"none",color:"inherit","&::-moz-focus-inner":{borderStyle:"none"},[`&.${u.disabled}`]:{pointerEvents:"none",cursor:"default"},"@media print":{colorAdjust:"exact"}}),I=V.forwardRef(function(U,F){const Q=(0,J.b)({props:U,name:"MuiButtonBase"}),{action:d,centerRipple:S=!1,children:E,className:k,component:t="button",disabled:a=!1,disableRipple:T=!1,disableTouchRipple:e=!1,focusRipple:C=!1,LinkComponent:D="a",onBlur:o,onClick:p,onContextMenu:c,onDragLeave:r,onFocus:m,onFocusVisible:M,onKeyDown:i,onKeyUp:b,onMouseDown:v,onMouseLeave:G,onMouseUp:s,onTouchEnd:X,onTouchMove:Y,onTouchStart:y,tabIndex:z=0,TouchRippleProps:O,touchRippleRef:H,type:u}=Q,I=(0,R.A)(Q,w),K=V.useRef(null),f=V.useRef(null),g=(0,N.A)(f,H),{isFocusVisibleRef:P,onFocus:A,onBlur:q,ref:_}=(0,W.A)(),[$,UU]=V.useState(!1);a&&$&&UU(!1),V.useImperativeHandle(d,()=>({focusVisible:()=>{UU(!0),K.current.focus()}}),[]);const[FU,QU]=V.useState(!1);V.useEffect(()=>{QU(!0)},[]);const BU=FU&&!T&&!a;function RU(U,F){let Q=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e;return(0,Z.A)(B=>{F&&F(B);return!Q&&f.current&&f.current[U](B),!0})}V.useEffect(()=>{$&&C&&!T&&FU&&f.current.pulsate()},[T,C,$,FU]);const VU=RU("start",v),nU=RU("stop",c),lU=RU("stop",r),dU=RU("stop",s),JU=RU("stop",U=>{$&&U.preventDefault(),G&&G(U)}),NU=RU("start",y),ZU=RU("stop",X),WU=RU("stop",Y),SU=RU("stop",U=>{q(U),!1===P.current&&UU(!1),o&&o(U)},!1),EU=(0,Z.A)(U=>{K.current||(K.current=U.currentTarget),A(U),!0===P.current&&(UU(!0),M&&M(U)),m&&m(U)}),kU=()=>{const U=K.current;return t&&"button"!==t&&!("A"===U.tagName&&U.href)},tU=V.useRef(!1),aU=(0,Z.A)(U=>{C&&!tU.current&&$&&f.current&&" "===U.key&&(tU.current=!0,f.current.stop(U,()=>{f.current.start(U)})),U.target===U.currentTarget&&kU()&&" "===U.key&&U.preventDefault(),i&&i(U),U.target===U.currentTarget&&kU()&&"Enter"===U.key&&!a&&(U.preventDefault(),p&&p(U))}),TU=(0,Z.A)(U=>{C&&" "===U.key&&f.current&&$&&!U.defaultPrevented&&(tU.current=!1,f.current.stop(U,()=>{f.current.pulsate(U)})),b&&b(U),p&&U.target===U.currentTarget&&kU()&&" "===U.key&&!U.defaultPrevented&&p(U)});let eU=t;"button"===eU&&(I.href||I.to)&&(eU=D);const CU={};"button"===eU?(CU.type=void 0===u?"button":u,CU.disabled=a):(I.href||I.to||(CU.role="button"),a&&(CU["aria-disabled"]=a));const DU=(0,N.A)(F,_,K);const oU=(0,B.A)({},Q,{centerRipple:S,component:t,disabled:a,disableRipple:T,disableTouchRipple:e,focusRipple:C,tabIndex:z,focusVisible:$}),pU=(U=>{const{disabled:F,focusVisible:Q,focusVisibleClassName:B,classes:R}=U,V={root:["root",F&&"disabled",Q&&"focusVisible"]},n=(0,l.A)(V,x,R);return Q&&B&&(n.root+=` ${B}`),n})(oU);return(0,h.jsxs)(j,(0,B.A)({as:eU,className:(0,n.A)(pU.root,k),ownerState:oU,onBlur:SU,onClick:p,onContextMenu:nU,onFocus:EU,onKeyDown:aU,onKeyUp:TU,onMouseDown:VU,onMouseLeave:JU,onMouseUp:dU,onDragLeave:lU,onTouchEnd:ZU,onTouchMove:WU,onTouchStart:NU,ref:DU,tabIndex:a?-1:z,type:u},CU,I,{children:[E,BU?(0,h.jsx)(L,(0,B.A)({ref:g,center:S},O)):null]}))})},82170:U=>{"use strict";U.exports=TypeError},82369:(U,F,Q)=>{"use strict";var B=Q(15137),R=Q(430);U.exports=function(U,F){var Q=U[F];return R(Q)?void 0:B(Q)}},82514:(U,F,Q)=>{"use strict";function B(U){var F=Object.create(null);return function(Q){return void 0===F[Q]&&(F[Q]=U(Q)),F[Q]}}Q.d(F,{A:()=>B})},83431:(U,F)=>{F.aliasToReal={each:"forEach",eachRight:"forEachRight",entries:"toPairs",entriesIn:"toPairsIn",extend:"assignIn",extendAll:"assignInAll",extendAllWith:"assignInAllWith",extendWith:"assignInWith",first:"head",conforms:"conformsTo",matches:"isMatch",property:"get",__:"placeholder",F:"stubFalse",T:"stubTrue",all:"every",allPass:"overEvery",always:"constant",any:"some",anyPass:"overSome",apply:"spread",assoc:"set",assocPath:"set",complement:"negate",compose:"flowRight",contains:"includes",dissoc:"unset",dissocPath:"unset",dropLast:"dropRight",dropLastWhile:"dropRightWhile",equals:"isEqual",identical:"eq",indexBy:"keyBy",init:"initial",invertObj:"invert",juxt:"over",omitAll:"omit",nAry:"ary",path:"get",pathEq:"matchesProperty",pathOr:"getOr",paths:"at",pickAll:"pick",pipe:"flow",pluck:"map",prop:"get",propEq:"matchesProperty",propOr:"getOr",props:"at",symmetricDifference:"xor",symmetricDifferenceBy:"xorBy",symmetricDifferenceWith:"xorWith",takeLast:"takeRight",takeLastWhile:"takeRightWhile",unapply:"rest",unnest:"flatten",useWith:"overArgs",where:"conformsTo",whereEq:"isMatch",zipObj:"zipObject"},F.aryMethod={1:["assignAll","assignInAll","attempt","castArray","ceil","create","curry","curryRight","defaultsAll","defaultsDeepAll","floor","flow","flowRight","fromPairs","invert","iteratee","memoize","method","mergeAll","methodOf","mixin","nthArg","over","overEvery","overSome","rest","reverse","round","runInContext","spread","template","trim","trimEnd","trimStart","uniqueId","words","zipAll"],2:["add","after","ary","assign","assignAllWith","assignIn","assignInAllWith","at","before","bind","bindAll","bindKey","chunk","cloneDeepWith","cloneWith","concat","conformsTo","countBy","curryN","curryRightN","debounce","defaults","defaultsDeep","defaultTo","delay","difference","divide","drop","dropRight","dropRightWhile","dropWhile","endsWith","eq","every","filter","find","findIndex","findKey","findLast","findLastIndex","findLastKey","flatMap","flatMapDeep","flattenDepth","forEach","forEachRight","forIn","forInRight","forOwn","forOwnRight","get","groupBy","gt","gte","has","hasIn","includes","indexOf","intersection","invertBy","invoke","invokeMap","isEqual","isMatch","join","keyBy","lastIndexOf","lt","lte","map","mapKeys","mapValues","matchesProperty","maxBy","meanBy","merge","mergeAllWith","minBy","multiply","nth","omit","omitBy","overArgs","pad","padEnd","padStart","parseInt","partial","partialRight","partition","pick","pickBy","propertyOf","pull","pullAll","pullAt","random","range","rangeRight","rearg","reject","remove","repeat","restFrom","result","sampleSize","some","sortBy","sortedIndex","sortedIndexOf","sortedLastIndex","sortedLastIndexOf","sortedUniqBy","split","spreadFrom","startsWith","subtract","sumBy","take","takeRight","takeRightWhile","takeWhile","tap","throttle","thru","times","trimChars","trimCharsEnd","trimCharsStart","truncate","union","uniqBy","uniqWith","unset","unzipWith","without","wrap","xor","zip","zipObject","zipObjectDeep"],3:["assignInWith","assignWith","clamp","differenceBy","differenceWith","findFrom","findIndexFrom","findLastFrom","findLastIndexFrom","getOr","includesFrom","indexOfFrom","inRange","intersectionBy","intersectionWith","invokeArgs","invokeArgsMap","isEqualWith","isMatchWith","flatMapDepth","lastIndexOfFrom","mergeWith","orderBy","padChars","padCharsEnd","padCharsStart","pullAllBy","pullAllWith","rangeStep","rangeStepRight","reduce","reduceRight","replace","set","slice","sortedIndexBy","sortedLastIndexBy","transform","unionBy","unionWith","update","xorBy","xorWith","zipWith"],4:["fill","setWith","updateWith"]},F.aryRearg={2:[1,0],3:[2,0,1],4:[3,2,0,1]},F.iterateeAry={dropRightWhile:1,dropWhile:1,every:1,filter:1,find:1,findFrom:1,findIndex:1,findIndexFrom:1,findKey:1,findLast:1,findLastFrom:1,findLastIndex:1,findLastIndexFrom:1,findLastKey:1,flatMap:1,flatMapDeep:1,flatMapDepth:1,forEach:1,forEachRight:1,forIn:1,forInRight:1,forOwn:1,forOwnRight:1,map:1,mapKeys:1,mapValues:1,partition:1,reduce:2,reduceRight:2,reject:1,remove:1,some:1,takeRightWhile:1,takeWhile:1,times:1,transform:2},F.iterateeRearg={mapKeys:[1],reduceRight:[1,0]},F.methodRearg={assignInAllWith:[1,0],assignInWith:[1,2,0],assignAllWith:[1,0],assignWith:[1,2,0],differenceBy:[1,2,0],differenceWith:[1,2,0],getOr:[2,1,0],intersectionBy:[1,2,0],intersectionWith:[1,2,0],isEqualWith:[1,2,0],isMatchWith:[2,1,0],mergeAllWith:[1,0],mergeWith:[1,2,0],padChars:[2,1,0],padCharsEnd:[2,1,0],padCharsStart:[2,1,0],pullAllBy:[2,1,0],pullAllWith:[2,1,0],rangeStep:[1,2,0],rangeStepRight:[1,2,0],setWith:[3,1,2,0],sortedIndexBy:[2,1,0],sortedLastIndexBy:[2,1,0],unionBy:[1,2,0],unionWith:[1,2,0],updateWith:[3,1,2,0],xorBy:[1,2,0],xorWith:[1,2,0],zipWith:[1,2,0]},F.methodSpread={assignAll:{start:0},assignAllWith:{start:0},assignInAll:{start:0},assignInAllWith:{start:0},defaultsAll:{start:0},defaultsDeepAll:{start:0},invokeArgs:{start:2},invokeArgsMap:{start:2},mergeAll:{start:0},mergeAllWith:{start:0},partial:{start:1},partialRight:{start:1},without:{start:1},zipAll:{start:0}},F.mutate={array:{fill:!0,pull:!0,pullAll:!0,pullAllBy:!0,pullAllWith:!0,pullAt:!0,remove:!0,reverse:!0},object:{assign:!0,assignAll:!0,assignAllWith:!0,assignIn:!0,assignInAll:!0,assignInAllWith:!0,assignInWith:!0,assignWith:!0,defaults:!0,defaultsAll:!0,defaultsDeep:!0,defaultsDeepAll:!0,merge:!0,mergeAll:!0,mergeAllWith:!0,mergeWith:!0},set:{set:!0,setWith:!0,unset:!0,update:!0,updateWith:!0}},F.realToAlias=function(){var U=Object.prototype.hasOwnProperty,Q=F.aliasToReal,B={};for(var R in Q){var V=Q[R];U.call(B,V)?B[V].push(R):B[V]=[R]}return B}(),F.remap={assignAll:"assign",assignAllWith:"assignWith",assignInAll:"assignIn",assignInAllWith:"assignInWith",curryN:"curry",curryRightN:"curryRight",defaultsAll:"defaults",defaultsDeepAll:"defaultsDeep",findFrom:"find",findIndexFrom:"findIndex",findLastFrom:"findLast",findLastIndexFrom:"findLastIndex",getOr:"get",includesFrom:"includes",indexOfFrom:"indexOf",invokeArgs:"invoke",invokeArgsMap:"invokeMap",lastIndexOfFrom:"lastIndexOf",mergeAll:"merge",mergeAllWith:"mergeWith",padChars:"pad",padCharsEnd:"padEnd",padCharsStart:"padStart",propertyOf:"get",rangeStep:"range",rangeStepRight:"rangeRight",restFrom:"rest",spreadFrom:"spread",trimChars:"trim",trimCharsEnd:"trimEnd",trimCharsStart:"trimStart",zipAll:"zip"},F.skipFixed={castArray:!0,flow:!0,flowRight:!0,iteratee:!0,mixin:!0,rearg:!0,runInContext:!0},F.skipRearg={add:!0,assign:!0,assignIn:!0,bind:!0,bindKey:!0,concat:!0,difference:!0,divide:!0,eq:!0,gt:!0,gte:!0,isEqual:!0,lt:!0,lte:!0,matchesProperty:!0,merge:!0,multiply:!0,overArgs:!0,partial:!0,partialRight:!0,propertyOf:!0,random:!0,range:!0,rangeRight:!0,subtract:!0,zip:!0,zipObject:!0,zipObjectDeep:!0}},83633:()=>{},83652:(U,F,Q)=>{"use strict";function B(U){return null!=U&&!(Array.isArray(U)&&0===U.length)}function R(U){let F=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return U&&(B(U.value)&&""!==U.value||F&&B(U.defaultValue)&&""!==U.defaultValue)}function V(U){return U.startAdornment}Q.d(F,{gr:()=>V,lq:()=>R})},84764:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>EU});var B=Q(68102),R=Q(49257),V=Q(60471),n=Q(15714),l=Q(26904),d=Q(34386),J=Q(96048),N=Q(93350),Z=Q(64776),W=Q(60487),S=Q(93623),E=Q(8399),k=Q(10400),t=Q(87246),a=Q(70055),T=Q(34315),e=Q(35423),C=Q(43946),D=Q(16840),o=Q(85656);function p(U){return(0,o.Ay)("MuiMenu",U)}(0,D.A)("MuiMenu",["root","paper","list"]);var h=Q(23759);const c=["onEntering"],r=["autoFocus","children","className","disableAutoFocusItem","MenuListProps","onClose","open","PaperProps","PopoverClasses","transitionDuration","TransitionProps","variant","slots","slotProps"],m={vertical:"top",horizontal:"right"},M={vertical:"top",horizontal:"left"},i=(0,T.Ay)(a.Ay,{shouldForwardProp:U=>(0,e.A)(U)||"classes"===U,name:"MuiMenu",slot:"Root",overridesResolver:(U,F)=>F.root})({}),b=(0,T.Ay)(a.IJ,{name:"MuiMenu",slot:"Paper",overridesResolver:(U,F)=>F.paper})({maxHeight:"calc(100% - 96px)",WebkitOverflowScrolling:"touch"}),v=(0,T.Ay)(t.A,{name:"MuiMenu",slot:"List",overridesResolver:(U,F)=>F.list})({outline:0}),G=V.forwardRef(function(U,F){var Q,l;const d=(0,C.b)({props:U,name:"MuiMenu"}),{autoFocus:J=!0,children:Z,className:W,disableAutoFocusItem:S=!1,MenuListProps:t={},onClose:a,open:T,PaperProps:e={},PopoverClasses:D,transitionDuration:o="auto",TransitionProps:{onEntering:G}={},variant:s="selectedMenu",slots:X={},slotProps:Y={}}=d,y=(0,R.A)(d.TransitionProps,c),z=(0,R.A)(d,r),O=(0,E.I)(),L=(0,B.A)({},d,{autoFocus:J,disableAutoFocusItem:S,MenuListProps:t,onEntering:G,PaperProps:e,transitionDuration:o,TransitionProps:y,variant:s}),H=(U=>{const{classes:F}=U;return(0,N.A)({root:["root"],paper:["paper"],list:["list"]},p,F)})(L),x=J&&!S&&T,u=V.useRef(null);let w=-1;V.Children.map(Z,(U,F)=>{V.isValidElement(U)&&(U.props.disabled||("selectedMenu"===s&&U.props.selected||-1===w)&&(w=F))});const j=null!=(Q=X.paper)?Q:b,I=null!=(l=Y.paper)?l:e,K=(0,k.A)({elementType:X.root,externalSlotProps:Y.root,ownerState:L,className:[H.root,W]}),f=(0,k.A)({elementType:j,externalSlotProps:I,ownerState:L,className:H.paper});return(0,h.jsx)(i,(0,B.A)({onClose:a,anchorOrigin:{vertical:"bottom",horizontal:O?"right":"left"},transformOrigin:O?m:M,slots:{paper:j,root:X.root},slotProps:{root:K,paper:f},open:T,ref:F,transitionDuration:o,TransitionProps:(0,B.A)({onEntering:(U,F)=>{u.current&&u.current.adjustStyleForScrollbar(U,{direction:O?"rtl":"ltr"}),G&&G(U,F)}},y),ownerState:L},z,{classes:D,children:(0,h.jsx)(v,(0,B.A)({onKeyDown:U=>{"Tab"===U.key&&(U.preventDefault(),a&&a(U,"tabKeyDown"))},actions:u,autoFocus:J&&(-1===w||S),autoFocusItem:x,variant:s},t,{className:(0,n.A)(H.list,t.className),children:Z}))}))});function s(U){return(0,o.Ay)("MuiNativeSelect",U)}const X=(0,D.A)("MuiNativeSelect",["root","select","multiple","filled","outlined","standard","disabled","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]),Y=["className","disabled","error","IconComponent","inputRef","variant"],y=U=>{let{ownerState:F,theme:Q}=U;return(0,B.A)({MozAppearance:"none",WebkitAppearance:"none",userSelect:"none",borderRadius:0,cursor:"pointer","&:focus":(0,B.A)({},Q.vars?{backgroundColor:`rgba(${Q.vars.palette.common.onBackgroundChannel} / 0.05)`}:{backgroundColor:"light"===Q.palette.mode?"rgba(0, 0, 0, 0.05)":"rgba(255, 255, 255, 0.05)"},{borderRadius:0}),"&::-ms-expand":{display:"none"},[`&.${X.disabled}`]:{cursor:"default"},"&[multiple]":{height:"auto"},"&:not([multiple]) option, &:not([multiple]) optgroup":{backgroundColor:(Q.vars||Q).palette.background.paper},"&&&":{paddingRight:24,minWidth:16}},"filled"===F.variant&&{"&&&":{paddingRight:32}},"outlined"===F.variant&&{borderRadius:(Q.vars||Q).shape.borderRadius,"&:focus":{borderRadius:(Q.vars||Q).shape.borderRadius},"&&&":{paddingRight:32}})},z=(0,T.Ay)("select",{name:"MuiNativeSelect",slot:"Select",shouldForwardProp:e.A,overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[F.select,F[Q.variant],Q.error&&F.error,{[`&.${X.multiple}`]:F.multiple}]}})(y),O=U=>{let{ownerState:F,theme:Q}=U;return(0,B.A)({position:"absolute",right:0,top:"calc(50% - .5em)",pointerEvents:"none",color:(Q.vars||Q).palette.action.active,[`&.${X.disabled}`]:{color:(Q.vars||Q).palette.action.disabled}},F.open&&{transform:"rotate(180deg)"},"filled"===F.variant&&{right:7},"outlined"===F.variant&&{right:7})},L=(0,T.Ay)("svg",{name:"MuiNativeSelect",slot:"Icon",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[F.icon,Q.variant&&F[`icon${(0,S.A)(Q.variant)}`],Q.open&&F.iconOpen]}})(O),H=V.forwardRef(function(U,F){const{className:Q,disabled:l,error:d,IconComponent:J,inputRef:Z,variant:W="standard"}=U,E=(0,R.A)(U,Y),k=(0,B.A)({},U,{disabled:l,variant:W,error:d}),t=(U=>{const{classes:F,variant:Q,disabled:B,multiple:R,open:V,error:n}=U,l={select:["select",Q,B&&"disabled",R&&"multiple",n&&"error"],icon:["icon",`icon${(0,S.A)(Q)}`,V&&"iconOpen",B&&"disabled"]};return(0,N.A)(l,s,F)})(k);return(0,h.jsxs)(V.Fragment,{children:[(0,h.jsx)(z,(0,B.A)({ownerState:k,className:(0,n.A)(t.select,Q),disabled:l,ref:Z||F},E)),U.multiple?null:(0,h.jsx)(L,{as:J,ownerState:k,className:t.icon})]})});var x=Q(83652),u=Q(66607),w=Q(90245),j=Q(2280);function I(U){return(0,o.Ay)("MuiSelect",U)}const K=(0,D.A)("MuiSelect",["root","select","multiple","filled","outlined","standard","disabled","focused","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]);var f;const g=["aria-describedby","aria-label","autoFocus","autoWidth","children","className","defaultOpen","defaultValue","disabled","displayEmpty","error","IconComponent","inputRef","labelId","MenuProps","multiple","name","onBlur","onChange","onClose","onFocus","onOpen","open","readOnly","renderValue","SelectDisplayProps","tabIndex","type","value","variant"],P=(0,T.Ay)("div",{name:"MuiSelect",slot:"Select",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[{[`&.${K.select}`]:F.select},{[`&.${K.select}`]:F[Q.variant]},{[`&.${K.error}`]:F.error},{[`&.${K.multiple}`]:F.multiple}]}})(y,{[`&.${K.select}`]:{height:"auto",minHeight:"1.4375em",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"}}),A=(0,T.Ay)("svg",{name:"MuiSelect",slot:"Icon",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[F.icon,Q.variant&&F[`icon${(0,S.A)(Q.variant)}`],Q.open&&F.iconOpen]}})(O),q=(0,T.Ay)("input",{shouldForwardProp:U=>(0,u.A)(U)&&"classes"!==U,name:"MuiSelect",slot:"NativeInput",overridesResolver:(U,F)=>F.nativeInput})({bottom:0,left:0,position:"absolute",opacity:0,pointerEvents:"none",width:"100%",boxSizing:"border-box"});function _(U,F){return"object"===typeof F&&null!==F?U===F:String(U)===String(F)}function $(U){return null==U||"string"===typeof U&&!U.trim()}const UU=V.forwardRef(function(U,F){var Q;const{"aria-describedby":l,"aria-label":d,autoFocus:E,autoWidth:k,children:t,className:a,defaultOpen:T,defaultValue:e,disabled:C,displayEmpty:D,error:o=!1,IconComponent:p,inputRef:c,labelId:r,MenuProps:m={},multiple:M,name:i,onBlur:b,onChange:v,onClose:s,onFocus:X,onOpen:Y,open:y,readOnly:z,renderValue:O,SelectDisplayProps:L={},tabIndex:H,value:u,variant:K="standard"}=U,UU=(0,R.A)(U,g),[FU,QU]=(0,j.A)({controlled:u,default:e,name:"Select"}),[BU,RU]=(0,j.A)({controlled:y,default:T,name:"Select"}),VU=V.useRef(null),nU=V.useRef(null),[lU,dU]=V.useState(null),{current:JU}=V.useRef(null!=y),[NU,ZU]=V.useState(),WU=(0,w.A)(F,c),SU=V.useCallback(U=>{nU.current=U,U&&dU(U)},[]),EU=null==lU?void 0:lU.parentNode;V.useImperativeHandle(WU,()=>({focus:()=>{nU.current.focus()},node:VU.current,value:FU}),[FU]),V.useEffect(()=>{T&&BU&&lU&&!JU&&(ZU(k?null:EU.clientWidth),nU.current.focus())},[lU,k]),V.useEffect(()=>{E&&nU.current.focus()},[E]),V.useEffect(()=>{if(!r)return;const U=(0,W.A)(nU.current).getElementById(r);if(U){const F=()=>{getSelection().isCollapsed&&nU.current.focus()};return U.addEventListener("click",F),()=>{U.removeEventListener("click",F)}}},[r]);const kU=(U,F)=>{U?Y&&Y(F):s&&s(F),JU||(ZU(k?null:EU.clientWidth),RU(U))},tU=V.Children.toArray(t),aU=U=>F=>{let Q;if(F.currentTarget.hasAttribute("tabindex")){if(M){Q=Array.isArray(FU)?FU.slice():[];const F=FU.indexOf(U.props.value);-1===F?Q.push(U.props.value):Q.splice(F,1)}else Q=U.props.value;if(U.props.onClick&&U.props.onClick(F),FU!==Q&&(QU(Q),v)){const B=F.nativeEvent||F,R=new B.constructor(B.type,B);Object.defineProperty(R,"target",{writable:!0,value:{value:Q,name:i}}),v(R,U)}M||kU(!1,F)}},TU=null!==lU&&BU;let eU,CU;delete UU["aria-invalid"];const DU=[];let oU=!1,pU=!1;((0,x.lq)({value:FU})||D)&&(O?eU=O(FU):oU=!0);const hU=tU.map(U=>{if(!V.isValidElement(U))return null;let F;if(M){if(!Array.isArray(FU))throw new Error((0,J.A)(2));F=FU.some(F=>_(F,U.props.value)),F&&oU&&DU.push(U.props.children)}else F=_(FU,U.props.value),F&&oU&&(CU=U.props.children);return F&&(pU=!0),V.cloneElement(U,{"aria-selected":F?"true":"false",onClick:aU(U),onKeyUp:F=>{" "===F.key&&F.preventDefault(),U.props.onKeyUp&&U.props.onKeyUp(F)},role:"option",selected:F,value:void 0,"data-value":U.props.value})});oU&&(eU=M?0===DU.length?null:DU.reduce((U,F,Q)=>(U.push(F),Q{const{classes:F,variant:Q,disabled:B,multiple:R,open:V,error:n}=U,l={select:["select",Q,B&&"disabled",R&&"multiple",n&&"error"],icon:["icon",`icon${(0,S.A)(Q)}`,V&&"iconOpen",B&&"disabled"],nativeInput:["nativeInput"]};return(0,N.A)(l,I,F)})(MU),bU=(0,B.A)({},m.PaperProps,null==(Q=m.slotProps)?void 0:Q.paper),vU=(0,Z.A)();return(0,h.jsxs)(V.Fragment,{children:[(0,h.jsx)(P,(0,B.A)({ref:SU,tabIndex:cU,role:"combobox","aria-controls":vU,"aria-disabled":C?"true":void 0,"aria-expanded":TU?"true":"false","aria-haspopup":"listbox","aria-label":d,"aria-labelledby":[r,mU].filter(Boolean).join(" ")||void 0,"aria-describedby":l,onKeyDown:U=>{if(!z){-1!==[" ","ArrowUp","ArrowDown","Enter"].indexOf(U.key)&&(U.preventDefault(),kU(!0,U))}},onMouseDown:C||z?null:U=>{0===U.button&&(U.preventDefault(),nU.current.focus(),kU(!0,U))},onBlur:U=>{!TU&&b&&(Object.defineProperty(U,"target",{writable:!0,value:{value:FU,name:i}}),b(U))},onFocus:X},L,{ownerState:MU,className:(0,n.A)(L.className,iU.select,a),id:mU,children:$(eU)?f||(f=(0,h.jsx)("span",{className:"notranslate",children:"\u200b"})):eU})),(0,h.jsx)(q,(0,B.A)({"aria-invalid":o,value:Array.isArray(FU)?FU.join(","):FU,name:i,ref:VU,"aria-hidden":!0,onChange:U=>{const F=tU.find(F=>F.props.value===U.target.value);void 0!==F&&(QU(F.props.value),v&&v(U,F))},tabIndex:-1,disabled:C,className:iU.nativeInput,autoFocus:E,ownerState:MU},UU)),(0,h.jsx)(A,{as:p,className:iU.icon,ownerState:MU}),(0,h.jsx)(G,(0,B.A)({id:`menu-${i||""}`,anchorEl:EU,open:TU,onClose:U=>{kU(!1,U)},anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"}},m,{MenuListProps:(0,B.A)({"aria-labelledby":r,role:"listbox","aria-multiselectable":M?"true":void 0,disableListWrap:!0,id:vU},m.MenuListProps),slotProps:(0,B.A)({},m.slotProps,{paper:(0,B.A)({},bU,{style:(0,B.A)({minWidth:rU},null!=bU?bU.style:null)})}),children:hU}))]})});var FU=Q(62423),QU=Q(55425),BU=Q(68203),RU=Q(20300),VU=Q(91816),nU=Q(19504);const lU=["autoWidth","children","classes","className","defaultOpen","displayEmpty","IconComponent","id","input","inputProps","label","labelId","MenuProps","multiple","native","onClose","onOpen","open","renderValue","SelectDisplayProps","variant"],dU=["root"],JU={name:"MuiSelect",overridesResolver:(U,F)=>F.root,shouldForwardProp:U=>(0,e.A)(U)&&"variant"!==U,slot:"Root"},NU=(0,T.Ay)(RU.A,JU)(""),ZU=(0,T.Ay)(nU.A,JU)(""),WU=(0,T.Ay)(VU.A,JU)(""),SU=V.forwardRef(function(U,F){const Q=(0,C.b)({name:"MuiSelect",props:U}),{autoWidth:J=!1,children:N,classes:Z={},className:W,defaultOpen:S=!1,displayEmpty:E=!1,IconComponent:k=BU.A,id:t,input:a,inputProps:T,label:e,labelId:D,MenuProps:o,multiple:p=!1,native:c=!1,onClose:r,onOpen:m,open:M,renderValue:i,SelectDisplayProps:b,variant:v="outlined"}=Q,G=(0,R.A)(Q,lU),s=c?H:UU,X=(0,QU.A)(),Y=(0,FU.A)({props:Q,muiFormControl:X,states:["variant","error"]}),y=Y.variant||v,z=(0,B.A)({},Q,{variant:y,classes:Z}),O=(U=>{const{classes:F}=U;return F})(z),L=(0,R.A)(O,dU),x=a||{standard:(0,h.jsx)(NU,{ownerState:z}),outlined:(0,h.jsx)(ZU,{label:e,ownerState:z}),filled:(0,h.jsx)(WU,{ownerState:z})}[y],u=(0,w.A)(F,(0,d.A)(x));return(0,h.jsx)(V.Fragment,{children:V.cloneElement(x,(0,B.A)({inputComponent:s,inputProps:(0,B.A)({children:N,error:Y.error,IconComponent:k,variant:y,type:void 0,multiple:p},c?{id:t}:{autoWidth:J,defaultOpen:S,displayEmpty:E,labelId:D,MenuProps:o,onClose:r,onOpen:m,open:M,renderValue:i,SelectDisplayProps:(0,B.A)({id:t},b)},T,{classes:T?(0,l.A)(L,T.classes):L},a?a.props.inputProps:{})},(p&&c||E)&&"outlined"===y?{notched:!0}:{},{ref:u,className:(0,n.A)(x.props.className,W,O.root)},!a&&{variant:y},G))})});SU.muiName="Select";const EU=SU},85137:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>a});var B=Q(49257),R=Q(68102),V=Q(60471),n=Q(15714),l=Q(93350),d=Q(34315),J=Q(43946),N=Q(39278),Z=Q(16840),W=Q(85656);function S(U){return(0,W.Ay)("MuiBackdrop",U)}(0,Z.A)("MuiBackdrop",["root","invisible"]);var E=Q(23759);const k=["children","className","component","components","componentsProps","invisible","open","slotProps","slots","TransitionComponent","transitionDuration"],t=(0,d.Ay)("div",{name:"MuiBackdrop",slot:"Root",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[F.root,Q.invisible&&F.invisible]}})(U=>{let{ownerState:F}=U;return(0,R.A)({position:"fixed",display:"flex",alignItems:"center",justifyContent:"center",right:0,bottom:0,top:0,left:0,backgroundColor:"rgba(0, 0, 0, 0.5)",WebkitTapHighlightColor:"transparent"},F.invisible&&{backgroundColor:"transparent"})}),a=V.forwardRef(function(U,F){var Q,V,d;const Z=(0,J.b)({props:U,name:"MuiBackdrop"}),{children:W,className:a,component:T="div",components:e={},componentsProps:C={},invisible:D=!1,open:o,slotProps:p={},slots:h={},TransitionComponent:c=N.A,transitionDuration:r}=Z,m=(0,B.A)(Z,k),M=(0,R.A)({},Z,{component:T,invisible:D}),i=(U=>{const{classes:F,invisible:Q}=U,B={root:["root",Q&&"invisible"]};return(0,l.A)(B,S,F)})(M),b=null!=(Q=p.root)?Q:C.root;return(0,E.jsx)(c,(0,R.A)({in:o,timeout:r},m,{children:(0,E.jsx)(t,(0,R.A)({"aria-hidden":!0},b,{as:null!=(V=null!=(d=h.root)?d:e.Root)?V:T,className:(0,n.A)(i.root,a,null==b?void 0:b.className),ownerState:(0,R.A)({},M,null==b?void 0:b.ownerState),classes:i,ref:F,children:W}))}))})},85154:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>R});var B=Q(67713);function R(U){return"string"===typeof U?new B.LN([[document.querySelector(U)]],[document.documentElement]):new B.LN([[U]],B.zr)}},85420:(U,F,Q)=>{"use strict";function B(U){var F,Q,R="";if("string"==typeof U||"number"==typeof U)R+=U;else if("object"==typeof U)if(Array.isArray(U))for(F=0;FR});const R=function(){for(var U,F,Q=0,R="";Q{"use strict";Q.d(F,{A:()=>V});var B=Q(60471),R=Q(13384);function V(){for(var U=arguments.length,F=new Array(U),Q=0;QF.every(U=>null==U)?null:U=>{F.forEach(F=>{(0,R.A)(F,U)})},F)}},85519:(U,F,Q)=>{"use strict";U.exports=Q(33784),Q(47211),Q(1360),Q(88050)},85656:(U,F,Q)=>{"use strict";Q.d(F,{Ay:()=>V});var B=Q(87518);const R={active:"active",checked:"checked",completed:"completed",disabled:"disabled",error:"error",expanded:"expanded",focused:"focused",focusVisible:"focusVisible",open:"open",readOnly:"readOnly",required:"required",selected:"selected"};function V(U,F){let Q=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Mui";const V=R[F];return V?`${Q}-${V}`:`${B.A.generate(U)}-${F}`}},85670:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>B});const B=function(U){let F=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(void 0===U)return{};const Q={};return Object.keys(U).filter(Q=>Q.match(/^on[A-Z]/)&&"function"===typeof U[Q]&&!F.includes(Q)).forEach(F=>{Q[F]=U[F]}),Q}},85707:(U,F,Q)=>{var B=Q(45498);U.exports=function(U,F,Q){return(F=B(F))in U?Object.defineProperty(U,F,{value:Q,enumerable:!0,configurable:!0,writable:!0}):U[F]=Q,U},U.exports.__esModule=!0,U.exports.default=U.exports},85810:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>V});var B=Q(68102),R=Q(3512);const V=function(U,F,Q){return void 0===U||(0,R.A)(U)?F:(0,B.A)({},F,{ownerState:(0,B.A)({},F.ownerState,Q)})}},86003:U=>{"use strict";U.exports=Math.max},86097:(U,F,Q)=>{"use strict";var B=Q(35938),R=Q(38848),V=Q(95528),n=Q(18018);U.exports=function(U,F,Q){for(var l=R(F),d=n.f,J=V.f,N=0;N{"use strict";var B=Q(39550),R=Q(7705),V=R([B("%String.prototype.indexOf%")]);U.exports=function(U,F){var Q=B(U,!!F);return"function"===typeof Q&&V(U,".prototype.")>-1?R([Q]):Q}},86625:(U,F,Q)=>{U.exports=Q(96717)()},86795:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>B});const B=Q(30874).A},87042:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>B});const B=Q(60471).createContext(null)},87112:(U,F,Q)=>{"use strict";var B=Q(58349),R=Q(18018),V=Q(92227);U.exports=B?function(U,F,Q){return R.f(U,F,V(1,Q))}:function(U,F,Q){return U[F]=Q,U}},87246:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>m});var B=Q(68102),R=Q(49257),V=Q(60471),n=Q(60487),l=Q(15714),d=Q(93350),J=Q(34315),N=Q(43946),Z=Q(60479),W=Q(16840),S=Q(85656);function E(U){return(0,S.Ay)("MuiList",U)}(0,W.A)("MuiList",["root","padding","dense","subheader"]);var k=Q(23759);const t=["children","className","component","dense","disablePadding","subheader"],a=(0,J.Ay)("ul",{name:"MuiList",slot:"Root",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[F.root,!Q.disablePadding&&F.padding,Q.dense&&F.dense,Q.subheader&&F.subheader]}})(U=>{let{ownerState:F}=U;return(0,B.A)({listStyle:"none",margin:0,padding:0,position:"relative"},!F.disablePadding&&{paddingTop:8,paddingBottom:8},F.subheader&&{paddingTop:0})}),T=V.forwardRef(function(U,F){const Q=(0,N.b)({props:U,name:"MuiList"}),{children:n,className:J,component:W="ul",dense:S=!1,disablePadding:T=!1,subheader:e}=Q,C=(0,R.A)(Q,t),D=V.useMemo(()=>({dense:S}),[S]),o=(0,B.A)({},Q,{component:W,dense:S,disablePadding:T}),p=(U=>{const{classes:F,disablePadding:Q,dense:B,subheader:R}=U,V={root:["root",!Q&&"padding",B&&"dense",R&&"subheader"]};return(0,d.A)(V,E,F)})(o);return(0,k.jsx)(Z.A.Provider,{value:D,children:(0,k.jsxs)(a,(0,B.A)({as:W,className:(0,l.A)(p.root,J),ref:F,ownerState:o},C,{children:[e,n]}))})});const e=Q(24968).A;var C=Q(90245),D=Q(6057);const o=["actions","autoFocus","autoFocusItem","children","className","disabledItemsFocusable","disableListWrap","onKeyDown","variant"];function p(U,F,Q){return U===F?U.firstChild:F&&F.nextElementSibling?F.nextElementSibling:Q?null:U.firstChild}function h(U,F,Q){return U===F?Q?U.firstChild:U.lastChild:F&&F.previousElementSibling?F.previousElementSibling:Q?null:U.lastChild}function c(U,F){if(void 0===F)return!0;let Q=U.innerText;return void 0===Q&&(Q=U.textContent),Q=Q.trim().toLowerCase(),0!==Q.length&&(F.repeating?Q[0]===F.keys[0]:0===Q.indexOf(F.keys.join("")))}function r(U,F,Q,B,R,V){let n=!1,l=R(U,F,!!F&&Q);for(;l;){if(l===U.firstChild){if(n)return!1;n=!0}const F=!B&&(l.disabled||"true"===l.getAttribute("aria-disabled"));if(l.hasAttribute("tabindex")&&c(l,V)&&!F)return l.focus(),!0;l=R(U,l,Q)}return!1}const m=V.forwardRef(function(U,F){const{actions:Q,autoFocus:l=!1,autoFocusItem:d=!1,children:J,className:N,disabledItemsFocusable:Z=!1,disableListWrap:W=!1,onKeyDown:S,variant:E="selectedMenu"}=U,t=(0,R.A)(U,o),a=V.useRef(null),m=V.useRef({keys:[],repeating:!0,previousKeyMatched:!0,lastTime:null});(0,D.A)(()=>{l&&a.current.focus()},[l]),V.useImperativeHandle(Q,()=>({adjustStyleForScrollbar:(U,F)=>{let{direction:Q}=F;const B=!a.current.style.width;if(U.clientHeight{V.isValidElement(U)?(U.props.disabled||("selectedMenu"===E&&U.props.selected||-1===i)&&(i=F),i===F&&(U.props.disabled||U.props.muiSkipListHighlight||U.type.muiSkipListHighlight)&&(i+=1,i>=J.length&&(i=-1))):i===F&&(i+=1,i>=J.length&&(i=-1))});const b=V.Children.map(J,(U,F)=>{if(F===i){const F={};return d&&(F.autoFocus=!0),void 0===U.props.tabIndex&&"selectedMenu"===E&&(F.tabIndex=0),V.cloneElement(U,F)}return U});return(0,k.jsx)(T,(0,B.A)({role:"menu",ref:M,className:N,onKeyDown:U=>{const F=a.current,Q=U.key,B=(0,n.A)(F).activeElement;if("ArrowDown"===Q)U.preventDefault(),r(F,B,W,Z,p);else if("ArrowUp"===Q)U.preventDefault(),r(F,B,W,Z,h);else if("Home"===Q)U.preventDefault(),r(F,null,W,Z,p);else if("End"===Q)U.preventDefault(),r(F,null,W,Z,h);else if(1===Q.length){const R=m.current,V=Q.toLowerCase(),n=performance.now();R.keys.length>0&&(n-R.lastTime>500?(R.keys=[],R.repeating=!0,R.previousKeyMatched=!0):R.repeating&&V!==R.keys[0]&&(R.repeating=!1)),R.lastTime=n,R.keys.push(V);const l=B&&!R.repeating&&c(B,R);R.previousKeyMatched&&(l||r(F,B,!1,Z,p,R))?U.preventDefault():R.previousKeyMatched=!1}S&&S(U)},tabIndex:l?0:-1},t,{children:b}))})},87368:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>B});const B=function(U){let F=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MIN_SAFE_INTEGER,Q=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Number.MAX_SAFE_INTEGER;return Math.max(F,Math.min(U,Q))}},87445:(U,F,Q)=>{"use strict";Q(81452)("patternMatch")},87518:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>R});const B=U=>U,R=(()=>{let U=B;return{configure(F){U=F},generate:F=>U(F),reset(){U=B}}})()},88050:(U,F,Q)=>{"use strict";var B=Q(33784),R=Q(29546);U.exports=B,B.denodeify=function(U,F){return F=F||1/0,function(){var Q=this,R=Array.prototype.slice.call(arguments);return new B(function(B,V){for(;R.length&&R.length>F;)R.pop();R.push(function(U,F){U?V(U):B(F)});var n=U.apply(Q,R);!n||"object"!==typeof n&&"function"!==typeof n||"function"!==typeof n.then||B(n)})}},B.nodeify=function(U){return function(){var F=Array.prototype.slice.call(arguments),Q="function"===typeof F[F.length-1]?F.pop():null,V=this;try{return U.apply(this,arguments).nodeify(Q,V)}catch(n){if(null===Q||"undefined"==typeof Q)return new B(function(U,F){F(n)});R(function(){Q.call(V,n)})}}},B.prototype.nodeify=function(U,F){if("function"!=typeof U)return this;this.then(function(Q){R(function(){U.call(F,null,Q)})},function(Q){R(function(){U.call(F,Q)})})}},88240:(U,F,Q)=>{"use strict";var B=Q(44176);U.exports=B},88368:(U,F,Q)=>{"use strict";Q.d(F,{x:()=>N});var B=Q(60471),R=Q(85514),V=Q(30874),n=Q(44392),l=Q(34386),d=Q(23759);function J(U){return U.substring(2).toLowerCase()}function N(U){const{children:F,disableReactTree:Q=!1,mouseEvent:N="onClick",onClickAway:Z,touchEvent:W="onTouchEnd"}=U,S=B.useRef(!1),E=B.useRef(null),k=B.useRef(!1),t=B.useRef(!1);B.useEffect(()=>(setTimeout(()=>{k.current=!0},0),()=>{k.current=!1}),[]);const a=(0,R.A)((0,l.A)(F),E),T=(0,V.A)(U=>{const F=t.current;t.current=!1;const B=(0,n.A)(E.current);if(!k.current||!E.current||"clientX"in U&&function(U,F){return F.documentElement.clientWidth-1:!B.documentElement.contains(U.target)||E.current.contains(U.target),R||!Q&&F||Z(U)}),e=U=>Q=>{t.current=!0;const B=F.props[U];B&&B(Q)},C={ref:a};return!1!==W&&(C[W]=e(W)),B.useEffect(()=>{if(!1!==W){const U=J(W),F=(0,n.A)(E.current),Q=()=>{S.current=!0};return F.addEventListener(U,T),F.addEventListener("touchmove",Q),()=>{F.removeEventListener(U,T),F.removeEventListener("touchmove",Q)}}},[T,W]),!1!==N&&(C[N]=e(N)),B.useEffect(()=>{if(!1!==N){const U=J(N),F=(0,n.A)(E.current);return F.addEventListener(U,T),()=>{F.removeEventListener(U,T)}}},[T,N]),(0,d.jsx)(B.Fragment,{children:B.cloneElement(F,C)})}},88385:(U,F,Q)=>{"use strict";var B=Q(69743)(),R=Q(70208)("Object.prototype.toString"),V=function(U){return!(B&&U&&"object"===typeof U&&Symbol.toStringTag in U)&&"[object Arguments]"===R(U)},n=function(U){return!!V(U)||null!==U&&"object"===typeof U&&"number"===typeof U.length&&U.length>=0&&"[object Array]"!==R(U)&&"[object Function]"===R(U.callee)},l=function(){return V(arguments)}();V.isLegacyArguments=n,U.exports=l?V:n},88468:(U,F,Q)=>{"use strict";var B=Q(41404);U.exports=function(U){return B(U)||0===U?U:U<0?-1:1}},88699:(U,F,Q)=>{"use strict";var B=Q(16280),R=Math.min;U.exports=function(U){var F=B(U);return F>0?R(F,9007199254740991):0}},88818:(U,F,Q)=>{"use strict";!function U(){if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(U)}catch(F){console.error(F)}}(),U.exports=Q(244)},89139:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>B});const B="$$material"},89263:(U,F,Q)=>{"use strict";var B=Q(95362);U.exports=!B(function(){var U=function(){}.bind();return"function"!=typeof U||U.hasOwnProperty("prototype")})},89344:(U,F,Q)=>{"use strict";function B(U){let F,Q=arguments.length>1&&void 0!==arguments[1]?arguments[1]:166;function B(){for(var B=arguments.length,R=new Array(B),V=0;V{U.apply(this,R)},Q)}return B.clear=()=>{clearTimeout(F)},B}Q.d(F,{A:()=>B})},89548:(U,F,Q)=>{"use strict";var B=Q(69594),R=Q(9326),V=Q(7705),n=Q(17770);U.exports=function(U){var F=V(arguments),Q=U.length-(arguments.length-1);return B(F,1+(Q>0?Q:0),!0)},R?R(U.exports,"apply",{value:n}):U.exports.apply=n},89571:(U,F)=>{"use strict";var Q="function"===typeof Symbol&&Symbol.for,B=Q?Symbol.for("react.element"):60103,R=Q?Symbol.for("react.portal"):60106,V=Q?Symbol.for("react.fragment"):60107,n=Q?Symbol.for("react.strict_mode"):60108,l=Q?Symbol.for("react.profiler"):60114,d=Q?Symbol.for("react.provider"):60109,J=Q?Symbol.for("react.context"):60110,N=Q?Symbol.for("react.async_mode"):60111,Z=Q?Symbol.for("react.concurrent_mode"):60111,W=Q?Symbol.for("react.forward_ref"):60112,S=Q?Symbol.for("react.suspense"):60113,E=Q?Symbol.for("react.suspense_list"):60120,k=Q?Symbol.for("react.memo"):60115,t=Q?Symbol.for("react.lazy"):60116,a=Q?Symbol.for("react.block"):60121,T=Q?Symbol.for("react.fundamental"):60117,e=Q?Symbol.for("react.responder"):60118,C=Q?Symbol.for("react.scope"):60119;function D(U){if("object"===typeof U&&null!==U){var F=U.$$typeof;switch(F){case B:switch(U=U.type){case N:case Z:case V:case l:case n:case S:return U;default:switch(U=U&&U.$$typeof){case J:case W:case t:case k:case d:return U;default:return F}}case R:return F}}}function o(U){return D(U)===Z}F.AsyncMode=N,F.ConcurrentMode=Z,F.ContextConsumer=J,F.ContextProvider=d,F.Element=B,F.ForwardRef=W,F.Fragment=V,F.Lazy=t,F.Memo=k,F.Portal=R,F.Profiler=l,F.StrictMode=n,F.Suspense=S,F.isAsyncMode=function(U){return o(U)||D(U)===N},F.isConcurrentMode=o,F.isContextConsumer=function(U){return D(U)===J},F.isContextProvider=function(U){return D(U)===d},F.isElement=function(U){return"object"===typeof U&&null!==U&&U.$$typeof===B},F.isForwardRef=function(U){return D(U)===W},F.isFragment=function(U){return D(U)===V},F.isLazy=function(U){return D(U)===t},F.isMemo=function(U){return D(U)===k},F.isPortal=function(U){return D(U)===R},F.isProfiler=function(U){return D(U)===l},F.isStrictMode=function(U){return D(U)===n},F.isSuspense=function(U){return D(U)===S},F.isValidElementType=function(U){return"string"===typeof U||"function"===typeof U||U===V||U===Z||U===l||U===n||U===S||U===E||"object"===typeof U&&null!==U&&(U.$$typeof===t||U.$$typeof===k||U.$$typeof===d||U.$$typeof===J||U.$$typeof===W||U.$$typeof===T||U.$$typeof===e||U.$$typeof===C||U.$$typeof===a)},F.typeOf=D},89736:U=>{function F(Q,B,R,V){var n=Object.defineProperty;try{n({},"",{})}catch(Q){n=0}U.exports=F=function(U,Q,B,R){function V(Q,B){F(U,Q,function(U){return this._invoke(Q,B,U)})}Q?n?n(U,Q,{value:B,enumerable:!R,configurable:!R,writable:!R}):U[Q]=B:(V("next",0),V("throw",1),V("return",2))},U.exports.__esModule=!0,U.exports.default=U.exports,F(Q,B,R,V)}U.exports=F,U.exports.__esModule=!0,U.exports.default=U.exports},89986:(U,F,Q)=>{"use strict";var B=Q(68695),R="undefined"===typeof globalThis?Q.g:globalThis;U.exports=function(){for(var U=[],F=0;F{"use strict";var B=Q(32594),R=Q(18018);U.exports=function(U,F,Q){return Q.get&&B(Q.get,F,{getter:!0}),Q.set&&B(Q.set,F,{setter:!0}),R.f(U,F,Q)}},90139:(U,F,Q)=>{"use strict";var B=Q(79569),R=Q(42433);U.exports=function(U){if("Function"===B(U))return R(U)}},90245:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>B});const B=Q(85514).A},91087:U=>{"use strict";U.exports=Object},91508:(U,F,Q)=>{"use strict";var B=Q(44176),R=Q(2428);U.exports=function(U,F){return arguments.length<2?(Q=B[U],R(Q)?Q:void 0):B[U]&&B[U][F];var Q}},91576:(U,F,Q)=>{"use strict";function B(U,F){return B=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(U,F){return U.__proto__=F,U},B(U,F)}Q.d(F,{A:()=>B})},91816:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>T});var B=Q(49257),R=Q(68102),V=Q(60471),n=Q(26904),l=Q(93350),d=Q(15925),J=Q(34315),N=Q(35423),Z=Q(43946),W=Q(26906),S=Q(23759);const E=["disableUnderline","components","componentsProps","fullWidth","hiddenLabel","inputComponent","multiline","slotProps","slots","type"],k=(0,J.Ay)(d.Sh,{shouldForwardProp:U=>(0,N.A)(U)||"classes"===U,name:"MuiFilledInput",slot:"Root",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[...(0,d.WC)(U,F),!Q.disableUnderline&&F.underline]}})(U=>{let{theme:F,ownerState:Q}=U;var B;const V="light"===F.palette.mode,n=V?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)",l=V?"rgba(0, 0, 0, 0.06)":"rgba(255, 255, 255, 0.09)",d=V?"rgba(0, 0, 0, 0.09)":"rgba(255, 255, 255, 0.13)",J=V?"rgba(0, 0, 0, 0.12)":"rgba(255, 255, 255, 0.12)";return(0,R.A)({position:"relative",backgroundColor:F.vars?F.vars.palette.FilledInput.bg:l,borderTopLeftRadius:(F.vars||F).shape.borderRadius,borderTopRightRadius:(F.vars||F).shape.borderRadius,transition:F.transitions.create("background-color",{duration:F.transitions.duration.shorter,easing:F.transitions.easing.easeOut}),"&:hover":{backgroundColor:F.vars?F.vars.palette.FilledInput.hoverBg:d,"@media (hover: none)":{backgroundColor:F.vars?F.vars.palette.FilledInput.bg:l}},[`&.${W.A.focused}`]:{backgroundColor:F.vars?F.vars.palette.FilledInput.bg:l},[`&.${W.A.disabled}`]:{backgroundColor:F.vars?F.vars.palette.FilledInput.disabledBg:J}},!Q.disableUnderline&&{"&::after":{borderBottom:`2px solid ${null==(B=(F.vars||F).palette[Q.color||"primary"])?void 0:B.main}`,left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:F.transitions.create("transform",{duration:F.transitions.duration.shorter,easing:F.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${W.A.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${W.A.error}`]:{"&::before, &::after":{borderBottomColor:(F.vars||F).palette.error.main}},"&::before":{borderBottom:`1px solid ${F.vars?`rgba(${F.vars.palette.common.onBackgroundChannel} / ${F.vars.opacity.inputUnderline})`:n}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:F.transitions.create("border-bottom-color",{duration:F.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${W.A.disabled}, .${W.A.error}):before`]:{borderBottom:`1px solid ${(F.vars||F).palette.text.primary}`},[`&.${W.A.disabled}:before`]:{borderBottomStyle:"dotted"}},Q.startAdornment&&{paddingLeft:12},Q.endAdornment&&{paddingRight:12},Q.multiline&&(0,R.A)({padding:"25px 12px 8px"},"small"===Q.size&&{paddingTop:21,paddingBottom:4},Q.hiddenLabel&&{paddingTop:16,paddingBottom:17},Q.hiddenLabel&&"small"===Q.size&&{paddingTop:8,paddingBottom:9}))}),t=(0,J.Ay)(d.f3,{name:"MuiFilledInput",slot:"Input",overridesResolver:d.Oj})(U=>{let{theme:F,ownerState:Q}=U;return(0,R.A)({paddingTop:25,paddingRight:12,paddingBottom:8,paddingLeft:12},!F.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:"light"===F.palette.mode?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:"light"===F.palette.mode?null:"#fff",caretColor:"light"===F.palette.mode?null:"#fff",borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"}},F.vars&&{"&:-webkit-autofill":{borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"},[F.getColorSchemeSelector("dark")]:{"&:-webkit-autofill":{WebkitBoxShadow:"0 0 0 100px #266798 inset",WebkitTextFillColor:"#fff",caretColor:"#fff"}}},"small"===Q.size&&{paddingTop:21,paddingBottom:4},Q.hiddenLabel&&{paddingTop:16,paddingBottom:17},Q.startAdornment&&{paddingLeft:0},Q.endAdornment&&{paddingRight:0},Q.hiddenLabel&&"small"===Q.size&&{paddingTop:8,paddingBottom:9},Q.multiline&&{paddingTop:0,paddingBottom:0,paddingLeft:0,paddingRight:0})}),a=V.forwardRef(function(U,F){var Q,V,J,N;const a=(0,Z.b)({props:U,name:"MuiFilledInput"}),{components:T={},componentsProps:e,fullWidth:C=!1,inputComponent:D="input",multiline:o=!1,slotProps:p,slots:h={},type:c="text"}=a,r=(0,B.A)(a,E),m=(0,R.A)({},a,{fullWidth:C,inputComponent:D,multiline:o,type:c}),M=(U=>{const{classes:F,disableUnderline:Q}=U,B={root:["root",!Q&&"underline"],input:["input"]},V=(0,l.A)(B,W.N,F);return(0,R.A)({},F,V)})(a),i={root:{ownerState:m},input:{ownerState:m}},b=(null!=p?p:e)?(0,n.A)(i,null!=p?p:e):i,v=null!=(Q=null!=(V=h.root)?V:T.Root)?Q:k,G=null!=(J=null!=(N=h.input)?N:T.Input)?J:t;return(0,S.jsx)(d.Ay,(0,R.A)({slots:{root:v,input:G},componentsProps:b,fullWidth:C,inputComponent:D,multiline:o,ref:F,type:c},r,{classes:M}))});a.muiName="Input";const T=a},92071:(U,F,Q)=>{"use strict";function B(){}function R(U){return null==U?B:function(){return this.querySelector(U)}}Q.d(F,{A:()=>R})},92091:(U,F,Q)=>{"use strict";var B=Q(32651),R=Object.prototype.toString,V=Object.prototype.hasOwnProperty;U.exports=function(U,F,Q){if(!B(F))throw new TypeError("iterator must be a function");var n;arguments.length>=3&&(n=Q),function(U){return"[object Array]"===R.call(U)}(U)?function(U,F,Q){for(var B=0,R=U.length;B{"use strict";function B(U,F){if(!(U instanceof F))throw new TypeError("Cannot call a class as a function")}Q.d(F,{A:()=>B})},92162:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>R});var B=Q(40694);function R(U){var F=function(U,F){if("object"!=(0,B.A)(U)||!U)return U;var Q=U[Symbol.toPrimitive];if(void 0!==Q){var R=Q.call(U,F||"default");if("object"!=(0,B.A)(R))return R;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===F?String:Number)(U)}(U,"string");return"symbol"==(0,B.A)(F)?F:F+""}},92227:U=>{"use strict";U.exports=function(U,F){return{enumerable:!(1&U),configurable:!(2&U),writable:!(4&U),value:F}}},92231:(U,F,Q)=>{"use strict";Q(60622),Q(3118),Q(87445),"undefined"===typeof Promise&&(Q(64377).enable(),self.Promise=Q(58801)),"undefined"!==typeof window&&Q(47397),Object.assign=Q(4271)},93350:(U,F,Q)=>{"use strict";function B(U,F){let Q=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;const B={};return Object.keys(U).forEach(R=>{B[R]=U[R].reduce((U,B)=>{if(B){const R=F(B);""!==R&&U.push(R),Q&&Q[B]&&U.push(Q[B])}return U},[]).join(" ")}),B}Q.d(F,{A:()=>B})},93623:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>B});const B=Q(45138).A},93790:(U,F,Q)=>{"use strict";Q.r(F),Q.d(F,{default:()=>d,getFunctionName:()=>V});var B=Q(1035);const R=/^\s*function(?:\s|\s*\/\*.*\*\/\s*)+([^(\s/]*)\s*/;function V(U){const F=`${U}`.match(R);return F&&F[1]||""}function n(U){let F=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return U.displayName||U.name||V(U)||F}function l(U,F,Q){const B=n(F);return U.displayName||(""!==B?`${Q}(${B})`:Q)}function d(U){if(null!=U){if("string"===typeof U)return U;if("function"===typeof U)return n(U,"Component");if("object"===typeof U)switch(U.$$typeof){case B.vM:return l(U,U.render,"ForwardRef");case B.lD:return l(U,U.type,"memo");default:return}}}},93842:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>S});var B=Q(60471),R=Q(27960);let V=!0,n=!1;const l=new R.E,d={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function J(U){U.metaKey||U.altKey||U.ctrlKey||(V=!0)}function N(){V=!1}function Z(){"hidden"===this.visibilityState&&n&&(V=!0)}function W(U){const{target:F}=U;try{return F.matches(":focus-visible")}catch(Q){}return V||function(U){const{type:F,tagName:Q}=U;return!("INPUT"!==Q||!d[F]||U.readOnly)||"TEXTAREA"===Q&&!U.readOnly||!!U.isContentEditable}(F)}const S=function(){const U=B.useCallback(U=>{var F;null!=U&&((F=U.ownerDocument).addEventListener("keydown",J,!0),F.addEventListener("mousedown",N,!0),F.addEventListener("pointerdown",N,!0),F.addEventListener("touchstart",N,!0),F.addEventListener("visibilitychange",Z,!0))},[]),F=B.useRef(!1);return{isFocusVisibleRef:F,onFocus:function(U){return!!W(U)&&(F.current=!0,!0)},onBlur:function(){return!!F.current&&(n=!0,l.start(100,()=>{n=!1}),F.current=!1,!0)},ref:U}}},93895:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>c});var B=Q(49257),R=Q(68102),V=Q(60471),n=Q(15714),l=Q(29675),d=Q(27960),J=Q(93350),N=Q(34315),Z=Q(43946),W=Q(17002),S=Q(77977),E=Q(41732),k=Q(90245),t=Q(16840),a=Q(85656);function T(U){return(0,a.Ay)("MuiCollapse",U)}(0,t.A)("MuiCollapse",["root","horizontal","vertical","entered","hidden","wrapper","wrapperInner"]);var e=Q(23759);const C=["addEndListener","children","className","collapsedSize","component","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","orientation","style","timeout","TransitionComponent"],D=(0,N.Ay)("div",{name:"MuiCollapse",slot:"Root",overridesResolver:(U,F)=>{const{ownerState:Q}=U;return[F.root,F[Q.orientation],"entered"===Q.state&&F.entered,"exited"===Q.state&&!Q.in&&"0px"===Q.collapsedSize&&F.hidden]}})(U=>{let{theme:F,ownerState:Q}=U;return(0,R.A)({height:0,overflow:"hidden",transition:F.transitions.create("height")},"horizontal"===Q.orientation&&{height:"auto",width:0,transition:F.transitions.create("width")},"entered"===Q.state&&(0,R.A)({height:"auto",overflow:"visible"},"horizontal"===Q.orientation&&{width:"auto"}),"exited"===Q.state&&!Q.in&&"0px"===Q.collapsedSize&&{visibility:"hidden"})}),o=(0,N.Ay)("div",{name:"MuiCollapse",slot:"Wrapper",overridesResolver:(U,F)=>F.wrapper})(U=>{let{ownerState:F}=U;return(0,R.A)({display:"flex",width:"100%"},"horizontal"===F.orientation&&{width:"auto",height:"100%"})}),p=(0,N.Ay)("div",{name:"MuiCollapse",slot:"WrapperInner",overridesResolver:(U,F)=>F.wrapperInner})(U=>{let{ownerState:F}=U;return(0,R.A)({width:"100%"},"horizontal"===F.orientation&&{width:"auto",height:"100%"})}),h=V.forwardRef(function(U,F){const Q=(0,Z.b)({props:U,name:"MuiCollapse"}),{addEndListener:N,children:t,className:a,collapsedSize:h="0px",component:c,easing:r,in:m,onEnter:M,onEntered:i,onEntering:b,onExit:v,onExited:G,onExiting:s,orientation:X="vertical",style:Y,timeout:y=W.p0.standard,TransitionComponent:z=l.Ay}=Q,O=(0,B.A)(Q,C),L=(0,R.A)({},Q,{orientation:X,collapsedSize:h}),H=(U=>{const{orientation:F,classes:Q}=U,B={root:["root",`${F}`],entered:["entered"],hidden:["hidden"],wrapper:["wrapper",`${F}`],wrapperInner:["wrapperInner",`${F}`]};return(0,J.A)(B,T,Q)})(L),x=(0,E.A)(),u=(0,d.A)(),w=V.useRef(null),j=V.useRef(),I="number"===typeof h?`${h}px`:h,K="horizontal"===X,f=K?"width":"height",g=V.useRef(null),P=(0,k.A)(F,g),A=U=>F=>{if(U){const Q=g.current;void 0===F?U(Q):U(Q,F)}},q=()=>w.current?w.current[K?"clientWidth":"clientHeight"]:0,_=A((U,F)=>{w.current&&K&&(w.current.style.position="absolute"),U.style[f]=I,M&&M(U,F)}),$=A((U,F)=>{const Q=q();w.current&&K&&(w.current.style.position="");const{duration:B,easing:R}=(0,S.c)({style:Y,timeout:y,easing:r},{mode:"enter"});if("auto"===y){const F=x.transitions.getAutoHeightDuration(Q);U.style.transitionDuration=`${F}ms`,j.current=F}else U.style.transitionDuration="string"===typeof B?B:`${B}ms`;U.style[f]=`${Q}px`,U.style.transitionTimingFunction=R,b&&b(U,F)}),UU=A((U,F)=>{U.style[f]="auto",i&&i(U,F)}),FU=A(U=>{U.style[f]=`${q()}px`,v&&v(U)}),QU=A(G),BU=A(U=>{const F=q(),{duration:Q,easing:B}=(0,S.c)({style:Y,timeout:y,easing:r},{mode:"exit"});if("auto"===y){const Q=x.transitions.getAutoHeightDuration(F);U.style.transitionDuration=`${Q}ms`,j.current=Q}else U.style.transitionDuration="string"===typeof Q?Q:`${Q}ms`;U.style[f]=I,U.style.transitionTimingFunction=B,s&&s(U)});return(0,e.jsx)(z,(0,R.A)({in:m,onEnter:_,onEntered:UU,onEntering:$,onExit:FU,onExited:QU,onExiting:BU,addEndListener:U=>{"auto"===y&&u.start(j.current||0,U),N&&N(g.current,U)},nodeRef:g,timeout:"auto"===y?null:y},O,{children:(U,F)=>(0,e.jsx)(D,(0,R.A)({as:c,className:(0,n.A)(H.root,a,{entered:H.entered,exited:!m&&"0px"===I&&H.hidden}[U]),style:(0,R.A)({[K?"minWidth":"minHeight"]:I},Y),ref:P},F,{ownerState:(0,R.A)({},L,{state:U}),children:(0,e.jsx)(o,{ownerState:(0,R.A)({},L,{state:U}),className:H.wrapper,ref:w,children:(0,e.jsx)(p,{ownerState:(0,R.A)({},L,{state:U}),className:H.wrapperInner,children:t})})}))}))});h.muiSupportAuto=!0;const c=h},94044:function(U,F,Q){var B;U=Q.nmd(U),function(){var R,V="Expected a function",n="__lodash_hash_undefined__",l="__lodash_placeholder__",d=16,J=32,N=64,Z=128,W=256,S=1/0,E=9007199254740991,k=NaN,t=4294967295,a=[["ary",Z],["bind",1],["bindKey",2],["curry",8],["curryRight",d],["flip",512],["partial",J],["partialRight",N],["rearg",W]],T="[object Arguments]",e="[object Array]",C="[object Boolean]",D="[object Date]",o="[object Error]",p="[object Function]",h="[object GeneratorFunction]",c="[object Map]",r="[object Number]",m="[object Object]",M="[object Promise]",i="[object RegExp]",b="[object Set]",v="[object String]",G="[object Symbol]",s="[object WeakMap]",X="[object ArrayBuffer]",Y="[object DataView]",y="[object Float32Array]",z="[object Float64Array]",O="[object Int8Array]",L="[object Int16Array]",H="[object Int32Array]",x="[object Uint8Array]",u="[object Uint8ClampedArray]",w="[object Uint16Array]",j="[object Uint32Array]",I=/\b__p \+= '';/g,K=/\b(__p \+=) '' \+/g,f=/(__e\(.*?\)|\b__t\)) \+\n'';/g,g=/&(?:amp|lt|gt|quot|#39);/g,P=/[&<>"']/g,A=RegExp(g.source),q=RegExp(P.source),_=/<%-([\s\S]+?)%>/g,$=/<%([\s\S]+?)%>/g,UU=/<%=([\s\S]+?)%>/g,FU=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,QU=/^\w*$/,BU=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,RU=/[\\^$.*+?()[\]{}|]/g,VU=RegExp(RU.source),nU=/^\s+/,lU=/\s/,dU=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,JU=/\{\n\/\* \[wrapped with (.+)\] \*/,NU=/,? & /,ZU=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,WU=/[()=,{}\[\]\/\s]/,SU=/\\(\\)?/g,EU=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,kU=/\w*$/,tU=/^[-+]0x[0-9a-f]+$/i,aU=/^0b[01]+$/i,TU=/^\[object .+?Constructor\]$/,eU=/^0o[0-7]+$/i,CU=/^(?:0|[1-9]\d*)$/,DU=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,oU=/($^)/,pU=/['\n\r\u2028\u2029\\]/g,hU="\\ud800-\\udfff",cU="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",rU="\\u2700-\\u27bf",mU="a-z\\xdf-\\xf6\\xf8-\\xff",MU="A-Z\\xc0-\\xd6\\xd8-\\xde",iU="\\ufe0e\\ufe0f",bU="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",vU="['\u2019]",GU="["+hU+"]",sU="["+bU+"]",XU="["+cU+"]",YU="\\d+",yU="["+rU+"]",zU="["+mU+"]",OU="[^"+hU+bU+YU+rU+mU+MU+"]",LU="\\ud83c[\\udffb-\\udfff]",HU="[^"+hU+"]",xU="(?:\\ud83c[\\udde6-\\uddff]){2}",uU="[\\ud800-\\udbff][\\udc00-\\udfff]",wU="["+MU+"]",jU="\\u200d",IU="(?:"+zU+"|"+OU+")",KU="(?:"+wU+"|"+OU+")",fU="(?:['\u2019](?:d|ll|m|re|s|t|ve))?",gU="(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",PU="(?:"+XU+"|"+LU+")"+"?",AU="["+iU+"]?",qU=AU+PU+("(?:"+jU+"(?:"+[HU,xU,uU].join("|")+")"+AU+PU+")*"),_U="(?:"+[yU,xU,uU].join("|")+")"+qU,$U="(?:"+[HU+XU+"?",XU,xU,uU,GU].join("|")+")",UF=RegExp(vU,"g"),FF=RegExp(XU,"g"),QF=RegExp(LU+"(?="+LU+")|"+$U+qU,"g"),BF=RegExp([wU+"?"+zU+"+"+fU+"(?="+[sU,wU,"$"].join("|")+")",KU+"+"+gU+"(?="+[sU,wU+IU,"$"].join("|")+")",wU+"?"+IU+"+"+fU,wU+"+"+gU,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",YU,_U].join("|"),"g"),RF=RegExp("["+jU+hU+cU+iU+"]"),VF=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,nF=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],lF=-1,dF={};dF[y]=dF[z]=dF[O]=dF[L]=dF[H]=dF[x]=dF[u]=dF[w]=dF[j]=!0,dF[T]=dF[e]=dF[X]=dF[C]=dF[Y]=dF[D]=dF[o]=dF[p]=dF[c]=dF[r]=dF[m]=dF[i]=dF[b]=dF[v]=dF[s]=!1;var JF={};JF[T]=JF[e]=JF[X]=JF[Y]=JF[C]=JF[D]=JF[y]=JF[z]=JF[O]=JF[L]=JF[H]=JF[c]=JF[r]=JF[m]=JF[i]=JF[b]=JF[v]=JF[G]=JF[x]=JF[u]=JF[w]=JF[j]=!0,JF[o]=JF[p]=JF[s]=!1;var NF={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ZF=parseFloat,WF=parseInt,SF="object"==typeof Q.g&&Q.g&&Q.g.Object===Object&&Q.g,EF="object"==typeof self&&self&&self.Object===Object&&self,kF=SF||EF||Function("return this")(),tF=F&&!F.nodeType&&F,aF=tF&&U&&!U.nodeType&&U,TF=aF&&aF.exports===tF,eF=TF&&SF.process,CF=function(){try{var U=aF&&aF.require&&aF.require("util").types;return U||eF&&eF.binding&&eF.binding("util")}catch(F){}}(),DF=CF&&CF.isArrayBuffer,oF=CF&&CF.isDate,pF=CF&&CF.isMap,hF=CF&&CF.isRegExp,cF=CF&&CF.isSet,rF=CF&&CF.isTypedArray;function mF(U,F,Q){switch(Q.length){case 0:return U.call(F);case 1:return U.call(F,Q[0]);case 2:return U.call(F,Q[0],Q[1]);case 3:return U.call(F,Q[0],Q[1],Q[2])}return U.apply(F,Q)}function MF(U,F,Q,B){for(var R=-1,V=null==U?0:U.length;++R-1}function XF(U,F,Q){for(var B=-1,R=null==U?0:U.length;++B-1;);return Q}function BQ(U,F){for(var Q=U.length;Q--&&wF(F,U[Q],0)>-1;);return Q}var RQ=gF({"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\u0100":"A","\u0102":"A","\u0104":"A","\u0101":"a","\u0103":"a","\u0105":"a","\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\u010e":"D","\u0110":"D","\u010f":"d","\u0111":"d","\u0112":"E","\u0114":"E","\u0116":"E","\u0118":"E","\u011a":"E","\u0113":"e","\u0115":"e","\u0117":"e","\u0119":"e","\u011b":"e","\u011c":"G","\u011e":"G","\u0120":"G","\u0122":"G","\u011d":"g","\u011f":"g","\u0121":"g","\u0123":"g","\u0124":"H","\u0126":"H","\u0125":"h","\u0127":"h","\u0128":"I","\u012a":"I","\u012c":"I","\u012e":"I","\u0130":"I","\u0129":"i","\u012b":"i","\u012d":"i","\u012f":"i","\u0131":"i","\u0134":"J","\u0135":"j","\u0136":"K","\u0137":"k","\u0138":"k","\u0139":"L","\u013b":"L","\u013d":"L","\u013f":"L","\u0141":"L","\u013a":"l","\u013c":"l","\u013e":"l","\u0140":"l","\u0142":"l","\u0143":"N","\u0145":"N","\u0147":"N","\u014a":"N","\u0144":"n","\u0146":"n","\u0148":"n","\u014b":"n","\u014c":"O","\u014e":"O","\u0150":"O","\u014d":"o","\u014f":"o","\u0151":"o","\u0154":"R","\u0156":"R","\u0158":"R","\u0155":"r","\u0157":"r","\u0159":"r","\u015a":"S","\u015c":"S","\u015e":"S","\u0160":"S","\u015b":"s","\u015d":"s","\u015f":"s","\u0161":"s","\u0162":"T","\u0164":"T","\u0166":"T","\u0163":"t","\u0165":"t","\u0167":"t","\u0168":"U","\u016a":"U","\u016c":"U","\u016e":"U","\u0170":"U","\u0172":"U","\u0169":"u","\u016b":"u","\u016d":"u","\u016f":"u","\u0171":"u","\u0173":"u","\u0174":"W","\u0175":"w","\u0176":"Y","\u0177":"y","\u0178":"Y","\u0179":"Z","\u017b":"Z","\u017d":"Z","\u017a":"z","\u017c":"z","\u017e":"z","\u0132":"IJ","\u0133":"ij","\u0152":"Oe","\u0153":"oe","\u0149":"'n","\u017f":"s"}),VQ=gF({"&":"&","<":"<",">":">",'"':""","'":"'"});function nQ(U){return"\\"+NF[U]}function lQ(U){return RF.test(U)}function dQ(U){var F=-1,Q=Array(U.size);return U.forEach(function(U,B){Q[++F]=[B,U]}),Q}function JQ(U,F){return function(Q){return U(F(Q))}}function NQ(U,F){for(var Q=-1,B=U.length,R=0,V=[];++Q",""":'"',"'":"'"});var aQ=function U(F){var Q=(F=null==F?kF:aQ.defaults(kF.Object(),F,aQ.pick(kF,nF))).Array,B=F.Date,lU=F.Error,hU=F.Function,cU=F.Math,rU=F.Object,mU=F.RegExp,MU=F.String,iU=F.TypeError,bU=Q.prototype,vU=hU.prototype,GU=rU.prototype,sU=F["__core-js_shared__"],XU=vU.toString,YU=GU.hasOwnProperty,yU=0,zU=function(){var U=/[^.]+$/.exec(sU&&sU.keys&&sU.keys.IE_PROTO||"");return U?"Symbol(src)_1."+U:""}(),OU=GU.toString,LU=XU.call(rU),HU=kF._,xU=mU("^"+XU.call(YU).replace(RU,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),uU=TF?F.Buffer:R,wU=F.Symbol,jU=F.Uint8Array,IU=uU?uU.allocUnsafe:R,KU=JQ(rU.getPrototypeOf,rU),fU=rU.create,gU=GU.propertyIsEnumerable,PU=bU.splice,AU=wU?wU.isConcatSpreadable:R,qU=wU?wU.iterator:R,_U=wU?wU.toStringTag:R,$U=function(){try{var U=NV(rU,"defineProperty");return U({},"",{}),U}catch(F){}}(),QF=F.clearTimeout!==kF.clearTimeout&&F.clearTimeout,RF=B&&B.now!==kF.Date.now&&B.now,NF=F.setTimeout!==kF.setTimeout&&F.setTimeout,SF=cU.ceil,EF=cU.floor,tF=rU.getOwnPropertySymbols,aF=uU?uU.isBuffer:R,eF=F.isFinite,CF=bU.join,HF=JQ(rU.keys,rU),gF=cU.max,TQ=cU.min,eQ=B.now,CQ=F.parseInt,DQ=cU.random,oQ=bU.reverse,pQ=NV(F,"DataView"),hQ=NV(F,"Map"),cQ=NV(F,"Promise"),rQ=NV(F,"Set"),mQ=NV(F,"WeakMap"),MQ=NV(rU,"create"),iQ=mQ&&new mQ,bQ={},vQ=yV(pQ),GQ=yV(hQ),sQ=yV(cQ),XQ=yV(rQ),YQ=yV(mQ),yQ=wU?wU.prototype:R,zQ=yQ?yQ.valueOf:R,OQ=yQ?yQ.toString:R;function LQ(U){if(Ul(U)&&!wn(U)&&!(U instanceof wQ)){if(U instanceof uQ)return U;if(YU.call(U,"__wrapped__"))return zV(U)}return new uQ(U)}var HQ=function(){function U(){}return function(F){if(!$n(F))return{};if(fU)return fU(F);U.prototype=F;var Q=new U;return U.prototype=R,Q}}();function xQ(){}function uQ(U,F){this.__wrapped__=U,this.__actions__=[],this.__chain__=!!F,this.__index__=0,this.__values__=R}function wQ(U){this.__wrapped__=U,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=t,this.__views__=[]}function jQ(U){var F=-1,Q=null==U?0:U.length;for(this.clear();++F=F?U:F)),U}function lB(U,F,Q,B,V,n){var l,d=1&F,J=2&F,N=4&F;if(Q&&(l=V?Q(U,B,V,n):Q(U)),l!==R)return l;if(!$n(U))return U;var Z=wn(U);if(Z){if(l=function(U){var F=U.length,Q=new U.constructor(F);F&&"string"==typeof U[0]&&YU.call(U,"index")&&(Q.index=U.index,Q.input=U.input);return Q}(U),!d)return MR(U,l)}else{var W=SV(U),S=W==p||W==h;if(fn(U))return oR(U,d);if(W==m||W==T||S&&!V){if(l=J||S?{}:kV(U),!d)return J?function(U,F){return iR(U,WV(U),F)}(U,function(U,F){return U&&iR(F,vl(F),U)}(l,U)):function(U,F){return iR(U,ZV(U),F)}(U,BB(l,U))}else{if(!JF[W])return V?U:{};l=function(U,F,Q){var B=U.constructor;switch(F){case X:return pR(U);case C:case D:return new B(+U);case Y:return function(U,F){var Q=F?pR(U.buffer):U.buffer;return new U.constructor(Q,U.byteOffset,U.byteLength)}(U,Q);case y:case z:case O:case L:case H:case x:case u:case w:case j:return hR(U,Q);case c:return new B;case r:case v:return new B(U);case i:return function(U){var F=new U.constructor(U.source,kU.exec(U));return F.lastIndex=U.lastIndex,F}(U);case b:return new B;case G:return R=U,zQ?rU(zQ.call(R)):{}}var R}(U,W,d)}}n||(n=new gQ);var E=n.get(U);if(E)return E;n.set(U,l),Vl(U)?U.forEach(function(B){l.add(lB(B,F,Q,B,U,n))}):Fl(U)&&U.forEach(function(B,R){l.set(R,lB(B,F,Q,R,U,n))});var k=Z?R:(N?J?BV:QV:J?vl:bl)(U);return iF(k||U,function(B,R){k&&(B=U[R=B]),UB(l,R,lB(B,F,Q,R,U,n))}),l}function dB(U,F,Q){var B=Q.length;if(null==U)return!B;for(U=rU(U);B--;){var V=Q[B],n=F[V],l=U[V];if(l===R&&!(V in U)||!n(l))return!1}return!0}function JB(U,F,Q){if("function"!=typeof U)throw new iU(V);return iV(function(){U.apply(R,Q)},F)}function NB(U,F,Q,B){var R=-1,V=sF,n=!0,l=U.length,d=[],J=F.length;if(!l)return d;Q&&(F=YF(F,$F(Q))),B?(V=XF,n=!1):F.length>=200&&(V=FQ,n=!1,F=new fQ(F));U:for(;++R-1},IQ.prototype.set=function(U,F){var Q=this.__data__,B=FB(Q,U);return B<0?(++this.size,Q.push([U,F])):Q[B][1]=F,this},KQ.prototype.clear=function(){this.size=0,this.__data__={hash:new jQ,map:new(hQ||IQ),string:new jQ}},KQ.prototype.delete=function(U){var F=dV(this,U).delete(U);return this.size-=F?1:0,F},KQ.prototype.get=function(U){return dV(this,U).get(U)},KQ.prototype.has=function(U){return dV(this,U).has(U)},KQ.prototype.set=function(U,F){var Q=dV(this,U),B=Q.size;return Q.set(U,F),this.size+=Q.size==B?0:1,this},fQ.prototype.add=fQ.prototype.push=function(U){return this.__data__.set(U,n),this},fQ.prototype.has=function(U){return this.__data__.has(U)},gQ.prototype.clear=function(){this.__data__=new IQ,this.size=0},gQ.prototype.delete=function(U){var F=this.__data__,Q=F.delete(U);return this.size=F.size,Q},gQ.prototype.get=function(U){return this.__data__.get(U)},gQ.prototype.has=function(U){return this.__data__.has(U)},gQ.prototype.set=function(U,F){var Q=this.__data__;if(Q instanceof IQ){var B=Q.__data__;if(!hQ||B.length<199)return B.push([U,F]),this.size=++Q.size,this;Q=this.__data__=new KQ(B)}return Q.set(U,F),this.size=Q.size,this};var ZB=GR(eB),WB=GR(CB,!0);function SB(U,F){var Q=!0;return ZB(U,function(U,B,R){return Q=!!F(U,B,R)}),Q}function EB(U,F,Q){for(var B=-1,V=U.length;++B0&&Q(l)?F>1?tB(l,F-1,Q,B,R):yF(R,l):B||(R[R.length]=l)}return R}var aB=sR(),TB=sR(!0);function eB(U,F){return U&&aB(U,F,bl)}function CB(U,F){return U&&TB(U,F,bl)}function DB(U,F){return GF(F,function(F){return An(U[F])})}function oB(U,F){for(var Q=0,B=(F=TR(F,U)).length;null!=U&&QF}function rB(U,F){return null!=U&&YU.call(U,F)}function mB(U,F){return null!=U&&F in rU(U)}function MB(U,F,B){for(var V=B?XF:sF,n=U[0].length,l=U.length,d=l,J=Q(l),N=1/0,Z=[];d--;){var W=U[d];d&&F&&(W=YF(W,$F(F))),N=TQ(W.length,N),J[d]=!B&&(F||n>=120&&W.length>=120)?new fQ(d&&W):R}W=U[0];var S=-1,E=J[0];U:for(;++S=l?d:d*("desc"==Q[B]?-1:1)}return U.index-F.index}(U,F,Q)})}function jB(U,F,Q){for(var B=-1,R=F.length,V={};++B-1;)l!==U&&PU.call(l,d,1),PU.call(U,d,1);return U}function KB(U,F){for(var Q=U?F.length:0,B=Q-1;Q--;){var R=F[Q];if(Q==B||R!==V){var V=R;aV(R)?PU.call(U,R,1):NR(U,R)}}return U}function fB(U,F){return U+EF(DQ()*(F-U+1))}function gB(U,F){var Q="";if(!U||F<1||F>E)return Q;do{F%2&&(Q+=U),(F=EF(F/2))&&(U+=U)}while(F);return Q}function PB(U,F){return bV(cV(U,F,Qd),U+"")}function AB(U){return AQ(Ll(U))}function qB(U,F){var Q=Ll(U);return sV(Q,nB(F,0,Q.length))}function _B(U,F,Q,B){if(!$n(U))return U;for(var V=-1,n=(F=TR(F,U)).length,l=n-1,d=U;null!=d&&++VV?0:V+F),(B=B>V?V:B)<0&&(B+=V),V=F>B?0:B-F>>>0,F>>>=0;for(var n=Q(V);++R>>1,n=U[V];null!==n&&!ll(n)&&(Q?n<=F:n=200){var J=F?null:gR(U);if(J)return ZQ(J);n=!1,R=FQ,d=new fQ}else d=F?[]:l;U:for(;++B=B?U:QR(U,F,Q)}var DR=QF||function(U){return kF.clearTimeout(U)};function oR(U,F){if(F)return U.slice();var Q=U.length,B=IU?IU(Q):new U.constructor(Q);return U.copy(B),B}function pR(U){var F=new U.constructor(U.byteLength);return new jU(F).set(new jU(U)),F}function hR(U,F){var Q=F?pR(U.buffer):U.buffer;return new U.constructor(Q,U.byteOffset,U.length)}function cR(U,F){if(U!==F){var Q=U!==R,B=null===U,V=U===U,n=ll(U),l=F!==R,d=null===F,J=F===F,N=ll(F);if(!d&&!N&&!n&&U>F||n&&l&&J&&!d&&!N||B&&l&&J||!Q&&J||!V)return 1;if(!B&&!n&&!N&&U1?Q[V-1]:R,l=V>2?Q[2]:R;for(n=U.length>3&&"function"==typeof n?(V--,n):R,l&&TV(Q[0],Q[1],l)&&(n=V<3?R:n,V=1),F=rU(F);++B-1?V[n?F[l]:l]:R}}function OR(U){return FV(function(F){var Q=F.length,B=Q,n=uQ.prototype.thru;for(U&&F.reverse();B--;){var l=F[B];if("function"!=typeof l)throw new iU(V);if(n&&!d&&"wrapper"==VV(l))var d=new uQ([],!0)}for(B=d?B:Q;++B1&&C.reverse(),S&&Nd))return!1;var N=n.get(U),Z=n.get(F);if(N&&Z)return N==F&&Z==U;var W=-1,S=!0,E=2&Q?new fQ:R;for(n.set(U,F),n.set(F,U);++W-1&&U%1==0&&U1?"& ":"")+F[B],F=F.join(Q>2?", ":" "),U.replace(dU,"{\n/* [wrapped with "+F+"] */\n")}(B,function(U,F){return iF(a,function(Q){var B="_."+Q[0];F&Q[1]&&!sF(U,B)&&U.push(B)}),U.sort()}(function(U){var F=U.match(JU);return F?F[1].split(NU):[]}(B),Q)))}function GV(U){var F=0,Q=0;return function(){var B=eQ(),V=16-(B-Q);if(Q=B,V>0){if(++F>=800)return arguments[0]}else F=0;return U.apply(R,arguments)}}function sV(U,F){var Q=-1,B=U.length,V=B-1;for(F=F===R?B:F;++Q1?U[F-1]:R;return Q="function"==typeof Q?(U.pop(),Q):R,Bn(U,Q)});function Nn(U){var F=LQ(U);return F.__chain__=!0,F}function Zn(U,F){return F(U)}var Wn=FV(function(U){var F=U.length,Q=F?U[0]:0,B=this.__wrapped__,V=function(F){return VB(F,U)};return!(F>1||this.__actions__.length)&&B instanceof wQ&&aV(Q)?((B=B.slice(Q,+Q+(F?1:0))).__actions__.push({func:Zn,args:[V],thisArg:R}),new uQ(B,this.__chain__).thru(function(U){return F&&!U.length&&U.push(R),U})):this.thru(V)});var Sn=bR(function(U,F,Q){YU.call(U,Q)?++U[Q]:RB(U,Q,1)});var En=zR(xV),kn=zR(uV);function tn(U,F){return(wn(U)?iF:ZB)(U,lV(F,3))}function an(U,F){return(wn(U)?bF:WB)(U,lV(F,3))}var Tn=bR(function(U,F,Q){YU.call(U,Q)?U[Q].push(F):RB(U,Q,[F])});var en=PB(function(U,F,B){var R=-1,V="function"==typeof F,n=In(U)?Q(U.length):[];return ZB(U,function(U){n[++R]=V?mF(F,U,B):iB(U,F,B)}),n}),Cn=bR(function(U,F,Q){RB(U,Q,F)});function Dn(U,F){return(wn(U)?YF:OB)(U,lV(F,3))}var on=bR(function(U,F,Q){U[Q?0:1].push(F)},function(){return[[],[]]});var pn=PB(function(U,F){if(null==U)return[];var Q=F.length;return Q>1&&TV(U,F[0],F[1])?F=[]:Q>2&&TV(F[0],F[1],F[2])&&(F=[F[0]]),wB(U,tB(F,1),[])}),hn=RF||function(){return kF.Date.now()};function cn(U,F,Q){return F=Q?R:F,F=U&&null==F?U.length:F,AR(U,Z,R,R,R,R,F)}function rn(U,F){var Q;if("function"!=typeof F)throw new iU(V);return U=Sl(U),function(){return--U>0&&(Q=F.apply(this,arguments)),U<=1&&(F=R),Q}}var mn=PB(function(U,F,Q){var B=1;if(Q.length){var R=NQ(Q,nV(mn));B|=J}return AR(U,B,F,Q,R)}),Mn=PB(function(U,F,Q){var B=3;if(Q.length){var R=NQ(Q,nV(Mn));B|=J}return AR(F,B,U,Q,R)});function bn(U,F,Q){var B,n,l,d,J,N,Z=0,W=!1,S=!1,E=!0;if("function"!=typeof U)throw new iU(V);function k(F){var Q=B,V=n;return B=n=R,Z=F,d=U.apply(V,Q)}function t(U){var Q=U-N;return N===R||Q>=F||Q<0||S&&U-Z>=l}function a(){var U=hn();if(t(U))return T(U);J=iV(a,function(U){var Q=F-(U-N);return S?TQ(Q,l-(U-Z)):Q}(U))}function T(U){return J=R,E&&B?k(U):(B=n=R,d)}function e(){var U=hn(),Q=t(U);if(B=arguments,n=this,N=U,Q){if(J===R)return function(U){return Z=U,J=iV(a,F),W?k(U):d}(N);if(S)return DR(J),J=iV(a,F),k(N)}return J===R&&(J=iV(a,F)),d}return F=kl(F)||0,$n(Q)&&(W=!!Q.leading,l=(S="maxWait"in Q)?gF(kl(Q.maxWait)||0,F):l,E="trailing"in Q?!!Q.trailing:E),e.cancel=function(){J!==R&&DR(J),Z=0,B=N=n=J=R},e.flush=function(){return J===R?d:T(hn())},e}var vn=PB(function(U,F){return JB(U,1,F)}),Gn=PB(function(U,F,Q){return JB(U,kl(F)||0,Q)});function sn(U,F){if("function"!=typeof U||null!=F&&"function"!=typeof F)throw new iU(V);var Q=function(){var B=arguments,R=F?F.apply(this,B):B[0],V=Q.cache;if(V.has(R))return V.get(R);var n=U.apply(this,B);return Q.cache=V.set(R,n)||V,n};return Q.cache=new(sn.Cache||KQ),Q}function Xn(U){if("function"!=typeof U)throw new iU(V);return function(){var F=arguments;switch(F.length){case 0:return!U.call(this);case 1:return!U.call(this,F[0]);case 2:return!U.call(this,F[0],F[1]);case 3:return!U.call(this,F[0],F[1],F[2])}return!U.apply(this,F)}}sn.Cache=KQ;var Yn=eR(function(U,F){var Q=(F=1==F.length&&wn(F[0])?YF(F[0],$F(lV())):YF(tB(F,1),$F(lV()))).length;return PB(function(B){for(var R=-1,V=TQ(B.length,Q);++R=F}),un=bB(function(){return arguments}())?bB:function(U){return Ul(U)&&YU.call(U,"callee")&&!gU.call(U,"callee")},wn=Q.isArray,jn=DF?$F(DF):function(U){return Ul(U)&&hB(U)==X};function In(U){return null!=U&&_n(U.length)&&!An(U)}function Kn(U){return Ul(U)&&In(U)}var fn=aF||kd,gn=oF?$F(oF):function(U){return Ul(U)&&hB(U)==D};function Pn(U){if(!Ul(U))return!1;var F=hB(U);return F==o||"[object DOMException]"==F||"string"==typeof U.message&&"string"==typeof U.name&&!Bl(U)}function An(U){if(!$n(U))return!1;var F=hB(U);return F==p||F==h||"[object AsyncFunction]"==F||"[object Proxy]"==F}function qn(U){return"number"==typeof U&&U==Sl(U)}function _n(U){return"number"==typeof U&&U>-1&&U%1==0&&U<=E}function $n(U){var F=typeof U;return null!=U&&("object"==F||"function"==F)}function Ul(U){return null!=U&&"object"==typeof U}var Fl=pF?$F(pF):function(U){return Ul(U)&&SV(U)==c};function Ql(U){return"number"==typeof U||Ul(U)&&hB(U)==r}function Bl(U){if(!Ul(U)||hB(U)!=m)return!1;var F=KU(U);if(null===F)return!0;var Q=YU.call(F,"constructor")&&F.constructor;return"function"==typeof Q&&Q instanceof Q&&XU.call(Q)==LU}var Rl=hF?$F(hF):function(U){return Ul(U)&&hB(U)==i};var Vl=cF?$F(cF):function(U){return Ul(U)&&SV(U)==b};function nl(U){return"string"==typeof U||!wn(U)&&Ul(U)&&hB(U)==v}function ll(U){return"symbol"==typeof U||Ul(U)&&hB(U)==G}var dl=rF?$F(rF):function(U){return Ul(U)&&_n(U.length)&&!!dF[hB(U)]};var Jl=IR(zB),Nl=IR(function(U,F){return U<=F});function Zl(U){if(!U)return[];if(In(U))return nl(U)?EQ(U):MR(U);if(qU&&U[qU])return function(U){for(var F,Q=[];!(F=U.next()).done;)Q.push(F.value);return Q}(U[qU]());var F=SV(U);return(F==c?dQ:F==b?ZQ:Ll)(U)}function Wl(U){return U?(U=kl(U))===S||U===-1/0?17976931348623157e292*(U<0?-1:1):U===U?U:0:0===U?U:0}function Sl(U){var F=Wl(U),Q=F%1;return F===F?Q?F-Q:F:0}function El(U){return U?nB(Sl(U),0,t):0}function kl(U){if("number"==typeof U)return U;if(ll(U))return k;if($n(U)){var F="function"==typeof U.valueOf?U.valueOf():U;U=$n(F)?F+"":F}if("string"!=typeof U)return 0===U?U:+U;U=_F(U);var Q=aU.test(U);return Q||eU.test(U)?WF(U.slice(2),Q?2:8):tU.test(U)?k:+U}function tl(U){return iR(U,vl(U))}function al(U){return null==U?"":dR(U)}var Tl=vR(function(U,F){if(oV(F)||In(F))iR(F,bl(F),U);else for(var Q in F)YU.call(F,Q)&&UB(U,Q,F[Q])}),el=vR(function(U,F){iR(F,vl(F),U)}),Cl=vR(function(U,F,Q,B){iR(F,vl(F),U,B)}),Dl=vR(function(U,F,Q,B){iR(F,bl(F),U,B)}),ol=FV(VB);var pl=PB(function(U,F){U=rU(U);var Q=-1,B=F.length,V=B>2?F[2]:R;for(V&&TV(F[0],F[1],V)&&(B=1);++Q1),F}),iR(U,BV(U),Q),B&&(Q=lB(Q,7,$R));for(var R=F.length;R--;)NR(Q,F[R]);return Q});var Yl=FV(function(U,F){return null==U?{}:function(U,F){return jB(U,F,function(F,Q){return rl(U,Q)})}(U,F)});function yl(U,F){if(null==U)return{};var Q=YF(BV(U),function(U){return[U]});return F=lV(F),jB(U,Q,function(U,Q){return F(U,Q[0])})}var zl=PR(bl),Ol=PR(vl);function Ll(U){return null==U?[]:UQ(U,bl(U))}var Hl=YR(function(U,F,Q){return F=F.toLowerCase(),U+(Q?xl(F):F)});function xl(U){return Pl(al(U).toLowerCase())}function ul(U){return(U=al(U))&&U.replace(DU,RQ).replace(FF,"")}var wl=YR(function(U,F,Q){return U+(Q?"-":"")+F.toLowerCase()}),jl=YR(function(U,F,Q){return U+(Q?" ":"")+F.toLowerCase()}),Il=XR("toLowerCase");var Kl=YR(function(U,F,Q){return U+(Q?"_":"")+F.toLowerCase()});var fl=YR(function(U,F,Q){return U+(Q?" ":"")+Pl(F)});var gl=YR(function(U,F,Q){return U+(Q?" ":"")+F.toUpperCase()}),Pl=XR("toUpperCase");function Al(U,F,Q){return U=al(U),(F=Q?R:F)===R?function(U){return VF.test(U)}(U)?function(U){return U.match(BF)||[]}(U):function(U){return U.match(ZU)||[]}(U):U.match(F)||[]}var ql=PB(function(U,F){try{return mF(U,R,F)}catch(Q){return Pn(Q)?Q:new lU(Q)}}),_l=FV(function(U,F){return iF(F,function(F){F=YV(F),RB(U,F,mn(U[F],U))}),U});function $l(U){return function(){return U}}var Ud=OR(),Fd=OR(!0);function Qd(U){return U}function Bd(U){return XB("function"==typeof U?U:lB(U,1))}var Rd=PB(function(U,F){return function(Q){return iB(Q,U,F)}}),Vd=PB(function(U,F){return function(Q){return iB(U,Q,F)}});function nd(U,F,Q){var B=bl(F),R=DB(F,B);null!=Q||$n(F)&&(R.length||!B.length)||(Q=F,F=U,U=this,R=DB(F,bl(F)));var V=!($n(Q)&&"chain"in Q)||!!Q.chain,n=An(U);return iF(R,function(Q){var B=F[Q];U[Q]=B,n&&(U.prototype[Q]=function(){var F=this.__chain__;if(V||F){var Q=U(this.__wrapped__);return(Q.__actions__=MR(this.__actions__)).push({func:B,args:arguments,thisArg:U}),Q.__chain__=F,Q}return B.apply(U,yF([this.value()],arguments))})}),U}function ld(){}var dd=uR(YF),Jd=uR(vF),Nd=uR(LF);function Zd(U){return eV(U)?fF(YV(U)):function(U){return function(F){return oB(F,U)}}(U)}var Wd=jR(),Sd=jR(!0);function Ed(){return[]}function kd(){return!1}var td=xR(function(U,F){return U+F},0),ad=fR("ceil"),Td=xR(function(U,F){return U/F},1),ed=fR("floor");var Cd=xR(function(U,F){return U*F},1),Dd=fR("round"),od=xR(function(U,F){return U-F},0);return LQ.after=function(U,F){if("function"!=typeof F)throw new iU(V);return U=Sl(U),function(){if(--U<1)return F.apply(this,arguments)}},LQ.ary=cn,LQ.assign=Tl,LQ.assignIn=el,LQ.assignInWith=Cl,LQ.assignWith=Dl,LQ.at=ol,LQ.before=rn,LQ.bind=mn,LQ.bindAll=_l,LQ.bindKey=Mn,LQ.castArray=function(){if(!arguments.length)return[];var U=arguments[0];return wn(U)?U:[U]},LQ.chain=Nn,LQ.chunk=function(U,F,B){F=(B?TV(U,F,B):F===R)?1:gF(Sl(F),0);var V=null==U?0:U.length;if(!V||F<1)return[];for(var n=0,l=0,d=Q(SF(V/F));nV?0:V+Q),(B=B===R||B>V?V:Sl(B))<0&&(B+=V),B=Q>B?0:El(B);Q>>0)?(U=al(U))&&("string"==typeof F||null!=F&&!Rl(F))&&!(F=dR(F))&&lQ(U)?CR(EQ(U),0,Q):U.split(F,Q):[]},LQ.spread=function(U,F){if("function"!=typeof U)throw new iU(V);return F=null==F?0:gF(Sl(F),0),PB(function(Q){var B=Q[F],R=CR(Q,0,F);return B&&yF(R,B),mF(U,this,R)})},LQ.tail=function(U){var F=null==U?0:U.length;return F?QR(U,1,F):[]},LQ.take=function(U,F,Q){return U&&U.length?QR(U,0,(F=Q||F===R?1:Sl(F))<0?0:F):[]},LQ.takeRight=function(U,F,Q){var B=null==U?0:U.length;return B?QR(U,(F=B-(F=Q||F===R?1:Sl(F)))<0?0:F,B):[]},LQ.takeRightWhile=function(U,F){return U&&U.length?WR(U,lV(F,3),!1,!0):[]},LQ.takeWhile=function(U,F){return U&&U.length?WR(U,lV(F,3)):[]},LQ.tap=function(U,F){return F(U),U},LQ.throttle=function(U,F,Q){var B=!0,R=!0;if("function"!=typeof U)throw new iU(V);return $n(Q)&&(B="leading"in Q?!!Q.leading:B,R="trailing"in Q?!!Q.trailing:R),bn(U,F,{leading:B,maxWait:F,trailing:R})},LQ.thru=Zn,LQ.toArray=Zl,LQ.toPairs=zl,LQ.toPairsIn=Ol,LQ.toPath=function(U){return wn(U)?YF(U,YV):ll(U)?[U]:MR(XV(al(U)))},LQ.toPlainObject=tl,LQ.transform=function(U,F,Q){var B=wn(U),R=B||fn(U)||dl(U);if(F=lV(F,4),null==Q){var V=U&&U.constructor;Q=R?B?new V:[]:$n(U)&&An(V)?HQ(KU(U)):{}}return(R?iF:eB)(U,function(U,B,R){return F(Q,U,B,R)}),Q},LQ.unary=function(U){return cn(U,1)},LQ.union=$V,LQ.unionBy=Un,LQ.unionWith=Fn,LQ.uniq=function(U){return U&&U.length?JR(U):[]},LQ.uniqBy=function(U,F){return U&&U.length?JR(U,lV(F,2)):[]},LQ.uniqWith=function(U,F){return F="function"==typeof F?F:R,U&&U.length?JR(U,R,F):[]},LQ.unset=function(U,F){return null==U||NR(U,F)},LQ.unzip=Qn,LQ.unzipWith=Bn,LQ.update=function(U,F,Q){return null==U?U:ZR(U,F,aR(Q))},LQ.updateWith=function(U,F,Q,B){return B="function"==typeof B?B:R,null==U?U:ZR(U,F,aR(Q),B)},LQ.values=Ll,LQ.valuesIn=function(U){return null==U?[]:UQ(U,vl(U))},LQ.without=Rn,LQ.words=Al,LQ.wrap=function(U,F){return yn(aR(F),U)},LQ.xor=Vn,LQ.xorBy=nn,LQ.xorWith=ln,LQ.zip=dn,LQ.zipObject=function(U,F){return kR(U||[],F||[],UB)},LQ.zipObjectDeep=function(U,F){return kR(U||[],F||[],_B)},LQ.zipWith=Jn,LQ.entries=zl,LQ.entriesIn=Ol,LQ.extend=el,LQ.extendWith=Cl,nd(LQ,LQ),LQ.add=td,LQ.attempt=ql,LQ.camelCase=Hl,LQ.capitalize=xl,LQ.ceil=ad,LQ.clamp=function(U,F,Q){return Q===R&&(Q=F,F=R),Q!==R&&(Q=(Q=kl(Q))===Q?Q:0),F!==R&&(F=(F=kl(F))===F?F:0),nB(kl(U),F,Q)},LQ.clone=function(U){return lB(U,4)},LQ.cloneDeep=function(U){return lB(U,5)},LQ.cloneDeepWith=function(U,F){return lB(U,5,F="function"==typeof F?F:R)},LQ.cloneWith=function(U,F){return lB(U,4,F="function"==typeof F?F:R)},LQ.conformsTo=function(U,F){return null==F||dB(U,F,bl(F))},LQ.deburr=ul,LQ.defaultTo=function(U,F){return null==U||U!==U?F:U},LQ.divide=Td,LQ.endsWith=function(U,F,Q){U=al(U),F=dR(F);var B=U.length,V=Q=Q===R?B:nB(Sl(Q),0,B);return(Q-=F.length)>=0&&U.slice(Q,V)==F},LQ.eq=Ln,LQ.escape=function(U){return(U=al(U))&&q.test(U)?U.replace(P,VQ):U},LQ.escapeRegExp=function(U){return(U=al(U))&&VU.test(U)?U.replace(RU,"\\$&"):U},LQ.every=function(U,F,Q){var B=wn(U)?vF:SB;return Q&&TV(U,F,Q)&&(F=R),B(U,lV(F,3))},LQ.find=En,LQ.findIndex=xV,LQ.findKey=function(U,F){return xF(U,lV(F,3),eB)},LQ.findLast=kn,LQ.findLastIndex=uV,LQ.findLastKey=function(U,F){return xF(U,lV(F,3),CB)},LQ.floor=ed,LQ.forEach=tn,LQ.forEachRight=an,LQ.forIn=function(U,F){return null==U?U:aB(U,lV(F,3),vl)},LQ.forInRight=function(U,F){return null==U?U:TB(U,lV(F,3),vl)},LQ.forOwn=function(U,F){return U&&eB(U,lV(F,3))},LQ.forOwnRight=function(U,F){return U&&CB(U,lV(F,3))},LQ.get=cl,LQ.gt=Hn,LQ.gte=xn,LQ.has=function(U,F){return null!=U&&EV(U,F,rB)},LQ.hasIn=rl,LQ.head=jV,LQ.identity=Qd,LQ.includes=function(U,F,Q,B){U=In(U)?U:Ll(U),Q=Q&&!B?Sl(Q):0;var R=U.length;return Q<0&&(Q=gF(R+Q,0)),nl(U)?Q<=R&&U.indexOf(F,Q)>-1:!!R&&wF(U,F,Q)>-1},LQ.indexOf=function(U,F,Q){var B=null==U?0:U.length;if(!B)return-1;var R=null==Q?0:Sl(Q);return R<0&&(R=gF(B+R,0)),wF(U,F,R)},LQ.inRange=function(U,F,Q){return F=Wl(F),Q===R?(Q=F,F=0):Q=Wl(Q),function(U,F,Q){return U>=TQ(F,Q)&&U=-9007199254740991&&U<=E},LQ.isSet=Vl,LQ.isString=nl,LQ.isSymbol=ll,LQ.isTypedArray=dl,LQ.isUndefined=function(U){return U===R},LQ.isWeakMap=function(U){return Ul(U)&&SV(U)==s},LQ.isWeakSet=function(U){return Ul(U)&&"[object WeakSet]"==hB(U)},LQ.join=function(U,F){return null==U?"":CF.call(U,F)},LQ.kebabCase=wl,LQ.last=gV,LQ.lastIndexOf=function(U,F,Q){var B=null==U?0:U.length;if(!B)return-1;var V=B;return Q!==R&&(V=(V=Sl(Q))<0?gF(B+V,0):TQ(V,B-1)),F===F?function(U,F,Q){for(var B=Q+1;B--;)if(U[B]===F)return B;return B}(U,F,V):uF(U,IF,V,!0)},LQ.lowerCase=jl,LQ.lowerFirst=Il,LQ.lt=Jl,LQ.lte=Nl,LQ.max=function(U){return U&&U.length?EB(U,Qd,cB):R},LQ.maxBy=function(U,F){return U&&U.length?EB(U,lV(F,2),cB):R},LQ.mean=function(U){return KF(U,Qd)},LQ.meanBy=function(U,F){return KF(U,lV(F,2))},LQ.min=function(U){return U&&U.length?EB(U,Qd,zB):R},LQ.minBy=function(U,F){return U&&U.length?EB(U,lV(F,2),zB):R},LQ.stubArray=Ed,LQ.stubFalse=kd,LQ.stubObject=function(){return{}},LQ.stubString=function(){return""},LQ.stubTrue=function(){return!0},LQ.multiply=Cd,LQ.nth=function(U,F){return U&&U.length?uB(U,Sl(F)):R},LQ.noConflict=function(){return kF._===this&&(kF._=HU),this},LQ.noop=ld,LQ.now=hn,LQ.pad=function(U,F,Q){U=al(U);var B=(F=Sl(F))?SQ(U):0;if(!F||B>=F)return U;var R=(F-B)/2;return wR(EF(R),Q)+U+wR(SF(R),Q)},LQ.padEnd=function(U,F,Q){U=al(U);var B=(F=Sl(F))?SQ(U):0;return F&&BF){var B=U;U=F,F=B}if(Q||U%1||F%1){var V=DQ();return TQ(U+V*(F-U+ZF("1e-"+((V+"").length-1))),F)}return fB(U,F)},LQ.reduce=function(U,F,Q){var B=wn(U)?zF:PF,R=arguments.length<3;return B(U,lV(F,4),Q,R,ZB)},LQ.reduceRight=function(U,F,Q){var B=wn(U)?OF:PF,R=arguments.length<3;return B(U,lV(F,4),Q,R,WB)},LQ.repeat=function(U,F,Q){return F=(Q?TV(U,F,Q):F===R)?1:Sl(F),gB(al(U),F)},LQ.replace=function(){var U=arguments,F=al(U[0]);return U.length<3?F:F.replace(U[1],U[2])},LQ.result=function(U,F,Q){var B=-1,V=(F=TR(F,U)).length;for(V||(V=1,U=R);++BE)return[];var Q=t,B=TQ(U,t);F=lV(F),U-=t;for(var R=qF(B,F);++Q=n)return U;var d=Q-SQ(B);if(d<1)return B;var J=l?CR(l,0,d).join(""):U.slice(0,d);if(V===R)return J+B;if(l&&(d+=J.length-d),Rl(V)){if(U.slice(d).search(V)){var N,Z=J;for(V.global||(V=mU(V.source,al(kU.exec(V))+"g")),V.lastIndex=0;N=V.exec(Z);)var W=N.index;J=J.slice(0,W===R?d:W)}}else if(U.indexOf(dR(V),d)!=d){var S=J.lastIndexOf(V);S>-1&&(J=J.slice(0,S))}return J+B},LQ.unescape=function(U){return(U=al(U))&&A.test(U)?U.replace(g,tQ):U},LQ.uniqueId=function(U){var F=++yU;return al(U)+F},LQ.upperCase=gl,LQ.upperFirst=Pl,LQ.each=tn,LQ.eachRight=an,LQ.first=jV,nd(LQ,function(){var U={};return eB(LQ,function(F,Q){YU.call(LQ.prototype,Q)||(U[Q]=F)}),U}(),{chain:!1}),LQ.VERSION="4.18.1",iF(["bind","bindKey","curry","curryRight","partial","partialRight"],function(U){LQ[U].placeholder=LQ}),iF(["drop","take"],function(U,F){wQ.prototype[U]=function(Q){Q=Q===R?1:gF(Sl(Q),0);var B=this.__filtered__&&!F?new wQ(this):this.clone();return B.__filtered__?B.__takeCount__=TQ(Q,B.__takeCount__):B.__views__.push({size:TQ(Q,t),type:U+(B.__dir__<0?"Right":"")}),B},wQ.prototype[U+"Right"]=function(F){return this.reverse()[U](F).reverse()}}),iF(["filter","map","takeWhile"],function(U,F){var Q=F+1,B=1==Q||3==Q;wQ.prototype[U]=function(U){var F=this.clone();return F.__iteratees__.push({iteratee:lV(U,3),type:Q}),F.__filtered__=F.__filtered__||B,F}}),iF(["head","last"],function(U,F){var Q="take"+(F?"Right":"");wQ.prototype[U]=function(){return this[Q](1).value()[0]}}),iF(["initial","tail"],function(U,F){var Q="drop"+(F?"":"Right");wQ.prototype[U]=function(){return this.__filtered__?new wQ(this):this[Q](1)}}),wQ.prototype.compact=function(){return this.filter(Qd)},wQ.prototype.find=function(U){return this.filter(U).head()},wQ.prototype.findLast=function(U){return this.reverse().find(U)},wQ.prototype.invokeMap=PB(function(U,F){return"function"==typeof U?new wQ(this):this.map(function(Q){return iB(Q,U,F)})}),wQ.prototype.reject=function(U){return this.filter(Xn(lV(U)))},wQ.prototype.slice=function(U,F){U=Sl(U);var Q=this;return Q.__filtered__&&(U>0||F<0)?new wQ(Q):(U<0?Q=Q.takeRight(-U):U&&(Q=Q.drop(U)),F!==R&&(Q=(F=Sl(F))<0?Q.dropRight(-F):Q.take(F-U)),Q)},wQ.prototype.takeRightWhile=function(U){return this.reverse().takeWhile(U).reverse()},wQ.prototype.toArray=function(){return this.take(t)},eB(wQ.prototype,function(U,F){var Q=/^(?:filter|find|map|reject)|While$/.test(F),B=/^(?:head|last)$/.test(F),V=LQ[B?"take"+("last"==F?"Right":""):F],n=B||/^find/.test(F);V&&(LQ.prototype[F]=function(){var F=this.__wrapped__,l=B?[1]:arguments,d=F instanceof wQ,J=l[0],N=d||wn(F),Z=function(U){var F=V.apply(LQ,yF([U],l));return B&&W?F[0]:F};N&&Q&&"function"==typeof J&&1!=J.length&&(d=N=!1);var W=this.__chain__,S=!!this.__actions__.length,E=n&&!W,k=d&&!S;if(!n&&N){F=k?F:new wQ(this);var t=U.apply(F,l);return t.__actions__.push({func:Zn,args:[Z],thisArg:R}),new uQ(t,W)}return E&&k?U.apply(this,l):(t=this.thru(Z),E?B?t.value()[0]:t.value():t)})}),iF(["pop","push","shift","sort","splice","unshift"],function(U){var F=bU[U],Q=/^(?:push|sort|unshift)$/.test(U)?"tap":"thru",B=/^(?:pop|shift)$/.test(U);LQ.prototype[U]=function(){var U=arguments;if(B&&!this.__chain__){var R=this.value();return F.apply(wn(R)?R:[],U)}return this[Q](function(Q){return F.apply(wn(Q)?Q:[],U)})}}),eB(wQ.prototype,function(U,F){var Q=LQ[F];if(Q){var B=Q.name+"";YU.call(bQ,B)||(bQ[B]=[]),bQ[B].push({name:F,func:Q})}}),bQ[LR(R,2).name]=[{name:"wrapper",func:R}],wQ.prototype.clone=function(){var U=new wQ(this.__wrapped__);return U.__actions__=MR(this.__actions__),U.__dir__=this.__dir__,U.__filtered__=this.__filtered__,U.__iteratees__=MR(this.__iteratees__),U.__takeCount__=this.__takeCount__,U.__views__=MR(this.__views__),U},wQ.prototype.reverse=function(){if(this.__filtered__){var U=new wQ(this);U.__dir__=-1,U.__filtered__=!0}else(U=this.clone()).__dir__*=-1;return U},wQ.prototype.value=function(){var U=this.__wrapped__.value(),F=this.__dir__,Q=wn(U),B=F<0,R=Q?U.length:0,V=function(U,F,Q){var B=-1,R=Q.length;for(;++B=this.__values__.length;return{done:U,value:U?R:this.__values__[this.__index__++]}},LQ.prototype.plant=function(U){for(var F,Q=this;Q instanceof xQ;){var B=zV(Q);B.__index__=0,B.__values__=R,F?V.__wrapped__=B:F=B;var V=B;Q=Q.__wrapped__}return V.__wrapped__=U,F},LQ.prototype.reverse=function(){var U=this.__wrapped__;if(U instanceof wQ){var F=U;return this.__actions__.length&&(F=new wQ(this)),(F=F.reverse()).__actions__.push({func:Zn,args:[_V],thisArg:R}),new uQ(F,this.__chain__)}return this.thru(_V)},LQ.prototype.toJSON=LQ.prototype.valueOf=LQ.prototype.value=function(){return SR(this.__wrapped__,this.__actions__)},LQ.prototype.first=LQ.prototype.head,qU&&(LQ.prototype[qU]=function(){return this}),LQ}();kF._=aQ,(B=function(){return aQ}.call(F,Q,F,U))===R||(U.exports=B)}.call(this)},94300:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>V});var B=Q(17451);var R=Q(16438);function V(U){return function(U){if(Array.isArray(U))return(0,B.A)(U)}(U)||function(U){if("undefined"!=typeof Symbol&&null!=U[Symbol.iterator]||null!=U["@@iterator"])return Array.from(U)}(U)||(0,R.A)(U)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},94491:U=>{"use strict";U.exports=Math.pow},95118:(U,F,Q)=>{"use strict";Q.d(F,{A:()=>n,K:()=>V});var B=Q(16840),R=Q(85656);function V(U){return(0,R.Ay)("MuiDivider",U)}const n=(0,B.A)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"])},95232:(U,F,Q)=>{"use strict";var B=Q(52327),R=Q(60471),V=Q(88818);function n(U){var F="https://react.dev/errors/"+U;if(1O||(U.current=z[O],z[O]=null,O--)}function x(U,F){O++,z[O]=U.current,U.current=F}var u=L(null),w=L(null),j=L(null),I=L(null);function K(U,F){switch(x(j,F),x(w,U),x(u,null),F.nodeType){case 9:case 11:U=(U=F.documentElement)&&(U=U.namespaceURI)?BZ(U):0;break;default:if(U=F.tagName,F=F.namespaceURI)U=RZ(F=BZ(F),U);else switch(U){case"svg":U=1;break;case"math":U=2;break;default:U=0}}H(u),x(u,U)}function f(){H(u),H(w),H(j)}function g(U){null!==U.memoizedState&&x(I,U);var F=u.current,Q=RZ(F,U.type);F!==Q&&(x(w,U),x(u,Q))}function P(U){w.current===U&&(H(u),H(w)),I.current===U&&(H(I),fZ._currentValue=y)}var A=Object.prototype.hasOwnProperty,q=B.unstable_scheduleCallback,_=B.unstable_cancelCallback,$=B.unstable_shouldYield,UU=B.unstable_requestPaint,FU=B.unstable_now,QU=B.unstable_getCurrentPriorityLevel,BU=B.unstable_ImmediatePriority,RU=B.unstable_UserBlockingPriority,VU=B.unstable_NormalPriority,nU=B.unstable_LowPriority,lU=B.unstable_IdlePriority,dU=B.log,JU=B.unstable_setDisableYieldValue,NU=null,ZU=null;function WU(U){if("function"===typeof dU&&JU(U),ZU&&"function"===typeof ZU.setStrictMode)try{ZU.setStrictMode(NU,U)}catch(F){}}var SU=Math.clz32?Math.clz32:function(U){return 0===(U>>>=0)?32:31-(EU(U)/kU|0)|0},EU=Math.log,kU=Math.LN2;var tU=256,aU=4194304;function TU(U){var F=42&U;if(0!==F)return F;switch(U&-U){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:return 64;case 128:return 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 4194048&U;case 4194304:case 8388608:case 16777216:case 33554432:return 62914560&U;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return U}}function eU(U,F,Q){var B=U.pendingLanes;if(0===B)return 0;var R=0,V=U.suspendedLanes,n=U.pingedLanes;U=U.warmLanes;var l=134217727&B;return 0!==l?0!==(B=l&~V)?R=TU(B):0!==(n&=l)?R=TU(n):Q||0!==(Q=l&~U)&&(R=TU(Q)):0!==(l=B&~V)?R=TU(l):0!==n?R=TU(n):Q||0!==(Q=B&~U)&&(R=TU(Q)),0===R?0:0!==F&&F!==R&&0===(F&V)&&((V=R&-R)>=(Q=F&-F)||32===V&&0!==(4194048&Q))?F:R}function CU(U,F){return 0===(U.pendingLanes&~(U.suspendedLanes&~U.pingedLanes)&F)}function DU(U,F){switch(U){case 1:case 2:case 4:case 8:case 64:return F+250;case 16:case 32: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 F+5e3;default:return-1}}function oU(){var U=tU;return 0===(4194048&(tU<<=1))&&(tU=256),U}function pU(){var U=aU;return 0===(62914560&(aU<<=1))&&(aU=4194304),U}function hU(U){for(var F=[],Q=0;31>Q;Q++)F.push(U);return F}function cU(U,F){U.pendingLanes|=F,268435456!==F&&(U.suspendedLanes=0,U.pingedLanes=0,U.warmLanes=0)}function rU(U,F,Q){U.pendingLanes|=F,U.suspendedLanes&=~F;var B=31-SU(F);U.entangledLanes|=F,U.entanglements[B]=1073741824|U.entanglements[B]|4194090&Q}function mU(U,F){var Q=U.entangledLanes|=F;for(U=U.entanglements;Q;){var B=31-SU(Q),R=1<)":-1--R||d[B]!==J[R]){var N="\n"+d[B].replace(" at new "," at ");return U.displayName&&N.includes("")&&(N=N.replace("",U.displayName)),N}}while(1<=B&&0<=R);break}}}finally{VF=!1,Error.prepareStackTrace=Q}return(Q=U?U.displayName||U.name:"")?RF(Q):""}function lF(U){switch(U.tag){case 26:case 27:case 5:return RF(U.type);case 16:return RF("Lazy");case 13:return RF("Suspense");case 19:return RF("SuspenseList");case 0:case 15:return nF(U.type,!1);case 11:return nF(U.type.render,!1);case 1:return nF(U.type,!0);case 31:return RF("Activity");default:return""}}function dF(U){try{var F="";do{F+=lF(U),U=U.return}while(U);return F}catch(Q){return"\nError generating stack: "+Q.message+"\n"+Q.stack}}function JF(U){switch(typeof U){case"bigint":case"boolean":case"number":case"string":case"undefined":case"object":return U;default:return""}}function NF(U){var F=U.type;return(U=U.nodeName)&&"input"===U.toLowerCase()&&("checkbox"===F||"radio"===F)}function ZF(U){U._valueTracker||(U._valueTracker=function(U){var F=NF(U)?"checked":"value",Q=Object.getOwnPropertyDescriptor(U.constructor.prototype,F),B=""+U[F];if(!U.hasOwnProperty(F)&&"undefined"!==typeof Q&&"function"===typeof Q.get&&"function"===typeof Q.set){var R=Q.get,V=Q.set;return Object.defineProperty(U,F,{configurable:!0,get:function(){return R.call(this)},set:function(U){B=""+U,V.call(this,U)}}),Object.defineProperty(U,F,{enumerable:Q.enumerable}),{getValue:function(){return B},setValue:function(U){B=""+U},stopTracking:function(){U._valueTracker=null,delete U[F]}}}}(U))}function WF(U){if(!U)return!1;var F=U._valueTracker;if(!F)return!0;var Q=F.getValue(),B="";return U&&(B=NF(U)?U.checked?"true":"false":U.value),(U=B)!==Q&&(F.setValue(U),!0)}function SF(U){if("undefined"===typeof(U=U||("undefined"!==typeof document?document:void 0)))return null;try{return U.activeElement||U.body}catch(F){return U.body}}var EF=/[\n"\\]/g;function kF(U){return U.replace(EF,function(U){return"\\"+U.charCodeAt(0).toString(16)+" "})}function tF(U,F,Q,B,R,V,n,l){U.name="",null!=n&&"function"!==typeof n&&"symbol"!==typeof n&&"boolean"!==typeof n?U.type=n:U.removeAttribute("type"),null!=F?"number"===n?(0===F&&""===U.value||U.value!=F)&&(U.value=""+JF(F)):U.value!==""+JF(F)&&(U.value=""+JF(F)):"submit"!==n&&"reset"!==n||U.removeAttribute("value"),null!=F?TF(U,n,JF(F)):null!=Q?TF(U,n,JF(Q)):null!=B&&U.removeAttribute("value"),null==R&&null!=V&&(U.defaultChecked=!!V),null!=R&&(U.checked=R&&"function"!==typeof R&&"symbol"!==typeof R),null!=l&&"function"!==typeof l&&"symbol"!==typeof l&&"boolean"!==typeof l?U.name=""+JF(l):U.removeAttribute("name")}function aF(U,F,Q,B,R,V,n,l){if(null!=V&&"function"!==typeof V&&"symbol"!==typeof V&&"boolean"!==typeof V&&(U.type=V),null!=F||null!=Q){if(!("submit"!==V&&"reset"!==V||void 0!==F&&null!==F))return;Q=null!=Q?""+JF(Q):"",F=null!=F?""+JF(F):Q,l||F===U.value||(U.value=F),U.defaultValue=F}B="function"!==typeof(B=null!=B?B:R)&&"symbol"!==typeof B&&!!B,U.checked=l?U.checked:!!B,U.defaultChecked=!!B,null!=n&&"function"!==typeof n&&"symbol"!==typeof n&&"boolean"!==typeof n&&(U.name=n)}function TF(U,F,Q){"number"===F&&SF(U.ownerDocument)===U||U.defaultValue===""+Q||(U.defaultValue=""+Q)}function eF(U,F,Q,B){if(U=U.options,F){F={};for(var R=0;R=oQ),cQ=String.fromCharCode(32),rQ=!1;function mQ(U,F){switch(U){case"keyup":return-1!==CQ.indexOf(F.keyCode);case"keydown":return 229!==F.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function MQ(U){return"object"===typeof(U=U.detail)&&"data"in U?U.data:null}var iQ=!1;var bQ={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 vQ(U){var F=U&&U.nodeName&&U.nodeName.toLowerCase();return"input"===F?!!bQ[U.type]:"textarea"===F}function GQ(U,F,Q,B){GF?sF?sF.push(B):sF=[B]:GF=B,0<(F=wN(F,"onChange")).length&&(Q=new $F("onChange","change",null,Q,B),U.push({event:Q,listeners:F}))}var sQ=null,XQ=null;function YQ(U){YN(U,0)}function yQ(U){if(WF(wU(U)))return U}function zQ(U,F){if("change"===U)return F}var OQ=!1;if(OF){var LQ;if(OF){var HQ="oninput"in document;if(!HQ){var xQ=document.createElement("div");xQ.setAttribute("oninput","return;"),HQ="function"===typeof xQ.oninput}LQ=HQ}else LQ=!1;OQ=LQ&&(!document.documentMode||9=F)return{node:B,offset:F-U};U=Q}U:{for(;B;){if(B.nextSibling){B=B.nextSibling;break U}B=B.parentNode}B=void 0}B=AQ(B)}}function _Q(U,F){return!(!U||!F)&&(U===F||(!U||3!==U.nodeType)&&(F&&3===F.nodeType?_Q(U,F.parentNode):"contains"in U?U.contains(F):!!U.compareDocumentPosition&&!!(16&U.compareDocumentPosition(F))))}function $Q(U){for(var F=SF((U=null!=U&&null!=U.ownerDocument&&null!=U.ownerDocument.defaultView?U.ownerDocument.defaultView:window).document);F instanceof U.HTMLIFrameElement;){try{var Q="string"===typeof F.contentWindow.location.href}catch(B){Q=!1}if(!Q)break;F=SF((U=F.contentWindow).document)}return F}function UB(U){var F=U&&U.nodeName&&U.nodeName.toLowerCase();return F&&("input"===F&&("text"===U.type||"search"===U.type||"tel"===U.type||"url"===U.type||"password"===U.type)||"textarea"===F||"true"===U.contentEditable)}var FB=OF&&"documentMode"in document&&11>=document.documentMode,QB=null,BB=null,RB=null,VB=!1;function nB(U,F,Q){var B=Q.window===Q?Q.document:9===Q.nodeType?Q:Q.ownerDocument;VB||null==QB||QB!==SF(B)||("selectionStart"in(B=QB)&&UB(B)?B={start:B.selectionStart,end:B.selectionEnd}:B={anchorNode:(B=(B.ownerDocument&&B.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:B.anchorOffset,focusNode:B.focusNode,focusOffset:B.focusOffset},RB&&PQ(RB,B)||(RB=B,0<(B=wN(BB,"onSelect")).length&&(F=new $F("onSelect","select",null,F,Q),U.push({event:F,listeners:B}),F.target=QB)))}function lB(U,F){var Q={};return Q[U.toLowerCase()]=F.toLowerCase(),Q["Webkit"+U]="webkit"+F,Q["Moz"+U]="moz"+F,Q}var dB={animationend:lB("Animation","AnimationEnd"),animationiteration:lB("Animation","AnimationIteration"),animationstart:lB("Animation","AnimationStart"),transitionrun:lB("Transition","TransitionRun"),transitionstart:lB("Transition","TransitionStart"),transitioncancel:lB("Transition","TransitionCancel"),transitionend:lB("Transition","TransitionEnd")},JB={},NB={};function ZB(U){if(JB[U])return JB[U];if(!dB[U])return U;var F,Q=dB[U];for(F in Q)if(Q.hasOwnProperty(F)&&F in NB)return JB[U]=Q[F];return U}OF&&(NB=document.createElement("div").style,"AnimationEvent"in window||(delete dB.animationend.animation,delete dB.animationiteration.animation,delete dB.animationstart.animation),"TransitionEvent"in window||delete dB.transitionend.transition);var WB=ZB("animationend"),SB=ZB("animationiteration"),EB=ZB("animationstart"),kB=ZB("transitionrun"),tB=ZB("transitionstart"),aB=ZB("transitioncancel"),TB=ZB("transitionend"),eB=new Map,CB="abort auxClick beforeToggle 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 DB(U,F){eB.set(U,F),gU(F,[U])}CB.push("scrollEnd");var oB=new WeakMap;function pB(U,F){if("object"===typeof U&&null!==U){var Q=oB.get(U);return void 0!==Q?Q:(F={value:U,source:F,stack:dF(F)},oB.set(U,F),F)}return{value:U,source:F,stack:dF(F)}}var hB=[],cB=0,rB=0;function mB(){for(var U=cB,F=rB=cB=0;F>=n,R-=n,AB=1<<32-SU(F)+R|Q<V?V:8;var n=X.T,l={};X.T=l,Hn(U,!1,F,Q);try{var d=R(),J=X.S;if(null!==J&&J(l,d),null!==d&&"object"===typeof d&&"function"===typeof d.then)Ln(U,F,function(U,F){var Q=[],B={status:"pending",value:null,reason:null,then:function(U){Q.push(U)}};return U.then(function(){B.status="fulfilled",B.value=F;for(var U=0;UE?(k=Z,Z=null):k=Z.sibling;var t=S(R,Z,l[E],d);if(null===t){null===Z&&(Z=k);break}U&&Z&&null===t.alternate&&F(R,Z),n=V(t,n,E),null===N?J=t:N.sibling=t,N=t,Z=k}if(E===l.length)return Q(R,Z),RR&&_B(R,E),J;if(null===Z){for(;Ek?(t=E,E=null):t=E.sibling;var e=S(R,E,T.value,J);if(null===e){null===E&&(E=t);break}U&&E&&null===e.alternate&&F(R,E),l=V(e,l,k),null===Z?N=e:Z.sibling=e,Z=e,E=t}if(T.done)return Q(R,E),RR&&_B(R,k),N;if(null===E){for(;!T.done;k++,T=d.next())null!==(T=W(R,T.value,J))&&(l=V(T,l,k),null===Z?N=T:Z.sibling=T,Z=T);return RR&&_B(R,k),N}for(E=B(E);!T.done;k++,T=d.next())null!==(T=a(E,R,k,T.value,J))&&(U&&null!==T.alternate&&E.delete(null===T.key?k:T.key),l=V(T,l,k),null===Z?N=T:Z.sibling=T,Z=T);return U&&E.forEach(function(U){return F(R,U)}),RR&&_B(R,k),N}(d,J,N=e.call(N),Z)}if("function"===typeof N.then)return T(d,J,An(N),Z);if(N.$$typeof===D)return T(d,J,rR(d,N),Z);_n(d,N)}return"string"===typeof N&&""!==N||"number"===typeof N||"bigint"===typeof N?(N=""+N,null!==J&&6===J.tag?(Q(d,J.sibling),(Z=R(J,N)).return=d,d=Z):(Q(d,J),(Z=xB(N,d.mode,Z)).return=d,d=Z),l(d)):Q(d,J)}return function(U,F,Q,B){try{Pn=0;var R=T(U,F,Q,B);return gn=null,R}catch(n){if(n===jR||n===KR)throw n;var V=YB(29,n,null,U.mode);return V.lanes=B,V.return=U,V}}}var Fl=Ul(!0),Ql=Ul(!1),Bl=L(null),Rl=null;function Vl(U){var F=U.alternate;x(Jl,1&Jl.current),x(Bl,U),null===Rl&&(null===F||null!==WV.current||null!==F.memoizedState)&&(Rl=U)}function nl(U){if(22===U.tag){if(x(Jl,Jl.current),x(Bl,U),null===Rl){var F=U.alternate;null!==F&&null!==F.memoizedState&&(Rl=U)}}else ll()}function ll(){x(Jl,Jl.current),x(Bl,Bl.current)}function dl(U){H(Bl),Rl===U&&(Rl=null),H(Jl)}var Jl=L(0);function Nl(U){for(var F=U;null!==F;){if(13===F.tag){var Q=F.memoizedState;if(null!==Q&&(null===(Q=Q.dehydrated)||"$?"===Q.data||kZ(Q)))return F}else if(19===F.tag&&void 0!==F.memoizedProps.revealOrder){if(0!==(128&F.flags))return F}else if(null!==F.child){F.child.return=F,F=F.child;continue}if(F===U)break;for(;null===F.sibling;){if(null===F.return||F.return===U)return null;F=F.return}F.sibling.return=F.return,F=F.sibling}return null}function Zl(U,F,Q,B){Q=null===(Q=Q(B,F=U.memoizedState))||void 0===Q?F:W({},F,Q),U.memoizedState=Q,0===U.lanes&&(U.updateQueue.baseState=Q)}var Wl={enqueueSetState:function(U,F,Q){U=U._reactInternals;var B=sJ(),R=BV(B);R.payload=F,void 0!==Q&&null!==Q&&(R.callback=Q),null!==(F=RV(U,R,B))&&(YJ(F,U,B),VV(F,U,B))},enqueueReplaceState:function(U,F,Q){U=U._reactInternals;var B=sJ(),R=BV(B);R.tag=1,R.payload=F,void 0!==Q&&null!==Q&&(R.callback=Q),null!==(F=RV(U,R,B))&&(YJ(F,U,B),VV(F,U,B))},enqueueForceUpdate:function(U,F){U=U._reactInternals;var Q=sJ(),B=BV(Q);B.tag=2,void 0!==F&&null!==F&&(B.callback=F),null!==(F=RV(U,B,Q))&&(YJ(F,U,Q),VV(F,U,Q))}};function Sl(U,F,Q,B,R,V,n){return"function"===typeof(U=U.stateNode).shouldComponentUpdate?U.shouldComponentUpdate(B,V,n):!F.prototype||!F.prototype.isPureReactComponent||(!PQ(Q,B)||!PQ(R,V))}function El(U,F,Q,B){U=F.state,"function"===typeof F.componentWillReceiveProps&&F.componentWillReceiveProps(Q,B),"function"===typeof F.UNSAFE_componentWillReceiveProps&&F.UNSAFE_componentWillReceiveProps(Q,B),F.state!==U&&Wl.enqueueReplaceState(F,F.state,null)}function kl(U,F){var Q=F;if("ref"in F)for(var B in Q={},F)"ref"!==B&&(Q[B]=F[B]);if(U=U.defaultProps)for(var R in Q===F&&(Q=W({},Q)),U)void 0===Q[R]&&(Q[R]=U[R]);return Q}var tl="function"===typeof reportError?reportError:function(U){if("object"===typeof window&&"function"===typeof window.ErrorEvent){var F=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"===typeof U&&null!==U&&"string"===typeof U.message?String(U.message):String(U),error:U});if(!window.dispatchEvent(F))return}else if("object"===typeof process&&"function"===typeof process.emit)return void process.emit("uncaughtException",U);console.error(U)};function al(U){tl(U)}function Tl(U){console.error(U)}function el(U){tl(U)}function Cl(U,F){try{(0,U.onUncaughtError)(F.value,{componentStack:F.stack})}catch(Q){setTimeout(function(){throw Q})}}function Dl(U,F,Q){try{(0,U.onCaughtError)(Q.value,{componentStack:Q.stack,errorBoundary:1===F.tag?F.stateNode:null})}catch(B){setTimeout(function(){throw B})}}function ol(U,F,Q){return(Q=BV(Q)).tag=3,Q.payload={element:null},Q.callback=function(){Cl(U,F)},Q}function pl(U){return(U=BV(U)).tag=3,U}function hl(U,F,Q,B){var R=Q.type.getDerivedStateFromError;if("function"===typeof R){var V=B.value;U.payload=function(){return R(V)},U.callback=function(){Dl(F,Q,B)}}var n=Q.stateNode;null!==n&&"function"===typeof n.componentDidCatch&&(U.callback=function(){Dl(F,Q,B),"function"!==typeof R&&(null===pJ?pJ=new Set([this]):pJ.add(this));var U=B.stack;this.componentDidCatch(B.value,{componentStack:null!==U?U:""})})}var cl=Error(n(461)),rl=!1;function ml(U,F,Q,B){F.child=null===U?Ql(F,null,Q,B):Fl(F,U.child,Q,B)}function Ml(U,F,Q,B,R){Q=Q.render;var V=F.ref;if("ref"in B){var n={};for(var l in B)"ref"!==l&&(n[l]=B[l])}else n=B;return hR(F),B=bV(U,F,Q,n,V,R),l=XV(),null===U||rl?(RR&&l&&UR(F),F.flags|=1,ml(U,F,B,R),F.child):(YV(U,F,R),gl(U,F,R))}function il(U,F,Q,B,R){if(null===U){var V=Q.type;return"function"!==typeof V||yB(V)||void 0!==V.defaultProps||null!==Q.compare?((U=LB(Q.type,null,B,F,F.mode,R)).ref=F.ref,U.return=F,F.child=U):(F.tag=15,F.type=V,bl(U,F,V,B,R))}if(V=U.child,!Pl(U,R)){var n=V.memoizedProps;if((Q=null!==(Q=Q.compare)?Q:PQ)(n,B)&&U.ref===F.ref)return gl(U,F,R)}return F.flags|=1,(U=zB(V,B)).ref=F.ref,U.return=F,F.child=U}function bl(U,F,Q,B,R){if(null!==U){var V=U.memoizedProps;if(PQ(V,B)&&U.ref===F.ref){if(rl=!1,F.pendingProps=B=V,!Pl(U,R))return F.lanes=U.lanes,gl(U,F,R);0!==(131072&U.flags)&&(rl=!0)}}return Xl(U,F,Q,B,R)}function vl(U,F,Q){var B=F.pendingProps,R=B.children,V=null!==U?U.memoizedState:null;if("hidden"===B.mode){if(0!==(128&F.flags)){if(B=null!==V?V.baseLanes|Q:Q,null!==U){for(R=F.child=U.child,V=0;null!==R;)V=V|R.lanes|R.childLanes,R=R.sibling;F.childLanes=V&~B}else F.childLanes=0,F.child=null;return Gl(U,F,B,Q)}if(0===(536870912&Q))return F.lanes=F.childLanes=536870912,Gl(U,F,null!==V?V.baseLanes|Q:Q,Q);F.memoizedState={baseLanes:0,cachePool:null},null!==U&&uR(0,null!==V?V.cachePool:null),null!==V?EV(F,V):kV(),nl(F)}else null!==V?(uR(0,V.cachePool),EV(F,V),ll(),F.memoizedState=null):(null!==U&&uR(0,null),kV(),ll());return ml(U,F,R,Q),F.child}function Gl(U,F,Q,B){var R=xR();return R=null===R?null:{parent:vR._currentValue,pool:R},F.memoizedState={baseLanes:Q,cachePool:R},null!==U&&uR(0,null),kV(),nl(F),null!==U&&oR(U,F,B,!0),null}function sl(U,F){var Q=F.ref;if(null===Q)null!==U&&null!==U.ref&&(F.flags|=4194816);else{if("function"!==typeof Q&&"object"!==typeof Q)throw Error(n(284));null!==U&&U.ref===Q||(F.flags|=4194816)}}function Xl(U,F,Q,B,R){return hR(F),Q=bV(U,F,Q,B,void 0,R),B=XV(),null===U||rl?(RR&&B&&UR(F),F.flags|=1,ml(U,F,Q,R),F.child):(YV(U,F,R),gl(U,F,R))}function Yl(U,F,Q,B,R,V){return hR(F),F.updateQueue=null,Q=GV(F,B,Q,R),vV(U),B=XV(),null===U||rl?(RR&&B&&UR(F),F.flags|=1,ml(U,F,Q,V),F.child):(YV(U,F,V),gl(U,F,V))}function yl(U,F,Q,B,R){if(hR(F),null===F.stateNode){var V=sB,n=Q.contextType;"object"===typeof n&&null!==n&&(V=cR(n)),V=new Q(B,V),F.memoizedState=null!==V.state&&void 0!==V.state?V.state:null,V.updater=Wl,F.stateNode=V,V._reactInternals=F,(V=F.stateNode).props=B,V.state=F.memoizedState,V.refs={},FV(F),n=Q.contextType,V.context="object"===typeof n&&null!==n?cR(n):sB,V.state=F.memoizedState,"function"===typeof(n=Q.getDerivedStateFromProps)&&(Zl(F,Q,n,B),V.state=F.memoizedState),"function"===typeof Q.getDerivedStateFromProps||"function"===typeof V.getSnapshotBeforeUpdate||"function"!==typeof V.UNSAFE_componentWillMount&&"function"!==typeof V.componentWillMount||(n=V.state,"function"===typeof V.componentWillMount&&V.componentWillMount(),"function"===typeof V.UNSAFE_componentWillMount&&V.UNSAFE_componentWillMount(),n!==V.state&&Wl.enqueueReplaceState(V,V.state,null),JV(F,B,V,R),dV(),V.state=F.memoizedState),"function"===typeof V.componentDidMount&&(F.flags|=4194308),B=!0}else if(null===U){V=F.stateNode;var l=F.memoizedProps,d=kl(Q,l);V.props=d;var J=V.context,N=Q.contextType;n=sB,"object"===typeof N&&null!==N&&(n=cR(N));var Z=Q.getDerivedStateFromProps;N="function"===typeof Z||"function"===typeof V.getSnapshotBeforeUpdate,l=F.pendingProps!==l,N||"function"!==typeof V.UNSAFE_componentWillReceiveProps&&"function"!==typeof V.componentWillReceiveProps||(l||J!==n)&&El(F,V,B,n),UV=!1;var W=F.memoizedState;V.state=W,JV(F,B,V,R),dV(),J=F.memoizedState,l||W!==J||UV?("function"===typeof Z&&(Zl(F,Q,Z,B),J=F.memoizedState),(d=UV||Sl(F,Q,d,B,W,J,n))?(N||"function"!==typeof V.UNSAFE_componentWillMount&&"function"!==typeof V.componentWillMount||("function"===typeof V.componentWillMount&&V.componentWillMount(),"function"===typeof V.UNSAFE_componentWillMount&&V.UNSAFE_componentWillMount()),"function"===typeof V.componentDidMount&&(F.flags|=4194308)):("function"===typeof V.componentDidMount&&(F.flags|=4194308),F.memoizedProps=B,F.memoizedState=J),V.props=B,V.state=J,V.context=n,B=d):("function"===typeof V.componentDidMount&&(F.flags|=4194308),B=!1)}else{V=F.stateNode,QV(U,F),N=kl(Q,n=F.memoizedProps),V.props=N,Z=F.pendingProps,W=V.context,J=Q.contextType,d=sB,"object"===typeof J&&null!==J&&(d=cR(J)),(J="function"===typeof(l=Q.getDerivedStateFromProps)||"function"===typeof V.getSnapshotBeforeUpdate)||"function"!==typeof V.UNSAFE_componentWillReceiveProps&&"function"!==typeof V.componentWillReceiveProps||(n!==Z||W!==d)&&El(F,V,B,d),UV=!1,W=F.memoizedState,V.state=W,JV(F,B,V,R),dV();var S=F.memoizedState;n!==Z||W!==S||UV||null!==U&&null!==U.dependencies&&pR(U.dependencies)?("function"===typeof l&&(Zl(F,Q,l,B),S=F.memoizedState),(N=UV||Sl(F,Q,N,B,W,S,d)||null!==U&&null!==U.dependencies&&pR(U.dependencies))?(J||"function"!==typeof V.UNSAFE_componentWillUpdate&&"function"!==typeof V.componentWillUpdate||("function"===typeof V.componentWillUpdate&&V.componentWillUpdate(B,S,d),"function"===typeof V.UNSAFE_componentWillUpdate&&V.UNSAFE_componentWillUpdate(B,S,d)),"function"===typeof V.componentDidUpdate&&(F.flags|=4),"function"===typeof V.getSnapshotBeforeUpdate&&(F.flags|=1024)):("function"!==typeof V.componentDidUpdate||n===U.memoizedProps&&W===U.memoizedState||(F.flags|=4),"function"!==typeof V.getSnapshotBeforeUpdate||n===U.memoizedProps&&W===U.memoizedState||(F.flags|=1024),F.memoizedProps=B,F.memoizedState=S),V.props=B,V.state=S,V.context=d,B=N):("function"!==typeof V.componentDidUpdate||n===U.memoizedProps&&W===U.memoizedState||(F.flags|=4),"function"!==typeof V.getSnapshotBeforeUpdate||n===U.memoizedProps&&W===U.memoizedState||(F.flags|=1024),B=!1)}return V=B,sl(U,F),B=0!==(128&F.flags),V||B?(V=F.stateNode,Q=B&&"function"!==typeof Q.getDerivedStateFromError?null:V.render(),F.flags|=1,null!==U&&B?(F.child=Fl(F,U.child,null,R),F.child=Fl(F,null,Q,R)):ml(U,F,Q,R),F.memoizedState=V.state,U=F.child):U=gl(U,F,R),U}function zl(U,F,Q,B){return WR(),F.flags|=256,ml(U,F,Q,B),F.child}var Ol={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Ll(U){return{baseLanes:U,cachePool:wR()}}function Hl(U,F,Q){return U=null!==U?U.childLanes&~Q:0,F&&(U|=kJ),U}function xl(U,F,Q){var B,R=F.pendingProps,V=!1,l=0!==(128&F.flags);if((B=l)||(B=(null===U||null!==U.memoizedState)&&0!==(2&Jl.current)),B&&(V=!0,F.flags&=-129),B=0!==(32&F.flags),F.flags&=-33,null===U){if(RR){if(V?Vl(F):ll(),RR){var d,J=BR;if(d=J){U:{for(d=J,J=nR;8!==d.nodeType;){if(!J){J=null;break U}if(null===(d=tZ(d.nextSibling))){J=null;break U}}J=d}null!==J?(F.memoizedState={dehydrated:J,treeContext:null!==PB?{id:AB,overflow:qB}:null,retryLane:536870912,hydrationErrors:null},(d=YB(18,null,null,0)).stateNode=J,d.return=F,F.child=d,QR=F,BR=null,d=!0):d=!1}d||dR(F)}if(null!==(J=F.memoizedState)&&null!==(J=J.dehydrated))return kZ(J)?F.lanes=32:F.lanes=536870912,null;dl(F)}return J=R.children,R=R.fallback,V?(ll(),J=wl({mode:"hidden",children:J},V=F.mode),R=HB(R,V,Q,null),J.return=F,R.return=F,J.sibling=R,F.child=J,(V=F.child).memoizedState=Ll(Q),V.childLanes=Hl(U,B,Q),F.memoizedState=Ol,R):(Vl(F),ul(F,J))}if(null!==(d=U.memoizedState)&&null!==(J=d.dehydrated)){if(l)256&F.flags?(Vl(F),F.flags&=-257,F=jl(U,F,Q)):null!==F.memoizedState?(ll(),F.child=U.child,F.flags|=128,F=null):(ll(),V=R.fallback,J=F.mode,R=wl({mode:"visible",children:R.children},J),(V=HB(V,J,Q,null)).flags|=2,R.return=F,V.return=F,R.sibling=V,F.child=R,Fl(F,U.child,null,Q),(R=F.child).memoizedState=Ll(Q),R.childLanes=Hl(U,B,Q),F.memoizedState=Ol,F=V);else if(Vl(F),kZ(J)){if(B=J.nextSibling&&J.nextSibling.dataset)var N=B.dgst;B=N,(R=Error(n(419))).stack="",R.digest=B,ER({value:R,source:null,stack:null}),F=jl(U,F,Q)}else if(rl||oR(U,F,Q,!1),B=0!==(Q&U.childLanes),rl||B){if(null!==(B=QJ)&&(0!==(R=0!==((R=0!==(42&(R=Q&-Q))?1:MU(R))&(B.suspendedLanes|Q))?0:R)&&R!==d.retryLane))throw d.retryLane=R,bB(U,R),YJ(B,U,R),cl;"$?"===J.data||KJ(),F=jl(U,F,Q)}else"$?"===J.data?(F.flags|=192,F.child=U.child,F=null):(U=d.treeContext,BR=tZ(J.nextSibling),QR=F,RR=!0,VR=null,nR=!1,null!==U&&(fB[gB++]=AB,fB[gB++]=qB,fB[gB++]=PB,AB=U.id,qB=U.overflow,PB=F),(F=ul(F,R.children)).flags|=4096);return F}return V?(ll(),V=R.fallback,J=F.mode,N=(d=U.child).sibling,(R=zB(d,{mode:"hidden",children:R.children})).subtreeFlags=65011712&d.subtreeFlags,null!==N?V=zB(N,V):(V=HB(V,J,Q,null)).flags|=2,V.return=F,R.return=F,R.sibling=V,F.child=R,R=V,V=F.child,null===(J=U.child.memoizedState)?J=Ll(Q):(null!==(d=J.cachePool)?(N=vR._currentValue,d=d.parent!==N?{parent:N,pool:N}:d):d=wR(),J={baseLanes:J.baseLanes|Q,cachePool:d}),V.memoizedState=J,V.childLanes=Hl(U,B,Q),F.memoizedState=Ol,R):(Vl(F),U=(Q=U.child).sibling,(Q=zB(Q,{mode:"visible",children:R.children})).return=F,Q.sibling=null,null!==U&&(null===(B=F.deletions)?(F.deletions=[U],F.flags|=16):B.push(U)),F.child=Q,F.memoizedState=null,Q)}function ul(U,F){return(F=wl({mode:"visible",children:F},U.mode)).return=U,U.child=F}function wl(U,F){return(U=YB(22,U,null,F)).lanes=0,U.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null},U}function jl(U,F,Q){return Fl(F,U.child,null,Q),(U=ul(F,F.pendingProps.children)).flags|=2,F.memoizedState=null,U}function Il(U,F,Q){U.lanes|=F;var B=U.alternate;null!==B&&(B.lanes|=F),CR(U.return,F,Q)}function Kl(U,F,Q,B,R){var V=U.memoizedState;null===V?U.memoizedState={isBackwards:F,rendering:null,renderingStartTime:0,last:B,tail:Q,tailMode:R}:(V.isBackwards=F,V.rendering=null,V.renderingStartTime=0,V.last=B,V.tail=Q,V.tailMode=R)}function fl(U,F,Q){var B=F.pendingProps,R=B.revealOrder,V=B.tail;if(ml(U,F,B.children,Q),0!==(2&(B=Jl.current)))B=1&B|2,F.flags|=128;else{if(null!==U&&0!==(128&U.flags))U:for(U=F.child;null!==U;){if(13===U.tag)null!==U.memoizedState&&Il(U,Q,F);else if(19===U.tag)Il(U,Q,F);else if(null!==U.child){U.child.return=U,U=U.child;continue}if(U===F)break U;for(;null===U.sibling;){if(null===U.return||U.return===F)break U;U=U.return}U.sibling.return=U.return,U=U.sibling}B&=1}switch(x(Jl,B),R){case"forwards":for(Q=F.child,R=null;null!==Q;)null!==(U=Q.alternate)&&null===Nl(U)&&(R=Q),Q=Q.sibling;null===(Q=R)?(R=F.child,F.child=null):(R=Q.sibling,Q.sibling=null),Kl(F,!1,R,Q,V);break;case"backwards":for(Q=null,R=F.child,F.child=null;null!==R;){if(null!==(U=R.alternate)&&null===Nl(U)){F.child=R;break}U=R.sibling,R.sibling=Q,Q=R,R=U}Kl(F,!0,Q,null,V);break;case"together":Kl(F,!1,null,null,void 0);break;default:F.memoizedState=null}return F.child}function gl(U,F,Q){if(null!==U&&(F.dependencies=U.dependencies),WJ|=F.lanes,0===(Q&F.childLanes)){if(null===U)return null;if(oR(U,F,Q,!1),0===(Q&F.childLanes))return null}if(null!==U&&F.child!==U.child)throw Error(n(153));if(null!==F.child){for(Q=zB(U=F.child,U.pendingProps),F.child=Q,Q.return=F;null!==U.sibling;)U=U.sibling,(Q=Q.sibling=zB(U,U.pendingProps)).return=F;Q.sibling=null}return F.child}function Pl(U,F){return 0!==(U.lanes&F)||!(null===(U=U.dependencies)||!pR(U))}function Al(U,F,Q){if(null!==U)if(U.memoizedProps!==F.pendingProps)rl=!0;else{if(!Pl(U,Q)&&0===(128&F.flags))return rl=!1,function(U,F,Q){switch(F.tag){case 3:K(F,F.stateNode.containerInfo),TR(0,vR,U.memoizedState.cache),WR();break;case 27:case 5:g(F);break;case 4:K(F,F.stateNode.containerInfo);break;case 10:TR(0,F.type,F.memoizedProps.value);break;case 13:var B=F.memoizedState;if(null!==B)return null!==B.dehydrated?(Vl(F),F.flags|=128,null):0!==(Q&F.child.childLanes)?xl(U,F,Q):(Vl(F),null!==(U=gl(U,F,Q))?U.sibling:null);Vl(F);break;case 19:var R=0!==(128&U.flags);if((B=0!==(Q&F.childLanes))||(oR(U,F,Q,!1),B=0!==(Q&F.childLanes)),R){if(B)return fl(U,F,Q);F.flags|=128}if(null!==(R=F.memoizedState)&&(R.rendering=null,R.tail=null,R.lastEffect=null),x(Jl,Jl.current),B)break;return null;case 22:case 23:return F.lanes=0,vl(U,F,Q);case 24:TR(0,vR,U.memoizedState.cache)}return gl(U,F,Q)}(U,F,Q);rl=0!==(131072&U.flags)}else rl=!1,RR&&0!==(1048576&F.flags)&&$B(F,KB,F.index);switch(F.lanes=0,F.tag){case 16:U:{U=F.pendingProps;var B=F.elementType,R=B._init;if(B=R(B._payload),F.type=B,"function"!==typeof B){if(void 0!==B&&null!==B){if((R=B.$$typeof)===o){F.tag=11,F=Ml(null,F,B,U,Q);break U}if(R===c){F.tag=14,F=il(null,F,B,U,Q);break U}}throw F=G(B)||B,Error(n(306,F,""))}yB(B)?(U=kl(B,U),F.tag=1,F=yl(null,F,B,U,Q)):(F.tag=0,F=Xl(null,F,B,U,Q))}return F;case 0:return Xl(U,F,F.type,F.pendingProps,Q);case 1:return yl(U,F,B=F.type,R=kl(B,F.pendingProps),Q);case 3:U:{if(K(F,F.stateNode.containerInfo),null===U)throw Error(n(387));B=F.pendingProps;var V=F.memoizedState;R=V.element,QV(U,F),JV(F,B,null,Q);var l=F.memoizedState;if(B=l.cache,TR(0,vR,B),B!==V.cache&&DR(F,[vR],Q,!0),dV(),B=l.element,V.isDehydrated){if(V={element:B,isDehydrated:!1,cache:l.cache},F.updateQueue.baseState=V,F.memoizedState=V,256&F.flags){F=zl(U,F,B,Q);break U}if(B!==R){ER(R=pB(Error(n(424)),F)),F=zl(U,F,B,Q);break U}if(9===(U=F.stateNode.containerInfo).nodeType)U=U.body;else U="HTML"===U.nodeName?U.ownerDocument.body:U;for(BR=tZ(U.firstChild),QR=F,RR=!0,VR=null,nR=!0,Q=Ql(F,null,B,Q),F.child=Q;Q;)Q.flags=-3&Q.flags|4096,Q=Q.sibling}else{if(WR(),B===R){F=gl(U,F,Q);break U}ml(U,F,B,Q)}F=F.child}return F;case 26:return sl(U,F),null===U?(Q=mZ(F.type,null,F.pendingProps,null))?F.memoizedState=Q:RR||(Q=F.type,U=F.pendingProps,(B=QZ(j.current).createElement(Q))[GU]=F,B[sU]=U,$N(B,Q,U),IU(B),F.stateNode=B):F.memoizedState=mZ(F.type,U.memoizedProps,F.pendingProps,U.memoizedState),null;case 27:return g(F),null===U&&RR&&(B=F.stateNode=eZ(F.type,F.pendingProps,j.current),QR=F,nR=!0,R=BR,WZ(F.type)?(aZ=R,BR=tZ(B.firstChild)):BR=R),ml(U,F,F.pendingProps.children,Q),sl(U,F),null===U&&(F.flags|=4194304),F.child;case 5:return null===U&&RR&&((R=B=BR)&&(null!==(B=function(U,F,Q,B){for(;1===U.nodeType;){var R=Q;if(U.nodeName.toLowerCase()!==F.toLowerCase()){if(!B&&("INPUT"!==U.nodeName||"hidden"!==U.type))break}else if(B){if(!U[LU])switch(F){case"meta":if(!U.hasAttribute("itemprop"))break;return U;case"link":if("stylesheet"===(V=U.getAttribute("rel"))&&U.hasAttribute("data-precedence"))break;if(V!==R.rel||U.getAttribute("href")!==(null==R.href||""===R.href?null:R.href)||U.getAttribute("crossorigin")!==(null==R.crossOrigin?null:R.crossOrigin)||U.getAttribute("title")!==(null==R.title?null:R.title))break;return U;case"style":if(U.hasAttribute("data-precedence"))break;return U;case"script":if(((V=U.getAttribute("src"))!==(null==R.src?null:R.src)||U.getAttribute("type")!==(null==R.type?null:R.type)||U.getAttribute("crossorigin")!==(null==R.crossOrigin?null:R.crossOrigin))&&V&&U.hasAttribute("async")&&!U.hasAttribute("itemprop"))break;return U;default:return U}}else{if("input"!==F||"hidden"!==U.type)return U;var V=null==R.name?null:""+R.name;if("hidden"===R.type&&U.getAttribute("name")===V)return U}if(null===(U=tZ(U.nextSibling)))break}return null}(B,F.type,F.pendingProps,nR))?(F.stateNode=B,QR=F,BR=tZ(B.firstChild),nR=!1,R=!0):R=!1),R||dR(F)),g(F),R=F.type,V=F.pendingProps,l=null!==U?U.memoizedProps:null,B=V.children,VZ(R,V)?B=null:null!==l&&VZ(R,l)&&(F.flags|=32),null!==F.memoizedState&&(R=bV(U,F,sV,null,null,Q),fZ._currentValue=R),sl(U,F),ml(U,F,B,Q),F.child;case 6:return null===U&&RR&&((U=Q=BR)&&(null!==(Q=function(U,F,Q){if(""===F)return null;for(;3!==U.nodeType;){if((1!==U.nodeType||"INPUT"!==U.nodeName||"hidden"!==U.type)&&!Q)return null;if(null===(U=tZ(U.nextSibling)))return null}return U}(Q,F.pendingProps,nR))?(F.stateNode=Q,QR=F,BR=null,U=!0):U=!1),U||dR(F)),null;case 13:return xl(U,F,Q);case 4:return K(F,F.stateNode.containerInfo),B=F.pendingProps,null===U?F.child=Fl(F,null,B,Q):ml(U,F,B,Q),F.child;case 11:return Ml(U,F,F.type,F.pendingProps,Q);case 7:return ml(U,F,F.pendingProps,Q),F.child;case 8:case 12:return ml(U,F,F.pendingProps.children,Q),F.child;case 10:return B=F.pendingProps,TR(0,F.type,B.value),ml(U,F,B.children,Q),F.child;case 9:return R=F.type._context,B=F.pendingProps.children,hR(F),B=B(R=cR(R)),F.flags|=1,ml(U,F,B,Q),F.child;case 14:return il(U,F,F.type,F.pendingProps,Q);case 15:return bl(U,F,F.type,F.pendingProps,Q);case 19:return fl(U,F,Q);case 31:return B=F.pendingProps,Q=F.mode,B={mode:B.mode,children:B.children},null===U?((Q=wl(B,Q)).ref=F.ref,F.child=Q,Q.return=F,F=Q):((Q=zB(U.child,B)).ref=F.ref,F.child=Q,Q.return=F,F=Q),F;case 22:return vl(U,F,Q);case 24:return hR(F),B=cR(vR),null===U?(null===(R=xR())&&(R=QJ,V=GR(),R.pooledCache=V,V.refCount++,null!==V&&(R.pooledCacheLanes|=Q),R=V),F.memoizedState={parent:B,cache:R},FV(F),TR(0,vR,R)):(0!==(U.lanes&Q)&&(QV(U,F),JV(F,null,null,Q),dV()),R=U.memoizedState,V=F.memoizedState,R.parent!==B?(R={parent:B,cache:B},F.memoizedState=R,0===F.lanes&&(F.memoizedState=F.updateQueue.baseState=R),TR(0,vR,B)):(B=V.cache,TR(0,vR,B),B!==R.cache&&DR(F,[vR],Q,!0))),ml(U,F,F.pendingProps.children,Q),F.child;case 29:throw F.pendingProps}throw Error(n(156,F.tag))}function ql(U){U.flags|=4}function _l(U,F){if("stylesheet"!==F.type||0!==(4&F.state.loading))U.flags&=-16777217;else if(U.flags|=16777216,!HZ(F)){if(null!==(F=Bl.current)&&((4194048&RJ)===RJ?null!==Rl:(62914560&RJ)!==RJ&&0===(536870912&RJ)||F!==Rl))throw qR=fR,IR;U.flags|=8192}}function $l(U,F){null!==F&&(U.flags|=4),16384&U.flags&&(F=22!==U.tag?pU():536870912,U.lanes|=F,tJ|=F)}function Ud(U,F){if(!RR)switch(U.tailMode){case"hidden":F=U.tail;for(var Q=null;null!==F;)null!==F.alternate&&(Q=F),F=F.sibling;null===Q?U.tail=null:Q.sibling=null;break;case"collapsed":Q=U.tail;for(var B=null;null!==Q;)null!==Q.alternate&&(B=Q),Q=Q.sibling;null===B?F||null===U.tail?U.tail=null:U.tail.sibling=null:B.sibling=null}}function Fd(U){var F=null!==U.alternate&&U.alternate.child===U.child,Q=0,B=0;if(F)for(var R=U.child;null!==R;)Q|=R.lanes|R.childLanes,B|=65011712&R.subtreeFlags,B|=65011712&R.flags,R.return=U,R=R.sibling;else for(R=U.child;null!==R;)Q|=R.lanes|R.childLanes,B|=R.subtreeFlags,B|=R.flags,R.return=U,R=R.sibling;return U.subtreeFlags|=B,U.childLanes=Q,F}function Qd(U,F,Q){var B=F.pendingProps;switch(FR(F),F.tag){case 31:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:case 1:return Fd(F),null;case 3:return Q=F.stateNode,B=null,null!==U&&(B=U.memoizedState.cache),F.memoizedState.cache!==B&&(F.flags|=2048),eR(vR),f(),Q.pendingContext&&(Q.context=Q.pendingContext,Q.pendingContext=null),null!==U&&null!==U.child||(ZR(F)?ql(F):null===U||U.memoizedState.isDehydrated&&0===(256&F.flags)||(F.flags|=1024,SR())),Fd(F),null;case 26:return Q=F.memoizedState,null===U?(ql(F),null!==Q?(Fd(F),_l(F,Q)):(Fd(F),F.flags&=-16777217)):Q?Q!==U.memoizedState?(ql(F),Fd(F),_l(F,Q)):(Fd(F),F.flags&=-16777217):(U.memoizedProps!==B&&ql(F),Fd(F),F.flags&=-16777217),null;case 27:P(F),Q=j.current;var R=F.type;if(null!==U&&null!=F.stateNode)U.memoizedProps!==B&&ql(F);else{if(!B){if(null===F.stateNode)throw Error(n(166));return Fd(F),null}U=u.current,ZR(F)?JR(F):(U=eZ(R,B,Q),F.stateNode=U,ql(F))}return Fd(F),null;case 5:if(P(F),Q=F.type,null!==U&&null!=F.stateNode)U.memoizedProps!==B&&ql(F);else{if(!B){if(null===F.stateNode)throw Error(n(166));return Fd(F),null}if(U=u.current,ZR(F))JR(F);else{switch(R=QZ(j.current),U){case 1:U=R.createElementNS("http://www.w3.org/2000/svg",Q);break;case 2:U=R.createElementNS("http://www.w3.org/1998/Math/MathML",Q);break;default:switch(Q){case"svg":U=R.createElementNS("http://www.w3.org/2000/svg",Q);break;case"math":U=R.createElementNS("http://www.w3.org/1998/Math/MathML",Q);break;case"script":(U=R.createElement("div")).innerHTML="