UNPKG

openchemlib

Version:
15 lines (14 loc) 1.17 MB
var SP=class{copyMolecule(Dt){let zt=Dt.getIDCodeAndCoordinates();navigator.clipboard.writeText(`${zt.idCode} ${zt.coordinates}`)}pasteMolecule(){return null}};var Lu="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",HA=new Uint8Array(256);for(let B=0;B<Lu.length;B++)HA[Lu.charCodeAt(B)]=B;function Uu(B){let Dt=B.length*.75,zt=B.length,qt,Gt=0,z1,Ot,Q1,D1;B.at(-1)==="="&&(Dt--,B.at(-2)==="="&&Dt--);let R1=new ArrayBuffer(Dt),F1=new Uint8Array(R1);for(qt=0;qt<zt;qt+=4)z1=HA[B.charCodeAt(qt)],Ot=HA[B.charCodeAt(qt+1)],Q1=HA[B.charCodeAt(qt+2)],D1=HA[B.charCodeAt(qt+3)],F1[Gt++]=z1<<2|Ot>>4,F1[Gt++]=(Ot&15)<<4|Q1>>2,F1[Gt++]=(Q1&3)<<6|D1&63;return R1}function NP(B){return B.toString(16).padStart(2,"0")}var Xe=globalThis.devicePixelRatio||1;var $n=class{constructor(Dt){this.ctx=Dt,this.ctx.textAlign="left",this.ctx.textBaseline="top",this.currentFontSize=12,this.currentFont="12px sans-serif",this.ctx.font=this.currentFont,this.currentColor="#000000",this.currentLineWidth=1,this.canvasCache=new Map}clearRect(Dt,zt,qt,Gt){this.ctx.clearRect(Dt,zt,qt,Gt)}getBackgroundRGB(){return 16777215}getForegroundRGB(){return 0}getSelectionBackgroundRGB(){return 12310268}getLineWidth(){return this.currentLineWidth}setRGB(Dt){let zt=Dt>>>16&255,qt=Dt>>>8&255,Gt=Dt>>>0&255;this.currentColor=`#${NP(zt)}${NP(qt)}${NP(Gt)}`,this.ctx.fillStyle=this.currentColor,this.ctx.strokeStyle=this.currentColor}setFont(Dt,zt,qt){this.currentFontSize=Dt,this.currentFont=`${zt?"bold":""} ${qt?"italic":""} ${Dt}px sans-serif`,this.ctx.font=this.currentFont}getFontSize(){return this.currentFontSize}getBounds(Dt){let zt=this.ctx.measureText(Dt);return{x:zt.actualBoundingBoxLeft,y:zt.actualBoundingBoxAscent,width:zt.actualBoundingBoxRight,height:zt.actualBoundingBoxAscent}}drawString(Dt,zt,qt){this.ctx.fillText(qt,Dt,zt)}drawCenteredString(Dt,zt,qt){this.ctx.textAlign="center",this.ctx.textBaseline="middle",this.ctx.fillText(qt,Dt,zt),this.ctx.textAlign="left",this.ctx.textBaseline="top"}setLineWidth(Dt){this.currentLineWidth=Dt,this.ctx.lineWidth=Dt}fillRectangle(Dt,zt,qt,Gt){this.ctx.fillRect(Dt,zt,qt,Gt)}fillCircle(Dt,zt,qt){let Gt=qt/2;this.ctx.beginPath(),this.ctx.arc(Dt+Gt,zt+Gt,Gt,0,2*Math.PI),this.ctx.fill()}drawLine(Dt,zt,qt,Gt){this.ctx.beginPath(),this.ctx.moveTo(Dt,zt),this.ctx.lineTo(qt,Gt),this.ctx.stroke()}drawPolygon(Dt){this.ctx.beginPath(),this.ctx.moveTo(Dt.getX(0),Dt.getY(0));for(let zt=1;zt<Dt.getSize();zt++)this.ctx.lineTo(Dt.getX(zt),Dt.getY(zt));this.ctx.stroke()}drawRectangle(Dt,zt,qt,Gt){this.ctx.strokeRect(Dt,zt,qt,Gt)}fillPolygon(Dt){this.ctx.beginPath(),this.ctx.moveTo(Dt.getX(0),Dt.getY(0));for(let zt=1;zt<Dt.getSize();zt++)this.ctx.lineTo(Dt.getX(zt),Dt.getY(zt));this.ctx.fill()}drawImage(Dt,zt,qt,Gt,z1,Ot,Q1,D1,R1){if(arguments.length!==9)throw new Error(`drawImage call with ${arguments.length} arguments unimplemented`);let F1=this.canvasCache.get(Dt);if(!F1){F1=document.createElement("canvas");let S1=Dt.imageData;F1.width=S1.width,F1.height=S1.height;let c1=F1.getContext("2d");c1.globalAlpha=0,c1.putImageData(S1,0,0),this.canvasCache.set(Dt,F1)}this.ctx.drawImage(F1,zt,qt,Gt,z1,Ot,Q1,D1,R1)}isDarkBackground(){return!1}};var JP=class{constructor(Dt,zt){this.canvasElement=Dt,this.changeListener=zt,this.drawContext=new $n(this.canvasElement.getContext("2d"))}getBackgroundRGB(){return 16777215}getCanvasWidth(){return this.canvasElement.width}getCanvasHeight(){return this.canvasElement.height}getDrawContext(){return this.drawContext}onChange(Dt,zt){this.changeListener?.({what:Dt,isUserEvent:zt})}getClipboardHandler(){return new SP}};var e2=` /* We can customize editor styles here. */ `,R8;function yu(){if(R8)return R8;let B=new CSSStyleSheet;return B.replaceSync(e2),R8=B,B}function C8(B,Dt,zt){let qt=-1;function Gt(Ot,Q1,D1=0){Q1.button>0||Dt.fireMouseEvent(Ot,Q1.button+1,D1,Math.round(Q1.offsetX*Xe),Math.round(Q1.offsetY*Xe),Q1.shiftKey,Q1.ctrlKey,Q1.altKey,Q1.button===2)}B.addEventListener("pointerdown",Ot=>{qt===-1&&(qt=Ot.pointerId,Gt(zt.MOUSE_EVENT_PRESSED,Ot))});function z1(Ot){qt===Ot.pointerId&&(qt=-1,Gt(zt.MOUSE_EVENT_RELEASED,Ot))}return document.addEventListener("pointerup",z1),B.addEventListener("click",Ot=>{Gt(zt.MOUSE_EVENT_CLICKED,Ot,Ot.detail)}),B.addEventListener("pointerenter",Ot=>{Gt(zt.MOUSE_EVENT_ENTERED,Ot)}),B.addEventListener("pointerleave",Ot=>{Gt(zt.MOUSE_EVENT_EXITED,Ot)}),B.addEventListener("pointermove",Ot=>{qt!==-1?qt===Ot.pointerId&&Gt(zt.MOUSE_EVENT_DRAGGED,Ot):Gt(zt.MOUSE_EVENT_MOVED,Ot)}),()=>{document.removeEventListener("pointerup",z1)}}function su(B,Dt,zt,qt,Gt){let z1=typeof navigator<"u"&&navigator.platform==="MacIntel",Ot=D1=>z1&&D1.metaKey||!z1&&D1.ctrlKey;function Q1(D1,R1){let F1=n2(R1,qt);F1!==null&&zt.fireKeyEvent(D1,F1,R1.altKey,R1.ctrlKey,R1.shiftKey,Ot(R1))}return Dt.addEventListener("keydown",D1=>{Ot(D1)&&D1.key==="c"||Ot(D1)&&D1.key==="v"||Q1(qt.KEY_EVENT_PRESSED,D1)}),Dt.addEventListener("keyup",D1=>{Q1(qt.KEY_EVENT_RELEASED,D1)}),B.addEventListener("paste",D1=>{let R1=D1.clipboardData.getData("text"),F1=Gt.fromText(R1);F1&&F1.getAllAtoms()>0&&zt.addPastedOrDropped(F1)}),()=>{}}function n2(B,Dt){switch(B.key){case"Control":return Dt.KEY_CTRL;case"Alt":return Dt.KEY_ALT;case"Shift":return Dt.KEY_SHIFT;case"Delete":case"Backspace":return Dt.KEY_DELETE;case"F1":return Dt.KEY_HELP;case"Escape":return Dt.KEY_ESCAPE;case"Enter":return Dt.KEY_ENTER;default:return B.key.length===1?B.key.codePointAt(0):null}}var OP=class{constructor(Dt){this.canvasElement=Dt,this.drawContext=new $n(this.canvasElement.getContext("2d"))}setDimensions(Dt,zt){this.canvasElement.width=Dt,this.canvasElement.style.width=`${Dt/Xe}px`,this.canvasElement.height=zt,this.canvasElement.style.height=`${zt/Xe}px`}getDrawContext(){return this.drawContext}getBackgroundRGB(){return 16777215}getForegroundRGB(){return 0}};var Tu={"chain.png":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAQAAABKfvVzAAAB2UlEQVR4XmNgGJmAkYGJgQULZGXAhCygIGICQg4GdjTIARRDh5xAEQwNKYzXeK4xY1Oez3SNfz8TmoYUxq+6m9bfqLjDI4tmfhzLff9VR17FoWhwZXpkOm2v1C+79+cbD4gga8lneuhrfdv6/+ItSBpSGB+bTDos9IfzP9N/k3cX6+7wwByWz/TWR/E1w/+kO+8j4BpSGL9rz9wh+Efs14TF3heY/tu/vlF2hxtkSxzLY2/FVyz/om69jT0G8kM6QyNDM9MT41nbZX9y/J/ct1/4iU7aIYb/9q8uVx0UbmF64mV7i/1/0s0HSVM5dRgYrjB84/8U+bh80iH+34z/17Xc51ZhUGX8qpkK1GL6+krltyClVyz/c+69C57CwQsK1v+Sl9rdvgr8Z/7P9WvKxNs8fsD44ABqeWLkdYHhv9sL8e+s/xJuv4k4yajEAI6H/+6llxn+g6DUh75gSXhgugEdmXIUJB5150HSFA59oHKIBteGSyBhpv+q9wsVQaZDICdDKuNnneRjCY9exU3l5AUrh2gQelAQ/8Tgve2Tb25NjIgYBkmnMl5Sumi+hQmiGKqhgaGB57Pts4Bfek0sjkjmIxQhs8BpiZFBh0EPCLGlTnQxcGod8gAAp9es6fCW8G8AAAAASUVORK5CYII=)","eraser.png":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAQAAABKfvVzAAAC1UlEQVR4XnWU309SYRjHn8OYTTM3zTmjC8NFFBR10dJu27wx11VX/QNdeGebTsvua93mRbUmLhURzYgKRZRJUJLibLPpRDCZC3/b1AMc4Tw97+EAR2e8FzD4fr7v53nPOQDCDkT/s2KAKiwROOXvFP8JLnDDGHhgArzgg28wCQGYgiDMw6E+1pY2rsECLEIIIrAC1O2CV/AWzPAOLGCFQbDDJ/hC+CQktU5bXWJoMGlaVv0iPAy/GeCmeBf0QB/YYECKO6kkzAl6Z/+t+BmsSJotgmmN4lFYZcA4tfdQez+1D8Fnio+S1oHe5TAcFuJHVBNit4nGLYrHGOCBbin+ntodMEzxKMkMWy8LpfgSEUN4niC7TTBtqzYYMCG3Z9xHadgD/bC1hi+U4uw1TkhFsqs3adpngJdGHSAZB8VHYAZ4vdt+RSjED3KcvYWYWMJuFY0E+MjdQe5MZgYE7YhFL8soCJzDU1iKwdcE+HOjBoG/NNJbq5DJI40EPNiIPCLgO/Wzk4lS3D2kPyaTQe5hETZsLDfxRRQLkLuLDjJd7u8wJs/mRs22J7CR4re3Qq3xIpENPUUHG+biuqX2UVsVX41epTp9ZjINm0ttqTIEZECQboK0ztd/Ya951t+nRi2GFYgksxluSlO7BMTYLVblMVcmOOTEZ9N+i4YvkREmAySz2JaNE4CqtM5jvrZHcbbE5lmLU8NrJTEmc3drsT1VlmmXdsCbgTdSu7wKUi2zPqsaq7GWZCjeJBZnwxlAN9dRyecBtsvzH/4+DV+MNdsLT4/GJSU0jHde3T2KtMxYnA8X5tvT5cp2eehDLnVxrPPoLgWpx4Hd+8Lp/Zx7boYoe/g40eDtViIF6Se+xPX8qPl96DqECImrRMOY2fg3e1atwd16UX1cR75wEXr4VmGdxL52atbpX2HnxfTenfiJcelKr9CjvQp/IMWJ57AO62ndOKk7890/iSWBU4XaZc0AAAAASUVORK5CYII=)","fist.png":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAQAAABKfvVzAAABj0lEQVR4Xu2S3yuDYRTHz7IZsfdCUrYLG4VCpJV6d0mS/A1zg79ArRArP4q5s4ulVousFCn/gX/g5WK7wkZMzIXMxjZ793XeMdn7vpM/wDn1PD1P53PO95znIfq3rwmYyU5tZPr7PJYoTjGaZ8xB1t+xZQqyP60iAEeWsThFGKpqbiE9CRECrnCHLnTAj17QbLV4E3mFXALbcOAGSXRiClnMgZLkZR/QYg0UEpDBDuxI4IHzT6OADdRiEK2gE12gBWmWE8Yj7weQIGOT650zaoiqAVtjDx2KeEWR8xZ4lUt+jEWkWJxJBYgkWa7NLy5WXWl5FilzhfoKwEAzzkwYI3DhTQUoVYpYR10FYCTPaDbJ2heQUwGfR0kFELmt6Utu9Jmz6dmFpmmR7v141w1XBiCBNFNacyKmCxT59kgHGBIQ4g7UkpRzESuwaCoQ+YZxqwGUGaUwrvvStqazLeRLj/bTZUTQB5rQfg1jjac9e8qAzFgZKbDMALpj1Kz3Z0WKjiGIfex++x6H98PgK4d/APiDpdwStyBoAAAAAElFTkSuQmCC)","hand.png":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAQAAABKfvVzAAAB50lEQVR4Xq2TwUsUcRzF3yy52TboHiKVLBCElb1479g5kgKPCkKs4ME6eAiiP0GELileStew6NLJq5Sihw6BG2VlECymB2PVXd10Zl7vN+OuOjNLl35fZhiY+fzee9/vb4D/tAow9fafu90BsqrvnXzNBwSTTBAZ2I3BkSbeYBMzLHNRn9/nEFHCvYZAutDHDfb5wDvanOVnoozBhkBzIUeHOQEHfO8DW0QV0xjC3VjoUh2onAC/ZPAme4giemMQo+BKoaeusCmdSa41MmYL8HxLgUKe27q/UKLzSSxcwUOMwk7VgTKX6sBz7oeA61hJHSUP8ST1raZQA7Z8hb0QkO1WE+d5lZdlx+UbTsjSR95i0bc0E7GUzfIHdziouRqFPzwU5ii4IzOP+SFiqe3i8jyP1A1bgKPyVGa5/M2S7iaDdWZ8KUwNe1Uus923FHx8ujwZPA9YGO48+CK/Ywp4un8N8SIZgG78fCTvFV1n9w+ePe6GFMzMJ7u4zuOInQDYYaKcDB3Ba63FGQWPLk8mt2MAWKv96kk0sKM2TBFfkQ4fvkx6fyHSH9NalwO0PkXPaktirt8rhRpqelblbV6IASzkmivP9NrEdE9AM/FXbCPG4v+6p+3VcZ2ql5zTZSqv+XcQ6+gKgL8a/RiIJPdySgAAAABJRU5ErkJggg==)","handPlus.png":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAQAAABKfvVzAAACAUlEQVR4Xq2Tz0sUcRjGn1lytW2wPUQamSAIK3vp7kk6i1LgMUGIFTqUBw9BiPsPhNAlpUtuKhpdOnVUKqlDh6CNsh+CsJQdjC13ddOZeXq+M7uTzu7SpXmZLwvzfr7P8/5Y4D89eZh48s/bhoC04nMXH/EmwThjRAp2c/B6C7vZwhRLXFP6NY4RRVxpCiTzw/zCYR94RpsP+Z4oYbQp0JbP0GFGwB6f+8A2UcF9jOFyQ+hkCJSrwDcZ7GcfUcDFBohRcKXQFyp8lc4s3zYzZgvwfEuBwgK/65xXRccrsXAGE7gBOxECJb4IgQfcjQAX8DJxEN/HVOJTTaEGbPsKvyJAuldNXOZZnpIdl485I0tveIkF31KuzlI6zU3ucFRzNQq/uS/MUeGOzNzm6zpLHa3ryzxQN2wBjsIT4JE6f7Co09RgHRlfAnPjXoXr7PQtmdSsNqn2eDJ4HLAw3rX3QX4nVaC534sA0bYCvdi6Je9lveb+mkLw2+PPiIKZ+WwPN3ioj9MyczQMsMNYKR5ZwfOnCzkVTq7KTpYDgrKCp5XuyGw9AOvViHoSmPhryaS7nCM+IhldvlRy92nYmaBLQWtdXqX1rn5X22OLI16xihhjBjA9q3CQJxoAFjJt5Xv6bBLdKmgmvsIOYrLxv+5uZ+WOtmqJi3pNLGj+54gN9ATAH0reBFwT+FQbAAAAAElFTkSuQmCC)","invisible.png":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAQAAABKfvVzAAACjUlEQVR4XnWTS09TURSF178wMUExvhIfiY+0Q6MThwwEHYk6MODAqHHgzD9gHDgWYhQBAUWMqY/SogSkCGJJNAiFUiyV2qqURkFa7cPvnJZiBXMH7Tl3rbXX2ntf5bWgyH+emPI8v8reAn8nj3r0Qr3qU78GNKghDWtEfk3ot2LKKq6AphTUjGYF26ObuqU7alabOvRQj/VEz6APKS23jvI/rY/6AD2ksCH0AG9Sq9r1QJ0W/hyREFbcOqQNcqiL/3FuIpozhJeot6J+H/VHegrci60lSA7t0VVtlRNqTvPAY4bQqxYL70LdxSsvd2l164B2qVHLVN4L0U2VhL4aQl9RveDdS9gl4IcBNWpRUShNUJxUT3OG0E/UTo4u4N0a1U9SHdRu3QOQIOw8N+0Yc/A2ZwgDeHfh3ZgZpbBH+zDTAPy7Jok6qU/K0Jht2k91CL5SVD9aHh1BvYHiCxYe1nV9w9h5bVcdk4DwGn3TmYg1Y9Rb8P2FQYVQbOM+qjPaDDwMguMw3j00Mst0narUDaUgBICPI5VgAhe5rUVguZBhhMaGOEzrrU6pQpfpdoqeB8k2hvoF7UB9mhxmsyD4WYIs0c/ifEKnoVxSEsptQke5rdQ5vGdRt4SYXTEf2lWq1l1s1GojlDiAgpmTLN4KHEKegw+NKvsco8oglApd0XtoOzEzhZmCuq2QJ7RRX3lqmO84xjaxGltUj/dVcJEwhuIqwVRptsZMZwL/wG2FPIHryijVVBnUNdJlS1ZKlmJEzkApr1JDj5KsyeJaQsR+fDlW8G/KCWyl1tgpziEIxczwVcnYcT6p5LpwO7gZ5jzH7mT0hmbW0+IO/UBixXX5L4RZlmpOn8u6vT7Y3P4BKLGmkBK1qvgAAAAASUVORK5CYII=)","lasso.png":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAQAAABKfvVzAAADg0lEQVR4Xk2UXWxTZRjHn7XYfWhh4DKlIFLRdlucImbGr2gEwYwsAjGRXXihRlTOFrOoF0RcdWwhEVnQdgOmbgzoliEhAZJlvZwdMQg6No/U2IYOWVrK1q1d19q1Pef8fU7bsy3/nIvznv/ved/n47xEZKDivNpK8RoE6XC4J9gX7A/2hXukwxCwta1UcxhUu4PcLFHnqZnaf+/E0FhTqDpiiaqqjjSFhsbvnZja76kRdarLQRzbTSjAuozgczaHVoJYhShX1krlSmH2bSWaQz5nRsA6MJQDrHMtx0Y3y4QS7Eo0eTpG3K5rP7tdHSNNnl2JNQxtlo+NzrXAmgXEDcnWA/5ihbAtOeyKtKf3wmIvs6+2l8GS3hv51u3aliQUKwf8yVZxA2GNIvSIBCNaJmPt/jrR6KZfyL6omQdQF2tvmTTyPt2iIhDq/f1mth/1LtjCVTa9QAIN8dEl8tK8mgJBj6oF21GvEWb4+wlft08Sds+FHbPmDl2A/mOl2Ran7SQylkV0MIcdu+cI7J3utUb0aL2q1DZSlDiRvObpKdpCZymVf1dqW6/qYY1QsM8SXYULw3jcq8XLWlSghOrJpYUwXxpeDUuUZn6smNWheUx6l7uxGD8HrKXz9A2doQidJnnPoWt6VEQItm4/4aX0LSd2wLCEqMB6+otmqYt8K1LVd3+oTRA6/yXUTXe+mCHsjE048QbWw8R6EHoNAMlGbA+d/PSOAZXKZC9tKbr19m+DFZztc/E/B2/3jp//x5logyC/8oyBd9DBIjeODj4/X8hTcO4PZZ/a6RKpYfBKWb6CuTQ+i41elD5A5cLHga7jPjOvWDIDv6e/EE25WXo49N0mPmF21OR3wm/FTahMf3/dNtLoe4GPa1LeC9y4xGUxacNnvHnykfTG+IWxJzOlyhnPzHH7bUJRvgINiSuu+CE8i2Jw8NwORq/jidRDktMz4COU46twnVyEx+brwxfFQDc+weu4P0drQFHq/Z+uP73UZq7vh8FAV6oeL2OTZl4OFMCUaZw4NXDjyNTBWENylaLDwXFpH+5Tm5mku4sN1XZQFwrkR+OvyjvxpvT5kTuEHcmpDh5i/qIQ/1l5LQd4RifUOS1A1XTnRq76r5dhzRlTPBxx7vlSDstmiA0r8NGXUcLZm6jJARkGZvnJAtqtod4JmhJbT/9tiZ4bS9QsX83dGv8DIrFVpnd+f4UAAAAASUVORK5CYII=)","lassoPlus.png":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAQAAABKfvVzAAADiklEQVR4XlVUbWxTVRh+12K3oYWBy9SCSAHbbXGRaGb8SoygmJFFICayH/5AIyrdYhb1BxFXHWswQRa03WVM3RzYjaEhYcZl/Tk6QhB0bN62xjV0yNJStm7tutbetvfex3N7e3XmyUnuOXme9+O8zz1EZKDyIhwVeBE28VisLzIQGYwMxPrEY7Bhh6NCYxgUuou8DLwuUD936G736GRrtC5uSSioi7dGR6fuds8dCtTzOoXlIhbbSyjBhrwt6G6LrgExlKJKfkiskksLuzVoiwbdeRs2gIlUgXWp/eTEdomwGnvSrYGuca/n2g9eT9d4a2BPej0TbZdOTiy1w1oQ8JsyHYdD5TJhZ2bME+/M7YfFWelc56yEJbc//oXXszNDKJcPhzId/CbCetnWxxOMaJ9NdoYaeaOXLpHg8HOCw0lOWrgPjcnO9lkjy9PLyzZCU2jQzOgnpgV7rNaut5GNRsnPEXzcstICQY9awX5i2ggzQoOEzzpnCXuXYq5Fc5cuTH8z5IoCnkRVooM55tq7RGDc+X5rXI+Oq3JDCyVILhTj54bPEYbPKV+CoyAhuaHjqh7WOEUGLIm1uDCGbdOFeEoxK+Hjilvz8Ng6WBK08E31og5tk+IBNg3GFBw+zlfMoHwJjrMUpzMk7Tt6TY/qOMHeGyI8l7vpxi4YtOBq0xvJR4vUQ8FV2bo7XzekCdxfhMZ57tk8YXdyxo1XsBEmhvv93ZoAJBnxcvT0B7cNqJFn++mJspuv/zJSzcb2VOr3kVv9Uz/+6U47BI/vZ+FzlkEHi9QyMfL0cilzwfnf5IPKpFeLzSOXK4s3qDb8YXLiovg2aoT3wj2ngmZ2YskP/Zr7mDepXnow+uVWVmHBatIbsddSJtTkvrpuH28JPsPKNclvhm8Ms2sxaeYz+k8/nNucujD5WL5CPhtYOOW8RSgr3kBz+rIndRRPohwsuJrBOO16NPuA6A4MBQlV+DTWKJVhy3JT7CIf7sX7eAn3qmpNUJZ969vrj7PGNRjwTiTck23C89iqkVcKSmDKt8x8N3Tj+NyRZHNmrazDkSnxIO5RhpmhO/9G0jIoByXSI6kXpN14Vfzo+G3CrsxcFzOx4iJif1YRKwXMozNssZi189xmdutXfoJVJWaZOVJs5v/18H+/rcK7nyQI3/tRrwryTLDIVkGgvRrKm6AhvePMH5bE+cl0/cpT9dX4B08ibwJFFp9KAAAAAElFTkSuQmCC)","pointingHand.png":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAADe0lEQVR4Xq2V+yvrYRzHnWwuaaUst9mY21iyHcVySghxJJLLDy7L2Y9S4geHThx+5ISc0vCDf0AS6fj1rPxkRJ2dJjvtjNolt1y+NMY+5/N5yonZbIunvm179nyf1/N+fy5PSMgLo6OjwxAWFgaxsbHQ2NhonJiYELy0Pqj/CgoKPqSmpjoGBgZgfHwciouLna2tre+D2uSlxXK5XJ2UlMTt7e2B2WyGjIwMiImJ+fhmADy9OjMzk7PZbHB0dAT4HXp6en6+GSA5OVktk8k4u90Ox8fHTEF3d/fvNwNIpVKm4AFACgYHB//Mzc0pUZ3o1SBPgEKhgKysLFd5ebkdlekTExMLUKUU56VVVVVhQQM9AdnZ2dDe3g5bW1tQU1MDKSkpNrTtr0qlsvT3939/NSA9PR2mp6fh7u4OhoaGWG2gXdDZ2Qnx8fFWBH3CR4P1IvMFe4feqoqKir7k5OQoSQEF2Wq1siwiwMzMDLjdbhgeHoa8vDw4OztjiiIiIqCyshLq6uoA39mRSCSKZ5DQ0FAxnuQXeutG+Yb8/Hwt1gIDHB4eMsDs7Czc399TsAFPCxzHwe7uLojFYlhdXQWDwQBKpZLDfdTeVMhra2vBaDRCV1cX2zAtLQ0IcHp6yuYWFxeZRfPz89DX18cAVIgYbNje3oaTkxPAJODwsN4BLS0tTPbGxgagTBCJRECFdnt7C+fn53B9fc0UXF1dweXlJbhcLnA4HAxmsVhYvVRUVHA8Hu85IDIyUl5SUgImk4mduKmp6T+ANiXvHz+Ag+ZJEYHpkxTgHt4VCIVCCTY009TUFNzc3MDk5CTlPRwcHLCN/A2CE6C0tNQ7IDw8nI8Z8LWhoeGWFGxubkJvby+THSyAz+d7jUEIpp46ISGB0+l0zHeKh9PpDAhACimd0QUuKirKO4BSC3uOTqPRwMXFBQvig/+BWER9C+8RLjo62jcAPayhvqPX6xmAgkf++hu0huKF2cdhivsGjIyMCAsLC81jY2PMHgIEMgiwvr4OcXFxHNaCbwDZ1NbW9q2srAz29/fZ6QOB0LrR0VHAdPd/ZwgEAhF6uaPVap/EwbMOHpTRPGUbKgfsBv5vPawJXn19/WfsR04qPMoozzg8hlEirK2tMUBzc3Pg93Zubq6uurqa9aCVlZUnz/LyMvu9tLQECwsLgPVD1f/Ds8n9AyubuM4FiwqZAAAAAElFTkSuQmCC)","rect.png":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAQAAABKfvVzAAACc0lEQVR4Xo2UT0hUURTGf7uipMy8GbUwigx0WbiwpCgQKmgl1CYj3Plahtg/eguFUIoamNxUCEFCGlIgEhSORmQRNeVMSkhpWcSU1KSOQ9i8vvfmpiMZOB8Xzjv3fPPd8+dertPHQICX/OAVnTRTz1GOaNXL7pQvSdTG9KHwCVJMyzlMFw1UsJFC8lmtVSi7Qr4u7SUVk1KsmCkyZtJETchUmTKh3NSYk6ZBq0a276nSXtRMGc+kfMIkiRY3shQkWiZ9wjjxMN5SEAuPQ5qegBALe07a+eiMCj9lxZ0ZJ+N483A9oQf6qbWED6rITW4IcQGaGJuT/Y0f7rm1cJliS+jnLjNkAviEDXTwVbZ/2gwjobLESKgY6iiwhI5gyw/N/T2zKtljF0CN6p39SAZbCVyhTpwVLKOUM8wGmn4lEy35yGH+Jp1TKF9nrRp3mzbOMcp9m0MhtLPrvwRDr/6/mwda6cZ4ON24Hd5z1RISfGNIAdmDnWabtHtlzxLjtY1pgucM2o8rPOUhj+UZY0qDWGEJad5y0ca8mO90LLyKA+yjkirN6QWeaO0kwjvucZw8m0MwGinLzmelUi1nP3vYQrUCH3GNY5Qp+UpbpelcQjNnWcchVWRQhc2jiPWsYTl7aZRetvTBtP5VaJW7la0c5g4npFbCbk5xSzlNKPGRUKk6vYCwScIH2ax2lagH1VJ6wxdbNVUumKUFhGFNaMxiyEk4v3Jn1VmE4LluBK804W/5zdDA/+OxCtk58dzeNjcS7vYJ/v1bzGMJnm7rPDLmkzlvdph2E5/zRs13M2BS/p3OvhoLkVSBi7jE5zn/VPCy+K/GH86K+gV5WsL6AAAAAElFTkSuQmCC)","rectPlus.png":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAQAAABKfvVzAAACi0lEQVR4Xo2UT0hUQRzHP6c2KmrTnYoKjCAP+45FB0uKAqECT0FdMsKbr2OIUdE76EUpamHzUmoEGWmIgUnQn9UOWURp7ksJKSuLeCW1qesStq/fvB11lzr4vgzM/Ob3md+b3/xmuEYfA4Fe8ZMhOmmklmMclVYr/U6xpRg0Pn2I+yRpZsQ4Shd1lLGJCGHWSItIv0xsXTKXEp+0+AqZJqum1KCKqQpliXaqKnVK1Umrkr62VMjcoJpWvkprYAqvyUksRV7TlAYmcOP4S1EyPgEZegMgGfftjP3JHhf9kp5rz9pZ21+U44t6oZ9qA3yUjNygReSKoIEPC2H/oN19pxouUWKAfrqZJRtIAxvp4Jv09d9mGYtZ3lisBGooMkBHMKVd5QsRlSbfcxMl99tFUCX5zg1SwZSHI6qJ4q+wNHWGuSCmzqTXFEYMan7TeYlyBSi2ItymjXOMc9/sIQLt7C4AMiE36ka7K/HDlUXR1uh0qIcH9JCpd+OZ+u3wnisG8PjOCEOydr6S1hxJXhufBnjBsBlc5hkPeRS6bt2zbuUiWK1WJpThLReMz8vFk07GV3OQ/ZRTIXWqN11t7SLBO+5yglVmD0FppA0dZqWkcScH2MtmAVqsJ1zlOJZUbbnJ0kw+0MhZ1lEpGRnGCS2zVGgDa1nOPup5ahYNqnU+QrOYm9nGEe5wUqKVsofT3JRdTspZjMWictIFwBYJfIitcsClFHNYIr3hq7iapAW1VACMSoUmjUZsz/6dX6t2rvgKAN9xEvhRT0/oZaXg/7EYIFcnvvO4zUnEezSg79//LAbw5bYuKqs+q/Nqh2pX7oJ1UP1QAyqt73Tu1ShUShK8not8WbBPBy+LfjX+AjC0Avv8MQHTAAAAAElFTkSuQmCC)","zoom.png":"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAQAAABKfvVzAAACiUlEQVR4XpVTTUgUYRh+nJWCxUsNevBiYGm7UjAnFyoI9ORKSxt4a71Ei9I10EPg0VO7hOE1ikQSofXiYv6QRX9bkTAjbbM/B2mz8id3Z2f/ZvbtndR0NYn9XuYbPuZ55n3f730efMQCZjCLOX4/xyJe4BXe4C3e4QNi0JDCBu8JRPkURxIMm8BjjOMJJvEUU8jadUn36D79Zs5X8JhSyb6AX/iBzxxfLMIMwx/gIcYwXRMTNa86Mhrp23QXOwx3sW9zNKKOaF5NzAlrnCWBFXAx43jE8PeC0b4U9KstJmh/tJh+dSlotJeEDYZ/Bea5GAtudoZDkm5jcCP1poejd+XhaG+6kc82kvRwiDpLwha+A1RX8K4OaDfCU038UTQGk/GA2qO4lDbFpfbEA4NJ0QA1UThktOeFDBPOLd+/qF9PtOZBDi30LNU91FBfgz+rvmaoIdUVmnZo4CxLQU3cYsLJ7G1HebvqC7nIhHJ6G7y7mmsNKTQtGjbyq5p3Dnzv2au31i24QK35cEhpriQAzbUp92AS1GKqI7odL5F1jM9bzV7KzoyVLvfbDhKAoYZ4wGp/NFKU8Br6scS9VrM7Fw8a56/8A271ovb0pkF9m2UPy2AWGd/k4sYdpal/7+fH4cTxvaPsGo6C3EXysWYWQafIR2cqSnFyV237CM6ADOowyM8Si+xkkCsztB2RIYZCFT2QB1mYVdwSSSza/N85nD1qDl27cyA76EQ1k6bqtESiRagrXFsdyBxQq+ySnfIhtbJ6gHX2bBprQvmAHwKH/GDBmRCDyibP4Od/HLcNZ0KcCSnkmLQsKEd4mmvfgTMhybGCb0zI4RPb1bSbUtnDUvHz4yGJ7BUWx2+5Iu7Rc33AhQAAAABJRU5ErkJggg==)"};var z8=Object.create(null),bu=3/4,GP=class{constructor(Dt){this.HOTSPOT_32=Dt.HOTSPOT_32,this.IMAGE_NAME_32=Dt.IMAGE_NAME_32,this.cPointerCursor=Dt.cPointerCursor,this.cTextCursor=Dt.cTextCursor}getCursor(Dt){if(z8[Dt])return z8[Dt];if(this.IMAGE_NAME_32[Dt])return this.buildCursor(Dt);switch(Dt){case this.cPointerCursor:return"default";case this.cTextCursor:return"text";default:throw new Error(`Unknown cursor: ${Dt}`)}}buildCursor(Dt){let zt=this.IMAGE_NAME_32[Dt],Gt=`${Tu[zt]} ${this.HOTSPOT_32[Dt*2]*bu} ${this.HOTSPOT_32[Dt*2+1]*bu}, default`;return z8[Dt]=Gt,Gt}};var YP=class{constructor(Dt,zt){this.title=Dt,this.rootElement=zt,this.elements=[],this.dialogElement=null}setLayout(Dt,zt){this.hLayout=hu(Dt),this.vLayout=hu(zt)}add(Dt,zt,qt,Gt,z1){this.elements.push({component:Dt,x:zt,y:qt,x2:Gt,y2:z1})}createTextField(Dt,zt){return new H8(Dt,zt)}createLabel(Dt){return new M8(Dt)}createComboBox(){return new q8}createCheckBox(Dt){return new V8(Dt)}setEventConsumer(Dt){this.consumer=Dt}showMessage(Dt){window.alert(Dt)}showDialog(){let Dt=document.createElement("dialog"),zt=this.rootElement.getBoundingClientRect();Object.assign(Dt.style,{position:"absolute",marginBlock:0,left:`${zt.left}px`,right:`${document.body.parentElement.clientWidth-zt.right}px`,top:`${this.rootElement.offsetTop+30}px`}),this.dialogElement=Dt,this.rootElement.getRootNode().append(Dt);let qt=document.createElement("div");qt.style.display="grid",qt.style.gridTemplateColumns=this.hLayout,qt.style.gridTemplateRows=this.vLayout,Dt.append(qt);for(let{component:Q1,x:D1,y:R1,x2:F1,y2:S1}of this.elements){let c1=document.createElement("div");F1===void 0?(c1.style.gridColumn=`${D1+1} / ${D1+2}`,c1.style.gridRow=`${R1+1} / ${R1+2}`):(c1.style.gridColumn=`${D1+1} / ${F1+2}`,c1.style.gridRow=`${R1+1} / ${S1+2}`),c1.append(Q1.getElement()),qt.append(c1)}let Gt=document.createElement("div");Gt.style.display="flex",Gt.style.flexDirection="row-reverse",Gt.style.gap="15px";let z1=document.createElement("button");z1.textContent="OK",z1.addEventListener("click",()=>{this.consumer.fireOk()}),Gt.append(z1);let Ot=document.createElement("button");Ot.textContent="Cancel",Ot.addEventListener("click",()=>{this.consumer.fireCancel()}),Gt.append(Ot),Dt.append(Gt),Dt.showModal(),Dt.addEventListener("cancel",()=>{this.consumer.fireCancel()})}disposeDialog(){this.dialogElement!==null&&(this.dialogElement.remove(),this.dialogElement=null)}},an=class{setEventHandler(Dt){this.eventHandler=Dt}fireEvent(Dt,zt){this.eventHandler(Dt,zt)}},M8=class extends an{constructor(Dt){super(),this.element=document.createElement("label"),this.setText(Dt)}setText(Dt){this.element.textContent=Dt}getElement(){return this.element}},H8=class extends an{constructor(){super(),this.element=document.createElement("input"),this.element.type="text"}setText(Dt){this.element.value=Dt}getText(){return this.element.value}getElement(){return this.element}},q8=class extends an{constructor(){super(),this.element=document.createElement("select"),this.element.addEventListener("change",()=>{this.fireEvent(2,this.element.selectedIndex)})}setEnabled(Dt){this.element.disabled=!Dt}addItem(Dt){let zt=document.createElement("option");zt.textContent=Dt,this.element.append(zt)}getSelectedIndex(){return this.element.selectedIndex}setSelectedIndex(Dt){this.element.selectedIndex=Dt}setSelectedItem(Dt){let zt=this.element.options;for(let qt=0;qt<zt.length;qt++)zt[qt].textContent===Dt&&(this.element.selectedIndex=qt)}getSelectedItem(){return this.element.options[this.element.selectedIndex].textContent}removeAllItems(){this.element.innerHTML=""}getElement(){return this.element}},V8=class extends an{constructor(Dt){super();let zt=document.createElement("label"),qt=document.createElement("input");qt.type="checkbox",qt.addEventListener("change",()=>{this.fireEvent(3,qt.checked?1:0)}),zt.append(qt),zt.append(Dt),this.element=zt,this.checkBox=qt}setEnabled(Dt){this.checkBox.disabled=!Dt}isSelected(){return this.checkBox.checked}setSelected(Dt){this.checkBox.checked=Dt}getElement(){return this.element}};function hu(B){return B.map(Dt=>Dt>0?`${Dt}px`:"auto").join(" ")}var qA=class{constructor(Dt){this.imageData=Dt,this.dataView=new DataView(Dt.data.buffer)}getWidth(){return this.imageData.width}getHeight(){return this.imageData.height}getRGB(Dt,zt){let qt=this.dataView.getInt32((zt*this.imageData.width+Dt)*4,!1);return(qt&255)<<24|qt>>>8}setRGB(Dt,zt,qt){let Gt=qt>>>24&255,z1=qt<<8|Gt;this.dataView.setInt32((zt*this.imageData.width+Dt)*4,z1,!1)}toDataURL(){let Dt=document.createElement("canvas"),zt=Dt.getContext("2d");return Dt.width=this.imageData.width,Dt.height=this.imageData.height,zt.putImageData(this.imageData,0,0),Dt.toDataURL("image/png")}};var KP=class{constructor(Dt,zt,qt){this.canvasElement=Dt,this.dialogRoot=zt,this.JavaEditorArea=qt}register(Dt){this.javaUiHelper=Dt,this.cursorManager=new GP(this.JavaEditorArea,Dt)}grabFocus(){this.canvasElement.focus({preventScroll:!0})}setCursor(Dt){this.canvasElement.style.cursor=this.cursorManager.getCursor(Dt)}showHelpDialog(){}createImage(Dt,zt){let qt=new ImageData(Dt,zt);return new qA(qt)}createImageFromBase64(Dt,zt,qt){qt=qt.replaceAll(/%\d+%/g,Q1=>"A".repeat(Number(Q1.slice(1,-1))));let Gt=Uu(qt),z1=new Uint8ClampedArray(Gt),Ot=new ImageData(z1,Dt,zt);return new qA(Ot)}createDialog(Dt){return new YP(Dt,this.dialogRoot)}runLater(Dt){typeof requestAnimationFrame=="function"?requestAnimationFrame(Dt):typeof setImmediate=="function"?setImmediate(Dt):setTimeout(Dt,0)}};function cu(B,Dt,zt,qt,Gt,z1,Ot,Q1){let{readOnly:D1=!1,initialMode:R1="molecule",initialFragment:F1=!1}=Dt,S1=document.createElement("div");S1.dataset.openchemlibCanvasEditor="true",Object.assign(S1.style,{width:"100%",height:"100%",display:"flex",flexDirection:"row",alignItems:"start",backgroundColor:"white",touchAction:"none",userSelect:"none",webkitUserSelect:"none"});let c1=S1.attachShadow({mode:"open"});c1.adoptedStyleSheets=[yu()];let de=null;D1||(de=document.createElement("canvas"),c1.append(de));let E0=document.createElement("div");Object.assign(E0.style,{width:"100%",height:"100%"}),c1.append(E0);let o0=document.createElement("canvas");o0.tabIndex=0,Object.assign(o0.style,{outline:"none"}),E0.append(o0),B.append(S1);let Ae=new z1(new KP(o0,E0,qt)),Mt=new qt(A2(R1,qt),new JP(o0,zt),Ae);if(F1)if(R1==="molecule"){let r1=new Ot(0,0);r1.setFragment(!0),Mt.setMolecule(r1)}else{let r1=Q1.create();r1.setFragment(!0),Mt.setReaction(r1)}Ae.setEditorArea(Mt);let ze=D1?null:new Gt(Mt,new OP(de),Ae);function Pe(r1){o0.style.width=`${r1.width}px`,o0.width=Math.floor(r1.width*Xe),o0.style.height=`${r1.height}px`,o0.height=Math.floor(r1.height*Xe),r1.width>0&&r1.height>0&&Mt.repaint()}let VA=E0.getBoundingClientRect();Pe(VA);let v1=new ResizeObserver(([r1])=>{Pe(r1.contentRect)});v1.observe(E0);let d0=null,Fn=null,yt=null;D1||(d0=C8(o0,Mt,qt),Fn=su(E0,o0,Mt,qt,Ot),yt=C8(de,ze,qt));function H1(){S1.remove(),v1.disconnect(),d0?.(),Fn?.(),yt?.()}return{editorArea:Mt,toolbar:ze,uiHelper:Ae,destroy:H1}}function A2(B,Dt){switch(B){case"molecule":return 0;case"reaction":return Dt.MODE_REACTION|Dt.MODE_MULTIPLE_FRAGMENTS;default:throw new Error(`Invalid initial mode: ${B}`)}}function wu(B,Dt,zt,qt,Gt){class z1{#t;#e;#P;#A;#f;#r;constructor(Q1,D1={}){let{editorArea:R1,toolbar:F1,uiHelper:S1,destroy:c1}=cu(Q1,D1,de=>this.#i(de),B,Dt,zt,qt,Gt);this.#t=R1,this.#e=F1,this.#P=S1,this.#A=null,this.#f={[B.EDITOR_EVENT_MOLECULE_CHANGED]:"molecule",[B.EDITOR_EVENT_SELECTION_CHANGED]:"selection",[B.EDITOR_EVENT_HIGHLIGHT_ATOM_CHANGED]:"highlight-atom",[B.EDITOR_EVENT_HIGHLIGHT_BOND_CHANGED]:"highlight-bond"},this.#r=c1}getMode(){return this.#n(),this.#t.getMode()&B.MODE_REACTION!==0?"reaction":"molecule"}setMolecule(Q1){this.#n(),this.#t.setMolecule(Q1)}getMolecule(){return this.#n(),this.#t.getMolecule()}setReaction(Q1){this.#n(),this.#t.setReaction(Q1)}getReaction(){return this.#n(),this.#t.getReaction()}setOnChangeListener(Q1){this.#n(),this.#A=Q1}removeOnChangeListener(){this.#n(),this.#A=null}clearAll(){this.#n(),this.#t.clearAll()}destroy(){this.#n(),this.#r(),this.#t=null,this.#e=null,this.#P=null,this.#A=null,this.#r=null}get isDestroyed(){return!this.#t}moleculeChanged(){this.#n(),this.#t.moleculeChanged()}#n(){if(this.isDestroyed)throw new Error("CanvasEditor has been destroyed")}#i(Q1){if(!this.#A)return;let{what:D1,isUserEvent:R1}=Q1;this.#A({type:this.#f[D1],isUserEvent:R1})}}return z1}function gu(B,Dt,zt,qt){class Gt extends HTMLElement{static MODE=Object.freeze(Object.create({MOLECULE:"molecule",REACTION:"reaction"}));static observedAttributes=Object.freeze(["idcode","fragment","mode","readonly"]);#t={idcode:"",fragment:!1,mode:Gt.MODE_MOLECULE,readonly:!1};get idcode(){return this.#t.idcode}set idcode(Ot){this.#t.idcode=String(Ot),this.setAttribute("idcode",this.#t.idcode)}get fragment(){return this.#t.fragment}set fragment(Ot){this.#t.fragment=!!Ot,this.#t.fragment?this.setAttribute("fragment",""):this.removeAttribute("fragment")}get mode(){return this.#t.mode}set mode(Ot){this.#t.mode=String(Ot),this.setAttribute("mode",this.#t.mode)}get readonly(){return this.#t.readonly}set readonly(Ot){this.#t.readonly=!!Ot,this.#t.readonly?this.setAttribute("readonly",""):this.removeAttribute("readonly")}setMolecule(Ot){this.fragment=Ot.isFragment(),this.idcode=`${Ot.getIDCode()} ${Ot.getIDCoordinates()}`,this.#e.setMolecule(Ot)}getMolecule(){return this.#e.getMolecule()}setReaction(Ot){this.fragment=Ot.isFragment(),this.idcode=qt.encode(Ot,{keepAbsoluteCoordinates:!0,mode:qt.INCLUDE_MAPPING|qt.INCLUDE_COORDS|qt.RETAIN_REACTANT_AND_PRODUCT_ORDER})??"",this.#e.setReaction(Ot)}getReaction(){return this.#e.getReaction()}clearAll(){this.#e.clearAll(),this.idcode=""}moleculeChanged(){this.#e.moleculeChanged()}#e;#P(){this.#e||(this.#e=new B(this,{readOnly:this.readonly,initialMode:this.mode}),this.#e.setOnChangeListener(this.#l),requestIdleCallback(()=>this.#A()))}#A(){switch(this.mode){case Gt.MODE.MOLECULE:return this.#r();case Gt.MODE.REACTION:return this.#n();default:throw new Error(`Mode ${this.mode} is not supported`)}}#f(Ot){let Q1=Ot.indexOf(" ");if(Q1===-1)return Dt.fromIDCode(Ot);let D1=Ot.slice(0,Q1),R1=Ot.slice(Q1+1);return Dt.fromIDCode(D1,R1)}#r(){let Ot=this.#f(this.idcode);Ot.setFragment(this.fragment),this.#e.setMolecule(Ot)}#n(){let Ot=qt.decode(this.idcode,{ensureCoordinates:!0})??zt.create();Ot.setFragment(this.fragment),this.#e.setReaction(Ot)}#i=!1;#o(Ot){this.#i=!0;try{Ot()}finally{this.#i=!1}}#l=Ot=>{let Q1=this.idcode,D1=this.fragment;this.#o(()=>{if(Ot.type==="molecule")switch(this.mode){case Gt.MODE.MOLECULE:{let F1=this.getMolecule();this.idcode=`${F1.getIDCode()} ${F1.getIDCoordinates()}`,this.fragment=F1.isFragment();break}case Gt.MODE.REACTION:{let F1=this.getReaction();this.idcode=qt.encode(F1,{keepAbsoluteCoordinates:!0,mode:qt.INCLUDE_MAPPING|qt.INCLUDE_COORDS|qt.RETAIN_REACTANT_AND_PRODUCT_ORDER}),this.fragment=F1.isFragment();break}default:throw new Error(`Unsupported mode ${this.mode}`)}});let R1=new CustomEvent("change",{detail:Ot,bubbles:!0});if(this.dispatchEvent(R1),Ot.mode==="molecule"){if(this.idcode!==Q1){let F1=new CustomEvent("idcode-changed",{detail:this.idcode,bubbles:!0});this.dispatchEvent(F1)}if(this.fragment!==D1){let F1=new CustomEvent("fragment-changed",{detail:this.fragment,bubbles:!0});this.dispatchEvent(F1)}}};#D(){this.#e&&(this.#e.destroy(),this.#e=void 0)}#u(){this.#D(),this.#P()}connectedCallback(){this.#t={idcode:this.getAttribute("idcode")||"",fragment:this.hasAttribute("fragment"),mode:this.getAttribute("mode")||Gt.MODE.MOLECULE,readonly:this.hasAttribute("readonly")},this.#P()}disconnectedCallback(){this.#D()}adoptedCallback(){this.connectedCallback()}attributeChangedCallback(Ot,Q1,D1){if(!this.#e||this.#i)return;(()=>{switch(Ot){case"idcode":return this.#t.idcode=String(D1),()=>this.#A();case"fragment":return this.#t.fragment=D1!==null,()=>this.#A();case"mode":return this.#t.mode=String(D1),()=>this.#u();case"readonly":return this.#t.readonly=D1!==null,()=>this.#u();default:throw new Error("unsupported attribute change")}})()()}}return Gt}function E8(B){let{GenericEditorArea:Dt,GenericEditorToolbar:zt,GenericUIHelper:qt,Molecule:Gt,Reaction:z1,ReactionEncoder:Ot}=B,Q1=wu(Dt,zt,qt,Gt,z1);function D1(){let R1=customElements.get("openchemlib-editor");if(R1)return R1;let F1=gu(Q1,Gt,z1,Ot);customElements.define("openchemlib-editor",F1);let S1=document.createElement("style");return S1.id="openchemlib-editor-default-style",S1.innerHTML=` /* dynamicaly added from openchemlib registerCustomElement with low priority */ openchemlib-editor:defined { display: block; height: 400px; width: 600px; } `,document.head.prepend(S1),F1}B.CanvasEditor=Q1,B.registerCustomElement=D1,delete B.GenericEditorArea,delete B.GenericEditorToolbar,delete B.GenericUIHelper}function xu(B){let{ConformerGenerator:Dt,ForceFieldMMFF94:zt,Molecule:qt}=B;Dt.prototype.molecules=function*(){let D1;for(;(D1=this.getNextConformerAsMolecule())!==null;)yield D1};let Gt={maxIts:4e3,gradTol:1e-4,funcTol:1e-6},z1=zt.prototype._minimise;delete zt.prototype._minimise,zt.prototype.minimise=function(D1){return D1={...Gt,...D1},z1.call(this,D1.maxIts,D1.gradTol,D1.funcTol)};function Ot(Q1){if(!Q1)return null;if(Q1.includes("V2000")||Q1.includes("V3000"))return qt.fromMolfile(Q1);try{return qt.fromSmiles(Q1)}catch{}try{return qt.fromIDCode(Q1)}catch{}return null}qt.fromText=function(D1){let R1=Ot(D1);return R1&&R1.getAllAtoms()>0?R1:null},qt.prototype.getOCL=function(){return B}}function vn(){}function P2(B){let Dt=B.document,zt={},qt={userAgent:"webkit"},Gt=vn;Gt.__moduleStartupDone=vn;let z1=vn,Ot,Q1;var D1="object",R1="anonymous",F1="fnStack",S1=` `,c1={4:1,9:1,5:1,8:1},de="Unknown",E0="boolean",o0="number",Ae="string",Mt=2147483647,ze='For input string: "',Pe="null",VA="__noinit__",v1={4:1,5:1,8:1},d0={4:1,19:1,33:1,27:1},Fn=" (copy)",yt={4:1,9:1,14:1,5:1,11:1,8:1,13:1},H1=65536,r1=65535,G0=1e4,tA="fromIndex: ",I8=" > toIndex: ",WP=", toIndex: ",S8=", length: ",XP="Index: ",ZP=", Size: ",dt={15:1,4:1,5:1},fn={4:1},z={7:1,4:1,5:1},Ze=16777215,Y0=65280,Dn=.30000001192092896,Me=545460846592,le=4294967296,He=8589934592,qe=17179869184,Ve=34359738368,Ee=68719476736,Ie=137438953472,un=274877906944,st={12:1,4:1,5:1},P0=536870912,_P=2.617993878,$P=3.665191429,J1=6.283185307179586,t1=3.141592653589793,B0=1.5707963267948966,I0=16384,EA=-8355712,Y1=4096,eA={l:0,m:0,h:1},nA={l:0,m:0,h:2},AA={l:0,m:0,h:4},K0=1920,r0=1024,Be=234881024,PA=167772160,on=100663296,ln=201326592,_e=114688,$e=4063232,rA=3801088,pn=3538944,Rn=3014656,iA=3145728,k0=2097152,ae=393216,re=917504,Qn=1966080,Ln=0xf8000000000,IA=0xf0000000000,SA=0xe8000000000,NA=0xd8000000000,JA=0xb8000000000,aP=0xe0000000000,tr=0xc0000000000,fA=8796093022208,Cn=549755813888,OA=1649267441664,GA=3848290697216,DA=8246337208320,er=0xc8000000000,nr=9345848836096,Ar=0x98000000000,je=29360128,Se=268435456,l0=8192,w1=2048,uA=-1.5707963267948966,Qe=130560,oA=6291456,Pr=-2.0943951023931953,T0=1.0471975511965976,zn=.5235987755982988,U1=786432,Le=524288,Ue=262144,S0=-16777216,ie=-65536,YA=-32768,rr='<DrawingObject type="',KA="></DrawingObject>",Yt={4:1,5:1,16:1},e0={4:1,5:1},ir="unsupported atomicNo:",N8=2.8415926535897933,M1={28:1,4:1,9:1,5:1,8:1},Mn={4:1,5:1,11:1,8:1},W={10:1,4:1,5:1},b0={4:1,9:1,5:1,8:1,30:1},n0=131072,WA=196608,XA={l:6,m:0,h:4},ye=1048576,se=3221225472,fr={l:0,m:0,h:3},Un=8388608,Dr={l:0,m:0,h:120},ZA={36:1,43:1,38:1},L0={4:1,9:1,5:1,11:1,8:1},J8={36:1,43:1,96:1,38:1,84:1},_A={4:1,5:1,36:1,43:1,96:1,21:1,38:1,84:1,129:1},U0=17976931348623157e292,ur=-17976931348623157e292,Ne={88:1,74:1,75:1,4:1,9:1,5:1,8:1},m1="??",Te={58:1,4:1,9:1,5:1,8:1},be=2013265920,j0=32505856,C0=31744,$A=122880,Hn={131:1,4:1,9:1,5:1,11:1,8:1},lA=33554432,z0=67108864,Je=32768,aA=-131073,tP=-33554433,eP=-33292289,or=-3.141592653589793,_1=4194303,M0=3072,h0={46:1,4:1,5:1},lr=.7853981633974483,O8=3.061592653589793,H0=1073741824,G8=541165879296,Ht={17:1,4:1,5:1,8:1},nP=281.17,AP=289.19,PP=294.21,rP="0.0000",iP="NOSEARCH_OCL_CUSTOM_LABEL",ke="M END",qn="ATOMS",n1=-2147483648,QA="$$$$",LA="M V30 ",Y8="M V30 COUNTS ",K8="M V30 MDLV30/STEREL",W8="M V30 MDLV30/STERAC",Qr="M V30 END CTAB",X8=34028234663852886e22,Lr={l:2,m:0,h:4},W0=4194304,Ur={l:4179966,m:4063288,h:7},Z8={l:4194302,m:4193343,h:127},K1='" ',yr='stroke="',fP='stroke-width="',DP='" />',_8='class="event" ',$8='opacity="0" />',X0=16711680,a8="' position:",t9="'. Position:",e9=1099511627776,n9=2199023255552,A9=4398046511104,sr="', position:",P9="Assignment of aromatic double bonds failed",UA=2147483646,r9={103:1,4:1},Tr="Members of ESR groups must only be stereo centers with known configuration.",br="Over- or under-specified stereo feature or more than one racemic type bond",hr="Ambiguous configuration at stereo center because of 2 parallel bonds",i9={116:1,89:1,25:1,4:1},uP=1e5,yA=1.399999976158142,Vn=3.1415927410125732,cr=1.5707963705062866,f9=.029999999329447746,D9=6.2831854820251465,u9=1.9106119871139526,o9=2.2639999389648438,wr=2.16759991645813,l9=2.0662999153137207,Q9=2.3561999797821045,L9=2.2844998836517334,U9=1.9106120066311025,y9=2.094395160675049,sA=.6000000238418579,oP=1.7999999523162842,gr=.05000000074505806,A0={4:1,9:1,5:1,8:1,37:1},lP=.2617993950843811,En=2.0943951023931953,TA=1.2000000476837158,xr=1.4299999475479126,QP=1.659999966621399,dr=1.4600000381469727,Br=1.899999976158142,s9=1.8200000524520874,T9=2.4600000381469727,b9=2.4200000762939453,LP=2.450000047683716,jr=2.440000057220459,h9=2.4000000953674316,kr=2.319999933242798,mr=2.2899999618530273,c9=1.8600000143051147,w9=2.5299999713897705,g9=2.490000009536743,x9=2.4700000286102295,d9=2.880000114440918,B9=2.9200000762939453,j9=2.869999885559082,vr=2.8299999237060547,k9=2.7899999618530273,m9=2.809999942779541,v9=2.799999952316284,F9=3.049999952316284,Fr=.3199999928474426,p9=1.3300000429153442,bA=.8500000238418579,R9=1.600000023841858,C9=1.3899999856948853,pr=1.159999966621399,z9=1.1100000143051147,M9=1.0700000524520874,H9=1.9600000381469727,q9=1.7100000381469727,Rr=1.3600000143051147,V9=1.340000033378601,E9=1.2200000286102295,I9=1.2400000095367432,UP=1.2100000381469727,S9=2.0999999046325684,Cr=1.850000023841858,zr=1.6299999952316284,N9=1.4700000286102295,J9=1.2799999713897705,O9=1.440000057220459,G9=1.7599999904632568,Y9=1.7300000190734863,K9=1.7200000286102295,yP=1.6799999475479126,W9=1.690000057220459,X9=1.6699999570846558,Mr=1.649999976158142,hA=1.7000000476837158,Z9=1.6200000047683716,_9=1.3700000047683716,$9=1.2899999618530273,a9=1.4500000476837158,ti=1.5700000524520874,Hr=-.5235987755982988,cA=-1.0471975511965976,ei=-.7853981633974483,ni=.017453292519943295,Ai=.17453292519943295,wA=1e-4,yn={147:1},sn=57.29577951308232,Pi=.021922173386725217,gA=1e-8,fe=2.5120960256267386,xA=1e-5,sP="MMFF94s+",ri="nonbonded cutoff",ii="dielectric constant",fi="dielectric model",Di="angle bend",ui="bond stretch",oi="electrostatic",li="out of plane",Qi="stretch bend",Li="torsion angle",Ui="van der waals",yi=.07000000000000006,si=.1200000000000001,Ti=-7.840000000000001,TP="OCL_RXN_V1.0:",bi="$RXN V3000",hi="'$MOL' tag not found",ci="'M END' not found",wi="M V30 BEGIN REACTANT",gi=` Actelion Java MolfileCreator 2.0 0 0 0 0 0 0 0 V3000 `,xi="M V30 BEGIN PRODUCT",di=2475109711874,Bi=2475109711875,ji=2887426572290,ki=2887426572291,mi=2887627898882,vi=2887627898883,Fi=2887627997186,pi=3437182386178,Ri=3437182386179,Ci=3437383712770,zi=3437383811074,Mi=3437652148226,Hi=3437652377602,qi=4674132967426,Vi=4674334294018,Ei=4674334392322,Ii=4674602729474,Si=4674602958850,Ni=5086449827842,Ji=5086449827848,Oi=5086651154434,Gi=5086651252738,Yi=5086651252743,Ki=5086919589890,Wi=5086919688194,Xi=5636406968322,Zi=5636407066626,_i=5636675502082,$i={l:589826,m:590112,h:4},ai={l:589827,m:590112,h:4},tf={l:589826,m:590160,h:4},ef={l:589827,m:590160,h:4},nf={l:688130,m:590160,h:4},Af={l:589826,m:590224,h:4},Pf={l:589827,m:590224,h:4},rf={l:819203,m:590224,h:4},ff={l:589826,m:590368,h:4},Df={l:688130,m:590368,h:4},uf={l:819202,m:590368,h:4},of={l:819208,m:590368,h:4},lf={l:589826,m:590416,h:4},Qf={l:589832,m:590416,h:4},Lf={l:688130,m:590416,h:4},Uf={l:819202,m:590416,h:4},yf={l:589826,m:598304,h:4},sf={l:589827,m:598304,h:4},Tf={l:688130,m:598304,h:4},bf={l:1114114,m:598304,h:4},hf={l:1212418,m:598304,h:4},cf={l:589826,m:598308,h:4},wf={l:589826,m:688416,h:4},gf={l:589826,m:688464,h:4},xf={l:589826,m:688720,h:4},df={l:688130,m:688720,h:4},Bf={l:589826,m:590112,h:288},jf={l:589826,m:590112,h:336},kf={l:589826,m:688416,h:336},mf={l:589826,m:688464,h:336},vf={l:688130,m:688464,h:336},Ff={l:589826,m:590112,h:400},pf={l:589826,m:688416,h:400},Rf={l:589826,m:688464,h:400},Cf={l:688130,m:688464,h:400},zf={l:589826,m:819488,h:400},Mf={l:589826,m:819536,h:400},Hf={l:589826,m:819600,h:400},qf={l:688130,m:819600,h:400},Vf={l:819202,m:819600,h:400},Ef={l:589831,m:688416,h:592},If={l:589831,m:688464,h:592},Sf={l:688135,m:688464,h:592},Nf={l:589831,m:819536,h:592},Jf={l:688135,m:819536,h:592},Of={l:688135,m:819600,h:592},Gf={l:589832,m:1212704,h:592},Yf={l:589832,m:1212752,h:592},Kf={l:688136,m:1212752,h:592},Wf={l:589831,m:688464,h:656},Xf={l:589826,m:590112,h:8480},Zf={l:589826,m:688416,h:8480},_f={l:589826,m:688464,h:8480},$f={l:688130,m:688464,h:8480},af={l:819202,m:819600,h:8480},tD={l:688135,m:1212752,h:8480},eD={l:589832,m:1213008,h:8480},nD={l:688136,m:1213008,h:8480},AD={l:589826,m:590112,h:8484},PD={l:589826,m:590160,h:8484},rD={l:688130,m:598304,h:8484},iD=.6262000203132629,fD=-1.3825000524520874,bP=.33169999718666077,DD=-1.4915000200271606,uD=.3540000021457672,oD=.38179999589920044,lD=-.6019999980926514,QD=.07999999821186066,LD=-.7379999756813049,UD="Atom-types are 64-bit numbers describing atoms and their near surrounding.",qr="Recognized atom types and their contributions are:",yD="Druglikeness predictor not properly initialized.",sD=3.009999990463257,TD=-.17000000178813934,bD=-.1809999942779541,hD=-.2029999941587448,dA=2147483648,cD="ene-Metathesis",wD="Halogenation ring closure",gD=" (rootPairSets:",Vr=-1e10,hP={203:1,4:1,9:1,5:1,8:1,30:1},cP=-99999,he="any",xD="is not in a ring",Er="Excluded atoms:",wP="exactly 1",gP="exactly 2",Ir="less than 3",dD="less than 4",xP="at least 1",Sr="at least 2",Nr="at least 3",BD="at least 4",Jr="1 or 2",jD="less than 2",kD="Allowed atoms:",Tn={138:1},mD="Atom Properties",dP=-8346432,vD="/html/editor/editor.html",FD="Structure Editor Help",BP="Dummy look and feel",In="Substance Graphite",Sn="Radiance Graphite",Nn="Radiance Night",pD=.6499999761581421,RD=.3499999940395355,Or="editorButtons.png",CD="esrButtons.png",bn=.800000011920929,Gr=-1774190527,Yr=-1438646166,Jn=-1433403286,jP=-1431655766,kP=-1448432982,me=1073741866,hn=1073741930,Kr="MMFF94",Wr="MMFF94s",zD="/resources/forcefield/mmff94/94s/outofplane.csv",On="undefined",Xr={171:1,4:1,5:1,8:1},MD=.08726646502812703,Zr=.003921568859368563,v0=1048575,Z0=17592186044416,cn=1e9,Gn=-17592186044416,c0=5.56,i0=11.12,ve=13.34,wn=14.44,BA=.3010299956639812,HD="BigInteger divide by zero",i1=4294967295,qD={l:0,m:0,h:524288},mP={32:1,117:1},_r={108:1,112:1},Yn={36:1,43:1,38:1,86:1},vP=16777619,VD={36:1,38:1,86:1},FP="delete",pP=15525485,ED=5960464477539063e-23,$r=16777216,RP={4:1,32:1,56:1,81:1},ar="Invalid UTF8 sequence",t8=.20000000298023224,ID=" distance:",SD="gGP`@dfyjidNcGI[WQCP`<",Kn={48:1},l={},b={},T1={},Nt={},w={},De={},n={},y={},E={},Kt={},X={},ce={},K={},At={},A1={},e1={},nt={},tt={},$={},q={},bt={},x1={},j={},_={},R={},W1={},lt={},k1={},w0={},Ft={},p={},q1={},D0={},u0={},N0={},gt={},Zt={},Z={},a={},U,jA,CP,Bu=-1;l.web=function(){};function ju(f,t){typeof window===D1&&typeof window.$gwt===D1&&(window.$gwt[f]=t)}function ku(f,t,e,A){l.jfb();var P=CP;Ot=t,Q1=e,Bu=A;function r(){for(var i=0;i<P.length;i++)P[i]()}if(f)try{_D(r)()}catch(i){f(t,i)}else _D(r)()}l.jfb=function(){CP==null&&(CP=[])};function mu(){l.jfb();for(var f=CP,t=0;t<arguments.length;t++)f.push(arguments[t])}l.hfb=function(){};function Wn(){}function Xn(f){return Array.isArray(f)&&f.wd===Wn?b.Uc(f):f.toString()}function V1(f,t){var e=B;if(f==="")return e;var A=f.split(".");if(!(A[0]in e)&&e.execScript&&e.execScript("var "+A[0]),t){var P=t.prototype.ud;P.e=t}for(var r;A.length&&(r=A.shift());)e=e[r]=e[r]||!A.length&&t||{};return e}l.ufb=function(t){function e(){}return e.prototype=t||{},new e},l.tfb=function(t){return t instanceof Array?t[0]:null};function y0(f,t,e){var A=function(){return f.apply(A,arguments)};return t.apply(A,e),A}function u1(){}function _0(f,t){for(var e in t)t[e].configurable=!0;Object.defineProperties(f,t)}function J(f,t,e){var A=jA,P=A[f],r=l.tfb(P);P&&!r?U=P:(U=l.ofb(t),U.vd=e,!t&&(U.wd=Wn),A[f]=U);for(var i=3;i<arguments.length;++i)arguments[i].prototype=U;r&&(U.ud=r)}l.ofb=function(t){var e=t&&t.prototype;return!e&&(e=jA[t]),l.ufb(e)},l.nfb=function(){},B.goog=B.goog||{},B.goog.global=B.goog.global||B,jA={},b.Jc=function(t,e){return j1(t)===j1(e)},b.Kc=function(t){return t.ud},b.Lc=function(t){return w.zzb(t)};function ND(){}b.Oc=function(t,e){return Fe(t)?b.ajb(t,e):gn(t)?b.Rhb(t,e):kA(t)?b.Jgb(t,e):n8(t)?t.lb(e):e8(t)?b.Jc(t,e):T1.t4(t,e)},b.Qc=function(t){return Fe(t)?b.ejb():gn(t)?b.Shb():kA(t)?b.Kgb():n8(t)?t.ud:e8(t)?b.Kc(t):T1.u4(t)},b.Sc=function(t){return Fe(t)?b.fjb(t):gn(t)?b.Thb(t):kA(t)?b.Lgb(t):n8(t)?t.nb():e8(t)?b.Lc(t):T1.v4(t)},b.Uc=function(t){var e;return b.lhb(b.Qc(t))+"@"+(e=w.Tzb(w.Szb(b.Sc(t))),e.toString(16))},J(1,null,{},ND),U.lb=function(t){return b.Jc(this,t)},U.mb=function(){return b.Kc(this)},U.nb=function(){return b.Lc(this)},U.ob=function(){var t;return b.lhb(b.Qc(this))+"@"+(t=w.Tzb(w.Szb(b.Sc(this))),t.toString(16))},U.equals=function(f){return this.lb(f)},U.hashCode=function(){return this.nb()},U.toString=function(){return this.ob()},T1.t4=function(t,e){return T1.z4(t)?T1.w4(t,e):j1(t)===j1(e)},T1.u4=function(t){return t.ud||Array.isArray(t)&&m(l.Rab,1)||l.Rab},T1.v4=function(t){return T1.A4(t)?T1.x4(t):w.zzb(t)},T1.w4=function(t,e){return t.equals(e)},T1.x4=function(t){return t.hashCode()},T1.y4=function(){return[]},T1.z4=function(t){return!!t&&!!t.equals},T1.A4=function(t){return!!t&&!!t.hashCode},T1.B4=function(t){return t.toString?t.toString():"[JavaScriptObject]"},Nt.f5=function(){Nt.f5=u1;var t,e;e=!Nt.o5(),t=new Nt.x5,Nt.e5=e?new Nt.p5:t},Nt.g5=function(t){Nt.f5(),Nt.e5.Lc(t)},Nt.h5=function(t){Nt.f5();var e;return e=Nt.e5.Mc(t),Nt.i5(e)},Nt.i5=function(t){var e,A,P,r;for(e="g5",A="ZB",r=B.Math.min(t.length,5),P=r-1;P>=0;P--)if(b.ajb(t[P].d,e)||b.ajb(t[P].d,A)){t.length>=P+1&&w.Tzb(t).splice(0,P+1);break}return t},Nt.j5=function(t){var e=/function(?:\s+([\w$]+))?\s*\(/,A=e.exec(t);return A&&A[1]||R1},Nt.k5=function(t){return Nt.f5(),t&&t[F1]?t[F1]:[]},Nt.l5=function(t){return Nt.f5(),t.name||(t.name=Nt.j5(t.toString()))},Nt.m5=function(t){return Nt.f5(),parseInt(t)||-1},Nt.n5=function(t){Nt.f5();var e=t.backingJsObject;if(e&&e.stack){var A=e.stack,P=e+S1;return A.substring(0,P.length)==P&&(A=A.substring(P.length)),A.split(S1)}return[]},Nt.o5=function(){return Error.stackTraceLimit>0?(B.Error.stackTraceLimit=Error.stackTraceLimit=64,!0):"stack"in new Error},J(436,1,{}),Nt.p5=function(){},J(306,436,{},Nt.p5),U.Lc=function(t){var e={},A=[];t[F1]=A;for(var P=arguments.callee.caller;P;){var r=Nt.l5(P);A.push(r);var i=":"+r,D=e[i];if(D){var u,o;for(u=0,o=D.length;u<o;u++)if(D[u]===P)return}(D||(e[i]=[])).push(P),P=P.caller}},U.Mc=function(t){var e,A,P,r;for(P=Nt.k5(t),A=T1.H4(P),r=x(l.Kbb,c1,91,A,0,1),e=0;e<A;e++)r[e]=new b.Qib(T1.G4(P,e),null,-1);return r},Nt.s5=function(t,e){var A,P,r,i,D,u,o,Q,L;return Q="",w.Tzb(e).length==0?t.Nc(de,R1,-1,-1):(L=b.sjb(e),b.ajb(w.Tzb(L).substr(0,3),"at ")&&(L=(w.Ozb(3,w.Tzb(L).length+1),w.Tzb(L).substr(3))),L=Nt.t5(L),D=w.Tzb(L).indexOf("("),D==-1?(D=w.Tzb(L).indexOf("@"),D==-1?(Q=L,L=""):(Q=b.sjb((w.Ozb(D+1,w.Tzb(L).length+1),w.Tzb(L).substr(D+1))),L=b.sjb((w.Nzb(0,D,w.Tzb(L).length),w.Tzb(L).substr(0,D))))):(A=w.Tzb(L).indexOf(")",D),Q=(w.Nzb(D+1,A,w.Tzb(L).length),w.Tzb(L).substr(D+1,A-(D+1))),L=b.sjb((w.Nzb(0,D,w.Tzb(L).length),w.Tzb(L).substr(0,D)))),D=b.hjb(L,X1(46)),D!=-1&&(L=(w.Ozb(D+1,w.Tzb(L).length+1),w.Tzb(L).substr(D+1))),(w.Tzb(L).length==0||b.ajb(L,"Anonymous function"))&&(L=R1),u=b.kjb(Q,X1(58)),r=b.ljb(Q,X1(58),u-1),o=-1,P=-1,i=de,u!=-1&&r!=-1&&(i=(w.Nzb(0,r,w.Tzb(Q).length),w.Tzb(Q).substr(0,r)),o=Nt.m5((w.Nzb(r+1,u,w.Tzb(Q).length),w.Tzb(Q).substr(r+1,u-(r+1)))),P=Nt.m5((w.Ozb(u+1,w.Tzb(Q).length+1),w.Tzb(Q).substr(u+1)))),t.Nc(i,L,o,P))},Nt.t5=function(t){return t.replace(/\[.*?\]/g,"")},J(437,436,{}),U.Lc=function(t){},U.Nc=function(t,e,A,P){return new b.Qib(e,t+"@"+P,A<0?-1:A)},U.Mc=function(t){var e,A,P,r,i,D;if(r=Nt.n5(t),i=x(l.Kbb,c1,91,0,0,1),e=0,P=T1.H4(r),P==0)return i;for(D=Nt.s5(this,T1.G4(r,0)),b.ajb(D.d,R1)||(i[e++]=D),A=1;A<P;A++)i[e++]=Nt.s5(this,T1.G4(r,A));return i},Nt.x5=function(){},J(307,437,{},Nt.x5),U.Nc=function(t,e,A,P){return new b.Qib(e,t,-1)},l.z5=function(t){return t};function m(f,t){return l.B5(f,t)}l.B5=function(t,e){return b.whb(t,e)},l.C5=function(t){return t.__elementTypeCategory$==null?10:t.__elementTypeCategory$},l.D5=function(t){return t.__elementTypeId$};function s1(f,t,e,A,P,r){return l.F5(f,t,e,A,P,0,r)}l.F5=function(t,e,A,P,r,i,D){var u,o,Q,L,s;if(L=r[i],Q=i==D-1,u=Q?P:0,s=l.H5(u,L),P!=10&&v(m(t,D-i),e[i],A[i],u,s),!Q)for(++i,o=0;o<L;++o)l.J5(s,o,l.F5(t,e,A,P,r,i,D));return s};function x(f,t,e,A,P,r){var i;return i=l.H5(P,A),P!=10&&v(m(f,r),t,e,P,i),i}l.H5=function(t,e){var A=new Array(e),P;switch(t){case 14:case 15:P=0;break;case 16:P=!1;break;default:return A}for(var r=0;r<e;++r)A[r]=P;return A};function e8(f){return Array.isArray(f)&&f.wd===Wn}l.J5=function(t,e,A){return t[e]=A};function $1(f,t,e){return l.J5(f,t,e)}l.L5=function(t,e){t.ud=e},l.M5=function(t,e){t.__elementTypeCategory$=e},l.N5=function(t,e){t.__elementTypeId$=e};function v(f,t,e,A,P){return l.L5(P,f),P.vd=t,P.wd=Wn,l.N5(P,e),l.M5(P,A),P}l.P5=function(t,e){return l.C5(e)!=10&&v(b.Qc(e),e.vd,l.D5(e),l.C5(e),t),l.z5(t)};function vu(f,t){return Fe(f)?!!KD[t]:f.vd?!!f.vd[t]:gn(f)?!!YD[t]:kA(f)?!!GD[t]:!1}function n8(f){return!Array.isArray(f)&&f.wd===Wn}function Wt(f,t){return f!=null&&vu(f,t)}function kA(f){return typeof f===E0}function gn(f){return typeof f===o0}function JD(f){return f!=null&&l.S6(f)&&f.wd!==Wn}function OD(f,t){return l.T6(f,t)}function Fe(f){return typeof f===Ae}l.S6=function(t){return typeof t===D1||typeof t=="function"},l.T6=function(t,e){return t&&e&&t instanceof e};function j1(f){return f??null}function kt(f){return Math.max(Math.min(f,Mt),-2147483648)|0}var GD,YD,KD;l.xeb=function(t){return t&&t.__java$exception};function p1(f){var t;return Wt(f,27)?f:(t=l.xeb(f),t||(t=new T1.n4(f),Nt.g5(t)),t)}function Qt(f){return f.backingJsObject}function Fu(f){var t;return f==null?!1:(t=typeof f,b.ajb(t,E0)||b.ajb(t,o0)||b.ajb(t,Ae)||f.$implements__java_io_Serializable||Array.isArray(f))}function pu(f){var t;return t=typeof f,b.ajb(t,E0)||b.ajb(t,o0)||b.ajb(t,Ae)?!0:f!=null&&f.$implements__java_lang_Comparable}b.Fgb=function(){b.Fgb=u1,mA=w.Tzb(!1),w.Tzb(!0)},b.Ggb=function(t){return w.Uzb((w.Hzb(t),t))},b.Hgb=function(t,e){return Cu(w.Uzb((w.Hzb(t),t)),w.Uzb((w.Hzb(e),e)))},b.Igb=function(t,e){return b.Hgb(t,e)},b.Jgb=function(t,e){return w.Hzb(t),j1(t)===j1(e)},b.Kgb=function(){return l.sbb},b.Lgb=function(t){return w.Uzb((w.Hzb(t),t))?1231:1237};function Ru(f){return b.Fgb(),b.ajb(E0,typeof f)}function Cu(f,t){return b.Fgb(),f==t?0:f?1:-1}b.Ogb=function(t,e){return b.Fgb(),Fe(t)?b.Vib(t,e):gn(t)?b.Phb(t,e):kA(t)?b.Igb(t,e):t.Rb(e)},GD={4:1,301:1,32:1};var mA;function zu(f){return b.ajb(typeof f,Ae)?!0:f!=null&&f.$implements__java_lang_CharSequence}b.jhb=function(t){t.i=qu++},b.khb=function(t){t.n==null&&b.Ahb(t)},b.lhb=function(t){return b.khb(t),t.n},b.mhb=function(t){return(t.f&4)!=0},b.nhb=function(t){return(t.f&1)!=0},b.ohb=function(){b.jhb(this),this.n=null,this.j=null,this.g=null,this.d=null,this.b=null,this.k=null,this.a=null},b.qhb=function(t){var e;return e=new b.ohb,e.n="Class$"+(t?"S"+t:""+e.i),e.b=e.n,e.j=e.n,e};function O(f){var t;return t=b.qhb(f),b.Ehb(f,t),t}function Oe(f,t){var e;return e=b.qhb(f),b.Ehb(f,e),e.f=t?8:0,e}function Mu(){var f