From ad0ee18526c630d582421232bc4a2e57bcad0feb Mon Sep 17 00:00:00 2001 From: David Benson Date: Thu, 23 Jan 2025 14:10:06 +0000 Subject: [PATCH] 26.0.7 release --- ChangeLog | 8 + VERSION | 2 +- src/main/webapp/clear.html | 126 +- src/main/webapp/js/app.min.js | 2489 +++++++------- src/main/webapp/js/clear.js | 67 +- src/main/webapp/js/integrate.min.js | 3522 ++++++++++---------- src/main/webapp/js/open.js | 6 +- src/main/webapp/js/shapes-14-6-5.min.js | 33 +- src/main/webapp/js/viewer-static.min.js | 1796 +++++----- src/main/webapp/js/viewer.min.js | 1763 +++++----- src/main/webapp/mxgraph/images/submenu.gif | Bin 56 -> 0 bytes src/main/webapp/resources/dia_de.txt | 2 +- src/main/webapp/service-worker.js | 2 +- src/main/webapp/service-worker.js.map | 2 +- src/main/webapp/styles/atlas.css | 88 +- src/main/webapp/styles/grapheditor.css | 240 +- src/main/webapp/styles/high-contrast.css | 22 +- 17 files changed, 5054 insertions(+), 5114 deletions(-) delete mode 100644 src/main/webapp/mxgraph/images/submenu.gif diff --git a/ChangeLog b/ChangeLog index 75040620..4d22fb9c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +22-JAN-2025: 26.0.7 + +- Fixes for Atlas theme dark mode +- Dark mode fixes +- Changes raster images to SVG +- Stroke width fix for some BPMN2 shapes. Ticket [jgraph/drawio#4861] +- [conf cloud] Adds disableGithubEmbedding config to hide Github tab from embed editor [DID-14232] + 15-JAN-2025: 26.0.6 - Various dark mode improvements diff --git a/VERSION b/VERSION index 6f1854ab..3f7e68d3 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -26.0.6 \ No newline at end of file +26.0.7 \ No newline at end of file diff --git a/src/main/webapp/clear.html b/src/main/webapp/clear.html index 0ab7a7d1..468d1661 100644 --- a/src/main/webapp/clear.html +++ b/src/main/webapp/clear.html @@ -5,69 +5,79 @@ Clear diagrams.net Cache -
- - - - - - - - draw.io +
+
+ + + + + + + + draw.io + + + +
+ +
- - diff --git a/src/main/webapp/js/app.min.js b/src/main/webapp/js/app.min.js index c1c0964f..26e1b991 100644 --- a/src/main/webapp/js/app.min.js +++ b/src/main/webapp/js/app.min.js @@ -64,7 +64,7 @@ if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==url "se.diagrams.net"==window.location.hostname&&(urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.gl="0",urlParams.tr="0",urlParams.plugins="0",urlParams.mode="google",urlParams.lockdown="1",window.DRAWIO_GOOGLE_APP_ID=window.DRAWIO_GOOGLE_APP_ID||"184079235871",window.DRAWIO_GOOGLE_CLIENT_ID=window.DRAWIO_GOOGLE_CLIENT_ID||"184079235871-pjf5nn0lff27lk8qf0770gmffiv9gt61.apps.googleusercontent.com");"trello"==urlParams.mode&&(urlParams.tr="1"); "embed.diagrams.net"==window.location.hostname&&(urlParams.embed="1");(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.open&&(window.location.hash=urlParams.open);"function"!==typeof window.structuredClone&&(window.structuredClone=function(a){return a});window.urlParams=window.urlParams||{};window.DOM_PURIFY_CONFIG=window.DOM_PURIFY_CONFIG||{ADD_TAGS:["use","foreignObject"],FORBID_TAGS:["form"],ALLOWED_URI_REGEXP:/^((?!javascript:).)*$/i,HTML_INTEGRATION_POINTS:{foreignobject:!0},ADD_ATTR:["target","content","pointer-events","requiredFeatures"]};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save"; window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"mxgraph"; -window.mxImageBasePath=window.mxImageBasePath||"mxgraph/images";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"26.0.6",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"), +window.mxImageBasePath=window.mxImageBasePath||"mxgraph/images";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"26.0.7",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"), IS_OP:null!=navigator.userAgent&&(0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/")),IS_OT:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:/Apple Computer, Inc/.test(navigator.vendor), IS_ANDROID:0<=navigator.appVersion.indexOf("Android"),IS_IOS:/iP(hone|od|ad)/.test(navigator.platform)||navigator.userAgent.match(/Mac/)&&navigator.maxTouchPoints&&2navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:"MICROSOFT INTERNET EXPLORER"!=navigator.appName.toUpperCase(),NO_FO:!document.createElementNS|| @@ -302,15 +302,16 @@ function(){this.scrollbars=mxUtils.hasScrollbars(a.container);this.scrollLeft=a. this.getDy())}),this.delay)});this.isActive=function(){return active};this.getDx=function(){return Math.round(this.tdx)};this.getDy=function(){return Math.round(this.tdy)};this.start=function(){this.t0x=a.view.translate.x;this.t0y=a.view.translate.y;this.active=!0};this.panTo=function(c,d,e,f){this.active||this.start();this.scrollLeft=a.container.scrollLeft;this.scrollTop=a.container.scrollTop;var g=a.container;this.dx=c+(null!=e?e:0)-g.scrollLeft-g.clientWidth;this.dx=0>this.dx&&Math.abs(this.dx)< this.border?this.border+this.dx:this.handleMouseOut?Math.max(this.dx,0):0;0==this.dx&&(this.dx=c-g.scrollLeft,this.dx=0this.dy&&Math.abs(this.dy)e.x+(document.body.clientWidth||f.clientWidth)&&(b.div.style.left=Math.max(0,a.div.offsetLeft-d+16)+"px");b.div.style.overflowY="auto";b.div.style.overflowX= "hidden";b.div.style.maxHeight=Math.max(document.body.clientHeight,document.documentElement.clientHeight)-10+"px";mxUtils.fit(b.div)}}; mxPopupMenu.prototype.addSeparator=function(a,b){a=a||this;if(this.smartSeparators&&!b)a.willAddSeparator=!0;else if(null!=a.tbody){a.willAddSeparator=!1;b=document.createElement("tr");var c=document.createElement("td");c.className="mxPopupMenuIcon";c.style.padding="0 0 0 0px";b.appendChild(c);c=document.createElement("td");c.style.padding="0 0 0 0px";c.setAttribute("colSpan","2");var d=document.createElement("hr");d.setAttribute("size","1");c.appendChild(d);b.appendChild(c);a.tbody.appendChild(b)}}; @@ -1941,28 +1942,38 @@ Editor.colorDropperImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3 Editor.magnifyImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgLTk2MCA5NjAgOTYwIiB3aWR0aD0iMjQiPjxwYXRoIGQ9Ik03ODQtMTIwIDUzMi0zNzJxLTMwIDI0LTY5IDM4dC04MyAxNHEtMTA5IDAtMTg0LjUtNzUuNVQxMjAtNTgwcTAtMTA5IDc1LjUtMTg0LjVUMzgwLTg0MHExMDkgMCAxODQuNSA3NS41VDY0MC01ODBxMCA0NC0xNCA4M3QtMzggNjlsMjUyIDI1Mi01NiA1NlpNMzgwLTQwMHE3NSAwIDEyNy41LTUyLjVUNTYwLTU4MHEwLTc1LTUyLjUtMTI3LjVUMzgwLTc2MHEtNzUgMC0xMjcuNSA1Mi41VDIwMC01ODBxMCA3NSA1Mi41IDEyNy41VDM4MC00MDBaIi8+PC9zdmc+"; Editor.sendImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgLTk2MCA5NjAgOTYwIiB3aWR0aD0iMjQiPjxwYXRoIGQ9Ik0xMjAtMTYwdi02NDBsNzYwIDMyMC03NjAgMzIwWm04MC0xMjAgNDc0LTIwMC00NzQtMjAwdjE0MGwyNDAgNjAtMjQwIDYwdjE0MFptMCAwdi00MDAgNDAwWiIvPjwvc3ZnPg==";Editor.sparklesImage="data:image/svg+xml;base64,PCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KDTwhLS0gVXBsb2FkZWQgdG86IFNWRyBSZXBvLCB3d3cuc3ZncmVwby5jb20sIFRyYW5zZm9ybWVkIGJ5OiBTVkcgUmVwbyBNaXhlciBUb29scyAtLT4KPHN2ZyB3aWR0aD0iODAwcHgiIGhlaWdodD0iODAwcHgiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBpZD0iaWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgZmlsbD0iI2ZjZmY0NyIgZGF0YS1kYXJrcmVhZGVyLWlubGluZS1maWxsPSIiIHN0eWxlPSItLWRhcmtyZWFkZXItaW5saW5lLWZpbGw6ICNkNmQ4NTA7IC0tZGFya3JlYWRlci1pbmxpbmUtc3Ryb2tlOiAjZDZkODUwOyIgc3Ryb2tlPSIjZmNmZjQ3IiBkYXRhLWRhcmtyZWFkZXItaW5saW5lLXN0cm9rZT0iIj4KDTxnIGlkPSJTVkdSZXBvX2JnQ2FycmllciIgc3Ryb2tlLXdpZHRoPSIwIi8+Cg08ZyBpZD0iU1ZHUmVwb190cmFjZXJDYXJyaWVyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KDTxnIGlkPSJTVkdSZXBvX2ljb25DYXJyaWVyIj4KDTxwYXRoIGQ9Ik0yNTkuOTIsMjYyLjkxLDIxNi40LDE0OS43N2E5LDksMCwwLDAtMTYuOCwwTDE1Ni4wOCwyNjIuOTFhOSw5LDAsMCwxLTUuMTcsNS4xN0wzNy43NywzMTEuNmE5LDksMCwwLDAsMCwxNi44bDExMy4xNCw0My41MmE5LDksMCwwLDEsNS4xNyw1LjE3TDE5OS42LDQ5MC4yM2E5LDksMCwwLDAsMTYuOCwwbDQzLjUyLTExMy4xNGE5LDksMCwwLDEsNS4xNy01LjE3TDM3OC4yMywzMjguNGE5LDksMCwwLDAsMC0xNi44TDI2NS4wOSwyNjguMDhBOSw5LDAsMCwxLDI1OS45MiwyNjIuOTFaIiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxOS45NjgiIGRhdGEtZGFya3JlYWRlci1pbmxpbmUtc3Ryb2tlPSIiIHN0eWxlPSItLWRhcmtyZWFkZXItaW5saW5lLXN0cm9rZTogIzE4MWExYjsiLz4KDTxwb2x5Z29uIHBvaW50cz0iMTA4IDY4IDg4IDE2IDY4IDY4IDE2IDg4IDY4IDEwOCA4OCAxNjAgMTA4IDEwOCAxNjAgODggMTA4IDY4IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxOS45NjgiIGRhdGEtZGFya3JlYWRlci1pbmxpbmUtc3Ryb2tlPSIiIHN0eWxlPSItLWRhcmtyZWFkZXItaW5saW5lLXN0cm9rZTogIzE4MWExYjsiLz4KDTxwb2x5Z29uIHBvaW50cz0iNDI2LjY3IDExNy4zMyA0MDAgNDggMzczLjMzIDExNy4zMyAzMDQgMTQ0IDM3My4zMyAxNzAuNjcgNDAwIDI0MCA0MjYuNjcgMTcwLjY3IDQ5NiAxNDQgNDI2LjY3IDExNy4zMyIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMTkuOTY4IiBkYXRhLWRhcmtyZWFkZXItaW5saW5lLXN0cm9rZT0iIiBzdHlsZT0iLS1kYXJrcmVhZGVyLWlubGluZS1zdHJva2U6ICMxODFhMWI7Ii8+Cg08L2c+Cg08L3N2Zz4="; Editor.arrowRightImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjNWY2MzY4Ij48cGF0aCBkPSJNNDAwLTI4MHYtNDAwbDIwMCAyMDAtMjAwIDIwMFoiLz48L3N2Zz4=";Editor.arrowDownImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjNWY2MzY4Ij48cGF0aCBkPSJNNDgwLTM2MCAyODAtNTYwaDQwMEw0ODAtMzYwWiIvPjwvc3ZnPg=="; -Editor.refreshImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNDgwLTE2MHEtMTM0IDAtMjI3LTkzdC05My0yMjdxMC0xMzQgOTMtMjI3dDIyNy05M3E2OSAwIDEzMiAyOC41VDcyMC02OTB2LTExMGg4MHYyODBINTIwdi04MGgxNjhxLTMyLTU2LTg3LjUtODhUNDgwLTcyMHEtMTAwIDAtMTcwIDcwdC03MCAxNzBxMCAxMDAgNzAgMTcwdDE3MCA3MHE3NyAwIDEzOS00NHQ4Ny0xMTZoODRxLTI4IDEwNi0xMTQgMTczdC0xOTYgNjdaIi8+PC9zdmc+"; -Editor.checkImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMzgyLTI0MCAxNTQtNDY4bDU3LTU3IDE3MSAxNzEgMzY3LTM2NyA1NyA1Ny00MjQgNDI0WiIvPjwvc3ZnPg==";Editor.boldImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjcyLTIwMHYtNTYwaDIyMXE2NSAwIDEyMCA0MHQ1NSAxMTFxMCA1MS0yMyA3OC41VDYwMi00OTFxMjUgMTEgNTUuNSA0MXQzMC41IDkwcTAgODktNjUgMTI0LjVUNTAxLTIwMEgyNzJabTEyMS0xMTJoMTA0cTQ4IDAgNTguNS0yNC41VDU2Ni0zNzJxMC0xMS0xMC41LTM1LjVUNDk0LTQzMkgzOTN2MTIwWm0wLTIyOGg5M3EzMyAwIDQ4LTE3dDE1LTM4cTAtMjQtMTctMzl0LTQ0LTE1aC05NXYxMDlaIi8+PC9zdmc+"; +Editor.arrowUpImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjNWY2MzY4Ij48cGF0aCBkPSJtMjgwLTQwMCAyMDAtMjAwIDIwMCAyMDBIMjgwWiIvPjwvc3ZnPg==";Editor.refreshImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNDgwLTE2MHEtMTM0IDAtMjI3LTkzdC05My0yMjdxMC0xMzQgOTMtMjI3dDIyNy05M3E2OSAwIDEzMiAyOC41VDcyMC02OTB2LTExMGg4MHYyODBINTIwdi04MGgxNjhxLTMyLTU2LTg3LjUtODhUNDgwLTcyMHEtMTAwIDAtMTcwIDcwdC03MCAxNzBxMCAxMDAgNzAgMTcwdDE3MCA3MHE3NyAwIDEzOS00NHQ4Ny0xMTZoODRxLTI4IDEwNi0xMTQgMTczdC0xOTYgNjdaIi8+PC9zdmc+"; +Editor.checkImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMzgyLTI0MCAxNTQtNDY4bDU3LTU3IDE3MSAxNzEgMzY3LTM2NyA1NyA1Ny00MjQgNDI0WiIvPjwvc3ZnPg==";Editor.dockRightImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjAwLTEyMHEtMzMgMC01Ni41LTIzLjVUMTIwLTIwMHYtNTYwcTAtMzMgMjMuNS01Ni41VDIwMC04NDBoNTYwcTMzIDAgNTYuNSAyMy41VDg0MC03NjB2NTYwcTAgMzMtMjMuNSA1Ni41VDc2MC0xMjBIMjAwWm0xMjAtODB2LTU2MEgyMDB2NTYwaDEyMFptODAgMGgzNjB2LTU2MEg0MDB2NTYwWm0tODAgMEgyMDBoMTIwWiIvPjwvc3ZnPg=="; +Editor.toFrontImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMzYwLTI4MHEtMzMgMC01Ni41LTIzLjVUMjgwLTM2MHYtNDAwcTAtMzMgMjMuNS01Ni41VDM2MC04NDBoNDAwcTMzIDAgNTYuNSAyMy41VDg0MC03NjB2NDAwcTAgMzMtMjMuNSA1Ni41VDc2MC0yODBIMzYwWm0wLTgwaDQwMHYtNDAwSDM2MHY0MDBaTTIwMC0yMDB2ODBxLTMzIDAtNTYuNS0yMy41VDEyMC0yMDBoODBabS04MC04MHYtODBoODB2ODBoLTgwWm0wLTE2MHYtODBoODB2ODBoLTgwWm0wLTE2MHYtODBoODB2ODBoLTgwWm0xNjAgNDgwdi04MGg4MHY4MGgtODBabTE2MCAwdi04MGg4MHY4MGgtODBabTE2MCAwdi04MGg4MHY4MGgtODBaIi8+PC9zdmc+"; +Editor.toBackImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjAwLTEyMHEtMzMgMC01Ni41LTIzLjVUMTIwLTIwMHYtNDgwaDgwdjQ4MGg0ODB2ODBIMjAwWm0xNjAtMjQwdjgwcS0zMyAwLTU2LjUtMjMuNVQyODAtMzYwaDgwWm0tODAtODB2LTgwaDgwdjgwaC04MFptMC0xNjB2LTgwaDgwdjgwaC04MFptODAtMTYwaC04MHEwLTMzIDIzLjUtNTYuNVQzNjAtODQwdjgwWm04MCA0ODB2LTgwaDgwdjgwaC04MFptMC00ODB2LTgwaDgwdjgwaC04MFptMTYwIDB2LTgwaDgwdjgwaC04MFptMCA0ODB2LTgwaDgwdjgwaC04MFptMTYwLTQ4MHYtODBxMzMgMCA1Ni41IDIzLjVUODQwLTc2MGgtODBabTAgNDAwaDgwcTAgMzMtMjMuNSA1Ni41VDc2MC0yODB2LTgwWm0wLTgwdi04MGg4MHY4MGgtODBabTAtMTYwdi04MGg4MHY4MGgtODBaIi8+PC9zdmc+"; +Editor.fillColorImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJtMjQ3LTkwNCA1Ny01NiAzNDMgMzQzcTIzIDIzIDIzIDU3dC0yMyA1N0w0NTctMzEzcS0yMyAyMy01NyAyM3QtNTctMjNMMTUzLTUwM3EtMjMtMjMtMjMtNTd0MjMtNTdsMTkwLTE5MS05Ni05NlptMTUzIDE1M0wyMDktNTYwaDM4Mkw0MDAtNzUxWm0zNjAgNDcxcS0zMyAwLTU2LjUtMjMuNVQ2ODAtMzYwcTAtMjEgMTIuNS00NXQyNy41LTQ1cTktMTIgMTktMjV0MjEtMjVxMTEgMTIgMjEgMjV0MTkgMjVxMTUgMjEgMjcuNSA0NXQxMi41IDQ1cTAgMzMtMjMuNSA1Ni41VDc2MC0yODBaTTgwIDB2LTE2MGg4MDBWMEg4MFoiLz48L3N2Zz4="; +Editor.strokeColorImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNODAgMHYtMTYwaDgwMFYwSDgwWm0xNjAtMzIwaDU2bDMxMi0zMTEtMjktMjktMjgtMjgtMzExIDMxMnY1NlptLTgwIDgwdi0xNzBsNDQ4LTQ0N3ExMS0xMSAyNS41LTE3dDMwLjUtNnExNiAwIDMxIDZ0MjcgMThsNTUgNTZxMTIgMTEgMTcuNSAyNnQ1LjUgMzFxMCAxNS01LjUgMjkuNVQ3NzctNjg3TDMzMC0yNDBIMTYwWm01NjAtNTA0LTU2LTU2IDU2IDU2Wk02MDgtNjMxbC0yOS0yOS0yOC0yOCA1NyA1N1oiLz48L3N2Zz4="; +Editor.fontColorImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNODAgMHYtMTYwaDgwMFYwSDgwWm0xNDAtMjgwIDIxMC01NjBoMTAwbDIxMCA1NjBoLTk2bC01MC0xNDRIMzY4bC01MiAxNDRoLTk2Wm0xNzYtMjI0aDE2OGwtODItMjMyaC00bC04MiAyMzJaIi8+PC9zdmc+";Editor.backgroundColorImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNODAgMHYtMTYwaDgwMFYwSDgwWm01MDQtNDgwTDQ4MC01ODQgMzIwLTQyNGwxMDMgMTA0IDE2MS0xNjBabS00Ny0xNjAgMTAzIDEwMyAxNjAtMTU5LTEwNC0xMDQtMTU5IDE2MFptLTg0LTI5IDIxNiAyMTYtMTg5IDE5MHEtMjQgMjQtNTYuNSAyNFQzNjctMjYzbC0yNyAyM0gxNDBsMTI2LTEyNXEtMjQtMjQtMjUtNTcuNXQyMy01Ny41bDE4OS0xODlabTAgMCAxODctMTg3cTI0LTI0IDU2LjUtMjR0NTYuNSAyNGwxMDQgMTAzcTI0IDI0IDI0IDU2LjVUODU3LTY0MEw2NjktNDUzIDQ1My02NjlaIi8+PC9zdmc+"; +Editor.shadowImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTYwLTgwcS0zMyAwLTU2LjUtMjMuNVQ4MC0xNjB2LTQ4MHEwLTMzIDIzLjUtNTYuNVQxNjAtNzIwaDgwdi04MHEwLTMzIDIzLjUtNTYuNVQzMjAtODgwaDQ4MHEzMyAwIDU2LjUgMjMuNVQ4ODAtODAwdjQ4MHEwIDMzLTIzLjUgNTYuNVQ4MDAtMjQwaC04MHY4MHEwIDMzLTIzLjUgNTYuNVQ2NDAtODBIMTYwWm0xNjAtMjQwaDQ4MHYtNDgwSDMyMHY0ODBaIi8+PC9zdmc+"; +Editor.boldImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjcyLTIwMHYtNTYwaDIyMXE2NSAwIDEyMCA0MHQ1NSAxMTFxMCA1MS0yMyA3OC41VDYwMi00OTFxMjUgMTEgNTUuNSA0MXQzMC41IDkwcTAgODktNjUgMTI0LjVUNTAxLTIwMEgyNzJabTEyMS0xMTJoMTA0cTQ4IDAgNTguNS0yNC41VDU2Ni0zNzJxMC0xMS0xMC41LTM1LjVUNDk0LTQzMkgzOTN2MTIwWm0wLTIyOGg5M3EzMyAwIDQ4LTE3dDE1LTM4cTAtMjQtMTctMzl0LTQ0LTE1aC05NXYxMDlaIi8+PC9zdmc+"; Editor.italicImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjAwLTIwMHYtMTAwaDE2MGwxMjAtMzYwSDMyMHYtMTAwaDQwMHYxMDBINTgwTDQ2MC0zMDBoMTQwdjEwMEgyMDBaIi8+PC9zdmc+";Editor.underlineImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjAwLTEyMHYtODBoNTYwdjgwSDIwMFptMjgwLTE2MHEtMTAxIDAtMTU3LTYzdC01Ni0xNjd2LTMzMGgxMDN2MzM2cTAgNTYgMjggOTF0ODIgMzVxNTQgMCA4Mi0zNXQyOC05MXYtMzM2aDEwM3YzMzBxMCAxMDQtNTYgMTY3dC0xNTcgNjNaIi8+PC9zdmc+"; Editor.strikethroughImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNDg2LTE2MHEtNzYgMC0xMzUtNDV0LTg1LTEyM2w4OC0zOHExNCA0OCA0OC41IDc5dDg1LjUgMzFxNDIgMCA3Ni0yMHQzNC02NHEwLTE4LTctMzN0LTE5LTI3aDExMnE1IDE0IDcuNSAyOC41VDY5NC0zNDBxMCA4Ni02MS41IDEzM1Q0ODYtMTYwWk04MC00ODB2LTgwaDgwMHY4MEg4MFptNDAyLTMyNnE2NiAwIDExNS41IDMyLjVUNjc0LTY3NGwtODggMzlxLTktMjktMzMuNS01MlQ0ODQtNzEwcS00MSAwLTY4IDE4LjVUMzg2LTY0MGgtOTZxMi02OSA1NC41LTExNy41VDQ4Mi04MDZaIi8+PC9zdmc+"; -Editor.verticalTextImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjQwLTI0MHYtMjAwcS02NiAwLTExMy00N1Q4MC02MDBxMC02NiA0Ny0xMTN0MTEzLTQ3aDMyMHY4MGgtODB2NDQwaC04MHYtNDQwaC04MHY0NDBoLTgwWm00ODAgODBMNTYwLTMyMGw1Ni01NiA2NCA2M3YtNDQ3aDgwdjQ0N2w2NC02NCA1NiA1Ny0xNjAgMTYwWk0yNDAtNTIwdi0xNjBxLTMzIDAtNTYuNSAyMy41VDE2MC02MDBxMCAzMyAyMy41IDU2LjVUMjQwLTUyMFptMC04MFoiLz48L3N2Zz4="; -Editor.alignLeftImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTIwLTEyMHYtODBoNzIwdjgwSDEyMFptMC0xNjB2LTgwaDQ4MHY4MEgxMjBabTAtMTYwdi04MGg3MjB2ODBIMTIwWm0wLTE2MHYtODBoNDgwdjgwSDEyMFptMC0xNjB2LTgwaDcyMHY4MEgxMjBaIi8+PC9zdmc+";Editor.alignCenterImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTIwLTEyMHYtODBoNzIwdjgwSDEyMFptMTYwLTE2MHYtODBoNDAwdjgwSDI4MFpNMTIwLTQ0MHYtODBoNzIwdjgwSDEyMFptMTYwLTE2MHYtODBoNDAwdjgwSDI4MFpNMTIwLTc2MHYtODBoNzIwdjgwSDEyMFoiLz48L3N2Zz4="; -Editor.alignRightImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTIwLTc2MHYtODBoNzIwdjgwSDEyMFptMjQwIDE2MHYtODBoNDgwdjgwSDM2MFpNMTIwLTQ0MHYtODBoNzIwdjgwSDEyMFptMjQwIDE2MHYtODBoNDgwdjgwSDM2MFpNMTIwLTEyMHYtODBoNzIwdjgwSDEyMFoiLz48L3N2Zz4=";Editor.alignJustifyImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTIwLTEyMHYtODBoNzIwdjgwSDEyMFptMC0xNjB2LTgwaDcyMHY4MEgxMjBabTAtMTYwdi04MGg3MjB2ODBIMTIwWm0wLTE2MHYtODBoNzIwdjgwSDEyMFptMC0xNjB2LTgwaDcyMHY4MEgxMjBaIi8+PC9zdmc+"; -Editor.alignTopImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTYwLTc2MHYtODBoNjQwdjgwSDE2MFptMjgwIDY0MHYtNDA4TDMzNi00MjRsLTU2LTU2IDIwMC0yMDAgMjAwIDIwMC01NiA1Ni0xMDQtMTA0djQwOGgtODBaIi8+PC9zdmc+";Editor.alignMiddleImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNDQwLTgwdi0xNjhsLTY0IDY0LTU2LTU2IDE2MC0xNjAgMTYwIDE2MC01NiA1Ni02NC02NHYxNjhoLTgwWk0xNjAtNDQwdi04MGg2NDB2ODBIMTYwWm0zMjAtMTIwTDMyMC03MjBsNTYtNTYgNjQgNjR2LTE2OGg4MHYxNjhsNjQtNjQgNTYgNTYtMTYwIDE2MFoiLz48L3N2Zz4="; -Editor.alignBottomImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTYwLTEyMHYtODBoNjQwdjgwSDE2MFptMzIwLTE2MEwyODAtNDgwbDU2LTU2IDEwNCAxMDR2LTQwOGg4MHY0MDhsMTA0LTEwNCA1NiA1Ni0yMDAgMjAwWiIvPjwvc3ZnPg==";Editor.alignHorizontalLeftImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNODAtODB2LTgwMGg4MHY4MDBIODBabTE2MC0yMDB2LTEyMGg0MDB2MTIwSDI0MFptMC0yODB2LTEyMGg2NDB2MTIwSDI0MFoiLz48L3N2Zz4="; -Editor.alignHorizontalCenterImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNDQwLTgwdi0yMDBIMjQwdi0xMjBoMjAwdi0xNjBIMTIwdi0xMjBoMzIwdi0yMDBoODB2MjAwaDMyMHYxMjBINTIwdjE2MGgyMDB2MTIwSDUyMHYyMDBoLTgwWiIvPjwvc3ZnPg==";Editor.alignHorizontalRightImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNODAwLTgwdi04MDBoODB2ODAwaC04MFpNMzIwLTI4MHYtMTIwaDQwMHYxMjBIMzIwWk04MC01NjB2LTEyMGg2NDB2MTIwSDgwWiIvPjwvc3ZnPg=="; -Editor.alignVerticalTopImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjgwLTgwdi02NDBoMTIwdjY0MEgyODBabTI4MC0yNDB2LTQwMGgxMjB2NDAwSDU2MFpNODAtODAwdi04MGg4MDB2ODBIODBaIi8+PC9zdmc+";Editor.alignVerticalMiddleImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjgwLTEyMHYtMzIwSDgwdi04MGgyMDB2LTMyMGgxMjB2MzIwaDE2MHYtMjAwaDEyMHYyMDBoMjAwdjgwSDY4MHYyMDBINTYwdi0yMDBINDAwdjMyMEgyODBaIi8+PC9zdmc+"; -Editor.alignVerticalBottomImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNODAtODB2LTgwaDgwMHY4MEg4MFptMjAwLTE2MHYtNjQwaDEyMHY2NDBIMjgwWm0yODAgMHYtNDAwaDEyMHY0MDBINTYwWiIvPjwvc3ZnPg==";Editor.subscriptImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNzYwLTE2MHYtODBxMC0xNyAxMS41LTI4LjVUODAwLTI4MGg4MHYtNDBINzYwdi00MGgxMjBxMTcgMCAyOC41IDExLjVUOTIwLTMyMHY0MHEwIDE3LTExLjUgMjguNVQ4ODAtMjQwaC04MHY0MGgxMjB2NDBINzYwWm0tNTI1LTgwIDE4NS0yOTEtMTcyLTI2OWgxMDZsMTI0IDIwMGg0bDEyMy0yMDBoMTA3TDUzOS01MzFsMTg2IDI5MUg2MThMNDgyLTQ1N2gtNEwzNDItMjQwSDIzNVoiLz48L3N2Zz4="; +Editor.verticalTextImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNzYwLTE2MGgtODB2LTUyOGwtNDIgNDItNTYtNTYgMTM4LTEzOCAxNDAgMTM4LTU4IDU2LTQyLTQydjUyOFpNNTYwLTI3NiAxMjAtNDQwdi04MGw0NDAtMTY0djc2bC0xMTIgMzh2MTc4bDExMiA0MHY3NlpNMzg0LTQxNHYtMTMybC0xODIgNjR2NGwxODIgNjRaIi8+PC9zdmc+";Editor.alignLeftImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTIwLTEyMHYtODBoNzIwdjgwSDEyMFptMC0xNjB2LTgwaDQ4MHY4MEgxMjBabTAtMTYwdi04MGg3MjB2ODBIMTIwWm0wLTE2MHYtODBoNDgwdjgwSDEyMFptMC0xNjB2LTgwaDcyMHY4MEgxMjBaIi8+PC9zdmc+"; +Editor.alignCenterImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTIwLTEyMHYtODBoNzIwdjgwSDEyMFptMTYwLTE2MHYtODBoNDAwdjgwSDI4MFpNMTIwLTQ0MHYtODBoNzIwdjgwSDEyMFptMTYwLTE2MHYtODBoNDAwdjgwSDI4MFpNMTIwLTc2MHYtODBoNzIwdjgwSDEyMFoiLz48L3N2Zz4=";Editor.alignRightImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTIwLTc2MHYtODBoNzIwdjgwSDEyMFptMjQwIDE2MHYtODBoNDgwdjgwSDM2MFpNMTIwLTQ0MHYtODBoNzIwdjgwSDEyMFptMjQwIDE2MHYtODBoNDgwdjgwSDM2MFpNMTIwLTEyMHYtODBoNzIwdjgwSDEyMFoiLz48L3N2Zz4="; +Editor.alignJustifyImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTIwLTEyMHYtODBoNzIwdjgwSDEyMFptMC0xNjB2LTgwaDcyMHY4MEgxMjBabTAtMTYwdi04MGg3MjB2ODBIMTIwWm0wLTE2MHYtODBoNzIwdjgwSDEyMFptMC0xNjB2LTgwaDcyMHY4MEgxMjBaIi8+PC9zdmc+";Editor.alignTopImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTYwLTc2MHYtODBoNjQwdjgwSDE2MFptMjgwIDY0MHYtNDA4TDMzNi00MjRsLTU2LTU2IDIwMC0yMDAgMjAwIDIwMC01NiA1Ni0xMDQtMTA0djQwOGgtODBaIi8+PC9zdmc+"; +Editor.alignMiddleImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNDQwLTgwdi0xNjhsLTY0IDY0LTU2LTU2IDE2MC0xNjAgMTYwIDE2MC01NiA1Ni02NC02NHYxNjhoLTgwWk0xNjAtNDQwdi04MGg2NDB2ODBIMTYwWm0zMjAtMTIwTDMyMC03MjBsNTYtNTYgNjQgNjR2LTE2OGg4MHYxNjhsNjQtNjQgNTYgNTYtMTYwIDE2MFoiLz48L3N2Zz4=";Editor.alignBottomImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTYwLTEyMHYtODBoNjQwdjgwSDE2MFptMzIwLTE2MEwyODAtNDgwbDU2LTU2IDEwNCAxMDR2LTQwOGg4MHY0MDhsMTA0LTEwNCA1NiA1Ni0yMDAgMjAwWiIvPjwvc3ZnPg=="; +Editor.alignHorizontalLeftImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNODAtODB2LTgwMGg4MHY4MDBIODBabTE2MC0yMDB2LTEyMGg0MDB2MTIwSDI0MFptMC0yODB2LTEyMGg2NDB2MTIwSDI0MFoiLz48L3N2Zz4=";Editor.alignHorizontalCenterImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNDQwLTgwdi0yMDBIMjQwdi0xMjBoMjAwdi0xNjBIMTIwdi0xMjBoMzIwdi0yMDBoODB2MjAwaDMyMHYxMjBINTIwdjE2MGgyMDB2MTIwSDUyMHYyMDBoLTgwWiIvPjwvc3ZnPg=="; +Editor.alignHorizontalRightImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNODAwLTgwdi04MDBoODB2ODAwaC04MFpNMzIwLTI4MHYtMTIwaDQwMHYxMjBIMzIwWk04MC01NjB2LTEyMGg2NDB2MTIwSDgwWiIvPjwvc3ZnPg==";Editor.alignVerticalTopImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjgwLTgwdi02NDBoMTIwdjY0MEgyODBabTI4MC0yNDB2LTQwMGgxMjB2NDAwSDU2MFpNODAtODAwdi04MGg4MDB2ODBIODBaIi8+PC9zdmc+"; +Editor.alignVerticalMiddleImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjgwLTEyMHYtMzIwSDgwdi04MGgyMDB2LTMyMGgxMjB2MzIwaDE2MHYtMjAwaDEyMHYyMDBoMjAwdjgwSDY4MHYyMDBINTYwdi0yMDBINDAwdjMyMEgyODBaIi8+PC9zdmc+";Editor.alignVerticalBottomImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNODAtODB2LTgwaDgwMHY4MEg4MFptMjAwLTE2MHYtNjQwaDEyMHY2NDBIMjgwWm0yODAgMHYtNDAwaDEyMHY0MDBINTYwWiIvPjwvc3ZnPg=="; +Editor.subscriptImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNzYwLTE2MHYtODBxMC0xNyAxMS41LTI4LjVUODAwLTI4MGg4MHYtNDBINzYwdi00MGgxMjBxMTcgMCAyOC41IDExLjVUOTIwLTMyMHY0MHEwIDE3LTExLjUgMjguNVQ4ODAtMjQwaC04MHY0MGgxMjB2NDBINzYwWm0tNTI1LTgwIDE4NS0yOTEtMTcyLTI2OWgxMDZsMTI0IDIwMGg0bDEyMy0yMDBoMTA3TDUzOS01MzFsMTg2IDI5MUg2MThMNDgyLTQ1N2gtNEwzNDItMjQwSDIzNVoiLz48L3N2Zz4="; Editor.superscriptImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNzYwLTYwMHYtODBxMC0xNyAxMS41LTI4LjVUODAwLTcyMGg4MHYtNDBINzYwdi00MGgxMjBxMTcgMCAyOC41IDExLjVUOTIwLTc2MHY0MHEwIDE3LTExLjUgMjguNVQ4ODAtNjgwaC04MHY0MGgxMjB2NDBINzYwWk0yMzUtMTYwbDE4NS0yOTEtMTcyLTI2OWgxMDZsMTI0IDIwMGg0bDEyMy0yMDBoMTA3TDUzOS00NTFsMTg2IDI5MUg2MThMNDgyLTM3N2gtNEwzNDItMTYwSDIzNVoiLz48L3N2Zz4="; Editor.orderedListImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTIwLTgwdi02MGgxMDB2LTMwaC02MHYtNjBoNjB2LTMwSDEyMHYtNjBoMTIwcTE3IDAgMjguNSAxMS41VDI4MC0yODB2NDBxMCAxNy0xMS41IDI4LjVUMjQwLTIwMHExNyAwIDI4LjUgMTEuNVQyODAtMTYwdjQwcTAgMTctMTEuNSAyOC41VDI0MC04MEgxMjBabTAtMjgwdi0xMTBxMC0xNyAxMS41LTI4LjVUMTYwLTUxMGg2MHYtMzBIMTIwdi02MGgxMjBxMTcgMCAyOC41IDExLjVUMjgwLTU2MHY3MHEwIDE3LTExLjUgMjguNVQyNDAtNDUwaC02MHYzMGgxMDB2NjBIMTIwWm02MC0yODB2LTE4MGgtNjB2LTYwaDEyMHYyNDBoLTYwWm0xODAgNDQwdi04MGg0ODB2ODBIMzYwWm0wLTI0MHYtODBoNDgwdjgwSDM2MFptMC0yNDB2LTgwaDQ4MHY4MEgzNjBaIi8+PC9zdmc+"; Editor.unorderedListImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMzYwLTIwMHYtODBoNDgwdjgwSDM2MFptMC0yNDB2LTgwaDQ4MHY4MEgzNjBabTAtMjQwdi04MGg0ODB2ODBIMzYwWk0yMDAtMTYwcS0zMyAwLTU2LjUtMjMuNVQxMjAtMjQwcTAtMzMgMjMuNS01Ni41VDIwMC0zMjBxMzMgMCA1Ni41IDIzLjVUMjgwLTI0MHEwIDMzLTIzLjUgNTYuNVQyMDAtMTYwWm0wLTI0MHEtMzMgMC01Ni41LTIzLjVUMTIwLTQ4MHEwLTMzIDIzLjUtNTYuNVQyMDAtNTYwcTMzIDAgNTYuNSAyMy41VDI4MC00ODBxMCAzMy0yMy41IDU2LjVUMjAwLTQwMFptMC0yNDBxLTMzIDAtNTYuNS0yMy41VDEyMC03MjBxMC0zMyAyMy41LTU2LjVUMjAwLTgwMHEzMyAwIDU2LjUgMjMuNVQyODAtNzIwcTAgMzMtMjMuNSA1Ni41VDIwMC02NDBaIi8+PC9zdmc+"; Editor.indentImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTIwLTEyMHYtODBoNzIwdjgwSDEyMFptMzIwLTE2MHYtODBoNDAwdjgwSDQ0MFptMC0xNjB2LTgwaDQwMHY4MEg0NDBabTAtMTYwdi04MGg0MDB2ODBINDQwWk0xMjAtNzYwdi04MGg3MjB2ODBIMTIwWm0wIDQ0MHYtMzIwbDE2MCAxNjAtMTYwIDE2MFoiLz48L3N2Zz4=";Editor.outdentImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTIwLTEyMHYtODBoNzIwdjgwSDEyMFptMzIwLTE2MHYtODBoNDAwdjgwSDQ0MFptMC0xNjB2LTgwaDQwMHY4MEg0NDBabTAtMTYwdi04MGg0MDB2ODBINDQwWk0xMjAtNzYwdi04MGg3MjB2ODBIMTIwWm0xNjAgNDQwTDEyMC00ODBsMTYwLTE2MHYzMjBaIi8+PC9zdmc+"; -Editor.removeFormatImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJtNTI4LTU0Ni05My05My0xMjEtMTIxaDQ4NnYxMjBINTY4bC00MCA5NFpNNzkyLTU2IDQ2MC0zODhsLTgwIDE4OEgyNDlsMTE5LTI4MEw1Ni03OTJsNTYtNTYgNzM2IDczNi01NiA1NloiLz48L3N2Zz4=";Editor.codeImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMzIwLTI0MCA4MC00ODBsMjQwLTI0MCA1NyA1Ny0xODQgMTg0IDE4MyAxODMtNTYgNTZabTMyMCAwLTU3LTU3IDE4NC0xODQtMTgzLTE4MyA1Ni01NiAyNDAgMjQwLTI0MCAyNDBaIi8+PC9zdmc+"; -Editor.linkImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNDQwLTI4MEgyODBxLTgzIDAtMTQxLjUtNTguNVQ4MC00ODBxMC04MyA1OC41LTE0MS41VDI4MC02ODBoMTYwdjgwSDI4MHEtNTAgMC04NSAzNXQtMzUgODVxMCA1MCAzNSA4NXQ4NSAzNWgxNjB2ODBaTTMyMC00NDB2LTgwaDMyMHY4MEgzMjBabTIwMCAxNjB2LTgwaDE2MHE1MCAwIDg1LTM1dDM1LTg1cTAtNTAtMzUtODV0LTg1LTM1SDUyMHYtODBoMTYwcTgzIDAgMTQxLjUgNTguNVQ4ODAtNDgwcTAgODMtNTguNSAxNDEuNVQ2ODAtMjgwSDUyMFoiLz48L3N2Zz4="; +Editor.removeFormatImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJtNTI4LTU0Ni05My05My0xMjEtMTIxaDQ4NnYxMjBINTY4bC00MCA5NFpNNzkyLTU2IDQ2MC0zODhsLTgwIDE4OEgyNDlsMTE5LTI4MEw1Ni03OTJsNTYtNTYgNzM2IDczNi01NiA1NloiLz48L3N2Zz4=";Editor.textFormatImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjAwLTIwMHYtODBoNTYwdjgwSDIwMFptNzYtMTYwIDE2NC00NDBoODBsMTY0IDQ0MGgtNzZsLTM4LTExMkgzOTJsLTQwIDExMmgtNzZabTEzOC0xNzZoMTMybC02NC0xODJoLTRsLTY0IDE4MloiLz48L3N2Zz4="; +Editor.codeImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMzIwLTI0MCA4MC00ODBsMjQwLTI0MCA1NyA1Ny0xODQgMTg0IDE4MyAxODMtNTYgNTZabTMyMCAwLTU3LTU3IDE4NC0xODQtMTgzLTE4MyA1Ni01NiAyNDAgMjQwLTI0MCAyNDBaIi8+PC9zdmc+";Editor.linkImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNDQwLTI4MEgyODBxLTgzIDAtMTQxLjUtNTguNVQ4MC00ODBxMC04MyA1OC41LTE0MS41VDI4MC02ODBoMTYwdjgwSDI4MHEtNTAgMC04NSAzNXQtMzUgODVxMCA1MCAzNSA4NXQ4NSAzNWgxNjB2ODBaTTMyMC00NDB2LTgwaDMyMHY4MEgzMjBabTIwMCAxNjB2LTgwaDE2MHE1MCAwIDg1LTM1dDM1LTg1cTAtNTAtMzUtODV0LTg1LTM1SDUyMHYtODBoMTYwcTgzIDAgMTQxLjUgNTguNVQ4ODAtNDgwcTAgODMtNTguNSAxNDEuNVQ2ODAtMjgwSDUyMFoiLz48L3N2Zz4="; Editor.imageImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjAwLTEyMHEtMzMgMC01Ni41LTIzLjVUMTIwLTIwMHYtNTYwcTAtMzMgMjMuNS01Ni41VDIwMC04NDBoNTYwcTMzIDAgNTYuNSAyMy41VDg0MC03NjB2NTYwcTAgMzMtMjMuNSA1Ni41VDc2MC0xMjBIMjAwWm0wLTgwaDU2MHYtNTYwSDIwMHY1NjBabTQwLTgwaDQ4MEw1NzAtNDgwIDQ1MC0zMjBsLTkwLTEyMC0xMjAgMTYwWm0tNDAgODB2LTU2MCA1NjBaIi8+PC9zdmc+"; Editor.horizontalRuleImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTYwLTQ0MHYtODBoNjQwdjgwSDE2MFoiLz48L3N2Zz4=";Editor.tableImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjAwLTEyMHEtMzMgMC01Ni41LTIzLjVUMTIwLTIwMHYtNTYwcTAtMzMgMjMuNS01Ni41VDIwMC04NDBoNTYwcTMzIDAgNTYuNSAyMy41VDg0MC03NjB2NTYwcTAgMzMtMjMuNSA1Ni41VDc2MC0xMjBIMjAwWm0yNDAtMjQwSDIwMHYxNjBoMjQwdi0xNjBabTgwIDB2MTYwaDI0MHYtMTYwSDUyMFptLTgwLTgwdi0xNjBIMjAwdjE2MGgyNDBabTgwIDBoMjQwdi0xNjBINTIwdjE2MFpNMjAwLTY4MGg1NjB2LTgwSDIwMHY4MFoiLz48L3N2Zz4="; -Editor.autosizeImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNDAtNDB2LTI0MGg4MHYtNDAwSDQwdi0yNDBoMjQwdjgwaDQwMHYtODBoMjQwdjI0MGgtODB2NDAwaDgwdjI0MEg2ODB2LTgwSDI4MHY4MEg0MFptMjQwLTE2MGg0MDB2LTgwaDgwdi00MDBoLTgwdi04MEgyODB2ODBoLTgwdjQwMGg4MHY4MFptMzItMTIwIDEzNi0zNjBoNjRsMTM2IDM2MGgtNjJsLTMyLTkySDQwOGwtMzIgOTJoLTY0Wm0xMTQtMTQ0aDEwOGwtNTItMTUwaC00bC01MiAxNTBaTTEyMC03NjBoODB2LTgwaC04MHY4MFptNjQwIDBoODB2LTgwaC04MHY4MFptMCA2NDBoODB2LTgwaC04MHY4MFptLTY0MCAwaDgwdi04MGgtODB2ODBabTgwLTY0MFptNTYwIDBabTAgNTYwWm0tNTYwIDBaIi8+PC9zdmc+"; -Editor.checkmarkImage="data:image/gif;base64,R0lGODlhFQAVAMQfAGxsbHx8fIqKioaGhvb29nJycvr6+sDAwJqamltbW5OTk+np6YGBgeTk5Ly8vJiYmP39/fLy8qWlpa6ursjIyOLi4vj4+N/f3+3t7fT09LCwsHZ2dubm5r6+vmZmZv///yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OEY4NTZERTQ5QUFBMTFFMUE5MTVDOTM5MUZGMTE3M0QiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OEY4NTZERTU5QUFBMTFFMUE5MTVDOTM5MUZGMTE3M0QiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4Rjg1NkRFMjlBQUExMUUxQTkxNUM5MzkxRkYxMTczRCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4Rjg1NkRFMzlBQUExMUUxQTkxNUM5MzkxRkYxMTczRCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAB8ALAAAAAAVABUAAAVI4CeOZGmeaKqubKtylktSgCOLRyLd3+QJEJnh4VHcMoOfYQXQLBcBD4PA6ngGlIInEHEhPOANRkaIFhq8SuHCE1Hb8Lh8LgsBADs="; +Editor.spacingImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjQwLTgwIDgwLTI0MGwxNjAtMTYwIDU3IDU2LTY0IDY0aDQ5NGwtNjMtNjQgNTYtNTYgMTYwIDE2MEw3MjAtODBsLTU3LTU2IDY0LTY0SDIzM2w2MyA2NC01NiA1NlptMzYtMzYwIDE2NC00NDBoODBsMTY0IDQ0MGgtNzZsLTM4LTExMkgzOTJsLTQwIDExMmgtNzZabTEzOC0xNzZoMTMybC02NC0xODJoLTRsLTY0IDE4MloiLz48L3N2Zz4=";Editor.addColumnLeftImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNODAwLTIwMHYtNTYwSDU2MHY1NjBoMjQwWm0tNjQwIDgwdi0xNjBoODB2ODBoMjQwdi01NjBIMjQwdjgwaC04MHYtMTYwaDcyMHY3MjBIMTYwWm0zMjAtMzYwWm04MCAwaC04MCA4MFptMCAwWk0xNjAtMzYwdi04MEg4MHYtODBoODB2LTgwaDgwdjgwaDgwdjgwaC04MHY4MGgtODBaIi8+PC9zdmc+"; +Editor.addColumnRightImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTYwLTc2MHY1NjBoMjQwdi01NjBIMTYwWk04MC0xMjB2LTcyMGg3MjB2MTYwaC04MHYtODBINDgwdjU2MGgyNDB2LTgwaDgwdjE2MEg4MFptNDAwLTM2MFptLTgwIDBoODAtODBabTAgMFptMzIwIDEyMHYtODBoLTgwdi04MGg4MHYtODBoODB2ODBoODB2ODBoLTgwdjgwaC04MFoiLz48L3N2Zz4=";Editor.removeColumnImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIiB0cmFuc2Zvcm09InJvdGF0ZSg5MCkgc2NhbGUoMSwtMSkiPjxwYXRoIGQ9Ik01NjAtMjgwSDEyMHYtNDAwaDcyMHYxMjBoLTgwdi00MEgyMDB2MjQwaDM2MHY4MFptLTM2MC04MHYtMjQwIDI0MFptNDQwIDEwNCA4NC04NC04NC04NCA1Ni01NiA4NCA4NCA4NC04NCA1NiA1Ni04MyA4NCA4MyA4NC01NiA1Ni04NC04My04NCA4My01Ni01NloiLz48L3N2Zz4="; +Editor.addRowAboveImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjAwLTE2MGg1NjB2LTI0MEgyMDB2MjQwWm02NDAgODBIMTIwdi03MjBoMTYwdjgwaC04MHYyNDBoNTYwdi0yNDBoLTgwdi04MGgxNjB2NzIwWk00ODAtNDgwWm0wIDgwdi04MCA4MFptMCAwWm0tNDAtMjQwdi04MGgtODB2LTgwaDgwdi04MGg4MHY4MGg4MHY4MGgtODB2ODBoLTgwWiIvPjwvc3ZnPg==";Editor.addRowBelowImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjAwLTU2MGg1NjB2LTI0MEgyMDB2MjQwWm0tODAgNDAwdi03MjBoNzIwdjcyMEg2ODB2LTgwaDgwdi0yNDBIMjAwdjI0MGg4MHY4MEgxMjBabTM2MC0zMjBabTAtODB2ODAtODBabTAgMFpNNDQwLTgwdi04MGgtODB2LTgwaDgwdi04MGg4MHY4MGg4MHY4MGgtODB2ODBoLTgwWiIvPjwvc3ZnPg=="; +Editor.removeRowImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNTYwLTI4MEgxMjB2LTQwMGg3MjB2MTIwaC04MHYtNDBIMjAwdjI0MGgzNjB2ODBabS0zNjAtODB2LTI0MCAyNDBabTQ0MCAxMDQgODQtODQtODQtODQgNTYtNTYgODQgODQgODQtODQgNTYgNTYtODMgODQgODMgODQtNTYgNTYtODQtODMtODQgODMtNTYtNTZaIi8+PC9zdmc+";Editor.autosizeImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNDAtNDB2LTI0MGg4MHYtNDAwSDQwdi0yNDBoMjQwdjgwaDQwMHYtODBoMjQwdjI0MGgtODB2NDAwaDgwdjI0MEg2ODB2LTgwSDI4MHY4MEg0MFptMjQwLTE2MGg0MDB2LTgwaDgwdi00MDBoLTgwdi04MEgyODB2ODBoLTgwdjQwMGg4MHY4MFptMzItMTIwIDEzNi0zNjBoNjRsMTM2IDM2MGgtNjJsLTMyLTkySDQwOGwtMzIgOTJoLTY0Wm0xMTQtMTQ0aDEwOGwtNTItMTUwaC00bC01MiAxNTBaTTEyMC03NjBoODB2LTgwaC04MHY4MFptNjQwIDBoODB2LTgwaC04MHY4MFptMCA2NDBoODB2LTgwaC04MHY4MFptLTY0MCAwaDgwdi04MGgtODB2ODBabTgwLTY0MFptNTYwIDBabTAgNTYwWm0tNTYwIDBaIi8+PC9zdmc+"; +Editor.checkmarkImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjJweCIgaGVpZ2h0PSIxOHB4IiB2ZXJzaW9uPSIxLjEiPjxwYXRoIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQgMCkiIGQ9Ik03LjE4MSwxNS4wMDdhMSwxLDAsMCwxLS43OTMtMC4zOTFMMy4yMjIsMTAuNUExLDEsMCwxLDEsNC44MDgsOS4yNzRMNy4xMzIsMTIuM2w2LjA0NC04Ljg2QTEsMSwwLDEsMSwxNC44Myw0LjU2OWwtNi44MjMsMTBhMSwxLDAsMCwxLS44LjQzN0g3LjE4MVoiIGZpbGw9IiMwMDAwMDAiLz48L3N2Zz4="; Editor.roughFillStyles=[{val:"auto",dispName:"Auto"},{val:"hachure",dispName:"Hachure"},{val:"solid",dispName:"Solid"},{val:"zigzag",dispName:"ZigZag"},{val:"cross-hatch",dispName:"Cross Hatch"},{val:"dashed",dispName:"Dashed"},{val:"zigzag-line",dispName:"ZigZag Line"}]; Editor.fillStyles=[{val:"auto",dispName:"Auto"},{val:"hatch",dispName:"Hatch"},{val:"solid",dispName:"Solid"},{val:"dots",dispName:"Dots"},{val:"cross-hatch",dispName:"Cross Hatch"},{val:"dashed",dispName:"Dashed"},{val:"zigzag-line",dispName:"ZigZag Line"}];Editor.themes=[];Editor.ctrlKey=mxClient.IS_MAC?"Cmd":"Ctrl";Editor.hintOffset=20;Editor.shapePickerHoverDelay=300;Editor.fitWindowBorders=null;Editor.popupsAllowed=null!=window.urlParams?"1"!=urlParams.noDevice:!0;Editor.simpleLabels=!1; Editor.enableNativeCipboard=window==window.top&&!mxClient.IS_FF&&null!=navigator.clipboard;Editor.sketchMode=!1;Editor.darkMode=!1;Editor.currentTheme=uiTheme;Editor.darkColor="#121212";Editor.darkColorVar="--ge-dark-color";Editor.fontSizeUnit="px";Editor.pageSizeUnit=mxConstants.INCHES;Editor.isDarkMode=function(){return Editor.darkMode};Editor.isPngDataUrl=function(a){return null!=a&&"data:image/png;"==a.substring(0,15)}; @@ -1992,12 +2003,12 @@ Editor.prototype.setModified=function(a){this.modified=a};Editor.prototype.setFi Editor.prototype.createUndoManager=function(){var a=this.graph,b=new mxUndoManager;this.undoListener=function(f,h){b.undoableEditHappened(h.getProperty("edit"))};var e=mxUtils.bind(this,function(f,h){this.undoListener.apply(this,arguments)});a.getModel().addListener(mxEvent.UNDO,e);a.getView().addListener(mxEvent.UNDO,e);e=function(f,h){f=h.getProperty("edit").changes;f=a.getSelectionCellsForChanges(f);h=!1;if(0T.clientHeight-E&&(b.style.overflowY="auto");b.style.overflowX="hidden";if(d&&(d=document.createElement("img"),d.setAttribute("src",Dialog.prototype.closeImage),d.setAttribute("title",mxResources.get("close")), -d.className="geDialogClose",d.style.top=I+14+"px",d.style.left=D+e+38-w+"px",d.style.zIndex=this.zIndex,mxEvent.addListener(d,"click",mxUtils.bind(this,function(){a.hideDialog(!0)})),document.body.appendChild(d),this.dialogImg=d,!u)){var K=!1;mxEvent.addGestureListeners(this.bg,mxUtils.bind(this,function(U){K=!0}),null,mxUtils.bind(this,function(U){K&&(a.hideDialog(!0),K=!1)}))}this.resizeListener=mxUtils.bind(this,function(){if(null!=k){var U=k();null!=U&&(z=e=U.w,C=f=U.h)}U=Editor.inlineFullscreen|| +h&&document.body.appendChild(this.bg);var T=a.createDiv(p?"geTransDialog":"geDialog");h=this.getPosition(D,I,e,f);D=h.x;I=h.y;T.style.width=e+"px";T.style.height=f+"px";T.style.left=D+"px";T.style.top=I+"px";T.style.zIndex=this.zIndex;T.appendChild(b);document.body.appendChild(T);!m&&b.clientHeight>T.clientHeight-E&&(b.style.overflowY="auto");b.style.overflowX="hidden";if(d&&(d=document.createElement("img"),d.setAttribute("src",Dialog.prototype.closeImage),d.setAttribute("title",mxResources.get("close")), +d.className="geDialogClose",d.style.top=I+14+"px",d.style.left=D+e+38-x+"px",d.style.zIndex=this.zIndex,mxEvent.addListener(d,"click",mxUtils.bind(this,function(){a.hideDialog(!0)})),document.body.appendChild(d),this.dialogImg=d,!u)){var K=!1;mxEvent.addGestureListeners(this.bg,mxUtils.bind(this,function(U){K=!0}),null,mxUtils.bind(this,function(U){K&&(a.hideDialog(!0),K=!1)}))}this.resizeListener=mxUtils.bind(this,function(){if(null!=k){var U=k();null!=U&&(z=e=U.w,C=f=U.h)}U=Editor.inlineFullscreen|| null==a.embedViewport?this.getDocumentSize():mxUtils.clone(a.embedViewport);G=U.height;this.bg.style.height=G+"px";Editor.inlineFullscreen||null==a.embedViewport||(this.bg.style.height=this.getDocumentSize().height+"px");e=null!=document.body?Math.min(z,document.body.scrollWidth-E):z;f=Math.min(C,G-E);U=Math.max(1,Math.round((U.width-e-E)/2));var Y=Math.max(1,Math.round((G-f-a.footerHeight)/3));Y=this.getPosition(U,Y,e,f);U=Y.x;Y=Y.y;var Q=mxUtils.getDocumentScrollOrigin(document);U+=Q.x;Y+=Q.y;Editor.inlineFullscreen|| -null==a.embedViewport||(Y+=a.embedViewport.y,U+=a.embedViewport.x);T.style.left=U+"px";T.style.top=Y+"px";T.style.width=e+"px";T.style.height=f+"px";!m&&b.clientHeight>T.clientHeight-E&&(b.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=Y+14+"px",this.dialogImg.style.left=U+e+38-w+"px")});null!=a.embedViewport?a.addListener("embedViewportChanged",this.resizeListener):mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=g;this.container=T;a.editor.fireEvent(new mxEventObject("showDialog"))} +null==a.embedViewport||(Y+=a.embedViewport.y,U+=a.embedViewport.x);T.style.left=U+"px";T.style.top=Y+"px";T.style.width=e+"px";T.style.height=f+"px";!m&&b.clientHeight>T.clientHeight-E&&(b.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=Y+14+"px",this.dialogImg.style.left=U+e+38-x+"px")});null!=a.embedViewport?a.addListener("embedViewportChanged",this.resizeListener):mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=g;this.container=T;a.editor.fireEvent(new mxEventObject("showDialog"))} Dialog.prototype.zIndex=mxPopupMenu.prototype.zIndex-2; Dialog.prototype.noColorImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzRDlBMUUwODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzRDlBMUUxODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTNEOUExREU4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTNEOUExREY4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5xh3fmAAAABlBMVEX////MzMw46qqDAAAAGElEQVR42mJggAJGKGAYIIGBth8KAAIMAEUQAIElnLuQAAAAAElFTkSuQmCC":IMAGE_PATH+ "/nocolor.png";Dialog.prototype.closeImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJAQMAAADaX5RTAAAABlBMVEV7mr3///+wksspAAAAAnRSTlP/AOW3MEoAAAAdSURBVAgdY9jXwCDDwNDRwHCwgeExmASygSL7GgB12QiqNHZZIwAAAABJRU5ErkJggg==":IMAGE_PATH+"/close.png"; @@ -2005,92 +2016,92 @@ Dialog.prototype.clearImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhDQAKA "/clear.gif";Dialog.prototype.bgOpacity=80;Dialog.prototype.getDocumentSize=function(){return mxUtils.getDocumentSize()};Dialog.prototype.getPosition=function(a,b){return new mxPoint(a,b)}; Dialog.prototype.close=function(a,b){if(null!=this.onDialogClose){if(0==this.onDialogClose(a,b))return!1;this.onDialogClose=null}null!=this.dialogImg&&null!=this.dialogImg.parentNode&&(this.dialogImg.parentNode.removeChild(this.dialogImg),this.dialogImg=null);null!=this.bg&&null!=this.bg.parentNode&&this.bg.parentNode.removeChild(this.bg);null!=this.editorUi.embedViewport?this.editorUi.removeListener(this.resizeListener):mxEvent.removeListener(window,"resize",this.resizeListener);null!=this.container.parentNode&& this.container.parentNode.removeChild(this.container)}; -var ErrorDialog=function(a,b,e,f,h,d,g,m,q,k,u){q=null!=q?q:!0;var w=document.createElement("div");w.style.textAlign="center";if(null!=b){var z=document.createElement("div");z.style.padding="0px";z.style.margin="0px";z.style.fontSize="18px";z.style.paddingBottom="16px";z.style.marginBottom="10px";z.style.borderBottom="1px solid #c0c0c0";z.style.color="gray";z.style.whiteSpace="nowrap";z.style.textOverflow="ellipsis";z.style.overflow="hidden";mxUtils.write(z,b);z.setAttribute("title",b);w.appendChild(z)}b= -document.createElement("div");b.style.lineHeight="1.2em";b.style.padding="6px";"string"===typeof e&&(e=e.replace(/\n/g,"
"));b.innerHTML=Graph.sanitizeHtml(e);w.appendChild(b);e=document.createElement("div");e.style.marginTop="12px";e.style.textAlign="center";null!=d&&(b=mxUtils.button(mxResources.get("tryAgain"),function(){a.hideDialog();d()}),b.className="geBtn",e.appendChild(b),e.style.textAlign="center");null!=k&&(k=mxUtils.button(k,function(){null!=u&&u()}),k.className="geBtn",e.appendChild(k)); -var C=mxUtils.button(f,function(){q&&a.hideDialog();null!=h&&h()});C.className="geBtn";e.appendChild(C);null!=g&&(f=mxUtils.button(g,function(){q&&a.hideDialog();null!=m&&m()}),f.className="geBtn gePrimaryBtn",e.appendChild(f));this.init=function(){C.focus()};w.appendChild(e);this.container=w},PrintDialog=function(a,b,e){this.create(a,b,e)}; -PrintDialog.prototype.create=function(a){function b(C){var E=g.checked||k.checked,D=parseInt(w.value)/100;isNaN(D)&&(D=1,w.value="100%");mxClient.IS_SF&&(D*=.75);var G=e.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,I=1/e.pageScale;if(E){var L=g.checked?1:parseInt(u.value);isNaN(L)||(I=mxUtils.getScaleForPageCount(L,e,G))}var T=L=0;G=mxRectangle.fromRectangle(G);G.width=Math.ceil(G.width*D);G.height=Math.ceil(G.height*D);I*=D;!E&&e.pageVisible?(D=e.getPageLayout(),L-=D.x*G.width,T-=D.y*G.height): -E=!0;E=PrintDialog.createPrintPreview(e,I,G,0,L,T,E);E.open();C&&PrintDialog.printPreview(E)}var e=a.editor.graph,f=document.createElement("table");f.style.width="100%";f.style.height="100%";var h=document.createElement("tbody");var d=document.createElement("tr");var g=document.createElement("input");g.setAttribute("type","checkbox");var m=document.createElement("td");m.setAttribute("colspan","2");m.style.fontSize="10pt";m.appendChild(g);var q=document.createElement("span");mxUtils.write(q," "+mxResources.get("fitPage")); -m.appendChild(q);mxEvent.addListener(q,"click",function(C){g.checked=!g.checked;k.checked=!g.checked;mxEvent.consume(C)});mxEvent.addListener(g,"change",function(){k.checked=!g.checked});d.appendChild(m);h.appendChild(d);d=d.cloneNode(!1);var k=document.createElement("input");k.setAttribute("type","checkbox");m=document.createElement("td");m.style.fontSize="10pt";m.appendChild(k);q=document.createElement("span");mxUtils.write(q," "+mxResources.get("posterPrint")+":");m.appendChild(q);mxEvent.addListener(q, +var ErrorDialog=function(a,b,e,f,h,d,g,m,p,k,u){p=null!=p?p:!0;var x=document.createElement("div");x.style.textAlign="center";if(null!=b){var z=document.createElement("div");z.style.padding="0px";z.style.margin="0px";z.style.fontSize="18px";z.style.paddingBottom="16px";z.style.marginBottom="10px";z.style.borderBottom="1px solid #c0c0c0";z.style.color="gray";z.style.whiteSpace="nowrap";z.style.textOverflow="ellipsis";z.style.overflow="hidden";mxUtils.write(z,b);z.setAttribute("title",b);x.appendChild(z)}b= +document.createElement("div");b.style.lineHeight="1.2em";b.style.padding="6px";"string"===typeof e&&(e=e.replace(/\n/g,"
"));b.innerHTML=Graph.sanitizeHtml(e);x.appendChild(b);e=document.createElement("div");e.style.marginTop="12px";e.style.textAlign="center";null!=d&&(b=mxUtils.button(mxResources.get("tryAgain"),function(){a.hideDialog();d()}),b.className="geBtn",e.appendChild(b),e.style.textAlign="center");null!=k&&(k=mxUtils.button(k,function(){null!=u&&u()}),k.className="geBtn",e.appendChild(k)); +var C=mxUtils.button(f,function(){p&&a.hideDialog();null!=h&&h()});C.className="geBtn";e.appendChild(C);null!=g&&(f=mxUtils.button(g,function(){p&&a.hideDialog();null!=m&&m()}),f.className="geBtn gePrimaryBtn",e.appendChild(f));this.init=function(){C.focus()};x.appendChild(e);this.container=x},PrintDialog=function(a,b,e){this.create(a,b,e)}; +PrintDialog.prototype.create=function(a){function b(C){var E=g.checked||k.checked,D=parseInt(x.value)/100;isNaN(D)&&(D=1,x.value="100%");mxClient.IS_SF&&(D*=.75);var G=e.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,I=1/e.pageScale;if(E){var L=g.checked?1:parseInt(u.value);isNaN(L)||(I=mxUtils.getScaleForPageCount(L,e,G))}var T=L=0;G=mxRectangle.fromRectangle(G);G.width=Math.ceil(G.width*D);G.height=Math.ceil(G.height*D);I*=D;!E&&e.pageVisible?(D=e.getPageLayout(),L-=D.x*G.width,T-=D.y*G.height): +E=!0;E=PrintDialog.createPrintPreview(e,I,G,0,L,T,E);E.open();C&&PrintDialog.printPreview(E)}var e=a.editor.graph,f=document.createElement("table");f.style.width="100%";f.style.height="100%";var h=document.createElement("tbody");var d=document.createElement("tr");var g=document.createElement("input");g.setAttribute("type","checkbox");var m=document.createElement("td");m.setAttribute("colspan","2");m.style.fontSize="10pt";m.appendChild(g);var p=document.createElement("span");mxUtils.write(p," "+mxResources.get("fitPage")); +m.appendChild(p);mxEvent.addListener(p,"click",function(C){g.checked=!g.checked;k.checked=!g.checked;mxEvent.consume(C)});mxEvent.addListener(g,"change",function(){k.checked=!g.checked});d.appendChild(m);h.appendChild(d);d=d.cloneNode(!1);var k=document.createElement("input");k.setAttribute("type","checkbox");m=document.createElement("td");m.style.fontSize="10pt";m.appendChild(k);p=document.createElement("span");mxUtils.write(p," "+mxResources.get("posterPrint")+":");m.appendChild(p);mxEvent.addListener(p, "click",function(C){k.checked=!k.checked;g.checked=!k.checked;mxEvent.consume(C)});d.appendChild(m);var u=document.createElement("input");u.setAttribute("value","1");u.setAttribute("type","number");u.setAttribute("min","1");u.setAttribute("size","4");u.setAttribute("disabled","disabled");u.style.width="50px";m=document.createElement("td");m.style.fontSize="10pt";m.appendChild(u);mxUtils.write(m," "+mxResources.get("pages")+" (max)");d.appendChild(m);h.appendChild(d);mxEvent.addListener(k,"change", -function(){k.checked?u.removeAttribute("disabled"):u.setAttribute("disabled","disabled");g.checked=!k.checked});d=d.cloneNode(!1);m=document.createElement("td");mxUtils.write(m,mxResources.get("pageScale")+":");d.appendChild(m);m=document.createElement("td");var w=document.createElement("input");w.setAttribute("value","100 %");w.setAttribute("size","5");w.style.width="50px";m.appendChild(w);d.appendChild(m);h.appendChild(d);d=document.createElement("tr");m=document.createElement("td");m.colSpan=2; -m.style.paddingTop="20px";m.setAttribute("align","right");q=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});q.className="geBtn";a.editor.cancelFirst&&m.appendChild(q);if(PrintDialog.previewEnabled){var z=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();b(!1)});z.className="geBtn";m.appendChild(z)}z=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();b(!0)});z.className="geBtn gePrimaryBtn";m.appendChild(z);a.editor.cancelFirst|| -m.appendChild(q);d.appendChild(m);h.appendChild(d);f.appendChild(h);this.container=f};PrintDialog.printPreview=function(a){try{null!=a.wnd&&window.setTimeout(function(){a.wnd.focus();a.wnd.print();a.wnd.close()},500)}catch(b){}}; -PrintDialog.createPrintPreview=function(a,b,e,f,h,d,g){b=new mxPrintPreview(a,b,e,f,h,d);b.title=mxResources.get("preview");b.addPageCss=!mxClient.IS_SF;b.printBackgroundImage=!0;b.autoOrigin=g;g=a.background;if(null==g||""==g||g==mxConstants.NONE)g="#ffffff";b.backgroundColor=g;var m=b.isTextLabel;b.isTextLabel=function(k){return"geHint"==!k.className&&m.apply(this,arguments)};var q=b.getLinkForCellState;b.getLinkForCellState=function(k){return a.getAbsoluteUrl(q.apply(this,arguments))};return b}; +function(){k.checked?u.removeAttribute("disabled"):u.setAttribute("disabled","disabled");g.checked=!k.checked});d=d.cloneNode(!1);m=document.createElement("td");mxUtils.write(m,mxResources.get("pageScale")+":");d.appendChild(m);m=document.createElement("td");var x=document.createElement("input");x.setAttribute("value","100 %");x.setAttribute("size","5");x.style.width="50px";m.appendChild(x);d.appendChild(m);h.appendChild(d);d=document.createElement("tr");m=document.createElement("td");m.colSpan=2; +m.style.paddingTop="20px";m.setAttribute("align","right");p=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});p.className="geBtn";a.editor.cancelFirst&&m.appendChild(p);if(PrintDialog.previewEnabled){var z=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();b(!1)});z.className="geBtn";m.appendChild(z)}z=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();b(!0)});z.className="geBtn gePrimaryBtn";m.appendChild(z);a.editor.cancelFirst|| +m.appendChild(p);d.appendChild(m);h.appendChild(d);f.appendChild(h);this.container=f};PrintDialog.printPreview=function(a){try{null!=a.wnd&&window.setTimeout(function(){a.wnd.focus();a.wnd.print();a.wnd.close()},500)}catch(b){}}; +PrintDialog.createPrintPreview=function(a,b,e,f,h,d,g){b=new mxPrintPreview(a,b,e,f,h,d);b.title=mxResources.get("preview");b.addPageCss=!mxClient.IS_SF;b.printBackgroundImage=!0;b.autoOrigin=g;g=a.background;if(null==g||""==g||g==mxConstants.NONE)g="#ffffff";b.backgroundColor=g;var m=b.isTextLabel;b.isTextLabel=function(k){return"geHint"==!k.className&&m.apply(this,arguments)};var p=b.getLinkForCellState;b.getLinkForCellState=function(k){return a.getAbsoluteUrl(p.apply(this,arguments))};return b}; PrintDialog.previewEnabled=!0; -var PageSetupDialog=function(a){function b(){var D=w;null!=D&&null!=D.originalSrc&&(D=a.createImageForPageLink(D.originalSrc,null));null!=D&&null!=D.src?(u.style.backgroundImage="url("+D.src+")",u.style.display="inline-block"):(u.style.backgroundImage="",u.style.display="none");u.style.backgroundColor="";null!=z&&z!=mxConstants.NONE&&(u.style.backgroundColor=z,u.style.display="inline-block")}var e=a.editor.graph,f=document.createElement("table");f.style.width="100%";f.style.height="100%";var h=document.createElement("tbody"); +var PageSetupDialog=function(a){function b(){var D=x;null!=D&&null!=D.originalSrc&&(D=a.createImageForPageLink(D.originalSrc,null));null!=D&&null!=D.src?(u.style.backgroundImage="url("+D.src+")",u.style.display="inline-block"):(u.style.backgroundImage="",u.style.display="none");u.style.backgroundColor="";null!=z&&z!=mxConstants.NONE&&(u.style.backgroundColor=z,u.style.display="inline-block")}var e=a.editor.graph,f=document.createElement("table");f.style.width="100%";f.style.height="100%";var h=document.createElement("tbody"); var d=document.createElement("tr");var g=document.createElement("td");g.style.verticalAlign="top";g.style.fontSize="10pt";mxUtils.write(g,mxResources.get("paperSize")+":");d.appendChild(g);g=document.createElement("td");g.style.verticalAlign="top";g.style.fontSize="10pt";var m=PageSetupDialog.addPageFormatPanel(g,"pagesetupdialog",e.pageFormat);d.appendChild(g);h.appendChild(d);d=document.createElement("tr");g=document.createElement("td");mxUtils.write(g,mxResources.get("gridSize")+":");d.appendChild(g); -g=document.createElement("td");g.style.whiteSpace="nowrap";var q=document.createElement("input");q.setAttribute("type","number");q.setAttribute("min","0");q.style.width="40px";q.style.marginLeft="6px";q.value=e.getGridSize();g.appendChild(q);mxEvent.addListener(q,"change",function(){var D=parseInt(q.value);q.value=Math.max(1,isNaN(D)?e.getGridSize():D)});d.appendChild(g);h.appendChild(d);d=document.createElement("tr");g=document.createElement("td");mxUtils.write(g,mxResources.get("background")+":"); +g=document.createElement("td");g.style.whiteSpace="nowrap";var p=document.createElement("input");p.setAttribute("type","number");p.setAttribute("min","0");p.style.width="40px";p.style.marginLeft="6px";p.value=e.getGridSize();g.appendChild(p);mxEvent.addListener(p,"change",function(){var D=parseInt(p.value);p.value=Math.max(1,isNaN(D)?e.getGridSize():D)});d.appendChild(g);h.appendChild(d);d=document.createElement("tr");g=document.createElement("td");mxUtils.write(g,mxResources.get("background")+":"); d.appendChild(g);g=document.createElement("td");var k=document.createElement("button");k.className="geBtn";k.style.margin="0px";mxUtils.write(k,mxResources.get("change")+"...");var u=document.createElement("div");u.style.display="inline-block";u.style.verticalAlign="middle";u.style.backgroundPosition="center center";u.style.backgroundRepeat="no-repeat";u.style.backgroundSize="contain";u.style.border="1px solid lightGray";u.style.borderRadius="4px";u.style.marginRight="14px";u.style.height="32px"; -u.style.width="64px";u.style.cursor="pointer";u.style.padding="4px";var w=e.backgroundImage,z=e.background,C=e.shadowVisible,E=function(D){a.showBackgroundImageDialog(function(G,I,L,T){I||(null!=G&&null!=G.src&&Graph.isPageLink(G.src)&&(G={originalSrc:G.src}),w=G,C=T);z=L;b()},w,z,!0);mxEvent.consume(D)};mxEvent.addListener(k,"click",E);mxEvent.addListener(u,"click",E);b();g.appendChild(u);g.appendChild(k);d.appendChild(g);h.appendChild(d);d=document.createElement("tr");g=document.createElement("td"); -g.colSpan=2;g.style.paddingTop="16px";g.setAttribute("align","right");k=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});k.className="geBtn";a.editor.cancelFirst&&g.appendChild(k);E=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();var D=parseInt(q.value);isNaN(D)||e.gridSize===D||e.setGridSize(D);D=new ChangePageSetup(a,z,w,m.get());D.ignoreColor=e.background==z;D.ignoreImage=(null!=e.backgroundImage?e.backgroundImage.src:null)===(null!=w?w.src:null);null!=C&& +u.style.width="64px";u.style.cursor="pointer";u.style.padding="4px";var x=e.backgroundImage,z=e.background,C=e.shadowVisible,E=function(D){a.showBackgroundImageDialog(function(G,I,L,T){I||(null!=G&&null!=G.src&&Graph.isPageLink(G.src)&&(G={originalSrc:G.src}),x=G,C=T);z=L;b()},x,z,!0);mxEvent.consume(D)};mxEvent.addListener(k,"click",E);mxEvent.addListener(u,"click",E);b();g.appendChild(u);g.appendChild(k);d.appendChild(g);h.appendChild(d);d=document.createElement("tr");g=document.createElement("td"); +g.colSpan=2;g.style.paddingTop="16px";g.setAttribute("align","right");k=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});k.className="geBtn";a.editor.cancelFirst&&g.appendChild(k);E=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();var D=parseInt(p.value);isNaN(D)||e.gridSize===D||e.setGridSize(D);D=new ChangePageSetup(a,z,x,m.get());D.ignoreColor=e.background==z;D.ignoreImage=(null!=e.backgroundImage?e.backgroundImage.src:null)===(null!=x?x.src:null);null!=C&& (D.shadowVisible=C);e.pageFormat.width==D.previousFormat.width&&e.pageFormat.height==D.previousFormat.height&&D.ignoreColor&&D.ignoreImage&&D.shadowVisible==e.shadowVisible||e.model.execute(D)});E.className="geBtn gePrimaryBtn";g.appendChild(E);a.editor.cancelFirst||g.appendChild(k);d.appendChild(g);h.appendChild(d);f.appendChild(h);this.container=f}; PageSetupDialog.addPageFormatPanel=function(a,b,e,f){b="format-"+b;var h=document.createElement("input");h.setAttribute("name",b);h.setAttribute("type","radio");h.setAttribute("value","portrait");var d=document.createElement("input");d.setAttribute("name",b);d.setAttribute("type","radio");d.setAttribute("value","landscape");var g=document.createElement("select");g.style.marginBottom="4px";g.style.borderRadius="4px";g.style.borderWidth="1px";g.style.borderStyle="solid";g.style.boxSizing="border-box"; -g.style.padding="2px";g.style.width="210px";var m=document.createElement("div");m.style.whiteSpace="nowrap";m.style.marginLeft="4px";m.style.width="210px";m.style.height="24px";h.style.marginRight="6px";m.appendChild(h);b=document.createElement("span");b.style.maxWidth="100px";mxUtils.write(b,mxResources.get("portrait"));m.appendChild(b);d.style.marginLeft="10px";d.style.marginRight="6px";m.appendChild(d);var q=document.createElement("span");q.style.width="100px";mxUtils.write(q,mxResources.get("landscape")); -m.appendChild(q);var k=document.createElement("div");k.style.whiteSpace="nowrap";k.style.marginLeft="4px";k.style.fontSize="12px";k.style.width="210px";k.style.height="24px";var u=document.createElement("input");u.setAttribute("size","7");u.setAttribute("title",mxResources.get("width"));u.style.textAlign="right";k.appendChild(u);mxUtils.write(k," x ");var w=document.createElement("input");w.setAttribute("size","7");w.setAttribute("title",mxResources.get("height"));w.style.textAlign="right";k.appendChild(w); +g.style.padding="2px";g.style.width="210px";var m=document.createElement("div");m.style.whiteSpace="nowrap";m.style.marginLeft="4px";m.style.width="210px";m.style.height="24px";h.style.marginRight="6px";m.appendChild(h);b=document.createElement("span");b.style.maxWidth="100px";mxUtils.write(b,mxResources.get("portrait"));m.appendChild(b);d.style.marginLeft="10px";d.style.marginRight="6px";m.appendChild(d);var p=document.createElement("span");p.style.width="100px";mxUtils.write(p,mxResources.get("landscape")); +m.appendChild(p);var k=document.createElement("div");k.style.whiteSpace="nowrap";k.style.marginLeft="4px";k.style.fontSize="12px";k.style.width="210px";k.style.height="24px";var u=document.createElement("input");u.setAttribute("size","7");u.setAttribute("title",mxResources.get("width"));u.style.textAlign="right";k.appendChild(u);mxUtils.write(k," x ");var x=document.createElement("input");x.setAttribute("size","7");x.setAttribute("title",mxResources.get("height"));x.style.textAlign="right";k.appendChild(x); var z=document.createElement("select");z.style.marginLeft="4px";z.style.maxWidth="78px";z.style.width="78px";for(var C=[{label:mxResources.get("points"),unit:mxConstants.POINTS},{label:mxResources.get("inches"),unit:mxConstants.INCHES},{label:mxResources.get("millimeters"),unit:mxConstants.MILLIMETERS}],E=0;E=K)u.value=Editor.toUnit(e.width,z.value);K=parseFloat(w.value);if(isNaN(K)||0>=K)w.value=Editor.toUnit(e.height,z.value);K=new mxRectangle(0,0,Math.floor(Editor.fromUnit(parseFloat(u.value),z.value)),Math.floor(Editor.fromUnit(parseFloat(w.value),z.value)));U||K.width==e.width&&K.height==e.height||(e=K,null!=f&&f(e))};mxEvent.addListener(b,"click",function(K){h.checked=!0;T(K);mxEvent.consume(K)}); -mxEvent.addListener(q,"click",function(K){d.checked=!0;T(K);mxEvent.consume(K)});mxEvent.addListener(u,"blur",T);mxEvent.addListener(u,"click",T);mxEvent.addListener(w,"blur",T);mxEvent.addListener(w,"click",T);mxEvent.addListener(d,"change",T);mxEvent.addListener(h,"change",T);mxEvent.addListener(g,"change",function(K){T(K,"custom"==g.value);mxEvent.consume(K)});mxEvent.addListener(z,"change",function(K){u.value=Editor.toUnit(Editor.fromUnit(u.value,Editor.pageSizeUnit),z.value);w.value=Editor.toUnit(Editor.fromUnit(w.value, -Editor.pageSizeUnit),z.value);Editor.pageSizeUnit=z.value;T(K,!0);mxEvent.consume(K)});T(null,!0);return{set:function(K){e=K;L(null,null,!0)},get:function(){return e},widthInput:u,heightInput:w}}; +(u.value=Editor.toUnit(e.width,z.value),x.value=Editor.toUnit(e.height,z.value),h.setAttribute("checked","checked"),g.value="custom",m.style.display="none",k.style.display=""):(m.style.display="",k.style.display="none")};L();a.appendChild(g);mxUtils.br(a);a.appendChild(m);a.appendChild(k);var T=function(K,U){K=G[g.value];null!=K.format?(u.value=Editor.toUnit(d.checked?K.format.height:K.format.width,z.value),x.value=Editor.toUnit(d.checked?K.format.width:K.format.height,z.value),k.style.display="none", +m.style.display=""):(m.style.display="none",k.style.display="");K=parseFloat(u.value);if(isNaN(K)||0>=K)u.value=Editor.toUnit(e.width,z.value);K=parseFloat(x.value);if(isNaN(K)||0>=K)x.value=Editor.toUnit(e.height,z.value);K=new mxRectangle(0,0,Math.floor(Editor.fromUnit(parseFloat(u.value),z.value)),Math.floor(Editor.fromUnit(parseFloat(x.value),z.value)));U||K.width==e.width&&K.height==e.height||(e=K,null!=f&&f(e))};mxEvent.addListener(b,"click",function(K){h.checked=!0;T(K);mxEvent.consume(K)}); +mxEvent.addListener(p,"click",function(K){d.checked=!0;T(K);mxEvent.consume(K)});mxEvent.addListener(u,"blur",T);mxEvent.addListener(u,"click",T);mxEvent.addListener(x,"blur",T);mxEvent.addListener(x,"click",T);mxEvent.addListener(d,"change",T);mxEvent.addListener(h,"change",T);mxEvent.addListener(g,"change",function(K){T(K,"custom"==g.value);mxEvent.consume(K)});mxEvent.addListener(z,"change",function(K){u.value=Editor.toUnit(Editor.fromUnit(u.value,Editor.pageSizeUnit),z.value);x.value=Editor.toUnit(Editor.fromUnit(x.value, +Editor.pageSizeUnit),z.value);Editor.pageSizeUnit=z.value;T(K,!0);mxEvent.consume(K)});T(null,!0);return{set:function(K){e=K;L(null,null,!0)},get:function(){return e},widthInput:u,heightInput:x}}; PageSetupDialog.getFormats=function(){return[{key:"letter",title:'US-Letter (8,5" x 11")',format:mxConstants.PAGE_FORMAT_LETTER_PORTRAIT},{key:"legal",title:'US-Legal (8,5" x 14")',format:new mxRectangle(0,0,850,1400)},{key:"tabloid",title:'US-Tabloid (11" x 17")',format:new mxRectangle(0,0,1100,1700)},{key:"executive",title:'US-Executive (7" x 10")',format:new mxRectangle(0,0,700,1E3)},{key:"a0",title:"A0 (841 mm x 1189 mm)",format:new mxRectangle(0,0,3300,4681)},{key:"a1",title:"A1 (594 mm x 841 mm)", format:new mxRectangle(0,0,2339,3300)},{key:"a2",title:"A2 (420 mm x 594 mm)",format:new mxRectangle(0,0,1654,2336)},{key:"a3",title:"A3 (297 mm x 420 mm)",format:new mxRectangle(0,0,1169,1654)},{key:"a4",title:"A4 (210 mm x 297 mm)",format:mxConstants.PAGE_FORMAT_A4_PORTRAIT},{key:"a5",title:"A5 (148 mm x 210 mm)",format:new mxRectangle(0,0,583,827)},{key:"a6",title:"A6 (105 mm x 148 mm)",format:new mxRectangle(0,0,413,583)},{key:"a7",title:"A7 (74 mm x 105 mm)",format:new mxRectangle(0,0,291,413)}, {key:"b4",title:"B4 (250 mm x 353 mm)",format:new mxRectangle(0,0,980,1390)},{key:"b5",title:"B5 (176 mm x 250 mm)",format:new mxRectangle(0,0,690,980)},{key:"16-9",title:"16:9 (1600 x 900)",format:new mxRectangle(0,0,900,1600)},{key:"16-10",title:"16:10 (1920 x 1200)",format:new mxRectangle(0,0,1200,1920)},{key:"4-3",title:"4:3 (1600 x 1200)",format:new mxRectangle(0,0,1200,1600)},{key:"custom",title:mxResources.get("custom"),format:null}]}; -var FilenameDialog=function(a,b,e,f,h,d,g,m,q,k,u){q=null!=q?q:!0;var w=document.createElement("div"),z=document.createElement("div");z.style.width="100%";z.style.display="grid";z.style.gap="5px 8px";z.style.gridAutoColumns="auto 1fr";z.style.boxSizing="border-box";z.style.padding="3px";var C=document.createElement("div");C.style.display="inline-flex";C.style.alignItems="center";C.style.justifyContent="flex-end";C.style.minWidth="0";var E=document.createElement("div");E.style.display="inline-block"; -E.style.textOverflow="ellipsis";E.style.whiteSpace="nowrap";E.style.overflow="hidden";E.style.fontSize="10pt";E.style.padding="2px 0";E.setAttribute("title",h||mxResources.get("filename"));mxUtils.write(E,(h||mxResources.get("filename"))+":");C.appendChild(E);z.appendChild(C);var D=document.createElement("input");D.setAttribute("value",b||"");D.style.flexGrow="1";var G=mxUtils.button(e,function(){if(null==d||d(D.value))q&&a.hideDialog(),f(D.value)});G.className="geBtn gePrimaryBtn";this.init=function(){if(null!= +var FilenameDialog=function(a,b,e,f,h,d,g,m,p,k,u){p=null!=p?p:!0;var x=document.createElement("div"),z=document.createElement("div");z.style.width="100%";z.style.display="grid";z.style.gap="5px 8px";z.style.gridAutoColumns="auto 1fr";z.style.boxSizing="border-box";z.style.padding="3px";var C=document.createElement("div");C.style.display="inline-flex";C.style.alignItems="center";C.style.justifyContent="flex-end";C.style.minWidth="0";var E=document.createElement("div");E.style.display="inline-block"; +E.style.textOverflow="ellipsis";E.style.whiteSpace="nowrap";E.style.overflow="hidden";E.style.fontSize="10pt";E.style.padding="2px 0";E.setAttribute("title",h||mxResources.get("filename"));mxUtils.write(E,(h||mxResources.get("filename"))+":");C.appendChild(E);z.appendChild(C);var D=document.createElement("input");D.setAttribute("value",b||"");D.style.flexGrow="1";var G=mxUtils.button(e,function(){if(null==d||d(D.value))p&&a.hideDialog(),f(D.value)});G.className="geBtn gePrimaryBtn";this.init=function(){if(null!= h||null==g)if(null!=u?Editor.selectFilename(D):(D.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?D.select():document.execCommand("selectAll",!1,null)),Graph.fileSupport){var I=z.parentNode;if(null!=I){var L=null;mxEvent.addListener(I,"dragleave",function(T){null!=L&&(L.style.backgroundColor="",L=null);T.stopPropagation();T.preventDefault()});mxEvent.addListener(I,"dragover",mxUtils.bind(this,function(T){null==L&&(!mxClient.IS_IE||10'};var a=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(g,m){a.apply(this,arguments);if(null!=this.shiftPreview1){var q=this.view.canvas;null!= -q.ownerSVGElement&&(q=q.ownerSVGElement);var k=this.gridSize*this.view.scale*this.view.gridSteps;k=-Math.round(k-mxUtils.mod(this.view.translate.x*this.view.scale+g,k))+"px "+-Math.round(k-mxUtils.mod(this.view.translate.y*this.view.scale+m,k))+"px";q.style.backgroundPosition=k}};mxGraph.prototype.updatePageBreaks=function(g,m,q){var k=this.view.scale,u=this.view.translate,w=this.pageFormat,z=k*this.pageScale,C=this.view.getBackgroundPageBounds();m=C.width;q=C.height;var E=new mxRectangle(k*u.x,k* -u.y,w.width*z,w.height*z),D=(g=g&&Math.min(E.width,E.height)>this.minPageBreakDist)?Math.ceil(q/E.height)-1:0,G=g?Math.ceil(m/E.width)-1:0,I=C.x+m,L=C.y+q;null==this.horizontalPageBreaks&&0'};var a=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(g,m){a.apply(this,arguments);if(null!=this.shiftPreview1){var p=this.view.canvas;null!= +p.ownerSVGElement&&(p=p.ownerSVGElement);var k=this.gridSize*this.view.scale*this.view.gridSteps;k=-Math.round(k-mxUtils.mod(this.view.translate.x*this.view.scale+g,k))+"px "+-Math.round(k-mxUtils.mod(this.view.translate.y*this.view.scale+m,k))+"px";p.style.backgroundPosition=k}};mxGraph.prototype.updatePageBreaks=function(g,m,p){var k=this.view.scale,u=this.view.translate,x=this.pageFormat,z=k*this.pageScale,C=this.view.getBackgroundPageBounds();m=C.width;p=C.height;var E=new mxRectangle(k*u.x,k* +u.y,x.width*z,x.height*z),D=(g=g&&Math.min(E.width,E.height)>this.minPageBreakDist)?Math.ceil(p/E.height)-1:0,G=g?Math.ceil(m/E.width)-1:0,I=C.x+m,L=C.y+p;null==this.horizontalPageBreaks&&0').src;Editor.checkmarkImage=Graph.createSvgImage(22,18,'').src;this.selectionStateListener=mxUtils.bind(this,function(M,W){this.clearSelectionState()}); -h.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionStateListener);h.getModel().addListener(mxEvent.CHANGE,this.selectionStateListener);h.addListener(mxEvent.EDITING_STARTED,this.selectionStateListener);h.addListener(mxEvent.EDITING_STOPPED,this.selectionStateListener);h.getView().addListener("unitChanged",this.selectionStateListener);if(this.editor.chromeless&&!this.editor.editable){this.footerHeight=0;h.isEnabled=function(){return!1};h.panningHandler.isForcePanningEvent=function(M){for(var W= -M.getSource();null!=W&&W!=h.container;){if("foreignObject"===W.nodeName||"text"===W.nodeName)return!1;W=W.parentNode}return!mxEvent.isPopupTrigger(M.getEvent())};var g=h.panningHandler.start;h.panningHandler.start=function(){g.apply(this,arguments);mxUtils.clearSelection()}}this.actions=new Actions(this);this.menus=this.createMenus();if(!h.standalone){var m=!1,q=!1;this.setDefaultStyle=function(M){try{h.getModel().isEdge(M)?q=h.pasteEdgeStyle=!1:m=!1;var W=h.getCellStyle(M,!1),aa=[],ia=[],oa;for(oa in W)aa.push(W[oa]), -ia.push(oa);h.getModel().isEdge(M)?h.currentEdgeStyle={}:h.currentVertexStyle={};this.fireEvent(new mxEventObject("styleChanged","keys",ia,"values",aa,"cells",[M],"force",!0));h.getModel().isEdge(M)?q=h.pasteEdgeStyle=!0:m=!0}catch(qa){this.handleError(qa)}};this.clearDefaultStyle=function(){h.currentEdgeStyle=mxUtils.clone(h.defaultEdgeStyle);h.currentVertexStyle=mxUtils.clone(h.defaultVertexStyle);m=q=h.pasteEdgeStyle=!1;this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells", -[]))};h.addListener("cellsInserted",function(M,W){h.pasteCellStyles(h.includeDescendants(W.getProperty("cells")))});h.addListener("textInserted",function(M,W){h.pasteCellStyles(W.getProperty("cells"))});this.createDivs();this.createUi();this.refresh();var k=mxUtils.bind(this,function(M){null==M&&(M=window.event);return h.isEditing()||null!=M&&this.isSelectionAllowed(M)});this.container!=document.body||this.editor.chromeless&&!this.editor.editable||(this.menubarContainer.onselectstart=k,this.menubarContainer.onmousedown= -k,this.toolbarContainer.onselectstart=k,this.toolbarContainer.onmousedown=k,this.diagramContainer.onselectstart=k,this.diagramContainer.onmousedown=k,this.sidebarContainer.onselectstart=k,this.sidebarContainer.onmousedown=k,this.formatContainer.onselectstart=k,this.formatContainer.onmousedown=k,this.footerContainer.onselectstart=k,this.footerContainer.onmousedown=k,null!=this.tabContainer&&(this.tabContainer.onselectstart=k),mxClient.IS_IOS&&(b=function(){var M=null;if(/iP(hone|od|ad)/.test(navigator.platform)){var W= -navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);try{M=[parseInt(W[1],10),parseInt(W[2],10),parseInt(W[3]||0,10)]}catch(aa){}}return M}(),null!=b&&16<=b[0]&&(mxUtils.setPrefixedStyle(this.menubarContainer.style,"userSelect","none"),mxUtils.setPrefixedStyle(this.diagramContainer.style,"userSelect","none"),mxUtils.setPrefixedStyle(this.sidebarContainer.style,"userSelect","none"),mxUtils.setPrefixedStyle(this.formatContainer.style,"userSelect","none"),mxUtils.setPrefixedStyle(this.footerContainer.style, -"userSelect","none"),null!=this.tabContainer&&mxUtils.setPrefixedStyle(this.tabContainer.style,"userSelect","none"))));!this.editor.chromeless||this.editor.editable?(b=function(M){if(null!=M){var W=mxEvent.getSource(M);if("A"==W.nodeName)for(;null!=W;){if("geHint"==W.className)return!0;W=W.parentNode}}return k(M)},mxClient.IS_IE&&("undefined"===typeof document.documentMode||9>document.documentMode)?mxEvent.addListener(this.diagramContainer,"contextmenu",b):this.diagramContainer.oncontextmenu=b):h.panningHandler.usePopupTrigger= -!1;h.init(this.diagramContainer);mxClient.IS_SVG&&null!=h.view.getDrawPane()&&(b=h.view.getDrawPane().ownerSVGElement,null!=b&&(b.style.position="absolute"));this.hoverIcons=this.createHoverIcons();if(null!=h.graphHandler){var u=h.graphHandler.start;h.graphHandler.start=function(){null!=f.hoverIcons&&f.hoverIcons.reset();u.apply(this,arguments)}}mxEvent.addListener(this.diagramContainer,"mousemove",mxUtils.bind(this,function(M){var W=mxUtils.getOffset(this.diagramContainer);0mxUtils.indexOf(this.toolbar.staticElements,M)&&(M.parentNode.removeChild(M),W.push(M));M=aa}M=this.toolbar.fontMenu;aa=this.toolbar.sizeMenu;if(null==L)this.toolbar.createTextToolbar();else{for(var ia= -0;iadocument.documentMode)?mxEvent.addListener(this.diagramContainer,"contextmenu",b):this.diagramContainer.oncontextmenu=b):h.panningHandler.usePopupTrigger=!1;h.init(this.diagramContainer);mxClient.IS_SVG&&null!=h.view.getDrawPane()&&(b=h.view.getDrawPane().ownerSVGElement,null!=b&&(b.style.position="absolute"));this.hoverIcons=this.createHoverIcons();if(null!=h.graphHandler){var u=h.graphHandler.start;h.graphHandler.start=function(){null!=f.hoverIcons&&f.hoverIcons.reset();u.apply(this,arguments)}}mxEvent.addListener(this.diagramContainer, +"mousemove",mxUtils.bind(this,function(M){var V=mxUtils.getOffset(this.diagramContainer);0mxUtils.indexOf(this.toolbar.staticElements,M)&&(M.parentNode.removeChild(M),V.push(M)); +M=aa}M=this.toolbar.fontMenu;aa=this.toolbar.sizeMenu;if(null==L)this.toolbar.createTextToolbar();else{for(var ia=0;iag.length?35*g.length:140;z.className="geToolbarContainer geSidebarContainer geShapePicker";z.setAttribute("title",mxResources.get("sidebarTooltip"));z.style.left=Math.round(a)+"px";z.style.top=Math.round(b)+"px";z.style.width=h+"px";mxClient.IS_POINTER&&(z.style.touchAction="none");m||mxUtils.setPrefixedStyle(z.style,"transform","translate(-22px,-22px)");w.container.appendChild(z);h=mxUtils.bind(this,function(D){var G= -document.createElement("a");G.className="geItem";G.style.display="inline-block";G.style.position="relative";G.style.overflow="hidden";G.style.cursor="pointer";G.style.width="30px";G.style.height="30px";G.style.padding="1px";z.appendChild(G);null!=E&&"1"!=urlParams.sketch?this.sidebar.graph.pasteStyle(E,[D]):this.sidebar.graph.pasteCellStyles([D],w.currentVertexStyle,w.currentEdgeStyle);var I=D.geometry;w.model.isEdge(D)&&(I=I.getTerminalPoint(!1),I=new mxRectangle(0,0,I.x,I.y));null!=I&&G.appendChild(this.sidebar.createVertexTemplateFromCells([D], -I.width,I.height,"",!0,!1,null,!1,mxUtils.bind(this,function(L){if(!mxEvent.isShiftDown(L)||null==e&&w.isSelectionEmpty()){var T=w.cloneCell(D);if(null!=f)f(T);else{var K=q([T]);w.model.isEdge(T)?T.geometry.translate(K.x,K.y):(T.geometry.x=K.x,T.geometry.y=K.y);w.model.beginUpdate();try{w.addCell(T),w.model.isVertex(T)&&w.isAutoSizeCell(T)&&w.updateCellSize(T)}finally{w.model.endUpdate()}w.setSelectionCell(T);w.scrollCellToVisible(T);u&&w.startEditing(T);null!=C.hoverIcons&&C.hoverIcons.update(w.view.getState(T))}}else T= -w.getEditableCells(null!=e?[e]:w.getSelectionCells()),w.updateShapes(D,T);null!=d&&d(L);mxEvent.consume(L)}),25,25,null,null,e))});for(k=0;k<(m?Math.min(g.length,4):g.length);k++)h(g[k]);g=z.offsetTop+z.clientHeight-(w.container.scrollTop+w.container.offsetHeight);0g.length?35*g.length:140;z.className="geToolbarContainer geSidebarContainer geShapePicker";z.setAttribute("title",mxResources.get("sidebarTooltip"));z.style.left=Math.round(a)+"px";z.style.top=Math.round(b)+"px";z.style.width=h+"px";mxClient.IS_POINTER&&(z.style.touchAction="none");m||mxUtils.setPrefixedStyle(z.style,"transform","translate(-22px,-22px)");x.container.appendChild(z);h=mxUtils.bind(this,function(D){var G= +document.createElement("a");G.className="geToolbarButton";G.style.display="inline-block";G.style.position="relative";G.style.overflow="hidden";G.style.cursor="pointer";G.style.width="30px";G.style.height="30px";G.style.padding="1px";z.appendChild(G);null!=E&&"1"!=urlParams.sketch?this.sidebar.graph.pasteStyle(E,[D]):this.sidebar.graph.pasteCellStyles([D],x.currentVertexStyle,x.currentEdgeStyle);var I=D.geometry;x.model.isEdge(D)&&(I=I.getTerminalPoint(!1),I=new mxRectangle(0,0,I.x,I.y));null!=I&& +G.appendChild(this.sidebar.createVertexTemplateFromCells([D],I.width,I.height,"",!0,!1,null,!1,mxUtils.bind(this,function(L){if(!mxEvent.isShiftDown(L)||null==e&&x.isSelectionEmpty()){var T=x.cloneCell(D);if(null!=f)f(T);else{var K=p([T]);x.model.isEdge(T)?T.geometry.translate(K.x,K.y):(T.geometry.x=K.x,T.geometry.y=K.y);x.model.beginUpdate();try{x.addCell(T),x.model.isVertex(T)&&x.isAutoSizeCell(T)&&x.updateCellSize(T)}finally{x.model.endUpdate()}x.setSelectionCell(T);x.scrollCellToVisible(T);u&& +x.startEditing(T);null!=C.hoverIcons&&C.hoverIcons.update(x.view.getState(T))}}else T=x.getEditableCells(null!=e?[e]:x.getSelectionCells()),x.updateShapes(D,T);null!=d&&d(L);mxEvent.consume(L)}),25,25,null,null,e))});for(k=0;k<(m?Math.min(g.length,4):g.length);k++)h(g[k]);g=z.offsetTop+z.clientHeight-(x.container.scrollTop+x.container.offsetHeight);0=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor*=(this.view.scale+.05)/this.view.scale:(this.cumulativeZoomFactor*=sa,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*100)/100/this.view.scale):.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor*=(this.view.scale-.05)/this.view.scale:(this.cumulativeZoomFactor/=sa,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*100)/100/this.view.scale); -this.cumulativeZoomFactor=Math.max(.05,Math.min(this.view.scale*this.cumulativeZoomFactor,160))/this.view.scale;if(a.isFastZoomEnabled()){null==V&&""!=oa.getAttribute("filter")&&(V=oa.getAttribute("filter"),oa.removeAttribute("filter"));Z=new mxPoint(a.container.scrollLeft,a.container.scrollTop);H=Math.round(Math.round(this.view.scale*this.cumulativeZoomFactor*100)/100*20)/(20*this.view.scale);sa=ea||null==O?a.container.scrollLeft+a.container.clientWidth/2:O.x+a.container.scrollLeft-a.container.offsetLeft; -var Pa=ea||null==O?a.container.scrollTop+a.container.clientHeight/2:O.y+a.container.scrollTop-a.container.offsetTop;oa.style.transformOrigin=sa+"px "+Pa+"px";oa.style.transform="scale("+H+")";ia.style.transformOrigin=sa+"px "+Pa+"px";ia.style.transform="scale("+H+")";null!=a.view.backgroundPageShape&&null!=a.view.backgroundPageShape.node?(sa=a.view.backgroundPageShape.node,mxUtils.setPrefixedStyle(sa.style,"transform-origin",(ea||null==O?a.container.clientWidth/2+a.container.scrollLeft-sa.offsetLeft+ +this.cumulativeZoomFactor=Math.max(.05,Math.min(this.view.scale*this.cumulativeZoomFactor,160))/this.view.scale;if(a.isFastZoomEnabled()){null==W&&""!=na.getAttribute("filter")&&(W=na.getAttribute("filter"),na.removeAttribute("filter"));Z=new mxPoint(a.container.scrollLeft,a.container.scrollTop);H=Math.round(Math.round(this.view.scale*this.cumulativeZoomFactor*100)/100*20)/(20*this.view.scale);sa=ea||null==O?a.container.scrollLeft+a.container.clientWidth/2:O.x+a.container.scrollLeft-a.container.offsetLeft; +var Pa=ea||null==O?a.container.scrollTop+a.container.clientHeight/2:O.y+a.container.scrollTop-a.container.offsetTop;na.style.transformOrigin=sa+"px "+Pa+"px";na.style.transform="scale("+H+")";ia.style.transformOrigin=sa+"px "+Pa+"px";ia.style.transform="scale("+H+")";null!=a.view.backgroundPageShape&&null!=a.view.backgroundPageShape.node?(sa=a.view.backgroundPageShape.node,mxUtils.setPrefixedStyle(sa.style,"transform-origin",(ea||null==O?a.container.clientWidth/2+a.container.scrollLeft-sa.offsetLeft+ "px":O.x+a.container.scrollLeft-sa.offsetLeft-a.container.offsetLeft+"px")+" "+(ea||null==O?a.container.clientHeight/2+a.container.scrollTop-sa.offsetTop+"px":O.y+a.container.scrollTop-sa.offsetTop-a.container.offsetTop+"px")),mxUtils.setPrefixedStyle(sa.style,"transform","scale("+H+")")):a.view.validateBackgroundStyles(H,sa,Pa);a.view.getDecoratorPane().style.opacity="0";a.view.getOverlayPane().style.opacity="0";null!=e.hoverIcons&&e.hoverIcons.reset();a.fireEvent(new mxEventObject("zoomPreview", -"factor",H))}ja(a.isFastZoomEnabled()?la:0)};mxEvent.addGestureListeners(a.container,function(H){null!=qa&&window.clearTimeout(qa)},null,function(H){1!=a.cumulativeZoomFactor&&ja(0)});mxEvent.addListener(a.container,"scroll",function(H){null==qa||a.isMouseDown||1==a.cumulativeZoomFactor||ja(0)});mxEvent.addMouseWheelListener(mxUtils.bind(this,function(H,ea,la,sa,Pa){a.fireEvent(new mxEventObject("wheel"));if(null==this.dialogs||0==this.dialogs.length)if(!a.scrollbars&&!la&&a.isScrollWheelEvent(H))la= -a.view.getTranslate(),sa=40/a.view.scale,mxEvent.isShiftDown(H)?a.view.setTranslate(la.x+(ea?-sa:sa),la.y):a.view.setTranslate(la.x,la.y+(ea?sa:-sa));else if(la||a.isZoomWheelEvent(H))for(var ma=mxEvent.getSource(H);null!=ma;){if(ma==a.container)return a.tooltipHandler.hideTooltip(),O=null!=sa&&null!=Pa?new mxPoint(sa,Pa):new mxPoint(mxEvent.getClientX(H),mxEvent.getClientY(H)),ca=la,la=a.zoomFactor,sa=null,H.ctrlKey&&null!=H.deltaY&&40>Math.abs(H.deltaY)&&Math.round(H.deltaY)!=H.deltaY?la=1+Math.abs(H.deltaY)/ -20*(la-1):null!=H.movementY&&"pointermove"==H.type&&(la=1+Math.max(1,Math.abs(H.movementY))/20*(la-1),sa=-1),a.lazyZoom(ea,null,sa,la),mxEvent.consume(H),!1;ma=ma.parentNode}}),a.container);a.panningHandler.zoomGraph=function(H){a.cumulativeZoomFactor=H.scale;a.lazyZoom(0Math.abs(H.deltaY)&&Math.round(H.deltaY)!=H.deltaY?oa=1+Math.abs(H.deltaY)/ +20*(oa-1):null!=H.movementY&&"pointermove"==H.type&&(oa=1+Math.max(1,Math.abs(H.movementY))/20*(oa-1),sa=-1),a.lazyZoom(ea,null,sa,oa),mxEvent.consume(H),!1;la=la.parentNode}}),a.container);a.panningHandler.zoomGraph=function(H){a.cumulativeZoomFactor=H.scale;a.lazyZoom(0'],{type:"text/html"})});navigator.clipboard.write([a])["catch"](f)};EditorUi.prototype.writeHtmlToClipboard=function(a,b){a=new ClipboardItem({"text/plain":new Blob([Editor.convertHtmlToText(a)],{type:"text/plain"}),"text/html":new Blob([a],{type:"text/html"})});navigator.clipboard.write([a])["catch"](b)}; EditorUi.prototype.writeTextToClipboard=function(a,b){navigator.clipboard.writeText(a)["catch"](b)};EditorUi.prototype.extractGraphModelFromHtml=function(a){var b=null;try{var e=a.indexOf("<mxGraphModel ");if(0<=e){var f=a.lastIndexOf("</mxGraphModel>");f>e&&(b=a.substring(e,f+21).replace(/>/g,">").replace(/</g,"<").replace(/\\"/g,'"').replace(/\n/g,""))}}catch(h){}return b}; EditorUi.prototype.readGraphModelFromClipboard=function(a){this.readGraphModelFromClipboardWithType(mxUtils.bind(this,function(b){null!=b?a(b):this.readGraphModelFromClipboardWithType(mxUtils.bind(this,function(e){if(null!=e){var f=decodeURIComponent(e);this.isCompatibleString(f)&&(e=f)}a(e)}),"text")}),"html")}; EditorUi.prototype.readGraphModelFromClipboardWithType=function(a,b){navigator.clipboard.read().then(mxUtils.bind(this,function(e){if(null!=e&&0':"")+Graph.sanitizeHtml(a);asHtml=!0;a=b.getElementsByTagName("style");if(null!=a)for(;0this.maxTooltipWidth||f>this.maxTooltipHeight)?Math.round(100*Math.min(this.maxTooltipWidth/e,this.maxTooltipHeight/f))/100:1;this.tooltip.style.display="block";this.graph2.labelsVisible=null==d||d;d=mxClient.NO_FO;mxClient.NO_FO=Editor.prototype.originalNoForeignObject;null!=b&&(b=this.graph2.cloneCells(b),this.graph2.pasteCellStyles(q.includeDescendants(b),u?q.currentVertexStyle:q.defaultVertexStyle,u?q.currentEdgeStyle:q.defaultEdgeStyle,null,q.pasteEdgeStyle),this.graph2.addCells(b)); +Sidebar.prototype.createTooltip=function(a,b,e,f,h,d,g,m,p,k,u){u=null!=u?u:!0;this.tooltipMouseDown=p;p=this.editorUi.editor.graph;if(null==this.tooltip){this.tooltip=document.createElement("div");this.tooltip.className="geSidebarTooltip";this.tooltip.style.userSelect="none";this.tooltip.style.zIndex=mxPopupMenu.prototype.zIndex-1;document.body.appendChild(this.tooltip);mxEvent.addMouseWheelListener(mxUtils.bind(this,function(z){this.hideTooltip()}),this.tooltip);this.graph2=new Graph(this.tooltip, +null,null,this.editorUi.editor.graph.getStylesheet());this.graph2.shapeBackgroundColor=this.graph.shapeBackgroundColor;this.graph2.resetViewOnRootChange=!1;this.graph2.foldingEnabled=!1;this.graph2.gridEnabled=!1;this.graph2.autoScroll=!1;this.graph2.setTooltips(!1);this.graph2.setConnectable(!1);this.graph2.setPanning(!1);this.graph2.setEnabled(!1);if(this.graph2.dialect==mxConstants.DIALECT_SVG){var x=this.graph2.view.getDrawPane().ownerSVGElement;null!=x&&(x.style.overflow="visible")}else this.graph2.view.canvas.style.overflow= +"visible";this.graph2.openLink=mxUtils.bind(this,function(){this.hideTooltip()});mxEvent.addGestureListeners(this.tooltip,mxUtils.bind(this,function(z){null!=this.tooltipMouseDown&&this.tooltipMouseDown(z);window.setTimeout(mxUtils.bind(this,function(){null!=this.tooltipCloseImage&&"none"!=this.tooltipCloseImage.style.display||this.hideTooltip()}),0)}),null,mxUtils.bind(this,function(z){this.hideTooltip()}));mxClient.IS_SVG||(this.graph2.view.canvas.style.position="relative");x=document.createElement("img"); +x.setAttribute("src",Dialog.prototype.closeImage);x.setAttribute("title",mxResources.get("close"));x.style.position="absolute";x.style.cursor="default";x.style.padding="8px";x.style.right="2px";x.style.top="2px";this.tooltip.appendChild(x);this.tooltipCloseImage=x;mxEvent.addListener(x,"click",mxUtils.bind(this,function(z){this.hideTooltip();mxEvent.consume(z)}))}this.tooltipCloseImage.style.display=k?"":"none";this.graph2.model.clear();this.graph2.view.setTranslate(this.tooltipBorder,this.tooltipBorder); +this.graph2.view.scale=!m&&(e>this.maxTooltipWidth||f>this.maxTooltipHeight)?Math.round(100*Math.min(this.maxTooltipWidth/e,this.maxTooltipHeight/f))/100:1;this.tooltip.style.display="block";this.graph2.labelsVisible=null==d||d;d=mxClient.NO_FO;mxClient.NO_FO=Editor.prototype.originalNoForeignObject;null!=b&&(b=this.graph2.cloneCells(b),this.graph2.pasteCellStyles(p.includeDescendants(b),u?p.currentVertexStyle:p.defaultVertexStyle,u?p.currentEdgeStyle:p.defaultEdgeStyle,null,p.pasteEdgeStyle),this.graph2.addCells(b)); mxClient.NO_FO=d;u=this.graph2.getGraphBounds();m&&0e||u.height>f)?(e=Math.round(100*Math.min(e/u.width,f/u.height))/100,mxClient.NO_FO?(this.graph2.view.setScale(Math.round(100*Math.min(this.maxTooltipWidth/u.width,this.maxTooltipHeight/u.height))/100),u=this.graph2.getGraphBounds()):(this.graph2.view.getDrawPane().ownerSVGElement.style.transform="scale("+e+")",this.graph2.view.getDrawPane().ownerSVGElement.style.transformOrigin="0 0",u.width*=e,u.height*=e)):mxClient.NO_FO||(this.graph2.view.getDrawPane().ownerSVGElement.style.transform= "");e=u.width+2*this.tooltipBorder+4;f=u.height+2*this.tooltipBorder;this.tooltip.style.overflow="visible";this.tooltip.style.width=e+"px";m=e;this.tooltipTitles&&null!=h&&0mxUtils.indexOf(this.ignoredStyles,f[0])&&b.push(f[0]+"="+f[1])}}return b.join(";")};Sidebar.prototype.addLibForStyle=function(a,b){""!=a&&(null==this.styleToLibs&&(this.styleToLibs={}),null==this.styleToLibs[a]&&(this.styleToLibs[a]=[]),this.styleToLibs[a].push(b))}; Sidebar.prototype.getLibsForStyle=function(a){return null!=this.styleToLibs?this.styleToLibs[a]:null}; -Sidebar.prototype.addEntry=function(a,b){if(null!=this.currentSearchEntryLibrary){var e=this,f=this.createVertexTemplateFromCells;this.createVertexTemplateFromCells=function(m,q,k,u,w){if(null!=m)for(q=0;qH&&null!=Ja&&!mxEvent.isShiftDown(Ga)&&(mxUtils.getValue(Ja.style,mxConstants.STYLE_SHAPE)!=mxUtils.getValue(la,mxConstants.STYLE_SHAPE)&&(mxUtils.getValue(Ja.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(Ja.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(Ja.style, -mxConstants.STYLE_GRADIENTCOLOR,mxConstants.NONE)!=mxConstants.NONE)||"image"==mxUtils.getValue(la,mxConstants.STYLE_SHAPE)||1500this.dropTargetDelay&&!this.isDropStyleTargetIgnored(Ja)&&(ma.model.isVertex(Ja.cell)&&null!=w||ma.model.isEdge(Ja.cell)&&ma.model.isEdge(f[0]))){if(ma.isCellEditable(Ja.cell)){K=Ja;var ta=ma.model.isEdge(Ja.cell)?ma.view.getPoint(Ja):new mxPoint(Ja.getCenterX(),Ja.getCenterY());ta=new mxRectangle(ta.x-this.refreshTarget.width/2,ta.y-this.refreshTarget.height/ -2,this.refreshTarget.width,this.refreshTarget.height);W.style.left=Math.floor(ta.x)+"px";W.style.top=Math.floor(ta.y)+"px";null==aa&&(ma.container.appendChild(W),aa=W.parentNode);m(Ca,Da,ta,W)}}else null==K||!mxUtils.contains(K,Ca,Da)||1500H&&H>this.dropTargetDelay||ma.model.isEdge(Ia)?Ja:null,null!=L&&ta){Ha=[ia,oa,Y,Q,P,M];for(ta=0;taH&&null!=Ja&&!mxEvent.isShiftDown(Fa)&&(mxUtils.getValue(Ja.style,mxConstants.STYLE_SHAPE)!=mxUtils.getValue(oa,mxConstants.STYLE_SHAPE)&&(mxUtils.getValue(Ja.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(Ja.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(Ja.style, +mxConstants.STYLE_GRADIENTCOLOR,mxConstants.NONE)!=mxConstants.NONE)||"image"==mxUtils.getValue(oa,mxConstants.STYLE_SHAPE)||1500this.dropTargetDelay&&!this.isDropStyleTargetIgnored(Ja)&&(la.model.isVertex(Ja.cell)&&null!=x||la.model.isEdge(Ja.cell)&&la.model.isEdge(f[0]))){if(la.isCellEditable(Ja.cell)){K=Ja;var ta=la.model.isEdge(Ja.cell)?la.view.getPoint(Ja):new mxPoint(Ja.getCenterX(),Ja.getCenterY());ta=new mxRectangle(ta.x-this.refreshTarget.width/2,ta.y-this.refreshTarget.height/ +2,this.refreshTarget.width,this.refreshTarget.height);V.style.left=Math.floor(ta.x)+"px";V.style.top=Math.floor(ta.y)+"px";null==aa&&(la.container.appendChild(V),aa=V.parentNode);m(Ba,Ca,ta,V)}}else null==K||!mxUtils.contains(K,Ba,Ca)||1500H&&H>this.dropTargetDelay||la.model.isEdge(Ia)?Ja:null,null!=L&&ta){Ha=[ia,na,Y,Q,P,M];for(ta=0;taq||Math.abs(u.y-mxEvent.getClientY(C))>q))&&null!=this.dragElement&&"none"==this.dragElement.style.display&&(this.dragElement.style.display="",mxUtils.setOpacity(a,100*z));g.apply(this,arguments)};b.mouseUp=function(C){try{mxEvent.isPopupTrigger(C)||null!=this.currentGraph||null==this.dragElement||"none"!=this.dragElement.style.display||(null!=f&&f(C),mxEvent.isConsumed(C)||w.itemClicked(e,b,C,a)),m.apply(b,arguments),mxUtils.setOpacity(a,100*z),u=null, -w.currentElt=a}catch(E){b.reset(),w.editorUi.handleError(E)}}};Sidebar.prototype.createVertexTemplateEntry=function(a,b,e,f,h,d,g,m){null!=m&&null!=h&&(m+=" "+h);m=null!=m&&0p||Math.abs(u.y-mxEvent.getClientY(C))>p))&&null!=this.dragElement&&"none"==this.dragElement.style.display&&(this.dragElement.style.display="",mxUtils.setOpacity(a,100*z));g.apply(this,arguments)};b.mouseUp=function(C){try{mxEvent.isPopupTrigger(C)||null!=this.currentGraph||null==this.dragElement||"none"!=this.dragElement.style.display||(null!=f&&f(C),mxEvent.isConsumed(C)||x.itemClicked(e,b,C,a)),m.apply(b,arguments),mxUtils.setOpacity(a,100*z),u=null, +x.currentElt=a}catch(E){b.reset(),x.editorUi.handleError(E)}}};Sidebar.prototype.createVertexTemplateEntry=function(a,b,e,f,h,d,g,m){null!=m&&null!=h&&(m+=" "+h);m=null!=m&&0mxUtils.indexOf(h,z)){C=this.getTagsForStencil(w,z);var G=null!=m?m[z]:null;null!=G&&C.push(G);u.push(this.createVertexTemplateEntry("shape="+w+z.toLowerCase()+f,Math.round(E*g),Math.round(D*g),"",z.replace(/_/g," "),null,null,this.filterTags(C.join(" "))))}}), -!0,!0);this.addPaletteFunctions(a,b,!1,u)}else this.addPalette(a,b,!1,mxUtils.bind(this,function(w){null==f&&(f="");null!=d&&d.call(this,w);if(null!=q)for(var z=0;zmxUtils.indexOf(h,E))&&w.appendChild(this.createVertexTemplate("shape="+C+E.toLowerCase()+f,Math.round(G*g),Math.round(I*g),"",E.replace(/_/g," "),!0))}),!0)}))}; +Sidebar.prototype.addStencilPalette=function(a,b,e,f,h,d,g,m,p,k){g=null!=g?g:1;if(this.addStencilsToIndex){var u=[];if(null!=p)for(k=0;kmxUtils.indexOf(h,z)){C=this.getTagsForStencil(x,z);var G=null!=m?m[z]:null;null!=G&&C.push(G);u.push(this.createVertexTemplateEntry("shape="+x+z.toLowerCase()+f,Math.round(E*g),Math.round(D*g),"",z.replace(/_/g," "),null,null,this.filterTags(C.join(" "))))}}), +!0,!0);this.addPaletteFunctions(a,b,!1,u)}else this.addPalette(a,b,!1,mxUtils.bind(this,function(x){null==f&&(f="");null!=d&&d.call(this,x);if(null!=p)for(var z=0;zmxUtils.indexOf(h,E))&&x.appendChild(this.createVertexTemplate("shape="+C+E.toLowerCase()+f,Math.round(G*g),Math.round(I*g),"",E.replace(/_/g," "),!0))}),!0)}))}; Sidebar.prototype.destroy=function(){null!=this.graph&&(null!=this.graph.container&&null!=this.graph.container.parentNode&&this.graph.container.parentNode.removeChild(this.graph.container),this.graph.destroy(),this.graph=null);null!=this.escapeListener&&(this.editorUi.editor.graph.removeListener(this.escapeListener),this.escapeListener=null);null!=this.pointerUpHandler&&(mxEvent.removeListener(document,mxClient.IS_POINTER?"pointerup":"mouseup",this.pointerUpHandler),this.pointerUpHandler=null);null!= this.pointerDownHandler&&(mxEvent.removeListener(document,mxClient.IS_POINTER?"pointerdown":"mousedown",this.pointerDownHandler),this.pointerDownHandler=null);null!=this.pointerMoveHandler&&(mxEvent.removeListener(document,mxClient.IS_POINTER?"pointermove":"mousemove",this.pointerMoveHandler),this.pointerMoveHandler=null);null!=this.pointerOutHandler&&(mxEvent.removeListener(document,mxClient.IS_POINTER?"pointerout":"mouseout",this.pointerOutHandler),this.pointerOutHandler=null)};(function(){var a=[["nbsp","160"],["shy","173"]],b=mxUtils.parseXml;mxUtils.parseXml=function(f){for(var h=0;hV||Math.abs(g.y-Z.getGraphY())>V){var ja=null;mxEvent.isShiftDown(Z.getEvent())|| -(ja=this.selectionCellsHandler.getHandler(ca.cell));if(null!=ja&&null!=ja.bends&&0W||Math.abs(g.y-Z.getGraphY())>W){var ja=null;mxEvent.isShiftDown(Z.getEvent())|| +(ja=this.selectionCellsHandler.getHandler(ca.cell));if(null!=ja&&null!=ja.bends&&0'+(""!=h?'":"")+'
'+a+"
")}; -Graph.addLightDarkColors=function(a,b,e,f){function h(z,C,E){return null!=f?f(z,C,E):mxUtils.isValidColor(E)?(null==q&&null!=b&&(q={}),null!=q&&(q[C]=z.style.getPropertyValue(C)),E=mxUtils.getLightDarkColor(E,null,null,e),z.style.setProperty(C,E.cssText),!0):!1}for(var d=a.getElementsByTagName("*"),g=!1,m=0;mpageSize){var T=w.startIndex||0;I=G.slice(Math.max(0,T),Math.min(G.length,T+pageSize))}I=f.getOpposites(I,D).concat(I);var K=u.cloneCells(I);for(L=0;LU.geometry.x?-.8:.5(w.startIndex||0)+pageSize){var Q=u.createVertex(null,null,mxResources.get("nextPage")+" ("+(Math.ceil((w.startIndex||0)/pageSize)+2)+"/"+Math.ceil(G.length/pageSize)+")",0,0,120,30,"fillColor=green;fontColor=white;strokeColor=green;rounded=1;");Q.referenceCell= -E;Q.startIndex=(w.startIndex||0)+pageSize;K.splice(0,0,Q)}for(var P in u.getModel().cells){var M=u.getModel().getCell(P);M!=u.rootCell&&!u.getModel().isAncestor(u.rootCell,M)&&u.getModel().isVertex(M)&&u.removeCells([M])}u.addCells(K);var W=u.getModel().getGeometry(u.rootCell);null!=W&&(W=W.clone(),W.x=z-W.width/2,W.y=C-W.height/3,u.getModel().setGeometry(u.rootCell,W));w=[];for(P in u.getModel().cells)M=u.getModel().getCell(P),M!=u.rootCell&&u.getModel().isVertex(M)&&u.getModel().getParent(M)==u.getDefaultParent()&& -(w.push(M),W=u.getModel().getGeometry(M),null!=W&&(W.x=z-W.width/2,W.y=C-W.height/2));var aa=w.length,ia=2*Math.PI/aa,oa=Math.max(minSize,Math.min(u.container.scrollWidth/2.5-80,u.container.scrollHeight/2.5-80));for(z=0;zpageSize){var T=x.startIndex||0;I=G.slice(Math.max(0,T),Math.min(G.length,T+pageSize))}I=f.getOpposites(I,D).concat(I);var K=u.cloneCells(I);for(L=0;LU.geometry.x?-.8:.5(x.startIndex||0)+pageSize){var Q=u.createVertex(null,null,mxResources.get("nextPage")+" ("+(Math.ceil((x.startIndex||0)/pageSize)+2)+"/"+Math.ceil(G.length/pageSize)+")",0,0,120,30,"fillColor=green;fontColor=white;strokeColor=green;rounded=1;");Q.referenceCell= +E;Q.startIndex=(x.startIndex||0)+pageSize;K.splice(0,0,Q)}for(var P in u.getModel().cells){var M=u.getModel().getCell(P);M!=u.rootCell&&!u.getModel().isAncestor(u.rootCell,M)&&u.getModel().isVertex(M)&&u.removeCells([M])}u.addCells(K);var V=u.getModel().getGeometry(u.rootCell);null!=V&&(V=V.clone(),V.x=z-V.width/2,V.y=C-V.height/3,u.getModel().setGeometry(u.rootCell,V));x=[];for(P in u.getModel().cells)M=u.getModel().getCell(P),M!=u.rootCell&&u.getModel().isVertex(M)&&u.getModel().getParent(M)==u.getDefaultParent()&& +(x.push(M),V=u.getModel().getGeometry(M),null!=V&&(V.x=z-V.width/2,V.y=C-V.height/2));var aa=x.length,ia=2*Math.PI/aa,na=Math.max(minSize,Math.min(u.container.scrollWidth/2.5-80,u.container.scrollHeight/2.5-80));for(z=0;zmxUtils.indexOf(q,u)})),this.updateCellStyles(g,m))};Graph.prototype.copyCellStyles=function(g,m,q,k,u,w,z){var C=!1,E=!1;if(0mxUtils.indexOf(Graph.edgeStyles,K))&&(C=mxUtils.setStyle(C,K,W),"fontFamily"==K&&null==E.fontSource&&(C=mxUtils.setStyle(C,"fontSource",null)),M&&"rounded"==K&&"1"==W&&null==E.curved&&(C=mxUtils.setStyle(C,"curved",null)))}Editor.simpleLabels&&(C=mxUtils.setStyle(mxUtils.setStyle(C,"html",null),"whiteSpace",null));this.model.setStyle(z,C)}}finally{this.model.endUpdate()}return g};Graph.prototype.updateCellStyles= -function(g,m){this.model.beginUpdate();try{for(var q=0;qmxUtils.indexOf(p,u)})),this.updateCellStyles(g,m))};Graph.prototype.copyCellStyles= +function(g,m,p,k,u,x,z){var C=!1,E=!1;if(0mxUtils.indexOf(Graph.edgeStyles,K))&&(C=mxUtils.setStyle(C, +K,V),"fontFamily"==K&&null==E.fontSource&&(C=mxUtils.setStyle(C,"fontSource",null)),M&&"rounded"==K&&"1"==V&&null==E.curved&&(C=mxUtils.setStyle(C,"curved",null)))}Editor.simpleLabels&&(C=mxUtils.setStyle(mxUtils.setStyle(C,"html",null),"whiteSpace",null));this.model.setStyle(z,C)}}finally{this.model.endUpdate()}return g};Graph.prototype.updateCellStyles=function(g,m){this.model.beginUpdate();try{for(var p=0;pz?"a":"p",tt:12>z?"am":"pm",T:12>z?"A":"P",TT:12>z?"AM":"PM",Z:e?"UTC":(String(a).match(h)||[""]).pop().replace(d,""),o:(0z?"a":"p",tt:12>z?"am":"pm",T:12>z?"A":"P",TT:12>z?"AM":"PM",Z:e?"UTC":(String(a).match(h)||[""]).pop().replace(d,""),o:(0h&&"%"==b.charAt(match.index-1))g=d.substring(1);else{var m=d.substring(1,d.length-1),q={mm:mxConstants.MILLIMETERS,"in":mxConstants.INCHES,m:mxConstants.METERS,current:this.view.unit};if("id"==m)g=a.id;else if("width"===m.substring(0,5)&&this.model.isVertex(a)){var k=this.getCellGeometry(a); -null!=k&&(g=k.width,5m.indexOf("{"))for(q=a;null==g&&null!= -q;)null!=q.value&&"object"==typeof q.value&&(Graph.translateDiagram&&null!=Graph.diagramLanguage&&(g=q.getAttribute(m+"_"+Graph.diagramLanguage)),null==g&&(g=q.hasAttribute(m)?null!=q.getAttribute(m)?q.getAttribute(m):"":null)),q=this.model.getParent(q);null==g&&(g=this.getGlobalVariable(m));null==g&&null!=e&&(g=e[m])}f.push(b.substring(h,match.index)+(null!=g?g:d));h=match.index+d.length}}f.push(b.substring(h))}return f.join("")}; +Graph.prototype.replacePlaceholders=function(a,b,e,f){f=[];if(null!=b){for(var h=0;match=this.placeholderPattern.exec(b);){var d=match[0];if(2h&&"%"==b.charAt(match.index-1))g=d.substring(1);else{var m=d.substring(1,d.length-1),p={mm:mxConstants.MILLIMETERS,"in":mxConstants.INCHES,m:mxConstants.METERS,current:this.view.unit};if("id"==m)g=a.id;else if("width"===m.substring(0,5)&&this.model.isVertex(a)){var k=this.getCellGeometry(a); +null!=k&&(g=k.width,5m.indexOf("{"))for(p=a;null==g&&null!= +p;)null!=p.value&&"object"==typeof p.value&&(Graph.translateDiagram&&null!=Graph.diagramLanguage&&(g=p.getAttribute(m+"_"+Graph.diagramLanguage)),null==g&&(g=p.hasAttribute(m)?null!=p.getAttribute(m)?p.getAttribute(m):"":null)),p=this.model.getParent(p);null==g&&(g=this.getGlobalVariable(m));null==g&&null!=e&&(g=e[m])}f.push(b.substring(h,match.index)+(null!=g?g:d));h=match.index+d.length}}f.push(b.substring(h))}return f.join("")}; Graph.prototype.restoreSelection=function(a){if(null!=a&&0m[0].indexOf("=")&&(m=m.slice(1));this.model.setStyle(b[d],m.join(";"))}this.setCellStyles(mxConstants.STYLE_PERIMETER,null,[b[d]]);this.setCellStyles("points",null,[b[d]]);this.pasteStyle(h,[b[d]],null,!0)}else h=this.copyStyle(b[d]),this.model.setStyle(b[d],f),this.pasteStyle(h,[b[d]]);"1"==mxUtils.getValue(this.getCellStyle(b[d],!1),"composite","0")&&this.removeChildCells(b[d])}}finally{this.model.endUpdate()}}; Graph.prototype.selectCellsForConnectVertex=function(a,b,e){2==a.length&&this.model.isVertex(a[1])?(this.setSelectionCell(a[1]),this.scrollCellToVisible(a[1]),null!=e&&(mxEvent.isTouchEvent(b)?e.update(e.getState(this.view.getState(a[1]))):e.reset())):this.setSelectionCells(a)};Graph.prototype.isCloneConnectSource=function(a){var b=null;null!=this.layoutManager&&(b=this.layoutManager.getLayout(this.model.getParent(a)));return this.isTableRow(a)||this.isTableCell(a)||null!=b&&b.constructor==mxStackLayout}; Graph.prototype.insertEdgeBeforeCell=function(a,b){for(var e=b;null!=e.parent&&null!=e.geometry&&e.geometry.relative&&e.parent!=a.parent;)e=this.model.getParent(e);null!=e&&null!=e.parent&&e.parent==a.parent&&(b=e.parent.getIndex(e),this.model.add(e.parent,a,b))}; -Graph.prototype.connectVertex=function(a,b,e,f,h,d,g,m){d=d?d:!1;if(a.geometry.relative&&this.model.isEdge(a.parent))return[];for(;a.geometry.relative&&this.model.isVertex(a.parent);)a=a.parent;var q=this.isCloneConnectSource(a),k=q?a:this.getCompositeParent(a),u=a.geometry.relative&&null!=a.parent.geometry?new mxPoint(a.parent.geometry.width*a.geometry.x,a.parent.geometry.height*a.geometry.y):new mxPoint(k.geometry.x,k.geometry.y);b==mxConstants.DIRECTION_NORTH?(u.x+=k.geometry.width/2,u.y-=e):b== -mxConstants.DIRECTION_SOUTH?(u.x+=k.geometry.width/2,u.y+=k.geometry.height+e):(u.x=b==mxConstants.DIRECTION_WEST?u.x-e:u.x+(k.geometry.width+e),u.y+=k.geometry.height/2);var w=this.view.getState(this.model.getParent(a));e=this.view.scale;var z=this.view.translate;k=z.x*e;z=z.y*e;null!=w&&this.model.isVertex(w.cell)&&(k=w.x,z=w.y);this.model.isVertex(a.parent)&&a.geometry.relative&&(u.x+=a.parent.geometry.x,u.y+=a.parent.geometry.y);d=d?null:(new mxRectangle(k+u.x*e,z+u.y*e)).grow(40*e);d=null!=d? -this.getCells(0,0,0,0,null,null,d,null,!0):null;w=this.view.getState(a);var C=null,E=null;if(null!=d){d=d.reverse();for(var D=0;D/g,"\n"));h=Editor.convertHtmlToText(h);this.cellLabelChanged(a,h);f=!0}b&&(this.setCellStyles("fontSource",null,[a]),this.setCellStyles(mxConstants.STYLE_FONTFAMILY,null,[a]),this.setCellStyles(mxConstants.STYLE_FONTSIZE, null,[a]),this.setCellStyles(mxConstants.STYLE_FONTSTYLE,null,[a]),this.setCellStyles(mxConstants.STYLE_FONTCOLOR,null,[a]),this.setCellStyles(mxConstants.STYLE_LABEL_BORDERCOLOR,null,[a]),this.setCellStyles(mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,null,[a]))}finally{this.getModel().endUpdate()}return f};Graph.prototype.createParent=function(a,b,e,f,h){a=this.cloneCell(a);for(var d=0;dG||Math.abs(ia.y-T.y)>G)&&(Math.abs(ia.x-L.x)>G||Math.abs(ia.y-L.y)>G)&&(null==M||mxUtils.ptLineDist(T.x,T.y,L.x,L.y,M.x,M.y)>G||mxUtils.ptLineDist(T.x,T.y,L.x,L.y,aa.x,aa.y)>G)&&(null==U||mxUtils.ptLineDist(T.x,T.y,L.x,L.y,U.x,U.y)>G||mxUtils.ptLineDist(T.x,T.y,L.x,L.y,W.x,W.y)>G)){U=ia.x-T.x;M=ia.y-T.y;ia={distSq:U*U+M*M,x:ia.x,y:ia.y};for(U=0;Uia.distSq){K.splice(U, -0,ia);ia=null;break}null==ia||0!=K.length&&K[K.length-1].x===ia.x&&K[K.length-1].y===ia.y||K.push(ia)}M=aa}}}for(Q=0;QD*D&&0D*D&&(M=new mxPoint(P.x-U.x,P.y-U.y),Q=new mxPoint(P.x+U.x,P.y+U.y),K.push(M),this.addPoints(w,K,C,E,!1,null,I),K=0>Math.round(U.x)||0==Math.round(U.x)&&0>=Math.round(U.y)?1:-1,I=!1,"sharp"==G?(w.lineTo(M.x-U.y*K,M.y+U.x*K),w.lineTo(Q.x-U.y*K,Q.y+ -U.x*K),w.lineTo(Q.x,Q.y)):"line"==G?(w.moveTo(M.x+U.y*K,M.y-U.x*K),w.lineTo(M.x-U.y*K,M.y+U.x*K),w.moveTo(Q.x-U.y*K,Q.y+U.x*K),w.lineTo(Q.x+U.y*K,Q.y-U.x*K),w.moveTo(Q.x,Q.y)):"arc"==G?(K*=1.3,w.curveTo(M.x-U.y*K,M.y+U.x*K,Q.x-U.y*K,Q.y+U.x*K,Q.x,Q.y)):(w.moveTo(Q.x,Q.y),I=!0),K=[Q],M=!0))}else U=null;M||(K.push(P),L=P)}this.addPoints(w,K,C,E,!1,null,I);w.stroke()}};var m=mxGraphView.prototype.getFixedTerminalPoint;mxGraphView.prototype.getFixedTerminalPoint=function(w,z,C,E){return null!=z&&"centerPerimeter"== -z.style[mxConstants.STYLE_PERIMETER]?new mxPoint(z.getCenterX(),z.getCenterY()):m.apply(this,arguments)};var q=mxGraphView.prototype.updateFloatingTerminalPoint;mxGraphView.prototype.updateFloatingTerminalPoint=function(w,z,C,E){if(null==z||null==w||"1"!=z.style.snapToPoint&&"1"!=w.style.snapToPoint)q.apply(this,arguments);else{z=this.getTerminalPort(w,z,E);var D=this.getNextPoint(w,C,E),G=this.graph.isOrthogonal(w),I=mxUtils.toRadians(Number(z.style[mxConstants.STYLE_ROTATION]||"0")),L=new mxPoint(z.getCenterX(), -z.getCenterY());if(0!=I){var T=Math.cos(-I),K=Math.sin(-I);D=mxUtils.getRotatedPoint(D,T,K,L)}T=parseFloat(w.style[mxConstants.STYLE_PERIMETER_SPACING]||0);T+=parseFloat(w.style[E?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]||0);D=this.getPerimeterPoint(z,D,0==I&&G,T);0!=I&&(T=Math.cos(I),K=Math.sin(I),D=mxUtils.getRotatedPoint(D,T,K,L));w.setAbsoluteTerminalPoint(this.snapToAnchorPoint(w,z,C,E,D),E)}};mxGraphView.prototype.snapToAnchorPoint=function(w,z, -C,E,D){if(null!=z&&null!=w){w=this.graph.getAllConnectionConstraints(z);E=C=null;if(null!=w)for(var G=0;GG||Math.abs(ia.y-T.y)>G)&&(Math.abs(ia.x-L.x)>G||Math.abs(ia.y-L.y)>G)&&(null==M||mxUtils.ptLineDist(T.x,T.y,L.x,L.y,M.x,M.y)>G||mxUtils.ptLineDist(T.x,T.y,L.x,L.y,aa.x,aa.y)>G)&&(null==U||mxUtils.ptLineDist(T.x,T.y,L.x,L.y,U.x,U.y)>G||mxUtils.ptLineDist(T.x,T.y,L.x,L.y,V.x,V.y)>G)){U=ia.x-T.x;M=ia.y-T.y;ia={distSq:U*U+M*M,x:ia.x,y:ia.y};for(U=0;Uia.distSq){K.splice(U, +0,ia);ia=null;break}null==ia||0!=K.length&&K[K.length-1].x===ia.x&&K[K.length-1].y===ia.y||K.push(ia)}M=aa}}}for(Q=0;QD*D&&0D*D&&(M=new mxPoint(P.x-U.x,P.y-U.y),Q=new mxPoint(P.x+U.x,P.y+U.y),K.push(M),this.addPoints(x,K,C,E,!1,null,I),K=0>Math.round(U.x)||0==Math.round(U.x)&&0>=Math.round(U.y)?1:-1,I=!1,"sharp"==G?(x.lineTo(M.x-U.y*K,M.y+U.x*K),x.lineTo(Q.x-U.y*K,Q.y+ +U.x*K),x.lineTo(Q.x,Q.y)):"line"==G?(x.moveTo(M.x+U.y*K,M.y-U.x*K),x.lineTo(M.x-U.y*K,M.y+U.x*K),x.moveTo(Q.x-U.y*K,Q.y+U.x*K),x.lineTo(Q.x+U.y*K,Q.y-U.x*K),x.moveTo(Q.x,Q.y)):"arc"==G?(K*=1.3,x.curveTo(M.x-U.y*K,M.y+U.x*K,Q.x-U.y*K,Q.y+U.x*K,Q.x,Q.y)):(x.moveTo(Q.x,Q.y),I=!0),K=[Q],M=!0))}else U=null;M||(K.push(P),L=P)}this.addPoints(x,K,C,E,!1,null,I);x.stroke()}};var m=mxGraphView.prototype.getFixedTerminalPoint;mxGraphView.prototype.getFixedTerminalPoint=function(x,z,C,E){return null!=z&&"centerPerimeter"== +z.style[mxConstants.STYLE_PERIMETER]?new mxPoint(z.getCenterX(),z.getCenterY()):m.apply(this,arguments)};var p=mxGraphView.prototype.updateFloatingTerminalPoint;mxGraphView.prototype.updateFloatingTerminalPoint=function(x,z,C,E){if(null==z||null==x||"1"!=z.style.snapToPoint&&"1"!=x.style.snapToPoint)p.apply(this,arguments);else{z=this.getTerminalPort(x,z,E);var D=this.getNextPoint(x,C,E),G=this.graph.isOrthogonal(x),I=mxUtils.toRadians(Number(z.style[mxConstants.STYLE_ROTATION]||"0")),L=new mxPoint(z.getCenterX(), +z.getCenterY());if(0!=I){var T=Math.cos(-I),K=Math.sin(-I);D=mxUtils.getRotatedPoint(D,T,K,L)}T=parseFloat(x.style[mxConstants.STYLE_PERIMETER_SPACING]||0);T+=parseFloat(x.style[E?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]||0);D=this.getPerimeterPoint(z,D,0==I&&G,T);0!=I&&(T=Math.cos(I),K=Math.sin(I),D=mxUtils.getRotatedPoint(D,T,K,L));x.setAbsoluteTerminalPoint(this.snapToAnchorPoint(x,z,C,E,D),E)}};mxGraphView.prototype.snapToAnchorPoint=function(x,z, +C,E,D){if(null!=z&&null!=x){x=this.graph.getAllConnectionConstraints(z);E=C=null;if(null!=x)for(var G=0;G=d.getStatus()&&eval.call(window,d.getText())}}catch(g){null!=window.console&&console.log("error in getStencil:",a,e,b,h,g)}}mxStencilRegistry.packages[e]=1}}else e=e.replace("_-_","_"),mxStencilRegistry.loadStencilSet(STENCIL_PATH+"/"+e+".xml",null);b=mxStencilRegistry.stencils[a]}}return b}; @@ -2785,156 +2800,156 @@ mxStencilRegistry.loadStencilSet=function(a,b,e,f){var h=mxStencilRegistry.packa h.documentElement&&mxStencilRegistry.parseStencilSet(h.documentElement,b,d)}};mxStencilRegistry.loadStencil=function(a,b){if(null!=b)mxUtils.get(a,mxUtils.bind(this,function(e){b(200<=e.getStatus()&&299>=e.getStatus()?e.getXml():null)}),mxUtils.bind(this,function(e){b(null)}));else return mxUtils.load(a).getXml()};mxStencilRegistry.parseStencilSets=function(a){for(var b=0;b').src;mxWindow.prototype.minimizeImage=Graph.createSvgImage(14,10,'').src;mxWindow.prototype.normalizeImage=Graph.createSvgImage(14,10,'').src;mxWindow.prototype.resizeImage=Graph.createSvgImage(10,10,'').src; -mxEdgeHandler.prototype.snapToTerminals=!0;mxGraphHandler.prototype.guidesEnabled=!0;mxGraphHandler.prototype.removeEmptyParents=!0;mxRubberband.prototype.fadeOut=!0;mxGuide.prototype.isEnabledForEvent=function(p){return!mxEvent.isAltDown(p)||mxEvent.isShiftDown(p)};var e=mxGraphLayout.prototype.isVertexIgnored;mxGraphLayout.prototype.isVertexIgnored=function(p){return e.apply(this,arguments)||this.graph.isTableRow(p)||this.graph.isTableCell(p)};var f=mxGraphLayout.prototype.isEdgeIgnored;mxGraphLayout.prototype.isEdgeIgnored= -function(p){return f.apply(this,arguments)||this.graph.isEdgeIgnored(p)};var h=mxConnectionHandler.prototype.isCreateTarget;mxConnectionHandler.prototype.isCreateTarget=function(p){return this.graph.isCloneEvent(p)!=h.apply(this,arguments)};mxConstraintHandler.prototype.createHighlightShape=function(){var p=new mxEllipse(null,this.highlightColor,this.highlightColor,0);p.opacity=mxConstants.HIGHLIGHT_OPACITY;return p};mxConnectionHandler.prototype.livePreview=!0;mxConnectionHandler.prototype.cursor= -"crosshair";mxConnectionHandler.prototype.createEdgeState=function(p){p=this.graph.createCurrentEdgeStyle();p=this.graph.createEdge(null,null,null,null,null,p);p=new mxCellState(this.graph.view,p,this.graph.getCellStyle(p));for(var A in this.graph.currentEdgeStyle)p.style[A]=this.graph.currentEdgeStyle[A];if(null!=this.previous){var B=this.previous.style.newEdgeStyle;if(null!=B)try{var F=JSON.parse(B);for(A in F)p.style[A]=F[A]}catch(N){}}p.style=this.graph.postProcessCellStyle(p.cell,p.style);return p}; -var d=mxConnectionHandler.prototype.createShape;mxConnectionHandler.prototype.createShape=function(){var p=d.apply(this,arguments);p.isDashed="1"==this.graph.currentEdgeStyle[mxConstants.STYLE_DASHED];return p};mxConnectionHandler.prototype.updatePreview=function(p){};var g=mxConnectionHandler.prototype.createMarker;mxConnectionHandler.prototype.createMarker=function(){var p=g.apply(this,arguments),A=p.getCell;p.getCell=mxUtils.bind(this,function(B){var F=A.apply(this,arguments);this.error=null;return F}); -return p};Graph.prototype.defaultVertexStyle={};Graph.prototype.defaultEdgeStyle={edgeStyle:"orthogonalEdgeStyle",rounded:"0",jettySize:"auto",orthogonalLoop:"1"};Graph.prototype.createCurrentEdgeStyle=function(){for(var p="edgeStyle="+(this.currentEdgeStyle.edgeStyle||"none")+";",A="shape curved rounded comic sketch fillWeight hachureGap hachureAngle jiggle disableMultiStroke disableMultiStrokeFill fillStyle curveFitting simplification comicStyle jumpStyle jumpSize".split(" "),B=0;B=ha.x&&this.model.remove(wa[A]);var Ma=this.model.getTerminal(B,!1); -if(null!=Ma){var Na=this.getCurrentCellStyle(Ma);null!=Na&&"1"==Na.snapToPoint&&(this.setCellStyles(mxConstants.STYLE_EXIT_X,null,[p]),this.setCellStyles(mxConstants.STYLE_EXIT_Y,null,[p]),this.setCellStyles(mxConstants.STYLE_ENTRY_X,null,[B]),this.setCellStyles(mxConstants.STYLE_ENTRY_Y,null,[B]))}}finally{this.model.endUpdate()}return B};var w=Graph.prototype.selectCell;Graph.prototype.selectCell=function(p,A,B){if(A||B)w.apply(this,arguments);else{var F=this.getSelectionCell(),N=null,R=[],X=mxUtils.bind(this, -function(fa){if(null!=this.view.getState(fa)&&(this.model.isVertex(fa)||this.model.isEdge(fa)))if(R.push(fa),fa==F)N=R.length-1;else if(p&&null==F&&0N||!p&&0va)for(ua=0;ua>va;ua--)this.model.remove(ya[ya.length+ua-1]);ya=this.model.getChildCells(p[da],!0);for(ua=0;uamxUtils.indexOf(p,R)&&0>mxUtils.indexOf(B,R)&&B.push(R):this.labelChanged(p[F],"")}else{if(this.isTableRow(p[F])&&(R=this.model.getParent(p[F]),0>mxUtils.indexOf(p,R)&&0>mxUtils.indexOf(B,R))){for(var X=this.model.getChildCells(R,!0),fa=0,da=0;da=ha.x&&this.model.remove(va[A]);var Ma=this.model.getTerminal(B,!1); +if(null!=Ma){var Na=this.getCurrentCellStyle(Ma);null!=Na&&"1"==Na.snapToPoint&&(this.setCellStyles(mxConstants.STYLE_EXIT_X,null,[q]),this.setCellStyles(mxConstants.STYLE_EXIT_Y,null,[q]),this.setCellStyles(mxConstants.STYLE_ENTRY_X,null,[B]),this.setCellStyles(mxConstants.STYLE_ENTRY_Y,null,[B]))}}finally{this.model.endUpdate()}return B};var x=Graph.prototype.selectCell;Graph.prototype.selectCell=function(q,A,B){if(A||B)x.apply(this,arguments);else{var F=this.getSelectionCell(),N=null,R=[],X=mxUtils.bind(this, +function(fa){if(null!=this.view.getState(fa)&&(this.model.isVertex(fa)||this.model.isEdge(fa)))if(R.push(fa),fa==F)N=R.length-1;else if(q&&null==F&&0N||!q&&0wa)for(ua=0;ua>wa;ua--)this.model.remove(ya[ya.length+ua-1]);ya=this.model.getChildCells(q[da],!0);for(ua=0;uamxUtils.indexOf(q,R)&&0>mxUtils.indexOf(B,R)&&B.push(R):this.labelChanged(q[F],"")}else{if(this.isTableRow(q[F])&&(R=this.model.getParent(q[F]),0>mxUtils.indexOf(q,R)&&0>mxUtils.indexOf(B,R))){for(var X=this.model.getChildCells(R,!0),fa=0,da=0;damxUtils.indexOf(p,R))return null}R=D.apply(this,arguments);var X=!0;for(N=0;NmxUtils.indexOf(q,R))return null}R=D.apply(this,arguments);var X=!0;for(N=0;NR||ha>R)&&this.clear());else{for(da=ha.getSource();null!=da&&"a"!=da.nodeName.toLowerCase();)da=da.parentNode;null!=da?this.clear():(null!=X.tooltipHandler&&null!=this.currentLink&&null!=this.currentState&&X.tooltipHandler.reset(ha,!0,this.currentState),(null==this.currentState||ha.getState()!= -this.currentState&&null!=ha.sourceState||!X.intersects(this.currentState,ha.getGraphX(),ha.getGraphY()))&&this.updateCurrentState(ha))}},mouseUp:function(da,ha){var wa=ha.getSource();for(da=ha.getEvent();null!=wa&&"a"!=wa.nodeName.toLowerCase();)wa=wa.parentNode;null==wa&&Math.abs(this.scrollLeft-X.container.scrollLeft)S&&y++;ba++}J.lengthS&&y++;ba++}J.length=R.length)A.remove(B);else{var X=R.length-1;this.isTableCell(p)&&(X=mxUtils.indexOf(R,p));for(F=p=0;F=N.length)A.remove(B);else{this.isTableRow(F)||(F=N[N.length-1]);A.remove(F);p=0;var R=this.getCellGeometry(F);null!=R&&(p=R.height);var X=this.getCellGeometry(B);null!=X&&(X=X.clone(),X.height-=p,A.setGeometry(B, -X))}}finally{A.endUpdate()}};Graph.prototype.insertRow=function(p,A){for(var B=p.tBodies[0],F=B.rows[0].cells,N=p=0;NA&&p[B].deleteCell(A)}};Graph.prototype.pasteHtmlAtCaret=function(p){if(window.getSelection){var A=window.getSelection();if(A.getRangeAt&&A.rangeCount){A=A.getRangeAt(0);A.deleteContents();var B=document.createElement("div");B.innerHTML= -p;p=document.createDocumentFragment();for(var F;F=B.firstChild;)lastNode=p.appendChild(F);A.insertNode(p)}}else(A=document.selection)&&"Control"!=A.type&&A.createRange().pasteHTML(p)};Graph.prototype.createLinkForHint=function(p,A,B){function F(R,X){R.length>X&&(R=R.substring(0,Math.round(X/2))+"..."+R.substring(R.length-Math.round(X/4)));return R}p=null!=p?p:"javascript:void(0);";if(null==A||0==A.length)A=this.isCustomLink(p)?this.getLinkTitle(p):p;var N=document.createElement("a");N.setAttribute("rel", -this.linkRelation);N.setAttribute("href",this.getAbsoluteUrl(p));N.setAttribute("title",F(this.isCustomLink(p)?this.getLinkTitle(p):p,80));null!=this.linkTarget&&N.setAttribute("target",this.linkTarget);mxUtils.write(N,F(A,40));this.isCustomLink(p)&&mxEvent.addListener(N,"click",mxUtils.bind(this,function(R){this.customLinkClicked(p,B);mxEvent.consume(R)}));return N};Graph.prototype.initTouch=function(){this.connectionHandler.marker.isEnabled=function(){return null!=this.graph.connectionHandler.first}; -this.addListener(mxEvent.START_EDITING,function(R,X){this.popupMenuHandler.hideMenu()});var p=this.updateMouseEvent;this.updateMouseEvent=function(R){R=p.apply(this,arguments);if(mxEvent.isTouchEvent(R.getEvent())&&null==R.getState()){var X=this.getCellAt(R.graphX,R.graphY);null!=X&&this.isSwimlane(X)&&this.hitsSwimlaneContent(X,R.graphX,R.graphY)||(R.state=this.view.getState(X),null!=R.state&&null!=R.state.shape&&(this.container.style.cursor=R.state.shape.node.style.cursor))}null==R.getState()&& +sb)}finally{Sa.shape.isFlowAnimationEnabled=Za,Sa.shape.addFlowAnimationToShape=xb}};var Ta=null!=this.view.currentRoot?this.view.currentRoot:this.model.root;fa.drawState(this.getView().getState(Ta),bb);this.addForeignObjectWarning(bb,jb);wa?this.disableSvgLinks(jb):this.updateSvgLinks(jb,da,!0);return jb}finally{this.enableFlowAnimation=Va,ya&&(this.useCssTransforms=!0,this.view.revalidate(),this.sizeDidChange())}};Graph.prototype.addForeignObjectWarning=function(q,A){if("0"!=urlParams["svg-warning"]&& +0=R.length)A.remove(B);else{var X=R.length-1;this.isTableCell(q)&&(X=mxUtils.indexOf(R,q));for(F=q=0;F=N.length)A.remove(B);else{this.isTableRow(F)||(F=N[N.length-1]);A.remove(F);q=0;var R=this.getCellGeometry(F);null!=R&&(q=R.height);var X=this.getCellGeometry(B);null!=X&&(X=X.clone(),X.height-=q,A.setGeometry(B, +X))}}finally{A.endUpdate()}};Graph.prototype.insertRow=function(q,A){for(var B=q.tBodies[0],F=B.rows[0].cells,N=q=0;NA&&q[B].deleteCell(A)}};Graph.prototype.pasteHtmlAtCaret=function(q){if(window.getSelection){var A=window.getSelection();if(A.getRangeAt&&A.rangeCount){A=A.getRangeAt(0);A.deleteContents();var B=document.createElement("div");B.innerHTML= +q;q=document.createDocumentFragment();for(var F;F=B.firstChild;)lastNode=q.appendChild(F);A.insertNode(q)}}else(A=document.selection)&&"Control"!=A.type&&A.createRange().pasteHTML(q)};Graph.prototype.createLinkForHint=function(q,A,B){function F(R,X){R.length>X&&(R=R.substring(0,Math.round(X/2))+"..."+R.substring(R.length-Math.round(X/4)));return R}q=null!=q?q:"javascript:void(0);";if(null==A||0==A.length)A=this.isCustomLink(q)?this.getLinkTitle(q):q;var N=document.createElement("a");N.setAttribute("rel", +this.linkRelation);N.setAttribute("href",this.getAbsoluteUrl(q));N.setAttribute("title",F(this.isCustomLink(q)?this.getLinkTitle(q):q,80));null!=this.linkTarget&&N.setAttribute("target",this.linkTarget);mxUtils.write(N,F(A,40));this.isCustomLink(q)&&mxEvent.addListener(N,"click",mxUtils.bind(this,function(R){this.customLinkClicked(q,B);mxEvent.consume(R)}));return N};Graph.prototype.initTouch=function(){this.connectionHandler.marker.isEnabled=function(){return null!=this.graph.connectionHandler.first}; +this.addListener(mxEvent.START_EDITING,function(R,X){this.popupMenuHandler.hideMenu()});var q=this.updateMouseEvent;this.updateMouseEvent=function(R){R=q.apply(this,arguments);if(mxEvent.isTouchEvent(R.getEvent())&&null==R.getState()){var X=this.getCellAt(R.graphX,R.graphY);null!=X&&this.isSwimlane(X)&&this.hitsSwimlaneContent(X,R.graphX,R.graphY)||(R.state=this.view.getState(X),null!=R.state&&null!=R.state.shape&&(this.container.style.cursor=R.state.shape.node.style.cursor))}null==R.getState()&& this.isEnabled()&&(this.container.style.cursor="default");return R};var A=!1,B=!1,F=!1,N=this.fireMouseEvent;this.fireMouseEvent=function(R,X,fa){R==mxEvent.MOUSE_DOWN&&(X=this.updateMouseEvent(X),A=this.isCellSelected(X.getCell()),B=this.isSelectionEmpty(),F=this.popupMenuHandler.isMenuShowing());N.apply(this,arguments)};this.popupMenuHandler.mouseUp=mxUtils.bind(this,function(R,X){if(null!=this.freehand&&!this.freehand.isDrawing()){var fa=mxEvent.isMouseEvent(X.getEvent());this.popupMenuHandler.popupTrigger= !this.isEditing()&&this.isEnabled()&&(null==X.getState()||!X.isSource(X.getState().control))&&(this.popupMenuHandler.popupTrigger||!F&&!fa&&(B&&null==X.getCell()&&this.isSelectionEmpty()||A&&this.isCellSelected(X.getCell())));fa=!A||fa?null:mxUtils.bind(this,function(da){window.setTimeout(mxUtils.bind(this,function(){if(!this.isEditing()){var ha=mxUtils.getScrollOrigin();this.popupMenuHandler.popup(X.getX()+ha.x+1,X.getY()+ha.y+1,da,X.getEvent())}}),300)});mxPopupMenuHandler.prototype.mouseUp.apply(this.popupMenuHandler, -[R,X,fa])}})};mxCellEditor.prototype.isContentEditing=function(){var p=this.graph.view.getState(this.editingCell);return null!=p&&1==p.style.html};mxCellEditor.prototype.isTableSelected=function(){return null!=this.graph.getParentByName(this.graph.getSelectedElement(),"TABLE",this.textarea)};mxCellEditor.prototype.isTextSelected=function(){var p="";window.getSelection?p=window.getSelection():document.getSelection?p=document.getSelection():document.selection&&(p=document.selection.createRange().text); -return""!=p};mxCellEditor.prototype.insertTab=function(p){var A=this.textarea.ownerDocument.defaultView.getSelection(),B=A.getRangeAt(0);p=Graph.createTabNode(p);B.insertNode(p);B.setStartAfter(p);B.setEndAfter(p);A.removeAllRanges();A.addRange(B)};mxCellEditor.prototype.alignText=function(p,A){var B=this.graph.getView().getState(this.editingCell);if(null!=B){B=mxUtils.getValue(B.style,mxConstants.STYLE_TEXT_DIRECTION,mxConstants.DEFAULT_TEXT_DIRECTION);var F=null!=B&&"vertical-"==B.substring(0,9), -N=null!=A&&mxEvent.isShiftDown(A);if(N||null!=window.getSelection&&null!=window.getSelection().containsNode){var R=!0;this.graph.processElements(this.textarea,function(X){N||F||window.getSelection().containsNode(X,!0)?(X.removeAttribute("align"),X.style.textAlign=null):R=!1});(R||F)&&this.graph.cellEditor.setAlign(p)}F||document.execCommand("justify"+p.toLowerCase(),!1,null)}};mxCellEditor.prototype.saveSelection=function(){if(window.getSelection){var p=window.getSelection();if(p.getRangeAt&&p.rangeCount){for(var A= -[],B=0,F=p.rangeCount;B"):fa,!0);this.textarea.className="mxCellEditor geContentEditable";da=mxUtils.getValue(p.style,mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE); -A=mxUtils.getValue(p.style,mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY);var F=mxUtils.getValue(p.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),N=(mxUtils.getValue(p.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD,R=(mxUtils.getValue(p.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC,X=[];(mxUtils.getValue(p.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&X.push("underline"); -(mxUtils.getValue(p.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_STRIKETHROUGH)==mxConstants.FONT_STRIKETHROUGH&&X.push("line-through");this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(da*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(da)+"px";this.textarea.style.textDecoration=X.join(" ");this.textarea.style.fontWeight=N?"bold":"normal";this.textarea.style.fontStyle=R?"italic":"";this.textarea.style.fontFamily=A;this.textarea.style.textAlign= +[R,X,fa])}})};mxCellEditor.prototype.isContentEditing=function(){var q=this.graph.view.getState(this.editingCell);return null!=q&&1==q.style.html};mxCellEditor.prototype.isTableSelected=function(){return null!=this.graph.getParentByName(this.graph.getSelectedElement(),"TABLE",this.textarea)};mxCellEditor.prototype.isTextSelected=function(){var q="";window.getSelection?q=window.getSelection():document.getSelection?q=document.getSelection():document.selection&&(q=document.selection.createRange().text); +return""!=q};mxCellEditor.prototype.insertTab=function(q){var A=this.textarea.ownerDocument.defaultView.getSelection(),B=A.getRangeAt(0);q=Graph.createTabNode(q);B.insertNode(q);B.setStartAfter(q);B.setEndAfter(q);A.removeAllRanges();A.addRange(B)};mxCellEditor.prototype.alignText=function(q,A){var B=this.graph.getView().getState(this.editingCell);if(null!=B){B=mxUtils.getValue(B.style,mxConstants.STYLE_TEXT_DIRECTION,mxConstants.DEFAULT_TEXT_DIRECTION);var F=null!=B&&"vertical-"==B.substring(0,9), +N=null!=A&&mxEvent.isShiftDown(A);if(N||null!=window.getSelection&&null!=window.getSelection().containsNode){var R=!0;this.graph.processElements(this.textarea,function(X){N||F||window.getSelection().containsNode(X,!0)?(X.removeAttribute("align"),X.style.textAlign=null):R=!1});(R||F)&&this.graph.cellEditor.setAlign(q)}F||document.execCommand("justify"+q.toLowerCase(),!1,null)}};mxCellEditor.prototype.saveSelection=function(){if(window.getSelection){var q=window.getSelection();if(q.getRangeAt&&q.rangeCount){for(var A= +[],B=0,F=q.rangeCount;B"):fa,!0);this.textarea.className="mxCellEditor geContentEditable";da=mxUtils.getValue(q.style,mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE); +A=mxUtils.getValue(q.style,mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY);var F=mxUtils.getValue(q.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),N=(mxUtils.getValue(q.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD,R=(mxUtils.getValue(q.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC,X=[];(mxUtils.getValue(q.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&X.push("underline"); +(mxUtils.getValue(q.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_STRIKETHROUGH)==mxConstants.FONT_STRIKETHROUGH&&X.push("line-through");this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(da*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(da)+"px";this.textarea.style.textDecoration=X.join(" ");this.textarea.style.fontWeight=N?"bold":"normal";this.textarea.style.fontStyle=R?"italic":"";this.textarea.style.fontFamily=A;this.textarea.style.textAlign= F;this.textarea.style.padding="0px";this.textarea.innerHTML!=fa&&(this.textarea.innerHTML=fa,0==this.textarea.innerHTML.length&&(this.textarea.innerHTML=this.getEmptyLabelText(),this.clearOnChange=0
"));fa=Graph.sanitizeHtml(A?fa.replace(/\n/g,"").replace(/<br\s*.?>/g,"
"):fa,!0);this.textarea.className="mxCellEditor mxPlainTextEditor";var da=mxConstants.DEFAULT_FONTSIZE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(da*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize= Math.round(da)+"px";this.textarea.style.textDecoration="";this.textarea.style.fontWeight="normal";this.textarea.style.fontStyle="";this.textarea.style.fontFamily=mxConstants.DEFAULT_FONTFAMILY;this.textarea.style.textAlign="left";this.textarea.style.width="";this.textarea.style.padding="2px";this.textarea.innerHTML!=fa&&(this.textarea.innerHTML=fa);this.codeViewMode=!0}this.textarea.focus();null!=this.switchSelectionState&&this.restoreSelection(this.switchSelectionState);this.switchSelectionState= -B;this.resize()}};var T=mxCellEditor.prototype.resize;mxCellEditor.prototype.resize=function(p,A){if(null!=this.textarea)if(p=this.graph.getView().getState(this.editingCell),this.codeViewMode&&null!=p){var B=p.view.scale;this.bounds=mxRectangle.fromRectangle(p);if(0==this.bounds.width&&0==this.bounds.height){this.bounds.width=160*B;this.bounds.height=60*B;var F=null!=p.text?p.text.margin:null;null==F&&(F=mxUtils.getAlignmentAsPoint(mxUtils.getValue(p.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER), -mxUtils.getValue(p.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE)));this.bounds.x+=F.x*this.bounds.width;this.bounds.y+=F.y*this.bounds.height}this.textarea.style.width=Math.round((this.bounds.width-4)/B)+"px";this.textarea.style.height=Math.round((this.bounds.height-4)/B)+"px";this.textarea.style.overflow="auto";this.textarea.clientHeight"));return Graph.sanitizeHtml(B,!0)};mxCellEditorSetEditingValue=mxCellEditor.prototype.setEditingValue;mxCellEditor.prototype.setEditingValue= -function(p,A){mxCellEditorSetEditingValue.apply(this,arguments);"1"==mxUtils.getValue(p.style,"html","0")&&Graph.addLightDarkColors(this.textarea,Graph.backupStyleAttribute,"simple"==this.graph.getAdaptiveColors())};mxCellEditorGetCurrentValue=mxCellEditor.prototype.getCurrentValue;mxCellEditor.prototype.getCurrentValue=function(p){if("0"==mxUtils.getValue(p.style,"html","0"))return mxCellEditorGetCurrentValue.apply(this,arguments);Graph.removeLightDarkColors(this.textarea,Graph.backupStyleAttribute); -var A=Graph.sanitizeHtml(this.textarea.innerHTML,!0);"1"==mxUtils.getValue(p.style,"nl2Br","1")?(A=A.replace(/\r\n/g,"
").replace(/\n/g,"
"),0"==A.substring(A.length-5)||"
"==A.substring(A.length-4))&&(A=A.substring(0,A.lastIndexOf("
")):A=A.replace(/\r\n/g,"").replace(/\n/g,"");return A};var K=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(p){this.codeViewMode&&this.toggleViewMode();K.apply(this,arguments);this.focusContainer()}; -mxCellEditor.prototype.focusContainer=function(){try{this.graph.container.focus()}catch(p){}};var U=mxCellEditor.prototype.applyValue;mxCellEditor.prototype.applyValue=function(p,A){this.graph.getModel().beginUpdate();try{U.apply(this,arguments),""==A&&this.graph.isCellDeletable(p.cell)&&0==this.graph.model.getChildCount(p.cell)&&this.graph.isTransparentState(p)&&this.graph.removeCells([p.cell],!1)}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor=function(p){p= -mxUtils.getValue(p.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,null);p==mxConstants.NONE&&(p=null);return p};mxCellEditor.prototype.getBorderColor=function(p){p=mxUtils.getValue(p.style,mxConstants.STYLE_LABEL_BORDERCOLOR,null);p==mxConstants.NONE&&(p=null);return p};mxCellEditor.prototype.getMinimumSize=function(p){var A=this.graph.getView().scale;return new mxRectangle(0,0,null==p.text?30:p.text.size*A+20,30)};mxGraphHandlerIsValidDropTarget=mxGraphHandler.prototype.isValidDropTarget;mxGraphHandler.prototype.isValidDropTarget= -function(p,A){return mxGraphHandlerIsValidDropTarget.apply(this,arguments)&&!mxEvent.isAltDown(A.getEvent)};mxGraphView.prototype.formatUnitText=function(p){return p?b(p,this.unit):p};mxGraphHandler.prototype.updateHint=function(p){if(null!=this.pBounds&&(null!=this.shape||this.livePreviewActive)){null==this.hint&&(this.hint=a(),this.graph.container.appendChild(this.hint));var A=this.graph.view.translate,B=this.graph.view.scale;p=this.roundLength((this.bounds.x+this.currentDx)/B-A.x);A=this.roundLength((this.bounds.y+ -this.currentDy)/B-A.y);B=this.graph.view.unit;this.hint.innerHTML=b(p,B)+", "+b(A,B);this.hint.style.left=this.pBounds.x+this.currentDx+Math.round((this.pBounds.width-this.hint.clientWidth)/2)+"px";this.hint.style.top=this.pBounds.y+this.currentDy+this.pBounds.height+Editor.hintOffset+"px"}};mxGraphHandler.prototype.removeHint=function(){null!=this.hint&&(null!=this.hint.parentNode&&this.hint.parentNode.removeChild(this.hint),this.hint=null)};var Y=mxStackLayout.prototype.resizeCell;mxStackLayout.prototype.resizeCell= -function(p,A){Y.apply(this,arguments);var B=this.graph.getCellStyle(p);if(null==B.childLayout){var F=this.graph.model.getParent(p),N=null!=F?this.graph.getCellGeometry(F):null;if(null!=N&&(B=this.graph.getCellStyle(F),"stackLayout"==B.childLayout)){var R=parseFloat(mxUtils.getValue(B,"stackBorder",mxStackLayout.prototype.border));B="1"==mxUtils.getValue(B,"horizontalStack","1");var X=this.graph.getActualStartSize(F);N=N.clone();B?N.height=A.height+X.y+X.height+2*R:N.width=A.width+X.x+X.width+2*R; -this.graph.model.setGeometry(F,N)}}};var Q=mxSelectionCellsHandler.prototype.getHandledSelectionCells;mxSelectionCellsHandler.prototype.getHandledSelectionCells=function(){function p(fa){B.get(fa)||(B.put(fa,!0),N.push(fa))}for(var A=Q.apply(this,arguments),B=new mxDictionary,F=this.graph.model,N=[],R=0;R"));return Graph.sanitizeHtml(B,!0)};mxCellEditorSetEditingValue=mxCellEditor.prototype.setEditingValue;mxCellEditor.prototype.setEditingValue= +function(q,A){mxCellEditorSetEditingValue.apply(this,arguments);"1"==mxUtils.getValue(q.style,"html","0")&&Graph.addLightDarkColors(this.textarea,Graph.backupStyleAttribute,"simple"==this.graph.getAdaptiveColors())};mxCellEditorGetCurrentValue=mxCellEditor.prototype.getCurrentValue;mxCellEditor.prototype.getCurrentValue=function(q){if("0"==mxUtils.getValue(q.style,"html","0"))return mxCellEditorGetCurrentValue.apply(this,arguments);Graph.removeLightDarkColors(this.textarea,Graph.backupStyleAttribute); +var A=Graph.sanitizeHtml(this.textarea.innerHTML,!0);"1"==mxUtils.getValue(q.style,"nl2Br","1")?(A=A.replace(/\r\n/g,"
").replace(/\n/g,"
"),0"==A.substring(A.length-5)||"
"==A.substring(A.length-4))&&(A=A.substring(0,A.lastIndexOf("
")):A=A.replace(/\r\n/g,"").replace(/\n/g,"");return A};var K=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(q){this.codeViewMode&&this.toggleViewMode();K.apply(this,arguments);this.focusContainer()}; +mxCellEditor.prototype.focusContainer=function(){try{this.graph.container.focus()}catch(q){}};var U=mxCellEditor.prototype.applyValue;mxCellEditor.prototype.applyValue=function(q,A){this.graph.getModel().beginUpdate();try{U.apply(this,arguments),""==A&&this.graph.isCellDeletable(q.cell)&&0==this.graph.model.getChildCount(q.cell)&&this.graph.isTransparentState(q)&&this.graph.removeCells([q.cell],!1)}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor=function(q){q= +mxUtils.getValue(q.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,null);q==mxConstants.NONE&&(q=null);return q};mxCellEditor.prototype.getBorderColor=function(q){q=mxUtils.getValue(q.style,mxConstants.STYLE_LABEL_BORDERCOLOR,null);q==mxConstants.NONE&&(q=null);return q};mxCellEditor.prototype.getMinimumSize=function(q){var A=this.graph.getView().scale;return new mxRectangle(0,0,null==q.text?30:q.text.size*A+20,30)};mxGraphHandlerIsValidDropTarget=mxGraphHandler.prototype.isValidDropTarget;mxGraphHandler.prototype.isValidDropTarget= +function(q,A){return mxGraphHandlerIsValidDropTarget.apply(this,arguments)&&!mxEvent.isAltDown(A.getEvent)};mxGraphView.prototype.formatUnitText=function(q){return q?b(q,this.unit):q};mxGraphHandler.prototype.updateHint=function(q){if(null!=this.pBounds&&(null!=this.shape||this.livePreviewActive)){null==this.hint&&(this.hint=a(),this.graph.container.appendChild(this.hint));var A=this.graph.view.translate,B=this.graph.view.scale;q=this.roundLength((this.bounds.x+this.currentDx)/B-A.x);A=this.roundLength((this.bounds.y+ +this.currentDy)/B-A.y);B=this.graph.view.unit;this.hint.innerHTML=b(q,B)+", "+b(A,B);this.hint.style.left=this.pBounds.x+this.currentDx+Math.round((this.pBounds.width-this.hint.clientWidth)/2)+"px";this.hint.style.top=this.pBounds.y+this.currentDy+this.pBounds.height+Editor.hintOffset+"px"}};mxGraphHandler.prototype.removeHint=function(){null!=this.hint&&(null!=this.hint.parentNode&&this.hint.parentNode.removeChild(this.hint),this.hint=null)};var Y=mxStackLayout.prototype.resizeCell;mxStackLayout.prototype.resizeCell= +function(q,A){Y.apply(this,arguments);var B=this.graph.getCellStyle(q);if(null==B.childLayout){var F=this.graph.model.getParent(q),N=null!=F?this.graph.getCellGeometry(F):null;if(null!=N&&(B=this.graph.getCellStyle(F),"stackLayout"==B.childLayout)){var R=parseFloat(mxUtils.getValue(B,"stackBorder",mxStackLayout.prototype.border));B="1"==mxUtils.getValue(B,"horizontalStack","1");var X=this.graph.getActualStartSize(F);N=N.clone();B?N.height=A.height+X.y+X.height+2*R:N.width=A.width+X.x+X.width+2*R; +this.graph.model.setGeometry(F,N)}}};var Q=mxSelectionCellsHandler.prototype.getHandledSelectionCells;mxSelectionCellsHandler.prototype.getHandledSelectionCells=function(){function q(fa){B.get(fa)||(B.put(fa,!0),N.push(fa))}for(var A=Q.apply(this,arguments),B=new mxDictionary,F=this.graph.model,N=[],R=0;Rp;p++){var A=new mxRectangleShape(new mxRectangle(0,0,6,6),"#ffffff",mxConstants.HANDLE_STROKECOLOR);A.dialect=mxConstants.DIALECT_SVG;A.init(this.graph.view.getOverlayPane()); -this.cornerHandles.push(A)}}this.graph.isTable(this.state.cell)&&this.graph.isCellMovable(this.state.cell)&&this.refreshMoveHandles();p=this.graph.getLinkForCell(this.state.cell);A=this.graph.getLinksForState(this.state);this.updateLinkHint(p,A)};var H=mxVertexHandler.prototype.getHandlePadding;mxVertexHandler.prototype.getHandlePadding=function(){var p=new mxPoint(0,0),A=this.tolerance,B=this.state.style.shape;null==mxCellRenderer.defaultShapes[B]&&mxStencilRegistry.getStencil(B);B=this.graph.isTable(this.state.cell)|| +this.graph.isMouseDown=!0);mxEvent.consume(X)}),null,mxUtils.bind(this,function(X){mxEvent.isPopupTrigger(X)&&(this.graph.popupMenuHandler.popup(mxEvent.getClientX(X),mxEvent.getClientY(X),N.cell,X),mxEvent.consume(X))}));B.push(R)}else B.push(null)})(this.graph.view.getState(A.getChildAt(this.state.cell,F)));return B};mxVertexHandler.prototype.destroyMoveHandles=function(){if(null!=this.moveHandles){for(var q=0;qq;q++){var A=new mxRectangleShape(new mxRectangle(0,0,6,6),"#ffffff",mxConstants.HANDLE_STROKECOLOR);A.dialect=mxConstants.DIALECT_SVG;A.init(this.graph.view.getOverlayPane()); +this.cornerHandles.push(A)}}this.graph.isTable(this.state.cell)&&this.graph.isCellMovable(this.state.cell)&&this.refreshMoveHandles();q=this.graph.getLinkForCell(this.state.cell);A=this.graph.getLinksForState(this.state);this.updateLinkHint(q,A)};var H=mxVertexHandler.prototype.getHandlePadding;mxVertexHandler.prototype.getHandlePadding=function(){var q=new mxPoint(0,0),A=this.tolerance,B=this.state.style.shape;null==mxCellRenderer.defaultShapes[B]&&mxStencilRegistry.getStencil(B);B=this.graph.isTable(this.state.cell)|| this.graph.cellEditor.getEditingCell()==this.state.cell;if(!B&&null!=this.customHandles)for(var F=0;F'); +this.hint.innerHTML="["+Math.round(100*B.x)+"%, "+Math.round(100*B.y)+"%]"):this.marker.hasValidState()&&(this.hint.style.visibility="hidden");this.hint.style.left=Math.round(q.getGraphX()-this.hint.clientWidth/2)+"px";this.hint.style.top=Math.max(q.getGraphY(),A.y)+Editor.hintOffset+"px";null!=this.linkHint&&(this.linkHint.style.display="none")};Graph.prototype.expandedImage=Graph.createSvgImage(9,9,''); Graph.prototype.collapsedImage=Graph.createSvgImage(9,9,'');mxEdgeHandler.prototype.removeHint=mxVertexHandler.prototype.removeHint;HoverIcons.prototype.mainHandle= Graph.createSvgImage(18,18,'');HoverIcons.prototype.endMainHandle=Graph.createSvgImage(18,18,'');HoverIcons.prototype.secondaryHandle=Graph.createSvgImage(16,16,'');HoverIcons.prototype.fixedHandle=Graph.createSvgImage(22,22,''); HoverIcons.prototype.endFixedHandle=Graph.createSvgImage(22,22,'');HoverIcons.prototype.terminalHandle=Graph.createSvgImage(22,22,'');HoverIcons.prototype.endTerminalHandle=Graph.createSvgImage(22,22,'R||Math.abs(N)>R)null==this.div&&(this.div=this.createShape()),mxUtils.clearSelection(),this.update(p,B),this.isSpaceEvent(A)?(p=this.x+this.width,B=this.y+this.height,F=this.graph.view.scale,mxEvent.isAltDown(A.getEvent())||(this.width=this.graph.snap(this.width/ -F)*F,this.height=this.graph.snap(this.height/F)*F,this.graph.isGridEnabled()||(this.widthR||Math.abs(N)>R)null==this.div&&(this.div=this.createShape()),mxUtils.clearSelection(),this.update(q,B),this.isSpaceEvent(A)?(q=this.x+this.width,B=this.y+this.height,F=this.graph.view.scale,mxEvent.isAltDown(A.getEvent())||(this.width=this.graph.snap(this.width/ +F)*F,this.height=this.graph.snap(this.height/F)*F,this.graph.isGridEnabled()||(this.width=this.width?"0px 1px 0px 0px":"0px 1px 0px 1px",null==this.secondDiv&&(this.secondDiv=this.div.cloneNode(!0),this.div.parentNode.appendChild(this.secondDiv)),this.secondDiv.style.left=this.x+"px",this.secondDiv.style.top=this.y+"px",this.secondDiv.style.width=this.graph.container.clientWidth+"px",this.secondDiv.style.height=Math.max(0,this.height)+"px",this.secondDiv.style.borderWidth=0>=this.height?"1px 0px 0px 0px":"1px 0px 1px 0px"):(this.div.style.backgroundColor= -"",this.div.style.borderWidth="",this.div.style.borderStyle="",null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null)),A.consume()}};var Pa=mxRubberband.prototype.reset;mxRubberband.prototype.reset=function(){null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null);Pa.apply(this,arguments)};var ma=(new Date).getTime(),Ca=0,Da=mxEdgeHandler.prototype.updatePreviewState;mxEdgeHandler.prototype.updatePreviewState=function(p, -A,B,F){Da.apply(this,arguments);B!=this.currentTerminalState?(ma=(new Date).getTime(),Ca=0):Ca=(new Date).getTime()-ma;this.currentTerminalState=B};var Ga=mxEdgeHandler.prototype.isOutlineConnectEvent;mxEdgeHandler.prototype.isOutlineConnectEvent=function(p){return mxEvent.isShiftDown(p.getEvent())&&mxEvent.isAltDown(p.getEvent())?!1:null!=this.currentTerminalState&&p.getState()==this.currentTerminalState&&2E3=this.state.absolutePoints.length-1||this.constructor==mxElbowEdgeHandler&&2==p)?this.graph.getConnectionConstraint(this.state,F,A):null;B=null!=(null!=p?this.graph.getConnectionPoint(this.state.getVisibleTerminalState(A),p):null)?B?this.endFixedHandleImage:this.fixedHandleImage: -null!=p&&null!=F?B?this.endTerminalHandleImage:this.terminalHandleImage:B?this.endHandleImage:this.handleImage;if(null!=B)return B=new mxImageShape(new mxRectangle(0,0,B.width,B.height),B.src),B.preserveImageAspect=!1,B;B=mxConstants.HANDLE_SIZE;this.preferHtml&&--B;return new mxRectangleShape(new mxRectangle(0,0,B,B),mxConstants.HANDLE_FILLCOLOR,mxConstants.HANDLE_STROKECOLOR)};var Ia=mxVertexHandler.prototype.createSizerShape;mxVertexHandler.prototype.createSizerShape=function(p,A,B,F){F=A==mxEvent.ROTATION_HANDLE? -HoverIcons.prototype.rotationHandle:A==mxEvent.LABEL_HANDLE?this.secondaryHandleImage:F;return Ia.apply(this,arguments)};var Ha=mxGraphHandler.prototype.getBoundingBox;mxGraphHandler.prototype.getBoundingBox=function(p){if(null!=p&&1==p.length){var A=this.graph.getModel(),B=A.getParent(p[0]),F=this.graph.getCellGeometry(p[0]);if(A.isEdge(B)&&null!=F&&F.relative&&(A=this.graph.view.getState(p[0]),null!=A&&2>A.width&&2>A.height&&null!=A.text&&null!=A.text.boundingBox))return mxRectangle.fromRectangle(A.text.boundingBox)}return Ha.apply(this, -arguments)};var Ja=mxGraphHandler.prototype.getGuideStates;mxGraphHandler.prototype.getGuideStates=function(){for(var p=Ja.apply(this,arguments),A=[],B=0;Bp.width&&2>p.height&&null!= -p.text&&null!=p.text.boundingBox?(A=p.text.unrotatedBoundingBox||p.text.boundingBox,new mxRectangle(Math.round(A.x),Math.round(A.y),Math.round(A.width),Math.round(A.height))):ta.apply(this,arguments)};var La=mxVertexHandler.prototype.mouseDown;mxVertexHandler.prototype.mouseDown=function(p,A){var B=this.graph.getModel(),F=B.getParent(this.state.cell),N=this.graph.getCellGeometry(this.state.cell);(this.getHandleForEvent(A)==mxEvent.ROTATION_HANDLE||!B.isEdge(F)||null==N||!N.relative||null==this.state|| -2<=this.state.width||2<=this.state.height)&&La.apply(this,arguments)};mxVertexHandler.prototype.rotateClick=function(){var p=mxUtils.getValue(this.state.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),A=mxUtils.getValue(this.state.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);this.state.view.graph.model.isVertex(this.state.cell)&&p==mxConstants.NONE&&A==mxConstants.NONE?(p=mxUtils.mod(mxUtils.getValue(this.state.style,mxConstants.STYLE_ROTATION,0)+90,360),this.state.view.graph.setCellStyles(mxConstants.STYLE_ROTATION, -p,[this.state.cell])):this.state.view.graph.turnShapes([this.state.cell])};var Xa=mxVertexHandler.prototype.mouseMove;mxVertexHandler.prototype.mouseMove=function(p,A){Xa.apply(this,arguments);null!=this.graph.graphHandler.first&&(null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display="none"),null!=this.linkHint&&"none"!=this.linkHint.style.display&&(this.linkHint.style.display="none"))};var Ya=mxVertexHandler.prototype.mouseUp;mxVertexHandler.prototype.mouseUp= -function(p,A){Ya.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none");null!=this.linkHint&&"none"==this.linkHint.style.display&&1==this.graph.getSelectionCount()&&(this.linkHint.style.display="");this.blockDelayedSelection=null};mxVertexHandler.prototype.updateLinkHint=function(p,A){try{if(null==p&&(null==A||0==A.length))null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint), -this.linkHint=null);else if(null!=p||null!=A&&0=this.state.absolutePoints.length-1||this.constructor==mxElbowEdgeHandler&&2==q)?this.graph.getConnectionConstraint(this.state,F,A):null;B=null!=(null!=q?this.graph.getConnectionPoint(this.state.getVisibleTerminalState(A),q):null)?B?this.endFixedHandleImage:this.fixedHandleImage: +null!=q&&null!=F?B?this.endTerminalHandleImage:this.terminalHandleImage:B?this.endHandleImage:this.handleImage;if(null!=B)return B=new mxImageShape(new mxRectangle(0,0,B.width,B.height),B.src),B.preserveImageAspect=!1,B;B=mxConstants.HANDLE_SIZE;this.preferHtml&&--B;return new mxRectangleShape(new mxRectangle(0,0,B,B),mxConstants.HANDLE_FILLCOLOR,mxConstants.HANDLE_STROKECOLOR)};var Ia=mxVertexHandler.prototype.createSizerShape;mxVertexHandler.prototype.createSizerShape=function(q,A,B,F){F=A==mxEvent.ROTATION_HANDLE? +HoverIcons.prototype.rotationHandle:A==mxEvent.LABEL_HANDLE?this.secondaryHandleImage:F;return Ia.apply(this,arguments)};var Ha=mxGraphHandler.prototype.getBoundingBox;mxGraphHandler.prototype.getBoundingBox=function(q){if(null!=q&&1==q.length){var A=this.graph.getModel(),B=A.getParent(q[0]),F=this.graph.getCellGeometry(q[0]);if(A.isEdge(B)&&null!=F&&F.relative&&(A=this.graph.view.getState(q[0]),null!=A&&2>A.width&&2>A.height&&null!=A.text&&null!=A.text.boundingBox))return mxRectangle.fromRectangle(A.text.boundingBox)}return Ha.apply(this, +arguments)};var Ja=mxGraphHandler.prototype.getGuideStates;mxGraphHandler.prototype.getGuideStates=function(){for(var q=Ja.apply(this,arguments),A=[],B=0;Bq.width&&2>q.height&&null!= +q.text&&null!=q.text.boundingBox?(A=q.text.unrotatedBoundingBox||q.text.boundingBox,new mxRectangle(Math.round(A.x),Math.round(A.y),Math.round(A.width),Math.round(A.height))):ta.apply(this,arguments)};var La=mxVertexHandler.prototype.mouseDown;mxVertexHandler.prototype.mouseDown=function(q,A){var B=this.graph.getModel(),F=B.getParent(this.state.cell),N=this.graph.getCellGeometry(this.state.cell);(this.getHandleForEvent(A)==mxEvent.ROTATION_HANDLE||!B.isEdge(F)||null==N||!N.relative||null==this.state|| +2<=this.state.width||2<=this.state.height)&&La.apply(this,arguments)};mxVertexHandler.prototype.rotateClick=function(){var q=mxUtils.getValue(this.state.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),A=mxUtils.getValue(this.state.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);this.state.view.graph.model.isVertex(this.state.cell)&&q==mxConstants.NONE&&A==mxConstants.NONE?(q=mxUtils.mod(mxUtils.getValue(this.state.style,mxConstants.STYLE_ROTATION,0)+90,360),this.state.view.graph.setCellStyles(mxConstants.STYLE_ROTATION, +q,[this.state.cell])):this.state.view.graph.turnShapes([this.state.cell])};var Xa=mxVertexHandler.prototype.mouseMove;mxVertexHandler.prototype.mouseMove=function(q,A){Xa.apply(this,arguments);null!=this.graph.graphHandler.first&&(null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display="none"),null!=this.linkHint&&"none"!=this.linkHint.style.display&&(this.linkHint.style.display="none"))};var Ya=mxVertexHandler.prototype.mouseUp;mxVertexHandler.prototype.mouseUp= +function(q,A){Ya.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none");null!=this.linkHint&&"none"==this.linkHint.style.display&&1==this.graph.getSelectionCount()&&(this.linkHint.style.display="");this.blockDelayedSelection=null};mxVertexHandler.prototype.updateLinkHint=function(q,A){try{if(null==q&&(null==A||0==A.length))null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint), +this.linkHint=null);else if(null!=q||null!=A&&0',32,20); +mxEdgeHandler.prototype.redrawHandles=function(){if(null!=this.marker&&(ab.apply(this),null!=this.state&&null!=this.linkHint)){var q=this.state;null!=this.state.text&&null!=this.state.text.bounds&&(q=new mxRectangle(q.x,q.y,q.width,q.height),q.add(this.state.text.bounds));this.linkHint.style.left=q.x+q.width/2+"px";this.linkHint.style.top=Math.round(q.y+q.height+Editor.hintOffset)+"px";this.linkHint.style.display=1',32,20);Format.classicFilledMarkerImage=Graph.createSvgImage(20,22,'',32,20); Format.classicThinFilledMarkerImage=Graph.createSvgImage(20,22,'',32,20);Format.openFilledMarkerImage=Graph.createSvgImage(20,22,'',32,20); Format.openThinFilledMarkerImage=Graph.createSvgImage(20,22,'',32,20);Format.openAsyncFilledMarkerImage=Graph.createSvgImage(20,22,'',32,20); Format.blockFilledMarkerImage=Graph.createSvgImage(20,22,'',32,20);Format.blockThinFilledMarkerImage=Graph.createSvgImage(20,22,'',32,20); @@ -2992,51 +3007,58 @@ Format.ERmandOneMarkerImage=Graph.createSvgImage(20,22,'',32,20);Format.ERzeroToOneMarkerImage=Graph.createSvgImage(20,22,'',32,20); Format.ERzeroToManyMarkerImage=Graph.createSvgImage(20,22,'',32,20);Format.EROneMarkerImage=Graph.createSvgImage(20,22,'',32,20); Format.baseDashMarkerImage=Graph.createSvgImage(20,22,'',32,20);Format.doubleBlockMarkerImage=Graph.createSvgImage(20,22,'',32,20); -Format.doubleBlockFilledMarkerImage=Graph.createSvgImage(20,22,'',32,20);Format.processMenuIcon=function(a,b){var e=a.getElementsByTagName("img");0',32,20);Format.connectionImage=Graph.createSvgImage(20,22,'',42,20); +Format.linkEdgeImage=Graph.createSvgImage(20,22,'',42,20);Format.arrowImage=Graph.createSvgImage(20,22,'',42,20); +Format.simpleArrowImage=Graph.createSvgImage(20,22,'',42,20);Format.straightImage=Graph.createSvgImage(16,18,'',36,36); +Format.orthogonalImage=Graph.createSvgImage(16,18,'',36,36); +Format.horizontalElbowImage=Graph.createSvgImage(16,18,'',36,36); +Format.verticalElbowImage=Graph.createSvgImage(16,18,'',36,36); +Format.horizontalIsometricImage=Graph.createSvgImage(16,18,'',36,36);Format.verticalIsometricImage=Graph.createSvgImage(16,18,'',36,36); +Format.curvedImage=Graph.createSvgImage(16,18,'',36,36);Format.entityImage=Graph.createSvgImage(16,18,'',36,36); +Format.processMenuIcon=function(a,b){var e=a.getElementsByTagName("img");0E;E++)(function(p){mxEvent.addListener(w[p],"click",function(){f(w[p],""==w[p].style.backgroundImage)})})(E);var Ya=mxUtils.bind(this,function(p,A,B){g=h.getSelectionState();p= -mxUtils.getValue(g.style,mxConstants.STYLE_FONTSTYLE,0);f(w[0],(p&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD);f(w[1],(p&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC);f(w[2],(p&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE);u.firstChild.nodeValue=mxUtils.getValue(g.style,mxConstants.STYLE_FONTFAMILY,Menus.prototype.defaultFont);f(z,"0"==mxUtils.getValue(g.style,mxConstants.STYLE_HORIZONTAL,"1"));if(B||document.activeElement!=ja)p=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_FONTSIZE, -Menus.prototype.defaultFontSize)),ja.value=isNaN(p)?"":p+" "+Editor.fontSizeUnit;p=mxUtils.getValue(g.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER);f(D,p==mxConstants.ALIGN_LEFT);f(G,p==mxConstants.ALIGN_CENTER);f(I,p==mxConstants.ALIGN_RIGHT);p=mxUtils.getValue(g.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE);f(T,p==mxConstants.ALIGN_TOP);f(K,p==mxConstants.ALIGN_MIDDLE);f(U,p==mxConstants.ALIGN_BOTTOM);p=mxUtils.getValue(g.style,mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER); -A=mxUtils.getValue(g.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE);ia.value=p==mxConstants.ALIGN_LEFT&&A==mxConstants.ALIGN_TOP?"topLeft":p==mxConstants.ALIGN_CENTER&&A==mxConstants.ALIGN_TOP?"top":p==mxConstants.ALIGN_RIGHT&&A==mxConstants.ALIGN_TOP?"topRight":p==mxConstants.ALIGN_LEFT&&A==mxConstants.ALIGN_BOTTOM?"bottomLeft":p==mxConstants.ALIGN_CENTER&&A==mxConstants.ALIGN_BOTTOM?"bottom":p==mxConstants.ALIGN_RIGHT&&A==mxConstants.ALIGN_BOTTOM?"bottomRight":p==mxConstants.ALIGN_LEFT? -"left":p==mxConstants.ALIGN_RIGHT?"right":"center";p=mxUtils.getValue(g.style,mxConstants.STYLE_TEXT_DIRECTION,mxConstants.DEFAULT_TEXT_DIRECTION);p==mxConstants.TEXT_DIRECTION_RTL?Z.value="rightToLeft":p==mxConstants.TEXT_DIRECTION_LTR?Z.value="leftToRight":p!=mxConstants.TEXT_DIRECTION_AUTO&&g.html?p==mxConstants.TEXT_DIRECTION_VERTICAL_LR?Z.value="vertical-leftToRight":p==mxConstants.TEXT_DIRECTION_VERTICAL_RL&&(Z.value="vertical-rightToLeft"):Z.value="automatic";if(B||document.activeElement!= -Ga)p=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING,2)),Ga.value=isNaN(p)?"":this.inUnit(p)+" "+this.getUnit();if(B||document.activeElement!=Da)p=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING_TOP,0)),Da.value=isNaN(p)?"":this.inUnit(p)+" "+this.getUnit();if(B||document.activeElement!=Ja)p=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING_RIGHT,0)),Ja.value=isNaN(p)?"":this.inUnit(p)+" "+this.getUnit();if(B||document.activeElement!=Ha)p=parseFloat(mxUtils.getValue(g.style, -mxConstants.STYLE_SPACING_BOTTOM,0)),Ha.value=isNaN(p)?"":this.inUnit(p)+" "+this.getUnit();if(B||document.activeElement!=Ia)p=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING_LEFT,0)),Ia.value=isNaN(p)?"":this.inUnit(p)+" "+this.getUnit()});var cb=this.installInputHandler(Ga,mxConstants.STYLE_SPACING,2,-999,999,this.getUnit(" "),null,this.isFloatUnit(),!0);var fb=this.installInputHandler(Da,mxConstants.STYLE_SPACING_TOP,0,-999,999,this.getUnit(" "),null,this.isFloatUnit(),!0);var pb= -this.installInputHandler(Ja,mxConstants.STYLE_SPACING_RIGHT,0,-999,999,this.getUnit(" "),null,this.isFloatUnit(),!0);var gb=this.installInputHandler(Ha,mxConstants.STYLE_SPACING_BOTTOM,0,-999,999,this.getUnit(" "),null,this.isFloatUnit(),!0);var ab=this.installInputHandler(Ia,mxConstants.STYLE_SPACING_LEFT,0,-999,999,this.getUnit(" "),null,this.isFloatUnit(),!0);this.addKeyHandler(ja,Ya);this.addKeyHandler(Ga,Ya);this.addKeyHandler(Da,Ya);this.addKeyHandler(Ja,Ya);this.addKeyHandler(Ha,Ya);this.addKeyHandler(Ia, -Ya);d.getModel().addListener(mxEvent.CHANGE,Ya);this.listeners.push({destroy:function(){d.getModel().removeListener(Ya)}});Ya();if(d.cellEditor.isContentEditing()){var ib=null,eb=!1;m=mxUtils.bind(this,function(){eb||(eb=!0,window.setTimeout(mxUtils.bind(this,function(){var p=d.getSelectedEditingElement();if(null!=p&&null!=d.cellEditor.textarea){var A=function(ya,za){if(null!=ya&&null!=za){if(ya==za)return!0;if(ya.length>za.length+1)return ya.substring(ya.length-za.length-1,ya.length)=="-"+za}return!1}, -B=function(ya){if(null!=d.getParentByName(p,ya,d.cellEditor.textarea))return!0;for(var za=p;null!=za&&1==za.childNodes.length;)if(za=za.childNodes[0],za.nodeName==ya)return!0;return!1},F=function(ya){for(;null!=ya&&ya!=d.cellEditor.textarea;){if("block"==mxUtils.getCurrentStyle(ya).display)return ya;ya=ya.parentNode}return null},N=mxUtils.getCurrentStyle(p),R=p==d.cellEditor.textarea||""==p.style.lineHeight?null:p.style.lineHeight,X=p==d.cellEditor.textarea||""==p.style.fontSize?null:b(N);if(window.getSelection)for(var fa= -p.getElementsByTagName("*"),da=window.getSelection(),ha=0;haE;E++)(function(q){mxEvent.addListener(x[q], +"click",function(){f(x[q],""==x[q].style.backgroundImage)})})(E);var Ya=mxUtils.bind(this,function(q,A,B){g=h.getSelectionState();q=mxUtils.getValue(g.style,mxConstants.STYLE_FONTSTYLE,0);f(x[0],(q&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD);f(x[1],(q&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC);f(x[2],(q&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE);u.firstChild.nodeValue=mxUtils.getValue(g.style,mxConstants.STYLE_FONTFAMILY,Menus.prototype.defaultFont);f(z,"0"==mxUtils.getValue(g.style, +mxConstants.STYLE_HORIZONTAL,"1"));if(B||document.activeElement!=ja)q=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_FONTSIZE,Menus.prototype.defaultFontSize)),ja.value=isNaN(q)?"":q+" "+Editor.fontSizeUnit;q=mxUtils.getValue(g.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER);f(D,q==mxConstants.ALIGN_LEFT);f(G,q==mxConstants.ALIGN_CENTER);f(I,q==mxConstants.ALIGN_RIGHT);q=mxUtils.getValue(g.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE);f(T,q==mxConstants.ALIGN_TOP); +f(K,q==mxConstants.ALIGN_MIDDLE);f(U,q==mxConstants.ALIGN_BOTTOM);q=mxUtils.getValue(g.style,mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER);A=mxUtils.getValue(g.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE);ia.value=q==mxConstants.ALIGN_LEFT&&A==mxConstants.ALIGN_TOP?"topLeft":q==mxConstants.ALIGN_CENTER&&A==mxConstants.ALIGN_TOP?"top":q==mxConstants.ALIGN_RIGHT&&A==mxConstants.ALIGN_TOP?"topRight":q==mxConstants.ALIGN_LEFT&&A==mxConstants.ALIGN_BOTTOM?"bottomLeft": +q==mxConstants.ALIGN_CENTER&&A==mxConstants.ALIGN_BOTTOM?"bottom":q==mxConstants.ALIGN_RIGHT&&A==mxConstants.ALIGN_BOTTOM?"bottomRight":q==mxConstants.ALIGN_LEFT?"left":q==mxConstants.ALIGN_RIGHT?"right":"center";q=mxUtils.getValue(g.style,mxConstants.STYLE_TEXT_DIRECTION,mxConstants.DEFAULT_TEXT_DIRECTION);q==mxConstants.TEXT_DIRECTION_RTL?Z.value="rightToLeft":q==mxConstants.TEXT_DIRECTION_LTR?Z.value="leftToRight":q!=mxConstants.TEXT_DIRECTION_AUTO&&g.html?q==mxConstants.TEXT_DIRECTION_VERTICAL_LR? +Z.value="vertical-leftToRight":q==mxConstants.TEXT_DIRECTION_VERTICAL_RL&&(Z.value="vertical-rightToLeft"):Z.value="automatic";if(B||document.activeElement!=Fa)q=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING,2)),Fa.value=isNaN(q)?"":this.inUnit(q)+" "+this.getUnit();if(B||document.activeElement!=Ca)q=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING_TOP,0)),Ca.value=isNaN(q)?"":this.inUnit(q)+" "+this.getUnit();if(B||document.activeElement!=Ja)q=parseFloat(mxUtils.getValue(g.style, +mxConstants.STYLE_SPACING_RIGHT,0)),Ja.value=isNaN(q)?"":this.inUnit(q)+" "+this.getUnit();if(B||document.activeElement!=Ha)q=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING_BOTTOM,0)),Ha.value=isNaN(q)?"":this.inUnit(q)+" "+this.getUnit();if(B||document.activeElement!=Ia)q=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING_LEFT,0)),Ia.value=isNaN(q)?"":this.inUnit(q)+" "+this.getUnit()});var cb=this.installInputHandler(Fa,mxConstants.STYLE_SPACING,2,-999,999,this.getUnit(" "), +null,this.isFloatUnit(),!0);var fb=this.installInputHandler(Ca,mxConstants.STYLE_SPACING_TOP,0,-999,999,this.getUnit(" "),null,this.isFloatUnit(),!0);var pb=this.installInputHandler(Ja,mxConstants.STYLE_SPACING_RIGHT,0,-999,999,this.getUnit(" "),null,this.isFloatUnit(),!0);var gb=this.installInputHandler(Ha,mxConstants.STYLE_SPACING_BOTTOM,0,-999,999,this.getUnit(" "),null,this.isFloatUnit(),!0);var ab=this.installInputHandler(Ia,mxConstants.STYLE_SPACING_LEFT,0,-999,999,this.getUnit(" "),null,this.isFloatUnit(), +!0);this.addKeyHandler(ja,Ya);this.addKeyHandler(Fa,Ya);this.addKeyHandler(Ca,Ya);this.addKeyHandler(Ja,Ya);this.addKeyHandler(Ha,Ya);this.addKeyHandler(Ia,Ya);d.getModel().addListener(mxEvent.CHANGE,Ya);this.listeners.push({destroy:function(){d.getModel().removeListener(Ya)}});Ya();if(d.cellEditor.isContentEditing()){var ib=null,eb=!1;m=mxUtils.bind(this,function(){eb||(eb=!0,window.setTimeout(mxUtils.bind(this,function(){var q=d.getSelectedEditingElement();if(null!=q&&null!=d.cellEditor.textarea){var A= +function(ya,Ga){if(null!=ya&&null!=Ga){if(ya==Ga)return!0;if(ya.length>Ga.length+1)return ya.substring(ya.length-Ga.length-1,ya.length)=="-"+Ga}return!1},B=function(ya){if(null!=d.getParentByName(q,ya,d.cellEditor.textarea))return!0;for(var Ga=q;null!=Ga&&1==Ga.childNodes.length;)if(Ga=Ga.childNodes[0],Ga.nodeName==ya)return!0;return!1},F=function(ya){for(;null!=ya&&ya!=d.cellEditor.textarea;){if("block"==mxUtils.getCurrentStyle(ya).display)return ya;ya=ya.parentNode}return null},N=mxUtils.getCurrentStyle(q), +R=q==d.cellEditor.textarea||""==q.style.lineHeight?null:q.style.lineHeight,X=q==d.cellEditor.textarea||""==q.style.fontSize?null:b(N);if(window.getSelection)for(var fa=q.getElementsByTagName("*"),da=window.getSelection(),ha=0;haC){L=function(Y){mxEvent.addListener(Y,"mouseenter",function(){Y.style.opacity= "1"});mxEvent.addListener(Y,"mouseleave",function(){Y.style.opacity="0.5"})};var K=document.createElement("div");K.className="geAdaptiveAsset";K.style.position="absolute";K.style.left="0px";K.style.top="0px";K.style.bottom="0px";K.style.width="24px";K.style.height="24px";K.style.margin="0px";K.style.cursor="pointer";K.style.opacity="0.5";K.style.backgroundRepeat="no-repeat";K.style.backgroundPosition="center center";K.style.backgroundSize="24px 24px";K.style.backgroundImage="url("+Editor.previousImage+ ")";var U=K.cloneNode(!1);U.style.backgroundImage="url("+Editor.nextImage+")";U.style.left="";U.style.right="2px";I.appendChild(K);I.appendChild(U);mxEvent.addListener(K,"click",mxUtils.bind(this,function(){G(mxUtils.mod(this.format.currentStylePage-1,C))}));mxEvent.addListener(U,"click",mxUtils.bind(this,function(){G(mxUtils.mod(this.format.currentStylePage+1,C))}));L(K);L(U)}}else D();return a};DiagramFormatPanel=function(a,b,e){BaseFormatPanel.call(this,a,b,e);this.init()}; @@ -3275,43 +3296,43 @@ a.appendChild(this.createOption(mxResources.get("connectionPoints"),function(){r {install:function(f){this.listener=function(){f(e.graphHandler.guidesEnabled)};b.addListener("guidesEnabledChanged",this.listener)},destroy:function(){b.removeListener(this.listener)}})));return a}; DiagramFormatPanel.prototype.addGridOption=function(a){function b(k){var u=e.isFloatUnit()?parseFloat(d.value):parseInt(d.value);u=e.fromUnit(Math.max(e.inUnit(1),isNaN(u)?e.inUnit(10):u));u!=h.getGridSize()&&(mxGraph.prototype.gridSize=u,h.setGridSize(u));d.value=e.inUnit(u)+" "+e.getUnit();mxEvent.consume(k)}var e=this,f=this.editorUi,h=f.editor.graph,d=document.createElement("input");d.style.position="absolute";d.style.textAlign="right";d.style.width="48px";d.style.marginTop="-2px";d.style.height= "21px";d.style.borderWidth="1px";d.style.borderStyle="solid";d.style.boxSizing="border-box";d.value=this.inUnit(h.getGridSize())+" "+this.getUnit();var g=this.createStepper(d,b,this.getUnitStep(),null,null,null,this.isFloatUnit());d.style.display=h.isGridEnabled()?"":"none";g.style.display=d.style.display;mxEvent.addListener(d,"keydown",function(k){13==k.keyCode?(h.container.focus(),mxEvent.consume(k)):27==k.keyCode&&(d.value=h.getGridSize(),h.container.focus(),mxEvent.consume(k))});mxEvent.addListener(d, -"blur",b);mxEvent.addListener(d,"change",b);d.style.left="104px";g.style.marginTop=mxClient.IS_MAC&&mxClient.IS_GC?"-16px":mxClient.IS_WIN?"-18px":"-17px";g.style.left="152px";var m="none"!=h.getAdaptiveColors()?null:!1,q=this.createColorOption(mxResources.get("grid"),function(){return h.isGridEnabled()?h.view.gridColor:null},function(k){var u=h.isGridEnabled();k==mxConstants.NONE?h.setGridEnabled(!1):(h.setGridEnabled(!0),f.setGridColor(k,m));d.style.display=h.isGridEnabled()?"":"none";g.style.display= -d.style.display;u!=h.isGridEnabled()&&(h.defaultGridEnabled=h.isGridEnabled(),f.fireEvent(new mxEventObject("gridEnabledChanged")))},h.view.gridColor,{install:function(k){this.listener=function(){k(h.isGridEnabled()?h.view.gridColor:mxConstants.NONE)};f.addListener("gridColorChanged",this.listener);f.addListener("gridEnabledChanged",this.listener)},destroy:function(){f.removeListener(this.listener)}},null,null,null,!0,m);q.style.padding="6px 0 0 0";q.appendChild(d);q.appendChild(g);a.appendChild(q)}; -DiagramFormatPanel.prototype.addDocumentProperties=function(a){a.appendChild(this.createTitle(mxResources.get("options")));return a}; +"blur",b);mxEvent.addListener(d,"change",b);d.style.left="104px";g.style.marginTop="-2px";g.style.left="152px";var m=function(){return"none"!=h.getAdaptiveColors()&&Editor.isDarkMode()},p="light-dark("+mxGraphView.prototype.defaultGridColor+","+mxGraphView.prototype.defaultDarkGridColor+")";p=this.createColorOption(mxResources.get("grid"),function(){return h.isGridEnabled()?h.view.gridColor:null},function(k){var u=h.isGridEnabled();k==mxConstants.NONE?h.setGridEnabled(!1):(h.setGridEnabled(!0),f.setGridColor(k, +m()));d.style.display=h.isGridEnabled()?"":"none";g.style.display=d.style.display;u!=h.isGridEnabled()&&(h.defaultGridEnabled=h.isGridEnabled(),f.fireEvent(new mxEventObject("gridEnabledChanged")))},h.view.gridColor,{install:function(k){this.listener=function(){k(h.isGridEnabled()?h.view.gridColor:mxConstants.NONE)};f.addListener("darkModeChanged",this.listener);f.addListener("gridColorChanged",this.listener);f.addListener("gridEnabledChanged",this.listener)},destroy:function(){f.removeListener(this.listener)}}, +null,null,p,!0,m);p.style.padding="6px 0 0 0";p.appendChild(d);p.appendChild(g);a.appendChild(p)};DiagramFormatPanel.prototype.addDocumentProperties=function(a){a.appendChild(this.createTitle(mxResources.get("options")));return a}; DiagramFormatPanel.prototype.addPaperSize=function(a){var b=this.editorUi,e=b.editor.graph;a.appendChild(this.createTitle(mxResources.get("paperSize")));var f=PageSetupDialog.addPageFormatPanel(a,"formatpanel",e.pageFormat,function(d){if(null==e.pageFormat||e.pageFormat.width!=d.width||e.pageFormat.height!=d.height)d=new ChangePageSetup(b,null,null,d),d.ignoreColor=!0,d.ignoreImage=!0,e.model.execute(d)});this.addKeyHandler(f.widthInput,function(){f.set(e.pageFormat)});this.addKeyHandler(f.heightInput, function(){f.set(e.pageFormat)});var h=function(){f.set(e.pageFormat)};b.addListener("pageFormatChanged",h);this.listeners.push({destroy:function(){b.removeListener(h)}});e.getModel().addListener(mxEvent.CHANGE,h);this.listeners.push({destroy:function(){e.getModel().removeListener(h)}});return a};DiagramFormatPanel.prototype.addStyleOps=function(a){this.addActions(a,["editData"]);this.addActions(a,["clearDefaultStyle"]);return a}; -DiagramFormatPanel.prototype.destroy=function(){BaseFormatPanel.prototype.destroy.apply(this,arguments);this.gridEnabledListener&&(this.editorUi.removeListener(this.gridEnabledListener),this.gridEnabledListener=null)};(function(){function a(c,l,t){mxShape.call(this);this.line=c;this.stroke=l;this.strokewidth=null!=t?t:1;this.updateBoundsFromLine()}function b(){mxSwimlane.call(this)}function e(){mxSwimlane.call(this)}function f(){mxCylinder.call(this)}function h(){mxConnector.call(this)}function d(){mxCylinder.call(this)}function g(){mxActor.call(this)}function m(){mxCylinder.call(this)}function q(){mxCylinder.call(this)}function k(){mxCylinder.call(this)}function u(){mxCylinder.call(this)}function w(){mxShape.call(this)} +DiagramFormatPanel.prototype.destroy=function(){BaseFormatPanel.prototype.destroy.apply(this,arguments);this.gridEnabledListener&&(this.editorUi.removeListener(this.gridEnabledListener),this.gridEnabledListener=null)};(function(){function a(c,l,t){mxShape.call(this);this.line=c;this.stroke=l;this.strokewidth=null!=t?t:1;this.updateBoundsFromLine()}function b(){mxSwimlane.call(this)}function e(){mxSwimlane.call(this)}function f(){mxCylinder.call(this)}function h(){mxConnector.call(this)}function d(){mxCylinder.call(this)}function g(){mxActor.call(this)}function m(){mxCylinder.call(this)}function p(){mxCylinder.call(this)}function k(){mxCylinder.call(this)}function u(){mxCylinder.call(this)}function x(){mxShape.call(this)} function z(){mxShape.call(this)}function C(c,l,t,n){mxShape.call(this);this.bounds=c;this.fill=l;this.stroke=t;this.strokewidth=null!=n?n:1}function E(){mxActor.call(this)}function D(){mxCylinder.call(this)}function G(){mxCylinder.call(this)}function I(){mxActor.call(this)}function L(){mxActor.call(this)}function T(){mxActor.call(this)}function K(){mxActor.call(this)}function U(){mxActor.call(this)}function Y(){mxActor.call(this)}function Q(){mxActor.call(this)}function P(c,l){this.canvas=c;this.canvas.setLineJoin("round"); this.canvas.setLineCap("round");this.defaultVariation=l;this.originalLineTo=this.canvas.lineTo;this.canvas.lineTo=mxUtils.bind(this,P.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,P.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,P.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,P.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo;this.canvas.curveTo=mxUtils.bind(this, -P.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,P.prototype.arcTo)}function M(){mxRectangleShape.call(this)}function W(){mxRectangleShape.call(this)}function aa(){mxActor.call(this)}function ia(){mxActor.call(this)}function oa(){mxActor.call(this)}function qa(){mxRectangleShape.call(this)}function O(){mxRectangleShape.call(this)}function Z(){mxCylinder.call(this)}function ca(){mxShape.call(this)}function V(){mxShape.call(this)}function ja(){mxEllipse.call(this)} -function H(){mxShape.call(this)}function ea(){mxShape.call(this)}function la(){mxRectangleShape.call(this)}function sa(){mxShape.call(this)}function Pa(){mxShape.call(this)}function ma(){mxShape.call(this)}function Ca(){mxShape.call(this)}function Da(){mxShape.call(this)}function Ga(){mxCylinder.call(this)}function Ia(){mxCylinder.call(this)}function Ha(){mxRectangleShape.call(this)}function Ja(){mxDoubleEllipse.call(this)}function ta(){mxDoubleEllipse.call(this)}function La(){mxArrowConnector.call(this); -this.spacing=0}function Xa(){mxArrowConnector.call(this);this.spacing=0}function Ya(){mxActor.call(this)}function cb(){mxRectangleShape.call(this)}function fb(){mxActor.call(this)}function pb(){mxActor.call(this)}function gb(){mxActor.call(this)}function ab(){mxActor.call(this)}function ib(){mxActor.call(this)}function eb(){mxActor.call(this)}function p(){mxActor.call(this)}function A(){mxActor.call(this)}function B(){mxActor.call(this)}function F(){mxActor.call(this)}function N(){mxEllipse.call(this)} -function R(){mxEllipse.call(this)}function X(){mxEllipse.call(this)}function fa(){mxRhombus.call(this)}function da(){mxEllipse.call(this)}function ha(){mxEllipse.call(this)}function wa(){mxEllipse.call(this)}function Ma(){mxEllipse.call(this)}function Na(){mxActor.call(this)}function ya(){mxActor.call(this)}function za(){mxActor.call(this)}function va(c,l,t,n){mxShape.call(this);this.bounds=c;this.fill=l;this.stroke=t;this.strokewidth=null!=n?n:1;this.rectStyle="square";this.size=10;this.absoluteCornerSize= -!0;this.indent=2;this.rectOutline="single"}function ua(){mxConnector.call(this)}function Va(c,l,t,n,r,v,x,J,y,ba){x+=y;var S=n.clone();n.x-=r*(2*x+y);n.y-=v*(2*x+y);r*=x+y;v*=x+y;return function(){c.ellipse(S.x-r-x,S.y-v-x,2*x,2*x);ba?c.fillAndStroke():c.stroke()}}mxUtils.extend(a,mxShape);a.prototype.updateBoundsFromLine=function(){var c=null;if(null!=this.line)for(var l=0;lx?"#FFFFFF":"#000000"),c.begin(),c.moveTo(0,0),c.lineTo(n-v,0),c.lineTo(n,v),c.lineTo(v, +!1,w=this.isHorizontal(),J=this.getTitleSize();0==J||this.outline?va.prototype.paintVertexShape.apply(this,arguments):(mxSwimlane.prototype.paintVertexShape.apply(this,arguments),c.translate(-l,-t));v||this.outline||!(w&&Jw?"#FFFFFF":"#000000"),c.begin(),c.moveTo(0,0),c.lineTo(n-v,0),c.lineTo(n,v),c.lineTo(v, v),c.close(),c.fill()),0!=J&&(c.setFillAlpha(Math.abs(J)),c.setFillColor(0>J?"#FFFFFF":"#000000"),c.begin(),c.moveTo(0,0),c.lineTo(v,v),c.lineTo(v,r),c.lineTo(0,r-v),c.close(),c.fill()),c.begin(),c.moveTo(v,r),c.lineTo(v,v),c.lineTo(0,0),c.moveTo(v,v),c.lineTo(n,v),c.end(),c.stroke())};f.prototype.getLabelMargins=function(c){return mxUtils.getValue(this.style,"boundedLbl",!1)?(c=parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale,new mxRectangle(c,c,0,0)):null};mxCellRenderer.registerShape("cube", f);var Qa=Math.tan(mxUtils.toRadians(30)),Ka=(.5-Qa)/2;mxCellRenderer.registerShape("isoRectangle",g);mxUtils.extend(h,mxConnector);h.prototype.paintEdgeShape=function(c,l){var t=this.createMarker(c,l,!0),n=this.createMarker(c,l,!1);c.setDashed(!1);mxPolyline.prototype.paintEdgeShape.apply(this,arguments);null!=this.isDashed&&c.setDashed(this.isDashed,null!=this.style?1==mxUtils.getValue(this.style,mxConstants.STYLE_FIX_DASH,!1):!1);c.setShadow(!1);c.setStrokeColor(this.fill);mxPolyline.prototype.paintEdgeShape.apply(this, arguments);c.setStrokeColor(this.stroke);c.setFillColor(this.stroke);c.setDashed(!1);null!=t&&t();null!=n&&n()};mxCellRenderer.registerShape("wire",h);mxUtils.extend(d,mxCylinder);d.prototype.size=6;d.prototype.paintVertexShape=function(c,l,t,n,r){c.setFillColor(this.stroke);var v=Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size))-2)+2*this.strokewidth;c.ellipse(l+.5*(n-v),t+.5*(r-v),v,v);c.fill();c.setFillColor(mxConstants.NONE);c.rect(l,t,n,r);c.fill()};mxCellRenderer.registerShape("waypoint", d);mxUtils.extend(g,mxActor);g.prototype.size=20;g.prototype.redrawPath=function(c,l,t,n,r){l=Math.min(n,r/Qa);c.translate((n-l)/2,(r-l)/2+l/4);c.moveTo(0,.25*l);c.lineTo(.5*l,l*Ka);c.lineTo(l,.25*l);c.lineTo(.5*l,(.5-Ka)*l);c.lineTo(0,.25*l);c.close();c.end()};mxCellRenderer.registerShape("isoRectangle",g);mxUtils.extend(m,mxCylinder);m.prototype.size=20;m.prototype.redrawPath=function(c,l,t,n,r,v){l=Math.min(n,r/(.5+Qa));v?(c.moveTo(0,.25*l),c.lineTo(.5*l,(.5-Ka)*l),c.lineTo(l,.25*l),c.moveTo(.5* -l,(.5-Ka)*l),c.lineTo(.5*l,(1-Ka)*l)):(c.translate((n-l)/2,(r-l)/2),c.moveTo(0,.25*l),c.lineTo(.5*l,l*Ka),c.lineTo(l,.25*l),c.lineTo(l,.75*l),c.lineTo(.5*l,(1-Ka)*l),c.lineTo(0,.75*l),c.close());c.end()};mxCellRenderer.registerShape("isoCube",m);mxUtils.extend(q,mxCylinder);q.prototype.redrawPath=function(c,l,t,n,r,v){l=Math.min(r/2,Math.round(r/8)+this.strokewidth-1);if(v&&null!=this.fill||!v&&null==this.fill)c.moveTo(0,l),c.curveTo(0,2*l,n,2*l,n,l),v||(c.stroke(),c.begin()),c.translate(0,l/2),c.moveTo(0, -l),c.curveTo(0,2*l,n,2*l,n,l),v||(c.stroke(),c.begin()),c.translate(0,l/2),c.moveTo(0,l),c.curveTo(0,2*l,n,2*l,n,l),v||(c.stroke(),c.begin()),c.translate(0,-l);v||(c.moveTo(0,l),c.curveTo(0,-l/3,n,-l/3,n,l),c.lineTo(n,r-l),c.curveTo(n,r+l/3,0,r+l/3,0,r-l),c.close())};q.prototype.getLabelMargins=function(c){return new mxRectangle(0,2.5*Math.min(c.height/2,Math.round(c.height/8)+this.strokewidth-1),0,0)};mxCellRenderer.registerShape("datastore",q);mxUtils.extend(k,mxCylinder);k.prototype.size=30;k.prototype.darkOpacity= -0;k.prototype.paintVertexShape=function(c,l,t,n,r){var v=Math.max(0,Math.min(n,Math.min(r,parseFloat(mxUtils.getValue(this.style,"size",this.size))))),x=Math.max(-1,Math.min(1,parseFloat(mxUtils.getValue(this.style,"darkOpacity",this.darkOpacity))));c.translate(l,t);c.begin();c.moveTo(0,0);c.lineTo(n-v,0);c.lineTo(n,v);c.lineTo(n,r);c.lineTo(0,r);c.lineTo(0,0);c.close();c.end();c.fillAndStroke();this.outline||(c.setShadow(!1),0!=x&&(c.setFillAlpha(Math.abs(x)),c.setFillColor(0>x?"#FFFFFF":"#000000"), -c.begin(),c.moveTo(n-v,0),c.lineTo(n-v,v),c.lineTo(n,v),c.close(),c.fill()),c.begin(),c.moveTo(n-v,0),c.lineTo(n-v,v),c.lineTo(n,v),c.end(),c.stroke())};mxCellRenderer.registerShape("note",k);mxUtils.extend(u,k);mxCellRenderer.registerShape("note2",u);u.prototype.getLabelMargins=function(c){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var l=mxUtils.getValue(this.style,"size",15);return new mxRectangle(0,Math.min(c.height*this.scale,l*this.scale),0,0)}return null};mxUtils.extend(w,mxShape);w.prototype.isoAngle= -15;w.prototype.paintVertexShape=function(c,l,t,n,r){var v=Math.max(.01,Math.min(94,parseFloat(mxUtils.getValue(this.style,"isoAngle",this.isoAngle))))*Math.PI/200;v=Math.min(n*Math.tan(v),.5*r);c.translate(l,t);c.begin();c.moveTo(.5*n,0);c.lineTo(n,v);c.lineTo(n,r-v);c.lineTo(.5*n,r);c.lineTo(0,r-v);c.lineTo(0,v);c.close();c.fillAndStroke();c.setShadow(!1);c.begin();c.moveTo(0,v);c.lineTo(.5*n,2*v);c.lineTo(n,v);c.moveTo(.5*n,2*v);c.lineTo(.5*n,r);c.stroke()};mxCellRenderer.registerShape("isoCube2", -w);mxUtils.extend(z,mxShape);z.prototype.size=15;z.prototype.paintVertexShape=function(c,l,t,n,r){var v=Math.max(0,Math.min(.5*r,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c.translate(l,t);0==v?(c.rect(0,0,n,r),c.fillAndStroke()):(c.begin(),c.moveTo(0,v),c.arcTo(.5*n,v,0,0,1,.5*n,0),c.arcTo(.5*n,v,0,0,1,n,v),c.lineTo(n,r-v),c.arcTo(.5*n,v,0,0,1,.5*n,r),c.arcTo(.5*n,v,0,0,1,0,r-v),c.close(),c.fillAndStroke(),c.setShadow(!1),c.begin(),c.moveTo(n,v),c.arcTo(.5*n,v,0,0,1,.5*n,2*v),c.arcTo(.5* -n,v,0,0,1,0,v),c.stroke())};mxCellRenderer.registerShape("cylinder2",z);mxUtils.extend(C,mxCylinder);C.prototype.size=15;C.prototype.paintVertexShape=function(c,l,t,n,r){var v=Math.max(0,Math.min(.5*r,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),x=mxUtils.getValue(this.style,"lid",!0);c.translate(l,t);0==v?(c.rect(0,0,n,r),c.fillAndStroke()):(c.begin(),x?(c.moveTo(0,v),c.arcTo(.5*n,v,0,0,1,.5*n,0),c.arcTo(.5*n,v,0,0,1,n,v)):(c.moveTo(0,0),c.arcTo(.5*n,v,0,0,0,.5*n,v),c.arcTo(.5*n,v, -0,0,0,n,0)),c.lineTo(n,r-v),c.arcTo(.5*n,v,0,0,1,.5*n,r),c.arcTo(.5*n,v,0,0,1,0,r-v),c.close(),c.fillAndStroke(),c.setShadow(!1),x&&(c.begin(),c.moveTo(n,v),c.arcTo(.5*n,v,0,0,1,.5*n,2*v),c.arcTo(.5*n,v,0,0,1,0,v),c.stroke()))};mxCellRenderer.registerShape("cylinder3",C);mxUtils.extend(E,mxActor);E.prototype.redrawPath=function(c,l,t,n,r){c.moveTo(0,0);c.quadTo(n/2,.5*r,n,0);c.quadTo(.5*n,r/2,n,r);c.quadTo(n/2,.5*r,0,r);c.quadTo(.5*n,r/2,0,0);c.end()};mxCellRenderer.registerShape("switch",E);mxUtils.extend(D, -mxCylinder);D.prototype.tabWidth=60;D.prototype.tabHeight=20;D.prototype.tabPosition="right";D.prototype.arcSize=.1;D.prototype.paintVertexShape=function(c,l,t,n,r){c.translate(l,t);l=Math.max(0,Math.min(n,parseFloat(mxUtils.getValue(this.style,"tabWidth",this.tabWidth))));t=Math.max(0,Math.min(r,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));var v=mxUtils.getValue(this.style,"tabPosition",this.tabPosition),x=mxUtils.getValue(this.style,"rounded",!1),J=mxUtils.getValue(this.style, -"absoluteArcSize",!1),y=parseFloat(mxUtils.getValue(this.style,"arcSize",this.arcSize));J||(y*=Math.min(n,r));y=Math.min(y,.5*n,.5*(r-t));l=Math.max(l,y);l=Math.min(n-y,l);x||(y=0);c.begin();"left"==v?(c.moveTo(Math.max(y,0),t),c.lineTo(Math.max(y,0),0),c.lineTo(l,0),c.lineTo(l,t)):(c.moveTo(n-l,t),c.lineTo(n-l,0),c.lineTo(n-Math.max(y,0),0),c.lineTo(n-Math.max(y,0),t));x?(c.moveTo(0,y+t),c.arcTo(y,y,0,0,1,y,t),c.lineTo(n-y,t),c.arcTo(y,y,0,0,1,n,y+t),c.lineTo(n,r-y),c.arcTo(y,y,0,0,1,n-y,r),c.lineTo(y, +l,(.5-Ka)*l),c.lineTo(.5*l,(1-Ka)*l)):(c.translate((n-l)/2,(r-l)/2),c.moveTo(0,.25*l),c.lineTo(.5*l,l*Ka),c.lineTo(l,.25*l),c.lineTo(l,.75*l),c.lineTo(.5*l,(1-Ka)*l),c.lineTo(0,.75*l),c.close());c.end()};mxCellRenderer.registerShape("isoCube",m);mxUtils.extend(p,mxCylinder);p.prototype.redrawPath=function(c,l,t,n,r,v){l=Math.min(r/2,Math.round(r/8)+this.strokewidth-1);if(v&&null!=this.fill||!v&&null==this.fill)c.moveTo(0,l),c.curveTo(0,2*l,n,2*l,n,l),v||(c.stroke(),c.begin()),c.translate(0,l/2),c.moveTo(0, +l),c.curveTo(0,2*l,n,2*l,n,l),v||(c.stroke(),c.begin()),c.translate(0,l/2),c.moveTo(0,l),c.curveTo(0,2*l,n,2*l,n,l),v||(c.stroke(),c.begin()),c.translate(0,-l);v||(c.moveTo(0,l),c.curveTo(0,-l/3,n,-l/3,n,l),c.lineTo(n,r-l),c.curveTo(n,r+l/3,0,r+l/3,0,r-l),c.close())};p.prototype.getLabelMargins=function(c){return new mxRectangle(0,2.5*Math.min(c.height/2,Math.round(c.height/8)+this.strokewidth-1),0,0)};mxCellRenderer.registerShape("datastore",p);mxUtils.extend(k,mxCylinder);k.prototype.size=30;k.prototype.darkOpacity= +0;k.prototype.paintVertexShape=function(c,l,t,n,r){var v=Math.max(0,Math.min(n,Math.min(r,parseFloat(mxUtils.getValue(this.style,"size",this.size))))),w=Math.max(-1,Math.min(1,parseFloat(mxUtils.getValue(this.style,"darkOpacity",this.darkOpacity))));c.translate(l,t);c.begin();c.moveTo(0,0);c.lineTo(n-v,0);c.lineTo(n,v);c.lineTo(n,r);c.lineTo(0,r);c.lineTo(0,0);c.close();c.end();c.fillAndStroke();this.outline||(c.setShadow(!1),0!=w&&(c.setFillAlpha(Math.abs(w)),c.setFillColor(0>w?"#FFFFFF":"#000000"), +c.begin(),c.moveTo(n-v,0),c.lineTo(n-v,v),c.lineTo(n,v),c.close(),c.fill()),c.begin(),c.moveTo(n-v,0),c.lineTo(n-v,v),c.lineTo(n,v),c.end(),c.stroke())};mxCellRenderer.registerShape("note",k);mxUtils.extend(u,k);mxCellRenderer.registerShape("note2",u);u.prototype.getLabelMargins=function(c){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var l=mxUtils.getValue(this.style,"size",15);return new mxRectangle(0,Math.min(c.height*this.scale,l*this.scale),0,0)}return null};mxUtils.extend(x,mxShape);x.prototype.isoAngle= +15;x.prototype.paintVertexShape=function(c,l,t,n,r){var v=Math.max(.01,Math.min(94,parseFloat(mxUtils.getValue(this.style,"isoAngle",this.isoAngle))))*Math.PI/200;v=Math.min(n*Math.tan(v),.5*r);c.translate(l,t);c.begin();c.moveTo(.5*n,0);c.lineTo(n,v);c.lineTo(n,r-v);c.lineTo(.5*n,r);c.lineTo(0,r-v);c.lineTo(0,v);c.close();c.fillAndStroke();c.setShadow(!1);c.begin();c.moveTo(0,v);c.lineTo(.5*n,2*v);c.lineTo(n,v);c.moveTo(.5*n,2*v);c.lineTo(.5*n,r);c.stroke()};mxCellRenderer.registerShape("isoCube2", +x);mxUtils.extend(z,mxShape);z.prototype.size=15;z.prototype.paintVertexShape=function(c,l,t,n,r){var v=Math.max(0,Math.min(.5*r,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c.translate(l,t);0==v?(c.rect(0,0,n,r),c.fillAndStroke()):(c.begin(),c.moveTo(0,v),c.arcTo(.5*n,v,0,0,1,.5*n,0),c.arcTo(.5*n,v,0,0,1,n,v),c.lineTo(n,r-v),c.arcTo(.5*n,v,0,0,1,.5*n,r),c.arcTo(.5*n,v,0,0,1,0,r-v),c.close(),c.fillAndStroke(),c.setShadow(!1),c.begin(),c.moveTo(n,v),c.arcTo(.5*n,v,0,0,1,.5*n,2*v),c.arcTo(.5* +n,v,0,0,1,0,v),c.stroke())};mxCellRenderer.registerShape("cylinder2",z);mxUtils.extend(C,mxCylinder);C.prototype.size=15;C.prototype.paintVertexShape=function(c,l,t,n,r){var v=Math.max(0,Math.min(.5*r,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),w=mxUtils.getValue(this.style,"lid",!0);c.translate(l,t);0==v?(c.rect(0,0,n,r),c.fillAndStroke()):(c.begin(),w?(c.moveTo(0,v),c.arcTo(.5*n,v,0,0,1,.5*n,0),c.arcTo(.5*n,v,0,0,1,n,v)):(c.moveTo(0,0),c.arcTo(.5*n,v,0,0,0,.5*n,v),c.arcTo(.5*n,v, +0,0,0,n,0)),c.lineTo(n,r-v),c.arcTo(.5*n,v,0,0,1,.5*n,r),c.arcTo(.5*n,v,0,0,1,0,r-v),c.close(),c.fillAndStroke(),c.setShadow(!1),w&&(c.begin(),c.moveTo(n,v),c.arcTo(.5*n,v,0,0,1,.5*n,2*v),c.arcTo(.5*n,v,0,0,1,0,v),c.stroke()))};mxCellRenderer.registerShape("cylinder3",C);mxUtils.extend(E,mxActor);E.prototype.redrawPath=function(c,l,t,n,r){c.moveTo(0,0);c.quadTo(n/2,.5*r,n,0);c.quadTo(.5*n,r/2,n,r);c.quadTo(n/2,.5*r,0,r);c.quadTo(.5*n,r/2,0,0);c.end()};mxCellRenderer.registerShape("switch",E);mxUtils.extend(D, +mxCylinder);D.prototype.tabWidth=60;D.prototype.tabHeight=20;D.prototype.tabPosition="right";D.prototype.arcSize=.1;D.prototype.paintVertexShape=function(c,l,t,n,r){c.translate(l,t);l=Math.max(0,Math.min(n,parseFloat(mxUtils.getValue(this.style,"tabWidth",this.tabWidth))));t=Math.max(0,Math.min(r,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));var v=mxUtils.getValue(this.style,"tabPosition",this.tabPosition),w=mxUtils.getValue(this.style,"rounded",!1),J=mxUtils.getValue(this.style, +"absoluteArcSize",!1),y=parseFloat(mxUtils.getValue(this.style,"arcSize",this.arcSize));J||(y*=Math.min(n,r));y=Math.min(y,.5*n,.5*(r-t));l=Math.max(l,y);l=Math.min(n-y,l);w||(y=0);c.begin();"left"==v?(c.moveTo(Math.max(y,0),t),c.lineTo(Math.max(y,0),0),c.lineTo(l,0),c.lineTo(l,t)):(c.moveTo(n-l,t),c.lineTo(n-l,0),c.lineTo(n-Math.max(y,0),0),c.lineTo(n-Math.max(y,0),t));w?(c.moveTo(0,y+t),c.arcTo(y,y,0,0,1,y,t),c.lineTo(n-y,t),c.arcTo(y,y,0,0,1,n,y+t),c.lineTo(n,r-y),c.arcTo(y,y,0,0,1,n-y,r),c.lineTo(y, r),c.arcTo(y,y,0,0,1,0,r-y)):(c.moveTo(0,t),c.lineTo(n,t),c.lineTo(n,r),c.lineTo(0,r));c.close();c.fillAndStroke();c.setShadow(!1);"triangle"==mxUtils.getValue(this.style,"folderSymbol",null)&&(c.begin(),c.moveTo(n-30,t+20),c.lineTo(n-20,t+10),c.lineTo(n-10,t+20),c.close(),c.stroke())};mxCellRenderer.registerShape("folder",D);D.prototype.getLabelMargins=function(c){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var l=mxUtils.getValue(this.style,"tabHeight",15)*this.scale;if(mxUtils.getValue(this.style, "labelInHeader",!1)){var t=mxUtils.getValue(this.style,"tabWidth",15)*this.scale;l=mxUtils.getValue(this.style,"tabHeight",15)*this.scale;var n=mxUtils.getValue(this.style,"rounded",!1),r=mxUtils.getValue(this.style,"absoluteArcSize",!1),v=parseFloat(mxUtils.getValue(this.style,"arcSize",this.arcSize));r||(v*=Math.min(c.width,c.height));v=Math.min(v,.5*c.width,.5*(c.height-l));n||(v=0);return"left"==mxUtils.getValue(this.style,"tabPosition",this.tabPosition)?new mxRectangle(v,0,Math.min(c.width,c.width- -t),Math.min(c.height,c.height-l)):new mxRectangle(Math.min(c.width,c.width-t),0,v,Math.min(c.height,c.height-l))}return new mxRectangle(0,Math.min(c.height,l),0,0)}return null};mxUtils.extend(G,mxCylinder);G.prototype.arcSize=.1;G.prototype.paintVertexShape=function(c,l,t,n,r){c.translate(l,t);var v=mxUtils.getValue(this.style,"rounded",!1),x=mxUtils.getValue(this.style,"absoluteArcSize",!1);l=parseFloat(mxUtils.getValue(this.style,"arcSize",this.arcSize));t=mxUtils.getValue(this.style,"umlStateConnection", -null);x||(l*=Math.min(n,r));l=Math.min(l,.5*n,.5*r);v||(l=0);v=0;null!=t&&(v=10);c.begin();c.moveTo(v,l);c.arcTo(l,l,0,0,1,v+l,0);c.lineTo(n-l,0);c.arcTo(l,l,0,0,1,n,l);c.lineTo(n,r-l);c.arcTo(l,l,0,0,1,n-l,r);c.lineTo(v+l,r);c.arcTo(l,l,0,0,1,v,r-l);c.close();c.fillAndStroke();c.setShadow(!1);"collapseState"==mxUtils.getValue(this.style,"umlStateSymbol",null)&&(c.roundrect(n-40,r-20,10,10,3,3),c.stroke(),c.roundrect(n-20,r-20,10,10,3,3),c.stroke(),c.begin(),c.moveTo(n-30,r-15),c.lineTo(n-20,r-15), +t),Math.min(c.height,c.height-l)):new mxRectangle(Math.min(c.width,c.width-t),0,v,Math.min(c.height,c.height-l))}return new mxRectangle(0,Math.min(c.height,l),0,0)}return null};mxUtils.extend(G,mxCylinder);G.prototype.arcSize=.1;G.prototype.paintVertexShape=function(c,l,t,n,r){c.translate(l,t);var v=mxUtils.getValue(this.style,"rounded",!1),w=mxUtils.getValue(this.style,"absoluteArcSize",!1);l=parseFloat(mxUtils.getValue(this.style,"arcSize",this.arcSize));t=mxUtils.getValue(this.style,"umlStateConnection", +null);w||(l*=Math.min(n,r));l=Math.min(l,.5*n,.5*r);v||(l=0);v=0;null!=t&&(v=10);c.begin();c.moveTo(v,l);c.arcTo(l,l,0,0,1,v+l,0);c.lineTo(n-l,0);c.arcTo(l,l,0,0,1,n,l);c.lineTo(n,r-l);c.arcTo(l,l,0,0,1,n-l,r);c.lineTo(v+l,r);c.arcTo(l,l,0,0,1,v,r-l);c.close();c.fillAndStroke();c.setShadow(!1);"collapseState"==mxUtils.getValue(this.style,"umlStateSymbol",null)&&(c.roundrect(n-40,r-20,10,10,3,3),c.stroke(),c.roundrect(n-20,r-20,10,10,3,3),c.stroke(),c.begin(),c.moveTo(n-30,r-15),c.lineTo(n-20,r-15), c.stroke());"connPointRefEntry"==t?(c.ellipse(0,.5*r-10,20,20),c.fillAndStroke()):"connPointRefExit"==t&&(c.ellipse(0,.5*r-10,20,20),c.fillAndStroke(),c.begin(),c.moveTo(5,.5*r-5),c.lineTo(15,.5*r+5),c.moveTo(15,.5*r-5),c.lineTo(5,.5*r+5),c.stroke())};G.prototype.getLabelMargins=function(c){return mxUtils.getValue(this.style,"boundedLbl",!1)&&null!=mxUtils.getValue(this.style,"umlStateConnection",null)?new mxRectangle(10*this.scale,0,0,0):null};mxCellRenderer.registerShape("umlState",G);mxUtils.extend(I, mxActor);I.prototype.size=30;I.prototype.isRoundable=function(){return!0};I.prototype.redrawPath=function(c,l,t,n,r){l=Math.max(0,Math.min(n,Math.min(r,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));t=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(c,[new mxPoint(l,0),new mxPoint(n,0),new mxPoint(n,r),new mxPoint(0,r),new mxPoint(0,l)],this.isRounded,t,!0);c.end()};mxCellRenderer.registerShape("card",I);mxUtils.extend(L,mxActor);L.prototype.size= .4;L.prototype.redrawPath=function(c,l,t,n,r){l=r*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c.moveTo(0,l/2);c.quadTo(n/4,1.4*l,n/2,l/2);c.quadTo(3*n/4,l*(1-1.4),n,l/2);c.lineTo(n,r-l/2);c.quadTo(3*n/4,r-1.4*l,n/2,r-l/2);c.quadTo(n/4,r-l*(1-1.4),0,r-l/2);c.lineTo(0,l/2);c.close();c.end()};L.prototype.getLabelBounds=function(c){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var l=mxUtils.getValue(this.style,"size",this.size),t=c.width,n=c.height;if(null==this.direction|| @@ -3325,155 +3346,155 @@ this.scale,0,0,0):null};u.prototype.getLabelMargins=function(c){if(mxUtils.getVa l,t,n,r){l="0"!=mxUtils.getValue(this.style,"fixedSize","0")?Math.max(0,Math.min(.5*n,parseFloat(mxUtils.getValue(this.style,"size",this.fixedSize)))):n*Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.style,"size",this.size))));t=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(c,[new mxPoint(0,r),new mxPoint(l,0),new mxPoint(n-l,0),new mxPoint(n,r)],this.isRounded,t,!0)};mxCellRenderer.registerShape("trapezoid",U);mxUtils.extend(Y,mxActor); Y.prototype.size=.5;Y.prototype.redrawPath=function(c,l,t,n,r){c.setFillColor(null);l=n*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));t=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(c,[new mxPoint(n,0),new mxPoint(l,0),new mxPoint(l,r/2),new mxPoint(0,r/2),new mxPoint(l,r/2),new mxPoint(l,r),new mxPoint(n,r)],this.isRounded,t,!1);c.end()};mxCellRenderer.registerShape("curlyBracket",Y);mxUtils.extend(Q,mxActor); Q.prototype.redrawPath=function(c,l,t,n,r){c.setStrokeWidth(1);c.setFillColor(this.stroke);l=n/5;c.rect(0,0,l,r);c.fillAndStroke();c.rect(2*l,0,l,r);c.fillAndStroke();c.rect(4*l,0,l,r);c.fillAndStroke()};mxCellRenderer.registerShape("parallelMarker",Q);P.prototype.moveTo=function(c,l){this.originalMoveTo.apply(this.canvas,arguments);this.lastX=c;this.lastY=l;this.firstX=c;this.firstY=l};P.prototype.close=function(){null!=this.firstX&&null!=this.firstY&&(this.lineTo(this.firstX,this.firstY),this.originalClose.apply(this.canvas, -arguments));this.originalClose.apply(this.canvas,arguments)};P.prototype.quadTo=function(c,l,t,n){this.originalQuadTo.apply(this.canvas,arguments);this.lastX=t;this.lastY=n};P.prototype.curveTo=function(c,l,t,n,r,v){this.originalCurveTo.apply(this.canvas,arguments);this.lastX=r;this.lastY=v};P.prototype.arcTo=function(c,l,t,n,r,v,x){this.originalArcTo.apply(this.canvas,arguments);this.lastX=v;this.lastY=x};P.prototype.lineTo=function(c,l){if(null!=this.lastX&&null!=this.lastY){var t=function(S){return"number"=== -typeof S?S?0>S?-1:1:S===S?0:NaN:NaN},n=Math.abs(c-this.lastX),r=Math.abs(l-this.lastY),v=Math.sqrt(n*n+r*r);if(2>v){this.originalLineTo.apply(this.canvas,arguments);this.lastX=c;this.lastY=l;return}var x=Math.round(v/10),J=this.defaultVariation;5>x&&(x=5,J/=3);var y=t(c-this.lastX)*n/x;t=t(l-this.lastY)*r/x;n/=v;r/=v;for(v=0;vS?-1:1:S===S?0:NaN:NaN},n=Math.abs(c-this.lastX),r=Math.abs(l-this.lastY),v=Math.sqrt(n*n+r*r);if(2>v){this.originalLineTo.apply(this.canvas,arguments);this.lastX=c;this.lastY=l;return}var w=Math.round(v/10),J=this.defaultVariation;5>w&&(w=5,J/=3);var y=t(c-this.lastX)*n/w;t=t(l-this.lastY)*r/w;n/=v;r/=v;for(v=0;vx+y?c.y=t.y:c.x=t.x);return mxUtils.getPerimeterPoint(J,c,t)};mxStyleRegistry.putValue("parallelogramPerimeter",mxPerimeter.ParallelogramPerimeter);mxPerimeter.TrapezoidPerimeter=function(c,l,t,n){var r="0"!=mxUtils.getValue(l.style,"fixedSize","0"),v=r?U.prototype.fixedSize:U.prototype.size;null!=l&&(v=mxUtils.getValue(l.style,"size",v));r&&(v*=l.view.scale); -var x=c.x,J=c.y,y=c.width,ba=c.height;l=null!=l?mxUtils.getValue(l.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;l==mxConstants.DIRECTION_EAST?(r=r?Math.max(0,Math.min(.5*y,v)):y*Math.max(0,Math.min(1,v)),J=[new mxPoint(x+r,J),new mxPoint(x+y-r,J),new mxPoint(x+y,J+ba),new mxPoint(x,J+ba),new mxPoint(x+r,J)]):l==mxConstants.DIRECTION_WEST?(r=r?Math.max(0,Math.min(y,v)):y*Math.max(0,Math.min(1,v)),J=[new mxPoint(x,J),new mxPoint(x+y,J),new mxPoint(x+y-r,J+ -ba),new mxPoint(x+r,J+ba),new mxPoint(x,J)]):l==mxConstants.DIRECTION_NORTH?(r=r?Math.max(0,Math.min(ba,v)):ba*Math.max(0,Math.min(1,v)),J=[new mxPoint(x,J+r),new mxPoint(x+y,J),new mxPoint(x+y,J+ba),new mxPoint(x,J+ba-r),new mxPoint(x,J+r)]):(r=r?Math.max(0,Math.min(ba,v)):ba*Math.max(0,Math.min(1,v)),J=[new mxPoint(x,J),new mxPoint(x+y,J+r),new mxPoint(x+y,J+ba-r),new mxPoint(x,J+ba),new mxPoint(x,J)]);ba=c.getCenterX();c=c.getCenterY();c=new mxPoint(ba,c);n&&(t.xx+y?c.y=t.y:c.x=t.x);return mxUtils.getPerimeterPoint(J, -c,t)};mxStyleRegistry.putValue("trapezoidPerimeter",mxPerimeter.TrapezoidPerimeter);mxPerimeter.StepPerimeter=function(c,l,t,n){var r="0"!=mxUtils.getValue(l.style,"fixedSize","0"),v=r?ia.prototype.fixedSize:ia.prototype.size;null!=l&&(v=mxUtils.getValue(l.style,"size",v));r&&(v*=l.view.scale);var x=c.x,J=c.y,y=c.width,ba=c.height,S=c.getCenterX();c=c.getCenterY();l=null!=l?mxUtils.getValue(l.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;l==mxConstants.DIRECTION_EAST? -(r=r?Math.max(0,Math.min(y,v)):y*Math.max(0,Math.min(1,v)),J=[new mxPoint(x,J),new mxPoint(x+y-r,J),new mxPoint(x+y,c),new mxPoint(x+y-r,J+ba),new mxPoint(x,J+ba),new mxPoint(x+r,c),new mxPoint(x,J)]):l==mxConstants.DIRECTION_WEST?(r=r?Math.max(0,Math.min(y,v)):y*Math.max(0,Math.min(1,v)),J=[new mxPoint(x+r,J),new mxPoint(x+y,J),new mxPoint(x+y-r,c),new mxPoint(x+y,J+ba),new mxPoint(x+r,J+ba),new mxPoint(x,c),new mxPoint(x+r,J)]):l==mxConstants.DIRECTION_NORTH?(r=r?Math.max(0,Math.min(ba,v)):ba*Math.max(0, -Math.min(1,v)),J=[new mxPoint(x,J+r),new mxPoint(S,J),new mxPoint(x+y,J+r),new mxPoint(x+y,J+ba),new mxPoint(S,J+ba-r),new mxPoint(x,J+ba),new mxPoint(x,J+r)]):(r=r?Math.max(0,Math.min(ba,v)):ba*Math.max(0,Math.min(1,v)),J=[new mxPoint(x,J),new mxPoint(S,J+r),new mxPoint(x+y,J),new mxPoint(x+y,J+ba-r),new mxPoint(S,J+ba),new mxPoint(x,J+ba-r),new mxPoint(x,J)]);S=new mxPoint(S,c);n&&(t.xx+y?S.y=t.y:S.x=t.x);return mxUtils.getPerimeterPoint(J,S,t)};mxStyleRegistry.putValue("stepPerimeter", -mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(c,l,t,n){var r="0"!=mxUtils.getValue(l.style,"fixedSize","0"),v=r?oa.prototype.fixedSize:oa.prototype.size;null!=l&&(v=mxUtils.getValue(l.style,"size",v));r&&(v*=l.view.scale);var x=c.x,J=c.y,y=c.width,ba=c.height,S=c.getCenterX();c=c.getCenterY();l=null!=l?mxUtils.getValue(l.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;l==mxConstants.DIRECTION_NORTH||l==mxConstants.DIRECTION_SOUTH?(r=r?Math.max(0, -Math.min(ba,v)):ba*Math.max(0,Math.min(1,v)),J=[new mxPoint(S,J),new mxPoint(x+y,J+r),new mxPoint(x+y,J+ba-r),new mxPoint(S,J+ba),new mxPoint(x,J+ba-r),new mxPoint(x,J+r),new mxPoint(S,J)]):(r=r?Math.max(0,Math.min(y,v)):y*Math.max(0,Math.min(1,v)),J=[new mxPoint(x+r,J),new mxPoint(x+y-r,J),new mxPoint(x+y,c),new mxPoint(x+y-r,J+ba),new mxPoint(x+r,J+ba),new mxPoint(x,c),new mxPoint(x+r,J)]);S=new mxPoint(S,c);n&&(t.xx+y?S.y=t.y:S.x=t.x);return mxUtils.getPerimeterPoint(J,S,t)};mxStyleRegistry.putValue("hexagonPerimeter2", -mxPerimeter.HexagonPerimeter2);mxUtils.extend(Pa,mxShape);Pa.prototype.size=10;Pa.prototype.paintBackground=function(c,l,t,n,r){var v=parseFloat(mxUtils.getValue(this.style,"size",this.size));c.translate(l,t);c.ellipse((n-v)/2,0,v,v);c.fillAndStroke();c.begin();c.moveTo(n/2,v);c.lineTo(n/2,r);c.end();c.stroke()};mxCellRenderer.registerShape("lollipop",Pa);mxUtils.extend(ma,mxShape);ma.prototype.size=10;ma.prototype.inset=2;ma.prototype.paintBackground=function(c,l,t,n,r){var v=parseFloat(mxUtils.getValue(this.style, -"size",this.size)),x=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;c.translate(l,t);c.begin();c.moveTo(n/2,v+x);c.lineTo(n/2,r);c.end();c.stroke();c.begin();c.moveTo((n-v)/2-x,v/2);c.quadTo((n-v)/2-x,v+x,n/2,v+x);c.quadTo((n+v)/2+x,v+x,(n+v)/2+x,v/2);c.end();c.stroke()};mxCellRenderer.registerShape("requires",ma);mxUtils.extend(Ca,mxShape);Ca.prototype.paintBackground=function(c,l,t,n,r){c.translate(l,t);c.begin();c.moveTo(0,0);c.quadTo(n,0,n,r/2);c.quadTo(n,r,0,r); -c.end();c.stroke()};mxCellRenderer.registerShape("requiredInterface",Ca);mxUtils.extend(Da,mxShape);Da.prototype.inset=2;Da.prototype.paintBackground=function(c,l,t,n,r){var v=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;c.translate(l,t);c.ellipse(0,v,n-2*v,r-2*v);c.fillAndStroke();c.begin();c.moveTo(n/2,0);c.quadTo(n,0,n,r/2);c.quadTo(n,r,n/2,r);c.end();c.stroke()};mxCellRenderer.registerShape("providedRequiredInterface",Da);mxUtils.extend(Ga,mxCylinder);Ga.prototype.jettyWidth= -20;Ga.prototype.jettyHeight=10;Ga.prototype.redrawPath=function(c,l,t,n,r,v){var x=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));l=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));t=x/2;x=t+x/2;var J=Math.min(l,r-l),y=Math.min(J+2*l,r-l);v?(c.moveTo(t,J),c.lineTo(x,J),c.lineTo(x,J+l),c.lineTo(t,J+l),c.moveTo(t,y),c.lineTo(x,y),c.lineTo(x,y+l),c.lineTo(t,y+l)):(c.moveTo(t,0),c.lineTo(n,0),c.lineTo(n,r),c.lineTo(t,r),c.lineTo(t,y+l),c.lineTo(0,y+l),c.lineTo(0, -y),c.lineTo(t,y),c.lineTo(t,J+l),c.lineTo(0,J+l),c.lineTo(0,J),c.lineTo(t,J),c.close());c.end()};mxCellRenderer.registerShape("module",Ga);mxUtils.extend(Ia,mxCylinder);Ia.prototype.jettyWidth=32;Ia.prototype.jettyHeight=12;Ia.prototype.redrawPath=function(c,l,t,n,r,v){var x=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));l=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));t=x/2;x=t+x/2;var J=.3*r-l/2,y=.7*r-l/2;v?(c.moveTo(t,J),c.lineTo(x,J),c.lineTo(x, -J+l),c.lineTo(t,J+l),c.moveTo(t,y),c.lineTo(x,y),c.lineTo(x,y+l),c.lineTo(t,y+l)):(c.moveTo(t,0),c.lineTo(n,0),c.lineTo(n,r),c.lineTo(t,r),c.lineTo(t,y+l),c.lineTo(0,y+l),c.lineTo(0,y),c.lineTo(t,y),c.lineTo(t,J+l),c.lineTo(0,J+l),c.lineTo(0,J),c.lineTo(t,J),c.close());c.end()};mxCellRenderer.registerShape("component",Ia);mxUtils.extend(Ha,mxRectangleShape);Ha.prototype.paintForeground=function(c,l,t,n,r){var v=n/2,x=r/2,J=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/ -2;c.begin();this.addPoints(c,[new mxPoint(l+v,t),new mxPoint(l+n,t+x),new mxPoint(l+v,t+r),new mxPoint(l,t+x)],this.isRounded,J,!0);c.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("associativeEntity",Ha);mxUtils.extend(Ja,mxDoubleEllipse);Ja.prototype.outerStroke=!0;Ja.prototype.paintVertexShape=function(c,l,t,n,r){var v=Math.min(4,Math.min(n/5,r/5));0w+y?c.y=t.y:c.x=t.x);return mxUtils.getPerimeterPoint(J,c,t)};mxStyleRegistry.putValue("parallelogramPerimeter",mxPerimeter.ParallelogramPerimeter);mxPerimeter.TrapezoidPerimeter=function(c,l,t,n){var r="0"!=mxUtils.getValue(l.style,"fixedSize","0"),v=r?U.prototype.fixedSize:U.prototype.size;null!=l&&(v=mxUtils.getValue(l.style,"size",v));r&&(v*=l.view.scale); +var w=c.x,J=c.y,y=c.width,ba=c.height;l=null!=l?mxUtils.getValue(l.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;l==mxConstants.DIRECTION_EAST?(r=r?Math.max(0,Math.min(.5*y,v)):y*Math.max(0,Math.min(1,v)),J=[new mxPoint(w+r,J),new mxPoint(w+y-r,J),new mxPoint(w+y,J+ba),new mxPoint(w,J+ba),new mxPoint(w+r,J)]):l==mxConstants.DIRECTION_WEST?(r=r?Math.max(0,Math.min(y,v)):y*Math.max(0,Math.min(1,v)),J=[new mxPoint(w,J),new mxPoint(w+y,J),new mxPoint(w+y-r,J+ +ba),new mxPoint(w+r,J+ba),new mxPoint(w,J)]):l==mxConstants.DIRECTION_NORTH?(r=r?Math.max(0,Math.min(ba,v)):ba*Math.max(0,Math.min(1,v)),J=[new mxPoint(w,J+r),new mxPoint(w+y,J),new mxPoint(w+y,J+ba),new mxPoint(w,J+ba-r),new mxPoint(w,J+r)]):(r=r?Math.max(0,Math.min(ba,v)):ba*Math.max(0,Math.min(1,v)),J=[new mxPoint(w,J),new mxPoint(w+y,J+r),new mxPoint(w+y,J+ba-r),new mxPoint(w,J+ba),new mxPoint(w,J)]);ba=c.getCenterX();c=c.getCenterY();c=new mxPoint(ba,c);n&&(t.xw+y?c.y=t.y:c.x=t.x);return mxUtils.getPerimeterPoint(J, +c,t)};mxStyleRegistry.putValue("trapezoidPerimeter",mxPerimeter.TrapezoidPerimeter);mxPerimeter.StepPerimeter=function(c,l,t,n){var r="0"!=mxUtils.getValue(l.style,"fixedSize","0"),v=r?ia.prototype.fixedSize:ia.prototype.size;null!=l&&(v=mxUtils.getValue(l.style,"size",v));r&&(v*=l.view.scale);var w=c.x,J=c.y,y=c.width,ba=c.height,S=c.getCenterX();c=c.getCenterY();l=null!=l?mxUtils.getValue(l.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;l==mxConstants.DIRECTION_EAST? +(r=r?Math.max(0,Math.min(y,v)):y*Math.max(0,Math.min(1,v)),J=[new mxPoint(w,J),new mxPoint(w+y-r,J),new mxPoint(w+y,c),new mxPoint(w+y-r,J+ba),new mxPoint(w,J+ba),new mxPoint(w+r,c),new mxPoint(w,J)]):l==mxConstants.DIRECTION_WEST?(r=r?Math.max(0,Math.min(y,v)):y*Math.max(0,Math.min(1,v)),J=[new mxPoint(w+r,J),new mxPoint(w+y,J),new mxPoint(w+y-r,c),new mxPoint(w+y,J+ba),new mxPoint(w+r,J+ba),new mxPoint(w,c),new mxPoint(w+r,J)]):l==mxConstants.DIRECTION_NORTH?(r=r?Math.max(0,Math.min(ba,v)):ba*Math.max(0, +Math.min(1,v)),J=[new mxPoint(w,J+r),new mxPoint(S,J),new mxPoint(w+y,J+r),new mxPoint(w+y,J+ba),new mxPoint(S,J+ba-r),new mxPoint(w,J+ba),new mxPoint(w,J+r)]):(r=r?Math.max(0,Math.min(ba,v)):ba*Math.max(0,Math.min(1,v)),J=[new mxPoint(w,J),new mxPoint(S,J+r),new mxPoint(w+y,J),new mxPoint(w+y,J+ba-r),new mxPoint(S,J+ba),new mxPoint(w,J+ba-r),new mxPoint(w,J)]);S=new mxPoint(S,c);n&&(t.xw+y?S.y=t.y:S.x=t.x);return mxUtils.getPerimeterPoint(J,S,t)};mxStyleRegistry.putValue("stepPerimeter", +mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(c,l,t,n){var r="0"!=mxUtils.getValue(l.style,"fixedSize","0"),v=r?na.prototype.fixedSize:na.prototype.size;null!=l&&(v=mxUtils.getValue(l.style,"size",v));r&&(v*=l.view.scale);var w=c.x,J=c.y,y=c.width,ba=c.height,S=c.getCenterX();c=c.getCenterY();l=null!=l?mxUtils.getValue(l.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;l==mxConstants.DIRECTION_NORTH||l==mxConstants.DIRECTION_SOUTH?(r=r?Math.max(0, +Math.min(ba,v)):ba*Math.max(0,Math.min(1,v)),J=[new mxPoint(S,J),new mxPoint(w+y,J+r),new mxPoint(w+y,J+ba-r),new mxPoint(S,J+ba),new mxPoint(w,J+ba-r),new mxPoint(w,J+r),new mxPoint(S,J)]):(r=r?Math.max(0,Math.min(y,v)):y*Math.max(0,Math.min(1,v)),J=[new mxPoint(w+r,J),new mxPoint(w+y-r,J),new mxPoint(w+y,c),new mxPoint(w+y-r,J+ba),new mxPoint(w+r,J+ba),new mxPoint(w,c),new mxPoint(w+r,J)]);S=new mxPoint(S,c);n&&(t.xw+y?S.y=t.y:S.x=t.x);return mxUtils.getPerimeterPoint(J,S,t)};mxStyleRegistry.putValue("hexagonPerimeter2", +mxPerimeter.HexagonPerimeter2);mxUtils.extend(Pa,mxShape);Pa.prototype.size=10;Pa.prototype.paintBackground=function(c,l,t,n,r){var v=parseFloat(mxUtils.getValue(this.style,"size",this.size));c.translate(l,t);c.ellipse((n-v)/2,0,v,v);c.fillAndStroke();c.begin();c.moveTo(n/2,v);c.lineTo(n/2,r);c.end();c.stroke()};mxCellRenderer.registerShape("lollipop",Pa);mxUtils.extend(la,mxShape);la.prototype.size=10;la.prototype.inset=2;la.prototype.paintBackground=function(c,l,t,n,r){var v=parseFloat(mxUtils.getValue(this.style, +"size",this.size)),w=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;c.translate(l,t);c.begin();c.moveTo(n/2,v+w);c.lineTo(n/2,r);c.end();c.stroke();c.begin();c.moveTo((n-v)/2-w,v/2);c.quadTo((n-v)/2-w,v+w,n/2,v+w);c.quadTo((n+v)/2+w,v+w,(n+v)/2+w,v/2);c.end();c.stroke()};mxCellRenderer.registerShape("requires",la);mxUtils.extend(Ba,mxShape);Ba.prototype.paintBackground=function(c,l,t,n,r){c.translate(l,t);c.begin();c.moveTo(0,0);c.quadTo(n,0,n,r/2);c.quadTo(n,r,0,r); +c.end();c.stroke()};mxCellRenderer.registerShape("requiredInterface",Ba);mxUtils.extend(Ca,mxShape);Ca.prototype.inset=2;Ca.prototype.paintBackground=function(c,l,t,n,r){var v=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;c.translate(l,t);c.ellipse(0,v,n-2*v,r-2*v);c.fillAndStroke();c.begin();c.moveTo(n/2,0);c.quadTo(n,0,n,r/2);c.quadTo(n,r,n/2,r);c.end();c.stroke()};mxCellRenderer.registerShape("providedRequiredInterface",Ca);mxUtils.extend(Fa,mxCylinder);Fa.prototype.jettyWidth= +20;Fa.prototype.jettyHeight=10;Fa.prototype.redrawPath=function(c,l,t,n,r,v){var w=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));l=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));t=w/2;w=t+w/2;var J=Math.min(l,r-l),y=Math.min(J+2*l,r-l);v?(c.moveTo(t,J),c.lineTo(w,J),c.lineTo(w,J+l),c.lineTo(t,J+l),c.moveTo(t,y),c.lineTo(w,y),c.lineTo(w,y+l),c.lineTo(t,y+l)):(c.moveTo(t,0),c.lineTo(n,0),c.lineTo(n,r),c.lineTo(t,r),c.lineTo(t,y+l),c.lineTo(0,y+l),c.lineTo(0, +y),c.lineTo(t,y),c.lineTo(t,J+l),c.lineTo(0,J+l),c.lineTo(0,J),c.lineTo(t,J),c.close());c.end()};mxCellRenderer.registerShape("module",Fa);mxUtils.extend(Ia,mxCylinder);Ia.prototype.jettyWidth=32;Ia.prototype.jettyHeight=12;Ia.prototype.redrawPath=function(c,l,t,n,r,v){var w=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));l=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));t=w/2;w=t+w/2;var J=.3*r-l/2,y=.7*r-l/2;v?(c.moveTo(t,J),c.lineTo(w,J),c.lineTo(w, +J+l),c.lineTo(t,J+l),c.moveTo(t,y),c.lineTo(w,y),c.lineTo(w,y+l),c.lineTo(t,y+l)):(c.moveTo(t,0),c.lineTo(n,0),c.lineTo(n,r),c.lineTo(t,r),c.lineTo(t,y+l),c.lineTo(0,y+l),c.lineTo(0,y),c.lineTo(t,y),c.lineTo(t,J+l),c.lineTo(0,J+l),c.lineTo(0,J),c.lineTo(t,J),c.close());c.end()};mxCellRenderer.registerShape("component",Ia);mxUtils.extend(Ha,mxRectangleShape);Ha.prototype.paintForeground=function(c,l,t,n,r){var v=n/2,w=r/2,J=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/ +2;c.begin();this.addPoints(c,[new mxPoint(l+v,t),new mxPoint(l+n,t+w),new mxPoint(l+v,t+r),new mxPoint(l,t+w)],this.isRounded,J,!0);c.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("associativeEntity",Ha);mxUtils.extend(Ja,mxDoubleEllipse);Ja.prototype.outerStroke=!0;Ja.prototype.paintVertexShape=function(c,l,t,n,r){var v=Math.min(4,Math.min(n/5,r/5));0=2*n&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};mxRectangleShape.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(1, 0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0), -new mxConnectionConstraint(new mxPoint(1,1),!0)];mxEllipse.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1,.5))];wa.prototype.constraints=mxRectangleShape.prototype.constraints; +new mxConnectionConstraint(new mxPoint(1,1),!0)];mxEllipse.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1,.5))];va.prototype.constraints=mxRectangleShape.prototype.constraints; mxImageShape.prototype.constraints=mxRectangleShape.prototype.constraints;mxSwimlane.prototype.constraints=mxRectangleShape.prototype.constraints;qa.prototype.constraints=mxRectangleShape.prototype.constraints;mxLabel.prototype.constraints=mxRectangleShape.prototype.constraints;k.prototype.getConstraints=function(c,l,t){c=[];var n=Math.max(0,Math.min(l,Math.min(t,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0, 0),!1,null,.5*(l-n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-.5*n,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,.5*(t+n)));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0, .5),!1));l>=2*n&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};I.prototype.getConstraints=function(c,l,t){c=[];var n=Math.max(0,Math.min(l,Math.min(t,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*n,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0, @@ -3517,9 +3538,9 @@ function(c,l,t){c=[];var n=Math.max(0,Math.min(l,parseFloat(mxUtils.getValue(thi 0),!1,null,n,r)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+n),r))):(c.push(new mxConnectionConstraint(new mxPoint(1,0),!1)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-.5*n,0)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,0)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,r)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-n),r)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,r));c.push(new mxConnectionConstraint(new mxPoint(0, 0),!1,null,l,.25*(t-r)+r));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,.5*(t-r)+r));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,.75*(t-r)+r));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,r));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.25*(t-r)+r));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(t-r)+r));c.push(new mxConnectionConstraint(new mxPoint(0, 0),!1,null,0,.75*(t-r)+r));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,t));c.push(new mxConnectionConstraint(new mxPoint(.25,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.75,1),!1));return c};cb.prototype.constraints=mxRectangleShape.prototype.constraints;eb.prototype.constraints=mxRectangleShape.prototype.constraints;N.prototype.constraints=mxEllipse.prototype.constraints;R.prototype.constraints=mxEllipse.prototype.constraints; -X.prototype.constraints=mxEllipse.prototype.constraints;Ma.prototype.constraints=mxEllipse.prototype.constraints;Ya.prototype.constraints=mxRectangleShape.prototype.constraints;Na.prototype.constraints=mxRectangleShape.prototype.constraints;za.prototype.getConstraints=function(c,l,t){c=[];var n=Math.min(l,t/2),r=Math.min(l-n,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*l);c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1,null));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,r,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(r+l-n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,0));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1,null));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(r+l-n),t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,r,t));return c};Ga.prototype.getConstraints=function(c,l,t){l=parseFloat(mxUtils.getValue(c, -"jettyWidth",Ga.prototype.jettyWidth))/2;c=parseFloat(mxUtils.getValue(c,"jettyHeight",Ga.prototype.jettyHeight));var n=[new mxConnectionConstraint(new mxPoint(0,0),!1,null,l),new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1, +X.prototype.constraints=mxEllipse.prototype.constraints;Ma.prototype.constraints=mxEllipse.prototype.constraints;Ya.prototype.constraints=mxRectangleShape.prototype.constraints;Na.prototype.constraints=mxRectangleShape.prototype.constraints;Ga.prototype.getConstraints=function(c,l,t){c=[];var n=Math.min(l,t/2),r=Math.min(l-n,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*l);c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1,null));c.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,r,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(r+l-n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,0));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1,null));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(r+l-n),t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,r,t));return c};Fa.prototype.getConstraints=function(c,l,t){l=parseFloat(mxUtils.getValue(c, +"jettyWidth",Fa.prototype.jettyWidth))/2;c=parseFloat(mxUtils.getValue(c,"jettyHeight",Fa.prototype.jettyHeight));var n=[new mxConnectionConstraint(new mxPoint(0,0),!1,null,l),new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1, .75),!0),new mxConnectionConstraint(new mxPoint(0,1),!1,null,l),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,Math.min(t-.5*c,1.5*c)),new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,Math.min(t-.5*c,3.5*c))];t>5*c&&n.push(new mxConnectionConstraint(new mxPoint(0,.75),!1,null,l));t>8*c&&n.push(new mxConnectionConstraint(new mxPoint(0, .5),!1,null,l));t>15*c&&n.push(new mxConnectionConstraint(new mxPoint(0,.25),!1,null,l));return n};B.prototype.constraints=mxRectangleShape.prototype.constraints;F.prototype.constraints=mxRectangleShape.prototype.constraints;mxCylinder.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.15,.05),!1),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.85,.05),!1),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0, .5),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1,.3),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.7),!0),new mxConnectionConstraint(new mxPoint(.15,.95),!1),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.85,.95),!1)];ca.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.1),!1),new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.75, @@ -3542,44 +3563,44 @@ X.prototype.constraints=mxEllipse.prototype.constraints;Ma.prototype.constraints function(c,l,t){c=[];var n=t*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth)))),r=l*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));n=(t-n)/2;c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-r),n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-r,0));c.push(new mxConnectionConstraint(new mxPoint(1, .5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-r,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-r),t-n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,t-n));return c};ib.prototype.getConstraints=function(c,l,t){c=[];var n=t*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",ab.prototype.arrowWidth)))),r=l*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",ab.prototype.arrowSize))));n=(t-n)/2;c.push(new mxConnectionConstraint(new mxPoint(0, .5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,r,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*l,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-r,0));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-r,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*l,t-n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,r,t));return c};ya.prototype.getConstraints= -function(c,l,t){c=[];var n=Math.min(t,l),r=Math.max(0,Math.min(n,n*parseFloat(mxUtils.getValue(this.style,"size",this.size))));n=(t-r)/2;var v=n+r,x=(l-r)/2;r=x+r;c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,x,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,x,0));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,r,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,r,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,r,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,x,t-.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,x,t));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,r,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,r,t-.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,r,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+r),n));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,l,n));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+r),v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,x,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*x,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,n));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,0,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*x,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,x,n));return c};la.prototype.constraints=null;p.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.25),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7, -.9),!1)];A.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.175,.25),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.175,.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7,.9),!1)];Ca.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];Da.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0, +function(c,l,t){c=[];var n=Math.min(t,l),r=Math.max(0,Math.min(n,n*parseFloat(mxUtils.getValue(this.style,"size",this.size))));n=(t-r)/2;var v=n+r,w=(l-r)/2;r=w+r;c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,w,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,w,0));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,r,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,r,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,r,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,w,t-.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,w,t));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,r,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,r,t-.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,r,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+r),n));c.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,l,n));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+r),v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,w,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*w,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,n));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,0,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*w,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,w,n));return c};oa.prototype.constraints=null;q.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.25),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7, +.9),!1)];A.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.175,.25),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.175,.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7,.9),!1)];Ba.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];Ca.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0, .5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)]})();function Actions(a){this.editorUi=a;this.actions={};this.init()} -Actions.prototype.init=function(){function a(k){d.escape();k=d.deleteCells(d.getDeletableCells(d.getSelectionCells()),k);null!=k&&d.setSelectionCells(k)}function b(){if(!d.isSelectionEmpty()){d.getModel().beginUpdate();try{for(var k=d.getSelectionCells(),u=0;uMath.abs(k-d.view.scale)&&5>Math.abs(u-d.container.scrollLeft)&&5>Math.abs(w-d.container.scrollTop)&&z==d.view.translate.x&&C==d.view.translate.y&&f.actions.get("fitWindow").funct()},null,null,"Enter"));this.addAction("keyPressEnter",function(){d.isSelectionEmpty()?f.actions.get("smartFit").funct():d.isEnabled()&& -d.startEditingAtCell()});this.addAction("import...",function(){window.openNew=!1;window.openKey="import";window.openFile=new OpenFile(mxUtils.bind(this,function(){f.hideDialog()}));window.openFile.setConsumer(mxUtils.bind(this,function(k,u){try{var w=mxUtils.parseXml(k);h.graph.setSelectionCells(h.graph.importGraphModel(w.documentElement))}catch(z){mxUtils.alert(mxResources.get("invalidOrMissingFile")+": "+z.message)}}));f.showDialog((new OpenDialog(this)).container,320,220,!0,!0,function(){window.openFile= +function(){d.popupMenuHandler.hideMenu();var k=d.view.scale,u=d.container.scrollLeft,x=d.container.scrollTop,z=d.view.translate.x,C=d.view.translate.y;f.actions.get("resetView").funct();1E-5>Math.abs(k-d.view.scale)&&5>Math.abs(u-d.container.scrollLeft)&&5>Math.abs(x-d.container.scrollTop)&&z==d.view.translate.x&&C==d.view.translate.y&&f.actions.get("fitWindow").funct()},null,null,"Enter"));this.addAction("keyPressEnter",function(){d.isSelectionEmpty()?f.actions.get("smartFit").funct():d.isEnabled()&& +d.startEditingAtCell()});this.addAction("import...",function(){window.openNew=!1;window.openKey="import";window.openFile=new OpenFile(mxUtils.bind(this,function(){f.hideDialog()}));window.openFile.setConsumer(mxUtils.bind(this,function(k,u){try{var x=mxUtils.parseXml(k);h.graph.setSelectionCells(h.graph.importGraphModel(x.documentElement))}catch(z){mxUtils.alert(mxResources.get("invalidOrMissingFile")+": "+z.message)}}));f.showDialog((new OpenDialog(this)).container,320,220,!0,!0,function(){window.openFile= null})}).isEnabled=g;this.addAction("save",function(){f.saveFile(!1)},null,null,Editor.ctrlKey+"+S").isEnabled=g;this.addAction("saveAs...",function(){f.saveFile(!0)},null,null,Editor.ctrlKey+"+Shift+S");this.addAction("export...",function(){f.showDialog((new ExportDialog(f)).container,300,340,!0,!0)});this.addAction("editDiagram...",function(){var k=new EditDiagramDialog(f);f.showDialog(k.container,620,420,!0,!1);k.init()}).isEnabled=g;this.addAction("pageSetup...",function(){f.showDialog((new PageSetupDialog(f)).container, 320,240,!0,!0)}).isEnabled=g;this.addAction("print...",function(){f.showPrintDialog()},null,"sprite-print",Editor.ctrlKey+"+P");this.addAction("preview",function(){mxUtils.show(d,null,10,10)});this.addAction("undo",function(){f.undo()},null,"sprite-undo",Editor.ctrlKey+"+Z");this.addAction("redo",function(){f.redo()},null,"sprite-redo",mxClient.IS_WIN?Editor.ctrlKey+"+Y":Editor.ctrlKey+"+Shift+Z");this.addAction("cut",function(){var k=null;try{k=f.copyXml(),null!=k&&d.removeCells(k,!1)}catch(u){}try{null== k&&mxClipboard.cut(d)}catch(u){f.handleError(u)}},null,"sprite-cut",Editor.ctrlKey+"+X");this.addAction("copy",function(){try{f.copyXml()}catch(k){}try{mxClipboard.copy(d)}catch(k){f.handleError(k)}},null,"sprite-copy",Editor.ctrlKey+"+C");this.addAction("paste",function(){if(d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())){var k=!1;try{Editor.enableNativeCipboard&&(f.readGraphModelFromClipboard(function(u){if(null!=u){d.getModel().beginUpdate();try{f.pasteXml(u,!0)}finally{d.getModel().endUpdate()}}else mxClipboard.paste(d)}), k=!0)}catch(u){}k||mxClipboard.paste(d)}},!1,"sprite-paste",Editor.ctrlKey+"+V");this.addAction("pasteHere",function(k){function u(z){if(null!=z){for(var C=!0,E=0;E"));d.cellLabelChanged(state.cell,Graph.sanitizeHtml(C));d.setCellStyles("html",k,[u[w]])}}f.fireEvent(new mxEventObject("styleChanged", +function(){if(d.isEnabled()){var k=d.getEditableCells(d.getSelectionCells());d.model.beginUpdate();try{var u=d.ungroupCells();if(null!=k)for(var x=0;x"));d.cellLabelChanged(state.cell,Graph.sanitizeHtml(C));d.setCellStyles("html",k,[u[x]])}}f.fireEvent(new mxEventObject("styleChanged", "keys",["html"],"values",[null!=k?k:"0"],"cells",u))}finally{d.getModel().endUpdate()}});this.addAction("wordWrap",function(){var k=d.getView().getState(d.getSelectionCell()),u="wrap";d.stopEditing();null!=k&&"wrap"==k.style[mxConstants.STYLE_WHITE_SPACE]&&(u=null);d.setCellStyles(mxConstants.STYLE_WHITE_SPACE,u)});this.addAction("rotation",function(){var k="0",u=d.getView().getState(d.getSelectionCell());null!=u&&(k=u.style[mxConstants.STYLE_ROTATION]||k);k=new FilenameDialog(f,k,mxResources.get("apply"), -function(w){null!=w&&0mxUtils.indexOf(this.customFonts,m)&&(this.customFonts.push(m),this.editorUi.fireEvent(new mxEventObject("customFontsChanged")))}))})));this.put("formatBlock",new Menu(mxUtils.bind(this,function(f,h){function d(g,m){return f.addItem(g,null,mxUtils.bind(this,function(){null!=b.cellEditor.textarea&&(b.cellEditor.textarea.focus(),document.execCommand("formatBlock",!1,"<"+ m+">"))}),h)}d(mxResources.get("normal"),"p");d("","h1").firstChild.nextSibling.innerHTML='

'+mxResources.get("heading")+" 1

";d("","h2").firstChild.nextSibling.innerHTML='

'+mxResources.get("heading")+" 2

";d("","h3").firstChild.nextSibling.innerHTML='

'+mxResources.get("heading")+" 3

";d("","h4").firstChild.nextSibling.innerHTML='

'+mxResources.get("heading")+" 4

";d("","h5").firstChild.nextSibling.innerHTML= '
'+mxResources.get("heading")+" 5
";d("","h6").firstChild.nextSibling.innerHTML='
'+mxResources.get("heading")+" 6
";d("","pre").firstChild.nextSibling.innerHTML='
'+mxResources.get("formatted")+"
";d("","blockquote").firstChild.nextSibling.innerHTML='
'+mxResources.get("blockquote")+"
"})));this.put("fontSize",new Menu(mxUtils.bind(this,function(f,h){var d= -[6,8,9,10,11,12,14,18,24,36,48,72];0>mxUtils.indexOf(d,this.defaultFontSize)&&(d.push(this.defaultFontSize),d.sort(function(w,z){return w-z}));for(var g=mxUtils.bind(this,function(w){if(null!=b.cellEditor.textarea){document.execCommand("fontSize",!1,"3");for(var z=b.cellEditor.textarea.getElementsByTagName("font"),C=0;CmxUtils.indexOf(d,this.customFontSizes[q])&&(m(this.customFontSizes[q]),k++);0mxUtils.indexOf(d,this.defaultFontSize)&&(d.push(this.defaultFontSize),d.sort(function(x,z){return x-z}));for(var g=mxUtils.bind(this,function(x){if(null!=b.cellEditor.textarea){document.execCommand("fontSize",!1,"3");for(var z=b.cellEditor.textarea.getElementsByTagName("font"),C=0;CmxUtils.indexOf(d,this.customFontSizes[p])&&(m(this.customFontSizes[p]),k++);0"];for(var T=0;T");for(var K=0;K
");I.push("")}I.push("");E=I.join("");L.call(G,E);E=G.cellEditor.textarea.getElementsByTagName("table");if(E.length==C.length+1)for(L=E.length-1;0<=L;L--)if(0==L||E[L]!=C[L-1]){G.selectNode(E[L].rows[0].cells[0]);break}}});var d=this.editorUi.editor.graph,g=null,m=null;null==e&&(a.div.className+=" geToolbarMenu", -a.labels=!1);a=a.addItem("",null,null,e,null,null,null,!0);a.firstChild.style.fontSize=Menus.prototype.defaultFontSize+"px";e=a.getElementsByTagName("td");1';this.appendDropDownImageHtml(a);b=a.getElementsByTagName("div")[0];b.style.marginLeft=h+"px";b.style.marginTop=d+"px";EditorUi.compactUi&&(a.getElementsByTagName("img")[0].style.left="24px",a.getElementsByTagName("img")[0].style.top="5px",a.style.width= -e-10+"px")};Toolbar.prototype.setFontName=function(a){if(null!=this.fontMenu){this.fontMenu.innerText="";var b=document.createElement("div");b.style.display="inline-block";b.style.overflow="hidden";b.style.textOverflow="ellipsis";b.style.maxWidth="66px";mxUtils.write(b,a);this.fontMenu.appendChild(b);this.appendDropDownImageHtml(this.fontMenu)}}; +Menu.prototype.setEnabled=function(a){this.enabled!=a&&(this.enabled=a,this.fireEvent(new mxEventObject("stateChanged")))};Menu.prototype.execute=function(a,b){this.funct(a,b)};EditorUi.prototype.createMenus=function(){return new Menus(this)};function Toolbar(a,b){this.editorUi=a;this.container=b;this.staticElements=[];this.init();this.gestureHandler=mxUtils.bind(this,function(e){null!=this.editorUi.currentMenu&&mxEvent.getSource(e)!=this.editorUi.currentMenu.div&&this.hideMenu()});mxEvent.addGestureListeners(document,this.gestureHandler)}Toolbar.prototype.selectedBackground="#d0d0d0";Toolbar.prototype.unselectedBackground="none";Toolbar.prototype.staticElements=null; +Toolbar.prototype.init=function(){var a=screen.width;a-=740d.div.clientHeight&&(d.div.style.width="40px");d.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(d, -arguments);this.editorUi.resetCurrentMenu();d.destroy()});var q=mxUtils.getOffset(a);d.popup(q.x,q.y+a.offsetHeight,null,m);this.editorUi.setCurrentMenu(d,a)}g=!0;mxEvent.consume(m)}));mxEvent.addListener(a,mxClient.IS_POINTER?"pointerdown":"mousedown",mxUtils.bind(this,function(m){g=null==d||null==d.div||null==d.div.parentNode;m.preventDefault()}))}};Toolbar.prototype.destroy=function(){null!=this.gestureHandler&&(mxEvent.removeGestureListeners(document,this.gestureHandler),this.gestureHandler=null)};var OpenDialog=function(){var a=document.createElement("iframe");a.style.backgroundColor="transparent";a.allowTransparency="true";a.style.borderStyle="none";a.style.borderWidth="0px";a.style.overflow="hidden";a.style.maxWidth="100%";a.frameBorder="0";a.setAttribute("width",(Editor.useLocalStorage?640:320)+"px");a.setAttribute("height",(Editor.useLocalStorage?480:220)+"px");a.setAttribute("src",OPEN_FORM);this.container=a},ColorPicker=function(){function a(E,D,G){if(null==E)return[G,G,G];var I=Math.floor(E), +arguments);this.editorUi.resetCurrentMenu();d.destroy()});var p=mxUtils.getOffset(a);d.popup(p.x,p.y+a.offsetHeight,null,m);this.editorUi.setCurrentMenu(d,a)}g=!0;mxEvent.consume(m)}));mxEvent.addListener(a,mxClient.IS_POINTER?"pointerdown":"mousedown",mxUtils.bind(this,function(m){g=null==d||null==d.div||null==d.div.parentNode;m.preventDefault()}))}};Toolbar.prototype.destroy=function(){null!=this.gestureHandler&&(mxEvent.removeGestureListeners(document,this.gestureHandler),this.gestureHandler=null)};var OpenDialog=function(){var a=document.createElement("iframe");a.style.backgroundColor="transparent";a.allowTransparency="true";a.style.borderStyle="none";a.style.borderWidth="0px";a.style.overflow="hidden";a.style.maxWidth="100%";a.frameBorder="0";a.setAttribute("width",(Editor.useLocalStorage?640:320)+"px");a.setAttribute("height",(Editor.useLocalStorage?480:220)+"px");a.setAttribute("src",OPEN_FORM);this.container=a},ColorPicker=function(){function a(E,D,G){if(null==E)return[G,G,G];var I=Math.floor(E), L=G*(1-D);E=G*(1-D*(I%2?E-I:1-(E-I)));switch(I){case 6:case 0:return[G,E,L];case 1:return[E,G,L];case 2:return[L,G,E];case 3:return[L,E,G];case 4:return[E,L,G];case 5:return[G,L,E]}}mxEventSource.call(this);var b=document.createElement("div");b.style.overflow="visible";b.style.position="relative";b.style.top="0px";b.style.left="0px";b.style.width="230px";b.style.height="114px";var e=document.createElement("div");e.style.border="1px solid light-dark(black, white)";e.style.backgroundImage="url("+this.hsImage+ ")";e.style.position="absolute";e.style.overflow="hidden";e.style.cursor="crosshair";e.style.width="181px";e.style.height="101px";e.style.left="6px";e.style.top="4px";var f=document.createElement("div");f.style.background="url("+this.crossImage+")";f.style.pointerEvents="none";f.style.position="absolute";f.style.width="15px";f.style.height="15px";f.style.left="-8px";f.style.top="-8px";var h=[0,0,1];e.appendChild(f);b.appendChild(e);sliderBox=document.createElement("div");sliderBox.style.position= -"absolute";sliderBox.style.cursor="pointer";sliderBox.style.width="38px";sliderBox.style.height="110px";sliderBox.style.left="199px";sliderBox.style.top="4px";var d=document.createElement("div");d.style.border="1px solid light-dark(black, white)";d.style.pointerEvents="none";d.style.overflow="hidden";d.style.position="absolute";d.style.width="16px";d.style.height="101px";d.style.left="9px";d.style.top="0px";var g=!1,m=!1,q=mxUtils.bind(this,function(E){var D=Math.round(100*(1-h[1]));f.style.left= +"absolute";sliderBox.style.cursor="pointer";sliderBox.style.width="38px";sliderBox.style.height="110px";sliderBox.style.left="199px";sliderBox.style.top="4px";var d=document.createElement("div");d.style.border="1px solid light-dark(black, white)";d.style.pointerEvents="none";d.style.overflow="hidden";d.style.position="absolute";d.style.width="16px";d.style.height="101px";d.style.left="9px";d.style.top="0px";var g=!1,m=!1,p=mxUtils.bind(this,function(E){var D=Math.round(100*(1-h[1]));f.style.left= Math.round(h[0]/6*180)-8+"px";f.style.top=D-8+"px";D=d.childNodes;for(var G=a(h[0],h[1],1),I=0;IG&&(G=0);6E&&(E=0);1D&&(D=0);1k;k+=4)u=document.createElement("div"),u.style.height= +mxUtils.rgba2hex(D)))}),k=mxUtils.bind(this,function(E){0==h[2]&&(h[2]=1);g=!0;x(E)}),u=mxUtils.bind(this,function(E){m=!0;x(E)}),x=mxUtils.bind(this,function(E){if(g){var D=e.getBoundingClientRect(),G=mxEvent.getClientX(E)-D.left;E=mxEvent.getClientY(E)-D.top;f.style.left=G-8+"px";f.style.top=E-8+"px";G*=6/180;E=1-E/100;D=void 0;0>G&&(G=0);6E&&(E=0);1D&&(D=0);1k;k+=4)u=document.createElement("div"),u.style.height= "4px",u.style.pointerEvents="none",d.appendChild(u);b.appendChild(d);var C=document.createElement("div");C.style.background="url("+this.arrowImage+")";C.style.position="absolute";C.style.pointerEvents="none";C.style.width="7px";C.style.height="11px";C.style.left="2px";C.style.top="-3px";sliderBox.appendChild(C);sliderBox.appendChild(d);b.appendChild(sliderBox);this.fromString=function(E,D){D=null!=D?D:!1;if(null==E||""==E||mxUtils.isVarColor(E)||E==mxConstants.NONE)E="#ffffff",D=!0;var G=mxUtils.parseColor(E); -E=G.r/255;var I=G.g/255,L=G.b/255,T=Math.min(Math.min(E,I),L);G=Math.max(Math.max(E,I),L);var K=G-T;0===K?E=[null,0,G]:(E=E===T?3+(L-I)/K:I===T?5+(E-L)/K:1+(I-E)/K,E=[6===E?0:E,K/G,G]);null!=E[0]&&(h[0]=E[0]);0!=E[2]&&(h[1]=E[1]);h[2]=E[2];q(D)};this.fromString("#ffffff");this.div=b};mxUtils.extend(ColorPicker,mxEventSource);ColorPicker.prototype.hsImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALUAAABlCAIAAACEDzXRAAAKQ0lEQVR42u2d23IjKwxFBeRh5v8/9uQlzXlI2gGELoCEm6pxubp6PI69WoV3C20uIQPAH4A/AH/p41/pDcTxP4BPGDtq3vYJGPpv8craeRdo/fyTI8ZhHnodOGgcV/3rnx8QI0SABO2xfAbiCfVR8Wj+CD8jenbRJNyGOxLoAaH1iLu4EUEHAv1+MsQ4zLE4AiIOcpibv4u9OET6+cP4ASnJ1JH4/G60A9km+GbBxLlpKAkADoR2JnaBrvWD/x1GCZn9EYLEHqVfI6Efx0D7E9tDF/rBSJ54l8FqTUse0J+EvxPrdK0fD4aOLXQi7zyGxMaRvvWjjH2U8o9I44OKnf+wyCpHoR/Phk6d/COq8481YrNI3/qR2B+kMl1Fl6J8o/JrU/GEA6HdiB2ha/0YBVx7rFwNHAj9JuIl6EI/qKyJug4Yvg7xA0QEpB8nQe8itoQu9EOT8M3mTsqUSUzykH6cBO1PbA9d91+ShDzV9xrtcgW21IT6L0yfcS90FKCdw+wS6Q9ISWjVfLTVVT2mdiPGGRduFKWm7dBStWlLmI0j/QExdgp7gT5qCu2BLKiLqtc94hI7PB8auQP4KuyIvSJ960fUqXWcd2F48Khr1bHSj2dDp/afmg7tMrFxpG/9mHMFuqrH3spFw0s0Bgr9OAzamdgFutaPpMuqo6WVEXWJdSL14xhof2J76MKfS2yXWGOVB1WXXGOVdxFSx587CXoLsTE0689RH7VW4RMLeKI9wPpzz4XeS2wDzdbXR52AWStjwiSAA6HdiB2h1f6cqT0whzzuzz0LejuxATTy90Xt40v7CzdGRvKS4O/zQ0AiXaRW5x/dv4vS4A/a308LYR5pFquRRvlHIrKWoCj5woCVId4eR/KPNDjURg2tdEC7rSQN5B9DYR70X5YivVxft7AyrOvrD4V2JnaBJurr+qpemLEywlRhT6qvPx16C7ExdK0fSjcj0maAzsqgBt7rfIxGP46B9iT2gi70I842bNj0U4wd/WAG/L5VP3p0W4iNoYv6Oh6eoJmSMW5laIzF8iT1TtgeV9RZoZ7QvdEUzsQu0CP+HOMKDFoZvDFg6s89CNqf2B5a4e8Hts84W0pgeohBtspBXYp8H3Tk/H23MBtHuvbn5mp7dlU9TUkP+XNJMabzHdCIbnuYDSItzZ+bdgUWrAwNPhwInRxw1/wXuYGj+4vo7flboRpjEQ6EjgojYK9/K04NFfNTauEBypXQWQLAfqQoHl9CfvpQ6C3ExtC9/q2YW2u6X1JWzfsYFPKX3L99LrQ/sT10XR+jKh+UN2AxlDOyXfLQaxxf/fkvT4d2JnaBZv258M6h4IFu2Em7/sezoLcQG0Mjfy6xrqLnVBLGWHw1i69WP5LCCn0TNEL3DLNXpCV/n5oo5jAVLY5Em6i8Pwm6uSNuCrNxpNX+nDira20qqyZriv384xhoZ2IX6Lr/wg8eiwpXYGQqPEgjsBrX+er3X46B9ie2h6bX/4i6IfcLS2mIY++7TfoCuLj6hwgN89CwBJ3Gx8rOVsn0kQ48tDS/4X1L8SzMb3BbkGdtwsD05AbP9YOU8xui+uljZei/P/3qx2HQbsSO0Ar/lveHLZYCVK4GeN1P5N+eAb2R2Aya9ueUY+8dlhLtdhWvgfEfz4AeGf9hR2wcaeTPpacvRdzLTx8J/Qq1Ij995PrJ3/mp0p8LO5YyF0s215g/9yxoZ2IXaLo+FiwtgTlvIAznp4+G3khsBk3Pf5mYvqOwMqZnNnw3i9cRDoT2JPaCZuvreskDuXkHxfQMvfbBgdBbiI2hC/3QLCg6lESZZkrfJ7nSj3gWNEMcRkYJsf5L0BXENBl1WV8/aquMLM9/eSJ0UtxZmFGGg4MigZ75ovHnvsOcUX09zRbzjCrU/K/Rev0gT2i2vu4cZrNI1+sH2e49Yb3lRC6e9fSS9ETohjj7hdkx0rQ/57/rxIrhBQdCv494Hlrtz1lo30Qjz1z+cRh02ndTNIMm1j8NxtmePs+76i+/esJHrH/6dGh/YntoRf9l2RtQWgJXzY4bdtbqx0OhnYldoHv7I79jf4+rOGGaRWr14yToLcTG0Ky/v32rjAsdX9S5vgI4ENqT2Asa7Z/9vq0yStiGNNVHkOe/RGmqwBQ0jEDHFpoJ85BLN+jPaRoHGWl2/2yx3msxVRHjZ0Td4GfV/Bf9bCM1dBiBfrHeJ1HR6dKEedDf5yPdBLilp/efC3Ribb1VxlUHGQe8iTb0598+Hdqf2B6a3b9SOerezsoIBWaJ3IBn1fp0j4PeQmwMzc5/idLK3UZWRkmKX2zA4Vc/DoPeSGwGrdvfY24RpKmVjrLuCQdCuxE7Qkv64TZ3Z44dVPrxUOh3EK9C1/lHGpz7ZzpVsYTF7K8Hyj+Ogd5FbAk9uL9H9LIyYg821sjo13gYtD+xPbRU/9Ds/b1sZTTIr5OStMGHA6GdiV2gUf2UmQcfJdUbXOoe6HoN1A0b2uQD4EBosXJqQTwKnXvXAEX+oZlfGaS9ewetDGCLeV1exH4e9Mr+2TDpv2iggYFW+LdBsTbngv/yUroGH0jleEX7MOgtxMbQ7PzKoMuajKyM8pYIiB194HnQzsQu0Gp/LvpulVHylsgK/TgG2p/YHrqXf6T3bJUBhfxFWUDPg95CbAytm/+ycasM9WOxWu0PnTniLWE2iLRi/4Z3bJXRvY76s0+Arl93I3aMNOHPBce2PdSkL7Kpnwe9l9gGutCPoFgkUtytXAGbex0vKCznSOs00o+ToLcQG0N/QErCrG6jrTIynVUDwo896vCzssPrNnAYtD+xPfR9fwmKeu/CVhm5OAn1STPkvhxBW1KXjeP60Y/DoJ2JXaAL/RCPy+PXc80L9d7OV294dVPbC/fb4EDoLcTG0IV+TCDrrIxMHIFg512BWj9OgvYk9oK+9SMoZG55q/JMiGS40/sLjacu28T3MVfd0Aha+u3QJXr+0Q//MBtHutaPQOzh3H0RBoZS5OJ/MjqJ9x2vQb7qgSuvX0StH0+FLptzrvTDh9gl0oV+iAbi2lAsqNmbK3yBAyLNdbRzW8Y6Btqf2B76A2IURE2zZY16KGfZlwqofJSL4feABka+xCNX+ekx0LuILaFr/Zit7s4ZA7y5Qg2sDr/t4zDodxCvQt/6occctDKGriMPzH85D9qN2BG61g/QwcLSVDSGl78C6LePY6A3EptBf0BKcjWWH/GqyJqoxKnMufEVBLJxAJwJ7U9sDH3fX0CxnIB4orMyuilTyRh6g+0bfDgQ2p/YHrrQD+jV6qb/SdRrMit8TRWwyEabxgFwJrQnsQt0rR+LR3VqFNiGHRBv73ge9EZiM+haPyicuRcVmIxzAMTMl9wfi3sGtBuxF3ShH92C29yJTteU+ohbRrZk3Qe9hdgY+tYPnOqanA+mTN33ZGKE06HQbsQu0LV+MF8+94rU5dK8B8/KyJaI+6D9ie2hC/3Q12QnSnYLn5p9P/6d0D7EltAh5wz/Hv8exON/LUjHOuz5CksAAAAASUVORK5CYII="; +E=G.r/255;var I=G.g/255,L=G.b/255,T=Math.min(Math.min(E,I),L);G=Math.max(Math.max(E,I),L);var K=G-T;0===K?E=[null,0,G]:(E=E===T?3+(L-I)/K:I===T?5+(E-L)/K:1+(I-E)/K,E=[6===E?0:E,K/G,G]);null!=E[0]&&(h[0]=E[0]);0!=E[2]&&(h[1]=E[1]);h[2]=E[2];p(D)};this.fromString("#ffffff");this.div=b};mxUtils.extend(ColorPicker,mxEventSource);ColorPicker.prototype.hsImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALUAAABlCAIAAACEDzXRAAAKQ0lEQVR42u2d23IjKwxFBeRh5v8/9uQlzXlI2gGELoCEm6pxubp6PI69WoV3C20uIQPAH4A/AH/p41/pDcTxP4BPGDtq3vYJGPpv8craeRdo/fyTI8ZhHnodOGgcV/3rnx8QI0SABO2xfAbiCfVR8Wj+CD8jenbRJNyGOxLoAaH1iLu4EUEHAv1+MsQ4zLE4AiIOcpibv4u9OET6+cP4ASnJ1JH4/G60A9km+GbBxLlpKAkADoR2JnaBrvWD/x1GCZn9EYLEHqVfI6Efx0D7E9tDF/rBSJ54l8FqTUse0J+EvxPrdK0fD4aOLXQi7zyGxMaRvvWjjH2U8o9I44OKnf+wyCpHoR/Phk6d/COq8481YrNI3/qR2B+kMl1Fl6J8o/JrU/GEA6HdiB2ha/0YBVx7rFwNHAj9JuIl6EI/qKyJug4Yvg7xA0QEpB8nQe8itoQu9EOT8M3mTsqUSUzykH6cBO1PbA9d91+ShDzV9xrtcgW21IT6L0yfcS90FKCdw+wS6Q9ISWjVfLTVVT2mdiPGGRduFKWm7dBStWlLmI0j/QExdgp7gT5qCu2BLKiLqtc94hI7PB8auQP4KuyIvSJ960fUqXWcd2F48Khr1bHSj2dDp/afmg7tMrFxpG/9mHMFuqrH3spFw0s0Bgr9OAzamdgFutaPpMuqo6WVEXWJdSL14xhof2J76MKfS2yXWGOVB1WXXGOVdxFSx587CXoLsTE0689RH7VW4RMLeKI9wPpzz4XeS2wDzdbXR52AWStjwiSAA6HdiB2h1f6cqT0whzzuzz0LejuxATTy90Xt40v7CzdGRvKS4O/zQ0AiXaRW5x/dv4vS4A/a308LYR5pFquRRvlHIrKWoCj5woCVId4eR/KPNDjURg2tdEC7rSQN5B9DYR70X5YivVxft7AyrOvrD4V2JnaBJurr+qpemLEywlRhT6qvPx16C7ExdK0fSjcj0maAzsqgBt7rfIxGP46B9iT2gi70I842bNj0U4wd/WAG/L5VP3p0W4iNoYv6Oh6eoJmSMW5laIzF8iT1TtgeV9RZoZ7QvdEUzsQu0CP+HOMKDFoZvDFg6s89CNqf2B5a4e8Hts84W0pgeohBtspBXYp8H3Tk/H23MBtHuvbn5mp7dlU9TUkP+XNJMabzHdCIbnuYDSItzZ+bdgUWrAwNPhwInRxw1/wXuYGj+4vo7flboRpjEQ6EjgojYK9/K04NFfNTauEBypXQWQLAfqQoHl9CfvpQ6C3ExtC9/q2YW2u6X1JWzfsYFPKX3L99LrQ/sT10XR+jKh+UN2AxlDOyXfLQaxxf/fkvT4d2JnaBZv258M6h4IFu2Em7/sezoLcQG0Mjfy6xrqLnVBLGWHw1i69WP5LCCn0TNEL3DLNXpCV/n5oo5jAVLY5Em6i8Pwm6uSNuCrNxpNX+nDira20qqyZriv384xhoZ2IX6Lr/wg8eiwpXYGQqPEgjsBrX+er3X46B9ie2h6bX/4i6IfcLS2mIY++7TfoCuLj6hwgN89CwBJ3Gx8rOVsn0kQ48tDS/4X1L8SzMb3BbkGdtwsD05AbP9YOU8xui+uljZei/P/3qx2HQbsSO0Ar/lveHLZYCVK4GeN1P5N+eAb2R2Aya9ueUY+8dlhLtdhWvgfEfz4AeGf9hR2wcaeTPpacvRdzLTx8J/Qq1Ij995PrJ3/mp0p8LO5YyF0s215g/9yxoZ2IXaLo+FiwtgTlvIAznp4+G3khsBk3Pf5mYvqOwMqZnNnw3i9cRDoT2JPaCZuvreskDuXkHxfQMvfbBgdBbiI2hC/3QLCg6lESZZkrfJ7nSj3gWNEMcRkYJsf5L0BXENBl1WV8/aquMLM9/eSJ0UtxZmFGGg4MigZ75ovHnvsOcUX09zRbzjCrU/K/Rev0gT2i2vu4cZrNI1+sH2e49Yb3lRC6e9fSS9ETohjj7hdkx0rQ/57/rxIrhBQdCv494Hlrtz1lo30Qjz1z+cRh02ndTNIMm1j8NxtmePs+76i+/esJHrH/6dGh/YntoRf9l2RtQWgJXzY4bdtbqx0OhnYldoHv7I79jf4+rOGGaRWr14yToLcTG0Ky/v32rjAsdX9S5vgI4ENqT2Asa7Z/9vq0yStiGNNVHkOe/RGmqwBQ0jEDHFpoJ85BLN+jPaRoHGWl2/2yx3msxVRHjZ0Td4GfV/Bf9bCM1dBiBfrHeJ1HR6dKEedDf5yPdBLilp/efC3Ribb1VxlUHGQe8iTb0598+Hdqf2B6a3b9SOerezsoIBWaJ3IBn1fp0j4PeQmwMzc5/idLK3UZWRkmKX2zA4Vc/DoPeSGwGrdvfY24RpKmVjrLuCQdCuxE7Qkv64TZ3Z44dVPrxUOh3EK9C1/lHGpz7ZzpVsYTF7K8Hyj+Ogd5FbAk9uL9H9LIyYg821sjo13gYtD+xPbRU/9Ds/b1sZTTIr5OStMGHA6GdiV2gUf2UmQcfJdUbXOoe6HoN1A0b2uQD4EBosXJqQTwKnXvXAEX+oZlfGaS9ewetDGCLeV1exH4e9Mr+2TDpv2iggYFW+LdBsTbngv/yUroGH0jleEX7MOgtxMbQ7PzKoMuajKyM8pYIiB194HnQzsQu0Gp/LvpulVHylsgK/TgG2p/YHrqXf6T3bJUBhfxFWUDPg95CbAytm/+ycasM9WOxWu0PnTniLWE2iLRi/4Z3bJXRvY76s0+Arl93I3aMNOHPBce2PdSkL7Kpnwe9l9gGutCPoFgkUtytXAGbex0vKCznSOs00o+ToLcQG0N/QErCrG6jrTIynVUDwo896vCzssPrNnAYtD+xPfR9fwmKeu/CVhm5OAn1STPkvhxBW1KXjeP60Y/DoJ2JXaAL/RCPy+PXc80L9d7OV294dVPbC/fb4EDoLcTG0IV+TCDrrIxMHIFg512BWj9OgvYk9oK+9SMoZG55q/JMiGS40/sLjacu28T3MVfd0Aha+u3QJXr+0Q//MBtHutaPQOzh3H0RBoZS5OJ/MjqJ9x2vQb7qgSuvX0StH0+FLptzrvTDh9gl0oV+iAbi2lAsqNmbK3yBAyLNdbRzW8Y6Btqf2B76A2IURE2zZY16KGfZlwqofJSL4feABka+xCNX+ekx0LuILaFr/Zit7s4ZA7y5Qg2sDr/t4zDodxCvQt/6occctDKGriMPzH85D9qN2BG61g/QwcLSVDSGl78C6LePY6A3EptBf0BKcjWWH/GqyJqoxKnMufEVBLJxAJwJ7U9sDH3fX0CxnIB4orMyuilTyRh6g+0bfDgQ2p/YHrrQD+jV6qb/SdRrMit8TRWwyEabxgFwJrQnsQt0rR+LR3VqFNiGHRBv73ge9EZiM+haPyicuRcVmIxzAMTMl9wfi3sGtBuxF3ShH92C29yJTteU+ohbRrZk3Qe9hdgY+tYPnOqanA+mTN33ZGKE06HQbsQu0LV+MF8+94rU5dK8B8/KyJaI+6D9ie2hC/3Q12QnSnYLn5p9P/6d0D7EltAh5wz/Hv8exON/LUjHOuz5CksAAAAASUVORK5CYII="; ColorPicker.prototype.crossImage="data:image/gif;base64,R0lGODlhDwAPAKEBAAAAAP///////////yH5BAEKAAIALAAAAAAPAA8AAAIklB8Qx53b4otSUWcvyiz4/4AeQJbmKY4p1HHapBlwPL/uVRsFADs=";ColorPicker.prototype.arrowImage="data:image/gif;base64,R0lGODlhBwALAKECAAAAAP///6g8eKg8eCH5BAEKAAIALAAAAAAHAAsAAAITTIQYcLnsgGxvijrxqdQq6DRJAQA7"; -var ColorDialog=function(a,b,e,f,h,d,g){function m(V){return mxUtils.color2hex("#"+V).substring(1).toUpperCase()}function q(){W.src="none"==M.style.display?Editor.arrowRightImage:Editor.arrowDownImage}function k(V){""==V.value&&null!=I&&T?V.style.background=V==Y?I.dark:I.light:""==V.value||V.value==mxConstants.NONE||mxUtils.isVarColor(V.value)?V.style.background="transparent":V.style.background="#"+V.value;V.style.color="transparent"==V.style.background?"light-dark(#000000, #ffffff)":mxUtils.isDarkColor(V.style.background)? -"#ffffff":"#000000"}function u(){k(K);k(Y)}function w(V){V?(K.value="",Y.value="",Q.value="automatic",K.setAttribute("placeholder",mxResources.get("useBlackAndWhite")),Y.setAttribute("title",mxResources.get("useBlackAndWhite")),K.setAttribute("title",mxResources.get("useBlackAndWhite"))):(""==K.value&&null!=I&&(K.value=I.light.substring(1).toUpperCase()),K.removeAttribute("placeholder"),K.removeAttribute("title"),""==Y.value&&null!=I&&(Y.value=I.dark.substring(1).toUpperCase()),Y.removeAttribute("placeholder"), -Y.removeAttribute("title"),V=!1);T=V}function z(V){var ja=V.value,H=ja.toLowerCase();null==h||""!=ja&&"automatic"!=H&&"default"!=H&&H!=mxResources.get("default").toLowerCase()&&H!=mxResources.get("automatic").toLowerCase()||null==I?(V.value==mxConstants.NONE||mxUtils.isVarColor(V.value)||(V.value=m(V.value),oa.fromString("#"+V.value)),w(!1),V!=Y||K.value==mxConstants.NONE&&Y.value==mxConstants.NONE||(Q.value="custom"),V==K&&"automatic"==Q.value&&(K.value==mxConstants.NONE?Y.value=mxConstants.NONE: -mxUtils.isVarColor(K.value)?Y.value=K.value:Y.value=mxUtils.rgba2hex(mxUtils.getInverseColor("#"+V.value)).substring(1).toUpperCase()),u()):aa.click()}function C(){var V=K.value,ja=Y.value;if(T&&null!=I||(/(^#?[a-zA-Z0-9]*$)/.test(V)||mxUtils.isVarColor(V))&&(/(^#?[a-zA-Z0-9]*$)/.test(ja)||mxUtils.isVarColor(ja))){if(T)V="default";else if(""==V&&(V=mxConstants.NONE),""==ja&&(ja=mxConstants.NONE),V==mxConstants.NONE||mxUtils.isVarColor(V)||"#"==V.charAt(0)||(V="#"+m(V)),ja==mxConstants.NONE||mxUtils.isVarColor(ja)|| -"#"==ja.charAt(0)||(ja="#"+m(ja)),ColorDialog.addRecentColor("none"!=V?V.substring(1):V,12),"automatic"!=Q.value&&ColorDialog.addRecentColor("none"!=ja?ja.substring(1):ja,12),"none"!=V||"none"!=ja)V=V==mxConstants.NONE?"transparent":V,ja=ja==mxConstants.NONE?"transparent":ja,g||"automatic"==Q.value||(V="light-dark("+V+","+ja+")");ia(V);a.hideDialog()}else a.handleError({message:mxResources.get("invalidInput")})}function E(){mxClient.IS_TOUCH||(qa.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode? -qa.select():document.execCommand("selectAll",!1,null))}function D(){var V=Z(0==ColorDialog.recentColors.length?["FFFFFF"]:ColorDialog.recentColors,11,"FFFFFF",!0);V.style.marginBottom="8px";return V}function G(V){13==V.keyCode&&(z(mxEvent.getSource(V)),C())}var I=null!=d?mxUtils.getLightDarkColor(d):null,L=a.editor.graph;this.editorUi=a;var T=!1;"default"==b||"transparent"==b||b==mxConstants.NONE||mxUtils.isVarColor(b)||mxUtils.isHexColor(b)||mxUtils.isRgbColor(b)||mxUtils.isLightDarkColor(b)||(b= -mxUtils.color2hex(b));var K=document.createElement("input");K.style.textOverflow="ellipsis";K.style.margin="0 0 0 4px";K.style.width="100%";d=document.createElement("div");d.style.padding="0 4px";var U=document.createElement("div");U.style.display="flex";U.style.alignItems="center";d.appendChild(U);var Y=document.createElement("input");Y.style.textOverflow="ellipsis";Y.style.margin="0 4px";Y.style.maxWidth="60px";Y.style.width="100%";var Q=document.createElement("select");Q.style.textOverflow="ellipsis"; -Q.style.width="100%";var P=document.createElement("option");P.setAttribute("value","automatic");mxUtils.write(P,mxResources.get("automatic"));Q.appendChild(P);P=document.createElement("option");P.setAttribute("value","custom");mxUtils.write(P,mxResources.get("userDefined"));Q.appendChild(P);Q.value=mxUtils.isLightDarkColor(b)?"custom":"automatic";var M=document.createElement("div");M.style.padding="0 6px 0 6px";P=document.createElement("img");P.setAttribute("title",mxResources.get("dark"));P.className= -"geAdaptiveAsset";P.src=Editor.thinDarkImage;P.style.width="20px";M.appendChild(P);mxEvent.addListener(P,"click",function(){Y.focus()});M.appendChild(Y);M.appendChild(Q);M.style.display="flex";M.style.alignItems="center";P=document.createElement("div");P.style.display="flex";P.style.alignItems="center";P.style.userSelect="none";P.style.cursor="pointer";P.style.padding="2px 0 2px 0";var W=document.createElement("img");W.setAttribute("title",mxResources.get("dark"));W.className="geAdaptiveAsset";W.style.marginLeft= -"-2px";P.appendChild(W);mxUtils.write(P,mxResources.get("advanced"));q();mxEvent.addListener(P,"click",function(){M.style.display="none"==M.style.display?"flex":"none";q();q();ColorDialog.collapsed="none"==M.style.display});var aa=mxUtils.button("",function(){w(!0);u();qa.focus();""==qa.value&&null!=I&&T&&oa.fromString(qa==Y?I.dark:I.light,!0)});mxEvent.addListener(Q,"change",function(){"automatic"==Q.value?(K.focus(),z(K)):(w(!1),mxUtils.isVarColor(Y.value)||(Y.value=T&&null!=I?I.dark.substring(1).toUpperCase(): -Y.value=mxUtils.rgba2hex(mxUtils.getInverseColor("#"+K.value)).substring(1).toUpperCase()),Y.focus(),E());u()});mxEvent.addListener(K,"change",function(){z(K)});mxEvent.addListener(Y,"change",function(){z(Y)});var ia=null!=e?e:this.createApplyFunction();this.init=function(){E()};var oa=new ColorPicker,qa=Editor.isDarkMode()&&("auto"==L.getAdaptiveColors()||"simple"==L.getAdaptiveColors()&&"custom"==Q.value)&&!g?Y:K;mxEvent.addListener(K,"focus",function(){qa=K});mxEvent.addListener(Y,"focus",function(){qa= -Y});oa.addListener("change",function(V,ja){V=ja.getProperty("color").substring(1).toUpperCase();qa.value.toUpperCase()!=V&&(qa.value=V,z(qa),window.setTimeout(function(){qa.focus()},0))});e=document.createElement("div");e.appendChild(oa.div);var O=document.createElement("div");O.style.display="flex";O.style.flexFlow="row wrap";O.style.justifyContent="center";O.style.paddingTop="10px";var Z=mxUtils.bind(this,function(V,ja,H,ea){ja=null!=ja?ja:12;var la=document.createElement("table");la.style.borderCollapse= -"collapse";la.setAttribute("cellspacing","0");la.style.marginBottom="20px";la.style.cellSpacing="0px";la.style.marginLeft="1px";var sa=document.createElement("tbody");la.appendChild(sa);for(var Pa=V.length/ja,ma=0;ma=b&&ColorDialog.recentColors.pop())};ColorDialog.resetRecentColors=function(){ColorDialog.recentColors=[]};ColorDialog.collapsed=!0; var AboutDialog=function(a){var b=document.createElement("div");b.setAttribute("align","center");var e=document.createElement("h3");mxUtils.write(e,mxResources.get("about")+" GraphEditor");b.appendChild(e);e=document.createElement("img");e.style.border="0px";e.setAttribute("width","176");e.setAttribute("width","151");e.setAttribute("src",IMAGE_PATH+"/logo.png");b.appendChild(e);mxUtils.br(b);mxUtils.write(b,"Powered by mxGraph "+mxClient.VERSION);mxUtils.br(b);e=document.createElement("a");e.setAttribute("href", -"http://www.jgraph.com/");e.setAttribute("target","_blank");mxUtils.write(e,"www.jgraph.com");b.appendChild(e);mxUtils.br(b);mxUtils.br(b);e=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});e.className="geBtn gePrimaryBtn";b.appendChild(e);this.container=b},TextareaDialog=function(a,b,e,f,h,d,g,m,q,k,u,w,z,C,E){k=null!=k?k:!1;g=document.createElement("div");g.style.position="absolute";g.style.top="20px";g.style.bottom="20px";g.style.left="20px";g.style.right="20px";m=document.createElement("div"); +"http://www.jgraph.com/");e.setAttribute("target","_blank");mxUtils.write(e,"www.jgraph.com");b.appendChild(e);mxUtils.br(b);mxUtils.br(b);e=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});e.className="geBtn gePrimaryBtn";b.appendChild(e);this.container=b},TextareaDialog=function(a,b,e,f,h,d,g,m,p,k,u,x,z,C,E){k=null!=k?k:!1;g=document.createElement("div");g.style.position="absolute";g.style.top="20px";g.style.bottom="20px";g.style.left="20px";g.style.right="20px";m=document.createElement("div"); m.style.position="absolute";m.style.left="0px";m.style.right="0px";var D=m.cloneNode(!1),G=m.cloneNode(!1);m.style.top="0px";m.style.height="20px";D.style.top="20px";D.style.bottom="64px";G.style.bottom="0px";G.style.height="60px";G.style.textAlign="right";G.style.paddingTop="14px";G.style.boxSizing="border-box";mxUtils.write(m,b);g.appendChild(m);g.appendChild(D);g.appendChild(G);null!=E&&m.appendChild(E);var I=document.createElement("textarea");u?I.setAttribute("wrap","off"):I.style.wordBreak="break-all"; I.setAttribute("spellcheck","false");I.setAttribute("autocorrect","off");I.setAttribute("autocomplete","off");I.setAttribute("autocapitalize","off");mxUtils.write(I,e||"");I.style.resize="none";I.style.outline="none";I.style.position="absolute";I.style.boxSizing="border-box";I.style.top="0px";I.style.left="0px";I.style.height="100%";I.style.width="100%";this.textarea=I;this.init=function(){I.focus();I.scrollTop=0};D.appendChild(I);null==z||a.isOffline()||G.appendChild(a.createHelpIcon(z));if(null!= -C)for(b=0;bMAX_AREA||0>=C.value?"red":"";E.style.backgroundColor=C.value*E.value>MAX_AREA||0>=E.value?"red":""}var f=a.editor.graph,h=f.getGraphBounds(),d=f.view.scale,g=Math.ceil(h.width/ -d),m=Math.ceil(h.height/d);d=document.createElement("table");var q=document.createElement("tbody");d.setAttribute("cellpadding",mxClient.IS_SF?"0":"2");h=document.createElement("tr");var k=document.createElement("td");k.style.fontSize="10pt";k.style.width="100px";mxUtils.write(k,mxResources.get("filename")+":");h.appendChild(k);var u=document.createElement("input");u.setAttribute("value",a.editor.getOrCreateFilename());u.style.width="180px";k=document.createElement("td");k.appendChild(u);h.appendChild(k); -q.appendChild(h);h=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("format")+":");h.appendChild(k);var w=document.createElement("select");w.style.width="180px";k=document.createElement("option");k.setAttribute("value","png");mxUtils.write(k,mxResources.get("formatPng"));w.appendChild(k);k=document.createElement("option");ExportDialog.showGifOption&&(k.setAttribute("value","gif"),mxUtils.write(k,mxResources.get("formatGif")),w.appendChild(k)); -k=document.createElement("option");k.setAttribute("value","jpg");mxUtils.write(k,mxResources.get("formatJpg"));w.appendChild(k);k=document.createElement("option");k.setAttribute("value","svg");mxUtils.write(k,mxResources.get("formatSvg"));w.appendChild(k);ExportDialog.showXmlOption&&(k=document.createElement("option"),k.setAttribute("value","xml"),mxUtils.write(k,mxResources.get("formatXml")),w.appendChild(k));k=document.createElement("td");k.appendChild(w);h.appendChild(k);q.appendChild(h);h=document.createElement("tr"); -k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("zoom")+" (%):");h.appendChild(k);var z=document.createElement("input");z.setAttribute("type","number");z.setAttribute("value","100");z.style.width="180px";k=document.createElement("td");k.appendChild(z);h.appendChild(k);q.appendChild(h);h=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("width")+":");h.appendChild(k);var C=document.createElement("input"); -C.setAttribute("value",g);C.style.width="180px";k=document.createElement("td");k.appendChild(C);h.appendChild(k);q.appendChild(h);h=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("height")+":");h.appendChild(k);var E=document.createElement("input");E.setAttribute("value",m);E.style.width="180px";k=document.createElement("td");k.appendChild(E);h.appendChild(k);q.appendChild(h);h=document.createElement("tr");k=document.createElement("td"); +"off");e.style.overflow="auto";e.style.resize="none";e.style.width="600px";e.style.height="360px";e.style.marginBottom="16px";var f=a.getDiagramSnapshot();e.value=mxUtils.getPrettyXml(f.node);b.appendChild(e);this.init=function(){e.focus()};Graph.fileSupport&&(e.addEventListener("dragover",function(m){m.stopPropagation();m.preventDefault()},!1),e.addEventListener("drop",function(m){m.stopPropagation();m.preventDefault();if(0MAX_AREA||0>=C.value?"red":"";E.style.backgroundColor=C.value*E.value>MAX_AREA||0>=E.value?"red":""}var f=a.editor.graph,h=f.getGraphBounds(),d=f.view.scale,g=Math.ceil(h.width/ +d),m=Math.ceil(h.height/d);d=document.createElement("table");var p=document.createElement("tbody");d.setAttribute("cellpadding",mxClient.IS_SF?"0":"2");h=document.createElement("tr");var k=document.createElement("td");k.style.fontSize="10pt";k.style.width="100px";mxUtils.write(k,mxResources.get("filename")+":");h.appendChild(k);var u=document.createElement("input");u.setAttribute("value",a.editor.getOrCreateFilename());u.style.width="180px";k=document.createElement("td");k.appendChild(u);h.appendChild(k); +p.appendChild(h);h=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("format")+":");h.appendChild(k);var x=document.createElement("select");x.style.width="180px";k=document.createElement("option");k.setAttribute("value","png");mxUtils.write(k,mxResources.get("formatPng"));x.appendChild(k);k=document.createElement("option");ExportDialog.showGifOption&&(k.setAttribute("value","gif"),mxUtils.write(k,mxResources.get("formatGif")),x.appendChild(k)); +k=document.createElement("option");k.setAttribute("value","jpg");mxUtils.write(k,mxResources.get("formatJpg"));x.appendChild(k);k=document.createElement("option");k.setAttribute("value","svg");mxUtils.write(k,mxResources.get("formatSvg"));x.appendChild(k);ExportDialog.showXmlOption&&(k=document.createElement("option"),k.setAttribute("value","xml"),mxUtils.write(k,mxResources.get("formatXml")),x.appendChild(k));k=document.createElement("td");k.appendChild(x);h.appendChild(k);p.appendChild(h);h=document.createElement("tr"); +k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("zoom")+" (%):");h.appendChild(k);var z=document.createElement("input");z.setAttribute("type","number");z.setAttribute("value","100");z.style.width="180px";k=document.createElement("td");k.appendChild(z);h.appendChild(k);p.appendChild(h);h=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("width")+":");h.appendChild(k);var C=document.createElement("input"); +C.setAttribute("value",g);C.style.width="180px";k=document.createElement("td");k.appendChild(C);h.appendChild(k);p.appendChild(h);h=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("height")+":");h.appendChild(k);var E=document.createElement("input");E.setAttribute("value",m);E.style.width="180px";k=document.createElement("td");k.appendChild(E);h.appendChild(k);p.appendChild(h);h=document.createElement("tr");k=document.createElement("td"); k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("dpi")+":");h.appendChild(k);var D=document.createElement("select");D.style.width="180px";k=document.createElement("option");k.setAttribute("value","100");mxUtils.write(k,"100dpi");D.appendChild(k);k=document.createElement("option");k.setAttribute("value","200");mxUtils.write(k,"200dpi");D.appendChild(k);k=document.createElement("option");k.setAttribute("value","300");mxUtils.write(k,"300dpi");D.appendChild(k);k=document.createElement("option"); k.setAttribute("value","400");mxUtils.write(k,"400dpi");D.appendChild(k);k=document.createElement("option");k.setAttribute("value","custom");mxUtils.write(k,mxResources.get("custom"));D.appendChild(k);var G=document.createElement("input");G.style.width="180px";G.style.display="none";G.setAttribute("value","100");G.setAttribute("type","number");G.setAttribute("min","50");G.setAttribute("step","50");var I=!1;mxEvent.addListener(D,"change",function(){"custom"==this.value?(this.style.display="none",G.style.display= -"",G.focus()):(G.value=this.value,I||(z.value=this.value))});mxEvent.addListener(G,"change",function(){var Q=parseInt(G.value);isNaN(Q)||0>=Q?G.style.backgroundColor="red":(G.style.backgroundColor="",I||(z.value=Q))});k=document.createElement("td");k.appendChild(D);k.appendChild(G);h.appendChild(k);q.appendChild(h);h=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("background")+":");h.appendChild(k);var L=document.createElement("input"); -L.setAttribute("type","checkbox");L.checked=null==f.background||f.background==mxConstants.NONE;k=document.createElement("td");k.appendChild(L);mxUtils.write(k,mxResources.get("transparent"));h.appendChild(k);q.appendChild(h);h=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("grid")+":");h.appendChild(k);var T=document.createElement("input");T.setAttribute("type","checkbox");T.checked=!1;k=document.createElement("td");k.appendChild(T); -h.appendChild(k);q.appendChild(h);h=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("borderWidth")+":");h.appendChild(k);var K=document.createElement("input");K.setAttribute("type","number");K.setAttribute("value",ExportDialog.lastBorderValue);K.style.width="180px";k=document.createElement("td");k.appendChild(K);h.appendChild(k);q.appendChild(h);d.appendChild(q);mxEvent.addListener(w,"change",b);b();mxEvent.addListener(z,"change", +"",G.focus()):(G.value=this.value,I||(z.value=this.value))});mxEvent.addListener(G,"change",function(){var Q=parseInt(G.value);isNaN(Q)||0>=Q?G.style.backgroundColor="red":(G.style.backgroundColor="",I||(z.value=Q))});k=document.createElement("td");k.appendChild(D);k.appendChild(G);h.appendChild(k);p.appendChild(h);h=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("background")+":");h.appendChild(k);var L=document.createElement("input"); +L.setAttribute("type","checkbox");L.checked=null==f.background||f.background==mxConstants.NONE;k=document.createElement("td");k.appendChild(L);mxUtils.write(k,mxResources.get("transparent"));h.appendChild(k);p.appendChild(h);h=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("grid")+":");h.appendChild(k);var T=document.createElement("input");T.setAttribute("type","checkbox");T.checked=!1;k=document.createElement("td");k.appendChild(T); +h.appendChild(k);p.appendChild(h);h=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("borderWidth")+":");h.appendChild(k);var K=document.createElement("input");K.setAttribute("type","number");K.setAttribute("value",ExportDialog.lastBorderValue);K.style.width="180px";k=document.createElement("td");k.appendChild(K);h.appendChild(k);p.appendChild(h);d.appendChild(p);mxEvent.addListener(x,"change",b);b();mxEvent.addListener(z,"change", function(){I=!0;var Q=Math.max(0,parseFloat(z.value)||100)/100;z.value=parseFloat((100*Q).toFixed(2));0=parseInt(z.value))mxUtils.alert(mxResources.get("drawingEmpty"));else{var Q=u.value,P=w.value,M=Math.max(0,parseFloat(z.value)||100)/100,W=Math.max(0,parseInt(K.value)),aa=f.background,ia=Math.max(1,parseInt(G.value));if(("svg"==P||"png"==P|| -"pdf"==P)&&L.checked)aa=null;else if(null==aa||aa==mxConstants.NONE)aa="#ffffff";ExportDialog.lastBorderValue=W;ExportDialog.exportFile(a,Q,P,aa,M,W,ia,T.checked)}}));U.className="geBtn gePrimaryBtn";var Y=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});Y.className="geBtn";a.editor.cancelFirst?(k.appendChild(Y),k.appendChild(U)):(k.appendChild(U),k.appendChild(Y));h.appendChild(k);q.appendChild(h);d.appendChild(q);this.container=d};ExportDialog.lastBorderValue=0; +Q)):(z.value="100",C.value=g,E.value=m);e()});h=document.createElement("tr");k=document.createElement("td");k.setAttribute("align","right");k.style.paddingTop="22px";k.colSpan=2;var U=mxUtils.button(mxResources.get("export"),mxUtils.bind(this,function(){if(0>=parseInt(z.value))mxUtils.alert(mxResources.get("drawingEmpty"));else{var Q=u.value,P=x.value,M=Math.max(0,parseFloat(z.value)||100)/100,V=Math.max(0,parseInt(K.value)),aa=f.background,ia=Math.max(1,parseInt(G.value));if(("svg"==P||"png"==P|| +"pdf"==P)&&L.checked)aa=null;else if(null==aa||aa==mxConstants.NONE)aa="#ffffff";ExportDialog.lastBorderValue=V;ExportDialog.exportFile(a,Q,P,aa,M,V,ia,T.checked)}}));U.className="geBtn gePrimaryBtn";var Y=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});Y.className="geBtn";a.editor.cancelFirst?(k.appendChild(Y),k.appendChild(U)):(k.appendChild(U),k.appendChild(Y));h.appendChild(k);p.appendChild(h);d.appendChild(p);this.container=d};ExportDialog.lastBorderValue=0; ExportDialog.showGifOption=!0;ExportDialog.showXmlOption=!0; -ExportDialog.exportFile=function(a,b,e,f,h,d,g,m){m=a.editor.graph;if("xml"==e)ExportDialog.saveLocalFile(a,mxUtils.getXml(a.editor.getGraphXml()),b,e);else if("svg"==e)ExportDialog.saveLocalFile(a,mxUtils.getXml(m.getSvg(f,h,d)),b,e);else{var q=m.getGraphBounds(),k=mxUtils.createXmlDocument(),u=k.createElement("output");k.appendChild(u);k=new mxXmlCanvas2D(u);k.translate(Math.floor((d/h-q.x)/m.view.scale),Math.floor((d/h-q.y)/m.view.scale));k.scale(h/m.view.scale);(new mxImageExport).drawState(m.getView().getState(m.model.root), -k);u="xml="+encodeURIComponent(mxUtils.getXml(u));k=Math.ceil(q.width*h/m.view.scale+2*d);h=Math.ceil(q.height*h/m.view.scale+2*d);u.length<=MAX_REQUEST_SIZE&&k*h -P.name?1:0});if(null!=E){u=document.createElement("div");u.style.width="100%";u.style.fontSize="11px";u.style.textAlign="center";mxUtils.write(u,E);var T=k.addField(mxResources.get("id")+":",u);mxEvent.addListener(u,"dblclick",function(Q){Q=new FilenameDialog(a,E,mxResources.get("apply"),mxUtils.bind(this,function(P){if(null!=P&&0Q.indexOf(":"))try{var P=mxUtils.indexOf(w,Q);if(0<=P&&null!=z[P])z[P].focus();else{d.cloneNode(!1).setAttribute(Q, -"");0<=P&&(w.splice(P,1),z.splice(P,1));w.push(Q);var M=k.addTextarea(Q+":","",2);M.style.width="100%";z.push(M);D(M,Q);M.focus()}U.setAttribute("disabled","disabled");K.value=""}catch(W){mxUtils.alert(W)}else mxUtils.alert(mxResources.get("invalidName"))});mxEvent.addListener(K,"keypress",function(Q){13==Q.keyCode&&U.click()});this.init=function(){0 +P.name?1:0});if(null!=E){u=document.createElement("div");u.style.width="100%";u.style.fontSize="11px";u.style.textAlign="center";mxUtils.write(u,E);var T=k.addField(mxResources.get("id")+":",u);mxEvent.addListener(u,"dblclick",function(Q){Q=new FilenameDialog(a,E,mxResources.get("apply"),mxUtils.bind(this,function(P){if(null!=P&&0Q.indexOf(":"))try{var P=mxUtils.indexOf(x,Q);if(0<=P&&null!=z[P])z[P].focus();else{d.cloneNode(!1).setAttribute(Q, +"");0<=P&&(x.splice(P,1),z.splice(P,1));x.push(Q);var M=k.addTextarea(Q+":","",2);M.style.width="100%";z.push(M);D(M,Q);M.focus()}U.setAttribute("disabled","disabled");K.value=""}catch(V){mxUtils.alert(V)}else mxUtils.alert(mxResources.get("invalidName"))});mxEvent.addListener(K,"keypress",function(Q){13==Q.keyCode&&U.click()});this.init=function(){0"))});mxEvent.addListener(O,"dragend",function(H){null!=w&&null!=z&& -q.addCell(oa,q.model.root,z);z=w=null;H.stopPropagation();H.preventDefault()});var V=document.createElement("img");V.setAttribute("draggable","false");V.setAttribute("align","top");V.setAttribute("border","0");V.className="geAdaptiveAsset";V.style.width="16px";V.style.padding="0px 6px 0 4px";V.style.cursor="pointer";V.setAttribute("title",mxResources.get(q.model.isVisible(oa)?"hide":"show"));q.model.isVisible(oa)?(V.setAttribute("src",Editor.visibleImage),mxUtils.setOpacity(O,90)):(V.setAttribute("src", -Editor.hiddenImage),mxUtils.setOpacity(O,40));q.isEnabled()||mxUtils.setOpacity(V,50);Z.appendChild(V);mxEvent.addListener(V,"click",function(H){q.isEnabled()&&q.model.setVisible(oa,!q.model.isVisible(oa));mxEvent.consume(H)});V=document.createElement("img");V.setAttribute("draggable","false");V.setAttribute("align","top");V.setAttribute("border","0");V.className="geAdaptiveAsset";V.style.width="16px";V.style.padding="0px 6px 0 0";V.setAttribute("title",mxResources.get("lockUnlock"));var ja=q.getCurrentCellStyle(oa); -"1"==mxUtils.getValue(ja,"locked","0")?(V.setAttribute("src",Editor.lockedImage),mxUtils.setOpacity(V,90),O.style.color="red"):(V.setAttribute("src",Editor.unlockedImage),mxUtils.setOpacity(V,40));q.isEnabled()&&(V.style.cursor="pointer");mxEvent.addListener(V,"click",function(H){if(q.isEnabled()){var ea=null;q.getModel().beginUpdate();try{ea="1"==mxUtils.getValue(ja,"locked","0")?null:"1",q.setCellStyles("locked",ea,[oa])}finally{q.getModel().endUpdate()}"1"==ea&&q.removeSelectionCells(q.getModel().getDescendants(oa)); -mxEvent.consume(H)}});Z.appendChild(V);mxUtils.write(ca,ia);ca.style.display="block";ca.style.whiteSpace="nowrap";ca.style.overflow="hidden";ca.style.textOverflow="ellipsis";ca.style.position="absolute";ca.style.padding="2px";ca.style.left="52px";ca.style.right="8px";Z.appendChild(ca);O.appendChild(Z);if(q.isEnabled()){if(mxClient.IS_TOUCH||mxClient.IS_POINTER||mxClient.IS_IE&&10>document.documentMode)ia=document.createElement("div"),ia.style.display="block",ia.style.textAlign="right",ia.style.whiteSpace= -"nowrap",ia.style.position="absolute",ia.style.right="16px",ia.style.top="6px",0"))});mxEvent.addListener(O,"dragend",function(H){null!=x&&null!=z&& +p.addCell(na,p.model.root,z);z=x=null;H.stopPropagation();H.preventDefault()});var W=document.createElement("img");W.setAttribute("draggable","false");W.setAttribute("align","top");W.setAttribute("border","0");W.className="geAdaptiveAsset";W.style.width="16px";W.style.padding="0px 6px 0 4px";W.style.cursor="pointer";W.setAttribute("title",mxResources.get(p.model.isVisible(na)?"hide":"show"));p.model.isVisible(na)?(W.setAttribute("src",Editor.visibleImage),mxUtils.setOpacity(O,90)):(W.setAttribute("src", +Editor.hiddenImage),mxUtils.setOpacity(O,40));p.isEnabled()||mxUtils.setOpacity(W,50);Z.appendChild(W);mxEvent.addListener(W,"click",function(H){p.isEnabled()&&p.model.setVisible(na,!p.model.isVisible(na));mxEvent.consume(H)});W=document.createElement("img");W.setAttribute("draggable","false");W.setAttribute("align","top");W.setAttribute("border","0");W.className="geAdaptiveAsset";W.style.width="16px";W.style.padding="0px 6px 0 0";W.setAttribute("title",mxResources.get("lockUnlock"));var ja=p.getCurrentCellStyle(na); +"1"==mxUtils.getValue(ja,"locked","0")?(W.setAttribute("src",Editor.lockedImage),mxUtils.setOpacity(W,90),O.style.color="red"):(W.setAttribute("src",Editor.unlockedImage),mxUtils.setOpacity(W,40));p.isEnabled()&&(W.style.cursor="pointer");mxEvent.addListener(W,"click",function(H){if(p.isEnabled()){var ea=null;p.getModel().beginUpdate();try{ea="1"==mxUtils.getValue(ja,"locked","0")?null:"1",p.setCellStyles("locked",ea,[na])}finally{p.getModel().endUpdate()}"1"==ea&&p.removeSelectionCells(p.getModel().getDescendants(na)); +mxEvent.consume(H)}});Z.appendChild(W);mxUtils.write(ca,ia);ca.style.display="block";ca.style.whiteSpace="nowrap";ca.style.overflow="hidden";ca.style.textOverflow="ellipsis";ca.style.position="absolute";ca.style.padding="2px";ca.style.left="52px";ca.style.right="8px";Z.appendChild(ca);O.appendChild(Z);if(p.isEnabled()){if(mxClient.IS_TOUCH||mxClient.IS_POINTER||mxClient.IS_IE&&10>document.documentMode)ia=document.createElement("div"),ia.style.display="block",ia.style.textAlign="right",ia.style.whiteSpace= +"nowrap",ia.style.position="absolute",ia.style.right="16px",ia.style.top="6px",0Tooltip with HTML",new mxGeometry(10,0,120,30), "html=1;shadow=0;dashed=0;shape=mxgraph.bootstrap.popover;fillColor=#1A1A1A;strokeColor=none;dx=60;dy=5;rSize=5;whiteSpace=wrap;verticalAlign=top;spacing=10;fontSize=12;spacingLeft=0;align=center;spacingTop=-10;fontColor=#FFFFFF;");d.vertex=!0;var c=new mxCell("Tooltip with HTML",new mxGeometry(0,30,140,30),"html=1;shadow=0;dashed=0;shape=mxgraph.bootstrap.rrect;rSize=5;fillColor=#6C767D;strokeColor=none;perimeter=none;whiteSpace=wrap;resizeWidth=1;align=center;spacing=5;fontColor=#FFFFFF;fontSize=14;"); c.vertex=!0;return a.createVertexTemplateFromCells([d,c],140,60,"Tooltip with HTML")})];this.addPalette("bootstrap",mxResources.get("bootstrap"),!1,mxUtils.bind(this,function(d){for(var c=0;cmxUtils.indexOf(u,g)&&u.push(g);k()})}:function(){var g=document.createElement("div"),m=document.createElement("span");m.style.marginTop="6px";mxUtils.write(m,mxResources.get("builtinPlugins")+ -": ");g.appendChild(m);var t=document.createElement("select");t.style.width="150px";for(m=0;mmxUtils.indexOf(u,K)&&u.push(K)}k()}},mxResources.get("enterValue")+" ("+mxResources.get("url")+")");b.showDialog(y.container,300,80,!0,!0);y.init()});m.className="geBtn";ALLOW_CUSTOM_PLUGINS||(m.style.display="none");g=new CustomDialog(b,g,mxUtils.bind(this,function(){var y=App.pluginRegistry[t.value];0>mxUtils.indexOf(u,y)&&(u.push(y),k())}),null,null,null,m);b.showDialog(g.container,360,100,!0,!0)});H.className="geBtn";var D=mxUtils.button(mxResources.get("cancel"), -function(){b.hideDialog()});D.className="geBtn";var L=mxUtils.button(c?mxResources.get("close"):mxResources.get("apply"),function(){E?(mxSettings.setPlugins(u),mxSettings.save(),b.hideDialog(),b.alert(mxResources.get("restartForChangeRequired"))):b.hideDialog()});L.className="geBtn gePrimaryBtn";var G=document.createElement("div");G.style.marginTop="14px";G.style.textAlign="right";var d=mxUtils.button(mxResources.get("help"),function(){b.openLink("https://www.drawio.com/doc/faq/plugins")});d.className= -"geBtn";b.isOffline()&&!mxClient.IS_CHROMEAPP&&(d.style.display="none");G.appendChild(d);b.editor.cancelFirst?(c||G.appendChild(D),G.appendChild(H),G.appendChild(L)):(G.appendChild(H),G.appendChild(L),c||G.appendChild(D));p.appendChild(G);this.container=p},CropImageDialog=function(b,e,f,c){function k(){var J=t.checked,U=v.checked,P=d.geometry,R=E.width,n=E.height,z=(300-R)/2,A=(300-n)/2;P.xz+R&&(P.width=z+R-P.x,P.x=Math.min(P.x,z+R));P.yA+n&&(P.height=A+n-P.y,P.y=Math.min(P.y,A+n));var B=(P.x-z)/R*100;R=100-(P.x+P.width-z)/R*100;z=(P.y-A)/n*100;P=100-(P.y+P.height-A)/n*100;return"inset("+mxUtils.format(z)+"% "+mxUtils.format(R)+"% "+mxUtils.format(P)+"% "+mxUtils.format(B)+"%"+(J?" round "+G+"%":U?" round 50%":"")+")"}function p(J){null!=D&&(!0!==J&&(D.model.setGeometry(d,L.clone()),G=5,C.value=G),D.model.setStyle(d,g+k()),D.selectAll(),y.style.visibility=t.checked?"visible":"hidden")}var q=document.createElement("div"), -u=document.createElement("div");u.style.height="300px";u.style.width="300px";u.style.display="inline-flex";u.style.justifyContent="center";u.style.alignItems="center";u.style.position="absolute";var E=document.createElement("img");E.onload=function(){function J(){D.model.setStyle(d,g+k())}D=new Graph(H);D.autoExtend=!1;D.autoScroll=!1;D.setGridEnabled(!1);D.setEnabled(!0);D.setPanning(!1);D.setConnectable(!1);D.getRubberband().setEnabled(!1);D.graphHandler.allowLivePreview=!1;var U=D.createVertexHandler; -D.createVertexHandler=function(){var Q=U.apply(this,arguments);Q.livePreview=!1;return Q};if(null!=f)try{if("inset"==f.substring(0,5)){var P=d.geometry,R=E.width,n=E.height,z=(300-R)/2,A=(300-n)/2,B=f.match(/\(([^)]+)\)/)[1].split(/[ ,]+/),M=parseFloat(B[0]),S=parseFloat(B[1]),l=parseFloat(B[2]),x=parseFloat(B[3]);isFinite(M)&&isFinite(S)&&isFinite(l)&&isFinite(x)?(P.x=x/100*R+z,P.y=M/100*n+A,P.width=(100-S)/100*R+z-P.x,P.height=(100-l)/100*n+A-P.y,"round"==B[4]?"50%"==B[5]?v.setAttribute("checked", -"checked"):(G=parseInt(B[5]),C.value=G,t.setAttribute("checked","checked"),y.style.visibility="visible"):m.setAttribute("checked","checked")):f=null}else f=null}catch(Q){}d.style=g+(f?f:k());d.vertex=!0;D.addCell(d,null,null,null,null);D.selectAll();D.addListener(mxEvent.CELLS_MOVED,J);D.addListener(mxEvent.CELLS_RESIZED,J);var F=D.graphHandler.mouseUp,N=D.graphHandler.mouseDown;D.graphHandler.mouseUp=function(){F.apply(this,arguments);H.style.backgroundColor="#fff9"};D.graphHandler.mouseDown=function(){N.apply(this, -arguments);H.style.backgroundColor=""};D.dblClick=function(){};var O=D.getSelectionModel().changeSelection;D.getSelectionModel().changeSelection=function(){O.call(this,[d],[d])}};E.onerror=function(){E.onload=null;E.src=Editor.errorImage};E.setAttribute("src",e);E.style.maxWidth="300px";E.style.maxHeight="300px";u.appendChild(E);q.appendChild(u);var H=document.createElement("div");H.style.width="300px";H.style.height="300px";H.style.overflow="hidden";H.style.backgroundColor="#fff9";q.appendChild(H); -var D=null,L=new mxGeometry(100,100,100,100),G=5,d=new mxCell("",L.clone(),""),g="shape=image;fillColor=none;rotatable=0;cloneable=0;deletable=0;image="+e.replace(";base64","")+";clipPath=",m=document.createElement("input");m.setAttribute("type","radio");m.setAttribute("id","croppingRect");m.setAttribute("name","croppingShape");m.setAttribute("checked","checked");m.style.margin="5px";q.appendChild(m);e=document.createElement("label");e.setAttribute("for","croppingRect");mxUtils.write(e,mxResources.get("rectangle")); -q.appendChild(e);var t=document.createElement("input");t.setAttribute("type","radio");t.setAttribute("id","croppingRounded");t.setAttribute("name","croppingShape");t.style.margin="5px";q.appendChild(t);e=document.createElement("label");e.setAttribute("for","croppingRounded");mxUtils.write(e,mxResources.get("rounded"));q.appendChild(e);var v=document.createElement("input");v.setAttribute("type","radio");v.setAttribute("id","croppingEllipse");v.setAttribute("name","croppingShape");v.style.margin="5px"; -q.appendChild(v);e=document.createElement("label");e.setAttribute("for","croppingEllipse");mxUtils.write(e,mxResources.get("ellipse"));q.appendChild(e);mxEvent.addListener(m,"change",p);mxEvent.addListener(t,"change",p);mxEvent.addListener(v,"change",p);var y=document.createElement("div");y.style.textAlign="center";y.style.visibility="hidden";var C=document.createElement("input");C.setAttribute("type","range");C.setAttribute("min","1");C.setAttribute("max","49");C.setAttribute("value",G);C.setAttribute("title", -mxResources.get("arcSize"));y.appendChild(C);q.appendChild(y);mxEvent.addListener(C,"change",function(){G=this.value;p(!0)});e=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});e.className="geBtn";u=mxUtils.button(mxResources.get("apply"),function(){c(k(),d.geometry.width,d.geometry.height);b.hideDialog()});u.className="geBtn gePrimaryBtn";var I=mxUtils.button(mxResources.get("reset"),function(){c(null,E.width,E.height);b.hideDialog()});I.className="geBtn";var K=document.createElement("div"); -K.style.marginTop="10px";K.style.textAlign="right";b.editor.cancelFirst?(K.appendChild(e),K.appendChild(I),K.appendChild(u)):(K.appendChild(I),K.appendChild(u),K.appendChild(e));q.appendChild(K);this.container=q},EditGeometryDialog=function(b,e){var f=b.editor.graph,c=1==e.length?f.getCellGeometry(e[0]):null,k=document.createElement("div"),p=document.createElement("table"),q=document.createElement("tbody"),u=document.createElement("tr"),E=document.createElement("td"),H=document.createElement("td"); -p.style.paddingLeft="6px";mxUtils.write(E,mxResources.get("relative")+":");var D=document.createElement("input");D.setAttribute("type","checkbox");null!=c&&c.relative&&(D.setAttribute("checked","checked"),D.defaultChecked=!0);this.init=function(){D.focus()};H.appendChild(D);u.appendChild(E);u.appendChild(H);q.appendChild(u);u=document.createElement("tr");E=document.createElement("td");H=document.createElement("td");mxUtils.write(E,mxResources.get("left")+":");var L=document.createElement("input"); -L.setAttribute("type","text");L.style.width="100px";L.value=null!=c?c.x:"";H.appendChild(L);u.appendChild(E);u.appendChild(H);q.appendChild(u);u=document.createElement("tr");E=document.createElement("td");H=document.createElement("td");mxUtils.write(E,mxResources.get("top")+":");var G=document.createElement("input");G.setAttribute("type","text");G.style.width="100px";G.value=null!=c?c.y:"";H.appendChild(G);u.appendChild(E);u.appendChild(H);q.appendChild(u);u=document.createElement("tr");E=document.createElement("td"); -H=document.createElement("td");mxUtils.write(E,mxResources.get("dx")+":");var d=document.createElement("input");d.setAttribute("type","text");d.style.width="100px";d.value=null!=c&&null!=c.offset?c.offset.x:"";H.appendChild(d);u.appendChild(E);u.appendChild(H);q.appendChild(u);u=document.createElement("tr");E=document.createElement("td");H=document.createElement("td");mxUtils.write(E,mxResources.get("dy")+":");var g=document.createElement("input");g.setAttribute("type","text");g.style.width="100px"; -g.value=null!=c&&null!=c.offset?c.offset.y:"";H.appendChild(g);u.appendChild(E);u.appendChild(H);q.appendChild(u);u=document.createElement("tr");E=document.createElement("td");H=document.createElement("td");mxUtils.write(E,mxResources.get("width")+":");var m=document.createElement("input");m.setAttribute("type","text");m.style.width="100px";m.value=null!=c?c.width:"";H.appendChild(m);u.appendChild(E);u.appendChild(H);q.appendChild(u);u=document.createElement("tr");E=document.createElement("td");H= -document.createElement("td");mxUtils.write(E,mxResources.get("height")+":");var t=document.createElement("input");t.setAttribute("type","text");t.style.width="100px";t.value=null!=c?c.height:"";H.appendChild(t);u.appendChild(E);u.appendChild(H);q.appendChild(u);u=document.createElement("tr");E=document.createElement("td");H=document.createElement("td");mxUtils.write(E,mxResources.get("rotation")+":");var v=document.createElement("input");v.setAttribute("type","text");v.style.width="100px";v.value= -1==e.length?mxUtils.getValue(f.getCellStyle(e[0]),mxConstants.STYLE_ROTATION,0):"";H.appendChild(v);u.appendChild(E);u.appendChild(H);q.appendChild(u);p.appendChild(q);k.appendChild(p);c=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});c.className="geBtn";var y=mxUtils.button(mxResources.get("apply"),function(){b.hideDialog();f.getModel().beginUpdate();try{for(var C=0;Cb.maxImageSize||B>b.maxImageSize){var O=Math.min(1,Math.min(b.maxImageSize/Math.max(1,A)),b.maxImageSize/Math.max(1,B));A*=O;B*=O}F>N?(N=Math.round(100*N/F),F=100):(F=Math.round(100*F/N),N=100);var Q=document.createElement("div");Q.setAttribute("draggable","true");Q.style.display="inline-block";Q.style.position="relative";Q.style.padding="0 12px";Q.style.cursor="move";mxUtils.setPrefixedStyle(Q.style,"transition", -"transform .1s ease-in-out");if(null!=P){var V=document.createElement("img");V.setAttribute("src",I.convert(P));V.style.width=F+"px";V.style.height=N+"px";V.style.margin="10px";V.style.paddingBottom=Math.floor((100-N)/2)+"px";V.style.paddingLeft=Math.floor((100-F)/2)+"px";Q.appendChild(V)}else if(null!=M){var T=b.stringToCells("<"==M.xml.charAt(0)?M.xml:Graph.decompress(M.xml));0v?y-1:y,0,L.splice(v,1)[0]),g.insertBefore(g.children[v],g.children[y])):(L.push(L.splice(v,1)[0]),g.appendChild(g.children[v]));else if(0=F.status&&(E(F.responseText,n,z,A,B,M,S,"fixed",mxEvent.isAltDown(P)?null:S.substring(0,S.lastIndexOf(".")).replace(/_/g," ")),g.scrollTop=g.scrollHeight))})):(b.spinner.stop(),b.showError(mxResources.get("error"),mxResources.get("notInOffline"))):(E(R,n,z,A,B,M,S,"fixed",mxEvent.isAltDown(P)?null:S.substring(0,S.lastIndexOf(".")).replace(/_/g," ")), -g.scrollTop=g.scrollHeight)}};mxEvent.addListener(g,"dragover",H);mxEvent.addListener(g,"drop",D);mxEvent.addListener(m,"dragover",H);mxEvent.addListener(m,"drop",D);f.appendChild(g);c=document.createElement("div");c.style.textAlign="right";c.style.marginTop="20px";G=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog(!0)});G.setAttribute("id","btnCancel");G.className="geBtn";b.editor.cancelFirst&&c.appendChild(G);"draw.io"!=b.getServiceName()||null==k||k.constructor!=DriveLibrary&&k.constructor!= -GitHubLibrary||(e=mxUtils.button(mxResources.get("link"),function(){b.getPublicUrl(k,function(P){if(null!=P){var R=b.getSearch("create title mode url drive splash state clibs ui".split(" "));R+=(0==R.length?"?":"&")+"splash=0&clibs=U"+encodeURIComponent(P);P=new EmbedDialog(b,window.location.protocol+"//"+window.location.host+"/"+R,null,null,null,null,"Check out the library I made using @drawio");b.showDialog(P.container,450,240,!0);P.init()}else k.constructor==DriveLibrary?b.showError(mxResources.get("error"), -mxResources.get("diagramIsNotPublic"),mxResources.get("share"),mxUtils.bind(this,function(){b.drive.showPermissions(k.getId(),k)}),null,mxResources.get("ok"),mxUtils.bind(this,function(){})):b.handleError({message:mxResources.get("diagramIsNotPublic")})})}),e.className="geBtn",c.appendChild(e));e=mxUtils.button(mxResources.get("export"),function(){var P=b.createLibraryDataFromImages(L),R=d.value;/(\.xml)$/i.test(R)||(R+=".xml");b.isLocalFileSave()?b.saveLocalFile(P,R,"text/xml",null,null,null!=q? -q:!0,null,"xml"):(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(R)+"&format=xml&xml="+encodeURIComponent(P))).simulate(document,"_blank")});e.setAttribute("id","btnDownload");e.className="geBtn";c.appendChild(e);if(Graph.fileSupport){if(null==b.libDlgFileInputElt){var U=document.createElement("input");U.setAttribute("multiple","multiple");U.setAttribute("type","file");mxEvent.addListener(U,"change",function(P){K=!1;b.importFiles(U.files,0,0,b.maxImageSize,function(R,n,z,A,B,M,S,l,x){null!= -U.files&&(J(P)(R,n,z,A,B,M,S,l,x),U.type="",U.type="file",U.value="")});g.scrollTop=g.scrollHeight});U.style.display="none";document.body.appendChild(U);b.libDlgFileInputElt=U}e=mxUtils.button(mxResources.get("import"),function(){null!=C&&(C(),C=null);b.libDlgFileInputElt.click()});e.setAttribute("id","btnAddImage");e.className="geBtn";c.appendChild(e)}e=mxUtils.button(mxResources.get("addImages"),function(){null!=C&&(C(),C=null);b.showImageDialog(mxResources.get("addImageUrl"),"",function(P,R,n){K= -!1;if(null!=P){if("data:image/"==P.substring(0,11)){var z=P.indexOf(",");0mxUtils.indexOf(u, +d)&&u.push(d);k()})}:function(){var d=document.createElement("div"),g=document.createElement("span");g.style.marginTop="6px";mxUtils.write(g,mxResources.get("builtinPlugins")+": ");d.appendChild(g);var m=document.createElement("select");m.style.width="150px";for(g=0;gmxUtils.indexOf(u,I)&&u.push(I)}k()}},mxResources.get("enterValue")+" ("+mxResources.get("url")+")");b.showDialog(v.container,300,80,!0,!0);v.init()});g.className="geBtn";ALLOW_CUSTOM_PLUGINS||(g.style.display="none");d=new CustomDialog(b,d,mxUtils.bind(this,function(){var v= +App.pluginRegistry[m.value];0>mxUtils.indexOf(u,v)&&(u.push(v),k())}),null,null,null,g);b.showDialog(d.container,360,100,!0,!0)});H.className="geBtn";var D=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});D.className="geBtn";var L=mxUtils.button(c?mxResources.get("close"):mxResources.get("apply"),function(){E?(mxSettings.setPlugins(u),mxSettings.save(),b.hideDialog(),b.alert(mxResources.get("restartForChangeRequired"))):b.hideDialog()});L.className="geBtn gePrimaryBtn";var G=document.createElement("div"); +G.style.marginTop="14px";G.style.textAlign="right";b.isOffline()||G.appendChild(b.createHelpIcon("https://www.drawio.com/doc/faq/plugins"));b.editor.cancelFirst?(c||G.appendChild(D),G.appendChild(H),G.appendChild(L)):(G.appendChild(H),G.appendChild(L),c||G.appendChild(D));p.appendChild(G);this.container=p},CropImageDialog=function(b,e,f,c){function k(){var J=t.checked,U=v.checked,P=d.geometry,R=E.width,n=E.height,z=(300-R)/2,A=(300-n)/2;P.xz+R&&(P.width=z+R-P.x, +P.x=Math.min(P.x,z+R));P.yA+n&&(P.height=A+n-P.y,P.y=Math.min(P.y,A+n));var B=(P.x-z)/R*100;R=100-(P.x+P.width-z)/R*100;z=(P.y-A)/n*100;P=100-(P.y+P.height-A)/n*100;return"inset("+mxUtils.format(z)+"% "+mxUtils.format(R)+"% "+mxUtils.format(P)+"% "+mxUtils.format(B)+"%"+(J?" round "+G+"%":U?" round 50%":"")+")"}function p(J){null!=D&&(!0!==J&&(D.model.setGeometry(d,L.clone()),G=5,C.value=G),D.model.setStyle(d,g+k()),D.selectAll(),y.style.visibility=t.checked? +"visible":"hidden")}var q=document.createElement("div"),u=document.createElement("div");u.style.height="300px";u.style.width="300px";u.style.display="inline-flex";u.style.justifyContent="center";u.style.alignItems="center";u.style.position="absolute";var E=document.createElement("img");E.onload=function(){function J(){D.model.setStyle(d,g+k())}D=new Graph(H);D.autoExtend=!1;D.autoScroll=!1;D.setGridEnabled(!1);D.setEnabled(!0);D.setPanning(!1);D.setConnectable(!1);D.getRubberband().setEnabled(!1); +D.graphHandler.allowLivePreview=!1;var U=D.createVertexHandler;D.createVertexHandler=function(){var Q=U.apply(this,arguments);Q.livePreview=!1;return Q};if(null!=f)try{if("inset"==f.substring(0,5)){var P=d.geometry,R=E.width,n=E.height,z=(300-R)/2,A=(300-n)/2,B=f.match(/\(([^)]+)\)/)[1].split(/[ ,]+/),M=parseFloat(B[0]),S=parseFloat(B[1]),l=parseFloat(B[2]),x=parseFloat(B[3]);isFinite(M)&&isFinite(S)&&isFinite(l)&&isFinite(x)?(P.x=x/100*R+z,P.y=M/100*n+A,P.width=(100-S)/100*R+z-P.x,P.height=(100- +l)/100*n+A-P.y,"round"==B[4]?"50%"==B[5]?v.setAttribute("checked","checked"):(G=parseInt(B[5]),C.value=G,t.setAttribute("checked","checked"),y.style.visibility="visible"):m.setAttribute("checked","checked")):f=null}else f=null}catch(Q){}d.style=g+(f?f:k());d.vertex=!0;D.addCell(d,null,null,null,null);D.selectAll();D.addListener(mxEvent.CELLS_MOVED,J);D.addListener(mxEvent.CELLS_RESIZED,J);var F=D.graphHandler.mouseUp,N=D.graphHandler.mouseDown;D.graphHandler.mouseUp=function(){F.apply(this,arguments); +H.style.backgroundColor="#fff9"};D.graphHandler.mouseDown=function(){N.apply(this,arguments);H.style.backgroundColor=""};D.dblClick=function(){};var O=D.getSelectionModel().changeSelection;D.getSelectionModel().changeSelection=function(){O.call(this,[d],[d])}};E.onerror=function(){E.onload=null;E.src=Editor.errorImage};E.setAttribute("src",e);E.style.maxWidth="300px";E.style.maxHeight="300px";u.appendChild(E);q.appendChild(u);var H=document.createElement("div");H.style.width="300px";H.style.height= +"300px";H.style.overflow="hidden";H.style.backgroundColor="#fff9";q.appendChild(H);var D=null,L=new mxGeometry(100,100,100,100),G=5,d=new mxCell("",L.clone(),""),g="shape=image;fillColor=none;rotatable=0;cloneable=0;deletable=0;image="+e.replace(";base64","")+";clipPath=",m=document.createElement("input");m.setAttribute("type","radio");m.setAttribute("id","croppingRect");m.setAttribute("name","croppingShape");m.setAttribute("checked","checked");m.style.margin="5px";q.appendChild(m);e=document.createElement("label"); +e.setAttribute("for","croppingRect");mxUtils.write(e,mxResources.get("rectangle"));q.appendChild(e);var t=document.createElement("input");t.setAttribute("type","radio");t.setAttribute("id","croppingRounded");t.setAttribute("name","croppingShape");t.style.margin="5px";q.appendChild(t);e=document.createElement("label");e.setAttribute("for","croppingRounded");mxUtils.write(e,mxResources.get("rounded"));q.appendChild(e);var v=document.createElement("input");v.setAttribute("type","radio");v.setAttribute("id", +"croppingEllipse");v.setAttribute("name","croppingShape");v.style.margin="5px";q.appendChild(v);e=document.createElement("label");e.setAttribute("for","croppingEllipse");mxUtils.write(e,mxResources.get("ellipse"));q.appendChild(e);mxEvent.addListener(m,"change",p);mxEvent.addListener(t,"change",p);mxEvent.addListener(v,"change",p);var y=document.createElement("div");y.style.textAlign="center";y.style.visibility="hidden";var C=document.createElement("input");C.setAttribute("type","range");C.setAttribute("min", +"1");C.setAttribute("max","49");C.setAttribute("value",G);C.setAttribute("title",mxResources.get("arcSize"));y.appendChild(C);q.appendChild(y);mxEvent.addListener(C,"change",function(){G=this.value;p(!0)});e=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});e.className="geBtn";u=mxUtils.button(mxResources.get("apply"),function(){c(k(),d.geometry.width,d.geometry.height);b.hideDialog()});u.className="geBtn gePrimaryBtn";var I=mxUtils.button(mxResources.get("reset"),function(){c(null, +E.width,E.height);b.hideDialog()});I.className="geBtn";var K=document.createElement("div");K.style.marginTop="10px";K.style.textAlign="right";b.editor.cancelFirst?(K.appendChild(e),K.appendChild(I),K.appendChild(u)):(K.appendChild(I),K.appendChild(u),K.appendChild(e));q.appendChild(K);this.container=q},EditGeometryDialog=function(b,e){var f=b.editor.graph,c=1==e.length?f.getCellGeometry(e[0]):null,k=document.createElement("div"),p=document.createElement("table"),q=document.createElement("tbody"), +u=document.createElement("tr"),E=document.createElement("td"),H=document.createElement("td");p.style.paddingLeft="6px";mxUtils.write(E,mxResources.get("relative")+":");var D=document.createElement("input");D.setAttribute("type","checkbox");null!=c&&c.relative&&(D.setAttribute("checked","checked"),D.defaultChecked=!0);this.init=function(){D.focus()};H.appendChild(D);u.appendChild(E);u.appendChild(H);q.appendChild(u);u=document.createElement("tr");E=document.createElement("td");H=document.createElement("td"); +mxUtils.write(E,mxResources.get("left")+":");var L=document.createElement("input");L.setAttribute("type","text");L.style.width="100px";L.value=null!=c?c.x:"";H.appendChild(L);u.appendChild(E);u.appendChild(H);q.appendChild(u);u=document.createElement("tr");E=document.createElement("td");H=document.createElement("td");mxUtils.write(E,mxResources.get("top")+":");var G=document.createElement("input");G.setAttribute("type","text");G.style.width="100px";G.value=null!=c?c.y:"";H.appendChild(G);u.appendChild(E); +u.appendChild(H);q.appendChild(u);u=document.createElement("tr");E=document.createElement("td");H=document.createElement("td");mxUtils.write(E,mxResources.get("dx")+":");var d=document.createElement("input");d.setAttribute("type","text");d.style.width="100px";d.value=null!=c&&null!=c.offset?c.offset.x:"";H.appendChild(d);u.appendChild(E);u.appendChild(H);q.appendChild(u);u=document.createElement("tr");E=document.createElement("td");H=document.createElement("td");mxUtils.write(E,mxResources.get("dy")+ +":");var g=document.createElement("input");g.setAttribute("type","text");g.style.width="100px";g.value=null!=c&&null!=c.offset?c.offset.y:"";H.appendChild(g);u.appendChild(E);u.appendChild(H);q.appendChild(u);u=document.createElement("tr");E=document.createElement("td");H=document.createElement("td");mxUtils.write(E,mxResources.get("width")+":");var m=document.createElement("input");m.setAttribute("type","text");m.style.width="100px";m.value=null!=c?c.width:"";H.appendChild(m);u.appendChild(E);u.appendChild(H); +q.appendChild(u);u=document.createElement("tr");E=document.createElement("td");H=document.createElement("td");mxUtils.write(E,mxResources.get("height")+":");var t=document.createElement("input");t.setAttribute("type","text");t.style.width="100px";t.value=null!=c?c.height:"";H.appendChild(t);u.appendChild(E);u.appendChild(H);q.appendChild(u);u=document.createElement("tr");E=document.createElement("td");H=document.createElement("td");mxUtils.write(E,mxResources.get("rotation")+":");var v=document.createElement("input"); +v.setAttribute("type","text");v.style.width="100px";v.value=1==e.length?mxUtils.getValue(f.getCellStyle(e[0]),mxConstants.STYLE_ROTATION,0):"";H.appendChild(v);u.appendChild(E);u.appendChild(H);q.appendChild(u);p.appendChild(q);k.appendChild(p);c=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});c.className="geBtn";var y=mxUtils.button(mxResources.get("apply"),function(){b.hideDialog();f.getModel().beginUpdate();try{for(var C=0;Cb.maxImageSize||B>b.maxImageSize){var O=Math.min(1,Math.min(b.maxImageSize/Math.max(1,A)),b.maxImageSize/Math.max(1,B));A*=O;B*=O}F>N?(N=Math.round(100*N/F),F=100):(F=Math.round(100*F/N),N=100);var Q=document.createElement("div");Q.setAttribute("draggable","true");Q.style.display="inline-block";Q.style.position="relative";Q.style.padding= +"0 12px";Q.style.cursor="move";mxUtils.setPrefixedStyle(Q.style,"transition","transform .1s ease-in-out");if(null!=P){var V=document.createElement("img");V.setAttribute("src",I.convert(P));V.style.width=F+"px";V.style.height=N+"px";V.style.margin="10px";V.style.paddingBottom=Math.floor((100-N)/2)+"px";V.style.paddingLeft=Math.floor((100-F)/2)+"px";Q.appendChild(V)}else if(null!=M){var T=b.stringToCells("<"==M.xml.charAt(0)?M.xml:Graph.decompress(M.xml));0v?y-1:y,0,L.splice(v,1)[0]),g.insertBefore(g.children[v],g.children[y])):(L.push(L.splice(v,1)[0]),g.appendChild(g.children[v]));else if(0=F.status&&(E(F.responseText,n,z,A,B,M,S,"fixed",mxEvent.isAltDown(P)?null:S.substring(0,S.lastIndexOf(".")).replace(/_/g," ")),g.scrollTop=g.scrollHeight))})):(b.spinner.stop(),b.showError(mxResources.get("error"),mxResources.get("notInOffline"))):(E(R,n,z,A,B,M,S,"fixed", +mxEvent.isAltDown(P)?null:S.substring(0,S.lastIndexOf(".")).replace(/_/g," ")),g.scrollTop=g.scrollHeight)}};mxEvent.addListener(g,"dragover",H);mxEvent.addListener(g,"drop",D);mxEvent.addListener(m,"dragover",H);mxEvent.addListener(m,"drop",D);f.appendChild(g);c=document.createElement("div");c.style.textAlign="right";c.style.marginTop="20px";G=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog(!0)});G.setAttribute("id","btnCancel");G.className="geBtn";b.editor.cancelFirst&&c.appendChild(G); +"draw.io"!=b.getServiceName()||null==k||k.constructor!=DriveLibrary&&k.constructor!=GitHubLibrary||(e=mxUtils.button(mxResources.get("link"),function(){b.getPublicUrl(k,function(P){if(null!=P){var R=b.getSearch("create title mode url drive splash state clibs ui".split(" "));R+=(0==R.length?"?":"&")+"splash=0&clibs=U"+encodeURIComponent(P);P=new EmbedDialog(b,window.location.protocol+"//"+window.location.host+"/"+R,null,null,null,null,"Check out the library I made using @drawio");b.showDialog(P.container, +450,240,!0);P.init()}else k.constructor==DriveLibrary?b.showError(mxResources.get("error"),mxResources.get("diagramIsNotPublic"),mxResources.get("share"),mxUtils.bind(this,function(){b.drive.showPermissions(k.getId(),k)}),null,mxResources.get("ok"),mxUtils.bind(this,function(){})):b.handleError({message:mxResources.get("diagramIsNotPublic")})})}),e.className="geBtn",c.appendChild(e));e=mxUtils.button(mxResources.get("export"),function(){var P=b.createLibraryDataFromImages(L),R=d.value;/(\.xml)$/i.test(R)|| +(R+=".xml");b.isLocalFileSave()?b.saveLocalFile(P,R,"text/xml",null,null,null!=q?q:!0,null,"xml"):(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(R)+"&format=xml&xml="+encodeURIComponent(P))).simulate(document,"_blank")});e.setAttribute("id","btnDownload");e.className="geBtn";c.appendChild(e);if(Graph.fileSupport){if(null==b.libDlgFileInputElt){var U=document.createElement("input");U.setAttribute("multiple","multiple");U.setAttribute("type","file");mxEvent.addListener(U,"change",function(P){K= +!1;b.importFiles(U.files,0,0,b.maxImageSize,function(R,n,z,A,B,M,S,l,x){null!=U.files&&(J(P)(R,n,z,A,B,M,S,l,x),U.type="",U.type="file",U.value="")});g.scrollTop=g.scrollHeight});U.style.display="none";document.body.appendChild(U);b.libDlgFileInputElt=U}e=mxUtils.button(mxResources.get("import"),function(){null!=C&&(C(),C=null);b.libDlgFileInputElt.click()});e.setAttribute("id","btnAddImage");e.className="geBtn";c.appendChild(e)}e=mxUtils.button(mxResources.get("addImages"),function(){null!=C&&(C(), +C=null);b.showImageDialog(mxResources.get("addImageUrl"),"",function(P,R,n){K=!1;if(null!=P){if("data:image/"==P.substring(0,11)){var z=P.indexOf(",");0
')))}catch(l){}Editor.prototype.useCanvasForExport=!1})(); (function(){var b=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);b.beforeDecode=function(e,f,c){c.ui=e.ui;return f};b.afterDecode=function(e,f,c){c.previousColor=c.color;c.previousImage=c.image;c.previousFormat=c.format;c.previousAdaptiveColors=c.adaptiveColors;null!=c.foldingEnabled&&(c.foldingEnabled=!c.foldingEnabled);null!=c.mathEnabled&&(c.mathEnabled=!c.mathEnabled);null!=c.shadowVisible&&(c.shadowVisible=!c.shadowVisible);return c};mxCodecRegistry.register(b)})(); -(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(e,f,c){c.ui=e.ui;return f};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="26.0.6";EditorUi.compactUi="atlas"!=Editor.currentTheme||window.DRAWIO_PUBLIC_BUILD;Editor.isDarkMode()&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"https://preprod.diagrams.net/"!=window.location.hostname&&"support.draw.io"!=window.location.hostname&& +(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(e,f,c){c.ui=e.ui;return f};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="26.0.7";EditorUi.compactUi="atlas"!=Editor.currentTheme||window.DRAWIO_PUBLIC_BUILD;Editor.isDarkMode()&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"https://preprod.diagrams.net/"!=window.location.hostname&&"support.draw.io"!=window.location.hostname&& "test.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=window.DRAWIO_LIGHTBOX_URL;EditorUi.lastErrorMessage=null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t";EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.cacheUrl=window.REALTIME_URL;null==EditorUi.cacheUrl&&"undefined"!==typeof DrawioFile&&(DrawioFile.SYNC="none");Editor.cacheTimeout=1E4;EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp= null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.nativeFileSupport=!mxClient.IS_OP&&!EditorUi.isElectronApp&&"1"!=urlParams.extAuth&&"showSaveFilePicker"in window&&"showOpenFilePicker"in window;EditorUi.enableDrafts=!mxClient.IS_CHROMEAPP&&isLocalStorage&&"0"!=urlParams.drafts;EditorUi.scratchpadHelpLink="https://www.drawio.com/doc/faq/scratchpad";EditorUi.enableHtmlEditOption=!0;EditorUi.mermaidDiagramTypes="flowchart classDiagram sequenceDiagram stateDiagram mindmap graph erDiagram requirementDiagram journey gantt pie gitGraph".split(" "); EditorUi.defaultMermaidConfig={theme:"neutral",arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!1},sequence:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,showSequenceNumbers:!1},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"',numberSectionStyles:4,axisFormat:"%Y-%m-%d"}}; @@ -13307,7 +13321,7 @@ null,"",V,T,ca*da,ea*da,"shape=image;verticalLabelPosition=bottom;labelBackgroun mxUtils.bind(this,function(){null!=this.sidebar&&this.sidebar.updateEntries();this.updateButtonContainer();this.updateDocumentTitle();this.refresh()}));this.addListener("darkModeChanged",function(){mxClient.IS_SF&&g.view.validateBackground()});g.addListener("enabledChanged",mxUtils.bind(this,function(){g.isEnabled()||this.hideShapePicker()}));d=this;mxWindow.prototype.fit=function(){if(Editor.inlineFullscreen||null==d.embedViewport)mxUtils.fit(this.div);else{var x=parseInt(this.div.offsetLeft),F= parseInt(this.div.offsetWidth),N=d.embedViewport.x+d.embedViewport.width,O=parseInt(this.div.offsetTop),Q=parseInt(this.div.offsetHeight),V=d.embedViewport.y+d.embedViewport.height;this.div.style.left=Math.max(d.embedViewport.x,Math.min(x,N-F))+"px";this.div.style.top=Math.max(d.embedViewport.y,Math.min(O,V-Q))+"px";this.div.style.height=Math.min(d.embedViewport.height,parseInt(this.div.style.height))+"px";this.div.style.width=Math.min(d.embedViewport.width,parseInt(this.div.style.width))+"px"}}; if(!this.editor.chromeless||this.editor.editable)if("simple"==Editor.currentTheme||"sketch"==Editor.currentTheme)B=Editor.currentTheme,Editor.currentTheme="",this.doSetCurrentTheme(B,mxUtils.bind(this,function(){"1"==urlParams.embedInline?this.initializeInlineEmbedMode():(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)=g&&d=g&&(this.isFormatPanelVisible()||this.toggleFormatPanel(!0));this.lastWindowWidth= d}q.apply(this,arguments)};EditorUi.prototype.initializeInlineEmbedMode=function(){var d=this.sketchFooterMenuElt,g=this.sketchMainMenuElt,m=this.sketchPickerMenuElt,t=this.editor.graph;m.style.transform="";mxEvent.addGestureListeners(this.diagramContainer.parentNode,mxUtils.bind(this,function(J){mxEvent.getSource(J)==this.diagramContainer.parentNode&&(this.embedExitPoint=new mxPoint(mxEvent.getClientX(J),mxEvent.getClientY(J)),this.sendEmbeddedSvgExport())}));document.body.style.cursor="text";var v= @@ -14419,7 +14433,7 @@ function(){c.openDevTools()});c.actions.addAction("drafts...",function(){var n=n n,z);c.menus.addMenuItems(n,"- copyConnect collapseExpand - tooltips animations -".split(" "),z);var A=c.getCurrentFile();"simple"!=Editor.currentTheme&&(null!=A&&A.isRealtimeEnabled()&&A.isRealtimeSupported()&&this.addMenuItems(n,["showRemoteCursors"],z),c.menus.addMenuItems(n,["ruler","-"],z));EditorUi.isElectronApp&&c.menus.addMenuItems(n,"- googleFonts spellCheck autoBkp drafts -".split(" "),z);this.addSubmenu("diagramLanguage",n,z);n.addSeparator(z);c.mode!=App.MODE_ATLAS&&c.menus.addMenuItem(n, "configuration",z);n.addSeparator(z)}else"1"==urlParams.embed&&null!=urlParams.lang||this.addSubmenu("language",n,z),"1"==urlParams.embed&&"1"!=urlParams.atlas||"atlas"==Editor.currentTheme||!Editor.isDarkMode()&&(mxClient.IS_IE||mxClient.IS_IE11)||c.menus.addSubmenu("appearance",n,z),"1"!=urlParams.embed&&"1"!=urlParams.extAuth&&c.mode!=App.MODE_ATLAS&&this.addSubmenu("theme",n,z),n.addSeparator(z),A=this.addSubmenu("adaptiveColors",n,z),(!c.isOffline()||mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&& c.menus.addLinkToItem(A,"https://github.com/jgraph/drawio/discussions/4713"),"undefined"!==typeof MathJax&&(A=this.addMenuItem(n,"mathematicalTypesetting",z),(!c.isOffline()||mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&this.addLinkToItem(A,"https://www.drawio.com/doc/faq/math-typesetting")),EditorUi.isElectronApp&&this.addMenuItems(n,["googleFonts","spellCheck","autoBkp","drafts","-"],z),this.addMenuItems(n,["copyConnect","collapseExpand","-"],z),"1"!=urlParams.embed&&(A=c.getCurrentFile(),null!= -A&&A.isRealtimeEnabled()&&A.isRealtimeSupported()&&this.addMenuItems(n,["showRemoteCursors","shareCursor"],z),this.addMenuItems(n,["autosave"],z)),n.addSeparator(z),!c.isOfflineApp()&&isLocalStorage&&this.addMenuItem(n,"plugins",z),this.addMenuItems(n,["-","editDiagram"],z),this.addSubmenu("diagramLanguage",n,z),n.addSeparator(z),"1"!=urlParams.embed&&(isLocalStorage||mxClient.IS_CHROMEAPP)&&this.addMenuItems(n,["showStartScreen"],z),this.addMenuItems(n,["configuration"],z)})));this.put("movePage", +A&&A.isRealtimeEnabled()&&A.isRealtimeSupported()&&this.addMenuItems(n,["showRemoteCursors","shareCursor"],z),this.addMenuItems(n,["autosave"],z)),n.addSeparator(z),!c.isOfflineApp()&&isLocalStorage&&this.addMenuItem(n,"plugins",z),n.addSeparator(z),this.addSubmenu("diagramLanguage",n,z),this.addMenuItem(n,"editDiagram",z),n.addSeparator(z),"1"!=urlParams.embed&&(isLocalStorage||mxClient.IS_CHROMEAPP)&&this.addMenuItems(n,["showStartScreen"],z),this.addMenuItems(n,["configuration"],z)})));this.put("movePage", new Menu(mxUtils.bind(this,function(n,z){var A=c.currentPage,B=c.getPageIndex(A);if(null!=c.pages)for(var M=0;M').src; -mxConstraintHandler.prototype.pointImage=Graph.createSvgImage(5,5,'');mxOutline.prototype.sizerImage=null;mxConstants.VERTEX_SELECTION_COLOR="#C0C0C0";mxConstants.EDGE_SELECTION_COLOR="#C0C0C0";mxConstants.CONNECT_HANDLE_FILLCOLOR="#cee7ff";mxConstants.DEFAULT_VALID_COLOR="#29b6f2";mxConstants.GUIDE_COLOR="#C0C0C0";mxConstants.OUTLINE_COLOR="#29b6f2"; -mxConstants.OUTLINE_HANDLE_FILLCOLOR="#29b6f2";mxConstants.OUTLINE_HANDLE_STROKECOLOR="#fff";Graph.prototype.svgShadowColor="#3D4574";Graph.prototype.svgShadowOpacity="0.4";Graph.prototype.svgShadowSize="0.6";Graph.prototype.svgShadowBlur="1.2";mxRubberband.prototype.defaultOpacity=50;HoverIcons.prototype.inactiveOpacity=25;Format.prototype.showCloseButton=!1;EditorUi.prototype.closableScratchpad=!1;EditorUi.prototype.toolbarHeight=46;EditorUi.prototype.footerHeight=0;Graph.prototype.editAfterInsert= -!mxClient.IS_IOS&&!mxClient.IS_ANDROID;Editor.prototype.isChromelessView=function(){return!1};Graph.prototype.isLightboxView=function(){return!1};var k=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(G){k.apply(this,arguments);null!=this.tabContainer&&(this.tabContainer.style.right="62px",this.diagramContainer.style.bottom=this.tabContainerHeight+"px")};var p=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){p.apply(this,arguments);this.menus.get("save").setEnabled(null!= -this.getCurrentFile()||"1"==urlParams.embed)};var q=Menus.prototype.addShortcut;Menus.prototype.addShortcut=function(G,d){null!=d.shortcut&&900>c&&!mxClient.IS_IOS?G.firstChild.nextSibling.setAttribute("title",d.shortcut):q.apply(this,arguments)};EditorUi.prototype.toggleFormatPanel=function(G){null!=this.formatWindow?this.formatWindow.window.setVisible(null!=G?G:!this.formatWindow.window.isVisible()):b(this)};EditorUi.prototype.isFormatPanelVisible=function(){return null!=this.formatWindow&&this.formatWindow.window.isVisible()|| -null==this.formatWindow&&0c;var Y=null;W||(Y=G("diagram"));X=W?G("diagram",null,Editor.menuImage):null;null!=X&&(Y=X);g([Y,d(mxResources.get("shapes"),y.actions.get("toggleShapes").funct,null,mxResources.get("shapes"),y.actions.get("image"),W?Editor.shapesImage:null),d(mxResources.get("format"),y.actions.get("format").funct,null,mxResources.get("format")+" ("+y.actions.get("format").shortcut+ -")",y.actions.get("image"),W?Editor.formatImage:null)],W?60:null);X=G("insert",!0,W?R:null);g([X,d(mxResources.get("delete"),y.actions.get("delete").funct,null,mxResources.get("delete"),y.actions.get("delete"),W?Editor.trashImage:null)],W?60:null);C.isEnabled()||X.classList.add("mxDisabled");411<=c&&(g([N,O],60),520<=c&&g([Q,640<=c?d("",M.funct,!0,mxResources.get("zoomIn")+" ("+Editor.ctrlKey+" +)",M,Editor.zoomInImage):null,640<=c?d("",S.funct,!0,mxResources.get("zoomOut")+" ("+Editor.ctrlKey+" -)", -S,Editor.zoomOutImage):null],60))}L.apply(this,arguments);var t=mxUtils.isAncestorNode(document.body,this.container)?this.container:this.editor.graph.container;null!=t&&(t.classList.add("geSimple"),t.classList.add("geMinimal"));t=Editor.enableCustomLibraries&&("1"!=urlParams.embed||"1"==urlParams.libraries);var v=document.createElement("div");v.style.cssText="position:absolute;left:0px;right:0px;top:0px;overflow-y:auto;overflow-x:hidden;";v.style.bottom=t?"32px":"0px";this.sidebar=this.createSidebar(v); -if(1E3<=c||null!=urlParams.clibs||null!=urlParams.libs||null!=urlParams["search-shapes"])f(this,!0),null!=this.sidebar&&null!=urlParams["search-shapes"]&&null!=this.sidebar.searchShapes&&(this.sidebar.searchShapes(urlParams["search-shapes"]),this.sidebar.showEntries("search"));EditorUi.windowed&&1E3<=c&&(b(this,!0),this.formatWindow.window.setVisible(!0));var y=this,C=y.editor.graph;y.toolbar=this.createToolbar(y.createDiv("geToolbar"));y.defaultLibraryName=mxResources.get("untitledLibrary");var I= -document.createElement("div");I.className="geMenubarContainer";var K=null,J=new Menubar(y,I);y.statusContainer=y.createStatusContainer();y.statusContainer.style.position="relative";y.statusContainer.style.maxWidth="";y.statusContainer.style.cursor="default";var U=y.hideCurrentMenu;y.hideCurrentMenu=function(){U.apply(this,arguments);this.editor.graph.popupMenuHandler.hideMenu()};var P=y.descriptorChanged;y.descriptorChanged=function(){P.apply(this,arguments);var W=y.getCurrentFile();if(null!=W&&null!= -W.getTitle()){var X=W.getMode();"google"==X?X="googleDrive":"github"==X?X="gitHub":"gitlab"==X?X="gitLab":"onedrive"==X&&(X="oneDrive");X=mxResources.get(X);I.setAttribute("title",W.getTitle()+(null!=X?" ("+X+")":""))}else I.removeAttribute("title")};y.setStatusText(y.editor.getStatus());I.appendChild(y.statusContainer);y.buttonContainer=document.createElement("div");y.buttonContainer.style.cssText="display:flex;justify-content:flex-end;padding-right:10px;gap:6px;white-space:nowrap;background-color:inherit;align-items:center;min-width:0;margin-left:auto;"; -I.appendChild(y.buttonContainer);y.menubarContainer=y.buttonContainer;y.tabContainer=document.createElement("div");y.tabContainer.className="geTabContainer geTabItem";y.tabContainer.style.cssText="position:absolute;left:0px;right:0px;bottom:0px;height:30px;white-space:nowrap;visibility:hidden;";t=y.diagramContainer.parentNode;v=document.createElement("div");v.style.cssText="position:absolute;top:0px;left:0px;right:0px;bottom:0px;overflow:hidden;";y.diagramContainer.style.top="47px";var R=Editor.addBoxImage; -if(null!=y.hoverIcons){var n=y.hoverIcons.update;y.hoverIcons.update=function(){C.freehand.isDrawing()||n.apply(this,arguments)}}if(null!=C.freehand){var z=C.freehand.createStyle;C.freehand.createStyle=function(W){return z.apply(this,arguments)+"sketch=0;"}}y.editor.addListener("statusChanged",mxUtils.bind(this,function(){y.setStatusText(y.editor.getStatus())}));y.setStatusText(y.editor.getStatus());var A=y.menus.get("viewZoom");if(null!=A){var B=function(W){if(mxEvent.isAltDown(W))y.hideCurrentMenu(), -y.actions.get("customZoom").funct(),mxEvent.consume(W);else if("geMenuItem"==mxEvent.getSource(W).className||mxEvent.isShiftDown(W))y.hideCurrentMenu(),y.actions.get("smartFit").funct(),mxEvent.consume(W)},M=y.actions.get("zoomIn"),S=y.actions.get("zoomOut"),l=y.actions.get("resetView"),x=y.actions.get("undo"),F=y.actions.get("redo"),N=d("",x.funct,null,mxResources.get("undo")+" ("+x.shortcut+")",x,Editor.undoImage),O=d("",F.funct,null,mxResources.get("redo")+" ("+F.shortcut+")",F,Editor.redoImage), -Q=d("",B,!0,mxResources.get("fit")+" ("+Editor.ctrlKey+"+H)",l,Editor.zoomFitImage);I.style.cssText="position:absolute;left:0px;right:0px;top:0px;height:30px;padding:8px;text-align:left;white-space:nowrap;";this.tabContainer.style.right="70px";var V=J.addMenu("100%",A.funct);V.setAttribute("title",mxResources.get("zoom")+" (Alt+Mousewheel)");V.className="geTabItem";V.style.height=y.tabContainerHeight+"px";V.style.position="absolute";V.style.display="0"!=urlParams.pages?"flex":"none";V.style.alignItems= -"center";V.style.justifyContent="center";V.style.paddingRight="11px";V.style.whiteSpace="nowrap";V.style.overflow="hidden";V.style.fontSize="11px";V.style.width="51px";V.style.right="0px";V.style.bottom="0px";V.style.boxSizing="content-box";V.style.backgroundImage="url("+mxWindow.prototype.minimizeImage+")";V.style.backgroundPosition="right 6px top 15px";V.style.backgroundRepeat="no-repeat";V.style.backgroundSize="10px";V.style.zIndex="1";v.appendChild(V);(function(W){mxEvent.addListener(W,"click", -B);var X=mxUtils.bind(this,function(Y,Z,aa){W.innerText="";mxUtils.write(W,Math.round(100*y.editor.graph.view.scale*(null!=aa?aa:1))+"%")});y.editor.graph.view.addListener(mxEvent.EVENT_SCALE,X);y.editor.addListener("resetGraphView",X);y.editor.addListener("pageSelected",X);y.editor.graph.addListener("zoomPreview",mxUtils.bind(this,function(Y,Z){X(Y,Z,Z.getProperty("factor"))}))})(V);var T=y.setGraphEnabled;y.setGraphEnabled=function(){T.apply(this,arguments);null!=this.tabContainer&&(V.style.visibility= -this.tabContainer.style.visibility,this.diagramContainer.style.bottom="0"!=urlParams.pages&&"hidden"!=this.tabContainer.style.visibility?this.tabContainerHeight+"px":"0px")}}v.appendChild(I);v.appendChild(y.diagramContainer);t.appendChild(v);y.updateTabContainer();!EditorUi.windowed&&1E3<=c&&b(this,!0);v.appendChild(y.tabContainer);m();y.addListener("lockedChanged",m);mxEvent.addListener(window,"resize",function(){m();null!=y.sidebarWindow&&y.sidebarWindow.window.fit();null!=y.formatWindow&&y.formatWindow.window.fit(); -null!=y.actions.outlineWindow&&y.actions.outlineWindow.window.fit();null!=y.actions.layersWindow&&y.actions.layersWindow.window.fit();null!=y.menus.chatWindow&&y.menus.chatWindow.window.fit();null!=y.menus.tagsWindow&&y.menus.tagsWindow.window.fit();null!=y.menus.findWindow&&y.menus.findWindow.window.fit();null!=y.menus.findReplaceWindow&&y.menus.findReplaceWindow.window.fit()})}}}; -(function(){var b=!1;"min"!=uiTheme||b||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),b=!0);var e=EditorUi.initTheme;EditorUi.initTheme=function(){e.apply(this,arguments);"min"!=uiTheme||b||(this.initMinimalTheme(),b=!0)}})();(function(){var b=mxGuide.prototype.move;mxGuide.prototype.move=function(c,k,p,q){var u=k.y,E=k.x,H=!1,D=!1;if(null!=this.states&&null!=c&&null!=k){var L=this,G=new mxCellState,d=this.graph.getView().scale,g=Math.max(2,this.getGuideTolerance()/2);G.x=c.x+E;G.y=c.y+u;G.width=c.width;G.height=c.height;for(var m=[],t=[],v=0;v=y.x&&G.x<=y.x+y.width||y.x>=G.x&&y.x<=G.x+G.width)&&(G.y> +g.style.left="0px"):(g.parentNode.appendChild(G.sidebarElt),g.style.left=G.sidebarElt.style.width)}if("1"==urlParams.lightbox||"0"==urlParams.chrome||"undefined"===typeof window.Format||"undefined"===typeof window.Menus)window.uiTheme=null;else{var c=0;try{c=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth}catch(G){}Menus.prototype.autoPopup=!1;mxConstraintHandler.prototype.pointImage=Graph.createSvgImage(5,5,''); +mxOutline.prototype.sizerImage=null;mxConstants.VERTEX_SELECTION_COLOR="#C0C0C0";mxConstants.EDGE_SELECTION_COLOR="#C0C0C0";mxConstants.CONNECT_HANDLE_FILLCOLOR="#cee7ff";mxConstants.DEFAULT_VALID_COLOR="#29b6f2";mxConstants.GUIDE_COLOR="#C0C0C0";mxConstants.OUTLINE_COLOR="#29b6f2";mxConstants.OUTLINE_HANDLE_FILLCOLOR="#29b6f2";mxConstants.OUTLINE_HANDLE_STROKECOLOR="#fff";Graph.prototype.svgShadowColor="#3D4574";Graph.prototype.svgShadowOpacity="0.4";Graph.prototype.svgShadowSize="0.6";Graph.prototype.svgShadowBlur= +"1.2";mxRubberband.prototype.defaultOpacity=50;HoverIcons.prototype.inactiveOpacity=25;Format.prototype.showCloseButton=!1;EditorUi.prototype.closableScratchpad=!1;EditorUi.prototype.toolbarHeight=46;EditorUi.prototype.footerHeight=0;Graph.prototype.editAfterInsert=!mxClient.IS_IOS&&!mxClient.IS_ANDROID;Editor.prototype.isChromelessView=function(){return!1};Graph.prototype.isLightboxView=function(){return!1};var k=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(G){k.apply(this,arguments); +null!=this.tabContainer&&(this.tabContainer.style.right="62px",this.diagramContainer.style.bottom=this.tabContainerHeight+"px")};var p=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){p.apply(this,arguments);this.menus.get("save").setEnabled(null!=this.getCurrentFile()||"1"==urlParams.embed)};var q=Menus.prototype.addShortcut;Menus.prototype.addShortcut=function(G,d){null!=d.shortcut&&900>c&&!mxClient.IS_IOS?G.firstChild.nextSibling.setAttribute("title",d.shortcut): +q.apply(this,arguments)};EditorUi.prototype.toggleFormatPanel=function(G){null!=this.formatWindow?this.formatWindow.window.setVisible(null!=G?G:!this.formatWindow.window.isVisible()):b(this)};EditorUi.prototype.isFormatPanelVisible=function(){return null!=this.formatWindow&&this.formatWindow.window.isVisible()||null==this.formatWindow&&0c;var Y=null;W||(Y=G("diagram"));X=W?G("diagram",null, +Editor.menuImage):null;null!=X&&(Y=X);g([Y,d(mxResources.get("shapes"),y.actions.get("toggleShapes").funct,null,mxResources.get("shapes"),y.actions.get("image"),W?Editor.shapesImage:null),d(mxResources.get("format"),y.actions.get("format").funct,null,mxResources.get("format")+" ("+y.actions.get("format").shortcut+")",y.actions.get("image"),W?Editor.formatImage:null)],W?60:null);X=G("insert",!0,W?R:null);g([X,d(mxResources.get("delete"),y.actions.get("delete").funct,null,mxResources.get("delete"), +y.actions.get("delete"),W?Editor.trashImage:null)],W?60:null);C.isEnabled()||X.classList.add("mxDisabled");411<=c&&(g([N,O],60),520<=c&&g([Q,640<=c?d("",M.funct,!0,mxResources.get("zoomIn")+" ("+Editor.ctrlKey+" +)",M,Editor.zoomInImage):null,640<=c?d("",S.funct,!0,mxResources.get("zoomOut")+" ("+Editor.ctrlKey+" -)",S,Editor.zoomOutImage):null],60))}L.apply(this,arguments);var t=mxUtils.isAncestorNode(document.body,this.container)?this.container:this.editor.graph.container;null!=t&&(t.classList.add("geSimple"), +t.classList.add("geMinimal"));t=Editor.enableCustomLibraries&&("1"!=urlParams.embed||"1"==urlParams.libraries);var v=document.createElement("div");v.style.cssText="position:absolute;left:0px;right:0px;top:0px;overflow-y:auto;overflow-x:hidden;";v.style.bottom=t?"32px":"0px";this.sidebar=this.createSidebar(v);if(1E3<=c||null!=urlParams.clibs||null!=urlParams.libs||null!=urlParams["search-shapes"])f(this,!0),null!=this.sidebar&&null!=urlParams["search-shapes"]&&null!=this.sidebar.searchShapes&&(this.sidebar.searchShapes(urlParams["search-shapes"]), +this.sidebar.showEntries("search"));EditorUi.windowed&&1E3<=c&&(b(this,!0),this.formatWindow.window.setVisible(!0));var y=this,C=y.editor.graph;y.toolbar=this.createToolbar(y.createDiv("geToolbar"));y.defaultLibraryName=mxResources.get("untitledLibrary");var I=document.createElement("div");I.className="geMenubarContainer";var K=null,J=new Menubar(y,I);y.statusContainer=y.createStatusContainer();y.statusContainer.style.position="relative";y.statusContainer.style.maxWidth="";y.statusContainer.style.cursor= +"default";var U=y.hideCurrentMenu;y.hideCurrentMenu=function(){U.apply(this,arguments);this.editor.graph.popupMenuHandler.hideMenu()};var P=y.descriptorChanged;y.descriptorChanged=function(){P.apply(this,arguments);var W=y.getCurrentFile();if(null!=W&&null!=W.getTitle()){var X=W.getMode();"google"==X?X="googleDrive":"github"==X?X="gitHub":"gitlab"==X?X="gitLab":"onedrive"==X&&(X="oneDrive");X=mxResources.get(X);I.setAttribute("title",W.getTitle()+(null!=X?" ("+X+")":""))}else I.removeAttribute("title")}; +y.setStatusText(y.editor.getStatus());I.appendChild(y.statusContainer);y.buttonContainer=document.createElement("div");y.buttonContainer.style.cssText="display:flex;justify-content:flex-end;padding-right:10px;gap:6px;white-space:nowrap;background-color:inherit;align-items:center;min-width:0;margin-left:auto;";I.appendChild(y.buttonContainer);y.menubarContainer=y.buttonContainer;y.tabContainer=document.createElement("div");y.tabContainer.className="geTabContainer geTabItem";y.tabContainer.style.cssText= +"position:absolute;left:0px;right:0px;bottom:0px;height:30px;white-space:nowrap;visibility:hidden;";t=y.diagramContainer.parentNode;v=document.createElement("div");v.style.cssText="position:absolute;top:0px;left:0px;right:0px;bottom:0px;overflow:hidden;";y.diagramContainer.style.top="47px";var R=Editor.addBoxImage;if(null!=y.hoverIcons){var n=y.hoverIcons.update;y.hoverIcons.update=function(){C.freehand.isDrawing()||n.apply(this,arguments)}}if(null!=C.freehand){var z=C.freehand.createStyle;C.freehand.createStyle= +function(W){return z.apply(this,arguments)+"sketch=0;"}}y.editor.addListener("statusChanged",mxUtils.bind(this,function(){y.setStatusText(y.editor.getStatus())}));y.setStatusText(y.editor.getStatus());var A=y.menus.get("viewZoom");if(null!=A){var B=function(W){if(mxEvent.isAltDown(W))y.hideCurrentMenu(),y.actions.get("customZoom").funct(),mxEvent.consume(W);else if("geMenuItem"==mxEvent.getSource(W).className||mxEvent.isShiftDown(W))y.hideCurrentMenu(),y.actions.get("smartFit").funct(),mxEvent.consume(W)}, +M=y.actions.get("zoomIn"),S=y.actions.get("zoomOut"),l=y.actions.get("resetView"),x=y.actions.get("undo"),F=y.actions.get("redo"),N=d("",x.funct,null,mxResources.get("undo")+" ("+x.shortcut+")",x,Editor.undoImage),O=d("",F.funct,null,mxResources.get("redo")+" ("+F.shortcut+")",F,Editor.redoImage),Q=d("",B,!0,mxResources.get("fit")+" ("+Editor.ctrlKey+"+H)",l,Editor.zoomFitImage);I.style.cssText="position:absolute;left:0px;right:0px;top:0px;height:30px;padding:8px;text-align:left;white-space:nowrap;"; +this.tabContainer.style.right="70px";var V=J.addMenu("100%",A.funct);V.setAttribute("title",mxResources.get("zoom")+" (Alt+Mousewheel)");V.className="geTabItem";V.style.height=y.tabContainerHeight+"px";V.style.position="absolute";V.style.display="0"!=urlParams.pages?"flex":"none";V.style.alignItems="center";V.style.justifyContent="center";V.style.paddingRight="11px";V.style.whiteSpace="nowrap";V.style.overflow="hidden";V.style.fontSize="11px";V.style.width="51px";V.style.right="0px";V.style.bottom= +"0px";V.style.boxSizing="content-box";V.style.backgroundImage="url("+mxWindow.prototype.minimizeImage+")";V.style.backgroundPosition="right 6px top 15px";V.style.backgroundRepeat="no-repeat";V.style.backgroundSize="10px";V.style.zIndex="1";v.appendChild(V);(function(W){mxEvent.addListener(W,"click",B);var X=mxUtils.bind(this,function(Y,Z,aa){W.innerText="";mxUtils.write(W,Math.round(100*y.editor.graph.view.scale*(null!=aa?aa:1))+"%")});y.editor.graph.view.addListener(mxEvent.EVENT_SCALE,X);y.editor.addListener("resetGraphView", +X);y.editor.addListener("pageSelected",X);y.editor.graph.addListener("zoomPreview",mxUtils.bind(this,function(Y,Z){X(Y,Z,Z.getProperty("factor"))}))})(V);var T=y.setGraphEnabled;y.setGraphEnabled=function(){T.apply(this,arguments);null!=this.tabContainer&&(V.style.visibility=this.tabContainer.style.visibility,this.diagramContainer.style.bottom="0"!=urlParams.pages&&"hidden"!=this.tabContainer.style.visibility?this.tabContainerHeight+"px":"0px")}}v.appendChild(I);v.appendChild(y.diagramContainer); +t.appendChild(v);y.updateTabContainer();!EditorUi.windowed&&1E3<=c&&b(this,!0);v.appendChild(y.tabContainer);m();y.addListener("lockedChanged",m);mxEvent.addListener(window,"resize",function(){m();null!=y.sidebarWindow&&y.sidebarWindow.window.fit();null!=y.formatWindow&&y.formatWindow.window.fit();null!=y.actions.outlineWindow&&y.actions.outlineWindow.window.fit();null!=y.actions.layersWindow&&y.actions.layersWindow.window.fit();null!=y.menus.chatWindow&&y.menus.chatWindow.window.fit();null!=y.menus.tagsWindow&& +y.menus.tagsWindow.window.fit();null!=y.menus.findWindow&&y.menus.findWindow.window.fit();null!=y.menus.findReplaceWindow&&y.menus.findReplaceWindow.window.fit()})}}};(function(){var b=!1;"min"!=uiTheme||b||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),b=!0);var e=EditorUi.initTheme;EditorUi.initTheme=function(){e.apply(this,arguments);"min"!=uiTheme||b||(this.initMinimalTheme(),b=!0)}})();(function(){var b=mxGuide.prototype.move;mxGuide.prototype.move=function(c,k,p,q){var u=k.y,E=k.x,H=!1,D=!1;if(null!=this.states&&null!=c&&null!=k){var L=this,G=new mxCellState,d=this.graph.getView().scale,g=Math.max(2,this.getGuideTolerance()/2);G.x=c.x+E;G.y=c.y+u;G.width=c.width;G.height=c.height;for(var m=[],t=[],v=0;v=y.x&&G.x<=y.x+y.width||y.x>=G.x&&y.x<=G.x+G.width)&&(G.y> y.y+y.height+4||G.y+G.height+4=y.y&&G.y<=y.y+y.height||y.y>=G.y&&y.y<=G.y+G.height)&&(G.x>y.x+y.width+4||G.x+G.width+4 0) + navigator.serviceWorker.getRegistrations().then(function(registrations) { - for (var i = 0; i < registrations.length; i++) + if (registrations != null && registrations.length > 0) { - registrations[i].unregister(); + for (var i = 0; i < registrations.length; i++) + { + registrations[i].unregister(); + } + + writeln('Done'); } + else + { + writeln('OK'); + } + + writeln(''); + var link = document.createElement('button'); + link.style.margin = '4px'; + link.setAttribute('onclick', 'window.location.reload();'); + link.appendChild(document.createTextNode('Update')); + document.getElementById('content').appendChild(link); - writeln('Done'); - } - else - { - writeln('OK'); - } - - writeln(''); - var link = document.createElement('button'); - link.style.margin = '4px'; - link.setAttribute('onclick', 'window.location.reload();'); - link.appendChild(document.createTextNode('Update')); - document.body.appendChild(link); - - if ((/test\.draw\.io$/.test(window.location.hostname)) || - (/preprod\.diagrams\.net$/.test(window.location.hostname)) || - (/app\.diagrams\.net$/.test(window.location.hostname))) - { - link = link.cloneNode(false); - link.setAttribute('onclick', 'window.location.href = "/.";'); - link.appendChild(document.createTextNode('Start App')); - document.body.appendChild(link); - } - }); + if ((/test\.draw\.io$/.test(window.location.hostname)) || + (/preprod\.diagrams\.net$/.test(window.location.hostname)) || + (/app\.diagrams\.net$/.test(window.location.hostname))) + { + link = link.cloneNode(false); + link.setAttribute('onclick', 'window.location.href = "/.";'); + link.appendChild(document.createTextNode('Start App')); + document.getElementById('content').appendChild(link); + } + }); + } + else + { + writeln('OK'); + } // Clears corresponding domain of current domain var iframe = document.createElement('iframe'); diff --git a/src/main/webapp/js/integrate.min.js b/src/main/webapp/js/integrate.min.js index 3a96dbcf..082f4f15 100644 --- a/src/main/webapp/js/integrate.min.js +++ b/src/main/webapp/js/integrate.min.js @@ -64,7 +64,7 @@ if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==url "se.diagrams.net"==window.location.hostname&&(urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.gl="0",urlParams.tr="0",urlParams.plugins="0",urlParams.mode="google",urlParams.lockdown="1",window.DRAWIO_GOOGLE_APP_ID=window.DRAWIO_GOOGLE_APP_ID||"184079235871",window.DRAWIO_GOOGLE_CLIENT_ID=window.DRAWIO_GOOGLE_CLIENT_ID||"184079235871-pjf5nn0lff27lk8qf0770gmffiv9gt61.apps.googleusercontent.com");"trello"==urlParams.mode&&(urlParams.tr="1"); "embed.diagrams.net"==window.location.hostname&&(urlParams.embed="1");(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.open&&(window.location.hash=urlParams.open);"function"!==typeof window.structuredClone&&(window.structuredClone=function(a){return a});window.urlParams=window.urlParams||{};window.DOM_PURIFY_CONFIG=window.DOM_PURIFY_CONFIG||{ADD_TAGS:["use","foreignObject"],FORBID_TAGS:["form"],ALLOWED_URI_REGEXP:/^((?!javascript:).)*$/i,HTML_INTEGRATION_POINTS:{foreignobject:!0},ADD_ATTR:["target","content","pointer-events","requiredFeatures"]};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save"; window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"mxgraph"; -window.mxImageBasePath=window.mxImageBasePath||"mxgraph/images";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"26.0.6",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"), +window.mxImageBasePath=window.mxImageBasePath||"mxgraph/images";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"26.0.7",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"), IS_OP:null!=navigator.userAgent&&(0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/")),IS_OT:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:/Apple Computer, Inc/.test(navigator.vendor), IS_ANDROID:0<=navigator.appVersion.indexOf("Android"),IS_IOS:/iP(hone|od|ad)/.test(navigator.platform)||navigator.userAgent.match(/Mac/)&&navigator.maxTouchPoints&&2navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:"MICROSOFT INTERNET EXPLORER"!=navigator.appName.toUpperCase(),NO_FO:!document.createElementNS|| @@ -302,15 +302,16 @@ function(){this.scrollbars=mxUtils.hasScrollbars(a.container);this.scrollLeft=a. this.getDy())}),this.delay)});this.isActive=function(){return active};this.getDx=function(){return Math.round(this.tdx)};this.getDy=function(){return Math.round(this.tdy)};this.start=function(){this.t0x=a.view.translate.x;this.t0y=a.view.translate.y;this.active=!0};this.panTo=function(c,d,e,f){this.active||this.start();this.scrollLeft=a.container.scrollLeft;this.scrollTop=a.container.scrollTop;var g=a.container;this.dx=c+(null!=e?e:0)-g.scrollLeft-g.clientWidth;this.dx=0>this.dx&&Math.abs(this.dx)< this.border?this.border+this.dx:this.handleMouseOut?Math.max(this.dx,0):0;0==this.dx&&(this.dx=c-g.scrollLeft,this.dx=0this.dy&&Math.abs(this.dy)e.x+(document.body.clientWidth||f.clientWidth)&&(b.div.style.left=Math.max(0,a.div.offsetLeft-d+16)+"px");b.div.style.overflowY="auto";b.div.style.overflowX= "hidden";b.div.style.maxHeight=Math.max(document.body.clientHeight,document.documentElement.clientHeight)-10+"px";mxUtils.fit(b.div)}}; mxPopupMenu.prototype.addSeparator=function(a,b){a=a||this;if(this.smartSeparators&&!b)a.willAddSeparator=!0;else if(null!=a.tbody){a.willAddSeparator=!1;b=document.createElement("tr");var c=document.createElement("td");c.className="mxPopupMenuIcon";c.style.padding="0 0 0 0px";b.appendChild(c);c=document.createElement("td");c.style.padding="0 0 0 0px";c.setAttribute("colSpan","2");var d=document.createElement("hr");d.setAttribute("size","1");c.appendChild(d);b.appendChild(c);a.tbody.appendChild(b)}}; @@ -1941,28 +1942,38 @@ Editor.colorDropperImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3 Editor.magnifyImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgLTk2MCA5NjAgOTYwIiB3aWR0aD0iMjQiPjxwYXRoIGQ9Ik03ODQtMTIwIDUzMi0zNzJxLTMwIDI0LTY5IDM4dC04MyAxNHEtMTA5IDAtMTg0LjUtNzUuNVQxMjAtNTgwcTAtMTA5IDc1LjUtMTg0LjVUMzgwLTg0MHExMDkgMCAxODQuNSA3NS41VDY0MC01ODBxMCA0NC0xNCA4M3QtMzggNjlsMjUyIDI1Mi01NiA1NlpNMzgwLTQwMHE3NSAwIDEyNy41LTUyLjVUNTYwLTU4MHEwLTc1LTUyLjUtMTI3LjVUMzgwLTc2MHEtNzUgMC0xMjcuNSA1Mi41VDIwMC01ODBxMCA3NSA1Mi41IDEyNy41VDM4MC00MDBaIi8+PC9zdmc+"; Editor.sendImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgLTk2MCA5NjAgOTYwIiB3aWR0aD0iMjQiPjxwYXRoIGQ9Ik0xMjAtMTYwdi02NDBsNzYwIDMyMC03NjAgMzIwWm04MC0xMjAgNDc0LTIwMC00NzQtMjAwdjE0MGwyNDAgNjAtMjQwIDYwdjE0MFptMCAwdi00MDAgNDAwWiIvPjwvc3ZnPg==";Editor.sparklesImage="data:image/svg+xml;base64,PCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KDTwhLS0gVXBsb2FkZWQgdG86IFNWRyBSZXBvLCB3d3cuc3ZncmVwby5jb20sIFRyYW5zZm9ybWVkIGJ5OiBTVkcgUmVwbyBNaXhlciBUb29scyAtLT4KPHN2ZyB3aWR0aD0iODAwcHgiIGhlaWdodD0iODAwcHgiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBpZD0iaWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgZmlsbD0iI2ZjZmY0NyIgZGF0YS1kYXJrcmVhZGVyLWlubGluZS1maWxsPSIiIHN0eWxlPSItLWRhcmtyZWFkZXItaW5saW5lLWZpbGw6ICNkNmQ4NTA7IC0tZGFya3JlYWRlci1pbmxpbmUtc3Ryb2tlOiAjZDZkODUwOyIgc3Ryb2tlPSIjZmNmZjQ3IiBkYXRhLWRhcmtyZWFkZXItaW5saW5lLXN0cm9rZT0iIj4KDTxnIGlkPSJTVkdSZXBvX2JnQ2FycmllciIgc3Ryb2tlLXdpZHRoPSIwIi8+Cg08ZyBpZD0iU1ZHUmVwb190cmFjZXJDYXJyaWVyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KDTxnIGlkPSJTVkdSZXBvX2ljb25DYXJyaWVyIj4KDTxwYXRoIGQ9Ik0yNTkuOTIsMjYyLjkxLDIxNi40LDE0OS43N2E5LDksMCwwLDAtMTYuOCwwTDE1Ni4wOCwyNjIuOTFhOSw5LDAsMCwxLTUuMTcsNS4xN0wzNy43NywzMTEuNmE5LDksMCwwLDAsMCwxNi44bDExMy4xNCw0My41MmE5LDksMCwwLDEsNS4xNyw1LjE3TDE5OS42LDQ5MC4yM2E5LDksMCwwLDAsMTYuOCwwbDQzLjUyLTExMy4xNGE5LDksMCwwLDEsNS4xNy01LjE3TDM3OC4yMywzMjguNGE5LDksMCwwLDAsMC0xNi44TDI2NS4wOSwyNjguMDhBOSw5LDAsMCwxLDI1OS45MiwyNjIuOTFaIiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxOS45NjgiIGRhdGEtZGFya3JlYWRlci1pbmxpbmUtc3Ryb2tlPSIiIHN0eWxlPSItLWRhcmtyZWFkZXItaW5saW5lLXN0cm9rZTogIzE4MWExYjsiLz4KDTxwb2x5Z29uIHBvaW50cz0iMTA4IDY4IDg4IDE2IDY4IDY4IDE2IDg4IDY4IDEwOCA4OCAxNjAgMTA4IDEwOCAxNjAgODggMTA4IDY4IiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxOS45NjgiIGRhdGEtZGFya3JlYWRlci1pbmxpbmUtc3Ryb2tlPSIiIHN0eWxlPSItLWRhcmtyZWFkZXItaW5saW5lLXN0cm9rZTogIzE4MWExYjsiLz4KDTxwb2x5Z29uIHBvaW50cz0iNDI2LjY3IDExNy4zMyA0MDAgNDggMzczLjMzIDExNy4zMyAzMDQgMTQ0IDM3My4zMyAxNzAuNjcgNDAwIDI0MCA0MjYuNjcgMTcwLjY3IDQ5NiAxNDQgNDI2LjY3IDExNy4zMyIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMTkuOTY4IiBkYXRhLWRhcmtyZWFkZXItaW5saW5lLXN0cm9rZT0iIiBzdHlsZT0iLS1kYXJrcmVhZGVyLWlubGluZS1zdHJva2U6ICMxODFhMWI7Ii8+Cg08L2c+Cg08L3N2Zz4="; Editor.arrowRightImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjNWY2MzY4Ij48cGF0aCBkPSJNNDAwLTI4MHYtNDAwbDIwMCAyMDAtMjAwIDIwMFoiLz48L3N2Zz4=";Editor.arrowDownImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjNWY2MzY4Ij48cGF0aCBkPSJNNDgwLTM2MCAyODAtNTYwaDQwMEw0ODAtMzYwWiIvPjwvc3ZnPg=="; -Editor.refreshImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNDgwLTE2MHEtMTM0IDAtMjI3LTkzdC05My0yMjdxMC0xMzQgOTMtMjI3dDIyNy05M3E2OSAwIDEzMiAyOC41VDcyMC02OTB2LTExMGg4MHYyODBINTIwdi04MGgxNjhxLTMyLTU2LTg3LjUtODhUNDgwLTcyMHEtMTAwIDAtMTcwIDcwdC03MCAxNzBxMCAxMDAgNzAgMTcwdDE3MCA3MHE3NyAwIDEzOS00NHQ4Ny0xMTZoODRxLTI4IDEwNi0xMTQgMTczdC0xOTYgNjdaIi8+PC9zdmc+"; -Editor.checkImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMzgyLTI0MCAxNTQtNDY4bDU3LTU3IDE3MSAxNzEgMzY3LTM2NyA1NyA1Ny00MjQgNDI0WiIvPjwvc3ZnPg==";Editor.boldImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjcyLTIwMHYtNTYwaDIyMXE2NSAwIDEyMCA0MHQ1NSAxMTFxMCA1MS0yMyA3OC41VDYwMi00OTFxMjUgMTEgNTUuNSA0MXQzMC41IDkwcTAgODktNjUgMTI0LjVUNTAxLTIwMEgyNzJabTEyMS0xMTJoMTA0cTQ4IDAgNTguNS0yNC41VDU2Ni0zNzJxMC0xMS0xMC41LTM1LjVUNDk0LTQzMkgzOTN2MTIwWm0wLTIyOGg5M3EzMyAwIDQ4LTE3dDE1LTM4cTAtMjQtMTctMzl0LTQ0LTE1aC05NXYxMDlaIi8+PC9zdmc+"; +Editor.arrowUpImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjNWY2MzY4Ij48cGF0aCBkPSJtMjgwLTQwMCAyMDAtMjAwIDIwMCAyMDBIMjgwWiIvPjwvc3ZnPg==";Editor.refreshImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNDgwLTE2MHEtMTM0IDAtMjI3LTkzdC05My0yMjdxMC0xMzQgOTMtMjI3dDIyNy05M3E2OSAwIDEzMiAyOC41VDcyMC02OTB2LTExMGg4MHYyODBINTIwdi04MGgxNjhxLTMyLTU2LTg3LjUtODhUNDgwLTcyMHEtMTAwIDAtMTcwIDcwdC03MCAxNzBxMCAxMDAgNzAgMTcwdDE3MCA3MHE3NyAwIDEzOS00NHQ4Ny0xMTZoODRxLTI4IDEwNi0xMTQgMTczdC0xOTYgNjdaIi8+PC9zdmc+"; +Editor.checkImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMzgyLTI0MCAxNTQtNDY4bDU3LTU3IDE3MSAxNzEgMzY3LTM2NyA1NyA1Ny00MjQgNDI0WiIvPjwvc3ZnPg==";Editor.dockRightImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjAwLTEyMHEtMzMgMC01Ni41LTIzLjVUMTIwLTIwMHYtNTYwcTAtMzMgMjMuNS01Ni41VDIwMC04NDBoNTYwcTMzIDAgNTYuNSAyMy41VDg0MC03NjB2NTYwcTAgMzMtMjMuNSA1Ni41VDc2MC0xMjBIMjAwWm0xMjAtODB2LTU2MEgyMDB2NTYwaDEyMFptODAgMGgzNjB2LTU2MEg0MDB2NTYwWm0tODAgMEgyMDBoMTIwWiIvPjwvc3ZnPg=="; +Editor.toFrontImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMzYwLTI4MHEtMzMgMC01Ni41LTIzLjVUMjgwLTM2MHYtNDAwcTAtMzMgMjMuNS01Ni41VDM2MC04NDBoNDAwcTMzIDAgNTYuNSAyMy41VDg0MC03NjB2NDAwcTAgMzMtMjMuNSA1Ni41VDc2MC0yODBIMzYwWm0wLTgwaDQwMHYtNDAwSDM2MHY0MDBaTTIwMC0yMDB2ODBxLTMzIDAtNTYuNS0yMy41VDEyMC0yMDBoODBabS04MC04MHYtODBoODB2ODBoLTgwWm0wLTE2MHYtODBoODB2ODBoLTgwWm0wLTE2MHYtODBoODB2ODBoLTgwWm0xNjAgNDgwdi04MGg4MHY4MGgtODBabTE2MCAwdi04MGg4MHY4MGgtODBabTE2MCAwdi04MGg4MHY4MGgtODBaIi8+PC9zdmc+"; +Editor.toBackImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjAwLTEyMHEtMzMgMC01Ni41LTIzLjVUMTIwLTIwMHYtNDgwaDgwdjQ4MGg0ODB2ODBIMjAwWm0xNjAtMjQwdjgwcS0zMyAwLTU2LjUtMjMuNVQyODAtMzYwaDgwWm0tODAtODB2LTgwaDgwdjgwaC04MFptMC0xNjB2LTgwaDgwdjgwaC04MFptODAtMTYwaC04MHEwLTMzIDIzLjUtNTYuNVQzNjAtODQwdjgwWm04MCA0ODB2LTgwaDgwdjgwaC04MFptMC00ODB2LTgwaDgwdjgwaC04MFptMTYwIDB2LTgwaDgwdjgwaC04MFptMCA0ODB2LTgwaDgwdjgwaC04MFptMTYwLTQ4MHYtODBxMzMgMCA1Ni41IDIzLjVUODQwLTc2MGgtODBabTAgNDAwaDgwcTAgMzMtMjMuNSA1Ni41VDc2MC0yODB2LTgwWm0wLTgwdi04MGg4MHY4MGgtODBabTAtMTYwdi04MGg4MHY4MGgtODBaIi8+PC9zdmc+"; +Editor.fillColorImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJtMjQ3LTkwNCA1Ny01NiAzNDMgMzQzcTIzIDIzIDIzIDU3dC0yMyA1N0w0NTctMzEzcS0yMyAyMy01NyAyM3QtNTctMjNMMTUzLTUwM3EtMjMtMjMtMjMtNTd0MjMtNTdsMTkwLTE5MS05Ni05NlptMTUzIDE1M0wyMDktNTYwaDM4Mkw0MDAtNzUxWm0zNjAgNDcxcS0zMyAwLTU2LjUtMjMuNVQ2ODAtMzYwcTAtMjEgMTIuNS00NXQyNy41LTQ1cTktMTIgMTktMjV0MjEtMjVxMTEgMTIgMjEgMjV0MTkgMjVxMTUgMjEgMjcuNSA0NXQxMi41IDQ1cTAgMzMtMjMuNSA1Ni41VDc2MC0yODBaTTgwIDB2LTE2MGg4MDBWMEg4MFoiLz48L3N2Zz4="; +Editor.strokeColorImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNODAgMHYtMTYwaDgwMFYwSDgwWm0xNjAtMzIwaDU2bDMxMi0zMTEtMjktMjktMjgtMjgtMzExIDMxMnY1NlptLTgwIDgwdi0xNzBsNDQ4LTQ0N3ExMS0xMSAyNS41LTE3dDMwLjUtNnExNiAwIDMxIDZ0MjcgMThsNTUgNTZxMTIgMTEgMTcuNSAyNnQ1LjUgMzFxMCAxNS01LjUgMjkuNVQ3NzctNjg3TDMzMC0yNDBIMTYwWm01NjAtNTA0LTU2LTU2IDU2IDU2Wk02MDgtNjMxbC0yOS0yOS0yOC0yOCA1NyA1N1oiLz48L3N2Zz4="; +Editor.fontColorImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNODAgMHYtMTYwaDgwMFYwSDgwWm0xNDAtMjgwIDIxMC01NjBoMTAwbDIxMCA1NjBoLTk2bC01MC0xNDRIMzY4bC01MiAxNDRoLTk2Wm0xNzYtMjI0aDE2OGwtODItMjMyaC00bC04MiAyMzJaIi8+PC9zdmc+";Editor.backgroundColorImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNODAgMHYtMTYwaDgwMFYwSDgwWm01MDQtNDgwTDQ4MC01ODQgMzIwLTQyNGwxMDMgMTA0IDE2MS0xNjBabS00Ny0xNjAgMTAzIDEwMyAxNjAtMTU5LTEwNC0xMDQtMTU5IDE2MFptLTg0LTI5IDIxNiAyMTYtMTg5IDE5MHEtMjQgMjQtNTYuNSAyNFQzNjctMjYzbC0yNyAyM0gxNDBsMTI2LTEyNXEtMjQtMjQtMjUtNTcuNXQyMy01Ny41bDE4OS0xODlabTAgMCAxODctMTg3cTI0LTI0IDU2LjUtMjR0NTYuNSAyNGwxMDQgMTAzcTI0IDI0IDI0IDU2LjVUODU3LTY0MEw2NjktNDUzIDQ1My02NjlaIi8+PC9zdmc+"; +Editor.shadowImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTYwLTgwcS0zMyAwLTU2LjUtMjMuNVQ4MC0xNjB2LTQ4MHEwLTMzIDIzLjUtNTYuNVQxNjAtNzIwaDgwdi04MHEwLTMzIDIzLjUtNTYuNVQzMjAtODgwaDQ4MHEzMyAwIDU2LjUgMjMuNVQ4ODAtODAwdjQ4MHEwIDMzLTIzLjUgNTYuNVQ4MDAtMjQwaC04MHY4MHEwIDMzLTIzLjUgNTYuNVQ2NDAtODBIMTYwWm0xNjAtMjQwaDQ4MHYtNDgwSDMyMHY0ODBaIi8+PC9zdmc+"; +Editor.boldImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjcyLTIwMHYtNTYwaDIyMXE2NSAwIDEyMCA0MHQ1NSAxMTFxMCA1MS0yMyA3OC41VDYwMi00OTFxMjUgMTEgNTUuNSA0MXQzMC41IDkwcTAgODktNjUgMTI0LjVUNTAxLTIwMEgyNzJabTEyMS0xMTJoMTA0cTQ4IDAgNTguNS0yNC41VDU2Ni0zNzJxMC0xMS0xMC41LTM1LjVUNDk0LTQzMkgzOTN2MTIwWm0wLTIyOGg5M3EzMyAwIDQ4LTE3dDE1LTM4cTAtMjQtMTctMzl0LTQ0LTE1aC05NXYxMDlaIi8+PC9zdmc+"; Editor.italicImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjAwLTIwMHYtMTAwaDE2MGwxMjAtMzYwSDMyMHYtMTAwaDQwMHYxMDBINTgwTDQ2MC0zMDBoMTQwdjEwMEgyMDBaIi8+PC9zdmc+";Editor.underlineImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjAwLTEyMHYtODBoNTYwdjgwSDIwMFptMjgwLTE2MHEtMTAxIDAtMTU3LTYzdC01Ni0xNjd2LTMzMGgxMDN2MzM2cTAgNTYgMjggOTF0ODIgMzVxNTQgMCA4Mi0zNXQyOC05MXYtMzM2aDEwM3YzMzBxMCAxMDQtNTYgMTY3dC0xNTcgNjNaIi8+PC9zdmc+"; Editor.strikethroughImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNDg2LTE2MHEtNzYgMC0xMzUtNDV0LTg1LTEyM2w4OC0zOHExNCA0OCA0OC41IDc5dDg1LjUgMzFxNDIgMCA3Ni0yMHQzNC02NHEwLTE4LTctMzN0LTE5LTI3aDExMnE1IDE0IDcuNSAyOC41VDY5NC0zNDBxMCA4Ni02MS41IDEzM1Q0ODYtMTYwWk04MC00ODB2LTgwaDgwMHY4MEg4MFptNDAyLTMyNnE2NiAwIDExNS41IDMyLjVUNjc0LTY3NGwtODggMzlxLTktMjktMzMuNS01MlQ0ODQtNzEwcS00MSAwLTY4IDE4LjVUMzg2LTY0MGgtOTZxMi02OSA1NC41LTExNy41VDQ4Mi04MDZaIi8+PC9zdmc+"; -Editor.verticalTextImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjQwLTI0MHYtMjAwcS02NiAwLTExMy00N1Q4MC02MDBxMC02NiA0Ny0xMTN0MTEzLTQ3aDMyMHY4MGgtODB2NDQwaC04MHYtNDQwaC04MHY0NDBoLTgwWm00ODAgODBMNTYwLTMyMGw1Ni01NiA2NCA2M3YtNDQ3aDgwdjQ0N2w2NC02NCA1NiA1Ny0xNjAgMTYwWk0yNDAtNTIwdi0xNjBxLTMzIDAtNTYuNSAyMy41VDE2MC02MDBxMCAzMyAyMy41IDU2LjVUMjQwLTUyMFptMC04MFoiLz48L3N2Zz4="; -Editor.alignLeftImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTIwLTEyMHYtODBoNzIwdjgwSDEyMFptMC0xNjB2LTgwaDQ4MHY4MEgxMjBabTAtMTYwdi04MGg3MjB2ODBIMTIwWm0wLTE2MHYtODBoNDgwdjgwSDEyMFptMC0xNjB2LTgwaDcyMHY4MEgxMjBaIi8+PC9zdmc+";Editor.alignCenterImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTIwLTEyMHYtODBoNzIwdjgwSDEyMFptMTYwLTE2MHYtODBoNDAwdjgwSDI4MFpNMTIwLTQ0MHYtODBoNzIwdjgwSDEyMFptMTYwLTE2MHYtODBoNDAwdjgwSDI4MFpNMTIwLTc2MHYtODBoNzIwdjgwSDEyMFoiLz48L3N2Zz4="; -Editor.alignRightImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTIwLTc2MHYtODBoNzIwdjgwSDEyMFptMjQwIDE2MHYtODBoNDgwdjgwSDM2MFpNMTIwLTQ0MHYtODBoNzIwdjgwSDEyMFptMjQwIDE2MHYtODBoNDgwdjgwSDM2MFpNMTIwLTEyMHYtODBoNzIwdjgwSDEyMFoiLz48L3N2Zz4=";Editor.alignJustifyImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTIwLTEyMHYtODBoNzIwdjgwSDEyMFptMC0xNjB2LTgwaDcyMHY4MEgxMjBabTAtMTYwdi04MGg3MjB2ODBIMTIwWm0wLTE2MHYtODBoNzIwdjgwSDEyMFptMC0xNjB2LTgwaDcyMHY4MEgxMjBaIi8+PC9zdmc+"; -Editor.alignTopImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTYwLTc2MHYtODBoNjQwdjgwSDE2MFptMjgwIDY0MHYtNDA4TDMzNi00MjRsLTU2LTU2IDIwMC0yMDAgMjAwIDIwMC01NiA1Ni0xMDQtMTA0djQwOGgtODBaIi8+PC9zdmc+";Editor.alignMiddleImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNDQwLTgwdi0xNjhsLTY0IDY0LTU2LTU2IDE2MC0xNjAgMTYwIDE2MC01NiA1Ni02NC02NHYxNjhoLTgwWk0xNjAtNDQwdi04MGg2NDB2ODBIMTYwWm0zMjAtMTIwTDMyMC03MjBsNTYtNTYgNjQgNjR2LTE2OGg4MHYxNjhsNjQtNjQgNTYgNTYtMTYwIDE2MFoiLz48L3N2Zz4="; -Editor.alignBottomImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTYwLTEyMHYtODBoNjQwdjgwSDE2MFptMzIwLTE2MEwyODAtNDgwbDU2LTU2IDEwNCAxMDR2LTQwOGg4MHY0MDhsMTA0LTEwNCA1NiA1Ni0yMDAgMjAwWiIvPjwvc3ZnPg==";Editor.alignHorizontalLeftImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNODAtODB2LTgwMGg4MHY4MDBIODBabTE2MC0yMDB2LTEyMGg0MDB2MTIwSDI0MFptMC0yODB2LTEyMGg2NDB2MTIwSDI0MFoiLz48L3N2Zz4="; -Editor.alignHorizontalCenterImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNDQwLTgwdi0yMDBIMjQwdi0xMjBoMjAwdi0xNjBIMTIwdi0xMjBoMzIwdi0yMDBoODB2MjAwaDMyMHYxMjBINTIwdjE2MGgyMDB2MTIwSDUyMHYyMDBoLTgwWiIvPjwvc3ZnPg==";Editor.alignHorizontalRightImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNODAwLTgwdi04MDBoODB2ODAwaC04MFpNMzIwLTI4MHYtMTIwaDQwMHYxMjBIMzIwWk04MC01NjB2LTEyMGg2NDB2MTIwSDgwWiIvPjwvc3ZnPg=="; -Editor.alignVerticalTopImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjgwLTgwdi02NDBoMTIwdjY0MEgyODBabTI4MC0yNDB2LTQwMGgxMjB2NDAwSDU2MFpNODAtODAwdi04MGg4MDB2ODBIODBaIi8+PC9zdmc+";Editor.alignVerticalMiddleImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjgwLTEyMHYtMzIwSDgwdi04MGgyMDB2LTMyMGgxMjB2MzIwaDE2MHYtMjAwaDEyMHYyMDBoMjAwdjgwSDY4MHYyMDBINTYwdi0yMDBINDAwdjMyMEgyODBaIi8+PC9zdmc+"; -Editor.alignVerticalBottomImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNODAtODB2LTgwaDgwMHY4MEg4MFptMjAwLTE2MHYtNjQwaDEyMHY2NDBIMjgwWm0yODAgMHYtNDAwaDEyMHY0MDBINTYwWiIvPjwvc3ZnPg==";Editor.subscriptImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNzYwLTE2MHYtODBxMC0xNyAxMS41LTI4LjVUODAwLTI4MGg4MHYtNDBINzYwdi00MGgxMjBxMTcgMCAyOC41IDExLjVUOTIwLTMyMHY0MHEwIDE3LTExLjUgMjguNVQ4ODAtMjQwaC04MHY0MGgxMjB2NDBINzYwWm0tNTI1LTgwIDE4NS0yOTEtMTcyLTI2OWgxMDZsMTI0IDIwMGg0bDEyMy0yMDBoMTA3TDUzOS01MzFsMTg2IDI5MUg2MThMNDgyLTQ1N2gtNEwzNDItMjQwSDIzNVoiLz48L3N2Zz4="; +Editor.verticalTextImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNzYwLTE2MGgtODB2LTUyOGwtNDIgNDItNTYtNTYgMTM4LTEzOCAxNDAgMTM4LTU4IDU2LTQyLTQydjUyOFpNNTYwLTI3NiAxMjAtNDQwdi04MGw0NDAtMTY0djc2bC0xMTIgMzh2MTc4bDExMiA0MHY3NlpNMzg0LTQxNHYtMTMybC0xODIgNjR2NGwxODIgNjRaIi8+PC9zdmc+";Editor.alignLeftImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTIwLTEyMHYtODBoNzIwdjgwSDEyMFptMC0xNjB2LTgwaDQ4MHY4MEgxMjBabTAtMTYwdi04MGg3MjB2ODBIMTIwWm0wLTE2MHYtODBoNDgwdjgwSDEyMFptMC0xNjB2LTgwaDcyMHY4MEgxMjBaIi8+PC9zdmc+"; +Editor.alignCenterImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTIwLTEyMHYtODBoNzIwdjgwSDEyMFptMTYwLTE2MHYtODBoNDAwdjgwSDI4MFpNMTIwLTQ0MHYtODBoNzIwdjgwSDEyMFptMTYwLTE2MHYtODBoNDAwdjgwSDI4MFpNMTIwLTc2MHYtODBoNzIwdjgwSDEyMFoiLz48L3N2Zz4=";Editor.alignRightImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTIwLTc2MHYtODBoNzIwdjgwSDEyMFptMjQwIDE2MHYtODBoNDgwdjgwSDM2MFpNMTIwLTQ0MHYtODBoNzIwdjgwSDEyMFptMjQwIDE2MHYtODBoNDgwdjgwSDM2MFpNMTIwLTEyMHYtODBoNzIwdjgwSDEyMFoiLz48L3N2Zz4="; +Editor.alignJustifyImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTIwLTEyMHYtODBoNzIwdjgwSDEyMFptMC0xNjB2LTgwaDcyMHY4MEgxMjBabTAtMTYwdi04MGg3MjB2ODBIMTIwWm0wLTE2MHYtODBoNzIwdjgwSDEyMFptMC0xNjB2LTgwaDcyMHY4MEgxMjBaIi8+PC9zdmc+";Editor.alignTopImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTYwLTc2MHYtODBoNjQwdjgwSDE2MFptMjgwIDY0MHYtNDA4TDMzNi00MjRsLTU2LTU2IDIwMC0yMDAgMjAwIDIwMC01NiA1Ni0xMDQtMTA0djQwOGgtODBaIi8+PC9zdmc+"; +Editor.alignMiddleImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNDQwLTgwdi0xNjhsLTY0IDY0LTU2LTU2IDE2MC0xNjAgMTYwIDE2MC01NiA1Ni02NC02NHYxNjhoLTgwWk0xNjAtNDQwdi04MGg2NDB2ODBIMTYwWm0zMjAtMTIwTDMyMC03MjBsNTYtNTYgNjQgNjR2LTE2OGg4MHYxNjhsNjQtNjQgNTYgNTYtMTYwIDE2MFoiLz48L3N2Zz4=";Editor.alignBottomImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTYwLTEyMHYtODBoNjQwdjgwSDE2MFptMzIwLTE2MEwyODAtNDgwbDU2LTU2IDEwNCAxMDR2LTQwOGg4MHY0MDhsMTA0LTEwNCA1NiA1Ni0yMDAgMjAwWiIvPjwvc3ZnPg=="; +Editor.alignHorizontalLeftImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNODAtODB2LTgwMGg4MHY4MDBIODBabTE2MC0yMDB2LTEyMGg0MDB2MTIwSDI0MFptMC0yODB2LTEyMGg2NDB2MTIwSDI0MFoiLz48L3N2Zz4=";Editor.alignHorizontalCenterImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNDQwLTgwdi0yMDBIMjQwdi0xMjBoMjAwdi0xNjBIMTIwdi0xMjBoMzIwdi0yMDBoODB2MjAwaDMyMHYxMjBINTIwdjE2MGgyMDB2MTIwSDUyMHYyMDBoLTgwWiIvPjwvc3ZnPg=="; +Editor.alignHorizontalRightImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNODAwLTgwdi04MDBoODB2ODAwaC04MFpNMzIwLTI4MHYtMTIwaDQwMHYxMjBIMzIwWk04MC01NjB2LTEyMGg2NDB2MTIwSDgwWiIvPjwvc3ZnPg==";Editor.alignVerticalTopImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjgwLTgwdi02NDBoMTIwdjY0MEgyODBabTI4MC0yNDB2LTQwMGgxMjB2NDAwSDU2MFpNODAtODAwdi04MGg4MDB2ODBIODBaIi8+PC9zdmc+"; +Editor.alignVerticalMiddleImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjgwLTEyMHYtMzIwSDgwdi04MGgyMDB2LTMyMGgxMjB2MzIwaDE2MHYtMjAwaDEyMHYyMDBoMjAwdjgwSDY4MHYyMDBINTYwdi0yMDBINDAwdjMyMEgyODBaIi8+PC9zdmc+";Editor.alignVerticalBottomImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNODAtODB2LTgwaDgwMHY4MEg4MFptMjAwLTE2MHYtNjQwaDEyMHY2NDBIMjgwWm0yODAgMHYtNDAwaDEyMHY0MDBINTYwWiIvPjwvc3ZnPg=="; +Editor.subscriptImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNzYwLTE2MHYtODBxMC0xNyAxMS41LTI4LjVUODAwLTI4MGg4MHYtNDBINzYwdi00MGgxMjBxMTcgMCAyOC41IDExLjVUOTIwLTMyMHY0MHEwIDE3LTExLjUgMjguNVQ4ODAtMjQwaC04MHY0MGgxMjB2NDBINzYwWm0tNTI1LTgwIDE4NS0yOTEtMTcyLTI2OWgxMDZsMTI0IDIwMGg0bDEyMy0yMDBoMTA3TDUzOS01MzFsMTg2IDI5MUg2MThMNDgyLTQ1N2gtNEwzNDItMjQwSDIzNVoiLz48L3N2Zz4="; Editor.superscriptImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNzYwLTYwMHYtODBxMC0xNyAxMS41LTI4LjVUODAwLTcyMGg4MHYtNDBINzYwdi00MGgxMjBxMTcgMCAyOC41IDExLjVUOTIwLTc2MHY0MHEwIDE3LTExLjUgMjguNVQ4ODAtNjgwaC04MHY0MGgxMjB2NDBINzYwWk0yMzUtMTYwbDE4NS0yOTEtMTcyLTI2OWgxMDZsMTI0IDIwMGg0bDEyMy0yMDBoMTA3TDUzOS00NTFsMTg2IDI5MUg2MThMNDgyLTM3N2gtNEwzNDItMTYwSDIzNVoiLz48L3N2Zz4="; Editor.orderedListImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTIwLTgwdi02MGgxMDB2LTMwaC02MHYtNjBoNjB2LTMwSDEyMHYtNjBoMTIwcTE3IDAgMjguNSAxMS41VDI4MC0yODB2NDBxMCAxNy0xMS41IDI4LjVUMjQwLTIwMHExNyAwIDI4LjUgMTEuNVQyODAtMTYwdjQwcTAgMTctMTEuNSAyOC41VDI0MC04MEgxMjBabTAtMjgwdi0xMTBxMC0xNyAxMS41LTI4LjVUMTYwLTUxMGg2MHYtMzBIMTIwdi02MGgxMjBxMTcgMCAyOC41IDExLjVUMjgwLTU2MHY3MHEwIDE3LTExLjUgMjguNVQyNDAtNDUwaC02MHYzMGgxMDB2NjBIMTIwWm02MC0yODB2LTE4MGgtNjB2LTYwaDEyMHYyNDBoLTYwWm0xODAgNDQwdi04MGg0ODB2ODBIMzYwWm0wLTI0MHYtODBoNDgwdjgwSDM2MFptMC0yNDB2LTgwaDQ4MHY4MEgzNjBaIi8+PC9zdmc+"; Editor.unorderedListImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMzYwLTIwMHYtODBoNDgwdjgwSDM2MFptMC0yNDB2LTgwaDQ4MHY4MEgzNjBabTAtMjQwdi04MGg0ODB2ODBIMzYwWk0yMDAtMTYwcS0zMyAwLTU2LjUtMjMuNVQxMjAtMjQwcTAtMzMgMjMuNS01Ni41VDIwMC0zMjBxMzMgMCA1Ni41IDIzLjVUMjgwLTI0MHEwIDMzLTIzLjUgNTYuNVQyMDAtMTYwWm0wLTI0MHEtMzMgMC01Ni41LTIzLjVUMTIwLTQ4MHEwLTMzIDIzLjUtNTYuNVQyMDAtNTYwcTMzIDAgNTYuNSAyMy41VDI4MC00ODBxMCAzMy0yMy41IDU2LjVUMjAwLTQwMFptMC0yNDBxLTMzIDAtNTYuNS0yMy41VDEyMC03MjBxMC0zMyAyMy41LTU2LjVUMjAwLTgwMHEzMyAwIDU2LjUgMjMuNVQyODAtNzIwcTAgMzMtMjMuNSA1Ni41VDIwMC02NDBaIi8+PC9zdmc+"; Editor.indentImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTIwLTEyMHYtODBoNzIwdjgwSDEyMFptMzIwLTE2MHYtODBoNDAwdjgwSDQ0MFptMC0xNjB2LTgwaDQwMHY4MEg0NDBabTAtMTYwdi04MGg0MDB2ODBINDQwWk0xMjAtNzYwdi04MGg3MjB2ODBIMTIwWm0wIDQ0MHYtMzIwbDE2MCAxNjAtMTYwIDE2MFoiLz48L3N2Zz4=";Editor.outdentImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTIwLTEyMHYtODBoNzIwdjgwSDEyMFptMzIwLTE2MHYtODBoNDAwdjgwSDQ0MFptMC0xNjB2LTgwaDQwMHY4MEg0NDBabTAtMTYwdi04MGg0MDB2ODBINDQwWk0xMjAtNzYwdi04MGg3MjB2ODBIMTIwWm0xNjAgNDQwTDEyMC00ODBsMTYwLTE2MHYzMjBaIi8+PC9zdmc+"; -Editor.removeFormatImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJtNTI4LTU0Ni05My05My0xMjEtMTIxaDQ4NnYxMjBINTY4bC00MCA5NFpNNzkyLTU2IDQ2MC0zODhsLTgwIDE4OEgyNDlsMTE5LTI4MEw1Ni03OTJsNTYtNTYgNzM2IDczNi01NiA1NloiLz48L3N2Zz4=";Editor.codeImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMzIwLTI0MCA4MC00ODBsMjQwLTI0MCA1NyA1Ny0xODQgMTg0IDE4MyAxODMtNTYgNTZabTMyMCAwLTU3LTU3IDE4NC0xODQtMTgzLTE4MyA1Ni01NiAyNDAgMjQwLTI0MCAyNDBaIi8+PC9zdmc+"; -Editor.linkImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNDQwLTI4MEgyODBxLTgzIDAtMTQxLjUtNTguNVQ4MC00ODBxMC04MyA1OC41LTE0MS41VDI4MC02ODBoMTYwdjgwSDI4MHEtNTAgMC04NSAzNXQtMzUgODVxMCA1MCAzNSA4NXQ4NSAzNWgxNjB2ODBaTTMyMC00NDB2LTgwaDMyMHY4MEgzMjBabTIwMCAxNjB2LTgwaDE2MHE1MCAwIDg1LTM1dDM1LTg1cTAtNTAtMzUtODV0LTg1LTM1SDUyMHYtODBoMTYwcTgzIDAgMTQxLjUgNTguNVQ4ODAtNDgwcTAgODMtNTguNSAxNDEuNVQ2ODAtMjgwSDUyMFoiLz48L3N2Zz4="; +Editor.removeFormatImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJtNTI4LTU0Ni05My05My0xMjEtMTIxaDQ4NnYxMjBINTY4bC00MCA5NFpNNzkyLTU2IDQ2MC0zODhsLTgwIDE4OEgyNDlsMTE5LTI4MEw1Ni03OTJsNTYtNTYgNzM2IDczNi01NiA1NloiLz48L3N2Zz4=";Editor.textFormatImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjAwLTIwMHYtODBoNTYwdjgwSDIwMFptNzYtMTYwIDE2NC00NDBoODBsMTY0IDQ0MGgtNzZsLTM4LTExMkgzOTJsLTQwIDExMmgtNzZabTEzOC0xNzZoMTMybC02NC0xODJoLTRsLTY0IDE4MloiLz48L3N2Zz4="; +Editor.codeImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMzIwLTI0MCA4MC00ODBsMjQwLTI0MCA1NyA1Ny0xODQgMTg0IDE4MyAxODMtNTYgNTZabTMyMCAwLTU3LTU3IDE4NC0xODQtMTgzLTE4MyA1Ni01NiAyNDAgMjQwLTI0MCAyNDBaIi8+PC9zdmc+";Editor.linkImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNDQwLTI4MEgyODBxLTgzIDAtMTQxLjUtNTguNVQ4MC00ODBxMC04MyA1OC41LTE0MS41VDI4MC02ODBoMTYwdjgwSDI4MHEtNTAgMC04NSAzNXQtMzUgODVxMCA1MCAzNSA4NXQ4NSAzNWgxNjB2ODBaTTMyMC00NDB2LTgwaDMyMHY4MEgzMjBabTIwMCAxNjB2LTgwaDE2MHE1MCAwIDg1LTM1dDM1LTg1cTAtNTAtMzUtODV0LTg1LTM1SDUyMHYtODBoMTYwcTgzIDAgMTQxLjUgNTguNVQ4ODAtNDgwcTAgODMtNTguNSAxNDEuNVQ2ODAtMjgwSDUyMFoiLz48L3N2Zz4="; Editor.imageImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjAwLTEyMHEtMzMgMC01Ni41LTIzLjVUMTIwLTIwMHYtNTYwcTAtMzMgMjMuNS01Ni41VDIwMC04NDBoNTYwcTMzIDAgNTYuNSAyMy41VDg0MC03NjB2NTYwcTAgMzMtMjMuNSA1Ni41VDc2MC0xMjBIMjAwWm0wLTgwaDU2MHYtNTYwSDIwMHY1NjBabTQwLTgwaDQ4MEw1NzAtNDgwIDQ1MC0zMjBsLTkwLTEyMC0xMjAgMTYwWm0tNDAgODB2LTU2MCA1NjBaIi8+PC9zdmc+"; Editor.horizontalRuleImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTYwLTQ0MHYtODBoNjQwdjgwSDE2MFoiLz48L3N2Zz4=";Editor.tableImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjAwLTEyMHEtMzMgMC01Ni41LTIzLjVUMTIwLTIwMHYtNTYwcTAtMzMgMjMuNS01Ni41VDIwMC04NDBoNTYwcTMzIDAgNTYuNSAyMy41VDg0MC03NjB2NTYwcTAgMzMtMjMuNSA1Ni41VDc2MC0xMjBIMjAwWm0yNDAtMjQwSDIwMHYxNjBoMjQwdi0xNjBabTgwIDB2MTYwaDI0MHYtMTYwSDUyMFptLTgwLTgwdi0xNjBIMjAwdjE2MGgyNDBabTgwIDBoMjQwdi0xNjBINTIwdjE2MFpNMjAwLTY4MGg1NjB2LTgwSDIwMHY4MFoiLz48L3N2Zz4="; -Editor.autosizeImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNDAtNDB2LTI0MGg4MHYtNDAwSDQwdi0yNDBoMjQwdjgwaDQwMHYtODBoMjQwdjI0MGgtODB2NDAwaDgwdjI0MEg2ODB2LTgwSDI4MHY4MEg0MFptMjQwLTE2MGg0MDB2LTgwaDgwdi00MDBoLTgwdi04MEgyODB2ODBoLTgwdjQwMGg4MHY4MFptMzItMTIwIDEzNi0zNjBoNjRsMTM2IDM2MGgtNjJsLTMyLTkySDQwOGwtMzIgOTJoLTY0Wm0xMTQtMTQ0aDEwOGwtNTItMTUwaC00bC01MiAxNTBaTTEyMC03NjBoODB2LTgwaC04MHY4MFptNjQwIDBoODB2LTgwaC04MHY4MFptMCA2NDBoODB2LTgwaC04MHY4MFptLTY0MCAwaDgwdi04MGgtODB2ODBabTgwLTY0MFptNTYwIDBabTAgNTYwWm0tNTYwIDBaIi8+PC9zdmc+"; -Editor.checkmarkImage="data:image/gif;base64,R0lGODlhFQAVAMQfAGxsbHx8fIqKioaGhvb29nJycvr6+sDAwJqamltbW5OTk+np6YGBgeTk5Ly8vJiYmP39/fLy8qWlpa6ursjIyOLi4vj4+N/f3+3t7fT09LCwsHZ2dubm5r6+vmZmZv///yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OEY4NTZERTQ5QUFBMTFFMUE5MTVDOTM5MUZGMTE3M0QiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OEY4NTZERTU5QUFBMTFFMUE5MTVDOTM5MUZGMTE3M0QiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4Rjg1NkRFMjlBQUExMUUxQTkxNUM5MzkxRkYxMTczRCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4Rjg1NkRFMzlBQUExMUUxQTkxNUM5MzkxRkYxMTczRCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAB8ALAAAAAAVABUAAAVI4CeOZGmeaKqubKtylktSgCOLRyLd3+QJEJnh4VHcMoOfYQXQLBcBD4PA6ngGlIInEHEhPOANRkaIFhq8SuHCE1Hb8Lh8LgsBADs="; +Editor.spacingImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjQwLTgwIDgwLTI0MGwxNjAtMTYwIDU3IDU2LTY0IDY0aDQ5NGwtNjMtNjQgNTYtNTYgMTYwIDE2MEw3MjAtODBsLTU3LTU2IDY0LTY0SDIzM2w2MyA2NC01NiA1NlptMzYtMzYwIDE2NC00NDBoODBsMTY0IDQ0MGgtNzZsLTM4LTExMkgzOTJsLTQwIDExMmgtNzZabTEzOC0xNzZoMTMybC02NC0xODJoLTRsLTY0IDE4MloiLz48L3N2Zz4=";Editor.addColumnLeftImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNODAwLTIwMHYtNTYwSDU2MHY1NjBoMjQwWm0tNjQwIDgwdi0xNjBoODB2ODBoMjQwdi01NjBIMjQwdjgwaC04MHYtMTYwaDcyMHY3MjBIMTYwWm0zMjAtMzYwWm04MCAwaC04MCA4MFptMCAwWk0xNjAtMzYwdi04MEg4MHYtODBoODB2LTgwaDgwdjgwaDgwdjgwaC04MHY4MGgtODBaIi8+PC9zdmc+"; +Editor.addColumnRightImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMTYwLTc2MHY1NjBoMjQwdi01NjBIMTYwWk04MC0xMjB2LTcyMGg3MjB2MTYwaC04MHYtODBINDgwdjU2MGgyNDB2LTgwaDgwdjE2MEg4MFptNDAwLTM2MFptLTgwIDBoODAtODBabTAgMFptMzIwIDEyMHYtODBoLTgwdi04MGg4MHYtODBoODB2ODBoODB2ODBoLTgwdjgwaC04MFoiLz48L3N2Zz4=";Editor.removeColumnImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIiB0cmFuc2Zvcm09InJvdGF0ZSg5MCkgc2NhbGUoMSwtMSkiPjxwYXRoIGQ9Ik01NjAtMjgwSDEyMHYtNDAwaDcyMHYxMjBoLTgwdi00MEgyMDB2MjQwaDM2MHY4MFptLTM2MC04MHYtMjQwIDI0MFptNDQwIDEwNCA4NC04NC04NC04NCA1Ni01NiA4NCA4NCA4NC04NCA1NiA1Ni04MyA4NCA4MyA4NC01NiA1Ni04NC04My04NCA4My01Ni01NloiLz48L3N2Zz4="; +Editor.addRowAboveImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjAwLTE2MGg1NjB2LTI0MEgyMDB2MjQwWm02NDAgODBIMTIwdi03MjBoMTYwdjgwaC04MHYyNDBoNTYwdi0yNDBoLTgwdi04MGgxNjB2NzIwWk00ODAtNDgwWm0wIDgwdi04MCA4MFptMCAwWm0tNDAtMjQwdi04MGgtODB2LTgwaDgwdi04MGg4MHY4MGg4MHY4MGgtODB2ODBoLTgwWiIvPjwvc3ZnPg==";Editor.addRowBelowImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNMjAwLTU2MGg1NjB2LTI0MEgyMDB2MjQwWm0tODAgNDAwdi03MjBoNzIwdjcyMEg2ODB2LTgwaDgwdi0yNDBIMjAwdjI0MGg4MHY4MEgxMjBabTM2MC0zMjBabTAtODB2ODAtODBabTAgMFpNNDQwLTgwdi04MGgtODB2LTgwaDgwdi04MGg4MHY4MGg4MHY4MGgtODB2ODBoLTgwWiIvPjwvc3ZnPg=="; +Editor.removeRowImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNTYwLTI4MEgxMjB2LTQwMGg3MjB2MTIwaC04MHYtNDBIMjAwdjI0MGgzNjB2ODBabS0zNjAtODB2LTI0MCAyNDBabTQ0MCAxMDQgODQtODQtODQtODQgNTYtNTYgODQgODQgODQtODQgNTYgNTYtODMgODQgODMgODQtNTYgNTYtODQtODMtODQgODMtNTYtNTZaIi8+PC9zdmc+";Editor.autosizeImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjMDAwMDAwIj48cGF0aCBkPSJNNDAtNDB2LTI0MGg4MHYtNDAwSDQwdi0yNDBoMjQwdjgwaDQwMHYtODBoMjQwdjI0MGgtODB2NDAwaDgwdjI0MEg2ODB2LTgwSDI4MHY4MEg0MFptMjQwLTE2MGg0MDB2LTgwaDgwdi00MDBoLTgwdi04MEgyODB2ODBoLTgwdjQwMGg4MHY4MFptMzItMTIwIDEzNi0zNjBoNjRsMTM2IDM2MGgtNjJsLTMyLTkySDQwOGwtMzIgOTJoLTY0Wm0xMTQtMTQ0aDEwOGwtNTItMTUwaC00bC01MiAxNTBaTTEyMC03NjBoODB2LTgwaC04MHY4MFptNjQwIDBoODB2LTgwaC04MHY4MFptMCA2NDBoODB2LTgwaC04MHY4MFptLTY0MCAwaDgwdi04MGgtODB2ODBabTgwLTY0MFptNTYwIDBabTAgNTYwWm0tNTYwIDBaIi8+PC9zdmc+"; +Editor.checkmarkImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjJweCIgaGVpZ2h0PSIxOHB4IiB2ZXJzaW9uPSIxLjEiPjxwYXRoIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQgMCkiIGQ9Ik03LjE4MSwxNS4wMDdhMSwxLDAsMCwxLS43OTMtMC4zOTFMMy4yMjIsMTAuNUExLDEsMCwxLDEsNC44MDgsOS4yNzRMNy4xMzIsMTIuM2w2LjA0NC04Ljg2QTEsMSwwLDEsMSwxNC44Myw0LjU2OWwtNi44MjMsMTBhMSwxLDAsMCwxLS44LjQzN0g3LjE4MVoiIGZpbGw9IiMwMDAwMDAiLz48L3N2Zz4="; Editor.roughFillStyles=[{val:"auto",dispName:"Auto"},{val:"hachure",dispName:"Hachure"},{val:"solid",dispName:"Solid"},{val:"zigzag",dispName:"ZigZag"},{val:"cross-hatch",dispName:"Cross Hatch"},{val:"dashed",dispName:"Dashed"},{val:"zigzag-line",dispName:"ZigZag Line"}]; Editor.fillStyles=[{val:"auto",dispName:"Auto"},{val:"hatch",dispName:"Hatch"},{val:"solid",dispName:"Solid"},{val:"dots",dispName:"Dots"},{val:"cross-hatch",dispName:"Cross Hatch"},{val:"dashed",dispName:"Dashed"},{val:"zigzag-line",dispName:"ZigZag Line"}];Editor.themes=[];Editor.ctrlKey=mxClient.IS_MAC?"Cmd":"Ctrl";Editor.hintOffset=20;Editor.shapePickerHoverDelay=300;Editor.fitWindowBorders=null;Editor.popupsAllowed=null!=window.urlParams?"1"!=urlParams.noDevice:!0;Editor.simpleLabels=!1; Editor.enableNativeCipboard=window==window.top&&!mxClient.IS_FF&&null!=navigator.clipboard;Editor.sketchMode=!1;Editor.darkMode=!1;Editor.currentTheme=uiTheme;Editor.darkColor="#121212";Editor.darkColorVar="--ge-dark-color";Editor.fontSizeUnit="px";Editor.pageSizeUnit=mxConstants.INCHES;Editor.isDarkMode=function(){return Editor.darkMode};Editor.isPngDataUrl=function(a){return null!=a&&"data:image/png;"==a.substring(0,15)}; @@ -1992,12 +2003,12 @@ Editor.prototype.setModified=function(a){this.modified=a};Editor.prototype.setFi Editor.prototype.createUndoManager=function(){var a=this.graph,b=new mxUndoManager;this.undoListener=function(f,h){b.undoableEditHappened(h.getProperty("edit"))};var e=mxUtils.bind(this,function(f,h){this.undoListener.apply(this,arguments)});a.getModel().addListener(mxEvent.UNDO,e);a.getView().addListener(mxEvent.UNDO,e);e=function(f,h){f=h.getProperty("edit").changes;f=a.getSelectionCellsForChanges(f);h=!1;if(0T.clientHeight-E&&(b.style.overflowY="auto");b.style.overflowX="hidden";if(d&&(d=document.createElement("img"),d.setAttribute("src",Dialog.prototype.closeImage),d.setAttribute("title",mxResources.get("close")), -d.className="geDialogClose",d.style.top=I+14+"px",d.style.left=D+e+38-w+"px",d.style.zIndex=this.zIndex,mxEvent.addListener(d,"click",mxUtils.bind(this,function(){a.hideDialog(!0)})),document.body.appendChild(d),this.dialogImg=d,!u)){var K=!1;mxEvent.addGestureListeners(this.bg,mxUtils.bind(this,function(U){K=!0}),null,mxUtils.bind(this,function(U){K&&(a.hideDialog(!0),K=!1)}))}this.resizeListener=mxUtils.bind(this,function(){if(null!=k){var U=k();null!=U&&(z=e=U.w,C=f=U.h)}U=Editor.inlineFullscreen|| +h&&document.body.appendChild(this.bg);var T=a.createDiv(p?"geTransDialog":"geDialog");h=this.getPosition(D,I,e,f);D=h.x;I=h.y;T.style.width=e+"px";T.style.height=f+"px";T.style.left=D+"px";T.style.top=I+"px";T.style.zIndex=this.zIndex;T.appendChild(b);document.body.appendChild(T);!m&&b.clientHeight>T.clientHeight-E&&(b.style.overflowY="auto");b.style.overflowX="hidden";if(d&&(d=document.createElement("img"),d.setAttribute("src",Dialog.prototype.closeImage),d.setAttribute("title",mxResources.get("close")), +d.className="geDialogClose",d.style.top=I+14+"px",d.style.left=D+e+38-x+"px",d.style.zIndex=this.zIndex,mxEvent.addListener(d,"click",mxUtils.bind(this,function(){a.hideDialog(!0)})),document.body.appendChild(d),this.dialogImg=d,!u)){var K=!1;mxEvent.addGestureListeners(this.bg,mxUtils.bind(this,function(U){K=!0}),null,mxUtils.bind(this,function(U){K&&(a.hideDialog(!0),K=!1)}))}this.resizeListener=mxUtils.bind(this,function(){if(null!=k){var U=k();null!=U&&(z=e=U.w,C=f=U.h)}U=Editor.inlineFullscreen|| null==a.embedViewport?this.getDocumentSize():mxUtils.clone(a.embedViewport);G=U.height;this.bg.style.height=G+"px";Editor.inlineFullscreen||null==a.embedViewport||(this.bg.style.height=this.getDocumentSize().height+"px");e=null!=document.body?Math.min(z,document.body.scrollWidth-E):z;f=Math.min(C,G-E);U=Math.max(1,Math.round((U.width-e-E)/2));var Y=Math.max(1,Math.round((G-f-a.footerHeight)/3));Y=this.getPosition(U,Y,e,f);U=Y.x;Y=Y.y;var Q=mxUtils.getDocumentScrollOrigin(document);U+=Q.x;Y+=Q.y;Editor.inlineFullscreen|| -null==a.embedViewport||(Y+=a.embedViewport.y,U+=a.embedViewport.x);T.style.left=U+"px";T.style.top=Y+"px";T.style.width=e+"px";T.style.height=f+"px";!m&&b.clientHeight>T.clientHeight-E&&(b.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=Y+14+"px",this.dialogImg.style.left=U+e+38-w+"px")});null!=a.embedViewport?a.addListener("embedViewportChanged",this.resizeListener):mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=g;this.container=T;a.editor.fireEvent(new mxEventObject("showDialog"))} +null==a.embedViewport||(Y+=a.embedViewport.y,U+=a.embedViewport.x);T.style.left=U+"px";T.style.top=Y+"px";T.style.width=e+"px";T.style.height=f+"px";!m&&b.clientHeight>T.clientHeight-E&&(b.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=Y+14+"px",this.dialogImg.style.left=U+e+38-x+"px")});null!=a.embedViewport?a.addListener("embedViewportChanged",this.resizeListener):mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=g;this.container=T;a.editor.fireEvent(new mxEventObject("showDialog"))} Dialog.prototype.zIndex=mxPopupMenu.prototype.zIndex-2; Dialog.prototype.noColorImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzRDlBMUUwODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzRDlBMUUxODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTNEOUExREU4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTNEOUExREY4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5xh3fmAAAABlBMVEX////MzMw46qqDAAAAGElEQVR42mJggAJGKGAYIIGBth8KAAIMAEUQAIElnLuQAAAAAElFTkSuQmCC":IMAGE_PATH+ "/nocolor.png";Dialog.prototype.closeImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJAQMAAADaX5RTAAAABlBMVEV7mr3///+wksspAAAAAnRSTlP/AOW3MEoAAAAdSURBVAgdY9jXwCDDwNDRwHCwgeExmASygSL7GgB12QiqNHZZIwAAAABJRU5ErkJggg==":IMAGE_PATH+"/close.png"; @@ -2005,92 +2016,92 @@ Dialog.prototype.clearImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhDQAKA "/clear.gif";Dialog.prototype.bgOpacity=80;Dialog.prototype.getDocumentSize=function(){return mxUtils.getDocumentSize()};Dialog.prototype.getPosition=function(a,b){return new mxPoint(a,b)}; Dialog.prototype.close=function(a,b){if(null!=this.onDialogClose){if(0==this.onDialogClose(a,b))return!1;this.onDialogClose=null}null!=this.dialogImg&&null!=this.dialogImg.parentNode&&(this.dialogImg.parentNode.removeChild(this.dialogImg),this.dialogImg=null);null!=this.bg&&null!=this.bg.parentNode&&this.bg.parentNode.removeChild(this.bg);null!=this.editorUi.embedViewport?this.editorUi.removeListener(this.resizeListener):mxEvent.removeListener(window,"resize",this.resizeListener);null!=this.container.parentNode&& this.container.parentNode.removeChild(this.container)}; -var ErrorDialog=function(a,b,e,f,h,d,g,m,q,k,u){q=null!=q?q:!0;var w=document.createElement("div");w.style.textAlign="center";if(null!=b){var z=document.createElement("div");z.style.padding="0px";z.style.margin="0px";z.style.fontSize="18px";z.style.paddingBottom="16px";z.style.marginBottom="10px";z.style.borderBottom="1px solid #c0c0c0";z.style.color="gray";z.style.whiteSpace="nowrap";z.style.textOverflow="ellipsis";z.style.overflow="hidden";mxUtils.write(z,b);z.setAttribute("title",b);w.appendChild(z)}b= -document.createElement("div");b.style.lineHeight="1.2em";b.style.padding="6px";"string"===typeof e&&(e=e.replace(/\n/g,"
"));b.innerHTML=Graph.sanitizeHtml(e);w.appendChild(b);e=document.createElement("div");e.style.marginTop="12px";e.style.textAlign="center";null!=d&&(b=mxUtils.button(mxResources.get("tryAgain"),function(){a.hideDialog();d()}),b.className="geBtn",e.appendChild(b),e.style.textAlign="center");null!=k&&(k=mxUtils.button(k,function(){null!=u&&u()}),k.className="geBtn",e.appendChild(k)); -var C=mxUtils.button(f,function(){q&&a.hideDialog();null!=h&&h()});C.className="geBtn";e.appendChild(C);null!=g&&(f=mxUtils.button(g,function(){q&&a.hideDialog();null!=m&&m()}),f.className="geBtn gePrimaryBtn",e.appendChild(f));this.init=function(){C.focus()};w.appendChild(e);this.container=w},PrintDialog=function(a,b,e){this.create(a,b,e)}; -PrintDialog.prototype.create=function(a){function b(C){var E=g.checked||k.checked,D=parseInt(w.value)/100;isNaN(D)&&(D=1,w.value="100%");mxClient.IS_SF&&(D*=.75);var G=e.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,I=1/e.pageScale;if(E){var L=g.checked?1:parseInt(u.value);isNaN(L)||(I=mxUtils.getScaleForPageCount(L,e,G))}var T=L=0;G=mxRectangle.fromRectangle(G);G.width=Math.ceil(G.width*D);G.height=Math.ceil(G.height*D);I*=D;!E&&e.pageVisible?(D=e.getPageLayout(),L-=D.x*G.width,T-=D.y*G.height): -E=!0;E=PrintDialog.createPrintPreview(e,I,G,0,L,T,E);E.open();C&&PrintDialog.printPreview(E)}var e=a.editor.graph,f=document.createElement("table");f.style.width="100%";f.style.height="100%";var h=document.createElement("tbody");var d=document.createElement("tr");var g=document.createElement("input");g.setAttribute("type","checkbox");var m=document.createElement("td");m.setAttribute("colspan","2");m.style.fontSize="10pt";m.appendChild(g);var q=document.createElement("span");mxUtils.write(q," "+mxResources.get("fitPage")); -m.appendChild(q);mxEvent.addListener(q,"click",function(C){g.checked=!g.checked;k.checked=!g.checked;mxEvent.consume(C)});mxEvent.addListener(g,"change",function(){k.checked=!g.checked});d.appendChild(m);h.appendChild(d);d=d.cloneNode(!1);var k=document.createElement("input");k.setAttribute("type","checkbox");m=document.createElement("td");m.style.fontSize="10pt";m.appendChild(k);q=document.createElement("span");mxUtils.write(q," "+mxResources.get("posterPrint")+":");m.appendChild(q);mxEvent.addListener(q, +var ErrorDialog=function(a,b,e,f,h,d,g,m,p,k,u){p=null!=p?p:!0;var x=document.createElement("div");x.style.textAlign="center";if(null!=b){var z=document.createElement("div");z.style.padding="0px";z.style.margin="0px";z.style.fontSize="18px";z.style.paddingBottom="16px";z.style.marginBottom="10px";z.style.borderBottom="1px solid #c0c0c0";z.style.color="gray";z.style.whiteSpace="nowrap";z.style.textOverflow="ellipsis";z.style.overflow="hidden";mxUtils.write(z,b);z.setAttribute("title",b);x.appendChild(z)}b= +document.createElement("div");b.style.lineHeight="1.2em";b.style.padding="6px";"string"===typeof e&&(e=e.replace(/\n/g,"
"));b.innerHTML=Graph.sanitizeHtml(e);x.appendChild(b);e=document.createElement("div");e.style.marginTop="12px";e.style.textAlign="center";null!=d&&(b=mxUtils.button(mxResources.get("tryAgain"),function(){a.hideDialog();d()}),b.className="geBtn",e.appendChild(b),e.style.textAlign="center");null!=k&&(k=mxUtils.button(k,function(){null!=u&&u()}),k.className="geBtn",e.appendChild(k)); +var C=mxUtils.button(f,function(){p&&a.hideDialog();null!=h&&h()});C.className="geBtn";e.appendChild(C);null!=g&&(f=mxUtils.button(g,function(){p&&a.hideDialog();null!=m&&m()}),f.className="geBtn gePrimaryBtn",e.appendChild(f));this.init=function(){C.focus()};x.appendChild(e);this.container=x},PrintDialog=function(a,b,e){this.create(a,b,e)}; +PrintDialog.prototype.create=function(a){function b(C){var E=g.checked||k.checked,D=parseInt(x.value)/100;isNaN(D)&&(D=1,x.value="100%");mxClient.IS_SF&&(D*=.75);var G=e.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,I=1/e.pageScale;if(E){var L=g.checked?1:parseInt(u.value);isNaN(L)||(I=mxUtils.getScaleForPageCount(L,e,G))}var T=L=0;G=mxRectangle.fromRectangle(G);G.width=Math.ceil(G.width*D);G.height=Math.ceil(G.height*D);I*=D;!E&&e.pageVisible?(D=e.getPageLayout(),L-=D.x*G.width,T-=D.y*G.height): +E=!0;E=PrintDialog.createPrintPreview(e,I,G,0,L,T,E);E.open();C&&PrintDialog.printPreview(E)}var e=a.editor.graph,f=document.createElement("table");f.style.width="100%";f.style.height="100%";var h=document.createElement("tbody");var d=document.createElement("tr");var g=document.createElement("input");g.setAttribute("type","checkbox");var m=document.createElement("td");m.setAttribute("colspan","2");m.style.fontSize="10pt";m.appendChild(g);var p=document.createElement("span");mxUtils.write(p," "+mxResources.get("fitPage")); +m.appendChild(p);mxEvent.addListener(p,"click",function(C){g.checked=!g.checked;k.checked=!g.checked;mxEvent.consume(C)});mxEvent.addListener(g,"change",function(){k.checked=!g.checked});d.appendChild(m);h.appendChild(d);d=d.cloneNode(!1);var k=document.createElement("input");k.setAttribute("type","checkbox");m=document.createElement("td");m.style.fontSize="10pt";m.appendChild(k);p=document.createElement("span");mxUtils.write(p," "+mxResources.get("posterPrint")+":");m.appendChild(p);mxEvent.addListener(p, "click",function(C){k.checked=!k.checked;g.checked=!k.checked;mxEvent.consume(C)});d.appendChild(m);var u=document.createElement("input");u.setAttribute("value","1");u.setAttribute("type","number");u.setAttribute("min","1");u.setAttribute("size","4");u.setAttribute("disabled","disabled");u.style.width="50px";m=document.createElement("td");m.style.fontSize="10pt";m.appendChild(u);mxUtils.write(m," "+mxResources.get("pages")+" (max)");d.appendChild(m);h.appendChild(d);mxEvent.addListener(k,"change", -function(){k.checked?u.removeAttribute("disabled"):u.setAttribute("disabled","disabled");g.checked=!k.checked});d=d.cloneNode(!1);m=document.createElement("td");mxUtils.write(m,mxResources.get("pageScale")+":");d.appendChild(m);m=document.createElement("td");var w=document.createElement("input");w.setAttribute("value","100 %");w.setAttribute("size","5");w.style.width="50px";m.appendChild(w);d.appendChild(m);h.appendChild(d);d=document.createElement("tr");m=document.createElement("td");m.colSpan=2; -m.style.paddingTop="20px";m.setAttribute("align","right");q=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});q.className="geBtn";a.editor.cancelFirst&&m.appendChild(q);if(PrintDialog.previewEnabled){var z=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();b(!1)});z.className="geBtn";m.appendChild(z)}z=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();b(!0)});z.className="geBtn gePrimaryBtn";m.appendChild(z);a.editor.cancelFirst|| -m.appendChild(q);d.appendChild(m);h.appendChild(d);f.appendChild(h);this.container=f};PrintDialog.printPreview=function(a){try{null!=a.wnd&&window.setTimeout(function(){a.wnd.focus();a.wnd.print();a.wnd.close()},500)}catch(b){}}; -PrintDialog.createPrintPreview=function(a,b,e,f,h,d,g){b=new mxPrintPreview(a,b,e,f,h,d);b.title=mxResources.get("preview");b.addPageCss=!mxClient.IS_SF;b.printBackgroundImage=!0;b.autoOrigin=g;g=a.background;if(null==g||""==g||g==mxConstants.NONE)g="#ffffff";b.backgroundColor=g;var m=b.isTextLabel;b.isTextLabel=function(k){return"geHint"==!k.className&&m.apply(this,arguments)};var q=b.getLinkForCellState;b.getLinkForCellState=function(k){return a.getAbsoluteUrl(q.apply(this,arguments))};return b}; +function(){k.checked?u.removeAttribute("disabled"):u.setAttribute("disabled","disabled");g.checked=!k.checked});d=d.cloneNode(!1);m=document.createElement("td");mxUtils.write(m,mxResources.get("pageScale")+":");d.appendChild(m);m=document.createElement("td");var x=document.createElement("input");x.setAttribute("value","100 %");x.setAttribute("size","5");x.style.width="50px";m.appendChild(x);d.appendChild(m);h.appendChild(d);d=document.createElement("tr");m=document.createElement("td");m.colSpan=2; +m.style.paddingTop="20px";m.setAttribute("align","right");p=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});p.className="geBtn";a.editor.cancelFirst&&m.appendChild(p);if(PrintDialog.previewEnabled){var z=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();b(!1)});z.className="geBtn";m.appendChild(z)}z=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();b(!0)});z.className="geBtn gePrimaryBtn";m.appendChild(z);a.editor.cancelFirst|| +m.appendChild(p);d.appendChild(m);h.appendChild(d);f.appendChild(h);this.container=f};PrintDialog.printPreview=function(a){try{null!=a.wnd&&window.setTimeout(function(){a.wnd.focus();a.wnd.print();a.wnd.close()},500)}catch(b){}}; +PrintDialog.createPrintPreview=function(a,b,e,f,h,d,g){b=new mxPrintPreview(a,b,e,f,h,d);b.title=mxResources.get("preview");b.addPageCss=!mxClient.IS_SF;b.printBackgroundImage=!0;b.autoOrigin=g;g=a.background;if(null==g||""==g||g==mxConstants.NONE)g="#ffffff";b.backgroundColor=g;var m=b.isTextLabel;b.isTextLabel=function(k){return"geHint"==!k.className&&m.apply(this,arguments)};var p=b.getLinkForCellState;b.getLinkForCellState=function(k){return a.getAbsoluteUrl(p.apply(this,arguments))};return b}; PrintDialog.previewEnabled=!0; -var PageSetupDialog=function(a){function b(){var D=w;null!=D&&null!=D.originalSrc&&(D=a.createImageForPageLink(D.originalSrc,null));null!=D&&null!=D.src?(u.style.backgroundImage="url("+D.src+")",u.style.display="inline-block"):(u.style.backgroundImage="",u.style.display="none");u.style.backgroundColor="";null!=z&&z!=mxConstants.NONE&&(u.style.backgroundColor=z,u.style.display="inline-block")}var e=a.editor.graph,f=document.createElement("table");f.style.width="100%";f.style.height="100%";var h=document.createElement("tbody"); +var PageSetupDialog=function(a){function b(){var D=x;null!=D&&null!=D.originalSrc&&(D=a.createImageForPageLink(D.originalSrc,null));null!=D&&null!=D.src?(u.style.backgroundImage="url("+D.src+")",u.style.display="inline-block"):(u.style.backgroundImage="",u.style.display="none");u.style.backgroundColor="";null!=z&&z!=mxConstants.NONE&&(u.style.backgroundColor=z,u.style.display="inline-block")}var e=a.editor.graph,f=document.createElement("table");f.style.width="100%";f.style.height="100%";var h=document.createElement("tbody"); var d=document.createElement("tr");var g=document.createElement("td");g.style.verticalAlign="top";g.style.fontSize="10pt";mxUtils.write(g,mxResources.get("paperSize")+":");d.appendChild(g);g=document.createElement("td");g.style.verticalAlign="top";g.style.fontSize="10pt";var m=PageSetupDialog.addPageFormatPanel(g,"pagesetupdialog",e.pageFormat);d.appendChild(g);h.appendChild(d);d=document.createElement("tr");g=document.createElement("td");mxUtils.write(g,mxResources.get("gridSize")+":");d.appendChild(g); -g=document.createElement("td");g.style.whiteSpace="nowrap";var q=document.createElement("input");q.setAttribute("type","number");q.setAttribute("min","0");q.style.width="40px";q.style.marginLeft="6px";q.value=e.getGridSize();g.appendChild(q);mxEvent.addListener(q,"change",function(){var D=parseInt(q.value);q.value=Math.max(1,isNaN(D)?e.getGridSize():D)});d.appendChild(g);h.appendChild(d);d=document.createElement("tr");g=document.createElement("td");mxUtils.write(g,mxResources.get("background")+":"); +g=document.createElement("td");g.style.whiteSpace="nowrap";var p=document.createElement("input");p.setAttribute("type","number");p.setAttribute("min","0");p.style.width="40px";p.style.marginLeft="6px";p.value=e.getGridSize();g.appendChild(p);mxEvent.addListener(p,"change",function(){var D=parseInt(p.value);p.value=Math.max(1,isNaN(D)?e.getGridSize():D)});d.appendChild(g);h.appendChild(d);d=document.createElement("tr");g=document.createElement("td");mxUtils.write(g,mxResources.get("background")+":"); d.appendChild(g);g=document.createElement("td");var k=document.createElement("button");k.className="geBtn";k.style.margin="0px";mxUtils.write(k,mxResources.get("change")+"...");var u=document.createElement("div");u.style.display="inline-block";u.style.verticalAlign="middle";u.style.backgroundPosition="center center";u.style.backgroundRepeat="no-repeat";u.style.backgroundSize="contain";u.style.border="1px solid lightGray";u.style.borderRadius="4px";u.style.marginRight="14px";u.style.height="32px"; -u.style.width="64px";u.style.cursor="pointer";u.style.padding="4px";var w=e.backgroundImage,z=e.background,C=e.shadowVisible,E=function(D){a.showBackgroundImageDialog(function(G,I,L,T){I||(null!=G&&null!=G.src&&Graph.isPageLink(G.src)&&(G={originalSrc:G.src}),w=G,C=T);z=L;b()},w,z,!0);mxEvent.consume(D)};mxEvent.addListener(k,"click",E);mxEvent.addListener(u,"click",E);b();g.appendChild(u);g.appendChild(k);d.appendChild(g);h.appendChild(d);d=document.createElement("tr");g=document.createElement("td"); -g.colSpan=2;g.style.paddingTop="16px";g.setAttribute("align","right");k=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});k.className="geBtn";a.editor.cancelFirst&&g.appendChild(k);E=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();var D=parseInt(q.value);isNaN(D)||e.gridSize===D||e.setGridSize(D);D=new ChangePageSetup(a,z,w,m.get());D.ignoreColor=e.background==z;D.ignoreImage=(null!=e.backgroundImage?e.backgroundImage.src:null)===(null!=w?w.src:null);null!=C&& +u.style.width="64px";u.style.cursor="pointer";u.style.padding="4px";var x=e.backgroundImage,z=e.background,C=e.shadowVisible,E=function(D){a.showBackgroundImageDialog(function(G,I,L,T){I||(null!=G&&null!=G.src&&Graph.isPageLink(G.src)&&(G={originalSrc:G.src}),x=G,C=T);z=L;b()},x,z,!0);mxEvent.consume(D)};mxEvent.addListener(k,"click",E);mxEvent.addListener(u,"click",E);b();g.appendChild(u);g.appendChild(k);d.appendChild(g);h.appendChild(d);d=document.createElement("tr");g=document.createElement("td"); +g.colSpan=2;g.style.paddingTop="16px";g.setAttribute("align","right");k=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});k.className="geBtn";a.editor.cancelFirst&&g.appendChild(k);E=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();var D=parseInt(p.value);isNaN(D)||e.gridSize===D||e.setGridSize(D);D=new ChangePageSetup(a,z,x,m.get());D.ignoreColor=e.background==z;D.ignoreImage=(null!=e.backgroundImage?e.backgroundImage.src:null)===(null!=x?x.src:null);null!=C&& (D.shadowVisible=C);e.pageFormat.width==D.previousFormat.width&&e.pageFormat.height==D.previousFormat.height&&D.ignoreColor&&D.ignoreImage&&D.shadowVisible==e.shadowVisible||e.model.execute(D)});E.className="geBtn gePrimaryBtn";g.appendChild(E);a.editor.cancelFirst||g.appendChild(k);d.appendChild(g);h.appendChild(d);f.appendChild(h);this.container=f}; PageSetupDialog.addPageFormatPanel=function(a,b,e,f){b="format-"+b;var h=document.createElement("input");h.setAttribute("name",b);h.setAttribute("type","radio");h.setAttribute("value","portrait");var d=document.createElement("input");d.setAttribute("name",b);d.setAttribute("type","radio");d.setAttribute("value","landscape");var g=document.createElement("select");g.style.marginBottom="4px";g.style.borderRadius="4px";g.style.borderWidth="1px";g.style.borderStyle="solid";g.style.boxSizing="border-box"; -g.style.padding="2px";g.style.width="210px";var m=document.createElement("div");m.style.whiteSpace="nowrap";m.style.marginLeft="4px";m.style.width="210px";m.style.height="24px";h.style.marginRight="6px";m.appendChild(h);b=document.createElement("span");b.style.maxWidth="100px";mxUtils.write(b,mxResources.get("portrait"));m.appendChild(b);d.style.marginLeft="10px";d.style.marginRight="6px";m.appendChild(d);var q=document.createElement("span");q.style.width="100px";mxUtils.write(q,mxResources.get("landscape")); -m.appendChild(q);var k=document.createElement("div");k.style.whiteSpace="nowrap";k.style.marginLeft="4px";k.style.fontSize="12px";k.style.width="210px";k.style.height="24px";var u=document.createElement("input");u.setAttribute("size","7");u.setAttribute("title",mxResources.get("width"));u.style.textAlign="right";k.appendChild(u);mxUtils.write(k," x ");var w=document.createElement("input");w.setAttribute("size","7");w.setAttribute("title",mxResources.get("height"));w.style.textAlign="right";k.appendChild(w); +g.style.padding="2px";g.style.width="210px";var m=document.createElement("div");m.style.whiteSpace="nowrap";m.style.marginLeft="4px";m.style.width="210px";m.style.height="24px";h.style.marginRight="6px";m.appendChild(h);b=document.createElement("span");b.style.maxWidth="100px";mxUtils.write(b,mxResources.get("portrait"));m.appendChild(b);d.style.marginLeft="10px";d.style.marginRight="6px";m.appendChild(d);var p=document.createElement("span");p.style.width="100px";mxUtils.write(p,mxResources.get("landscape")); +m.appendChild(p);var k=document.createElement("div");k.style.whiteSpace="nowrap";k.style.marginLeft="4px";k.style.fontSize="12px";k.style.width="210px";k.style.height="24px";var u=document.createElement("input");u.setAttribute("size","7");u.setAttribute("title",mxResources.get("width"));u.style.textAlign="right";k.appendChild(u);mxUtils.write(k," x ");var x=document.createElement("input");x.setAttribute("size","7");x.setAttribute("title",mxResources.get("height"));x.style.textAlign="right";k.appendChild(x); var z=document.createElement("select");z.style.marginLeft="4px";z.style.maxWidth="78px";z.style.width="78px";for(var C=[{label:mxResources.get("points"),unit:mxConstants.POINTS},{label:mxResources.get("inches"),unit:mxConstants.INCHES},{label:mxResources.get("millimeters"),unit:mxConstants.MILLIMETERS}],E=0;E=K)u.value=Editor.toUnit(e.width,z.value);K=parseFloat(w.value);if(isNaN(K)||0>=K)w.value=Editor.toUnit(e.height,z.value);K=new mxRectangle(0,0,Math.floor(Editor.fromUnit(parseFloat(u.value),z.value)),Math.floor(Editor.fromUnit(parseFloat(w.value),z.value)));U||K.width==e.width&&K.height==e.height||(e=K,null!=f&&f(e))};mxEvent.addListener(b,"click",function(K){h.checked=!0;T(K);mxEvent.consume(K)}); -mxEvent.addListener(q,"click",function(K){d.checked=!0;T(K);mxEvent.consume(K)});mxEvent.addListener(u,"blur",T);mxEvent.addListener(u,"click",T);mxEvent.addListener(w,"blur",T);mxEvent.addListener(w,"click",T);mxEvent.addListener(d,"change",T);mxEvent.addListener(h,"change",T);mxEvent.addListener(g,"change",function(K){T(K,"custom"==g.value);mxEvent.consume(K)});mxEvent.addListener(z,"change",function(K){u.value=Editor.toUnit(Editor.fromUnit(u.value,Editor.pageSizeUnit),z.value);w.value=Editor.toUnit(Editor.fromUnit(w.value, -Editor.pageSizeUnit),z.value);Editor.pageSizeUnit=z.value;T(K,!0);mxEvent.consume(K)});T(null,!0);return{set:function(K){e=K;L(null,null,!0)},get:function(){return e},widthInput:u,heightInput:w}}; +(u.value=Editor.toUnit(e.width,z.value),x.value=Editor.toUnit(e.height,z.value),h.setAttribute("checked","checked"),g.value="custom",m.style.display="none",k.style.display=""):(m.style.display="",k.style.display="none")};L();a.appendChild(g);mxUtils.br(a);a.appendChild(m);a.appendChild(k);var T=function(K,U){K=G[g.value];null!=K.format?(u.value=Editor.toUnit(d.checked?K.format.height:K.format.width,z.value),x.value=Editor.toUnit(d.checked?K.format.width:K.format.height,z.value),k.style.display="none", +m.style.display=""):(m.style.display="none",k.style.display="");K=parseFloat(u.value);if(isNaN(K)||0>=K)u.value=Editor.toUnit(e.width,z.value);K=parseFloat(x.value);if(isNaN(K)||0>=K)x.value=Editor.toUnit(e.height,z.value);K=new mxRectangle(0,0,Math.floor(Editor.fromUnit(parseFloat(u.value),z.value)),Math.floor(Editor.fromUnit(parseFloat(x.value),z.value)));U||K.width==e.width&&K.height==e.height||(e=K,null!=f&&f(e))};mxEvent.addListener(b,"click",function(K){h.checked=!0;T(K);mxEvent.consume(K)}); +mxEvent.addListener(p,"click",function(K){d.checked=!0;T(K);mxEvent.consume(K)});mxEvent.addListener(u,"blur",T);mxEvent.addListener(u,"click",T);mxEvent.addListener(x,"blur",T);mxEvent.addListener(x,"click",T);mxEvent.addListener(d,"change",T);mxEvent.addListener(h,"change",T);mxEvent.addListener(g,"change",function(K){T(K,"custom"==g.value);mxEvent.consume(K)});mxEvent.addListener(z,"change",function(K){u.value=Editor.toUnit(Editor.fromUnit(u.value,Editor.pageSizeUnit),z.value);x.value=Editor.toUnit(Editor.fromUnit(x.value, +Editor.pageSizeUnit),z.value);Editor.pageSizeUnit=z.value;T(K,!0);mxEvent.consume(K)});T(null,!0);return{set:function(K){e=K;L(null,null,!0)},get:function(){return e},widthInput:u,heightInput:x}}; PageSetupDialog.getFormats=function(){return[{key:"letter",title:'US-Letter (8,5" x 11")',format:mxConstants.PAGE_FORMAT_LETTER_PORTRAIT},{key:"legal",title:'US-Legal (8,5" x 14")',format:new mxRectangle(0,0,850,1400)},{key:"tabloid",title:'US-Tabloid (11" x 17")',format:new mxRectangle(0,0,1100,1700)},{key:"executive",title:'US-Executive (7" x 10")',format:new mxRectangle(0,0,700,1E3)},{key:"a0",title:"A0 (841 mm x 1189 mm)",format:new mxRectangle(0,0,3300,4681)},{key:"a1",title:"A1 (594 mm x 841 mm)", format:new mxRectangle(0,0,2339,3300)},{key:"a2",title:"A2 (420 mm x 594 mm)",format:new mxRectangle(0,0,1654,2336)},{key:"a3",title:"A3 (297 mm x 420 mm)",format:new mxRectangle(0,0,1169,1654)},{key:"a4",title:"A4 (210 mm x 297 mm)",format:mxConstants.PAGE_FORMAT_A4_PORTRAIT},{key:"a5",title:"A5 (148 mm x 210 mm)",format:new mxRectangle(0,0,583,827)},{key:"a6",title:"A6 (105 mm x 148 mm)",format:new mxRectangle(0,0,413,583)},{key:"a7",title:"A7 (74 mm x 105 mm)",format:new mxRectangle(0,0,291,413)}, {key:"b4",title:"B4 (250 mm x 353 mm)",format:new mxRectangle(0,0,980,1390)},{key:"b5",title:"B5 (176 mm x 250 mm)",format:new mxRectangle(0,0,690,980)},{key:"16-9",title:"16:9 (1600 x 900)",format:new mxRectangle(0,0,900,1600)},{key:"16-10",title:"16:10 (1920 x 1200)",format:new mxRectangle(0,0,1200,1920)},{key:"4-3",title:"4:3 (1600 x 1200)",format:new mxRectangle(0,0,1200,1600)},{key:"custom",title:mxResources.get("custom"),format:null}]}; -var FilenameDialog=function(a,b,e,f,h,d,g,m,q,k,u){q=null!=q?q:!0;var w=document.createElement("div"),z=document.createElement("div");z.style.width="100%";z.style.display="grid";z.style.gap="5px 8px";z.style.gridAutoColumns="auto 1fr";z.style.boxSizing="border-box";z.style.padding="3px";var C=document.createElement("div");C.style.display="inline-flex";C.style.alignItems="center";C.style.justifyContent="flex-end";C.style.minWidth="0";var E=document.createElement("div");E.style.display="inline-block"; -E.style.textOverflow="ellipsis";E.style.whiteSpace="nowrap";E.style.overflow="hidden";E.style.fontSize="10pt";E.style.padding="2px 0";E.setAttribute("title",h||mxResources.get("filename"));mxUtils.write(E,(h||mxResources.get("filename"))+":");C.appendChild(E);z.appendChild(C);var D=document.createElement("input");D.setAttribute("value",b||"");D.style.flexGrow="1";var G=mxUtils.button(e,function(){if(null==d||d(D.value))q&&a.hideDialog(),f(D.value)});G.className="geBtn gePrimaryBtn";this.init=function(){if(null!= +var FilenameDialog=function(a,b,e,f,h,d,g,m,p,k,u){p=null!=p?p:!0;var x=document.createElement("div"),z=document.createElement("div");z.style.width="100%";z.style.display="grid";z.style.gap="5px 8px";z.style.gridAutoColumns="auto 1fr";z.style.boxSizing="border-box";z.style.padding="3px";var C=document.createElement("div");C.style.display="inline-flex";C.style.alignItems="center";C.style.justifyContent="flex-end";C.style.minWidth="0";var E=document.createElement("div");E.style.display="inline-block"; +E.style.textOverflow="ellipsis";E.style.whiteSpace="nowrap";E.style.overflow="hidden";E.style.fontSize="10pt";E.style.padding="2px 0";E.setAttribute("title",h||mxResources.get("filename"));mxUtils.write(E,(h||mxResources.get("filename"))+":");C.appendChild(E);z.appendChild(C);var D=document.createElement("input");D.setAttribute("value",b||"");D.style.flexGrow="1";var G=mxUtils.button(e,function(){if(null==d||d(D.value))p&&a.hideDialog(),f(D.value)});G.className="geBtn gePrimaryBtn";this.init=function(){if(null!= h||null==g)if(null!=u?Editor.selectFilename(D):(D.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?D.select():document.execCommand("selectAll",!1,null)),Graph.fileSupport){var I=z.parentNode;if(null!=I){var L=null;mxEvent.addListener(I,"dragleave",function(T){null!=L&&(L.style.backgroundColor="",L=null);T.stopPropagation();T.preventDefault()});mxEvent.addListener(I,"dragover",mxUtils.bind(this,function(T){null==L&&(!mxClient.IS_IE||10'};var a=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(g,m){a.apply(this,arguments);if(null!=this.shiftPreview1){var q=this.view.canvas;null!= -q.ownerSVGElement&&(q=q.ownerSVGElement);var k=this.gridSize*this.view.scale*this.view.gridSteps;k=-Math.round(k-mxUtils.mod(this.view.translate.x*this.view.scale+g,k))+"px "+-Math.round(k-mxUtils.mod(this.view.translate.y*this.view.scale+m,k))+"px";q.style.backgroundPosition=k}};mxGraph.prototype.updatePageBreaks=function(g,m,q){var k=this.view.scale,u=this.view.translate,w=this.pageFormat,z=k*this.pageScale,C=this.view.getBackgroundPageBounds();m=C.width;q=C.height;var E=new mxRectangle(k*u.x,k* -u.y,w.width*z,w.height*z),D=(g=g&&Math.min(E.width,E.height)>this.minPageBreakDist)?Math.ceil(q/E.height)-1:0,G=g?Math.ceil(m/E.width)-1:0,I=C.x+m,L=C.y+q;null==this.horizontalPageBreaks&&0'};var a=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(g,m){a.apply(this,arguments);if(null!=this.shiftPreview1){var p=this.view.canvas;null!= +p.ownerSVGElement&&(p=p.ownerSVGElement);var k=this.gridSize*this.view.scale*this.view.gridSteps;k=-Math.round(k-mxUtils.mod(this.view.translate.x*this.view.scale+g,k))+"px "+-Math.round(k-mxUtils.mod(this.view.translate.y*this.view.scale+m,k))+"px";p.style.backgroundPosition=k}};mxGraph.prototype.updatePageBreaks=function(g,m,p){var k=this.view.scale,u=this.view.translate,x=this.pageFormat,z=k*this.pageScale,C=this.view.getBackgroundPageBounds();m=C.width;p=C.height;var E=new mxRectangle(k*u.x,k* +u.y,x.width*z,x.height*z),D=(g=g&&Math.min(E.width,E.height)>this.minPageBreakDist)?Math.ceil(p/E.height)-1:0,G=g?Math.ceil(m/E.width)-1:0,I=C.x+m,L=C.y+p;null==this.horizontalPageBreaks&&0').src;Editor.checkmarkImage=Graph.createSvgImage(22,18,'').src;this.selectionStateListener=mxUtils.bind(this,function(M,W){this.clearSelectionState()}); -h.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionStateListener);h.getModel().addListener(mxEvent.CHANGE,this.selectionStateListener);h.addListener(mxEvent.EDITING_STARTED,this.selectionStateListener);h.addListener(mxEvent.EDITING_STOPPED,this.selectionStateListener);h.getView().addListener("unitChanged",this.selectionStateListener);if(this.editor.chromeless&&!this.editor.editable){this.footerHeight=0;h.isEnabled=function(){return!1};h.panningHandler.isForcePanningEvent=function(M){for(var W= -M.getSource();null!=W&&W!=h.container;){if("foreignObject"===W.nodeName||"text"===W.nodeName)return!1;W=W.parentNode}return!mxEvent.isPopupTrigger(M.getEvent())};var g=h.panningHandler.start;h.panningHandler.start=function(){g.apply(this,arguments);mxUtils.clearSelection()}}this.actions=new Actions(this);this.menus=this.createMenus();if(!h.standalone){var m=!1,q=!1;this.setDefaultStyle=function(M){try{h.getModel().isEdge(M)?q=h.pasteEdgeStyle=!1:m=!1;var W=h.getCellStyle(M,!1),aa=[],ia=[],oa;for(oa in W)aa.push(W[oa]), -ia.push(oa);h.getModel().isEdge(M)?h.currentEdgeStyle={}:h.currentVertexStyle={};this.fireEvent(new mxEventObject("styleChanged","keys",ia,"values",aa,"cells",[M],"force",!0));h.getModel().isEdge(M)?q=h.pasteEdgeStyle=!0:m=!0}catch(qa){this.handleError(qa)}};this.clearDefaultStyle=function(){h.currentEdgeStyle=mxUtils.clone(h.defaultEdgeStyle);h.currentVertexStyle=mxUtils.clone(h.defaultVertexStyle);m=q=h.pasteEdgeStyle=!1;this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells", -[]))};h.addListener("cellsInserted",function(M,W){h.pasteCellStyles(h.includeDescendants(W.getProperty("cells")))});h.addListener("textInserted",function(M,W){h.pasteCellStyles(W.getProperty("cells"))});this.createDivs();this.createUi();this.refresh();var k=mxUtils.bind(this,function(M){null==M&&(M=window.event);return h.isEditing()||null!=M&&this.isSelectionAllowed(M)});this.container!=document.body||this.editor.chromeless&&!this.editor.editable||(this.menubarContainer.onselectstart=k,this.menubarContainer.onmousedown= -k,this.toolbarContainer.onselectstart=k,this.toolbarContainer.onmousedown=k,this.diagramContainer.onselectstart=k,this.diagramContainer.onmousedown=k,this.sidebarContainer.onselectstart=k,this.sidebarContainer.onmousedown=k,this.formatContainer.onselectstart=k,this.formatContainer.onmousedown=k,this.footerContainer.onselectstart=k,this.footerContainer.onmousedown=k,null!=this.tabContainer&&(this.tabContainer.onselectstart=k),mxClient.IS_IOS&&(b=function(){var M=null;if(/iP(hone|od|ad)/.test(navigator.platform)){var W= -navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);try{M=[parseInt(W[1],10),parseInt(W[2],10),parseInt(W[3]||0,10)]}catch(aa){}}return M}(),null!=b&&16<=b[0]&&(mxUtils.setPrefixedStyle(this.menubarContainer.style,"userSelect","none"),mxUtils.setPrefixedStyle(this.diagramContainer.style,"userSelect","none"),mxUtils.setPrefixedStyle(this.sidebarContainer.style,"userSelect","none"),mxUtils.setPrefixedStyle(this.formatContainer.style,"userSelect","none"),mxUtils.setPrefixedStyle(this.footerContainer.style, -"userSelect","none"),null!=this.tabContainer&&mxUtils.setPrefixedStyle(this.tabContainer.style,"userSelect","none"))));!this.editor.chromeless||this.editor.editable?(b=function(M){if(null!=M){var W=mxEvent.getSource(M);if("A"==W.nodeName)for(;null!=W;){if("geHint"==W.className)return!0;W=W.parentNode}}return k(M)},mxClient.IS_IE&&("undefined"===typeof document.documentMode||9>document.documentMode)?mxEvent.addListener(this.diagramContainer,"contextmenu",b):this.diagramContainer.oncontextmenu=b):h.panningHandler.usePopupTrigger= -!1;h.init(this.diagramContainer);mxClient.IS_SVG&&null!=h.view.getDrawPane()&&(b=h.view.getDrawPane().ownerSVGElement,null!=b&&(b.style.position="absolute"));this.hoverIcons=this.createHoverIcons();if(null!=h.graphHandler){var u=h.graphHandler.start;h.graphHandler.start=function(){null!=f.hoverIcons&&f.hoverIcons.reset();u.apply(this,arguments)}}mxEvent.addListener(this.diagramContainer,"mousemove",mxUtils.bind(this,function(M){var W=mxUtils.getOffset(this.diagramContainer);0mxUtils.indexOf(this.toolbar.staticElements,M)&&(M.parentNode.removeChild(M),W.push(M));M=aa}M=this.toolbar.fontMenu;aa=this.toolbar.sizeMenu;if(null==L)this.toolbar.createTextToolbar();else{for(var ia= -0;iadocument.documentMode)?mxEvent.addListener(this.diagramContainer,"contextmenu",b):this.diagramContainer.oncontextmenu=b):h.panningHandler.usePopupTrigger=!1;h.init(this.diagramContainer);mxClient.IS_SVG&&null!=h.view.getDrawPane()&&(b=h.view.getDrawPane().ownerSVGElement,null!=b&&(b.style.position="absolute"));this.hoverIcons=this.createHoverIcons();if(null!=h.graphHandler){var u=h.graphHandler.start;h.graphHandler.start=function(){null!=f.hoverIcons&&f.hoverIcons.reset();u.apply(this,arguments)}}mxEvent.addListener(this.diagramContainer, +"mousemove",mxUtils.bind(this,function(M){var V=mxUtils.getOffset(this.diagramContainer);0mxUtils.indexOf(this.toolbar.staticElements,M)&&(M.parentNode.removeChild(M),V.push(M)); +M=aa}M=this.toolbar.fontMenu;aa=this.toolbar.sizeMenu;if(null==L)this.toolbar.createTextToolbar();else{for(var ia=0;iag.length?35*g.length:140;z.className="geToolbarContainer geSidebarContainer geShapePicker";z.setAttribute("title",mxResources.get("sidebarTooltip"));z.style.left=Math.round(a)+"px";z.style.top=Math.round(b)+"px";z.style.width=h+"px";mxClient.IS_POINTER&&(z.style.touchAction="none");m||mxUtils.setPrefixedStyle(z.style,"transform","translate(-22px,-22px)");w.container.appendChild(z);h=mxUtils.bind(this,function(D){var G= -document.createElement("a");G.className="geItem";G.style.display="inline-block";G.style.position="relative";G.style.overflow="hidden";G.style.cursor="pointer";G.style.width="30px";G.style.height="30px";G.style.padding="1px";z.appendChild(G);null!=E&&"1"!=urlParams.sketch?this.sidebar.graph.pasteStyle(E,[D]):this.sidebar.graph.pasteCellStyles([D],w.currentVertexStyle,w.currentEdgeStyle);var I=D.geometry;w.model.isEdge(D)&&(I=I.getTerminalPoint(!1),I=new mxRectangle(0,0,I.x,I.y));null!=I&&G.appendChild(this.sidebar.createVertexTemplateFromCells([D], -I.width,I.height,"",!0,!1,null,!1,mxUtils.bind(this,function(L){if(!mxEvent.isShiftDown(L)||null==e&&w.isSelectionEmpty()){var T=w.cloneCell(D);if(null!=f)f(T);else{var K=q([T]);w.model.isEdge(T)?T.geometry.translate(K.x,K.y):(T.geometry.x=K.x,T.geometry.y=K.y);w.model.beginUpdate();try{w.addCell(T),w.model.isVertex(T)&&w.isAutoSizeCell(T)&&w.updateCellSize(T)}finally{w.model.endUpdate()}w.setSelectionCell(T);w.scrollCellToVisible(T);u&&w.startEditing(T);null!=C.hoverIcons&&C.hoverIcons.update(w.view.getState(T))}}else T= -w.getEditableCells(null!=e?[e]:w.getSelectionCells()),w.updateShapes(D,T);null!=d&&d(L);mxEvent.consume(L)}),25,25,null,null,e))});for(k=0;k<(m?Math.min(g.length,4):g.length);k++)h(g[k]);g=z.offsetTop+z.clientHeight-(w.container.scrollTop+w.container.offsetHeight);0g.length?35*g.length:140;z.className="geToolbarContainer geSidebarContainer geShapePicker";z.setAttribute("title",mxResources.get("sidebarTooltip"));z.style.left=Math.round(a)+"px";z.style.top=Math.round(b)+"px";z.style.width=h+"px";mxClient.IS_POINTER&&(z.style.touchAction="none");m||mxUtils.setPrefixedStyle(z.style,"transform","translate(-22px,-22px)");x.container.appendChild(z);h=mxUtils.bind(this,function(D){var G= +document.createElement("a");G.className="geToolbarButton";G.style.display="inline-block";G.style.position="relative";G.style.overflow="hidden";G.style.cursor="pointer";G.style.width="30px";G.style.height="30px";G.style.padding="1px";z.appendChild(G);null!=E&&"1"!=urlParams.sketch?this.sidebar.graph.pasteStyle(E,[D]):this.sidebar.graph.pasteCellStyles([D],x.currentVertexStyle,x.currentEdgeStyle);var I=D.geometry;x.model.isEdge(D)&&(I=I.getTerminalPoint(!1),I=new mxRectangle(0,0,I.x,I.y));null!=I&& +G.appendChild(this.sidebar.createVertexTemplateFromCells([D],I.width,I.height,"",!0,!1,null,!1,mxUtils.bind(this,function(L){if(!mxEvent.isShiftDown(L)||null==e&&x.isSelectionEmpty()){var T=x.cloneCell(D);if(null!=f)f(T);else{var K=p([T]);x.model.isEdge(T)?T.geometry.translate(K.x,K.y):(T.geometry.x=K.x,T.geometry.y=K.y);x.model.beginUpdate();try{x.addCell(T),x.model.isVertex(T)&&x.isAutoSizeCell(T)&&x.updateCellSize(T)}finally{x.model.endUpdate()}x.setSelectionCell(T);x.scrollCellToVisible(T);u&& +x.startEditing(T);null!=C.hoverIcons&&C.hoverIcons.update(x.view.getState(T))}}else T=x.getEditableCells(null!=e?[e]:x.getSelectionCells()),x.updateShapes(D,T);null!=d&&d(L);mxEvent.consume(L)}),25,25,null,null,e))});for(k=0;k<(m?Math.min(g.length,4):g.length);k++)h(g[k]);g=z.offsetTop+z.clientHeight-(x.container.scrollTop+x.container.offsetHeight);0=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor*=(this.view.scale+.05)/this.view.scale:(this.cumulativeZoomFactor*=sa,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*100)/100/this.view.scale):.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor*=(this.view.scale-.05)/this.view.scale:(this.cumulativeZoomFactor/=sa,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*100)/100/this.view.scale); -this.cumulativeZoomFactor=Math.max(.05,Math.min(this.view.scale*this.cumulativeZoomFactor,160))/this.view.scale;if(a.isFastZoomEnabled()){null==V&&""!=oa.getAttribute("filter")&&(V=oa.getAttribute("filter"),oa.removeAttribute("filter"));Z=new mxPoint(a.container.scrollLeft,a.container.scrollTop);H=Math.round(Math.round(this.view.scale*this.cumulativeZoomFactor*100)/100*20)/(20*this.view.scale);sa=ea||null==O?a.container.scrollLeft+a.container.clientWidth/2:O.x+a.container.scrollLeft-a.container.offsetLeft; -var Pa=ea||null==O?a.container.scrollTop+a.container.clientHeight/2:O.y+a.container.scrollTop-a.container.offsetTop;oa.style.transformOrigin=sa+"px "+Pa+"px";oa.style.transform="scale("+H+")";ia.style.transformOrigin=sa+"px "+Pa+"px";ia.style.transform="scale("+H+")";null!=a.view.backgroundPageShape&&null!=a.view.backgroundPageShape.node?(sa=a.view.backgroundPageShape.node,mxUtils.setPrefixedStyle(sa.style,"transform-origin",(ea||null==O?a.container.clientWidth/2+a.container.scrollLeft-sa.offsetLeft+ +this.cumulativeZoomFactor=Math.max(.05,Math.min(this.view.scale*this.cumulativeZoomFactor,160))/this.view.scale;if(a.isFastZoomEnabled()){null==W&&""!=na.getAttribute("filter")&&(W=na.getAttribute("filter"),na.removeAttribute("filter"));Z=new mxPoint(a.container.scrollLeft,a.container.scrollTop);H=Math.round(Math.round(this.view.scale*this.cumulativeZoomFactor*100)/100*20)/(20*this.view.scale);sa=ea||null==O?a.container.scrollLeft+a.container.clientWidth/2:O.x+a.container.scrollLeft-a.container.offsetLeft; +var Pa=ea||null==O?a.container.scrollTop+a.container.clientHeight/2:O.y+a.container.scrollTop-a.container.offsetTop;na.style.transformOrigin=sa+"px "+Pa+"px";na.style.transform="scale("+H+")";ia.style.transformOrigin=sa+"px "+Pa+"px";ia.style.transform="scale("+H+")";null!=a.view.backgroundPageShape&&null!=a.view.backgroundPageShape.node?(sa=a.view.backgroundPageShape.node,mxUtils.setPrefixedStyle(sa.style,"transform-origin",(ea||null==O?a.container.clientWidth/2+a.container.scrollLeft-sa.offsetLeft+ "px":O.x+a.container.scrollLeft-sa.offsetLeft-a.container.offsetLeft+"px")+" "+(ea||null==O?a.container.clientHeight/2+a.container.scrollTop-sa.offsetTop+"px":O.y+a.container.scrollTop-sa.offsetTop-a.container.offsetTop+"px")),mxUtils.setPrefixedStyle(sa.style,"transform","scale("+H+")")):a.view.validateBackgroundStyles(H,sa,Pa);a.view.getDecoratorPane().style.opacity="0";a.view.getOverlayPane().style.opacity="0";null!=e.hoverIcons&&e.hoverIcons.reset();a.fireEvent(new mxEventObject("zoomPreview", -"factor",H))}ja(a.isFastZoomEnabled()?la:0)};mxEvent.addGestureListeners(a.container,function(H){null!=qa&&window.clearTimeout(qa)},null,function(H){1!=a.cumulativeZoomFactor&&ja(0)});mxEvent.addListener(a.container,"scroll",function(H){null==qa||a.isMouseDown||1==a.cumulativeZoomFactor||ja(0)});mxEvent.addMouseWheelListener(mxUtils.bind(this,function(H,ea,la,sa,Pa){a.fireEvent(new mxEventObject("wheel"));if(null==this.dialogs||0==this.dialogs.length)if(!a.scrollbars&&!la&&a.isScrollWheelEvent(H))la= -a.view.getTranslate(),sa=40/a.view.scale,mxEvent.isShiftDown(H)?a.view.setTranslate(la.x+(ea?-sa:sa),la.y):a.view.setTranslate(la.x,la.y+(ea?sa:-sa));else if(la||a.isZoomWheelEvent(H))for(var ma=mxEvent.getSource(H);null!=ma;){if(ma==a.container)return a.tooltipHandler.hideTooltip(),O=null!=sa&&null!=Pa?new mxPoint(sa,Pa):new mxPoint(mxEvent.getClientX(H),mxEvent.getClientY(H)),ca=la,la=a.zoomFactor,sa=null,H.ctrlKey&&null!=H.deltaY&&40>Math.abs(H.deltaY)&&Math.round(H.deltaY)!=H.deltaY?la=1+Math.abs(H.deltaY)/ -20*(la-1):null!=H.movementY&&"pointermove"==H.type&&(la=1+Math.max(1,Math.abs(H.movementY))/20*(la-1),sa=-1),a.lazyZoom(ea,null,sa,la),mxEvent.consume(H),!1;ma=ma.parentNode}}),a.container);a.panningHandler.zoomGraph=function(H){a.cumulativeZoomFactor=H.scale;a.lazyZoom(0Math.abs(H.deltaY)&&Math.round(H.deltaY)!=H.deltaY?oa=1+Math.abs(H.deltaY)/ +20*(oa-1):null!=H.movementY&&"pointermove"==H.type&&(oa=1+Math.max(1,Math.abs(H.movementY))/20*(oa-1),sa=-1),a.lazyZoom(ea,null,sa,oa),mxEvent.consume(H),!1;la=la.parentNode}}),a.container);a.panningHandler.zoomGraph=function(H){a.cumulativeZoomFactor=H.scale;a.lazyZoom(0'],{type:"text/html"})});navigator.clipboard.write([a])["catch"](f)};EditorUi.prototype.writeHtmlToClipboard=function(a,b){a=new ClipboardItem({"text/plain":new Blob([Editor.convertHtmlToText(a)],{type:"text/plain"}),"text/html":new Blob([a],{type:"text/html"})});navigator.clipboard.write([a])["catch"](b)}; EditorUi.prototype.writeTextToClipboard=function(a,b){navigator.clipboard.writeText(a)["catch"](b)};EditorUi.prototype.extractGraphModelFromHtml=function(a){var b=null;try{var e=a.indexOf("<mxGraphModel ");if(0<=e){var f=a.lastIndexOf("</mxGraphModel>");f>e&&(b=a.substring(e,f+21).replace(/>/g,">").replace(/</g,"<").replace(/\\"/g,'"').replace(/\n/g,""))}}catch(h){}return b}; EditorUi.prototype.readGraphModelFromClipboard=function(a){this.readGraphModelFromClipboardWithType(mxUtils.bind(this,function(b){null!=b?a(b):this.readGraphModelFromClipboardWithType(mxUtils.bind(this,function(e){if(null!=e){var f=decodeURIComponent(e);this.isCompatibleString(f)&&(e=f)}a(e)}),"text")}),"html")}; EditorUi.prototype.readGraphModelFromClipboardWithType=function(a,b){navigator.clipboard.read().then(mxUtils.bind(this,function(e){if(null!=e&&0':"")+Graph.sanitizeHtml(a);asHtml=!0;a=b.getElementsByTagName("style");if(null!=a)for(;0this.maxTooltipWidth||f>this.maxTooltipHeight)?Math.round(100*Math.min(this.maxTooltipWidth/e,this.maxTooltipHeight/f))/100:1;this.tooltip.style.display="block";this.graph2.labelsVisible=null==d||d;d=mxClient.NO_FO;mxClient.NO_FO=Editor.prototype.originalNoForeignObject;null!=b&&(b=this.graph2.cloneCells(b),this.graph2.pasteCellStyles(q.includeDescendants(b),u?q.currentVertexStyle:q.defaultVertexStyle,u?q.currentEdgeStyle:q.defaultEdgeStyle,null,q.pasteEdgeStyle),this.graph2.addCells(b)); +Sidebar.prototype.createTooltip=function(a,b,e,f,h,d,g,m,p,k,u){u=null!=u?u:!0;this.tooltipMouseDown=p;p=this.editorUi.editor.graph;if(null==this.tooltip){this.tooltip=document.createElement("div");this.tooltip.className="geSidebarTooltip";this.tooltip.style.userSelect="none";this.tooltip.style.zIndex=mxPopupMenu.prototype.zIndex-1;document.body.appendChild(this.tooltip);mxEvent.addMouseWheelListener(mxUtils.bind(this,function(z){this.hideTooltip()}),this.tooltip);this.graph2=new Graph(this.tooltip, +null,null,this.editorUi.editor.graph.getStylesheet());this.graph2.shapeBackgroundColor=this.graph.shapeBackgroundColor;this.graph2.resetViewOnRootChange=!1;this.graph2.foldingEnabled=!1;this.graph2.gridEnabled=!1;this.graph2.autoScroll=!1;this.graph2.setTooltips(!1);this.graph2.setConnectable(!1);this.graph2.setPanning(!1);this.graph2.setEnabled(!1);if(this.graph2.dialect==mxConstants.DIALECT_SVG){var x=this.graph2.view.getDrawPane().ownerSVGElement;null!=x&&(x.style.overflow="visible")}else this.graph2.view.canvas.style.overflow= +"visible";this.graph2.openLink=mxUtils.bind(this,function(){this.hideTooltip()});mxEvent.addGestureListeners(this.tooltip,mxUtils.bind(this,function(z){null!=this.tooltipMouseDown&&this.tooltipMouseDown(z);window.setTimeout(mxUtils.bind(this,function(){null!=this.tooltipCloseImage&&"none"!=this.tooltipCloseImage.style.display||this.hideTooltip()}),0)}),null,mxUtils.bind(this,function(z){this.hideTooltip()}));mxClient.IS_SVG||(this.graph2.view.canvas.style.position="relative");x=document.createElement("img"); +x.setAttribute("src",Dialog.prototype.closeImage);x.setAttribute("title",mxResources.get("close"));x.style.position="absolute";x.style.cursor="default";x.style.padding="8px";x.style.right="2px";x.style.top="2px";this.tooltip.appendChild(x);this.tooltipCloseImage=x;mxEvent.addListener(x,"click",mxUtils.bind(this,function(z){this.hideTooltip();mxEvent.consume(z)}))}this.tooltipCloseImage.style.display=k?"":"none";this.graph2.model.clear();this.graph2.view.setTranslate(this.tooltipBorder,this.tooltipBorder); +this.graph2.view.scale=!m&&(e>this.maxTooltipWidth||f>this.maxTooltipHeight)?Math.round(100*Math.min(this.maxTooltipWidth/e,this.maxTooltipHeight/f))/100:1;this.tooltip.style.display="block";this.graph2.labelsVisible=null==d||d;d=mxClient.NO_FO;mxClient.NO_FO=Editor.prototype.originalNoForeignObject;null!=b&&(b=this.graph2.cloneCells(b),this.graph2.pasteCellStyles(p.includeDescendants(b),u?p.currentVertexStyle:p.defaultVertexStyle,u?p.currentEdgeStyle:p.defaultEdgeStyle,null,p.pasteEdgeStyle),this.graph2.addCells(b)); mxClient.NO_FO=d;u=this.graph2.getGraphBounds();m&&0e||u.height>f)?(e=Math.round(100*Math.min(e/u.width,f/u.height))/100,mxClient.NO_FO?(this.graph2.view.setScale(Math.round(100*Math.min(this.maxTooltipWidth/u.width,this.maxTooltipHeight/u.height))/100),u=this.graph2.getGraphBounds()):(this.graph2.view.getDrawPane().ownerSVGElement.style.transform="scale("+e+")",this.graph2.view.getDrawPane().ownerSVGElement.style.transformOrigin="0 0",u.width*=e,u.height*=e)):mxClient.NO_FO||(this.graph2.view.getDrawPane().ownerSVGElement.style.transform= "");e=u.width+2*this.tooltipBorder+4;f=u.height+2*this.tooltipBorder;this.tooltip.style.overflow="visible";this.tooltip.style.width=e+"px";m=e;this.tooltipTitles&&null!=h&&0mxUtils.indexOf(this.ignoredStyles,f[0])&&b.push(f[0]+"="+f[1])}}return b.join(";")};Sidebar.prototype.addLibForStyle=function(a,b){""!=a&&(null==this.styleToLibs&&(this.styleToLibs={}),null==this.styleToLibs[a]&&(this.styleToLibs[a]=[]),this.styleToLibs[a].push(b))}; Sidebar.prototype.getLibsForStyle=function(a){return null!=this.styleToLibs?this.styleToLibs[a]:null}; -Sidebar.prototype.addEntry=function(a,b){if(null!=this.currentSearchEntryLibrary){var e=this,f=this.createVertexTemplateFromCells;this.createVertexTemplateFromCells=function(m,q,k,u,w){if(null!=m)for(q=0;qH&&null!=Ja&&!mxEvent.isShiftDown(Ga)&&(mxUtils.getValue(Ja.style,mxConstants.STYLE_SHAPE)!=mxUtils.getValue(la,mxConstants.STYLE_SHAPE)&&(mxUtils.getValue(Ja.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(Ja.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(Ja.style, -mxConstants.STYLE_GRADIENTCOLOR,mxConstants.NONE)!=mxConstants.NONE)||"image"==mxUtils.getValue(la,mxConstants.STYLE_SHAPE)||1500this.dropTargetDelay&&!this.isDropStyleTargetIgnored(Ja)&&(ma.model.isVertex(Ja.cell)&&null!=w||ma.model.isEdge(Ja.cell)&&ma.model.isEdge(f[0]))){if(ma.isCellEditable(Ja.cell)){K=Ja;var ta=ma.model.isEdge(Ja.cell)?ma.view.getPoint(Ja):new mxPoint(Ja.getCenterX(),Ja.getCenterY());ta=new mxRectangle(ta.x-this.refreshTarget.width/2,ta.y-this.refreshTarget.height/ -2,this.refreshTarget.width,this.refreshTarget.height);W.style.left=Math.floor(ta.x)+"px";W.style.top=Math.floor(ta.y)+"px";null==aa&&(ma.container.appendChild(W),aa=W.parentNode);m(Ca,Da,ta,W)}}else null==K||!mxUtils.contains(K,Ca,Da)||1500H&&H>this.dropTargetDelay||ma.model.isEdge(Ia)?Ja:null,null!=L&&ta){Ha=[ia,oa,Y,Q,P,M];for(ta=0;taH&&null!=Ja&&!mxEvent.isShiftDown(Fa)&&(mxUtils.getValue(Ja.style,mxConstants.STYLE_SHAPE)!=mxUtils.getValue(oa,mxConstants.STYLE_SHAPE)&&(mxUtils.getValue(Ja.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(Ja.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(Ja.style, +mxConstants.STYLE_GRADIENTCOLOR,mxConstants.NONE)!=mxConstants.NONE)||"image"==mxUtils.getValue(oa,mxConstants.STYLE_SHAPE)||1500this.dropTargetDelay&&!this.isDropStyleTargetIgnored(Ja)&&(la.model.isVertex(Ja.cell)&&null!=x||la.model.isEdge(Ja.cell)&&la.model.isEdge(f[0]))){if(la.isCellEditable(Ja.cell)){K=Ja;var ta=la.model.isEdge(Ja.cell)?la.view.getPoint(Ja):new mxPoint(Ja.getCenterX(),Ja.getCenterY());ta=new mxRectangle(ta.x-this.refreshTarget.width/2,ta.y-this.refreshTarget.height/ +2,this.refreshTarget.width,this.refreshTarget.height);V.style.left=Math.floor(ta.x)+"px";V.style.top=Math.floor(ta.y)+"px";null==aa&&(la.container.appendChild(V),aa=V.parentNode);m(Ba,Ca,ta,V)}}else null==K||!mxUtils.contains(K,Ba,Ca)||1500H&&H>this.dropTargetDelay||la.model.isEdge(Ia)?Ja:null,null!=L&&ta){Ha=[ia,na,Y,Q,P,M];for(ta=0;taq||Math.abs(u.y-mxEvent.getClientY(C))>q))&&null!=this.dragElement&&"none"==this.dragElement.style.display&&(this.dragElement.style.display="",mxUtils.setOpacity(a,100*z));g.apply(this,arguments)};b.mouseUp=function(C){try{mxEvent.isPopupTrigger(C)||null!=this.currentGraph||null==this.dragElement||"none"!=this.dragElement.style.display||(null!=f&&f(C),mxEvent.isConsumed(C)||w.itemClicked(e,b,C,a)),m.apply(b,arguments),mxUtils.setOpacity(a,100*z),u=null, -w.currentElt=a}catch(E){b.reset(),w.editorUi.handleError(E)}}};Sidebar.prototype.createVertexTemplateEntry=function(a,b,e,f,h,d,g,m){null!=m&&null!=h&&(m+=" "+h);m=null!=m&&0p||Math.abs(u.y-mxEvent.getClientY(C))>p))&&null!=this.dragElement&&"none"==this.dragElement.style.display&&(this.dragElement.style.display="",mxUtils.setOpacity(a,100*z));g.apply(this,arguments)};b.mouseUp=function(C){try{mxEvent.isPopupTrigger(C)||null!=this.currentGraph||null==this.dragElement||"none"!=this.dragElement.style.display||(null!=f&&f(C),mxEvent.isConsumed(C)||x.itemClicked(e,b,C,a)),m.apply(b,arguments),mxUtils.setOpacity(a,100*z),u=null, +x.currentElt=a}catch(E){b.reset(),x.editorUi.handleError(E)}}};Sidebar.prototype.createVertexTemplateEntry=function(a,b,e,f,h,d,g,m){null!=m&&null!=h&&(m+=" "+h);m=null!=m&&0mxUtils.indexOf(h,z)){C=this.getTagsForStencil(w,z);var G=null!=m?m[z]:null;null!=G&&C.push(G);u.push(this.createVertexTemplateEntry("shape="+w+z.toLowerCase()+f,Math.round(E*g),Math.round(D*g),"",z.replace(/_/g," "),null,null,this.filterTags(C.join(" "))))}}), -!0,!0);this.addPaletteFunctions(a,b,!1,u)}else this.addPalette(a,b,!1,mxUtils.bind(this,function(w){null==f&&(f="");null!=d&&d.call(this,w);if(null!=q)for(var z=0;zmxUtils.indexOf(h,E))&&w.appendChild(this.createVertexTemplate("shape="+C+E.toLowerCase()+f,Math.round(G*g),Math.round(I*g),"",E.replace(/_/g," "),!0))}),!0)}))}; +Sidebar.prototype.addStencilPalette=function(a,b,e,f,h,d,g,m,p,k){g=null!=g?g:1;if(this.addStencilsToIndex){var u=[];if(null!=p)for(k=0;kmxUtils.indexOf(h,z)){C=this.getTagsForStencil(x,z);var G=null!=m?m[z]:null;null!=G&&C.push(G);u.push(this.createVertexTemplateEntry("shape="+x+z.toLowerCase()+f,Math.round(E*g),Math.round(D*g),"",z.replace(/_/g," "),null,null,this.filterTags(C.join(" "))))}}), +!0,!0);this.addPaletteFunctions(a,b,!1,u)}else this.addPalette(a,b,!1,mxUtils.bind(this,function(x){null==f&&(f="");null!=d&&d.call(this,x);if(null!=p)for(var z=0;zmxUtils.indexOf(h,E))&&x.appendChild(this.createVertexTemplate("shape="+C+E.toLowerCase()+f,Math.round(G*g),Math.round(I*g),"",E.replace(/_/g," "),!0))}),!0)}))}; Sidebar.prototype.destroy=function(){null!=this.graph&&(null!=this.graph.container&&null!=this.graph.container.parentNode&&this.graph.container.parentNode.removeChild(this.graph.container),this.graph.destroy(),this.graph=null);null!=this.escapeListener&&(this.editorUi.editor.graph.removeListener(this.escapeListener),this.escapeListener=null);null!=this.pointerUpHandler&&(mxEvent.removeListener(document,mxClient.IS_POINTER?"pointerup":"mouseup",this.pointerUpHandler),this.pointerUpHandler=null);null!= this.pointerDownHandler&&(mxEvent.removeListener(document,mxClient.IS_POINTER?"pointerdown":"mousedown",this.pointerDownHandler),this.pointerDownHandler=null);null!=this.pointerMoveHandler&&(mxEvent.removeListener(document,mxClient.IS_POINTER?"pointermove":"mousemove",this.pointerMoveHandler),this.pointerMoveHandler=null);null!=this.pointerOutHandler&&(mxEvent.removeListener(document,mxClient.IS_POINTER?"pointerout":"mouseout",this.pointerOutHandler),this.pointerOutHandler=null)};(function(){var a=[["nbsp","160"],["shy","173"]],b=mxUtils.parseXml;mxUtils.parseXml=function(f){for(var h=0;hV||Math.abs(g.y-Z.getGraphY())>V){var ja=null;mxEvent.isShiftDown(Z.getEvent())|| -(ja=this.selectionCellsHandler.getHandler(ca.cell));if(null!=ja&&null!=ja.bends&&0W||Math.abs(g.y-Z.getGraphY())>W){var ja=null;mxEvent.isShiftDown(Z.getEvent())|| +(ja=this.selectionCellsHandler.getHandler(ca.cell));if(null!=ja&&null!=ja.bends&&0'+(""!=h?'":"")+'
'+a+"
")}; -Graph.addLightDarkColors=function(a,b,e,f){function h(z,C,E){return null!=f?f(z,C,E):mxUtils.isValidColor(E)?(null==q&&null!=b&&(q={}),null!=q&&(q[C]=z.style.getPropertyValue(C)),E=mxUtils.getLightDarkColor(E,null,null,e),z.style.setProperty(C,E.cssText),!0):!1}for(var d=a.getElementsByTagName("*"),g=!1,m=0;mpageSize){var T=w.startIndex||0;I=G.slice(Math.max(0,T),Math.min(G.length,T+pageSize))}I=f.getOpposites(I,D).concat(I);var K=u.cloneCells(I);for(L=0;LU.geometry.x?-.8:.5(w.startIndex||0)+pageSize){var Q=u.createVertex(null,null,mxResources.get("nextPage")+" ("+(Math.ceil((w.startIndex||0)/pageSize)+2)+"/"+Math.ceil(G.length/pageSize)+")",0,0,120,30,"fillColor=green;fontColor=white;strokeColor=green;rounded=1;");Q.referenceCell= -E;Q.startIndex=(w.startIndex||0)+pageSize;K.splice(0,0,Q)}for(var P in u.getModel().cells){var M=u.getModel().getCell(P);M!=u.rootCell&&!u.getModel().isAncestor(u.rootCell,M)&&u.getModel().isVertex(M)&&u.removeCells([M])}u.addCells(K);var W=u.getModel().getGeometry(u.rootCell);null!=W&&(W=W.clone(),W.x=z-W.width/2,W.y=C-W.height/3,u.getModel().setGeometry(u.rootCell,W));w=[];for(P in u.getModel().cells)M=u.getModel().getCell(P),M!=u.rootCell&&u.getModel().isVertex(M)&&u.getModel().getParent(M)==u.getDefaultParent()&& -(w.push(M),W=u.getModel().getGeometry(M),null!=W&&(W.x=z-W.width/2,W.y=C-W.height/2));var aa=w.length,ia=2*Math.PI/aa,oa=Math.max(minSize,Math.min(u.container.scrollWidth/2.5-80,u.container.scrollHeight/2.5-80));for(z=0;zpageSize){var T=x.startIndex||0;I=G.slice(Math.max(0,T),Math.min(G.length,T+pageSize))}I=f.getOpposites(I,D).concat(I);var K=u.cloneCells(I);for(L=0;LU.geometry.x?-.8:.5(x.startIndex||0)+pageSize){var Q=u.createVertex(null,null,mxResources.get("nextPage")+" ("+(Math.ceil((x.startIndex||0)/pageSize)+2)+"/"+Math.ceil(G.length/pageSize)+")",0,0,120,30,"fillColor=green;fontColor=white;strokeColor=green;rounded=1;");Q.referenceCell= +E;Q.startIndex=(x.startIndex||0)+pageSize;K.splice(0,0,Q)}for(var P in u.getModel().cells){var M=u.getModel().getCell(P);M!=u.rootCell&&!u.getModel().isAncestor(u.rootCell,M)&&u.getModel().isVertex(M)&&u.removeCells([M])}u.addCells(K);var V=u.getModel().getGeometry(u.rootCell);null!=V&&(V=V.clone(),V.x=z-V.width/2,V.y=C-V.height/3,u.getModel().setGeometry(u.rootCell,V));x=[];for(P in u.getModel().cells)M=u.getModel().getCell(P),M!=u.rootCell&&u.getModel().isVertex(M)&&u.getModel().getParent(M)==u.getDefaultParent()&& +(x.push(M),V=u.getModel().getGeometry(M),null!=V&&(V.x=z-V.width/2,V.y=C-V.height/2));var aa=x.length,ia=2*Math.PI/aa,na=Math.max(minSize,Math.min(u.container.scrollWidth/2.5-80,u.container.scrollHeight/2.5-80));for(z=0;zmxUtils.indexOf(q,u)})),this.updateCellStyles(g,m))};Graph.prototype.copyCellStyles=function(g,m,q,k,u,w,z){var C=!1,E=!1;if(0mxUtils.indexOf(Graph.edgeStyles,K))&&(C=mxUtils.setStyle(C,K,W),"fontFamily"==K&&null==E.fontSource&&(C=mxUtils.setStyle(C,"fontSource",null)),M&&"rounded"==K&&"1"==W&&null==E.curved&&(C=mxUtils.setStyle(C,"curved",null)))}Editor.simpleLabels&&(C=mxUtils.setStyle(mxUtils.setStyle(C,"html",null),"whiteSpace",null));this.model.setStyle(z,C)}}finally{this.model.endUpdate()}return g};Graph.prototype.updateCellStyles= -function(g,m){this.model.beginUpdate();try{for(var q=0;qmxUtils.indexOf(p,u)})),this.updateCellStyles(g,m))};Graph.prototype.copyCellStyles= +function(g,m,p,k,u,x,z){var C=!1,E=!1;if(0mxUtils.indexOf(Graph.edgeStyles,K))&&(C=mxUtils.setStyle(C, +K,V),"fontFamily"==K&&null==E.fontSource&&(C=mxUtils.setStyle(C,"fontSource",null)),M&&"rounded"==K&&"1"==V&&null==E.curved&&(C=mxUtils.setStyle(C,"curved",null)))}Editor.simpleLabels&&(C=mxUtils.setStyle(mxUtils.setStyle(C,"html",null),"whiteSpace",null));this.model.setStyle(z,C)}}finally{this.model.endUpdate()}return g};Graph.prototype.updateCellStyles=function(g,m){this.model.beginUpdate();try{for(var p=0;pz?"a":"p",tt:12>z?"am":"pm",T:12>z?"A":"P",TT:12>z?"AM":"PM",Z:e?"UTC":(String(a).match(h)||[""]).pop().replace(d,""),o:(0z?"a":"p",tt:12>z?"am":"pm",T:12>z?"A":"P",TT:12>z?"AM":"PM",Z:e?"UTC":(String(a).match(h)||[""]).pop().replace(d,""),o:(0h&&"%"==b.charAt(match.index-1))g=d.substring(1);else{var m=d.substring(1,d.length-1),q={mm:mxConstants.MILLIMETERS,"in":mxConstants.INCHES,m:mxConstants.METERS,current:this.view.unit};if("id"==m)g=a.id;else if("width"===m.substring(0,5)&&this.model.isVertex(a)){var k=this.getCellGeometry(a); -null!=k&&(g=k.width,5m.indexOf("{"))for(q=a;null==g&&null!= -q;)null!=q.value&&"object"==typeof q.value&&(Graph.translateDiagram&&null!=Graph.diagramLanguage&&(g=q.getAttribute(m+"_"+Graph.diagramLanguage)),null==g&&(g=q.hasAttribute(m)?null!=q.getAttribute(m)?q.getAttribute(m):"":null)),q=this.model.getParent(q);null==g&&(g=this.getGlobalVariable(m));null==g&&null!=e&&(g=e[m])}f.push(b.substring(h,match.index)+(null!=g?g:d));h=match.index+d.length}}f.push(b.substring(h))}return f.join("")}; +Graph.prototype.replacePlaceholders=function(a,b,e,f){f=[];if(null!=b){for(var h=0;match=this.placeholderPattern.exec(b);){var d=match[0];if(2h&&"%"==b.charAt(match.index-1))g=d.substring(1);else{var m=d.substring(1,d.length-1),p={mm:mxConstants.MILLIMETERS,"in":mxConstants.INCHES,m:mxConstants.METERS,current:this.view.unit};if("id"==m)g=a.id;else if("width"===m.substring(0,5)&&this.model.isVertex(a)){var k=this.getCellGeometry(a); +null!=k&&(g=k.width,5m.indexOf("{"))for(p=a;null==g&&null!= +p;)null!=p.value&&"object"==typeof p.value&&(Graph.translateDiagram&&null!=Graph.diagramLanguage&&(g=p.getAttribute(m+"_"+Graph.diagramLanguage)),null==g&&(g=p.hasAttribute(m)?null!=p.getAttribute(m)?p.getAttribute(m):"":null)),p=this.model.getParent(p);null==g&&(g=this.getGlobalVariable(m));null==g&&null!=e&&(g=e[m])}f.push(b.substring(h,match.index)+(null!=g?g:d));h=match.index+d.length}}f.push(b.substring(h))}return f.join("")}; Graph.prototype.restoreSelection=function(a){if(null!=a&&0m[0].indexOf("=")&&(m=m.slice(1));this.model.setStyle(b[d],m.join(";"))}this.setCellStyles(mxConstants.STYLE_PERIMETER,null,[b[d]]);this.setCellStyles("points",null,[b[d]]);this.pasteStyle(h,[b[d]],null,!0)}else h=this.copyStyle(b[d]),this.model.setStyle(b[d],f),this.pasteStyle(h,[b[d]]);"1"==mxUtils.getValue(this.getCellStyle(b[d],!1),"composite","0")&&this.removeChildCells(b[d])}}finally{this.model.endUpdate()}}; Graph.prototype.selectCellsForConnectVertex=function(a,b,e){2==a.length&&this.model.isVertex(a[1])?(this.setSelectionCell(a[1]),this.scrollCellToVisible(a[1]),null!=e&&(mxEvent.isTouchEvent(b)?e.update(e.getState(this.view.getState(a[1]))):e.reset())):this.setSelectionCells(a)};Graph.prototype.isCloneConnectSource=function(a){var b=null;null!=this.layoutManager&&(b=this.layoutManager.getLayout(this.model.getParent(a)));return this.isTableRow(a)||this.isTableCell(a)||null!=b&&b.constructor==mxStackLayout}; Graph.prototype.insertEdgeBeforeCell=function(a,b){for(var e=b;null!=e.parent&&null!=e.geometry&&e.geometry.relative&&e.parent!=a.parent;)e=this.model.getParent(e);null!=e&&null!=e.parent&&e.parent==a.parent&&(b=e.parent.getIndex(e),this.model.add(e.parent,a,b))}; -Graph.prototype.connectVertex=function(a,b,e,f,h,d,g,m){d=d?d:!1;if(a.geometry.relative&&this.model.isEdge(a.parent))return[];for(;a.geometry.relative&&this.model.isVertex(a.parent);)a=a.parent;var q=this.isCloneConnectSource(a),k=q?a:this.getCompositeParent(a),u=a.geometry.relative&&null!=a.parent.geometry?new mxPoint(a.parent.geometry.width*a.geometry.x,a.parent.geometry.height*a.geometry.y):new mxPoint(k.geometry.x,k.geometry.y);b==mxConstants.DIRECTION_NORTH?(u.x+=k.geometry.width/2,u.y-=e):b== -mxConstants.DIRECTION_SOUTH?(u.x+=k.geometry.width/2,u.y+=k.geometry.height+e):(u.x=b==mxConstants.DIRECTION_WEST?u.x-e:u.x+(k.geometry.width+e),u.y+=k.geometry.height/2);var w=this.view.getState(this.model.getParent(a));e=this.view.scale;var z=this.view.translate;k=z.x*e;z=z.y*e;null!=w&&this.model.isVertex(w.cell)&&(k=w.x,z=w.y);this.model.isVertex(a.parent)&&a.geometry.relative&&(u.x+=a.parent.geometry.x,u.y+=a.parent.geometry.y);d=d?null:(new mxRectangle(k+u.x*e,z+u.y*e)).grow(40*e);d=null!=d? -this.getCells(0,0,0,0,null,null,d,null,!0):null;w=this.view.getState(a);var C=null,E=null;if(null!=d){d=d.reverse();for(var D=0;D/g,"\n"));h=Editor.convertHtmlToText(h);this.cellLabelChanged(a,h);f=!0}b&&(this.setCellStyles("fontSource",null,[a]),this.setCellStyles(mxConstants.STYLE_FONTFAMILY,null,[a]),this.setCellStyles(mxConstants.STYLE_FONTSIZE, null,[a]),this.setCellStyles(mxConstants.STYLE_FONTSTYLE,null,[a]),this.setCellStyles(mxConstants.STYLE_FONTCOLOR,null,[a]),this.setCellStyles(mxConstants.STYLE_LABEL_BORDERCOLOR,null,[a]),this.setCellStyles(mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,null,[a]))}finally{this.getModel().endUpdate()}return f};Graph.prototype.createParent=function(a,b,e,f,h){a=this.cloneCell(a);for(var d=0;dG||Math.abs(ia.y-T.y)>G)&&(Math.abs(ia.x-L.x)>G||Math.abs(ia.y-L.y)>G)&&(null==M||mxUtils.ptLineDist(T.x,T.y,L.x,L.y,M.x,M.y)>G||mxUtils.ptLineDist(T.x,T.y,L.x,L.y,aa.x,aa.y)>G)&&(null==U||mxUtils.ptLineDist(T.x,T.y,L.x,L.y,U.x,U.y)>G||mxUtils.ptLineDist(T.x,T.y,L.x,L.y,W.x,W.y)>G)){U=ia.x-T.x;M=ia.y-T.y;ia={distSq:U*U+M*M,x:ia.x,y:ia.y};for(U=0;Uia.distSq){K.splice(U, -0,ia);ia=null;break}null==ia||0!=K.length&&K[K.length-1].x===ia.x&&K[K.length-1].y===ia.y||K.push(ia)}M=aa}}}for(Q=0;QD*D&&0D*D&&(M=new mxPoint(P.x-U.x,P.y-U.y),Q=new mxPoint(P.x+U.x,P.y+U.y),K.push(M),this.addPoints(w,K,C,E,!1,null,I),K=0>Math.round(U.x)||0==Math.round(U.x)&&0>=Math.round(U.y)?1:-1,I=!1,"sharp"==G?(w.lineTo(M.x-U.y*K,M.y+U.x*K),w.lineTo(Q.x-U.y*K,Q.y+ -U.x*K),w.lineTo(Q.x,Q.y)):"line"==G?(w.moveTo(M.x+U.y*K,M.y-U.x*K),w.lineTo(M.x-U.y*K,M.y+U.x*K),w.moveTo(Q.x-U.y*K,Q.y+U.x*K),w.lineTo(Q.x+U.y*K,Q.y-U.x*K),w.moveTo(Q.x,Q.y)):"arc"==G?(K*=1.3,w.curveTo(M.x-U.y*K,M.y+U.x*K,Q.x-U.y*K,Q.y+U.x*K,Q.x,Q.y)):(w.moveTo(Q.x,Q.y),I=!0),K=[Q],M=!0))}else U=null;M||(K.push(P),L=P)}this.addPoints(w,K,C,E,!1,null,I);w.stroke()}};var m=mxGraphView.prototype.getFixedTerminalPoint;mxGraphView.prototype.getFixedTerminalPoint=function(w,z,C,E){return null!=z&&"centerPerimeter"== -z.style[mxConstants.STYLE_PERIMETER]?new mxPoint(z.getCenterX(),z.getCenterY()):m.apply(this,arguments)};var q=mxGraphView.prototype.updateFloatingTerminalPoint;mxGraphView.prototype.updateFloatingTerminalPoint=function(w,z,C,E){if(null==z||null==w||"1"!=z.style.snapToPoint&&"1"!=w.style.snapToPoint)q.apply(this,arguments);else{z=this.getTerminalPort(w,z,E);var D=this.getNextPoint(w,C,E),G=this.graph.isOrthogonal(w),I=mxUtils.toRadians(Number(z.style[mxConstants.STYLE_ROTATION]||"0")),L=new mxPoint(z.getCenterX(), -z.getCenterY());if(0!=I){var T=Math.cos(-I),K=Math.sin(-I);D=mxUtils.getRotatedPoint(D,T,K,L)}T=parseFloat(w.style[mxConstants.STYLE_PERIMETER_SPACING]||0);T+=parseFloat(w.style[E?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]||0);D=this.getPerimeterPoint(z,D,0==I&&G,T);0!=I&&(T=Math.cos(I),K=Math.sin(I),D=mxUtils.getRotatedPoint(D,T,K,L));w.setAbsoluteTerminalPoint(this.snapToAnchorPoint(w,z,C,E,D),E)}};mxGraphView.prototype.snapToAnchorPoint=function(w,z, -C,E,D){if(null!=z&&null!=w){w=this.graph.getAllConnectionConstraints(z);E=C=null;if(null!=w)for(var G=0;GG||Math.abs(ia.y-T.y)>G)&&(Math.abs(ia.x-L.x)>G||Math.abs(ia.y-L.y)>G)&&(null==M||mxUtils.ptLineDist(T.x,T.y,L.x,L.y,M.x,M.y)>G||mxUtils.ptLineDist(T.x,T.y,L.x,L.y,aa.x,aa.y)>G)&&(null==U||mxUtils.ptLineDist(T.x,T.y,L.x,L.y,U.x,U.y)>G||mxUtils.ptLineDist(T.x,T.y,L.x,L.y,V.x,V.y)>G)){U=ia.x-T.x;M=ia.y-T.y;ia={distSq:U*U+M*M,x:ia.x,y:ia.y};for(U=0;Uia.distSq){K.splice(U, +0,ia);ia=null;break}null==ia||0!=K.length&&K[K.length-1].x===ia.x&&K[K.length-1].y===ia.y||K.push(ia)}M=aa}}}for(Q=0;QD*D&&0D*D&&(M=new mxPoint(P.x-U.x,P.y-U.y),Q=new mxPoint(P.x+U.x,P.y+U.y),K.push(M),this.addPoints(x,K,C,E,!1,null,I),K=0>Math.round(U.x)||0==Math.round(U.x)&&0>=Math.round(U.y)?1:-1,I=!1,"sharp"==G?(x.lineTo(M.x-U.y*K,M.y+U.x*K),x.lineTo(Q.x-U.y*K,Q.y+ +U.x*K),x.lineTo(Q.x,Q.y)):"line"==G?(x.moveTo(M.x+U.y*K,M.y-U.x*K),x.lineTo(M.x-U.y*K,M.y+U.x*K),x.moveTo(Q.x-U.y*K,Q.y+U.x*K),x.lineTo(Q.x+U.y*K,Q.y-U.x*K),x.moveTo(Q.x,Q.y)):"arc"==G?(K*=1.3,x.curveTo(M.x-U.y*K,M.y+U.x*K,Q.x-U.y*K,Q.y+U.x*K,Q.x,Q.y)):(x.moveTo(Q.x,Q.y),I=!0),K=[Q],M=!0))}else U=null;M||(K.push(P),L=P)}this.addPoints(x,K,C,E,!1,null,I);x.stroke()}};var m=mxGraphView.prototype.getFixedTerminalPoint;mxGraphView.prototype.getFixedTerminalPoint=function(x,z,C,E){return null!=z&&"centerPerimeter"== +z.style[mxConstants.STYLE_PERIMETER]?new mxPoint(z.getCenterX(),z.getCenterY()):m.apply(this,arguments)};var p=mxGraphView.prototype.updateFloatingTerminalPoint;mxGraphView.prototype.updateFloatingTerminalPoint=function(x,z,C,E){if(null==z||null==x||"1"!=z.style.snapToPoint&&"1"!=x.style.snapToPoint)p.apply(this,arguments);else{z=this.getTerminalPort(x,z,E);var D=this.getNextPoint(x,C,E),G=this.graph.isOrthogonal(x),I=mxUtils.toRadians(Number(z.style[mxConstants.STYLE_ROTATION]||"0")),L=new mxPoint(z.getCenterX(), +z.getCenterY());if(0!=I){var T=Math.cos(-I),K=Math.sin(-I);D=mxUtils.getRotatedPoint(D,T,K,L)}T=parseFloat(x.style[mxConstants.STYLE_PERIMETER_SPACING]||0);T+=parseFloat(x.style[E?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]||0);D=this.getPerimeterPoint(z,D,0==I&&G,T);0!=I&&(T=Math.cos(I),K=Math.sin(I),D=mxUtils.getRotatedPoint(D,T,K,L));x.setAbsoluteTerminalPoint(this.snapToAnchorPoint(x,z,C,E,D),E)}};mxGraphView.prototype.snapToAnchorPoint=function(x,z, +C,E,D){if(null!=z&&null!=x){x=this.graph.getAllConnectionConstraints(z);E=C=null;if(null!=x)for(var G=0;G=d.getStatus()&&eval.call(window,d.getText())}}catch(g){null!=window.console&&console.log("error in getStencil:",a,e,b,h,g)}}mxStencilRegistry.packages[e]=1}}else e=e.replace("_-_","_"),mxStencilRegistry.loadStencilSet(STENCIL_PATH+"/"+e+".xml",null);b=mxStencilRegistry.stencils[a]}}return b}; @@ -2785,156 +2800,156 @@ mxStencilRegistry.loadStencilSet=function(a,b,e,f){var h=mxStencilRegistry.packa h.documentElement&&mxStencilRegistry.parseStencilSet(h.documentElement,b,d)}};mxStencilRegistry.loadStencil=function(a,b){if(null!=b)mxUtils.get(a,mxUtils.bind(this,function(e){b(200<=e.getStatus()&&299>=e.getStatus()?e.getXml():null)}),mxUtils.bind(this,function(e){b(null)}));else return mxUtils.load(a).getXml()};mxStencilRegistry.parseStencilSets=function(a){for(var b=0;b').src;mxWindow.prototype.minimizeImage=Graph.createSvgImage(14,10,'').src;mxWindow.prototype.normalizeImage=Graph.createSvgImage(14,10,'').src;mxWindow.prototype.resizeImage=Graph.createSvgImage(10,10,'').src; -mxEdgeHandler.prototype.snapToTerminals=!0;mxGraphHandler.prototype.guidesEnabled=!0;mxGraphHandler.prototype.removeEmptyParents=!0;mxRubberband.prototype.fadeOut=!0;mxGuide.prototype.isEnabledForEvent=function(p){return!mxEvent.isAltDown(p)||mxEvent.isShiftDown(p)};var e=mxGraphLayout.prototype.isVertexIgnored;mxGraphLayout.prototype.isVertexIgnored=function(p){return e.apply(this,arguments)||this.graph.isTableRow(p)||this.graph.isTableCell(p)};var f=mxGraphLayout.prototype.isEdgeIgnored;mxGraphLayout.prototype.isEdgeIgnored= -function(p){return f.apply(this,arguments)||this.graph.isEdgeIgnored(p)};var h=mxConnectionHandler.prototype.isCreateTarget;mxConnectionHandler.prototype.isCreateTarget=function(p){return this.graph.isCloneEvent(p)!=h.apply(this,arguments)};mxConstraintHandler.prototype.createHighlightShape=function(){var p=new mxEllipse(null,this.highlightColor,this.highlightColor,0);p.opacity=mxConstants.HIGHLIGHT_OPACITY;return p};mxConnectionHandler.prototype.livePreview=!0;mxConnectionHandler.prototype.cursor= -"crosshair";mxConnectionHandler.prototype.createEdgeState=function(p){p=this.graph.createCurrentEdgeStyle();p=this.graph.createEdge(null,null,null,null,null,p);p=new mxCellState(this.graph.view,p,this.graph.getCellStyle(p));for(var A in this.graph.currentEdgeStyle)p.style[A]=this.graph.currentEdgeStyle[A];if(null!=this.previous){var B=this.previous.style.newEdgeStyle;if(null!=B)try{var F=JSON.parse(B);for(A in F)p.style[A]=F[A]}catch(N){}}p.style=this.graph.postProcessCellStyle(p.cell,p.style);return p}; -var d=mxConnectionHandler.prototype.createShape;mxConnectionHandler.prototype.createShape=function(){var p=d.apply(this,arguments);p.isDashed="1"==this.graph.currentEdgeStyle[mxConstants.STYLE_DASHED];return p};mxConnectionHandler.prototype.updatePreview=function(p){};var g=mxConnectionHandler.prototype.createMarker;mxConnectionHandler.prototype.createMarker=function(){var p=g.apply(this,arguments),A=p.getCell;p.getCell=mxUtils.bind(this,function(B){var F=A.apply(this,arguments);this.error=null;return F}); -return p};Graph.prototype.defaultVertexStyle={};Graph.prototype.defaultEdgeStyle={edgeStyle:"orthogonalEdgeStyle",rounded:"0",jettySize:"auto",orthogonalLoop:"1"};Graph.prototype.createCurrentEdgeStyle=function(){for(var p="edgeStyle="+(this.currentEdgeStyle.edgeStyle||"none")+";",A="shape curved rounded comic sketch fillWeight hachureGap hachureAngle jiggle disableMultiStroke disableMultiStrokeFill fillStyle curveFitting simplification comicStyle jumpStyle jumpSize".split(" "),B=0;B=ha.x&&this.model.remove(wa[A]);var Ma=this.model.getTerminal(B,!1); -if(null!=Ma){var Na=this.getCurrentCellStyle(Ma);null!=Na&&"1"==Na.snapToPoint&&(this.setCellStyles(mxConstants.STYLE_EXIT_X,null,[p]),this.setCellStyles(mxConstants.STYLE_EXIT_Y,null,[p]),this.setCellStyles(mxConstants.STYLE_ENTRY_X,null,[B]),this.setCellStyles(mxConstants.STYLE_ENTRY_Y,null,[B]))}}finally{this.model.endUpdate()}return B};var w=Graph.prototype.selectCell;Graph.prototype.selectCell=function(p,A,B){if(A||B)w.apply(this,arguments);else{var F=this.getSelectionCell(),N=null,R=[],X=mxUtils.bind(this, -function(fa){if(null!=this.view.getState(fa)&&(this.model.isVertex(fa)||this.model.isEdge(fa)))if(R.push(fa),fa==F)N=R.length-1;else if(p&&null==F&&0N||!p&&0va)for(ua=0;ua>va;ua--)this.model.remove(ya[ya.length+ua-1]);ya=this.model.getChildCells(p[da],!0);for(ua=0;uamxUtils.indexOf(p,R)&&0>mxUtils.indexOf(B,R)&&B.push(R):this.labelChanged(p[F],"")}else{if(this.isTableRow(p[F])&&(R=this.model.getParent(p[F]),0>mxUtils.indexOf(p,R)&&0>mxUtils.indexOf(B,R))){for(var X=this.model.getChildCells(R,!0),fa=0,da=0;da=ha.x&&this.model.remove(va[A]);var Ma=this.model.getTerminal(B,!1); +if(null!=Ma){var Na=this.getCurrentCellStyle(Ma);null!=Na&&"1"==Na.snapToPoint&&(this.setCellStyles(mxConstants.STYLE_EXIT_X,null,[q]),this.setCellStyles(mxConstants.STYLE_EXIT_Y,null,[q]),this.setCellStyles(mxConstants.STYLE_ENTRY_X,null,[B]),this.setCellStyles(mxConstants.STYLE_ENTRY_Y,null,[B]))}}finally{this.model.endUpdate()}return B};var x=Graph.prototype.selectCell;Graph.prototype.selectCell=function(q,A,B){if(A||B)x.apply(this,arguments);else{var F=this.getSelectionCell(),N=null,R=[],X=mxUtils.bind(this, +function(fa){if(null!=this.view.getState(fa)&&(this.model.isVertex(fa)||this.model.isEdge(fa)))if(R.push(fa),fa==F)N=R.length-1;else if(q&&null==F&&0N||!q&&0wa)for(ua=0;ua>wa;ua--)this.model.remove(ya[ya.length+ua-1]);ya=this.model.getChildCells(q[da],!0);for(ua=0;uamxUtils.indexOf(q,R)&&0>mxUtils.indexOf(B,R)&&B.push(R):this.labelChanged(q[F],"")}else{if(this.isTableRow(q[F])&&(R=this.model.getParent(q[F]),0>mxUtils.indexOf(q,R)&&0>mxUtils.indexOf(B,R))){for(var X=this.model.getChildCells(R,!0),fa=0,da=0;damxUtils.indexOf(p,R))return null}R=D.apply(this,arguments);var X=!0;for(N=0;NmxUtils.indexOf(q,R))return null}R=D.apply(this,arguments);var X=!0;for(N=0;NR||ha>R)&&this.clear());else{for(da=ha.getSource();null!=da&&"a"!=da.nodeName.toLowerCase();)da=da.parentNode;null!=da?this.clear():(null!=X.tooltipHandler&&null!=this.currentLink&&null!=this.currentState&&X.tooltipHandler.reset(ha,!0,this.currentState),(null==this.currentState||ha.getState()!= -this.currentState&&null!=ha.sourceState||!X.intersects(this.currentState,ha.getGraphX(),ha.getGraphY()))&&this.updateCurrentState(ha))}},mouseUp:function(da,ha){var wa=ha.getSource();for(da=ha.getEvent();null!=wa&&"a"!=wa.nodeName.toLowerCase();)wa=wa.parentNode;null==wa&&Math.abs(this.scrollLeft-X.container.scrollLeft)S&&y++;ba++}J.lengthS&&y++;ba++}J.length=R.length)A.remove(B);else{var X=R.length-1;this.isTableCell(p)&&(X=mxUtils.indexOf(R,p));for(F=p=0;F=N.length)A.remove(B);else{this.isTableRow(F)||(F=N[N.length-1]);A.remove(F);p=0;var R=this.getCellGeometry(F);null!=R&&(p=R.height);var X=this.getCellGeometry(B);null!=X&&(X=X.clone(),X.height-=p,A.setGeometry(B, -X))}}finally{A.endUpdate()}};Graph.prototype.insertRow=function(p,A){for(var B=p.tBodies[0],F=B.rows[0].cells,N=p=0;NA&&p[B].deleteCell(A)}};Graph.prototype.pasteHtmlAtCaret=function(p){if(window.getSelection){var A=window.getSelection();if(A.getRangeAt&&A.rangeCount){A=A.getRangeAt(0);A.deleteContents();var B=document.createElement("div");B.innerHTML= -p;p=document.createDocumentFragment();for(var F;F=B.firstChild;)lastNode=p.appendChild(F);A.insertNode(p)}}else(A=document.selection)&&"Control"!=A.type&&A.createRange().pasteHTML(p)};Graph.prototype.createLinkForHint=function(p,A,B){function F(R,X){R.length>X&&(R=R.substring(0,Math.round(X/2))+"..."+R.substring(R.length-Math.round(X/4)));return R}p=null!=p?p:"javascript:void(0);";if(null==A||0==A.length)A=this.isCustomLink(p)?this.getLinkTitle(p):p;var N=document.createElement("a");N.setAttribute("rel", -this.linkRelation);N.setAttribute("href",this.getAbsoluteUrl(p));N.setAttribute("title",F(this.isCustomLink(p)?this.getLinkTitle(p):p,80));null!=this.linkTarget&&N.setAttribute("target",this.linkTarget);mxUtils.write(N,F(A,40));this.isCustomLink(p)&&mxEvent.addListener(N,"click",mxUtils.bind(this,function(R){this.customLinkClicked(p,B);mxEvent.consume(R)}));return N};Graph.prototype.initTouch=function(){this.connectionHandler.marker.isEnabled=function(){return null!=this.graph.connectionHandler.first}; -this.addListener(mxEvent.START_EDITING,function(R,X){this.popupMenuHandler.hideMenu()});var p=this.updateMouseEvent;this.updateMouseEvent=function(R){R=p.apply(this,arguments);if(mxEvent.isTouchEvent(R.getEvent())&&null==R.getState()){var X=this.getCellAt(R.graphX,R.graphY);null!=X&&this.isSwimlane(X)&&this.hitsSwimlaneContent(X,R.graphX,R.graphY)||(R.state=this.view.getState(X),null!=R.state&&null!=R.state.shape&&(this.container.style.cursor=R.state.shape.node.style.cursor))}null==R.getState()&& +sb)}finally{Sa.shape.isFlowAnimationEnabled=Za,Sa.shape.addFlowAnimationToShape=xb}};var Ta=null!=this.view.currentRoot?this.view.currentRoot:this.model.root;fa.drawState(this.getView().getState(Ta),bb);this.addForeignObjectWarning(bb,jb);wa?this.disableSvgLinks(jb):this.updateSvgLinks(jb,da,!0);return jb}finally{this.enableFlowAnimation=Va,ya&&(this.useCssTransforms=!0,this.view.revalidate(),this.sizeDidChange())}};Graph.prototype.addForeignObjectWarning=function(q,A){if("0"!=urlParams["svg-warning"]&& +0=R.length)A.remove(B);else{var X=R.length-1;this.isTableCell(q)&&(X=mxUtils.indexOf(R,q));for(F=q=0;F=N.length)A.remove(B);else{this.isTableRow(F)||(F=N[N.length-1]);A.remove(F);q=0;var R=this.getCellGeometry(F);null!=R&&(q=R.height);var X=this.getCellGeometry(B);null!=X&&(X=X.clone(),X.height-=q,A.setGeometry(B, +X))}}finally{A.endUpdate()}};Graph.prototype.insertRow=function(q,A){for(var B=q.tBodies[0],F=B.rows[0].cells,N=q=0;NA&&q[B].deleteCell(A)}};Graph.prototype.pasteHtmlAtCaret=function(q){if(window.getSelection){var A=window.getSelection();if(A.getRangeAt&&A.rangeCount){A=A.getRangeAt(0);A.deleteContents();var B=document.createElement("div");B.innerHTML= +q;q=document.createDocumentFragment();for(var F;F=B.firstChild;)lastNode=q.appendChild(F);A.insertNode(q)}}else(A=document.selection)&&"Control"!=A.type&&A.createRange().pasteHTML(q)};Graph.prototype.createLinkForHint=function(q,A,B){function F(R,X){R.length>X&&(R=R.substring(0,Math.round(X/2))+"..."+R.substring(R.length-Math.round(X/4)));return R}q=null!=q?q:"javascript:void(0);";if(null==A||0==A.length)A=this.isCustomLink(q)?this.getLinkTitle(q):q;var N=document.createElement("a");N.setAttribute("rel", +this.linkRelation);N.setAttribute("href",this.getAbsoluteUrl(q));N.setAttribute("title",F(this.isCustomLink(q)?this.getLinkTitle(q):q,80));null!=this.linkTarget&&N.setAttribute("target",this.linkTarget);mxUtils.write(N,F(A,40));this.isCustomLink(q)&&mxEvent.addListener(N,"click",mxUtils.bind(this,function(R){this.customLinkClicked(q,B);mxEvent.consume(R)}));return N};Graph.prototype.initTouch=function(){this.connectionHandler.marker.isEnabled=function(){return null!=this.graph.connectionHandler.first}; +this.addListener(mxEvent.START_EDITING,function(R,X){this.popupMenuHandler.hideMenu()});var q=this.updateMouseEvent;this.updateMouseEvent=function(R){R=q.apply(this,arguments);if(mxEvent.isTouchEvent(R.getEvent())&&null==R.getState()){var X=this.getCellAt(R.graphX,R.graphY);null!=X&&this.isSwimlane(X)&&this.hitsSwimlaneContent(X,R.graphX,R.graphY)||(R.state=this.view.getState(X),null!=R.state&&null!=R.state.shape&&(this.container.style.cursor=R.state.shape.node.style.cursor))}null==R.getState()&& this.isEnabled()&&(this.container.style.cursor="default");return R};var A=!1,B=!1,F=!1,N=this.fireMouseEvent;this.fireMouseEvent=function(R,X,fa){R==mxEvent.MOUSE_DOWN&&(X=this.updateMouseEvent(X),A=this.isCellSelected(X.getCell()),B=this.isSelectionEmpty(),F=this.popupMenuHandler.isMenuShowing());N.apply(this,arguments)};this.popupMenuHandler.mouseUp=mxUtils.bind(this,function(R,X){if(null!=this.freehand&&!this.freehand.isDrawing()){var fa=mxEvent.isMouseEvent(X.getEvent());this.popupMenuHandler.popupTrigger= !this.isEditing()&&this.isEnabled()&&(null==X.getState()||!X.isSource(X.getState().control))&&(this.popupMenuHandler.popupTrigger||!F&&!fa&&(B&&null==X.getCell()&&this.isSelectionEmpty()||A&&this.isCellSelected(X.getCell())));fa=!A||fa?null:mxUtils.bind(this,function(da){window.setTimeout(mxUtils.bind(this,function(){if(!this.isEditing()){var ha=mxUtils.getScrollOrigin();this.popupMenuHandler.popup(X.getX()+ha.x+1,X.getY()+ha.y+1,da,X.getEvent())}}),300)});mxPopupMenuHandler.prototype.mouseUp.apply(this.popupMenuHandler, -[R,X,fa])}})};mxCellEditor.prototype.isContentEditing=function(){var p=this.graph.view.getState(this.editingCell);return null!=p&&1==p.style.html};mxCellEditor.prototype.isTableSelected=function(){return null!=this.graph.getParentByName(this.graph.getSelectedElement(),"TABLE",this.textarea)};mxCellEditor.prototype.isTextSelected=function(){var p="";window.getSelection?p=window.getSelection():document.getSelection?p=document.getSelection():document.selection&&(p=document.selection.createRange().text); -return""!=p};mxCellEditor.prototype.insertTab=function(p){var A=this.textarea.ownerDocument.defaultView.getSelection(),B=A.getRangeAt(0);p=Graph.createTabNode(p);B.insertNode(p);B.setStartAfter(p);B.setEndAfter(p);A.removeAllRanges();A.addRange(B)};mxCellEditor.prototype.alignText=function(p,A){var B=this.graph.getView().getState(this.editingCell);if(null!=B){B=mxUtils.getValue(B.style,mxConstants.STYLE_TEXT_DIRECTION,mxConstants.DEFAULT_TEXT_DIRECTION);var F=null!=B&&"vertical-"==B.substring(0,9), -N=null!=A&&mxEvent.isShiftDown(A);if(N||null!=window.getSelection&&null!=window.getSelection().containsNode){var R=!0;this.graph.processElements(this.textarea,function(X){N||F||window.getSelection().containsNode(X,!0)?(X.removeAttribute("align"),X.style.textAlign=null):R=!1});(R||F)&&this.graph.cellEditor.setAlign(p)}F||document.execCommand("justify"+p.toLowerCase(),!1,null)}};mxCellEditor.prototype.saveSelection=function(){if(window.getSelection){var p=window.getSelection();if(p.getRangeAt&&p.rangeCount){for(var A= -[],B=0,F=p.rangeCount;B"):fa,!0);this.textarea.className="mxCellEditor geContentEditable";da=mxUtils.getValue(p.style,mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE); -A=mxUtils.getValue(p.style,mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY);var F=mxUtils.getValue(p.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),N=(mxUtils.getValue(p.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD,R=(mxUtils.getValue(p.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC,X=[];(mxUtils.getValue(p.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&X.push("underline"); -(mxUtils.getValue(p.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_STRIKETHROUGH)==mxConstants.FONT_STRIKETHROUGH&&X.push("line-through");this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(da*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(da)+"px";this.textarea.style.textDecoration=X.join(" ");this.textarea.style.fontWeight=N?"bold":"normal";this.textarea.style.fontStyle=R?"italic":"";this.textarea.style.fontFamily=A;this.textarea.style.textAlign= +[R,X,fa])}})};mxCellEditor.prototype.isContentEditing=function(){var q=this.graph.view.getState(this.editingCell);return null!=q&&1==q.style.html};mxCellEditor.prototype.isTableSelected=function(){return null!=this.graph.getParentByName(this.graph.getSelectedElement(),"TABLE",this.textarea)};mxCellEditor.prototype.isTextSelected=function(){var q="";window.getSelection?q=window.getSelection():document.getSelection?q=document.getSelection():document.selection&&(q=document.selection.createRange().text); +return""!=q};mxCellEditor.prototype.insertTab=function(q){var A=this.textarea.ownerDocument.defaultView.getSelection(),B=A.getRangeAt(0);q=Graph.createTabNode(q);B.insertNode(q);B.setStartAfter(q);B.setEndAfter(q);A.removeAllRanges();A.addRange(B)};mxCellEditor.prototype.alignText=function(q,A){var B=this.graph.getView().getState(this.editingCell);if(null!=B){B=mxUtils.getValue(B.style,mxConstants.STYLE_TEXT_DIRECTION,mxConstants.DEFAULT_TEXT_DIRECTION);var F=null!=B&&"vertical-"==B.substring(0,9), +N=null!=A&&mxEvent.isShiftDown(A);if(N||null!=window.getSelection&&null!=window.getSelection().containsNode){var R=!0;this.graph.processElements(this.textarea,function(X){N||F||window.getSelection().containsNode(X,!0)?(X.removeAttribute("align"),X.style.textAlign=null):R=!1});(R||F)&&this.graph.cellEditor.setAlign(q)}F||document.execCommand("justify"+q.toLowerCase(),!1,null)}};mxCellEditor.prototype.saveSelection=function(){if(window.getSelection){var q=window.getSelection();if(q.getRangeAt&&q.rangeCount){for(var A= +[],B=0,F=q.rangeCount;B"):fa,!0);this.textarea.className="mxCellEditor geContentEditable";da=mxUtils.getValue(q.style,mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE); +A=mxUtils.getValue(q.style,mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY);var F=mxUtils.getValue(q.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),N=(mxUtils.getValue(q.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD,R=(mxUtils.getValue(q.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC,X=[];(mxUtils.getValue(q.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&X.push("underline"); +(mxUtils.getValue(q.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_STRIKETHROUGH)==mxConstants.FONT_STRIKETHROUGH&&X.push("line-through");this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(da*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(da)+"px";this.textarea.style.textDecoration=X.join(" ");this.textarea.style.fontWeight=N?"bold":"normal";this.textarea.style.fontStyle=R?"italic":"";this.textarea.style.fontFamily=A;this.textarea.style.textAlign= F;this.textarea.style.padding="0px";this.textarea.innerHTML!=fa&&(this.textarea.innerHTML=fa,0==this.textarea.innerHTML.length&&(this.textarea.innerHTML=this.getEmptyLabelText(),this.clearOnChange=0
"));fa=Graph.sanitizeHtml(A?fa.replace(/\n/g,"").replace(/<br\s*.?>/g,"
"):fa,!0);this.textarea.className="mxCellEditor mxPlainTextEditor";var da=mxConstants.DEFAULT_FONTSIZE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(da*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize= Math.round(da)+"px";this.textarea.style.textDecoration="";this.textarea.style.fontWeight="normal";this.textarea.style.fontStyle="";this.textarea.style.fontFamily=mxConstants.DEFAULT_FONTFAMILY;this.textarea.style.textAlign="left";this.textarea.style.width="";this.textarea.style.padding="2px";this.textarea.innerHTML!=fa&&(this.textarea.innerHTML=fa);this.codeViewMode=!0}this.textarea.focus();null!=this.switchSelectionState&&this.restoreSelection(this.switchSelectionState);this.switchSelectionState= -B;this.resize()}};var T=mxCellEditor.prototype.resize;mxCellEditor.prototype.resize=function(p,A){if(null!=this.textarea)if(p=this.graph.getView().getState(this.editingCell),this.codeViewMode&&null!=p){var B=p.view.scale;this.bounds=mxRectangle.fromRectangle(p);if(0==this.bounds.width&&0==this.bounds.height){this.bounds.width=160*B;this.bounds.height=60*B;var F=null!=p.text?p.text.margin:null;null==F&&(F=mxUtils.getAlignmentAsPoint(mxUtils.getValue(p.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER), -mxUtils.getValue(p.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE)));this.bounds.x+=F.x*this.bounds.width;this.bounds.y+=F.y*this.bounds.height}this.textarea.style.width=Math.round((this.bounds.width-4)/B)+"px";this.textarea.style.height=Math.round((this.bounds.height-4)/B)+"px";this.textarea.style.overflow="auto";this.textarea.clientHeight"));return Graph.sanitizeHtml(B,!0)};mxCellEditorSetEditingValue=mxCellEditor.prototype.setEditingValue;mxCellEditor.prototype.setEditingValue= -function(p,A){mxCellEditorSetEditingValue.apply(this,arguments);"1"==mxUtils.getValue(p.style,"html","0")&&Graph.addLightDarkColors(this.textarea,Graph.backupStyleAttribute,"simple"==this.graph.getAdaptiveColors())};mxCellEditorGetCurrentValue=mxCellEditor.prototype.getCurrentValue;mxCellEditor.prototype.getCurrentValue=function(p){if("0"==mxUtils.getValue(p.style,"html","0"))return mxCellEditorGetCurrentValue.apply(this,arguments);Graph.removeLightDarkColors(this.textarea,Graph.backupStyleAttribute); -var A=Graph.sanitizeHtml(this.textarea.innerHTML,!0);"1"==mxUtils.getValue(p.style,"nl2Br","1")?(A=A.replace(/\r\n/g,"
").replace(/\n/g,"
"),0"==A.substring(A.length-5)||"
"==A.substring(A.length-4))&&(A=A.substring(0,A.lastIndexOf("
")):A=A.replace(/\r\n/g,"").replace(/\n/g,"");return A};var K=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(p){this.codeViewMode&&this.toggleViewMode();K.apply(this,arguments);this.focusContainer()}; -mxCellEditor.prototype.focusContainer=function(){try{this.graph.container.focus()}catch(p){}};var U=mxCellEditor.prototype.applyValue;mxCellEditor.prototype.applyValue=function(p,A){this.graph.getModel().beginUpdate();try{U.apply(this,arguments),""==A&&this.graph.isCellDeletable(p.cell)&&0==this.graph.model.getChildCount(p.cell)&&this.graph.isTransparentState(p)&&this.graph.removeCells([p.cell],!1)}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor=function(p){p= -mxUtils.getValue(p.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,null);p==mxConstants.NONE&&(p=null);return p};mxCellEditor.prototype.getBorderColor=function(p){p=mxUtils.getValue(p.style,mxConstants.STYLE_LABEL_BORDERCOLOR,null);p==mxConstants.NONE&&(p=null);return p};mxCellEditor.prototype.getMinimumSize=function(p){var A=this.graph.getView().scale;return new mxRectangle(0,0,null==p.text?30:p.text.size*A+20,30)};mxGraphHandlerIsValidDropTarget=mxGraphHandler.prototype.isValidDropTarget;mxGraphHandler.prototype.isValidDropTarget= -function(p,A){return mxGraphHandlerIsValidDropTarget.apply(this,arguments)&&!mxEvent.isAltDown(A.getEvent)};mxGraphView.prototype.formatUnitText=function(p){return p?b(p,this.unit):p};mxGraphHandler.prototype.updateHint=function(p){if(null!=this.pBounds&&(null!=this.shape||this.livePreviewActive)){null==this.hint&&(this.hint=a(),this.graph.container.appendChild(this.hint));var A=this.graph.view.translate,B=this.graph.view.scale;p=this.roundLength((this.bounds.x+this.currentDx)/B-A.x);A=this.roundLength((this.bounds.y+ -this.currentDy)/B-A.y);B=this.graph.view.unit;this.hint.innerHTML=b(p,B)+", "+b(A,B);this.hint.style.left=this.pBounds.x+this.currentDx+Math.round((this.pBounds.width-this.hint.clientWidth)/2)+"px";this.hint.style.top=this.pBounds.y+this.currentDy+this.pBounds.height+Editor.hintOffset+"px"}};mxGraphHandler.prototype.removeHint=function(){null!=this.hint&&(null!=this.hint.parentNode&&this.hint.parentNode.removeChild(this.hint),this.hint=null)};var Y=mxStackLayout.prototype.resizeCell;mxStackLayout.prototype.resizeCell= -function(p,A){Y.apply(this,arguments);var B=this.graph.getCellStyle(p);if(null==B.childLayout){var F=this.graph.model.getParent(p),N=null!=F?this.graph.getCellGeometry(F):null;if(null!=N&&(B=this.graph.getCellStyle(F),"stackLayout"==B.childLayout)){var R=parseFloat(mxUtils.getValue(B,"stackBorder",mxStackLayout.prototype.border));B="1"==mxUtils.getValue(B,"horizontalStack","1");var X=this.graph.getActualStartSize(F);N=N.clone();B?N.height=A.height+X.y+X.height+2*R:N.width=A.width+X.x+X.width+2*R; -this.graph.model.setGeometry(F,N)}}};var Q=mxSelectionCellsHandler.prototype.getHandledSelectionCells;mxSelectionCellsHandler.prototype.getHandledSelectionCells=function(){function p(fa){B.get(fa)||(B.put(fa,!0),N.push(fa))}for(var A=Q.apply(this,arguments),B=new mxDictionary,F=this.graph.model,N=[],R=0;R"));return Graph.sanitizeHtml(B,!0)};mxCellEditorSetEditingValue=mxCellEditor.prototype.setEditingValue;mxCellEditor.prototype.setEditingValue= +function(q,A){mxCellEditorSetEditingValue.apply(this,arguments);"1"==mxUtils.getValue(q.style,"html","0")&&Graph.addLightDarkColors(this.textarea,Graph.backupStyleAttribute,"simple"==this.graph.getAdaptiveColors())};mxCellEditorGetCurrentValue=mxCellEditor.prototype.getCurrentValue;mxCellEditor.prototype.getCurrentValue=function(q){if("0"==mxUtils.getValue(q.style,"html","0"))return mxCellEditorGetCurrentValue.apply(this,arguments);Graph.removeLightDarkColors(this.textarea,Graph.backupStyleAttribute); +var A=Graph.sanitizeHtml(this.textarea.innerHTML,!0);"1"==mxUtils.getValue(q.style,"nl2Br","1")?(A=A.replace(/\r\n/g,"
").replace(/\n/g,"
"),0"==A.substring(A.length-5)||"
"==A.substring(A.length-4))&&(A=A.substring(0,A.lastIndexOf("
")):A=A.replace(/\r\n/g,"").replace(/\n/g,"");return A};var K=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(q){this.codeViewMode&&this.toggleViewMode();K.apply(this,arguments);this.focusContainer()}; +mxCellEditor.prototype.focusContainer=function(){try{this.graph.container.focus()}catch(q){}};var U=mxCellEditor.prototype.applyValue;mxCellEditor.prototype.applyValue=function(q,A){this.graph.getModel().beginUpdate();try{U.apply(this,arguments),""==A&&this.graph.isCellDeletable(q.cell)&&0==this.graph.model.getChildCount(q.cell)&&this.graph.isTransparentState(q)&&this.graph.removeCells([q.cell],!1)}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor=function(q){q= +mxUtils.getValue(q.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,null);q==mxConstants.NONE&&(q=null);return q};mxCellEditor.prototype.getBorderColor=function(q){q=mxUtils.getValue(q.style,mxConstants.STYLE_LABEL_BORDERCOLOR,null);q==mxConstants.NONE&&(q=null);return q};mxCellEditor.prototype.getMinimumSize=function(q){var A=this.graph.getView().scale;return new mxRectangle(0,0,null==q.text?30:q.text.size*A+20,30)};mxGraphHandlerIsValidDropTarget=mxGraphHandler.prototype.isValidDropTarget;mxGraphHandler.prototype.isValidDropTarget= +function(q,A){return mxGraphHandlerIsValidDropTarget.apply(this,arguments)&&!mxEvent.isAltDown(A.getEvent)};mxGraphView.prototype.formatUnitText=function(q){return q?b(q,this.unit):q};mxGraphHandler.prototype.updateHint=function(q){if(null!=this.pBounds&&(null!=this.shape||this.livePreviewActive)){null==this.hint&&(this.hint=a(),this.graph.container.appendChild(this.hint));var A=this.graph.view.translate,B=this.graph.view.scale;q=this.roundLength((this.bounds.x+this.currentDx)/B-A.x);A=this.roundLength((this.bounds.y+ +this.currentDy)/B-A.y);B=this.graph.view.unit;this.hint.innerHTML=b(q,B)+", "+b(A,B);this.hint.style.left=this.pBounds.x+this.currentDx+Math.round((this.pBounds.width-this.hint.clientWidth)/2)+"px";this.hint.style.top=this.pBounds.y+this.currentDy+this.pBounds.height+Editor.hintOffset+"px"}};mxGraphHandler.prototype.removeHint=function(){null!=this.hint&&(null!=this.hint.parentNode&&this.hint.parentNode.removeChild(this.hint),this.hint=null)};var Y=mxStackLayout.prototype.resizeCell;mxStackLayout.prototype.resizeCell= +function(q,A){Y.apply(this,arguments);var B=this.graph.getCellStyle(q);if(null==B.childLayout){var F=this.graph.model.getParent(q),N=null!=F?this.graph.getCellGeometry(F):null;if(null!=N&&(B=this.graph.getCellStyle(F),"stackLayout"==B.childLayout)){var R=parseFloat(mxUtils.getValue(B,"stackBorder",mxStackLayout.prototype.border));B="1"==mxUtils.getValue(B,"horizontalStack","1");var X=this.graph.getActualStartSize(F);N=N.clone();B?N.height=A.height+X.y+X.height+2*R:N.width=A.width+X.x+X.width+2*R; +this.graph.model.setGeometry(F,N)}}};var Q=mxSelectionCellsHandler.prototype.getHandledSelectionCells;mxSelectionCellsHandler.prototype.getHandledSelectionCells=function(){function q(fa){B.get(fa)||(B.put(fa,!0),N.push(fa))}for(var A=Q.apply(this,arguments),B=new mxDictionary,F=this.graph.model,N=[],R=0;Rp;p++){var A=new mxRectangleShape(new mxRectangle(0,0,6,6),"#ffffff",mxConstants.HANDLE_STROKECOLOR);A.dialect=mxConstants.DIALECT_SVG;A.init(this.graph.view.getOverlayPane()); -this.cornerHandles.push(A)}}this.graph.isTable(this.state.cell)&&this.graph.isCellMovable(this.state.cell)&&this.refreshMoveHandles();p=this.graph.getLinkForCell(this.state.cell);A=this.graph.getLinksForState(this.state);this.updateLinkHint(p,A)};var H=mxVertexHandler.prototype.getHandlePadding;mxVertexHandler.prototype.getHandlePadding=function(){var p=new mxPoint(0,0),A=this.tolerance,B=this.state.style.shape;null==mxCellRenderer.defaultShapes[B]&&mxStencilRegistry.getStencil(B);B=this.graph.isTable(this.state.cell)|| +this.graph.isMouseDown=!0);mxEvent.consume(X)}),null,mxUtils.bind(this,function(X){mxEvent.isPopupTrigger(X)&&(this.graph.popupMenuHandler.popup(mxEvent.getClientX(X),mxEvent.getClientY(X),N.cell,X),mxEvent.consume(X))}));B.push(R)}else B.push(null)})(this.graph.view.getState(A.getChildAt(this.state.cell,F)));return B};mxVertexHandler.prototype.destroyMoveHandles=function(){if(null!=this.moveHandles){for(var q=0;qq;q++){var A=new mxRectangleShape(new mxRectangle(0,0,6,6),"#ffffff",mxConstants.HANDLE_STROKECOLOR);A.dialect=mxConstants.DIALECT_SVG;A.init(this.graph.view.getOverlayPane()); +this.cornerHandles.push(A)}}this.graph.isTable(this.state.cell)&&this.graph.isCellMovable(this.state.cell)&&this.refreshMoveHandles();q=this.graph.getLinkForCell(this.state.cell);A=this.graph.getLinksForState(this.state);this.updateLinkHint(q,A)};var H=mxVertexHandler.prototype.getHandlePadding;mxVertexHandler.prototype.getHandlePadding=function(){var q=new mxPoint(0,0),A=this.tolerance,B=this.state.style.shape;null==mxCellRenderer.defaultShapes[B]&&mxStencilRegistry.getStencil(B);B=this.graph.isTable(this.state.cell)|| this.graph.cellEditor.getEditingCell()==this.state.cell;if(!B&&null!=this.customHandles)for(var F=0;F'); +this.hint.innerHTML="["+Math.round(100*B.x)+"%, "+Math.round(100*B.y)+"%]"):this.marker.hasValidState()&&(this.hint.style.visibility="hidden");this.hint.style.left=Math.round(q.getGraphX()-this.hint.clientWidth/2)+"px";this.hint.style.top=Math.max(q.getGraphY(),A.y)+Editor.hintOffset+"px";null!=this.linkHint&&(this.linkHint.style.display="none")};Graph.prototype.expandedImage=Graph.createSvgImage(9,9,''); Graph.prototype.collapsedImage=Graph.createSvgImage(9,9,'');mxEdgeHandler.prototype.removeHint=mxVertexHandler.prototype.removeHint;HoverIcons.prototype.mainHandle= Graph.createSvgImage(18,18,'');HoverIcons.prototype.endMainHandle=Graph.createSvgImage(18,18,'');HoverIcons.prototype.secondaryHandle=Graph.createSvgImage(16,16,'');HoverIcons.prototype.fixedHandle=Graph.createSvgImage(22,22,''); HoverIcons.prototype.endFixedHandle=Graph.createSvgImage(22,22,'');HoverIcons.prototype.terminalHandle=Graph.createSvgImage(22,22,'');HoverIcons.prototype.endTerminalHandle=Graph.createSvgImage(22,22,'R||Math.abs(N)>R)null==this.div&&(this.div=this.createShape()),mxUtils.clearSelection(),this.update(p,B),this.isSpaceEvent(A)?(p=this.x+this.width,B=this.y+this.height,F=this.graph.view.scale,mxEvent.isAltDown(A.getEvent())||(this.width=this.graph.snap(this.width/ -F)*F,this.height=this.graph.snap(this.height/F)*F,this.graph.isGridEnabled()||(this.widthR||Math.abs(N)>R)null==this.div&&(this.div=this.createShape()),mxUtils.clearSelection(),this.update(q,B),this.isSpaceEvent(A)?(q=this.x+this.width,B=this.y+this.height,F=this.graph.view.scale,mxEvent.isAltDown(A.getEvent())||(this.width=this.graph.snap(this.width/ +F)*F,this.height=this.graph.snap(this.height/F)*F,this.graph.isGridEnabled()||(this.width=this.width?"0px 1px 0px 0px":"0px 1px 0px 1px",null==this.secondDiv&&(this.secondDiv=this.div.cloneNode(!0),this.div.parentNode.appendChild(this.secondDiv)),this.secondDiv.style.left=this.x+"px",this.secondDiv.style.top=this.y+"px",this.secondDiv.style.width=this.graph.container.clientWidth+"px",this.secondDiv.style.height=Math.max(0,this.height)+"px",this.secondDiv.style.borderWidth=0>=this.height?"1px 0px 0px 0px":"1px 0px 1px 0px"):(this.div.style.backgroundColor= -"",this.div.style.borderWidth="",this.div.style.borderStyle="",null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null)),A.consume()}};var Pa=mxRubberband.prototype.reset;mxRubberband.prototype.reset=function(){null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null);Pa.apply(this,arguments)};var ma=(new Date).getTime(),Ca=0,Da=mxEdgeHandler.prototype.updatePreviewState;mxEdgeHandler.prototype.updatePreviewState=function(p, -A,B,F){Da.apply(this,arguments);B!=this.currentTerminalState?(ma=(new Date).getTime(),Ca=0):Ca=(new Date).getTime()-ma;this.currentTerminalState=B};var Ga=mxEdgeHandler.prototype.isOutlineConnectEvent;mxEdgeHandler.prototype.isOutlineConnectEvent=function(p){return mxEvent.isShiftDown(p.getEvent())&&mxEvent.isAltDown(p.getEvent())?!1:null!=this.currentTerminalState&&p.getState()==this.currentTerminalState&&2E3=this.state.absolutePoints.length-1||this.constructor==mxElbowEdgeHandler&&2==p)?this.graph.getConnectionConstraint(this.state,F,A):null;B=null!=(null!=p?this.graph.getConnectionPoint(this.state.getVisibleTerminalState(A),p):null)?B?this.endFixedHandleImage:this.fixedHandleImage: -null!=p&&null!=F?B?this.endTerminalHandleImage:this.terminalHandleImage:B?this.endHandleImage:this.handleImage;if(null!=B)return B=new mxImageShape(new mxRectangle(0,0,B.width,B.height),B.src),B.preserveImageAspect=!1,B;B=mxConstants.HANDLE_SIZE;this.preferHtml&&--B;return new mxRectangleShape(new mxRectangle(0,0,B,B),mxConstants.HANDLE_FILLCOLOR,mxConstants.HANDLE_STROKECOLOR)};var Ia=mxVertexHandler.prototype.createSizerShape;mxVertexHandler.prototype.createSizerShape=function(p,A,B,F){F=A==mxEvent.ROTATION_HANDLE? -HoverIcons.prototype.rotationHandle:A==mxEvent.LABEL_HANDLE?this.secondaryHandleImage:F;return Ia.apply(this,arguments)};var Ha=mxGraphHandler.prototype.getBoundingBox;mxGraphHandler.prototype.getBoundingBox=function(p){if(null!=p&&1==p.length){var A=this.graph.getModel(),B=A.getParent(p[0]),F=this.graph.getCellGeometry(p[0]);if(A.isEdge(B)&&null!=F&&F.relative&&(A=this.graph.view.getState(p[0]),null!=A&&2>A.width&&2>A.height&&null!=A.text&&null!=A.text.boundingBox))return mxRectangle.fromRectangle(A.text.boundingBox)}return Ha.apply(this, -arguments)};var Ja=mxGraphHandler.prototype.getGuideStates;mxGraphHandler.prototype.getGuideStates=function(){for(var p=Ja.apply(this,arguments),A=[],B=0;Bp.width&&2>p.height&&null!= -p.text&&null!=p.text.boundingBox?(A=p.text.unrotatedBoundingBox||p.text.boundingBox,new mxRectangle(Math.round(A.x),Math.round(A.y),Math.round(A.width),Math.round(A.height))):ta.apply(this,arguments)};var La=mxVertexHandler.prototype.mouseDown;mxVertexHandler.prototype.mouseDown=function(p,A){var B=this.graph.getModel(),F=B.getParent(this.state.cell),N=this.graph.getCellGeometry(this.state.cell);(this.getHandleForEvent(A)==mxEvent.ROTATION_HANDLE||!B.isEdge(F)||null==N||!N.relative||null==this.state|| -2<=this.state.width||2<=this.state.height)&&La.apply(this,arguments)};mxVertexHandler.prototype.rotateClick=function(){var p=mxUtils.getValue(this.state.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),A=mxUtils.getValue(this.state.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);this.state.view.graph.model.isVertex(this.state.cell)&&p==mxConstants.NONE&&A==mxConstants.NONE?(p=mxUtils.mod(mxUtils.getValue(this.state.style,mxConstants.STYLE_ROTATION,0)+90,360),this.state.view.graph.setCellStyles(mxConstants.STYLE_ROTATION, -p,[this.state.cell])):this.state.view.graph.turnShapes([this.state.cell])};var Xa=mxVertexHandler.prototype.mouseMove;mxVertexHandler.prototype.mouseMove=function(p,A){Xa.apply(this,arguments);null!=this.graph.graphHandler.first&&(null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display="none"),null!=this.linkHint&&"none"!=this.linkHint.style.display&&(this.linkHint.style.display="none"))};var Ya=mxVertexHandler.prototype.mouseUp;mxVertexHandler.prototype.mouseUp= -function(p,A){Ya.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none");null!=this.linkHint&&"none"==this.linkHint.style.display&&1==this.graph.getSelectionCount()&&(this.linkHint.style.display="");this.blockDelayedSelection=null};mxVertexHandler.prototype.updateLinkHint=function(p,A){try{if(null==p&&(null==A||0==A.length))null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint), -this.linkHint=null);else if(null!=p||null!=A&&0=this.state.absolutePoints.length-1||this.constructor==mxElbowEdgeHandler&&2==q)?this.graph.getConnectionConstraint(this.state,F,A):null;B=null!=(null!=q?this.graph.getConnectionPoint(this.state.getVisibleTerminalState(A),q):null)?B?this.endFixedHandleImage:this.fixedHandleImage: +null!=q&&null!=F?B?this.endTerminalHandleImage:this.terminalHandleImage:B?this.endHandleImage:this.handleImage;if(null!=B)return B=new mxImageShape(new mxRectangle(0,0,B.width,B.height),B.src),B.preserveImageAspect=!1,B;B=mxConstants.HANDLE_SIZE;this.preferHtml&&--B;return new mxRectangleShape(new mxRectangle(0,0,B,B),mxConstants.HANDLE_FILLCOLOR,mxConstants.HANDLE_STROKECOLOR)};var Ia=mxVertexHandler.prototype.createSizerShape;mxVertexHandler.prototype.createSizerShape=function(q,A,B,F){F=A==mxEvent.ROTATION_HANDLE? +HoverIcons.prototype.rotationHandle:A==mxEvent.LABEL_HANDLE?this.secondaryHandleImage:F;return Ia.apply(this,arguments)};var Ha=mxGraphHandler.prototype.getBoundingBox;mxGraphHandler.prototype.getBoundingBox=function(q){if(null!=q&&1==q.length){var A=this.graph.getModel(),B=A.getParent(q[0]),F=this.graph.getCellGeometry(q[0]);if(A.isEdge(B)&&null!=F&&F.relative&&(A=this.graph.view.getState(q[0]),null!=A&&2>A.width&&2>A.height&&null!=A.text&&null!=A.text.boundingBox))return mxRectangle.fromRectangle(A.text.boundingBox)}return Ha.apply(this, +arguments)};var Ja=mxGraphHandler.prototype.getGuideStates;mxGraphHandler.prototype.getGuideStates=function(){for(var q=Ja.apply(this,arguments),A=[],B=0;Bq.width&&2>q.height&&null!= +q.text&&null!=q.text.boundingBox?(A=q.text.unrotatedBoundingBox||q.text.boundingBox,new mxRectangle(Math.round(A.x),Math.round(A.y),Math.round(A.width),Math.round(A.height))):ta.apply(this,arguments)};var La=mxVertexHandler.prototype.mouseDown;mxVertexHandler.prototype.mouseDown=function(q,A){var B=this.graph.getModel(),F=B.getParent(this.state.cell),N=this.graph.getCellGeometry(this.state.cell);(this.getHandleForEvent(A)==mxEvent.ROTATION_HANDLE||!B.isEdge(F)||null==N||!N.relative||null==this.state|| +2<=this.state.width||2<=this.state.height)&&La.apply(this,arguments)};mxVertexHandler.prototype.rotateClick=function(){var q=mxUtils.getValue(this.state.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),A=mxUtils.getValue(this.state.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);this.state.view.graph.model.isVertex(this.state.cell)&&q==mxConstants.NONE&&A==mxConstants.NONE?(q=mxUtils.mod(mxUtils.getValue(this.state.style,mxConstants.STYLE_ROTATION,0)+90,360),this.state.view.graph.setCellStyles(mxConstants.STYLE_ROTATION, +q,[this.state.cell])):this.state.view.graph.turnShapes([this.state.cell])};var Xa=mxVertexHandler.prototype.mouseMove;mxVertexHandler.prototype.mouseMove=function(q,A){Xa.apply(this,arguments);null!=this.graph.graphHandler.first&&(null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display="none"),null!=this.linkHint&&"none"!=this.linkHint.style.display&&(this.linkHint.style.display="none"))};var Ya=mxVertexHandler.prototype.mouseUp;mxVertexHandler.prototype.mouseUp= +function(q,A){Ya.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none");null!=this.linkHint&&"none"==this.linkHint.style.display&&1==this.graph.getSelectionCount()&&(this.linkHint.style.display="");this.blockDelayedSelection=null};mxVertexHandler.prototype.updateLinkHint=function(q,A){try{if(null==q&&(null==A||0==A.length))null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint), +this.linkHint=null);else if(null!=q||null!=A&&0',32,20); +mxEdgeHandler.prototype.redrawHandles=function(){if(null!=this.marker&&(ab.apply(this),null!=this.state&&null!=this.linkHint)){var q=this.state;null!=this.state.text&&null!=this.state.text.bounds&&(q=new mxRectangle(q.x,q.y,q.width,q.height),q.add(this.state.text.bounds));this.linkHint.style.left=q.x+q.width/2+"px";this.linkHint.style.top=Math.round(q.y+q.height+Editor.hintOffset)+"px";this.linkHint.style.display=1',32,20);Format.classicFilledMarkerImage=Graph.createSvgImage(20,22,'',32,20); Format.classicThinFilledMarkerImage=Graph.createSvgImage(20,22,'',32,20);Format.openFilledMarkerImage=Graph.createSvgImage(20,22,'',32,20); Format.openThinFilledMarkerImage=Graph.createSvgImage(20,22,'',32,20);Format.openAsyncFilledMarkerImage=Graph.createSvgImage(20,22,'',32,20); Format.blockFilledMarkerImage=Graph.createSvgImage(20,22,'',32,20);Format.blockThinFilledMarkerImage=Graph.createSvgImage(20,22,'',32,20); @@ -2992,51 +3007,58 @@ Format.ERmandOneMarkerImage=Graph.createSvgImage(20,22,'',32,20);Format.ERzeroToOneMarkerImage=Graph.createSvgImage(20,22,'',32,20); Format.ERzeroToManyMarkerImage=Graph.createSvgImage(20,22,'',32,20);Format.EROneMarkerImage=Graph.createSvgImage(20,22,'',32,20); Format.baseDashMarkerImage=Graph.createSvgImage(20,22,'',32,20);Format.doubleBlockMarkerImage=Graph.createSvgImage(20,22,'',32,20); -Format.doubleBlockFilledMarkerImage=Graph.createSvgImage(20,22,'',32,20);Format.processMenuIcon=function(a,b){var e=a.getElementsByTagName("img");0',32,20);Format.connectionImage=Graph.createSvgImage(20,22,'',42,20); +Format.linkEdgeImage=Graph.createSvgImage(20,22,'',42,20);Format.arrowImage=Graph.createSvgImage(20,22,'',42,20); +Format.simpleArrowImage=Graph.createSvgImage(20,22,'',42,20);Format.straightImage=Graph.createSvgImage(16,18,'',36,36); +Format.orthogonalImage=Graph.createSvgImage(16,18,'',36,36); +Format.horizontalElbowImage=Graph.createSvgImage(16,18,'',36,36); +Format.verticalElbowImage=Graph.createSvgImage(16,18,'',36,36); +Format.horizontalIsometricImage=Graph.createSvgImage(16,18,'',36,36);Format.verticalIsometricImage=Graph.createSvgImage(16,18,'',36,36); +Format.curvedImage=Graph.createSvgImage(16,18,'',36,36);Format.entityImage=Graph.createSvgImage(16,18,'',36,36); +Format.processMenuIcon=function(a,b){var e=a.getElementsByTagName("img");0E;E++)(function(p){mxEvent.addListener(w[p],"click",function(){f(w[p],""==w[p].style.backgroundImage)})})(E);var Ya=mxUtils.bind(this,function(p,A,B){g=h.getSelectionState();p= -mxUtils.getValue(g.style,mxConstants.STYLE_FONTSTYLE,0);f(w[0],(p&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD);f(w[1],(p&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC);f(w[2],(p&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE);u.firstChild.nodeValue=mxUtils.getValue(g.style,mxConstants.STYLE_FONTFAMILY,Menus.prototype.defaultFont);f(z,"0"==mxUtils.getValue(g.style,mxConstants.STYLE_HORIZONTAL,"1"));if(B||document.activeElement!=ja)p=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_FONTSIZE, -Menus.prototype.defaultFontSize)),ja.value=isNaN(p)?"":p+" "+Editor.fontSizeUnit;p=mxUtils.getValue(g.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER);f(D,p==mxConstants.ALIGN_LEFT);f(G,p==mxConstants.ALIGN_CENTER);f(I,p==mxConstants.ALIGN_RIGHT);p=mxUtils.getValue(g.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE);f(T,p==mxConstants.ALIGN_TOP);f(K,p==mxConstants.ALIGN_MIDDLE);f(U,p==mxConstants.ALIGN_BOTTOM);p=mxUtils.getValue(g.style,mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER); -A=mxUtils.getValue(g.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE);ia.value=p==mxConstants.ALIGN_LEFT&&A==mxConstants.ALIGN_TOP?"topLeft":p==mxConstants.ALIGN_CENTER&&A==mxConstants.ALIGN_TOP?"top":p==mxConstants.ALIGN_RIGHT&&A==mxConstants.ALIGN_TOP?"topRight":p==mxConstants.ALIGN_LEFT&&A==mxConstants.ALIGN_BOTTOM?"bottomLeft":p==mxConstants.ALIGN_CENTER&&A==mxConstants.ALIGN_BOTTOM?"bottom":p==mxConstants.ALIGN_RIGHT&&A==mxConstants.ALIGN_BOTTOM?"bottomRight":p==mxConstants.ALIGN_LEFT? -"left":p==mxConstants.ALIGN_RIGHT?"right":"center";p=mxUtils.getValue(g.style,mxConstants.STYLE_TEXT_DIRECTION,mxConstants.DEFAULT_TEXT_DIRECTION);p==mxConstants.TEXT_DIRECTION_RTL?Z.value="rightToLeft":p==mxConstants.TEXT_DIRECTION_LTR?Z.value="leftToRight":p!=mxConstants.TEXT_DIRECTION_AUTO&&g.html?p==mxConstants.TEXT_DIRECTION_VERTICAL_LR?Z.value="vertical-leftToRight":p==mxConstants.TEXT_DIRECTION_VERTICAL_RL&&(Z.value="vertical-rightToLeft"):Z.value="automatic";if(B||document.activeElement!= -Ga)p=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING,2)),Ga.value=isNaN(p)?"":this.inUnit(p)+" "+this.getUnit();if(B||document.activeElement!=Da)p=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING_TOP,0)),Da.value=isNaN(p)?"":this.inUnit(p)+" "+this.getUnit();if(B||document.activeElement!=Ja)p=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING_RIGHT,0)),Ja.value=isNaN(p)?"":this.inUnit(p)+" "+this.getUnit();if(B||document.activeElement!=Ha)p=parseFloat(mxUtils.getValue(g.style, -mxConstants.STYLE_SPACING_BOTTOM,0)),Ha.value=isNaN(p)?"":this.inUnit(p)+" "+this.getUnit();if(B||document.activeElement!=Ia)p=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING_LEFT,0)),Ia.value=isNaN(p)?"":this.inUnit(p)+" "+this.getUnit()});var cb=this.installInputHandler(Ga,mxConstants.STYLE_SPACING,2,-999,999,this.getUnit(" "),null,this.isFloatUnit(),!0);var fb=this.installInputHandler(Da,mxConstants.STYLE_SPACING_TOP,0,-999,999,this.getUnit(" "),null,this.isFloatUnit(),!0);var pb= -this.installInputHandler(Ja,mxConstants.STYLE_SPACING_RIGHT,0,-999,999,this.getUnit(" "),null,this.isFloatUnit(),!0);var gb=this.installInputHandler(Ha,mxConstants.STYLE_SPACING_BOTTOM,0,-999,999,this.getUnit(" "),null,this.isFloatUnit(),!0);var ab=this.installInputHandler(Ia,mxConstants.STYLE_SPACING_LEFT,0,-999,999,this.getUnit(" "),null,this.isFloatUnit(),!0);this.addKeyHandler(ja,Ya);this.addKeyHandler(Ga,Ya);this.addKeyHandler(Da,Ya);this.addKeyHandler(Ja,Ya);this.addKeyHandler(Ha,Ya);this.addKeyHandler(Ia, -Ya);d.getModel().addListener(mxEvent.CHANGE,Ya);this.listeners.push({destroy:function(){d.getModel().removeListener(Ya)}});Ya();if(d.cellEditor.isContentEditing()){var ib=null,eb=!1;m=mxUtils.bind(this,function(){eb||(eb=!0,window.setTimeout(mxUtils.bind(this,function(){var p=d.getSelectedEditingElement();if(null!=p&&null!=d.cellEditor.textarea){var A=function(ya,za){if(null!=ya&&null!=za){if(ya==za)return!0;if(ya.length>za.length+1)return ya.substring(ya.length-za.length-1,ya.length)=="-"+za}return!1}, -B=function(ya){if(null!=d.getParentByName(p,ya,d.cellEditor.textarea))return!0;for(var za=p;null!=za&&1==za.childNodes.length;)if(za=za.childNodes[0],za.nodeName==ya)return!0;return!1},F=function(ya){for(;null!=ya&&ya!=d.cellEditor.textarea;){if("block"==mxUtils.getCurrentStyle(ya).display)return ya;ya=ya.parentNode}return null},N=mxUtils.getCurrentStyle(p),R=p==d.cellEditor.textarea||""==p.style.lineHeight?null:p.style.lineHeight,X=p==d.cellEditor.textarea||""==p.style.fontSize?null:b(N);if(window.getSelection)for(var fa= -p.getElementsByTagName("*"),da=window.getSelection(),ha=0;haE;E++)(function(q){mxEvent.addListener(x[q], +"click",function(){f(x[q],""==x[q].style.backgroundImage)})})(E);var Ya=mxUtils.bind(this,function(q,A,B){g=h.getSelectionState();q=mxUtils.getValue(g.style,mxConstants.STYLE_FONTSTYLE,0);f(x[0],(q&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD);f(x[1],(q&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC);f(x[2],(q&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE);u.firstChild.nodeValue=mxUtils.getValue(g.style,mxConstants.STYLE_FONTFAMILY,Menus.prototype.defaultFont);f(z,"0"==mxUtils.getValue(g.style, +mxConstants.STYLE_HORIZONTAL,"1"));if(B||document.activeElement!=ja)q=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_FONTSIZE,Menus.prototype.defaultFontSize)),ja.value=isNaN(q)?"":q+" "+Editor.fontSizeUnit;q=mxUtils.getValue(g.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER);f(D,q==mxConstants.ALIGN_LEFT);f(G,q==mxConstants.ALIGN_CENTER);f(I,q==mxConstants.ALIGN_RIGHT);q=mxUtils.getValue(g.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE);f(T,q==mxConstants.ALIGN_TOP); +f(K,q==mxConstants.ALIGN_MIDDLE);f(U,q==mxConstants.ALIGN_BOTTOM);q=mxUtils.getValue(g.style,mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER);A=mxUtils.getValue(g.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE);ia.value=q==mxConstants.ALIGN_LEFT&&A==mxConstants.ALIGN_TOP?"topLeft":q==mxConstants.ALIGN_CENTER&&A==mxConstants.ALIGN_TOP?"top":q==mxConstants.ALIGN_RIGHT&&A==mxConstants.ALIGN_TOP?"topRight":q==mxConstants.ALIGN_LEFT&&A==mxConstants.ALIGN_BOTTOM?"bottomLeft": +q==mxConstants.ALIGN_CENTER&&A==mxConstants.ALIGN_BOTTOM?"bottom":q==mxConstants.ALIGN_RIGHT&&A==mxConstants.ALIGN_BOTTOM?"bottomRight":q==mxConstants.ALIGN_LEFT?"left":q==mxConstants.ALIGN_RIGHT?"right":"center";q=mxUtils.getValue(g.style,mxConstants.STYLE_TEXT_DIRECTION,mxConstants.DEFAULT_TEXT_DIRECTION);q==mxConstants.TEXT_DIRECTION_RTL?Z.value="rightToLeft":q==mxConstants.TEXT_DIRECTION_LTR?Z.value="leftToRight":q!=mxConstants.TEXT_DIRECTION_AUTO&&g.html?q==mxConstants.TEXT_DIRECTION_VERTICAL_LR? +Z.value="vertical-leftToRight":q==mxConstants.TEXT_DIRECTION_VERTICAL_RL&&(Z.value="vertical-rightToLeft"):Z.value="automatic";if(B||document.activeElement!=Fa)q=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING,2)),Fa.value=isNaN(q)?"":this.inUnit(q)+" "+this.getUnit();if(B||document.activeElement!=Ca)q=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING_TOP,0)),Ca.value=isNaN(q)?"":this.inUnit(q)+" "+this.getUnit();if(B||document.activeElement!=Ja)q=parseFloat(mxUtils.getValue(g.style, +mxConstants.STYLE_SPACING_RIGHT,0)),Ja.value=isNaN(q)?"":this.inUnit(q)+" "+this.getUnit();if(B||document.activeElement!=Ha)q=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING_BOTTOM,0)),Ha.value=isNaN(q)?"":this.inUnit(q)+" "+this.getUnit();if(B||document.activeElement!=Ia)q=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING_LEFT,0)),Ia.value=isNaN(q)?"":this.inUnit(q)+" "+this.getUnit()});var cb=this.installInputHandler(Fa,mxConstants.STYLE_SPACING,2,-999,999,this.getUnit(" "), +null,this.isFloatUnit(),!0);var fb=this.installInputHandler(Ca,mxConstants.STYLE_SPACING_TOP,0,-999,999,this.getUnit(" "),null,this.isFloatUnit(),!0);var pb=this.installInputHandler(Ja,mxConstants.STYLE_SPACING_RIGHT,0,-999,999,this.getUnit(" "),null,this.isFloatUnit(),!0);var gb=this.installInputHandler(Ha,mxConstants.STYLE_SPACING_BOTTOM,0,-999,999,this.getUnit(" "),null,this.isFloatUnit(),!0);var ab=this.installInputHandler(Ia,mxConstants.STYLE_SPACING_LEFT,0,-999,999,this.getUnit(" "),null,this.isFloatUnit(), +!0);this.addKeyHandler(ja,Ya);this.addKeyHandler(Fa,Ya);this.addKeyHandler(Ca,Ya);this.addKeyHandler(Ja,Ya);this.addKeyHandler(Ha,Ya);this.addKeyHandler(Ia,Ya);d.getModel().addListener(mxEvent.CHANGE,Ya);this.listeners.push({destroy:function(){d.getModel().removeListener(Ya)}});Ya();if(d.cellEditor.isContentEditing()){var ib=null,eb=!1;m=mxUtils.bind(this,function(){eb||(eb=!0,window.setTimeout(mxUtils.bind(this,function(){var q=d.getSelectedEditingElement();if(null!=q&&null!=d.cellEditor.textarea){var A= +function(ya,Ga){if(null!=ya&&null!=Ga){if(ya==Ga)return!0;if(ya.length>Ga.length+1)return ya.substring(ya.length-Ga.length-1,ya.length)=="-"+Ga}return!1},B=function(ya){if(null!=d.getParentByName(q,ya,d.cellEditor.textarea))return!0;for(var Ga=q;null!=Ga&&1==Ga.childNodes.length;)if(Ga=Ga.childNodes[0],Ga.nodeName==ya)return!0;return!1},F=function(ya){for(;null!=ya&&ya!=d.cellEditor.textarea;){if("block"==mxUtils.getCurrentStyle(ya).display)return ya;ya=ya.parentNode}return null},N=mxUtils.getCurrentStyle(q), +R=q==d.cellEditor.textarea||""==q.style.lineHeight?null:q.style.lineHeight,X=q==d.cellEditor.textarea||""==q.style.fontSize?null:b(N);if(window.getSelection)for(var fa=q.getElementsByTagName("*"),da=window.getSelection(),ha=0;haC){L=function(Y){mxEvent.addListener(Y,"mouseenter",function(){Y.style.opacity= "1"});mxEvent.addListener(Y,"mouseleave",function(){Y.style.opacity="0.5"})};var K=document.createElement("div");K.className="geAdaptiveAsset";K.style.position="absolute";K.style.left="0px";K.style.top="0px";K.style.bottom="0px";K.style.width="24px";K.style.height="24px";K.style.margin="0px";K.style.cursor="pointer";K.style.opacity="0.5";K.style.backgroundRepeat="no-repeat";K.style.backgroundPosition="center center";K.style.backgroundSize="24px 24px";K.style.backgroundImage="url("+Editor.previousImage+ ")";var U=K.cloneNode(!1);U.style.backgroundImage="url("+Editor.nextImage+")";U.style.left="";U.style.right="2px";I.appendChild(K);I.appendChild(U);mxEvent.addListener(K,"click",mxUtils.bind(this,function(){G(mxUtils.mod(this.format.currentStylePage-1,C))}));mxEvent.addListener(U,"click",mxUtils.bind(this,function(){G(mxUtils.mod(this.format.currentStylePage+1,C))}));L(K);L(U)}}else D();return a};DiagramFormatPanel=function(a,b,e){BaseFormatPanel.call(this,a,b,e);this.init()}; @@ -3275,43 +3296,43 @@ a.appendChild(this.createOption(mxResources.get("connectionPoints"),function(){r {install:function(f){this.listener=function(){f(e.graphHandler.guidesEnabled)};b.addListener("guidesEnabledChanged",this.listener)},destroy:function(){b.removeListener(this.listener)}})));return a}; DiagramFormatPanel.prototype.addGridOption=function(a){function b(k){var u=e.isFloatUnit()?parseFloat(d.value):parseInt(d.value);u=e.fromUnit(Math.max(e.inUnit(1),isNaN(u)?e.inUnit(10):u));u!=h.getGridSize()&&(mxGraph.prototype.gridSize=u,h.setGridSize(u));d.value=e.inUnit(u)+" "+e.getUnit();mxEvent.consume(k)}var e=this,f=this.editorUi,h=f.editor.graph,d=document.createElement("input");d.style.position="absolute";d.style.textAlign="right";d.style.width="48px";d.style.marginTop="-2px";d.style.height= "21px";d.style.borderWidth="1px";d.style.borderStyle="solid";d.style.boxSizing="border-box";d.value=this.inUnit(h.getGridSize())+" "+this.getUnit();var g=this.createStepper(d,b,this.getUnitStep(),null,null,null,this.isFloatUnit());d.style.display=h.isGridEnabled()?"":"none";g.style.display=d.style.display;mxEvent.addListener(d,"keydown",function(k){13==k.keyCode?(h.container.focus(),mxEvent.consume(k)):27==k.keyCode&&(d.value=h.getGridSize(),h.container.focus(),mxEvent.consume(k))});mxEvent.addListener(d, -"blur",b);mxEvent.addListener(d,"change",b);d.style.left="104px";g.style.marginTop=mxClient.IS_MAC&&mxClient.IS_GC?"-16px":mxClient.IS_WIN?"-18px":"-17px";g.style.left="152px";var m="none"!=h.getAdaptiveColors()?null:!1,q=this.createColorOption(mxResources.get("grid"),function(){return h.isGridEnabled()?h.view.gridColor:null},function(k){var u=h.isGridEnabled();k==mxConstants.NONE?h.setGridEnabled(!1):(h.setGridEnabled(!0),f.setGridColor(k,m));d.style.display=h.isGridEnabled()?"":"none";g.style.display= -d.style.display;u!=h.isGridEnabled()&&(h.defaultGridEnabled=h.isGridEnabled(),f.fireEvent(new mxEventObject("gridEnabledChanged")))},h.view.gridColor,{install:function(k){this.listener=function(){k(h.isGridEnabled()?h.view.gridColor:mxConstants.NONE)};f.addListener("gridColorChanged",this.listener);f.addListener("gridEnabledChanged",this.listener)},destroy:function(){f.removeListener(this.listener)}},null,null,null,!0,m);q.style.padding="6px 0 0 0";q.appendChild(d);q.appendChild(g);a.appendChild(q)}; -DiagramFormatPanel.prototype.addDocumentProperties=function(a){a.appendChild(this.createTitle(mxResources.get("options")));return a}; +"blur",b);mxEvent.addListener(d,"change",b);d.style.left="104px";g.style.marginTop="-2px";g.style.left="152px";var m=function(){return"none"!=h.getAdaptiveColors()&&Editor.isDarkMode()},p="light-dark("+mxGraphView.prototype.defaultGridColor+","+mxGraphView.prototype.defaultDarkGridColor+")";p=this.createColorOption(mxResources.get("grid"),function(){return h.isGridEnabled()?h.view.gridColor:null},function(k){var u=h.isGridEnabled();k==mxConstants.NONE?h.setGridEnabled(!1):(h.setGridEnabled(!0),f.setGridColor(k, +m()));d.style.display=h.isGridEnabled()?"":"none";g.style.display=d.style.display;u!=h.isGridEnabled()&&(h.defaultGridEnabled=h.isGridEnabled(),f.fireEvent(new mxEventObject("gridEnabledChanged")))},h.view.gridColor,{install:function(k){this.listener=function(){k(h.isGridEnabled()?h.view.gridColor:mxConstants.NONE)};f.addListener("darkModeChanged",this.listener);f.addListener("gridColorChanged",this.listener);f.addListener("gridEnabledChanged",this.listener)},destroy:function(){f.removeListener(this.listener)}}, +null,null,p,!0,m);p.style.padding="6px 0 0 0";p.appendChild(d);p.appendChild(g);a.appendChild(p)};DiagramFormatPanel.prototype.addDocumentProperties=function(a){a.appendChild(this.createTitle(mxResources.get("options")));return a}; DiagramFormatPanel.prototype.addPaperSize=function(a){var b=this.editorUi,e=b.editor.graph;a.appendChild(this.createTitle(mxResources.get("paperSize")));var f=PageSetupDialog.addPageFormatPanel(a,"formatpanel",e.pageFormat,function(d){if(null==e.pageFormat||e.pageFormat.width!=d.width||e.pageFormat.height!=d.height)d=new ChangePageSetup(b,null,null,d),d.ignoreColor=!0,d.ignoreImage=!0,e.model.execute(d)});this.addKeyHandler(f.widthInput,function(){f.set(e.pageFormat)});this.addKeyHandler(f.heightInput, function(){f.set(e.pageFormat)});var h=function(){f.set(e.pageFormat)};b.addListener("pageFormatChanged",h);this.listeners.push({destroy:function(){b.removeListener(h)}});e.getModel().addListener(mxEvent.CHANGE,h);this.listeners.push({destroy:function(){e.getModel().removeListener(h)}});return a};DiagramFormatPanel.prototype.addStyleOps=function(a){this.addActions(a,["editData"]);this.addActions(a,["clearDefaultStyle"]);return a}; -DiagramFormatPanel.prototype.destroy=function(){BaseFormatPanel.prototype.destroy.apply(this,arguments);this.gridEnabledListener&&(this.editorUi.removeListener(this.gridEnabledListener),this.gridEnabledListener=null)};(function(){function a(c,l,t){mxShape.call(this);this.line=c;this.stroke=l;this.strokewidth=null!=t?t:1;this.updateBoundsFromLine()}function b(){mxSwimlane.call(this)}function e(){mxSwimlane.call(this)}function f(){mxCylinder.call(this)}function h(){mxConnector.call(this)}function d(){mxCylinder.call(this)}function g(){mxActor.call(this)}function m(){mxCylinder.call(this)}function q(){mxCylinder.call(this)}function k(){mxCylinder.call(this)}function u(){mxCylinder.call(this)}function w(){mxShape.call(this)} +DiagramFormatPanel.prototype.destroy=function(){BaseFormatPanel.prototype.destroy.apply(this,arguments);this.gridEnabledListener&&(this.editorUi.removeListener(this.gridEnabledListener),this.gridEnabledListener=null)};(function(){function a(c,l,t){mxShape.call(this);this.line=c;this.stroke=l;this.strokewidth=null!=t?t:1;this.updateBoundsFromLine()}function b(){mxSwimlane.call(this)}function e(){mxSwimlane.call(this)}function f(){mxCylinder.call(this)}function h(){mxConnector.call(this)}function d(){mxCylinder.call(this)}function g(){mxActor.call(this)}function m(){mxCylinder.call(this)}function p(){mxCylinder.call(this)}function k(){mxCylinder.call(this)}function u(){mxCylinder.call(this)}function x(){mxShape.call(this)} function z(){mxShape.call(this)}function C(c,l,t,n){mxShape.call(this);this.bounds=c;this.fill=l;this.stroke=t;this.strokewidth=null!=n?n:1}function E(){mxActor.call(this)}function D(){mxCylinder.call(this)}function G(){mxCylinder.call(this)}function I(){mxActor.call(this)}function L(){mxActor.call(this)}function T(){mxActor.call(this)}function K(){mxActor.call(this)}function U(){mxActor.call(this)}function Y(){mxActor.call(this)}function Q(){mxActor.call(this)}function P(c,l){this.canvas=c;this.canvas.setLineJoin("round"); this.canvas.setLineCap("round");this.defaultVariation=l;this.originalLineTo=this.canvas.lineTo;this.canvas.lineTo=mxUtils.bind(this,P.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,P.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,P.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,P.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo;this.canvas.curveTo=mxUtils.bind(this, -P.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,P.prototype.arcTo)}function M(){mxRectangleShape.call(this)}function W(){mxRectangleShape.call(this)}function aa(){mxActor.call(this)}function ia(){mxActor.call(this)}function oa(){mxActor.call(this)}function qa(){mxRectangleShape.call(this)}function O(){mxRectangleShape.call(this)}function Z(){mxCylinder.call(this)}function ca(){mxShape.call(this)}function V(){mxShape.call(this)}function ja(){mxEllipse.call(this)} -function H(){mxShape.call(this)}function ea(){mxShape.call(this)}function la(){mxRectangleShape.call(this)}function sa(){mxShape.call(this)}function Pa(){mxShape.call(this)}function ma(){mxShape.call(this)}function Ca(){mxShape.call(this)}function Da(){mxShape.call(this)}function Ga(){mxCylinder.call(this)}function Ia(){mxCylinder.call(this)}function Ha(){mxRectangleShape.call(this)}function Ja(){mxDoubleEllipse.call(this)}function ta(){mxDoubleEllipse.call(this)}function La(){mxArrowConnector.call(this); -this.spacing=0}function Xa(){mxArrowConnector.call(this);this.spacing=0}function Ya(){mxActor.call(this)}function cb(){mxRectangleShape.call(this)}function fb(){mxActor.call(this)}function pb(){mxActor.call(this)}function gb(){mxActor.call(this)}function ab(){mxActor.call(this)}function ib(){mxActor.call(this)}function eb(){mxActor.call(this)}function p(){mxActor.call(this)}function A(){mxActor.call(this)}function B(){mxActor.call(this)}function F(){mxActor.call(this)}function N(){mxEllipse.call(this)} -function R(){mxEllipse.call(this)}function X(){mxEllipse.call(this)}function fa(){mxRhombus.call(this)}function da(){mxEllipse.call(this)}function ha(){mxEllipse.call(this)}function wa(){mxEllipse.call(this)}function Ma(){mxEllipse.call(this)}function Na(){mxActor.call(this)}function ya(){mxActor.call(this)}function za(){mxActor.call(this)}function va(c,l,t,n){mxShape.call(this);this.bounds=c;this.fill=l;this.stroke=t;this.strokewidth=null!=n?n:1;this.rectStyle="square";this.size=10;this.absoluteCornerSize= -!0;this.indent=2;this.rectOutline="single"}function ua(){mxConnector.call(this)}function Va(c,l,t,n,r,v,x,J,y,ba){x+=y;var S=n.clone();n.x-=r*(2*x+y);n.y-=v*(2*x+y);r*=x+y;v*=x+y;return function(){c.ellipse(S.x-r-x,S.y-v-x,2*x,2*x);ba?c.fillAndStroke():c.stroke()}}mxUtils.extend(a,mxShape);a.prototype.updateBoundsFromLine=function(){var c=null;if(null!=this.line)for(var l=0;lx?"#FFFFFF":"#000000"),c.begin(),c.moveTo(0,0),c.lineTo(n-v,0),c.lineTo(n,v),c.lineTo(v, +!1,w=this.isHorizontal(),J=this.getTitleSize();0==J||this.outline?va.prototype.paintVertexShape.apply(this,arguments):(mxSwimlane.prototype.paintVertexShape.apply(this,arguments),c.translate(-l,-t));v||this.outline||!(w&&Jw?"#FFFFFF":"#000000"),c.begin(),c.moveTo(0,0),c.lineTo(n-v,0),c.lineTo(n,v),c.lineTo(v, v),c.close(),c.fill()),0!=J&&(c.setFillAlpha(Math.abs(J)),c.setFillColor(0>J?"#FFFFFF":"#000000"),c.begin(),c.moveTo(0,0),c.lineTo(v,v),c.lineTo(v,r),c.lineTo(0,r-v),c.close(),c.fill()),c.begin(),c.moveTo(v,r),c.lineTo(v,v),c.lineTo(0,0),c.moveTo(v,v),c.lineTo(n,v),c.end(),c.stroke())};f.prototype.getLabelMargins=function(c){return mxUtils.getValue(this.style,"boundedLbl",!1)?(c=parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale,new mxRectangle(c,c,0,0)):null};mxCellRenderer.registerShape("cube", f);var Qa=Math.tan(mxUtils.toRadians(30)),Ka=(.5-Qa)/2;mxCellRenderer.registerShape("isoRectangle",g);mxUtils.extend(h,mxConnector);h.prototype.paintEdgeShape=function(c,l){var t=this.createMarker(c,l,!0),n=this.createMarker(c,l,!1);c.setDashed(!1);mxPolyline.prototype.paintEdgeShape.apply(this,arguments);null!=this.isDashed&&c.setDashed(this.isDashed,null!=this.style?1==mxUtils.getValue(this.style,mxConstants.STYLE_FIX_DASH,!1):!1);c.setShadow(!1);c.setStrokeColor(this.fill);mxPolyline.prototype.paintEdgeShape.apply(this, arguments);c.setStrokeColor(this.stroke);c.setFillColor(this.stroke);c.setDashed(!1);null!=t&&t();null!=n&&n()};mxCellRenderer.registerShape("wire",h);mxUtils.extend(d,mxCylinder);d.prototype.size=6;d.prototype.paintVertexShape=function(c,l,t,n,r){c.setFillColor(this.stroke);var v=Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size))-2)+2*this.strokewidth;c.ellipse(l+.5*(n-v),t+.5*(r-v),v,v);c.fill();c.setFillColor(mxConstants.NONE);c.rect(l,t,n,r);c.fill()};mxCellRenderer.registerShape("waypoint", d);mxUtils.extend(g,mxActor);g.prototype.size=20;g.prototype.redrawPath=function(c,l,t,n,r){l=Math.min(n,r/Qa);c.translate((n-l)/2,(r-l)/2+l/4);c.moveTo(0,.25*l);c.lineTo(.5*l,l*Ka);c.lineTo(l,.25*l);c.lineTo(.5*l,(.5-Ka)*l);c.lineTo(0,.25*l);c.close();c.end()};mxCellRenderer.registerShape("isoRectangle",g);mxUtils.extend(m,mxCylinder);m.prototype.size=20;m.prototype.redrawPath=function(c,l,t,n,r,v){l=Math.min(n,r/(.5+Qa));v?(c.moveTo(0,.25*l),c.lineTo(.5*l,(.5-Ka)*l),c.lineTo(l,.25*l),c.moveTo(.5* -l,(.5-Ka)*l),c.lineTo(.5*l,(1-Ka)*l)):(c.translate((n-l)/2,(r-l)/2),c.moveTo(0,.25*l),c.lineTo(.5*l,l*Ka),c.lineTo(l,.25*l),c.lineTo(l,.75*l),c.lineTo(.5*l,(1-Ka)*l),c.lineTo(0,.75*l),c.close());c.end()};mxCellRenderer.registerShape("isoCube",m);mxUtils.extend(q,mxCylinder);q.prototype.redrawPath=function(c,l,t,n,r,v){l=Math.min(r/2,Math.round(r/8)+this.strokewidth-1);if(v&&null!=this.fill||!v&&null==this.fill)c.moveTo(0,l),c.curveTo(0,2*l,n,2*l,n,l),v||(c.stroke(),c.begin()),c.translate(0,l/2),c.moveTo(0, -l),c.curveTo(0,2*l,n,2*l,n,l),v||(c.stroke(),c.begin()),c.translate(0,l/2),c.moveTo(0,l),c.curveTo(0,2*l,n,2*l,n,l),v||(c.stroke(),c.begin()),c.translate(0,-l);v||(c.moveTo(0,l),c.curveTo(0,-l/3,n,-l/3,n,l),c.lineTo(n,r-l),c.curveTo(n,r+l/3,0,r+l/3,0,r-l),c.close())};q.prototype.getLabelMargins=function(c){return new mxRectangle(0,2.5*Math.min(c.height/2,Math.round(c.height/8)+this.strokewidth-1),0,0)};mxCellRenderer.registerShape("datastore",q);mxUtils.extend(k,mxCylinder);k.prototype.size=30;k.prototype.darkOpacity= -0;k.prototype.paintVertexShape=function(c,l,t,n,r){var v=Math.max(0,Math.min(n,Math.min(r,parseFloat(mxUtils.getValue(this.style,"size",this.size))))),x=Math.max(-1,Math.min(1,parseFloat(mxUtils.getValue(this.style,"darkOpacity",this.darkOpacity))));c.translate(l,t);c.begin();c.moveTo(0,0);c.lineTo(n-v,0);c.lineTo(n,v);c.lineTo(n,r);c.lineTo(0,r);c.lineTo(0,0);c.close();c.end();c.fillAndStroke();this.outline||(c.setShadow(!1),0!=x&&(c.setFillAlpha(Math.abs(x)),c.setFillColor(0>x?"#FFFFFF":"#000000"), -c.begin(),c.moveTo(n-v,0),c.lineTo(n-v,v),c.lineTo(n,v),c.close(),c.fill()),c.begin(),c.moveTo(n-v,0),c.lineTo(n-v,v),c.lineTo(n,v),c.end(),c.stroke())};mxCellRenderer.registerShape("note",k);mxUtils.extend(u,k);mxCellRenderer.registerShape("note2",u);u.prototype.getLabelMargins=function(c){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var l=mxUtils.getValue(this.style,"size",15);return new mxRectangle(0,Math.min(c.height*this.scale,l*this.scale),0,0)}return null};mxUtils.extend(w,mxShape);w.prototype.isoAngle= -15;w.prototype.paintVertexShape=function(c,l,t,n,r){var v=Math.max(.01,Math.min(94,parseFloat(mxUtils.getValue(this.style,"isoAngle",this.isoAngle))))*Math.PI/200;v=Math.min(n*Math.tan(v),.5*r);c.translate(l,t);c.begin();c.moveTo(.5*n,0);c.lineTo(n,v);c.lineTo(n,r-v);c.lineTo(.5*n,r);c.lineTo(0,r-v);c.lineTo(0,v);c.close();c.fillAndStroke();c.setShadow(!1);c.begin();c.moveTo(0,v);c.lineTo(.5*n,2*v);c.lineTo(n,v);c.moveTo(.5*n,2*v);c.lineTo(.5*n,r);c.stroke()};mxCellRenderer.registerShape("isoCube2", -w);mxUtils.extend(z,mxShape);z.prototype.size=15;z.prototype.paintVertexShape=function(c,l,t,n,r){var v=Math.max(0,Math.min(.5*r,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c.translate(l,t);0==v?(c.rect(0,0,n,r),c.fillAndStroke()):(c.begin(),c.moveTo(0,v),c.arcTo(.5*n,v,0,0,1,.5*n,0),c.arcTo(.5*n,v,0,0,1,n,v),c.lineTo(n,r-v),c.arcTo(.5*n,v,0,0,1,.5*n,r),c.arcTo(.5*n,v,0,0,1,0,r-v),c.close(),c.fillAndStroke(),c.setShadow(!1),c.begin(),c.moveTo(n,v),c.arcTo(.5*n,v,0,0,1,.5*n,2*v),c.arcTo(.5* -n,v,0,0,1,0,v),c.stroke())};mxCellRenderer.registerShape("cylinder2",z);mxUtils.extend(C,mxCylinder);C.prototype.size=15;C.prototype.paintVertexShape=function(c,l,t,n,r){var v=Math.max(0,Math.min(.5*r,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),x=mxUtils.getValue(this.style,"lid",!0);c.translate(l,t);0==v?(c.rect(0,0,n,r),c.fillAndStroke()):(c.begin(),x?(c.moveTo(0,v),c.arcTo(.5*n,v,0,0,1,.5*n,0),c.arcTo(.5*n,v,0,0,1,n,v)):(c.moveTo(0,0),c.arcTo(.5*n,v,0,0,0,.5*n,v),c.arcTo(.5*n,v, -0,0,0,n,0)),c.lineTo(n,r-v),c.arcTo(.5*n,v,0,0,1,.5*n,r),c.arcTo(.5*n,v,0,0,1,0,r-v),c.close(),c.fillAndStroke(),c.setShadow(!1),x&&(c.begin(),c.moveTo(n,v),c.arcTo(.5*n,v,0,0,1,.5*n,2*v),c.arcTo(.5*n,v,0,0,1,0,v),c.stroke()))};mxCellRenderer.registerShape("cylinder3",C);mxUtils.extend(E,mxActor);E.prototype.redrawPath=function(c,l,t,n,r){c.moveTo(0,0);c.quadTo(n/2,.5*r,n,0);c.quadTo(.5*n,r/2,n,r);c.quadTo(n/2,.5*r,0,r);c.quadTo(.5*n,r/2,0,0);c.end()};mxCellRenderer.registerShape("switch",E);mxUtils.extend(D, -mxCylinder);D.prototype.tabWidth=60;D.prototype.tabHeight=20;D.prototype.tabPosition="right";D.prototype.arcSize=.1;D.prototype.paintVertexShape=function(c,l,t,n,r){c.translate(l,t);l=Math.max(0,Math.min(n,parseFloat(mxUtils.getValue(this.style,"tabWidth",this.tabWidth))));t=Math.max(0,Math.min(r,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));var v=mxUtils.getValue(this.style,"tabPosition",this.tabPosition),x=mxUtils.getValue(this.style,"rounded",!1),J=mxUtils.getValue(this.style, -"absoluteArcSize",!1),y=parseFloat(mxUtils.getValue(this.style,"arcSize",this.arcSize));J||(y*=Math.min(n,r));y=Math.min(y,.5*n,.5*(r-t));l=Math.max(l,y);l=Math.min(n-y,l);x||(y=0);c.begin();"left"==v?(c.moveTo(Math.max(y,0),t),c.lineTo(Math.max(y,0),0),c.lineTo(l,0),c.lineTo(l,t)):(c.moveTo(n-l,t),c.lineTo(n-l,0),c.lineTo(n-Math.max(y,0),0),c.lineTo(n-Math.max(y,0),t));x?(c.moveTo(0,y+t),c.arcTo(y,y,0,0,1,y,t),c.lineTo(n-y,t),c.arcTo(y,y,0,0,1,n,y+t),c.lineTo(n,r-y),c.arcTo(y,y,0,0,1,n-y,r),c.lineTo(y, +l,(.5-Ka)*l),c.lineTo(.5*l,(1-Ka)*l)):(c.translate((n-l)/2,(r-l)/2),c.moveTo(0,.25*l),c.lineTo(.5*l,l*Ka),c.lineTo(l,.25*l),c.lineTo(l,.75*l),c.lineTo(.5*l,(1-Ka)*l),c.lineTo(0,.75*l),c.close());c.end()};mxCellRenderer.registerShape("isoCube",m);mxUtils.extend(p,mxCylinder);p.prototype.redrawPath=function(c,l,t,n,r,v){l=Math.min(r/2,Math.round(r/8)+this.strokewidth-1);if(v&&null!=this.fill||!v&&null==this.fill)c.moveTo(0,l),c.curveTo(0,2*l,n,2*l,n,l),v||(c.stroke(),c.begin()),c.translate(0,l/2),c.moveTo(0, +l),c.curveTo(0,2*l,n,2*l,n,l),v||(c.stroke(),c.begin()),c.translate(0,l/2),c.moveTo(0,l),c.curveTo(0,2*l,n,2*l,n,l),v||(c.stroke(),c.begin()),c.translate(0,-l);v||(c.moveTo(0,l),c.curveTo(0,-l/3,n,-l/3,n,l),c.lineTo(n,r-l),c.curveTo(n,r+l/3,0,r+l/3,0,r-l),c.close())};p.prototype.getLabelMargins=function(c){return new mxRectangle(0,2.5*Math.min(c.height/2,Math.round(c.height/8)+this.strokewidth-1),0,0)};mxCellRenderer.registerShape("datastore",p);mxUtils.extend(k,mxCylinder);k.prototype.size=30;k.prototype.darkOpacity= +0;k.prototype.paintVertexShape=function(c,l,t,n,r){var v=Math.max(0,Math.min(n,Math.min(r,parseFloat(mxUtils.getValue(this.style,"size",this.size))))),w=Math.max(-1,Math.min(1,parseFloat(mxUtils.getValue(this.style,"darkOpacity",this.darkOpacity))));c.translate(l,t);c.begin();c.moveTo(0,0);c.lineTo(n-v,0);c.lineTo(n,v);c.lineTo(n,r);c.lineTo(0,r);c.lineTo(0,0);c.close();c.end();c.fillAndStroke();this.outline||(c.setShadow(!1),0!=w&&(c.setFillAlpha(Math.abs(w)),c.setFillColor(0>w?"#FFFFFF":"#000000"), +c.begin(),c.moveTo(n-v,0),c.lineTo(n-v,v),c.lineTo(n,v),c.close(),c.fill()),c.begin(),c.moveTo(n-v,0),c.lineTo(n-v,v),c.lineTo(n,v),c.end(),c.stroke())};mxCellRenderer.registerShape("note",k);mxUtils.extend(u,k);mxCellRenderer.registerShape("note2",u);u.prototype.getLabelMargins=function(c){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var l=mxUtils.getValue(this.style,"size",15);return new mxRectangle(0,Math.min(c.height*this.scale,l*this.scale),0,0)}return null};mxUtils.extend(x,mxShape);x.prototype.isoAngle= +15;x.prototype.paintVertexShape=function(c,l,t,n,r){var v=Math.max(.01,Math.min(94,parseFloat(mxUtils.getValue(this.style,"isoAngle",this.isoAngle))))*Math.PI/200;v=Math.min(n*Math.tan(v),.5*r);c.translate(l,t);c.begin();c.moveTo(.5*n,0);c.lineTo(n,v);c.lineTo(n,r-v);c.lineTo(.5*n,r);c.lineTo(0,r-v);c.lineTo(0,v);c.close();c.fillAndStroke();c.setShadow(!1);c.begin();c.moveTo(0,v);c.lineTo(.5*n,2*v);c.lineTo(n,v);c.moveTo(.5*n,2*v);c.lineTo(.5*n,r);c.stroke()};mxCellRenderer.registerShape("isoCube2", +x);mxUtils.extend(z,mxShape);z.prototype.size=15;z.prototype.paintVertexShape=function(c,l,t,n,r){var v=Math.max(0,Math.min(.5*r,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c.translate(l,t);0==v?(c.rect(0,0,n,r),c.fillAndStroke()):(c.begin(),c.moveTo(0,v),c.arcTo(.5*n,v,0,0,1,.5*n,0),c.arcTo(.5*n,v,0,0,1,n,v),c.lineTo(n,r-v),c.arcTo(.5*n,v,0,0,1,.5*n,r),c.arcTo(.5*n,v,0,0,1,0,r-v),c.close(),c.fillAndStroke(),c.setShadow(!1),c.begin(),c.moveTo(n,v),c.arcTo(.5*n,v,0,0,1,.5*n,2*v),c.arcTo(.5* +n,v,0,0,1,0,v),c.stroke())};mxCellRenderer.registerShape("cylinder2",z);mxUtils.extend(C,mxCylinder);C.prototype.size=15;C.prototype.paintVertexShape=function(c,l,t,n,r){var v=Math.max(0,Math.min(.5*r,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),w=mxUtils.getValue(this.style,"lid",!0);c.translate(l,t);0==v?(c.rect(0,0,n,r),c.fillAndStroke()):(c.begin(),w?(c.moveTo(0,v),c.arcTo(.5*n,v,0,0,1,.5*n,0),c.arcTo(.5*n,v,0,0,1,n,v)):(c.moveTo(0,0),c.arcTo(.5*n,v,0,0,0,.5*n,v),c.arcTo(.5*n,v, +0,0,0,n,0)),c.lineTo(n,r-v),c.arcTo(.5*n,v,0,0,1,.5*n,r),c.arcTo(.5*n,v,0,0,1,0,r-v),c.close(),c.fillAndStroke(),c.setShadow(!1),w&&(c.begin(),c.moveTo(n,v),c.arcTo(.5*n,v,0,0,1,.5*n,2*v),c.arcTo(.5*n,v,0,0,1,0,v),c.stroke()))};mxCellRenderer.registerShape("cylinder3",C);mxUtils.extend(E,mxActor);E.prototype.redrawPath=function(c,l,t,n,r){c.moveTo(0,0);c.quadTo(n/2,.5*r,n,0);c.quadTo(.5*n,r/2,n,r);c.quadTo(n/2,.5*r,0,r);c.quadTo(.5*n,r/2,0,0);c.end()};mxCellRenderer.registerShape("switch",E);mxUtils.extend(D, +mxCylinder);D.prototype.tabWidth=60;D.prototype.tabHeight=20;D.prototype.tabPosition="right";D.prototype.arcSize=.1;D.prototype.paintVertexShape=function(c,l,t,n,r){c.translate(l,t);l=Math.max(0,Math.min(n,parseFloat(mxUtils.getValue(this.style,"tabWidth",this.tabWidth))));t=Math.max(0,Math.min(r,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));var v=mxUtils.getValue(this.style,"tabPosition",this.tabPosition),w=mxUtils.getValue(this.style,"rounded",!1),J=mxUtils.getValue(this.style, +"absoluteArcSize",!1),y=parseFloat(mxUtils.getValue(this.style,"arcSize",this.arcSize));J||(y*=Math.min(n,r));y=Math.min(y,.5*n,.5*(r-t));l=Math.max(l,y);l=Math.min(n-y,l);w||(y=0);c.begin();"left"==v?(c.moveTo(Math.max(y,0),t),c.lineTo(Math.max(y,0),0),c.lineTo(l,0),c.lineTo(l,t)):(c.moveTo(n-l,t),c.lineTo(n-l,0),c.lineTo(n-Math.max(y,0),0),c.lineTo(n-Math.max(y,0),t));w?(c.moveTo(0,y+t),c.arcTo(y,y,0,0,1,y,t),c.lineTo(n-y,t),c.arcTo(y,y,0,0,1,n,y+t),c.lineTo(n,r-y),c.arcTo(y,y,0,0,1,n-y,r),c.lineTo(y, r),c.arcTo(y,y,0,0,1,0,r-y)):(c.moveTo(0,t),c.lineTo(n,t),c.lineTo(n,r),c.lineTo(0,r));c.close();c.fillAndStroke();c.setShadow(!1);"triangle"==mxUtils.getValue(this.style,"folderSymbol",null)&&(c.begin(),c.moveTo(n-30,t+20),c.lineTo(n-20,t+10),c.lineTo(n-10,t+20),c.close(),c.stroke())};mxCellRenderer.registerShape("folder",D);D.prototype.getLabelMargins=function(c){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var l=mxUtils.getValue(this.style,"tabHeight",15)*this.scale;if(mxUtils.getValue(this.style, "labelInHeader",!1)){var t=mxUtils.getValue(this.style,"tabWidth",15)*this.scale;l=mxUtils.getValue(this.style,"tabHeight",15)*this.scale;var n=mxUtils.getValue(this.style,"rounded",!1),r=mxUtils.getValue(this.style,"absoluteArcSize",!1),v=parseFloat(mxUtils.getValue(this.style,"arcSize",this.arcSize));r||(v*=Math.min(c.width,c.height));v=Math.min(v,.5*c.width,.5*(c.height-l));n||(v=0);return"left"==mxUtils.getValue(this.style,"tabPosition",this.tabPosition)?new mxRectangle(v,0,Math.min(c.width,c.width- -t),Math.min(c.height,c.height-l)):new mxRectangle(Math.min(c.width,c.width-t),0,v,Math.min(c.height,c.height-l))}return new mxRectangle(0,Math.min(c.height,l),0,0)}return null};mxUtils.extend(G,mxCylinder);G.prototype.arcSize=.1;G.prototype.paintVertexShape=function(c,l,t,n,r){c.translate(l,t);var v=mxUtils.getValue(this.style,"rounded",!1),x=mxUtils.getValue(this.style,"absoluteArcSize",!1);l=parseFloat(mxUtils.getValue(this.style,"arcSize",this.arcSize));t=mxUtils.getValue(this.style,"umlStateConnection", -null);x||(l*=Math.min(n,r));l=Math.min(l,.5*n,.5*r);v||(l=0);v=0;null!=t&&(v=10);c.begin();c.moveTo(v,l);c.arcTo(l,l,0,0,1,v+l,0);c.lineTo(n-l,0);c.arcTo(l,l,0,0,1,n,l);c.lineTo(n,r-l);c.arcTo(l,l,0,0,1,n-l,r);c.lineTo(v+l,r);c.arcTo(l,l,0,0,1,v,r-l);c.close();c.fillAndStroke();c.setShadow(!1);"collapseState"==mxUtils.getValue(this.style,"umlStateSymbol",null)&&(c.roundrect(n-40,r-20,10,10,3,3),c.stroke(),c.roundrect(n-20,r-20,10,10,3,3),c.stroke(),c.begin(),c.moveTo(n-30,r-15),c.lineTo(n-20,r-15), +t),Math.min(c.height,c.height-l)):new mxRectangle(Math.min(c.width,c.width-t),0,v,Math.min(c.height,c.height-l))}return new mxRectangle(0,Math.min(c.height,l),0,0)}return null};mxUtils.extend(G,mxCylinder);G.prototype.arcSize=.1;G.prototype.paintVertexShape=function(c,l,t,n,r){c.translate(l,t);var v=mxUtils.getValue(this.style,"rounded",!1),w=mxUtils.getValue(this.style,"absoluteArcSize",!1);l=parseFloat(mxUtils.getValue(this.style,"arcSize",this.arcSize));t=mxUtils.getValue(this.style,"umlStateConnection", +null);w||(l*=Math.min(n,r));l=Math.min(l,.5*n,.5*r);v||(l=0);v=0;null!=t&&(v=10);c.begin();c.moveTo(v,l);c.arcTo(l,l,0,0,1,v+l,0);c.lineTo(n-l,0);c.arcTo(l,l,0,0,1,n,l);c.lineTo(n,r-l);c.arcTo(l,l,0,0,1,n-l,r);c.lineTo(v+l,r);c.arcTo(l,l,0,0,1,v,r-l);c.close();c.fillAndStroke();c.setShadow(!1);"collapseState"==mxUtils.getValue(this.style,"umlStateSymbol",null)&&(c.roundrect(n-40,r-20,10,10,3,3),c.stroke(),c.roundrect(n-20,r-20,10,10,3,3),c.stroke(),c.begin(),c.moveTo(n-30,r-15),c.lineTo(n-20,r-15), c.stroke());"connPointRefEntry"==t?(c.ellipse(0,.5*r-10,20,20),c.fillAndStroke()):"connPointRefExit"==t&&(c.ellipse(0,.5*r-10,20,20),c.fillAndStroke(),c.begin(),c.moveTo(5,.5*r-5),c.lineTo(15,.5*r+5),c.moveTo(15,.5*r-5),c.lineTo(5,.5*r+5),c.stroke())};G.prototype.getLabelMargins=function(c){return mxUtils.getValue(this.style,"boundedLbl",!1)&&null!=mxUtils.getValue(this.style,"umlStateConnection",null)?new mxRectangle(10*this.scale,0,0,0):null};mxCellRenderer.registerShape("umlState",G);mxUtils.extend(I, mxActor);I.prototype.size=30;I.prototype.isRoundable=function(){return!0};I.prototype.redrawPath=function(c,l,t,n,r){l=Math.max(0,Math.min(n,Math.min(r,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));t=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(c,[new mxPoint(l,0),new mxPoint(n,0),new mxPoint(n,r),new mxPoint(0,r),new mxPoint(0,l)],this.isRounded,t,!0);c.end()};mxCellRenderer.registerShape("card",I);mxUtils.extend(L,mxActor);L.prototype.size= .4;L.prototype.redrawPath=function(c,l,t,n,r){l=r*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c.moveTo(0,l/2);c.quadTo(n/4,1.4*l,n/2,l/2);c.quadTo(3*n/4,l*(1-1.4),n,l/2);c.lineTo(n,r-l/2);c.quadTo(3*n/4,r-1.4*l,n/2,r-l/2);c.quadTo(n/4,r-l*(1-1.4),0,r-l/2);c.lineTo(0,l/2);c.close();c.end()};L.prototype.getLabelBounds=function(c){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var l=mxUtils.getValue(this.style,"size",this.size),t=c.width,n=c.height;if(null==this.direction|| @@ -3325,155 +3346,155 @@ this.scale,0,0,0):null};u.prototype.getLabelMargins=function(c){if(mxUtils.getVa l,t,n,r){l="0"!=mxUtils.getValue(this.style,"fixedSize","0")?Math.max(0,Math.min(.5*n,parseFloat(mxUtils.getValue(this.style,"size",this.fixedSize)))):n*Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.style,"size",this.size))));t=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(c,[new mxPoint(0,r),new mxPoint(l,0),new mxPoint(n-l,0),new mxPoint(n,r)],this.isRounded,t,!0)};mxCellRenderer.registerShape("trapezoid",U);mxUtils.extend(Y,mxActor); Y.prototype.size=.5;Y.prototype.redrawPath=function(c,l,t,n,r){c.setFillColor(null);l=n*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));t=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(c,[new mxPoint(n,0),new mxPoint(l,0),new mxPoint(l,r/2),new mxPoint(0,r/2),new mxPoint(l,r/2),new mxPoint(l,r),new mxPoint(n,r)],this.isRounded,t,!1);c.end()};mxCellRenderer.registerShape("curlyBracket",Y);mxUtils.extend(Q,mxActor); Q.prototype.redrawPath=function(c,l,t,n,r){c.setStrokeWidth(1);c.setFillColor(this.stroke);l=n/5;c.rect(0,0,l,r);c.fillAndStroke();c.rect(2*l,0,l,r);c.fillAndStroke();c.rect(4*l,0,l,r);c.fillAndStroke()};mxCellRenderer.registerShape("parallelMarker",Q);P.prototype.moveTo=function(c,l){this.originalMoveTo.apply(this.canvas,arguments);this.lastX=c;this.lastY=l;this.firstX=c;this.firstY=l};P.prototype.close=function(){null!=this.firstX&&null!=this.firstY&&(this.lineTo(this.firstX,this.firstY),this.originalClose.apply(this.canvas, -arguments));this.originalClose.apply(this.canvas,arguments)};P.prototype.quadTo=function(c,l,t,n){this.originalQuadTo.apply(this.canvas,arguments);this.lastX=t;this.lastY=n};P.prototype.curveTo=function(c,l,t,n,r,v){this.originalCurveTo.apply(this.canvas,arguments);this.lastX=r;this.lastY=v};P.prototype.arcTo=function(c,l,t,n,r,v,x){this.originalArcTo.apply(this.canvas,arguments);this.lastX=v;this.lastY=x};P.prototype.lineTo=function(c,l){if(null!=this.lastX&&null!=this.lastY){var t=function(S){return"number"=== -typeof S?S?0>S?-1:1:S===S?0:NaN:NaN},n=Math.abs(c-this.lastX),r=Math.abs(l-this.lastY),v=Math.sqrt(n*n+r*r);if(2>v){this.originalLineTo.apply(this.canvas,arguments);this.lastX=c;this.lastY=l;return}var x=Math.round(v/10),J=this.defaultVariation;5>x&&(x=5,J/=3);var y=t(c-this.lastX)*n/x;t=t(l-this.lastY)*r/x;n/=v;r/=v;for(v=0;vS?-1:1:S===S?0:NaN:NaN},n=Math.abs(c-this.lastX),r=Math.abs(l-this.lastY),v=Math.sqrt(n*n+r*r);if(2>v){this.originalLineTo.apply(this.canvas,arguments);this.lastX=c;this.lastY=l;return}var w=Math.round(v/10),J=this.defaultVariation;5>w&&(w=5,J/=3);var y=t(c-this.lastX)*n/w;t=t(l-this.lastY)*r/w;n/=v;r/=v;for(v=0;vx+y?c.y=t.y:c.x=t.x);return mxUtils.getPerimeterPoint(J,c,t)};mxStyleRegistry.putValue("parallelogramPerimeter",mxPerimeter.ParallelogramPerimeter);mxPerimeter.TrapezoidPerimeter=function(c,l,t,n){var r="0"!=mxUtils.getValue(l.style,"fixedSize","0"),v=r?U.prototype.fixedSize:U.prototype.size;null!=l&&(v=mxUtils.getValue(l.style,"size",v));r&&(v*=l.view.scale); -var x=c.x,J=c.y,y=c.width,ba=c.height;l=null!=l?mxUtils.getValue(l.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;l==mxConstants.DIRECTION_EAST?(r=r?Math.max(0,Math.min(.5*y,v)):y*Math.max(0,Math.min(1,v)),J=[new mxPoint(x+r,J),new mxPoint(x+y-r,J),new mxPoint(x+y,J+ba),new mxPoint(x,J+ba),new mxPoint(x+r,J)]):l==mxConstants.DIRECTION_WEST?(r=r?Math.max(0,Math.min(y,v)):y*Math.max(0,Math.min(1,v)),J=[new mxPoint(x,J),new mxPoint(x+y,J),new mxPoint(x+y-r,J+ -ba),new mxPoint(x+r,J+ba),new mxPoint(x,J)]):l==mxConstants.DIRECTION_NORTH?(r=r?Math.max(0,Math.min(ba,v)):ba*Math.max(0,Math.min(1,v)),J=[new mxPoint(x,J+r),new mxPoint(x+y,J),new mxPoint(x+y,J+ba),new mxPoint(x,J+ba-r),new mxPoint(x,J+r)]):(r=r?Math.max(0,Math.min(ba,v)):ba*Math.max(0,Math.min(1,v)),J=[new mxPoint(x,J),new mxPoint(x+y,J+r),new mxPoint(x+y,J+ba-r),new mxPoint(x,J+ba),new mxPoint(x,J)]);ba=c.getCenterX();c=c.getCenterY();c=new mxPoint(ba,c);n&&(t.xx+y?c.y=t.y:c.x=t.x);return mxUtils.getPerimeterPoint(J, -c,t)};mxStyleRegistry.putValue("trapezoidPerimeter",mxPerimeter.TrapezoidPerimeter);mxPerimeter.StepPerimeter=function(c,l,t,n){var r="0"!=mxUtils.getValue(l.style,"fixedSize","0"),v=r?ia.prototype.fixedSize:ia.prototype.size;null!=l&&(v=mxUtils.getValue(l.style,"size",v));r&&(v*=l.view.scale);var x=c.x,J=c.y,y=c.width,ba=c.height,S=c.getCenterX();c=c.getCenterY();l=null!=l?mxUtils.getValue(l.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;l==mxConstants.DIRECTION_EAST? -(r=r?Math.max(0,Math.min(y,v)):y*Math.max(0,Math.min(1,v)),J=[new mxPoint(x,J),new mxPoint(x+y-r,J),new mxPoint(x+y,c),new mxPoint(x+y-r,J+ba),new mxPoint(x,J+ba),new mxPoint(x+r,c),new mxPoint(x,J)]):l==mxConstants.DIRECTION_WEST?(r=r?Math.max(0,Math.min(y,v)):y*Math.max(0,Math.min(1,v)),J=[new mxPoint(x+r,J),new mxPoint(x+y,J),new mxPoint(x+y-r,c),new mxPoint(x+y,J+ba),new mxPoint(x+r,J+ba),new mxPoint(x,c),new mxPoint(x+r,J)]):l==mxConstants.DIRECTION_NORTH?(r=r?Math.max(0,Math.min(ba,v)):ba*Math.max(0, -Math.min(1,v)),J=[new mxPoint(x,J+r),new mxPoint(S,J),new mxPoint(x+y,J+r),new mxPoint(x+y,J+ba),new mxPoint(S,J+ba-r),new mxPoint(x,J+ba),new mxPoint(x,J+r)]):(r=r?Math.max(0,Math.min(ba,v)):ba*Math.max(0,Math.min(1,v)),J=[new mxPoint(x,J),new mxPoint(S,J+r),new mxPoint(x+y,J),new mxPoint(x+y,J+ba-r),new mxPoint(S,J+ba),new mxPoint(x,J+ba-r),new mxPoint(x,J)]);S=new mxPoint(S,c);n&&(t.xx+y?S.y=t.y:S.x=t.x);return mxUtils.getPerimeterPoint(J,S,t)};mxStyleRegistry.putValue("stepPerimeter", -mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(c,l,t,n){var r="0"!=mxUtils.getValue(l.style,"fixedSize","0"),v=r?oa.prototype.fixedSize:oa.prototype.size;null!=l&&(v=mxUtils.getValue(l.style,"size",v));r&&(v*=l.view.scale);var x=c.x,J=c.y,y=c.width,ba=c.height,S=c.getCenterX();c=c.getCenterY();l=null!=l?mxUtils.getValue(l.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;l==mxConstants.DIRECTION_NORTH||l==mxConstants.DIRECTION_SOUTH?(r=r?Math.max(0, -Math.min(ba,v)):ba*Math.max(0,Math.min(1,v)),J=[new mxPoint(S,J),new mxPoint(x+y,J+r),new mxPoint(x+y,J+ba-r),new mxPoint(S,J+ba),new mxPoint(x,J+ba-r),new mxPoint(x,J+r),new mxPoint(S,J)]):(r=r?Math.max(0,Math.min(y,v)):y*Math.max(0,Math.min(1,v)),J=[new mxPoint(x+r,J),new mxPoint(x+y-r,J),new mxPoint(x+y,c),new mxPoint(x+y-r,J+ba),new mxPoint(x+r,J+ba),new mxPoint(x,c),new mxPoint(x+r,J)]);S=new mxPoint(S,c);n&&(t.xx+y?S.y=t.y:S.x=t.x);return mxUtils.getPerimeterPoint(J,S,t)};mxStyleRegistry.putValue("hexagonPerimeter2", -mxPerimeter.HexagonPerimeter2);mxUtils.extend(Pa,mxShape);Pa.prototype.size=10;Pa.prototype.paintBackground=function(c,l,t,n,r){var v=parseFloat(mxUtils.getValue(this.style,"size",this.size));c.translate(l,t);c.ellipse((n-v)/2,0,v,v);c.fillAndStroke();c.begin();c.moveTo(n/2,v);c.lineTo(n/2,r);c.end();c.stroke()};mxCellRenderer.registerShape("lollipop",Pa);mxUtils.extend(ma,mxShape);ma.prototype.size=10;ma.prototype.inset=2;ma.prototype.paintBackground=function(c,l,t,n,r){var v=parseFloat(mxUtils.getValue(this.style, -"size",this.size)),x=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;c.translate(l,t);c.begin();c.moveTo(n/2,v+x);c.lineTo(n/2,r);c.end();c.stroke();c.begin();c.moveTo((n-v)/2-x,v/2);c.quadTo((n-v)/2-x,v+x,n/2,v+x);c.quadTo((n+v)/2+x,v+x,(n+v)/2+x,v/2);c.end();c.stroke()};mxCellRenderer.registerShape("requires",ma);mxUtils.extend(Ca,mxShape);Ca.prototype.paintBackground=function(c,l,t,n,r){c.translate(l,t);c.begin();c.moveTo(0,0);c.quadTo(n,0,n,r/2);c.quadTo(n,r,0,r); -c.end();c.stroke()};mxCellRenderer.registerShape("requiredInterface",Ca);mxUtils.extend(Da,mxShape);Da.prototype.inset=2;Da.prototype.paintBackground=function(c,l,t,n,r){var v=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;c.translate(l,t);c.ellipse(0,v,n-2*v,r-2*v);c.fillAndStroke();c.begin();c.moveTo(n/2,0);c.quadTo(n,0,n,r/2);c.quadTo(n,r,n/2,r);c.end();c.stroke()};mxCellRenderer.registerShape("providedRequiredInterface",Da);mxUtils.extend(Ga,mxCylinder);Ga.prototype.jettyWidth= -20;Ga.prototype.jettyHeight=10;Ga.prototype.redrawPath=function(c,l,t,n,r,v){var x=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));l=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));t=x/2;x=t+x/2;var J=Math.min(l,r-l),y=Math.min(J+2*l,r-l);v?(c.moveTo(t,J),c.lineTo(x,J),c.lineTo(x,J+l),c.lineTo(t,J+l),c.moveTo(t,y),c.lineTo(x,y),c.lineTo(x,y+l),c.lineTo(t,y+l)):(c.moveTo(t,0),c.lineTo(n,0),c.lineTo(n,r),c.lineTo(t,r),c.lineTo(t,y+l),c.lineTo(0,y+l),c.lineTo(0, -y),c.lineTo(t,y),c.lineTo(t,J+l),c.lineTo(0,J+l),c.lineTo(0,J),c.lineTo(t,J),c.close());c.end()};mxCellRenderer.registerShape("module",Ga);mxUtils.extend(Ia,mxCylinder);Ia.prototype.jettyWidth=32;Ia.prototype.jettyHeight=12;Ia.prototype.redrawPath=function(c,l,t,n,r,v){var x=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));l=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));t=x/2;x=t+x/2;var J=.3*r-l/2,y=.7*r-l/2;v?(c.moveTo(t,J),c.lineTo(x,J),c.lineTo(x, -J+l),c.lineTo(t,J+l),c.moveTo(t,y),c.lineTo(x,y),c.lineTo(x,y+l),c.lineTo(t,y+l)):(c.moveTo(t,0),c.lineTo(n,0),c.lineTo(n,r),c.lineTo(t,r),c.lineTo(t,y+l),c.lineTo(0,y+l),c.lineTo(0,y),c.lineTo(t,y),c.lineTo(t,J+l),c.lineTo(0,J+l),c.lineTo(0,J),c.lineTo(t,J),c.close());c.end()};mxCellRenderer.registerShape("component",Ia);mxUtils.extend(Ha,mxRectangleShape);Ha.prototype.paintForeground=function(c,l,t,n,r){var v=n/2,x=r/2,J=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/ -2;c.begin();this.addPoints(c,[new mxPoint(l+v,t),new mxPoint(l+n,t+x),new mxPoint(l+v,t+r),new mxPoint(l,t+x)],this.isRounded,J,!0);c.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("associativeEntity",Ha);mxUtils.extend(Ja,mxDoubleEllipse);Ja.prototype.outerStroke=!0;Ja.prototype.paintVertexShape=function(c,l,t,n,r){var v=Math.min(4,Math.min(n/5,r/5));0w+y?c.y=t.y:c.x=t.x);return mxUtils.getPerimeterPoint(J,c,t)};mxStyleRegistry.putValue("parallelogramPerimeter",mxPerimeter.ParallelogramPerimeter);mxPerimeter.TrapezoidPerimeter=function(c,l,t,n){var r="0"!=mxUtils.getValue(l.style,"fixedSize","0"),v=r?U.prototype.fixedSize:U.prototype.size;null!=l&&(v=mxUtils.getValue(l.style,"size",v));r&&(v*=l.view.scale); +var w=c.x,J=c.y,y=c.width,ba=c.height;l=null!=l?mxUtils.getValue(l.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;l==mxConstants.DIRECTION_EAST?(r=r?Math.max(0,Math.min(.5*y,v)):y*Math.max(0,Math.min(1,v)),J=[new mxPoint(w+r,J),new mxPoint(w+y-r,J),new mxPoint(w+y,J+ba),new mxPoint(w,J+ba),new mxPoint(w+r,J)]):l==mxConstants.DIRECTION_WEST?(r=r?Math.max(0,Math.min(y,v)):y*Math.max(0,Math.min(1,v)),J=[new mxPoint(w,J),new mxPoint(w+y,J),new mxPoint(w+y-r,J+ +ba),new mxPoint(w+r,J+ba),new mxPoint(w,J)]):l==mxConstants.DIRECTION_NORTH?(r=r?Math.max(0,Math.min(ba,v)):ba*Math.max(0,Math.min(1,v)),J=[new mxPoint(w,J+r),new mxPoint(w+y,J),new mxPoint(w+y,J+ba),new mxPoint(w,J+ba-r),new mxPoint(w,J+r)]):(r=r?Math.max(0,Math.min(ba,v)):ba*Math.max(0,Math.min(1,v)),J=[new mxPoint(w,J),new mxPoint(w+y,J+r),new mxPoint(w+y,J+ba-r),new mxPoint(w,J+ba),new mxPoint(w,J)]);ba=c.getCenterX();c=c.getCenterY();c=new mxPoint(ba,c);n&&(t.xw+y?c.y=t.y:c.x=t.x);return mxUtils.getPerimeterPoint(J, +c,t)};mxStyleRegistry.putValue("trapezoidPerimeter",mxPerimeter.TrapezoidPerimeter);mxPerimeter.StepPerimeter=function(c,l,t,n){var r="0"!=mxUtils.getValue(l.style,"fixedSize","0"),v=r?ia.prototype.fixedSize:ia.prototype.size;null!=l&&(v=mxUtils.getValue(l.style,"size",v));r&&(v*=l.view.scale);var w=c.x,J=c.y,y=c.width,ba=c.height,S=c.getCenterX();c=c.getCenterY();l=null!=l?mxUtils.getValue(l.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;l==mxConstants.DIRECTION_EAST? +(r=r?Math.max(0,Math.min(y,v)):y*Math.max(0,Math.min(1,v)),J=[new mxPoint(w,J),new mxPoint(w+y-r,J),new mxPoint(w+y,c),new mxPoint(w+y-r,J+ba),new mxPoint(w,J+ba),new mxPoint(w+r,c),new mxPoint(w,J)]):l==mxConstants.DIRECTION_WEST?(r=r?Math.max(0,Math.min(y,v)):y*Math.max(0,Math.min(1,v)),J=[new mxPoint(w+r,J),new mxPoint(w+y,J),new mxPoint(w+y-r,c),new mxPoint(w+y,J+ba),new mxPoint(w+r,J+ba),new mxPoint(w,c),new mxPoint(w+r,J)]):l==mxConstants.DIRECTION_NORTH?(r=r?Math.max(0,Math.min(ba,v)):ba*Math.max(0, +Math.min(1,v)),J=[new mxPoint(w,J+r),new mxPoint(S,J),new mxPoint(w+y,J+r),new mxPoint(w+y,J+ba),new mxPoint(S,J+ba-r),new mxPoint(w,J+ba),new mxPoint(w,J+r)]):(r=r?Math.max(0,Math.min(ba,v)):ba*Math.max(0,Math.min(1,v)),J=[new mxPoint(w,J),new mxPoint(S,J+r),new mxPoint(w+y,J),new mxPoint(w+y,J+ba-r),new mxPoint(S,J+ba),new mxPoint(w,J+ba-r),new mxPoint(w,J)]);S=new mxPoint(S,c);n&&(t.xw+y?S.y=t.y:S.x=t.x);return mxUtils.getPerimeterPoint(J,S,t)};mxStyleRegistry.putValue("stepPerimeter", +mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(c,l,t,n){var r="0"!=mxUtils.getValue(l.style,"fixedSize","0"),v=r?na.prototype.fixedSize:na.prototype.size;null!=l&&(v=mxUtils.getValue(l.style,"size",v));r&&(v*=l.view.scale);var w=c.x,J=c.y,y=c.width,ba=c.height,S=c.getCenterX();c=c.getCenterY();l=null!=l?mxUtils.getValue(l.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;l==mxConstants.DIRECTION_NORTH||l==mxConstants.DIRECTION_SOUTH?(r=r?Math.max(0, +Math.min(ba,v)):ba*Math.max(0,Math.min(1,v)),J=[new mxPoint(S,J),new mxPoint(w+y,J+r),new mxPoint(w+y,J+ba-r),new mxPoint(S,J+ba),new mxPoint(w,J+ba-r),new mxPoint(w,J+r),new mxPoint(S,J)]):(r=r?Math.max(0,Math.min(y,v)):y*Math.max(0,Math.min(1,v)),J=[new mxPoint(w+r,J),new mxPoint(w+y-r,J),new mxPoint(w+y,c),new mxPoint(w+y-r,J+ba),new mxPoint(w+r,J+ba),new mxPoint(w,c),new mxPoint(w+r,J)]);S=new mxPoint(S,c);n&&(t.xw+y?S.y=t.y:S.x=t.x);return mxUtils.getPerimeterPoint(J,S,t)};mxStyleRegistry.putValue("hexagonPerimeter2", +mxPerimeter.HexagonPerimeter2);mxUtils.extend(Pa,mxShape);Pa.prototype.size=10;Pa.prototype.paintBackground=function(c,l,t,n,r){var v=parseFloat(mxUtils.getValue(this.style,"size",this.size));c.translate(l,t);c.ellipse((n-v)/2,0,v,v);c.fillAndStroke();c.begin();c.moveTo(n/2,v);c.lineTo(n/2,r);c.end();c.stroke()};mxCellRenderer.registerShape("lollipop",Pa);mxUtils.extend(la,mxShape);la.prototype.size=10;la.prototype.inset=2;la.prototype.paintBackground=function(c,l,t,n,r){var v=parseFloat(mxUtils.getValue(this.style, +"size",this.size)),w=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;c.translate(l,t);c.begin();c.moveTo(n/2,v+w);c.lineTo(n/2,r);c.end();c.stroke();c.begin();c.moveTo((n-v)/2-w,v/2);c.quadTo((n-v)/2-w,v+w,n/2,v+w);c.quadTo((n+v)/2+w,v+w,(n+v)/2+w,v/2);c.end();c.stroke()};mxCellRenderer.registerShape("requires",la);mxUtils.extend(Ba,mxShape);Ba.prototype.paintBackground=function(c,l,t,n,r){c.translate(l,t);c.begin();c.moveTo(0,0);c.quadTo(n,0,n,r/2);c.quadTo(n,r,0,r); +c.end();c.stroke()};mxCellRenderer.registerShape("requiredInterface",Ba);mxUtils.extend(Ca,mxShape);Ca.prototype.inset=2;Ca.prototype.paintBackground=function(c,l,t,n,r){var v=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;c.translate(l,t);c.ellipse(0,v,n-2*v,r-2*v);c.fillAndStroke();c.begin();c.moveTo(n/2,0);c.quadTo(n,0,n,r/2);c.quadTo(n,r,n/2,r);c.end();c.stroke()};mxCellRenderer.registerShape("providedRequiredInterface",Ca);mxUtils.extend(Fa,mxCylinder);Fa.prototype.jettyWidth= +20;Fa.prototype.jettyHeight=10;Fa.prototype.redrawPath=function(c,l,t,n,r,v){var w=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));l=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));t=w/2;w=t+w/2;var J=Math.min(l,r-l),y=Math.min(J+2*l,r-l);v?(c.moveTo(t,J),c.lineTo(w,J),c.lineTo(w,J+l),c.lineTo(t,J+l),c.moveTo(t,y),c.lineTo(w,y),c.lineTo(w,y+l),c.lineTo(t,y+l)):(c.moveTo(t,0),c.lineTo(n,0),c.lineTo(n,r),c.lineTo(t,r),c.lineTo(t,y+l),c.lineTo(0,y+l),c.lineTo(0, +y),c.lineTo(t,y),c.lineTo(t,J+l),c.lineTo(0,J+l),c.lineTo(0,J),c.lineTo(t,J),c.close());c.end()};mxCellRenderer.registerShape("module",Fa);mxUtils.extend(Ia,mxCylinder);Ia.prototype.jettyWidth=32;Ia.prototype.jettyHeight=12;Ia.prototype.redrawPath=function(c,l,t,n,r,v){var w=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));l=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));t=w/2;w=t+w/2;var J=.3*r-l/2,y=.7*r-l/2;v?(c.moveTo(t,J),c.lineTo(w,J),c.lineTo(w, +J+l),c.lineTo(t,J+l),c.moveTo(t,y),c.lineTo(w,y),c.lineTo(w,y+l),c.lineTo(t,y+l)):(c.moveTo(t,0),c.lineTo(n,0),c.lineTo(n,r),c.lineTo(t,r),c.lineTo(t,y+l),c.lineTo(0,y+l),c.lineTo(0,y),c.lineTo(t,y),c.lineTo(t,J+l),c.lineTo(0,J+l),c.lineTo(0,J),c.lineTo(t,J),c.close());c.end()};mxCellRenderer.registerShape("component",Ia);mxUtils.extend(Ha,mxRectangleShape);Ha.prototype.paintForeground=function(c,l,t,n,r){var v=n/2,w=r/2,J=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/ +2;c.begin();this.addPoints(c,[new mxPoint(l+v,t),new mxPoint(l+n,t+w),new mxPoint(l+v,t+r),new mxPoint(l,t+w)],this.isRounded,J,!0);c.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("associativeEntity",Ha);mxUtils.extend(Ja,mxDoubleEllipse);Ja.prototype.outerStroke=!0;Ja.prototype.paintVertexShape=function(c,l,t,n,r){var v=Math.min(4,Math.min(n/5,r/5));0=2*n&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};mxRectangleShape.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(1, 0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0), -new mxConnectionConstraint(new mxPoint(1,1),!0)];mxEllipse.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1,.5))];wa.prototype.constraints=mxRectangleShape.prototype.constraints; +new mxConnectionConstraint(new mxPoint(1,1),!0)];mxEllipse.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1,.5))];va.prototype.constraints=mxRectangleShape.prototype.constraints; mxImageShape.prototype.constraints=mxRectangleShape.prototype.constraints;mxSwimlane.prototype.constraints=mxRectangleShape.prototype.constraints;qa.prototype.constraints=mxRectangleShape.prototype.constraints;mxLabel.prototype.constraints=mxRectangleShape.prototype.constraints;k.prototype.getConstraints=function(c,l,t){c=[];var n=Math.max(0,Math.min(l,Math.min(t,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0, 0),!1,null,.5*(l-n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-.5*n,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,.5*(t+n)));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0, .5),!1));l>=2*n&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};I.prototype.getConstraints=function(c,l,t){c=[];var n=Math.max(0,Math.min(l,Math.min(t,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*n,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0, @@ -3517,9 +3538,9 @@ function(c,l,t){c=[];var n=Math.max(0,Math.min(l,parseFloat(mxUtils.getValue(thi 0),!1,null,n,r)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+n),r))):(c.push(new mxConnectionConstraint(new mxPoint(1,0),!1)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-.5*n,0)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,0)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,r)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-n),r)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,r));c.push(new mxConnectionConstraint(new mxPoint(0, 0),!1,null,l,.25*(t-r)+r));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,.5*(t-r)+r));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,.75*(t-r)+r));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,r));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.25*(t-r)+r));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(t-r)+r));c.push(new mxConnectionConstraint(new mxPoint(0, 0),!1,null,0,.75*(t-r)+r));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,t));c.push(new mxConnectionConstraint(new mxPoint(.25,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.75,1),!1));return c};cb.prototype.constraints=mxRectangleShape.prototype.constraints;eb.prototype.constraints=mxRectangleShape.prototype.constraints;N.prototype.constraints=mxEllipse.prototype.constraints;R.prototype.constraints=mxEllipse.prototype.constraints; -X.prototype.constraints=mxEllipse.prototype.constraints;Ma.prototype.constraints=mxEllipse.prototype.constraints;Ya.prototype.constraints=mxRectangleShape.prototype.constraints;Na.prototype.constraints=mxRectangleShape.prototype.constraints;za.prototype.getConstraints=function(c,l,t){c=[];var n=Math.min(l,t/2),r=Math.min(l-n,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*l);c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1,null));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,r,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(r+l-n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,0));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1,null));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(r+l-n),t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,r,t));return c};Ga.prototype.getConstraints=function(c,l,t){l=parseFloat(mxUtils.getValue(c, -"jettyWidth",Ga.prototype.jettyWidth))/2;c=parseFloat(mxUtils.getValue(c,"jettyHeight",Ga.prototype.jettyHeight));var n=[new mxConnectionConstraint(new mxPoint(0,0),!1,null,l),new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1, +X.prototype.constraints=mxEllipse.prototype.constraints;Ma.prototype.constraints=mxEllipse.prototype.constraints;Ya.prototype.constraints=mxRectangleShape.prototype.constraints;Na.prototype.constraints=mxRectangleShape.prototype.constraints;Ga.prototype.getConstraints=function(c,l,t){c=[];var n=Math.min(l,t/2),r=Math.min(l-n,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*l);c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1,null));c.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,r,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(r+l-n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,0));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1,null));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(r+l-n),t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,r,t));return c};Fa.prototype.getConstraints=function(c,l,t){l=parseFloat(mxUtils.getValue(c, +"jettyWidth",Fa.prototype.jettyWidth))/2;c=parseFloat(mxUtils.getValue(c,"jettyHeight",Fa.prototype.jettyHeight));var n=[new mxConnectionConstraint(new mxPoint(0,0),!1,null,l),new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1, .75),!0),new mxConnectionConstraint(new mxPoint(0,1),!1,null,l),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,Math.min(t-.5*c,1.5*c)),new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,Math.min(t-.5*c,3.5*c))];t>5*c&&n.push(new mxConnectionConstraint(new mxPoint(0,.75),!1,null,l));t>8*c&&n.push(new mxConnectionConstraint(new mxPoint(0, .5),!1,null,l));t>15*c&&n.push(new mxConnectionConstraint(new mxPoint(0,.25),!1,null,l));return n};B.prototype.constraints=mxRectangleShape.prototype.constraints;F.prototype.constraints=mxRectangleShape.prototype.constraints;mxCylinder.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.15,.05),!1),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.85,.05),!1),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0, .5),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1,.3),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.7),!0),new mxConnectionConstraint(new mxPoint(.15,.95),!1),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.85,.95),!1)];ca.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.1),!1),new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.75, @@ -3542,44 +3563,44 @@ X.prototype.constraints=mxEllipse.prototype.constraints;Ma.prototype.constraints function(c,l,t){c=[];var n=t*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth)))),r=l*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));n=(t-n)/2;c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-r),n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-r,0));c.push(new mxConnectionConstraint(new mxPoint(1, .5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-r,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-r),t-n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,t-n));return c};ib.prototype.getConstraints=function(c,l,t){c=[];var n=t*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",ab.prototype.arrowWidth)))),r=l*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",ab.prototype.arrowSize))));n=(t-n)/2;c.push(new mxConnectionConstraint(new mxPoint(0, .5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,r,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*l,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-r,0));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-r,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*l,t-n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,r,t));return c};ya.prototype.getConstraints= -function(c,l,t){c=[];var n=Math.min(t,l),r=Math.max(0,Math.min(n,n*parseFloat(mxUtils.getValue(this.style,"size",this.size))));n=(t-r)/2;var v=n+r,x=(l-r)/2;r=x+r;c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,x,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,x,0));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,r,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,r,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,r,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,x,t-.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,x,t));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,r,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,r,t-.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,r,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+r),n));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,l,n));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+r),v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,x,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*x,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,n));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,0,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*x,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,x,n));return c};la.prototype.constraints=null;p.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.25),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7, -.9),!1)];A.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.175,.25),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.175,.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7,.9),!1)];Ca.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];Da.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0, +function(c,l,t){c=[];var n=Math.min(t,l),r=Math.max(0,Math.min(n,n*parseFloat(mxUtils.getValue(this.style,"size",this.size))));n=(t-r)/2;var v=n+r,w=(l-r)/2;r=w+r;c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,w,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,w,0));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,r,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,r,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,r,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,w,t-.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,w,t));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,r,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,r,t-.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,r,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+r),n));c.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,l,n));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+r),v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,w,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*w,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,n));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,0,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*w,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,w,n));return c};oa.prototype.constraints=null;q.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.25),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7, +.9),!1)];A.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.175,.25),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.175,.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7,.9),!1)];Ba.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];Ca.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0, .5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)]})();function Actions(a){this.editorUi=a;this.actions={};this.init()} -Actions.prototype.init=function(){function a(k){d.escape();k=d.deleteCells(d.getDeletableCells(d.getSelectionCells()),k);null!=k&&d.setSelectionCells(k)}function b(){if(!d.isSelectionEmpty()){d.getModel().beginUpdate();try{for(var k=d.getSelectionCells(),u=0;uMath.abs(k-d.view.scale)&&5>Math.abs(u-d.container.scrollLeft)&&5>Math.abs(w-d.container.scrollTop)&&z==d.view.translate.x&&C==d.view.translate.y&&f.actions.get("fitWindow").funct()},null,null,"Enter"));this.addAction("keyPressEnter",function(){d.isSelectionEmpty()?f.actions.get("smartFit").funct():d.isEnabled()&& -d.startEditingAtCell()});this.addAction("import...",function(){window.openNew=!1;window.openKey="import";window.openFile=new OpenFile(mxUtils.bind(this,function(){f.hideDialog()}));window.openFile.setConsumer(mxUtils.bind(this,function(k,u){try{var w=mxUtils.parseXml(k);h.graph.setSelectionCells(h.graph.importGraphModel(w.documentElement))}catch(z){mxUtils.alert(mxResources.get("invalidOrMissingFile")+": "+z.message)}}));f.showDialog((new OpenDialog(this)).container,320,220,!0,!0,function(){window.openFile= +function(){d.popupMenuHandler.hideMenu();var k=d.view.scale,u=d.container.scrollLeft,x=d.container.scrollTop,z=d.view.translate.x,C=d.view.translate.y;f.actions.get("resetView").funct();1E-5>Math.abs(k-d.view.scale)&&5>Math.abs(u-d.container.scrollLeft)&&5>Math.abs(x-d.container.scrollTop)&&z==d.view.translate.x&&C==d.view.translate.y&&f.actions.get("fitWindow").funct()},null,null,"Enter"));this.addAction("keyPressEnter",function(){d.isSelectionEmpty()?f.actions.get("smartFit").funct():d.isEnabled()&& +d.startEditingAtCell()});this.addAction("import...",function(){window.openNew=!1;window.openKey="import";window.openFile=new OpenFile(mxUtils.bind(this,function(){f.hideDialog()}));window.openFile.setConsumer(mxUtils.bind(this,function(k,u){try{var x=mxUtils.parseXml(k);h.graph.setSelectionCells(h.graph.importGraphModel(x.documentElement))}catch(z){mxUtils.alert(mxResources.get("invalidOrMissingFile")+": "+z.message)}}));f.showDialog((new OpenDialog(this)).container,320,220,!0,!0,function(){window.openFile= null})}).isEnabled=g;this.addAction("save",function(){f.saveFile(!1)},null,null,Editor.ctrlKey+"+S").isEnabled=g;this.addAction("saveAs...",function(){f.saveFile(!0)},null,null,Editor.ctrlKey+"+Shift+S");this.addAction("export...",function(){f.showDialog((new ExportDialog(f)).container,300,340,!0,!0)});this.addAction("editDiagram...",function(){var k=new EditDiagramDialog(f);f.showDialog(k.container,620,420,!0,!1);k.init()}).isEnabled=g;this.addAction("pageSetup...",function(){f.showDialog((new PageSetupDialog(f)).container, 320,240,!0,!0)}).isEnabled=g;this.addAction("print...",function(){f.showPrintDialog()},null,"sprite-print",Editor.ctrlKey+"+P");this.addAction("preview",function(){mxUtils.show(d,null,10,10)});this.addAction("undo",function(){f.undo()},null,"sprite-undo",Editor.ctrlKey+"+Z");this.addAction("redo",function(){f.redo()},null,"sprite-redo",mxClient.IS_WIN?Editor.ctrlKey+"+Y":Editor.ctrlKey+"+Shift+Z");this.addAction("cut",function(){var k=null;try{k=f.copyXml(),null!=k&&d.removeCells(k,!1)}catch(u){}try{null== k&&mxClipboard.cut(d)}catch(u){f.handleError(u)}},null,"sprite-cut",Editor.ctrlKey+"+X");this.addAction("copy",function(){try{f.copyXml()}catch(k){}try{mxClipboard.copy(d)}catch(k){f.handleError(k)}},null,"sprite-copy",Editor.ctrlKey+"+C");this.addAction("paste",function(){if(d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())){var k=!1;try{Editor.enableNativeCipboard&&(f.readGraphModelFromClipboard(function(u){if(null!=u){d.getModel().beginUpdate();try{f.pasteXml(u,!0)}finally{d.getModel().endUpdate()}}else mxClipboard.paste(d)}), k=!0)}catch(u){}k||mxClipboard.paste(d)}},!1,"sprite-paste",Editor.ctrlKey+"+V");this.addAction("pasteHere",function(k){function u(z){if(null!=z){for(var C=!0,E=0;E"));d.cellLabelChanged(state.cell,Graph.sanitizeHtml(C));d.setCellStyles("html",k,[u[w]])}}f.fireEvent(new mxEventObject("styleChanged", +function(){if(d.isEnabled()){var k=d.getEditableCells(d.getSelectionCells());d.model.beginUpdate();try{var u=d.ungroupCells();if(null!=k)for(var x=0;x"));d.cellLabelChanged(state.cell,Graph.sanitizeHtml(C));d.setCellStyles("html",k,[u[x]])}}f.fireEvent(new mxEventObject("styleChanged", "keys",["html"],"values",[null!=k?k:"0"],"cells",u))}finally{d.getModel().endUpdate()}});this.addAction("wordWrap",function(){var k=d.getView().getState(d.getSelectionCell()),u="wrap";d.stopEditing();null!=k&&"wrap"==k.style[mxConstants.STYLE_WHITE_SPACE]&&(u=null);d.setCellStyles(mxConstants.STYLE_WHITE_SPACE,u)});this.addAction("rotation",function(){var k="0",u=d.getView().getState(d.getSelectionCell());null!=u&&(k=u.style[mxConstants.STYLE_ROTATION]||k);k=new FilenameDialog(f,k,mxResources.get("apply"), -function(w){null!=w&&0mxUtils.indexOf(this.customFonts,m)&&(this.customFonts.push(m),this.editorUi.fireEvent(new mxEventObject("customFontsChanged")))}))})));this.put("formatBlock",new Menu(mxUtils.bind(this,function(f,h){function d(g,m){return f.addItem(g,null,mxUtils.bind(this,function(){null!=b.cellEditor.textarea&&(b.cellEditor.textarea.focus(),document.execCommand("formatBlock",!1,"<"+ m+">"))}),h)}d(mxResources.get("normal"),"p");d("","h1").firstChild.nextSibling.innerHTML='

'+mxResources.get("heading")+" 1

";d("","h2").firstChild.nextSibling.innerHTML='

'+mxResources.get("heading")+" 2

";d("","h3").firstChild.nextSibling.innerHTML='

'+mxResources.get("heading")+" 3

";d("","h4").firstChild.nextSibling.innerHTML='

'+mxResources.get("heading")+" 4

";d("","h5").firstChild.nextSibling.innerHTML= '
'+mxResources.get("heading")+" 5
";d("","h6").firstChild.nextSibling.innerHTML='
'+mxResources.get("heading")+" 6
";d("","pre").firstChild.nextSibling.innerHTML='
'+mxResources.get("formatted")+"
";d("","blockquote").firstChild.nextSibling.innerHTML='
'+mxResources.get("blockquote")+"
"})));this.put("fontSize",new Menu(mxUtils.bind(this,function(f,h){var d= -[6,8,9,10,11,12,14,18,24,36,48,72];0>mxUtils.indexOf(d,this.defaultFontSize)&&(d.push(this.defaultFontSize),d.sort(function(w,z){return w-z}));for(var g=mxUtils.bind(this,function(w){if(null!=b.cellEditor.textarea){document.execCommand("fontSize",!1,"3");for(var z=b.cellEditor.textarea.getElementsByTagName("font"),C=0;CmxUtils.indexOf(d,this.customFontSizes[q])&&(m(this.customFontSizes[q]),k++);0mxUtils.indexOf(d,this.defaultFontSize)&&(d.push(this.defaultFontSize),d.sort(function(x,z){return x-z}));for(var g=mxUtils.bind(this,function(x){if(null!=b.cellEditor.textarea){document.execCommand("fontSize",!1,"3");for(var z=b.cellEditor.textarea.getElementsByTagName("font"),C=0;CmxUtils.indexOf(d,this.customFontSizes[p])&&(m(this.customFontSizes[p]),k++);0"];for(var T=0;T");for(var K=0;K
");I.push("")}I.push("");E=I.join("");L.call(G,E);E=G.cellEditor.textarea.getElementsByTagName("table");if(E.length==C.length+1)for(L=E.length-1;0<=L;L--)if(0==L||E[L]!=C[L-1]){G.selectNode(E[L].rows[0].cells[0]);break}}});var d=this.editorUi.editor.graph,g=null,m=null;null==e&&(a.div.className+=" geToolbarMenu", -a.labels=!1);a=a.addItem("",null,null,e,null,null,null,!0);a.firstChild.style.fontSize=Menus.prototype.defaultFontSize+"px";e=a.getElementsByTagName("td");1';this.appendDropDownImageHtml(a);b=a.getElementsByTagName("div")[0];b.style.marginLeft=h+"px";b.style.marginTop=d+"px";EditorUi.compactUi&&(a.getElementsByTagName("img")[0].style.left="24px",a.getElementsByTagName("img")[0].style.top="5px",a.style.width= -e-10+"px")};Toolbar.prototype.setFontName=function(a){if(null!=this.fontMenu){this.fontMenu.innerText="";var b=document.createElement("div");b.style.display="inline-block";b.style.overflow="hidden";b.style.textOverflow="ellipsis";b.style.maxWidth="66px";mxUtils.write(b,a);this.fontMenu.appendChild(b);this.appendDropDownImageHtml(this.fontMenu)}}; +Menu.prototype.setEnabled=function(a){this.enabled!=a&&(this.enabled=a,this.fireEvent(new mxEventObject("stateChanged")))};Menu.prototype.execute=function(a,b){this.funct(a,b)};EditorUi.prototype.createMenus=function(){return new Menus(this)};function Toolbar(a,b){this.editorUi=a;this.container=b;this.staticElements=[];this.init();this.gestureHandler=mxUtils.bind(this,function(e){null!=this.editorUi.currentMenu&&mxEvent.getSource(e)!=this.editorUi.currentMenu.div&&this.hideMenu()});mxEvent.addGestureListeners(document,this.gestureHandler)}Toolbar.prototype.selectedBackground="#d0d0d0";Toolbar.prototype.unselectedBackground="none";Toolbar.prototype.staticElements=null; +Toolbar.prototype.init=function(){var a=screen.width;a-=740d.div.clientHeight&&(d.div.style.width="40px");d.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(d, -arguments);this.editorUi.resetCurrentMenu();d.destroy()});var q=mxUtils.getOffset(a);d.popup(q.x,q.y+a.offsetHeight,null,m);this.editorUi.setCurrentMenu(d,a)}g=!0;mxEvent.consume(m)}));mxEvent.addListener(a,mxClient.IS_POINTER?"pointerdown":"mousedown",mxUtils.bind(this,function(m){g=null==d||null==d.div||null==d.div.parentNode;m.preventDefault()}))}};Toolbar.prototype.destroy=function(){null!=this.gestureHandler&&(mxEvent.removeGestureListeners(document,this.gestureHandler),this.gestureHandler=null)};var OpenDialog=function(){var a=document.createElement("iframe");a.style.backgroundColor="transparent";a.allowTransparency="true";a.style.borderStyle="none";a.style.borderWidth="0px";a.style.overflow="hidden";a.style.maxWidth="100%";a.frameBorder="0";a.setAttribute("width",(Editor.useLocalStorage?640:320)+"px");a.setAttribute("height",(Editor.useLocalStorage?480:220)+"px");a.setAttribute("src",OPEN_FORM);this.container=a},ColorPicker=function(){function a(E,D,G){if(null==E)return[G,G,G];var I=Math.floor(E), +arguments);this.editorUi.resetCurrentMenu();d.destroy()});var p=mxUtils.getOffset(a);d.popup(p.x,p.y+a.offsetHeight,null,m);this.editorUi.setCurrentMenu(d,a)}g=!0;mxEvent.consume(m)}));mxEvent.addListener(a,mxClient.IS_POINTER?"pointerdown":"mousedown",mxUtils.bind(this,function(m){g=null==d||null==d.div||null==d.div.parentNode;m.preventDefault()}))}};Toolbar.prototype.destroy=function(){null!=this.gestureHandler&&(mxEvent.removeGestureListeners(document,this.gestureHandler),this.gestureHandler=null)};var OpenDialog=function(){var a=document.createElement("iframe");a.style.backgroundColor="transparent";a.allowTransparency="true";a.style.borderStyle="none";a.style.borderWidth="0px";a.style.overflow="hidden";a.style.maxWidth="100%";a.frameBorder="0";a.setAttribute("width",(Editor.useLocalStorage?640:320)+"px");a.setAttribute("height",(Editor.useLocalStorage?480:220)+"px");a.setAttribute("src",OPEN_FORM);this.container=a},ColorPicker=function(){function a(E,D,G){if(null==E)return[G,G,G];var I=Math.floor(E), L=G*(1-D);E=G*(1-D*(I%2?E-I:1-(E-I)));switch(I){case 6:case 0:return[G,E,L];case 1:return[E,G,L];case 2:return[L,G,E];case 3:return[L,E,G];case 4:return[E,L,G];case 5:return[G,L,E]}}mxEventSource.call(this);var b=document.createElement("div");b.style.overflow="visible";b.style.position="relative";b.style.top="0px";b.style.left="0px";b.style.width="230px";b.style.height="114px";var e=document.createElement("div");e.style.border="1px solid light-dark(black, white)";e.style.backgroundImage="url("+this.hsImage+ ")";e.style.position="absolute";e.style.overflow="hidden";e.style.cursor="crosshair";e.style.width="181px";e.style.height="101px";e.style.left="6px";e.style.top="4px";var f=document.createElement("div");f.style.background="url("+this.crossImage+")";f.style.pointerEvents="none";f.style.position="absolute";f.style.width="15px";f.style.height="15px";f.style.left="-8px";f.style.top="-8px";var h=[0,0,1];e.appendChild(f);b.appendChild(e);sliderBox=document.createElement("div");sliderBox.style.position= -"absolute";sliderBox.style.cursor="pointer";sliderBox.style.width="38px";sliderBox.style.height="110px";sliderBox.style.left="199px";sliderBox.style.top="4px";var d=document.createElement("div");d.style.border="1px solid light-dark(black, white)";d.style.pointerEvents="none";d.style.overflow="hidden";d.style.position="absolute";d.style.width="16px";d.style.height="101px";d.style.left="9px";d.style.top="0px";var g=!1,m=!1,q=mxUtils.bind(this,function(E){var D=Math.round(100*(1-h[1]));f.style.left= +"absolute";sliderBox.style.cursor="pointer";sliderBox.style.width="38px";sliderBox.style.height="110px";sliderBox.style.left="199px";sliderBox.style.top="4px";var d=document.createElement("div");d.style.border="1px solid light-dark(black, white)";d.style.pointerEvents="none";d.style.overflow="hidden";d.style.position="absolute";d.style.width="16px";d.style.height="101px";d.style.left="9px";d.style.top="0px";var g=!1,m=!1,p=mxUtils.bind(this,function(E){var D=Math.round(100*(1-h[1]));f.style.left= Math.round(h[0]/6*180)-8+"px";f.style.top=D-8+"px";D=d.childNodes;for(var G=a(h[0],h[1],1),I=0;IG&&(G=0);6E&&(E=0);1D&&(D=0);1k;k+=4)u=document.createElement("div"),u.style.height= +mxUtils.rgba2hex(D)))}),k=mxUtils.bind(this,function(E){0==h[2]&&(h[2]=1);g=!0;x(E)}),u=mxUtils.bind(this,function(E){m=!0;x(E)}),x=mxUtils.bind(this,function(E){if(g){var D=e.getBoundingClientRect(),G=mxEvent.getClientX(E)-D.left;E=mxEvent.getClientY(E)-D.top;f.style.left=G-8+"px";f.style.top=E-8+"px";G*=6/180;E=1-E/100;D=void 0;0>G&&(G=0);6E&&(E=0);1D&&(D=0);1k;k+=4)u=document.createElement("div"),u.style.height= "4px",u.style.pointerEvents="none",d.appendChild(u);b.appendChild(d);var C=document.createElement("div");C.style.background="url("+this.arrowImage+")";C.style.position="absolute";C.style.pointerEvents="none";C.style.width="7px";C.style.height="11px";C.style.left="2px";C.style.top="-3px";sliderBox.appendChild(C);sliderBox.appendChild(d);b.appendChild(sliderBox);this.fromString=function(E,D){D=null!=D?D:!1;if(null==E||""==E||mxUtils.isVarColor(E)||E==mxConstants.NONE)E="#ffffff",D=!0;var G=mxUtils.parseColor(E); -E=G.r/255;var I=G.g/255,L=G.b/255,T=Math.min(Math.min(E,I),L);G=Math.max(Math.max(E,I),L);var K=G-T;0===K?E=[null,0,G]:(E=E===T?3+(L-I)/K:I===T?5+(E-L)/K:1+(I-E)/K,E=[6===E?0:E,K/G,G]);null!=E[0]&&(h[0]=E[0]);0!=E[2]&&(h[1]=E[1]);h[2]=E[2];q(D)};this.fromString("#ffffff");this.div=b};mxUtils.extend(ColorPicker,mxEventSource);ColorPicker.prototype.hsImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALUAAABlCAIAAACEDzXRAAAKQ0lEQVR42u2d23IjKwxFBeRh5v8/9uQlzXlI2gGELoCEm6pxubp6PI69WoV3C20uIQPAH4A/AH/p41/pDcTxP4BPGDtq3vYJGPpv8craeRdo/fyTI8ZhHnodOGgcV/3rnx8QI0SABO2xfAbiCfVR8Wj+CD8jenbRJNyGOxLoAaH1iLu4EUEHAv1+MsQ4zLE4AiIOcpibv4u9OET6+cP4ASnJ1JH4/G60A9km+GbBxLlpKAkADoR2JnaBrvWD/x1GCZn9EYLEHqVfI6Efx0D7E9tDF/rBSJ54l8FqTUse0J+EvxPrdK0fD4aOLXQi7zyGxMaRvvWjjH2U8o9I44OKnf+wyCpHoR/Phk6d/COq8481YrNI3/qR2B+kMl1Fl6J8o/JrU/GEA6HdiB2ha/0YBVx7rFwNHAj9JuIl6EI/qKyJug4Yvg7xA0QEpB8nQe8itoQu9EOT8M3mTsqUSUzykH6cBO1PbA9d91+ShDzV9xrtcgW21IT6L0yfcS90FKCdw+wS6Q9ISWjVfLTVVT2mdiPGGRduFKWm7dBStWlLmI0j/QExdgp7gT5qCu2BLKiLqtc94hI7PB8auQP4KuyIvSJ960fUqXWcd2F48Khr1bHSj2dDp/afmg7tMrFxpG/9mHMFuqrH3spFw0s0Bgr9OAzamdgFutaPpMuqo6WVEXWJdSL14xhof2J76MKfS2yXWGOVB1WXXGOVdxFSx587CXoLsTE0689RH7VW4RMLeKI9wPpzz4XeS2wDzdbXR52AWStjwiSAA6HdiB2h1f6cqT0whzzuzz0LejuxATTy90Xt40v7CzdGRvKS4O/zQ0AiXaRW5x/dv4vS4A/a308LYR5pFquRRvlHIrKWoCj5woCVId4eR/KPNDjURg2tdEC7rSQN5B9DYR70X5YivVxft7AyrOvrD4V2JnaBJurr+qpemLEywlRhT6qvPx16C7ExdK0fSjcj0maAzsqgBt7rfIxGP46B9iT2gi70I842bNj0U4wd/WAG/L5VP3p0W4iNoYv6Oh6eoJmSMW5laIzF8iT1TtgeV9RZoZ7QvdEUzsQu0CP+HOMKDFoZvDFg6s89CNqf2B5a4e8Hts84W0pgeohBtspBXYp8H3Tk/H23MBtHuvbn5mp7dlU9TUkP+XNJMabzHdCIbnuYDSItzZ+bdgUWrAwNPhwInRxw1/wXuYGj+4vo7flboRpjEQ6EjgojYK9/K04NFfNTauEBypXQWQLAfqQoHl9CfvpQ6C3ExtC9/q2YW2u6X1JWzfsYFPKX3L99LrQ/sT10XR+jKh+UN2AxlDOyXfLQaxxf/fkvT4d2JnaBZv258M6h4IFu2Em7/sezoLcQG0Mjfy6xrqLnVBLGWHw1i69WP5LCCn0TNEL3DLNXpCV/n5oo5jAVLY5Em6i8Pwm6uSNuCrNxpNX+nDira20qqyZriv384xhoZ2IX6Lr/wg8eiwpXYGQqPEgjsBrX+er3X46B9ie2h6bX/4i6IfcLS2mIY++7TfoCuLj6hwgN89CwBJ3Gx8rOVsn0kQ48tDS/4X1L8SzMb3BbkGdtwsD05AbP9YOU8xui+uljZei/P/3qx2HQbsSO0Ar/lveHLZYCVK4GeN1P5N+eAb2R2Aya9ueUY+8dlhLtdhWvgfEfz4AeGf9hR2wcaeTPpacvRdzLTx8J/Qq1Ij995PrJ3/mp0p8LO5YyF0s215g/9yxoZ2IXaLo+FiwtgTlvIAznp4+G3khsBk3Pf5mYvqOwMqZnNnw3i9cRDoT2JPaCZuvreskDuXkHxfQMvfbBgdBbiI2hC/3QLCg6lESZZkrfJ7nSj3gWNEMcRkYJsf5L0BXENBl1WV8/aquMLM9/eSJ0UtxZmFGGg4MigZ75ovHnvsOcUX09zRbzjCrU/K/Rev0gT2i2vu4cZrNI1+sH2e49Yb3lRC6e9fSS9ETohjj7hdkx0rQ/57/rxIrhBQdCv494Hlrtz1lo30Qjz1z+cRh02ndTNIMm1j8NxtmePs+76i+/esJHrH/6dGh/YntoRf9l2RtQWgJXzY4bdtbqx0OhnYldoHv7I79jf4+rOGGaRWr14yToLcTG0Ky/v32rjAsdX9S5vgI4ENqT2Asa7Z/9vq0yStiGNNVHkOe/RGmqwBQ0jEDHFpoJ85BLN+jPaRoHGWl2/2yx3msxVRHjZ0Td4GfV/Bf9bCM1dBiBfrHeJ1HR6dKEedDf5yPdBLilp/efC3Ribb1VxlUHGQe8iTb0598+Hdqf2B6a3b9SOerezsoIBWaJ3IBn1fp0j4PeQmwMzc5/idLK3UZWRkmKX2zA4Vc/DoPeSGwGrdvfY24RpKmVjrLuCQdCuxE7Qkv64TZ3Z44dVPrxUOh3EK9C1/lHGpz7ZzpVsYTF7K8Hyj+Ogd5FbAk9uL9H9LIyYg821sjo13gYtD+xPbRU/9Ds/b1sZTTIr5OStMGHA6GdiV2gUf2UmQcfJdUbXOoe6HoN1A0b2uQD4EBosXJqQTwKnXvXAEX+oZlfGaS9ewetDGCLeV1exH4e9Mr+2TDpv2iggYFW+LdBsTbngv/yUroGH0jleEX7MOgtxMbQ7PzKoMuajKyM8pYIiB194HnQzsQu0Gp/LvpulVHylsgK/TgG2p/YHrqXf6T3bJUBhfxFWUDPg95CbAytm/+ycasM9WOxWu0PnTniLWE2iLRi/4Z3bJXRvY76s0+Arl93I3aMNOHPBce2PdSkL7Kpnwe9l9gGutCPoFgkUtytXAGbex0vKCznSOs00o+ToLcQG0N/QErCrG6jrTIynVUDwo896vCzssPrNnAYtD+xPfR9fwmKeu/CVhm5OAn1STPkvhxBW1KXjeP60Y/DoJ2JXaAL/RCPy+PXc80L9d7OV294dVPbC/fb4EDoLcTG0IV+TCDrrIxMHIFg512BWj9OgvYk9oK+9SMoZG55q/JMiGS40/sLjacu28T3MVfd0Aha+u3QJXr+0Q//MBtHutaPQOzh3H0RBoZS5OJ/MjqJ9x2vQb7qgSuvX0StH0+FLptzrvTDh9gl0oV+iAbi2lAsqNmbK3yBAyLNdbRzW8Y6Btqf2B76A2IURE2zZY16KGfZlwqofJSL4feABka+xCNX+ekx0LuILaFr/Zit7s4ZA7y5Qg2sDr/t4zDodxCvQt/6occctDKGriMPzH85D9qN2BG61g/QwcLSVDSGl78C6LePY6A3EptBf0BKcjWWH/GqyJqoxKnMufEVBLJxAJwJ7U9sDH3fX0CxnIB4orMyuilTyRh6g+0bfDgQ2p/YHrrQD+jV6qb/SdRrMit8TRWwyEabxgFwJrQnsQt0rR+LR3VqFNiGHRBv73ge9EZiM+haPyicuRcVmIxzAMTMl9wfi3sGtBuxF3ShH92C29yJTteU+ohbRrZk3Qe9hdgY+tYPnOqanA+mTN33ZGKE06HQbsQu0LV+MF8+94rU5dK8B8/KyJaI+6D9ie2hC/3Q12QnSnYLn5p9P/6d0D7EltAh5wz/Hv8exON/LUjHOuz5CksAAAAASUVORK5CYII="; +E=G.r/255;var I=G.g/255,L=G.b/255,T=Math.min(Math.min(E,I),L);G=Math.max(Math.max(E,I),L);var K=G-T;0===K?E=[null,0,G]:(E=E===T?3+(L-I)/K:I===T?5+(E-L)/K:1+(I-E)/K,E=[6===E?0:E,K/G,G]);null!=E[0]&&(h[0]=E[0]);0!=E[2]&&(h[1]=E[1]);h[2]=E[2];p(D)};this.fromString("#ffffff");this.div=b};mxUtils.extend(ColorPicker,mxEventSource);ColorPicker.prototype.hsImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALUAAABlCAIAAACEDzXRAAAKQ0lEQVR42u2d23IjKwxFBeRh5v8/9uQlzXlI2gGELoCEm6pxubp6PI69WoV3C20uIQPAH4A/AH/p41/pDcTxP4BPGDtq3vYJGPpv8craeRdo/fyTI8ZhHnodOGgcV/3rnx8QI0SABO2xfAbiCfVR8Wj+CD8jenbRJNyGOxLoAaH1iLu4EUEHAv1+MsQ4zLE4AiIOcpibv4u9OET6+cP4ASnJ1JH4/G60A9km+GbBxLlpKAkADoR2JnaBrvWD/x1GCZn9EYLEHqVfI6Efx0D7E9tDF/rBSJ54l8FqTUse0J+EvxPrdK0fD4aOLXQi7zyGxMaRvvWjjH2U8o9I44OKnf+wyCpHoR/Phk6d/COq8481YrNI3/qR2B+kMl1Fl6J8o/JrU/GEA6HdiB2ha/0YBVx7rFwNHAj9JuIl6EI/qKyJug4Yvg7xA0QEpB8nQe8itoQu9EOT8M3mTsqUSUzykH6cBO1PbA9d91+ShDzV9xrtcgW21IT6L0yfcS90FKCdw+wS6Q9ISWjVfLTVVT2mdiPGGRduFKWm7dBStWlLmI0j/QExdgp7gT5qCu2BLKiLqtc94hI7PB8auQP4KuyIvSJ960fUqXWcd2F48Khr1bHSj2dDp/afmg7tMrFxpG/9mHMFuqrH3spFw0s0Bgr9OAzamdgFutaPpMuqo6WVEXWJdSL14xhof2J76MKfS2yXWGOVB1WXXGOVdxFSx587CXoLsTE0689RH7VW4RMLeKI9wPpzz4XeS2wDzdbXR52AWStjwiSAA6HdiB2h1f6cqT0whzzuzz0LejuxATTy90Xt40v7CzdGRvKS4O/zQ0AiXaRW5x/dv4vS4A/a308LYR5pFquRRvlHIrKWoCj5woCVId4eR/KPNDjURg2tdEC7rSQN5B9DYR70X5YivVxft7AyrOvrD4V2JnaBJurr+qpemLEywlRhT6qvPx16C7ExdK0fSjcj0maAzsqgBt7rfIxGP46B9iT2gi70I842bNj0U4wd/WAG/L5VP3p0W4iNoYv6Oh6eoJmSMW5laIzF8iT1TtgeV9RZoZ7QvdEUzsQu0CP+HOMKDFoZvDFg6s89CNqf2B5a4e8Hts84W0pgeohBtspBXYp8H3Tk/H23MBtHuvbn5mp7dlU9TUkP+XNJMabzHdCIbnuYDSItzZ+bdgUWrAwNPhwInRxw1/wXuYGj+4vo7flboRpjEQ6EjgojYK9/K04NFfNTauEBypXQWQLAfqQoHl9CfvpQ6C3ExtC9/q2YW2u6X1JWzfsYFPKX3L99LrQ/sT10XR+jKh+UN2AxlDOyXfLQaxxf/fkvT4d2JnaBZv258M6h4IFu2Em7/sezoLcQG0Mjfy6xrqLnVBLGWHw1i69WP5LCCn0TNEL3DLNXpCV/n5oo5jAVLY5Em6i8Pwm6uSNuCrNxpNX+nDira20qqyZriv384xhoZ2IX6Lr/wg8eiwpXYGQqPEgjsBrX+er3X46B9ie2h6bX/4i6IfcLS2mIY++7TfoCuLj6hwgN89CwBJ3Gx8rOVsn0kQ48tDS/4X1L8SzMb3BbkGdtwsD05AbP9YOU8xui+uljZei/P/3qx2HQbsSO0Ar/lveHLZYCVK4GeN1P5N+eAb2R2Aya9ueUY+8dlhLtdhWvgfEfz4AeGf9hR2wcaeTPpacvRdzLTx8J/Qq1Ij995PrJ3/mp0p8LO5YyF0s215g/9yxoZ2IXaLo+FiwtgTlvIAznp4+G3khsBk3Pf5mYvqOwMqZnNnw3i9cRDoT2JPaCZuvreskDuXkHxfQMvfbBgdBbiI2hC/3QLCg6lESZZkrfJ7nSj3gWNEMcRkYJsf5L0BXENBl1WV8/aquMLM9/eSJ0UtxZmFGGg4MigZ75ovHnvsOcUX09zRbzjCrU/K/Rev0gT2i2vu4cZrNI1+sH2e49Yb3lRC6e9fSS9ETohjj7hdkx0rQ/57/rxIrhBQdCv494Hlrtz1lo30Qjz1z+cRh02ndTNIMm1j8NxtmePs+76i+/esJHrH/6dGh/YntoRf9l2RtQWgJXzY4bdtbqx0OhnYldoHv7I79jf4+rOGGaRWr14yToLcTG0Ky/v32rjAsdX9S5vgI4ENqT2Asa7Z/9vq0yStiGNNVHkOe/RGmqwBQ0jEDHFpoJ85BLN+jPaRoHGWl2/2yx3msxVRHjZ0Td4GfV/Bf9bCM1dBiBfrHeJ1HR6dKEedDf5yPdBLilp/efC3Ribb1VxlUHGQe8iTb0598+Hdqf2B6a3b9SOerezsoIBWaJ3IBn1fp0j4PeQmwMzc5/idLK3UZWRkmKX2zA4Vc/DoPeSGwGrdvfY24RpKmVjrLuCQdCuxE7Qkv64TZ3Z44dVPrxUOh3EK9C1/lHGpz7ZzpVsYTF7K8Hyj+Ogd5FbAk9uL9H9LIyYg821sjo13gYtD+xPbRU/9Ds/b1sZTTIr5OStMGHA6GdiV2gUf2UmQcfJdUbXOoe6HoN1A0b2uQD4EBosXJqQTwKnXvXAEX+oZlfGaS9ewetDGCLeV1exH4e9Mr+2TDpv2iggYFW+LdBsTbngv/yUroGH0jleEX7MOgtxMbQ7PzKoMuajKyM8pYIiB194HnQzsQu0Gp/LvpulVHylsgK/TgG2p/YHrqXf6T3bJUBhfxFWUDPg95CbAytm/+ycasM9WOxWu0PnTniLWE2iLRi/4Z3bJXRvY76s0+Arl93I3aMNOHPBce2PdSkL7Kpnwe9l9gGutCPoFgkUtytXAGbex0vKCznSOs00o+ToLcQG0N/QErCrG6jrTIynVUDwo896vCzssPrNnAYtD+xPfR9fwmKeu/CVhm5OAn1STPkvhxBW1KXjeP60Y/DoJ2JXaAL/RCPy+PXc80L9d7OV294dVPbC/fb4EDoLcTG0IV+TCDrrIxMHIFg512BWj9OgvYk9oK+9SMoZG55q/JMiGS40/sLjacu28T3MVfd0Aha+u3QJXr+0Q//MBtHutaPQOzh3H0RBoZS5OJ/MjqJ9x2vQb7qgSuvX0StH0+FLptzrvTDh9gl0oV+iAbi2lAsqNmbK3yBAyLNdbRzW8Y6Btqf2B76A2IURE2zZY16KGfZlwqofJSL4feABka+xCNX+ekx0LuILaFr/Zit7s4ZA7y5Qg2sDr/t4zDodxCvQt/6occctDKGriMPzH85D9qN2BG61g/QwcLSVDSGl78C6LePY6A3EptBf0BKcjWWH/GqyJqoxKnMufEVBLJxAJwJ7U9sDH3fX0CxnIB4orMyuilTyRh6g+0bfDgQ2p/YHrrQD+jV6qb/SdRrMit8TRWwyEabxgFwJrQnsQt0rR+LR3VqFNiGHRBv73ge9EZiM+haPyicuRcVmIxzAMTMl9wfi3sGtBuxF3ShH92C29yJTteU+ohbRrZk3Qe9hdgY+tYPnOqanA+mTN33ZGKE06HQbsQu0LV+MF8+94rU5dK8B8/KyJaI+6D9ie2hC/3Q12QnSnYLn5p9P/6d0D7EltAh5wz/Hv8exON/LUjHOuz5CksAAAAASUVORK5CYII="; ColorPicker.prototype.crossImage="data:image/gif;base64,R0lGODlhDwAPAKEBAAAAAP///////////yH5BAEKAAIALAAAAAAPAA8AAAIklB8Qx53b4otSUWcvyiz4/4AeQJbmKY4p1HHapBlwPL/uVRsFADs=";ColorPicker.prototype.arrowImage="data:image/gif;base64,R0lGODlhBwALAKECAAAAAP///6g8eKg8eCH5BAEKAAIALAAAAAAHAAsAAAITTIQYcLnsgGxvijrxqdQq6DRJAQA7"; -var ColorDialog=function(a,b,e,f,h,d,g){function m(V){return mxUtils.color2hex("#"+V).substring(1).toUpperCase()}function q(){W.src="none"==M.style.display?Editor.arrowRightImage:Editor.arrowDownImage}function k(V){""==V.value&&null!=I&&T?V.style.background=V==Y?I.dark:I.light:""==V.value||V.value==mxConstants.NONE||mxUtils.isVarColor(V.value)?V.style.background="transparent":V.style.background="#"+V.value;V.style.color="transparent"==V.style.background?"light-dark(#000000, #ffffff)":mxUtils.isDarkColor(V.style.background)? -"#ffffff":"#000000"}function u(){k(K);k(Y)}function w(V){V?(K.value="",Y.value="",Q.value="automatic",K.setAttribute("placeholder",mxResources.get("useBlackAndWhite")),Y.setAttribute("title",mxResources.get("useBlackAndWhite")),K.setAttribute("title",mxResources.get("useBlackAndWhite"))):(""==K.value&&null!=I&&(K.value=I.light.substring(1).toUpperCase()),K.removeAttribute("placeholder"),K.removeAttribute("title"),""==Y.value&&null!=I&&(Y.value=I.dark.substring(1).toUpperCase()),Y.removeAttribute("placeholder"), -Y.removeAttribute("title"),V=!1);T=V}function z(V){var ja=V.value,H=ja.toLowerCase();null==h||""!=ja&&"automatic"!=H&&"default"!=H&&H!=mxResources.get("default").toLowerCase()&&H!=mxResources.get("automatic").toLowerCase()||null==I?(V.value==mxConstants.NONE||mxUtils.isVarColor(V.value)||(V.value=m(V.value),oa.fromString("#"+V.value)),w(!1),V!=Y||K.value==mxConstants.NONE&&Y.value==mxConstants.NONE||(Q.value="custom"),V==K&&"automatic"==Q.value&&(K.value==mxConstants.NONE?Y.value=mxConstants.NONE: -mxUtils.isVarColor(K.value)?Y.value=K.value:Y.value=mxUtils.rgba2hex(mxUtils.getInverseColor("#"+V.value)).substring(1).toUpperCase()),u()):aa.click()}function C(){var V=K.value,ja=Y.value;if(T&&null!=I||(/(^#?[a-zA-Z0-9]*$)/.test(V)||mxUtils.isVarColor(V))&&(/(^#?[a-zA-Z0-9]*$)/.test(ja)||mxUtils.isVarColor(ja))){if(T)V="default";else if(""==V&&(V=mxConstants.NONE),""==ja&&(ja=mxConstants.NONE),V==mxConstants.NONE||mxUtils.isVarColor(V)||"#"==V.charAt(0)||(V="#"+m(V)),ja==mxConstants.NONE||mxUtils.isVarColor(ja)|| -"#"==ja.charAt(0)||(ja="#"+m(ja)),ColorDialog.addRecentColor("none"!=V?V.substring(1):V,12),"automatic"!=Q.value&&ColorDialog.addRecentColor("none"!=ja?ja.substring(1):ja,12),"none"!=V||"none"!=ja)V=V==mxConstants.NONE?"transparent":V,ja=ja==mxConstants.NONE?"transparent":ja,g||"automatic"==Q.value||(V="light-dark("+V+","+ja+")");ia(V);a.hideDialog()}else a.handleError({message:mxResources.get("invalidInput")})}function E(){mxClient.IS_TOUCH||(qa.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode? -qa.select():document.execCommand("selectAll",!1,null))}function D(){var V=Z(0==ColorDialog.recentColors.length?["FFFFFF"]:ColorDialog.recentColors,11,"FFFFFF",!0);V.style.marginBottom="8px";return V}function G(V){13==V.keyCode&&(z(mxEvent.getSource(V)),C())}var I=null!=d?mxUtils.getLightDarkColor(d):null,L=a.editor.graph;this.editorUi=a;var T=!1;"default"==b||"transparent"==b||b==mxConstants.NONE||mxUtils.isVarColor(b)||mxUtils.isHexColor(b)||mxUtils.isRgbColor(b)||mxUtils.isLightDarkColor(b)||(b= -mxUtils.color2hex(b));var K=document.createElement("input");K.style.textOverflow="ellipsis";K.style.margin="0 0 0 4px";K.style.width="100%";d=document.createElement("div");d.style.padding="0 4px";var U=document.createElement("div");U.style.display="flex";U.style.alignItems="center";d.appendChild(U);var Y=document.createElement("input");Y.style.textOverflow="ellipsis";Y.style.margin="0 4px";Y.style.maxWidth="60px";Y.style.width="100%";var Q=document.createElement("select");Q.style.textOverflow="ellipsis"; -Q.style.width="100%";var P=document.createElement("option");P.setAttribute("value","automatic");mxUtils.write(P,mxResources.get("automatic"));Q.appendChild(P);P=document.createElement("option");P.setAttribute("value","custom");mxUtils.write(P,mxResources.get("userDefined"));Q.appendChild(P);Q.value=mxUtils.isLightDarkColor(b)?"custom":"automatic";var M=document.createElement("div");M.style.padding="0 6px 0 6px";P=document.createElement("img");P.setAttribute("title",mxResources.get("dark"));P.className= -"geAdaptiveAsset";P.src=Editor.thinDarkImage;P.style.width="20px";M.appendChild(P);mxEvent.addListener(P,"click",function(){Y.focus()});M.appendChild(Y);M.appendChild(Q);M.style.display="flex";M.style.alignItems="center";P=document.createElement("div");P.style.display="flex";P.style.alignItems="center";P.style.userSelect="none";P.style.cursor="pointer";P.style.padding="2px 0 2px 0";var W=document.createElement("img");W.setAttribute("title",mxResources.get("dark"));W.className="geAdaptiveAsset";W.style.marginLeft= -"-2px";P.appendChild(W);mxUtils.write(P,mxResources.get("advanced"));q();mxEvent.addListener(P,"click",function(){M.style.display="none"==M.style.display?"flex":"none";q();q();ColorDialog.collapsed="none"==M.style.display});var aa=mxUtils.button("",function(){w(!0);u();qa.focus();""==qa.value&&null!=I&&T&&oa.fromString(qa==Y?I.dark:I.light,!0)});mxEvent.addListener(Q,"change",function(){"automatic"==Q.value?(K.focus(),z(K)):(w(!1),mxUtils.isVarColor(Y.value)||(Y.value=T&&null!=I?I.dark.substring(1).toUpperCase(): -Y.value=mxUtils.rgba2hex(mxUtils.getInverseColor("#"+K.value)).substring(1).toUpperCase()),Y.focus(),E());u()});mxEvent.addListener(K,"change",function(){z(K)});mxEvent.addListener(Y,"change",function(){z(Y)});var ia=null!=e?e:this.createApplyFunction();this.init=function(){E()};var oa=new ColorPicker,qa=Editor.isDarkMode()&&("auto"==L.getAdaptiveColors()||"simple"==L.getAdaptiveColors()&&"custom"==Q.value)&&!g?Y:K;mxEvent.addListener(K,"focus",function(){qa=K});mxEvent.addListener(Y,"focus",function(){qa= -Y});oa.addListener("change",function(V,ja){V=ja.getProperty("color").substring(1).toUpperCase();qa.value.toUpperCase()!=V&&(qa.value=V,z(qa),window.setTimeout(function(){qa.focus()},0))});e=document.createElement("div");e.appendChild(oa.div);var O=document.createElement("div");O.style.display="flex";O.style.flexFlow="row wrap";O.style.justifyContent="center";O.style.paddingTop="10px";var Z=mxUtils.bind(this,function(V,ja,H,ea){ja=null!=ja?ja:12;var la=document.createElement("table");la.style.borderCollapse= -"collapse";la.setAttribute("cellspacing","0");la.style.marginBottom="20px";la.style.cellSpacing="0px";la.style.marginLeft="1px";var sa=document.createElement("tbody");la.appendChild(sa);for(var Pa=V.length/ja,ma=0;ma=b&&ColorDialog.recentColors.pop())};ColorDialog.resetRecentColors=function(){ColorDialog.recentColors=[]};ColorDialog.collapsed=!0; var AboutDialog=function(a){var b=document.createElement("div");b.setAttribute("align","center");var e=document.createElement("h3");mxUtils.write(e,mxResources.get("about")+" GraphEditor");b.appendChild(e);e=document.createElement("img");e.style.border="0px";e.setAttribute("width","176");e.setAttribute("width","151");e.setAttribute("src",IMAGE_PATH+"/logo.png");b.appendChild(e);mxUtils.br(b);mxUtils.write(b,"Powered by mxGraph "+mxClient.VERSION);mxUtils.br(b);e=document.createElement("a");e.setAttribute("href", -"http://www.jgraph.com/");e.setAttribute("target","_blank");mxUtils.write(e,"www.jgraph.com");b.appendChild(e);mxUtils.br(b);mxUtils.br(b);e=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});e.className="geBtn gePrimaryBtn";b.appendChild(e);this.container=b},TextareaDialog=function(a,b,e,f,h,d,g,m,q,k,u,w,z,C,E){k=null!=k?k:!1;g=document.createElement("div");g.style.position="absolute";g.style.top="20px";g.style.bottom="20px";g.style.left="20px";g.style.right="20px";m=document.createElement("div"); +"http://www.jgraph.com/");e.setAttribute("target","_blank");mxUtils.write(e,"www.jgraph.com");b.appendChild(e);mxUtils.br(b);mxUtils.br(b);e=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});e.className="geBtn gePrimaryBtn";b.appendChild(e);this.container=b},TextareaDialog=function(a,b,e,f,h,d,g,m,p,k,u,x,z,C,E){k=null!=k?k:!1;g=document.createElement("div");g.style.position="absolute";g.style.top="20px";g.style.bottom="20px";g.style.left="20px";g.style.right="20px";m=document.createElement("div"); m.style.position="absolute";m.style.left="0px";m.style.right="0px";var D=m.cloneNode(!1),G=m.cloneNode(!1);m.style.top="0px";m.style.height="20px";D.style.top="20px";D.style.bottom="64px";G.style.bottom="0px";G.style.height="60px";G.style.textAlign="right";G.style.paddingTop="14px";G.style.boxSizing="border-box";mxUtils.write(m,b);g.appendChild(m);g.appendChild(D);g.appendChild(G);null!=E&&m.appendChild(E);var I=document.createElement("textarea");u?I.setAttribute("wrap","off"):I.style.wordBreak="break-all"; I.setAttribute("spellcheck","false");I.setAttribute("autocorrect","off");I.setAttribute("autocomplete","off");I.setAttribute("autocapitalize","off");mxUtils.write(I,e||"");I.style.resize="none";I.style.outline="none";I.style.position="absolute";I.style.boxSizing="border-box";I.style.top="0px";I.style.left="0px";I.style.height="100%";I.style.width="100%";this.textarea=I;this.init=function(){I.focus();I.scrollTop=0};D.appendChild(I);null==z||a.isOffline()||G.appendChild(a.createHelpIcon(z));if(null!= -C)for(b=0;bMAX_AREA||0>=C.value?"red":"";E.style.backgroundColor=C.value*E.value>MAX_AREA||0>=E.value?"red":""}var f=a.editor.graph,h=f.getGraphBounds(),d=f.view.scale,g=Math.ceil(h.width/ -d),m=Math.ceil(h.height/d);d=document.createElement("table");var q=document.createElement("tbody");d.setAttribute("cellpadding",mxClient.IS_SF?"0":"2");h=document.createElement("tr");var k=document.createElement("td");k.style.fontSize="10pt";k.style.width="100px";mxUtils.write(k,mxResources.get("filename")+":");h.appendChild(k);var u=document.createElement("input");u.setAttribute("value",a.editor.getOrCreateFilename());u.style.width="180px";k=document.createElement("td");k.appendChild(u);h.appendChild(k); -q.appendChild(h);h=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("format")+":");h.appendChild(k);var w=document.createElement("select");w.style.width="180px";k=document.createElement("option");k.setAttribute("value","png");mxUtils.write(k,mxResources.get("formatPng"));w.appendChild(k);k=document.createElement("option");ExportDialog.showGifOption&&(k.setAttribute("value","gif"),mxUtils.write(k,mxResources.get("formatGif")),w.appendChild(k)); -k=document.createElement("option");k.setAttribute("value","jpg");mxUtils.write(k,mxResources.get("formatJpg"));w.appendChild(k);k=document.createElement("option");k.setAttribute("value","svg");mxUtils.write(k,mxResources.get("formatSvg"));w.appendChild(k);ExportDialog.showXmlOption&&(k=document.createElement("option"),k.setAttribute("value","xml"),mxUtils.write(k,mxResources.get("formatXml")),w.appendChild(k));k=document.createElement("td");k.appendChild(w);h.appendChild(k);q.appendChild(h);h=document.createElement("tr"); -k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("zoom")+" (%):");h.appendChild(k);var z=document.createElement("input");z.setAttribute("type","number");z.setAttribute("value","100");z.style.width="180px";k=document.createElement("td");k.appendChild(z);h.appendChild(k);q.appendChild(h);h=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("width")+":");h.appendChild(k);var C=document.createElement("input"); -C.setAttribute("value",g);C.style.width="180px";k=document.createElement("td");k.appendChild(C);h.appendChild(k);q.appendChild(h);h=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("height")+":");h.appendChild(k);var E=document.createElement("input");E.setAttribute("value",m);E.style.width="180px";k=document.createElement("td");k.appendChild(E);h.appendChild(k);q.appendChild(h);h=document.createElement("tr");k=document.createElement("td"); +"off");e.style.overflow="auto";e.style.resize="none";e.style.width="600px";e.style.height="360px";e.style.marginBottom="16px";var f=a.getDiagramSnapshot();e.value=mxUtils.getPrettyXml(f.node);b.appendChild(e);this.init=function(){e.focus()};Graph.fileSupport&&(e.addEventListener("dragover",function(m){m.stopPropagation();m.preventDefault()},!1),e.addEventListener("drop",function(m){m.stopPropagation();m.preventDefault();if(0MAX_AREA||0>=C.value?"red":"";E.style.backgroundColor=C.value*E.value>MAX_AREA||0>=E.value?"red":""}var f=a.editor.graph,h=f.getGraphBounds(),d=f.view.scale,g=Math.ceil(h.width/ +d),m=Math.ceil(h.height/d);d=document.createElement("table");var p=document.createElement("tbody");d.setAttribute("cellpadding",mxClient.IS_SF?"0":"2");h=document.createElement("tr");var k=document.createElement("td");k.style.fontSize="10pt";k.style.width="100px";mxUtils.write(k,mxResources.get("filename")+":");h.appendChild(k);var u=document.createElement("input");u.setAttribute("value",a.editor.getOrCreateFilename());u.style.width="180px";k=document.createElement("td");k.appendChild(u);h.appendChild(k); +p.appendChild(h);h=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("format")+":");h.appendChild(k);var x=document.createElement("select");x.style.width="180px";k=document.createElement("option");k.setAttribute("value","png");mxUtils.write(k,mxResources.get("formatPng"));x.appendChild(k);k=document.createElement("option");ExportDialog.showGifOption&&(k.setAttribute("value","gif"),mxUtils.write(k,mxResources.get("formatGif")),x.appendChild(k)); +k=document.createElement("option");k.setAttribute("value","jpg");mxUtils.write(k,mxResources.get("formatJpg"));x.appendChild(k);k=document.createElement("option");k.setAttribute("value","svg");mxUtils.write(k,mxResources.get("formatSvg"));x.appendChild(k);ExportDialog.showXmlOption&&(k=document.createElement("option"),k.setAttribute("value","xml"),mxUtils.write(k,mxResources.get("formatXml")),x.appendChild(k));k=document.createElement("td");k.appendChild(x);h.appendChild(k);p.appendChild(h);h=document.createElement("tr"); +k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("zoom")+" (%):");h.appendChild(k);var z=document.createElement("input");z.setAttribute("type","number");z.setAttribute("value","100");z.style.width="180px";k=document.createElement("td");k.appendChild(z);h.appendChild(k);p.appendChild(h);h=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("width")+":");h.appendChild(k);var C=document.createElement("input"); +C.setAttribute("value",g);C.style.width="180px";k=document.createElement("td");k.appendChild(C);h.appendChild(k);p.appendChild(h);h=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("height")+":");h.appendChild(k);var E=document.createElement("input");E.setAttribute("value",m);E.style.width="180px";k=document.createElement("td");k.appendChild(E);h.appendChild(k);p.appendChild(h);h=document.createElement("tr");k=document.createElement("td"); k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("dpi")+":");h.appendChild(k);var D=document.createElement("select");D.style.width="180px";k=document.createElement("option");k.setAttribute("value","100");mxUtils.write(k,"100dpi");D.appendChild(k);k=document.createElement("option");k.setAttribute("value","200");mxUtils.write(k,"200dpi");D.appendChild(k);k=document.createElement("option");k.setAttribute("value","300");mxUtils.write(k,"300dpi");D.appendChild(k);k=document.createElement("option"); k.setAttribute("value","400");mxUtils.write(k,"400dpi");D.appendChild(k);k=document.createElement("option");k.setAttribute("value","custom");mxUtils.write(k,mxResources.get("custom"));D.appendChild(k);var G=document.createElement("input");G.style.width="180px";G.style.display="none";G.setAttribute("value","100");G.setAttribute("type","number");G.setAttribute("min","50");G.setAttribute("step","50");var I=!1;mxEvent.addListener(D,"change",function(){"custom"==this.value?(this.style.display="none",G.style.display= -"",G.focus()):(G.value=this.value,I||(z.value=this.value))});mxEvent.addListener(G,"change",function(){var Q=parseInt(G.value);isNaN(Q)||0>=Q?G.style.backgroundColor="red":(G.style.backgroundColor="",I||(z.value=Q))});k=document.createElement("td");k.appendChild(D);k.appendChild(G);h.appendChild(k);q.appendChild(h);h=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("background")+":");h.appendChild(k);var L=document.createElement("input"); -L.setAttribute("type","checkbox");L.checked=null==f.background||f.background==mxConstants.NONE;k=document.createElement("td");k.appendChild(L);mxUtils.write(k,mxResources.get("transparent"));h.appendChild(k);q.appendChild(h);h=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("grid")+":");h.appendChild(k);var T=document.createElement("input");T.setAttribute("type","checkbox");T.checked=!1;k=document.createElement("td");k.appendChild(T); -h.appendChild(k);q.appendChild(h);h=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("borderWidth")+":");h.appendChild(k);var K=document.createElement("input");K.setAttribute("type","number");K.setAttribute("value",ExportDialog.lastBorderValue);K.style.width="180px";k=document.createElement("td");k.appendChild(K);h.appendChild(k);q.appendChild(h);d.appendChild(q);mxEvent.addListener(w,"change",b);b();mxEvent.addListener(z,"change", +"",G.focus()):(G.value=this.value,I||(z.value=this.value))});mxEvent.addListener(G,"change",function(){var Q=parseInt(G.value);isNaN(Q)||0>=Q?G.style.backgroundColor="red":(G.style.backgroundColor="",I||(z.value=Q))});k=document.createElement("td");k.appendChild(D);k.appendChild(G);h.appendChild(k);p.appendChild(h);h=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("background")+":");h.appendChild(k);var L=document.createElement("input"); +L.setAttribute("type","checkbox");L.checked=null==f.background||f.background==mxConstants.NONE;k=document.createElement("td");k.appendChild(L);mxUtils.write(k,mxResources.get("transparent"));h.appendChild(k);p.appendChild(h);h=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("grid")+":");h.appendChild(k);var T=document.createElement("input");T.setAttribute("type","checkbox");T.checked=!1;k=document.createElement("td");k.appendChild(T); +h.appendChild(k);p.appendChild(h);h=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("borderWidth")+":");h.appendChild(k);var K=document.createElement("input");K.setAttribute("type","number");K.setAttribute("value",ExportDialog.lastBorderValue);K.style.width="180px";k=document.createElement("td");k.appendChild(K);h.appendChild(k);p.appendChild(h);d.appendChild(p);mxEvent.addListener(x,"change",b);b();mxEvent.addListener(z,"change", function(){I=!0;var Q=Math.max(0,parseFloat(z.value)||100)/100;z.value=parseFloat((100*Q).toFixed(2));0=parseInt(z.value))mxUtils.alert(mxResources.get("drawingEmpty"));else{var Q=u.value,P=w.value,M=Math.max(0,parseFloat(z.value)||100)/100,W=Math.max(0,parseInt(K.value)),aa=f.background,ia=Math.max(1,parseInt(G.value));if(("svg"==P||"png"==P|| -"pdf"==P)&&L.checked)aa=null;else if(null==aa||aa==mxConstants.NONE)aa="#ffffff";ExportDialog.lastBorderValue=W;ExportDialog.exportFile(a,Q,P,aa,M,W,ia,T.checked)}}));U.className="geBtn gePrimaryBtn";var Y=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});Y.className="geBtn";a.editor.cancelFirst?(k.appendChild(Y),k.appendChild(U)):(k.appendChild(U),k.appendChild(Y));h.appendChild(k);q.appendChild(h);d.appendChild(q);this.container=d};ExportDialog.lastBorderValue=0; +Q)):(z.value="100",C.value=g,E.value=m);e()});h=document.createElement("tr");k=document.createElement("td");k.setAttribute("align","right");k.style.paddingTop="22px";k.colSpan=2;var U=mxUtils.button(mxResources.get("export"),mxUtils.bind(this,function(){if(0>=parseInt(z.value))mxUtils.alert(mxResources.get("drawingEmpty"));else{var Q=u.value,P=x.value,M=Math.max(0,parseFloat(z.value)||100)/100,V=Math.max(0,parseInt(K.value)),aa=f.background,ia=Math.max(1,parseInt(G.value));if(("svg"==P||"png"==P|| +"pdf"==P)&&L.checked)aa=null;else if(null==aa||aa==mxConstants.NONE)aa="#ffffff";ExportDialog.lastBorderValue=V;ExportDialog.exportFile(a,Q,P,aa,M,V,ia,T.checked)}}));U.className="geBtn gePrimaryBtn";var Y=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});Y.className="geBtn";a.editor.cancelFirst?(k.appendChild(Y),k.appendChild(U)):(k.appendChild(U),k.appendChild(Y));h.appendChild(k);p.appendChild(h);d.appendChild(p);this.container=d};ExportDialog.lastBorderValue=0; ExportDialog.showGifOption=!0;ExportDialog.showXmlOption=!0; -ExportDialog.exportFile=function(a,b,e,f,h,d,g,m){m=a.editor.graph;if("xml"==e)ExportDialog.saveLocalFile(a,mxUtils.getXml(a.editor.getGraphXml()),b,e);else if("svg"==e)ExportDialog.saveLocalFile(a,mxUtils.getXml(m.getSvg(f,h,d)),b,e);else{var q=m.getGraphBounds(),k=mxUtils.createXmlDocument(),u=k.createElement("output");k.appendChild(u);k=new mxXmlCanvas2D(u);k.translate(Math.floor((d/h-q.x)/m.view.scale),Math.floor((d/h-q.y)/m.view.scale));k.scale(h/m.view.scale);(new mxImageExport).drawState(m.getView().getState(m.model.root), -k);u="xml="+encodeURIComponent(mxUtils.getXml(u));k=Math.ceil(q.width*h/m.view.scale+2*d);h=Math.ceil(q.height*h/m.view.scale+2*d);u.length<=MAX_REQUEST_SIZE&&k*h -P.name?1:0});if(null!=E){u=document.createElement("div");u.style.width="100%";u.style.fontSize="11px";u.style.textAlign="center";mxUtils.write(u,E);var T=k.addField(mxResources.get("id")+":",u);mxEvent.addListener(u,"dblclick",function(Q){Q=new FilenameDialog(a,E,mxResources.get("apply"),mxUtils.bind(this,function(P){if(null!=P&&0Q.indexOf(":"))try{var P=mxUtils.indexOf(w,Q);if(0<=P&&null!=z[P])z[P].focus();else{d.cloneNode(!1).setAttribute(Q, -"");0<=P&&(w.splice(P,1),z.splice(P,1));w.push(Q);var M=k.addTextarea(Q+":","",2);M.style.width="100%";z.push(M);D(M,Q);M.focus()}U.setAttribute("disabled","disabled");K.value=""}catch(W){mxUtils.alert(W)}else mxUtils.alert(mxResources.get("invalidName"))});mxEvent.addListener(K,"keypress",function(Q){13==Q.keyCode&&U.click()});this.init=function(){0 +P.name?1:0});if(null!=E){u=document.createElement("div");u.style.width="100%";u.style.fontSize="11px";u.style.textAlign="center";mxUtils.write(u,E);var T=k.addField(mxResources.get("id")+":",u);mxEvent.addListener(u,"dblclick",function(Q){Q=new FilenameDialog(a,E,mxResources.get("apply"),mxUtils.bind(this,function(P){if(null!=P&&0Q.indexOf(":"))try{var P=mxUtils.indexOf(x,Q);if(0<=P&&null!=z[P])z[P].focus();else{d.cloneNode(!1).setAttribute(Q, +"");0<=P&&(x.splice(P,1),z.splice(P,1));x.push(Q);var M=k.addTextarea(Q+":","",2);M.style.width="100%";z.push(M);D(M,Q);M.focus()}U.setAttribute("disabled","disabled");K.value=""}catch(V){mxUtils.alert(V)}else mxUtils.alert(mxResources.get("invalidName"))});mxEvent.addListener(K,"keypress",function(Q){13==Q.keyCode&&U.click()});this.init=function(){0"))});mxEvent.addListener(O,"dragend",function(H){null!=w&&null!=z&& -q.addCell(oa,q.model.root,z);z=w=null;H.stopPropagation();H.preventDefault()});var V=document.createElement("img");V.setAttribute("draggable","false");V.setAttribute("align","top");V.setAttribute("border","0");V.className="geAdaptiveAsset";V.style.width="16px";V.style.padding="0px 6px 0 4px";V.style.cursor="pointer";V.setAttribute("title",mxResources.get(q.model.isVisible(oa)?"hide":"show"));q.model.isVisible(oa)?(V.setAttribute("src",Editor.visibleImage),mxUtils.setOpacity(O,90)):(V.setAttribute("src", -Editor.hiddenImage),mxUtils.setOpacity(O,40));q.isEnabled()||mxUtils.setOpacity(V,50);Z.appendChild(V);mxEvent.addListener(V,"click",function(H){q.isEnabled()&&q.model.setVisible(oa,!q.model.isVisible(oa));mxEvent.consume(H)});V=document.createElement("img");V.setAttribute("draggable","false");V.setAttribute("align","top");V.setAttribute("border","0");V.className="geAdaptiveAsset";V.style.width="16px";V.style.padding="0px 6px 0 0";V.setAttribute("title",mxResources.get("lockUnlock"));var ja=q.getCurrentCellStyle(oa); -"1"==mxUtils.getValue(ja,"locked","0")?(V.setAttribute("src",Editor.lockedImage),mxUtils.setOpacity(V,90),O.style.color="red"):(V.setAttribute("src",Editor.unlockedImage),mxUtils.setOpacity(V,40));q.isEnabled()&&(V.style.cursor="pointer");mxEvent.addListener(V,"click",function(H){if(q.isEnabled()){var ea=null;q.getModel().beginUpdate();try{ea="1"==mxUtils.getValue(ja,"locked","0")?null:"1",q.setCellStyles("locked",ea,[oa])}finally{q.getModel().endUpdate()}"1"==ea&&q.removeSelectionCells(q.getModel().getDescendants(oa)); -mxEvent.consume(H)}});Z.appendChild(V);mxUtils.write(ca,ia);ca.style.display="block";ca.style.whiteSpace="nowrap";ca.style.overflow="hidden";ca.style.textOverflow="ellipsis";ca.style.position="absolute";ca.style.padding="2px";ca.style.left="52px";ca.style.right="8px";Z.appendChild(ca);O.appendChild(Z);if(q.isEnabled()){if(mxClient.IS_TOUCH||mxClient.IS_POINTER||mxClient.IS_IE&&10>document.documentMode)ia=document.createElement("div"),ia.style.display="block",ia.style.textAlign="right",ia.style.whiteSpace= -"nowrap",ia.style.position="absolute",ia.style.right="16px",ia.style.top="6px",0"))});mxEvent.addListener(O,"dragend",function(H){null!=x&&null!=z&& +p.addCell(na,p.model.root,z);z=x=null;H.stopPropagation();H.preventDefault()});var W=document.createElement("img");W.setAttribute("draggable","false");W.setAttribute("align","top");W.setAttribute("border","0");W.className="geAdaptiveAsset";W.style.width="16px";W.style.padding="0px 6px 0 4px";W.style.cursor="pointer";W.setAttribute("title",mxResources.get(p.model.isVisible(na)?"hide":"show"));p.model.isVisible(na)?(W.setAttribute("src",Editor.visibleImage),mxUtils.setOpacity(O,90)):(W.setAttribute("src", +Editor.hiddenImage),mxUtils.setOpacity(O,40));p.isEnabled()||mxUtils.setOpacity(W,50);Z.appendChild(W);mxEvent.addListener(W,"click",function(H){p.isEnabled()&&p.model.setVisible(na,!p.model.isVisible(na));mxEvent.consume(H)});W=document.createElement("img");W.setAttribute("draggable","false");W.setAttribute("align","top");W.setAttribute("border","0");W.className="geAdaptiveAsset";W.style.width="16px";W.style.padding="0px 6px 0 0";W.setAttribute("title",mxResources.get("lockUnlock"));var ja=p.getCurrentCellStyle(na); +"1"==mxUtils.getValue(ja,"locked","0")?(W.setAttribute("src",Editor.lockedImage),mxUtils.setOpacity(W,90),O.style.color="red"):(W.setAttribute("src",Editor.unlockedImage),mxUtils.setOpacity(W,40));p.isEnabled()&&(W.style.cursor="pointer");mxEvent.addListener(W,"click",function(H){if(p.isEnabled()){var ea=null;p.getModel().beginUpdate();try{ea="1"==mxUtils.getValue(ja,"locked","0")?null:"1",p.setCellStyles("locked",ea,[na])}finally{p.getModel().endUpdate()}"1"==ea&&p.removeSelectionCells(p.getModel().getDescendants(na)); +mxEvent.consume(H)}});Z.appendChild(W);mxUtils.write(ca,ia);ca.style.display="block";ca.style.whiteSpace="nowrap";ca.style.overflow="hidden";ca.style.textOverflow="ellipsis";ca.style.position="absolute";ca.style.padding="2px";ca.style.left="52px";ca.style.right="8px";Z.appendChild(ca);O.appendChild(Z);if(p.isEnabled()){if(mxClient.IS_TOUCH||mxClient.IS_POINTER||mxClient.IS_IE&&10>document.documentMode)ia=document.createElement("div"),ia.style.display="block",ia.style.textAlign="right",ia.style.whiteSpace= +"nowrap",ia.style.position="absolute",ia.style.right="16px",ia.style.top="6px",0Tooltip with HTML",new mxGeometry(10,0,120,30), "html=1;shadow=0;dashed=0;shape=mxgraph.bootstrap.popover;fillColor=#1A1A1A;strokeColor=none;dx=60;dy=5;rSize=5;whiteSpace=wrap;verticalAlign=top;spacing=10;fontSize=12;spacingLeft=0;align=center;spacingTop=-10;fontColor=#FFFFFF;");d.vertex=!0;var c=new mxCell("Tooltip with HTML",new mxGeometry(0,30,140,30),"html=1;shadow=0;dashed=0;shape=mxgraph.bootstrap.rrect;rSize=5;fillColor=#6C767D;strokeColor=none;perimeter=none;whiteSpace=wrap;resizeWidth=1;align=center;spacing=5;fontColor=#FFFFFF;fontSize=14;"); c.vertex=!0;return a.createVertexTemplateFromCells([d,c],140,60,"Tooltip with HTML")})];this.addPalette("bootstrap",mxResources.get("bootstrap"),!1,mxUtils.bind(this,function(d){for(var c=0;cm?b=b.substring(0,m)+"[...]":null!=b&&b.length>f&&(b=Graph.compress(b)+"\n");return b}; DrawioFile.prototype.checksumError=function(b,f,m,d,t,y,x,C){this.stats.checksumErrors++;this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged();null!=this.sync&&this.sync.updateOnlineState();null!=b&&b();try{var K=this.getCurrentUser(),M=null!=K?K.id:"unknown",N=""!=this.getId()?this.getId():"("+this.ui.hashValue(this.getTitle())+")",P=JSON.stringify(f).length,I=null;if(null!=f&&1E3>P){for(b=0;bI.length?Graph.compress(I): -null}this.getLatestVersion(mxUtils.bind(this,function(c){try{var e=null!=I?"report":"error",l=this.ui.getHashValueForPages(c.getShadowPages()),n="unknown",p="unknown",u="unknown";try{var A=null!=c.initialData&&0m&&(mxUtils.br(K),x=1);var u=document.createElement("a");u.style.overflow="hidden";u.style.display="inline-block";u.className="geBaseButton";u.style.boxSizing="border-box";u.style.fontSize="11px";u.style.position="relative";u.style.margin="4px";u.style.marginTop="8px";u.style.marginBottom="0px";u.style.padding="8px 10px 8px 10px";u.style.width="88px";u.style.height="100px";u.style.whiteSpace="nowrap";u.setAttribute("title",I);var A=document.createElement("div");A.style.textOverflow= -"ellipsis";A.style.overflow="hidden";A.style.position="absolute";A.style.bottom="8px";A.style.left="0px";A.style.right="0px";mxUtils.write(A,I);u.appendChild(A);if(null!=P){var D=document.createElement("img");D.setAttribute("src",P);D.setAttribute("border","0");D.setAttribute("align","absmiddle");D.style.width="60px";D.style.height="60px";D.style.paddingBottom="6px";u.appendChild(D)}else A.style.paddingTop="5px",A.style.whiteSpace="normal",mxClient.IS_IOS?(u.style.padding="0px 10px 20px 10px",u.style.top= -"6px"):mxClient.IS_FF&&(A.style.paddingTop="0px",A.style.marginTop="-2px");if(null!=l)for(P=0;Pm&&(mxUtils.br(K),x=1);var u=document.createElement("a");u.style.overflow="hidden";u.style.display="inline-block";u.className="geBaseButton";u.style.boxSizing="border-box";u.style.fontSize="11px";u.style.position="relative";u.style.margin="4px";u.style.marginTop="8px";u.style.marginBottom="0px";u.style.padding="8px 10px 8px 10px";u.style.width="88px";u.style.height="100px";u.style.whiteSpace="nowrap";u.setAttribute("title",I);var B=document.createElement("div");B.style.textOverflow= +"ellipsis";B.style.overflow="hidden";B.style.position="absolute";B.style.bottom="8px";B.style.left="0px";B.style.right="0px";mxUtils.write(B,I);u.appendChild(B);if(null!=P){var D=document.createElement("img");D.setAttribute("src",P);D.setAttribute("border","0");D.setAttribute("align","absmiddle");D.style.width="60px";D.style.height="60px";D.style.paddingBottom="6px";u.appendChild(D)}else B.style.paddingTop="5px",B.style.whiteSpace="normal",mxClient.IS_IOS?(u.style.padding="0px 10px 20px 10px",u.style.top= +"6px"):mxClient.IS_FF&&(B.style.paddingTop="0px",B.style.marginTop="-2px");if(null!=l)for(P=0;Pf.length&&(I=mxUtils.button("",function(){try{var c="mailto:?subject="+encodeURIComponent(K||b.defaultFilename)+"&body="+encodeURIComponent(N.value);b.openLink(c)}catch(e){b.handleError({message:e.message||mxResources.get("drawingTooLarge")})}}),C=document.createElement("img"),C.className="geAdaptiveAsset",C.setAttribute("src",Editor.mailImage),C.setAttribute("width", "18"),C.setAttribute("height","18"),C.setAttribute("border","0"),C.style.marginBottom="5px",I.appendChild(C),I.style.verticalAlign="bottom",I.style.paddingTop="4px",I.style.minWidth="46px",I.className="geBtn",y.appendChild(I));C=mxUtils.button(mxResources.get("close"),function(){b.hideDialog()});y.appendChild(C);I=mxUtils.button(mxResources.get("copy"),function(){N.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?N.select():document.execCommand("selectAll",!1,null);document.execCommand("copy"); b.alert(mxResources.get("copiedToClipboard"))});5E5>f.length?mxClient.IS_SF||null!=document.documentMode?C.className="geBtn gePrimaryBtn":(y.appendChild(I),I.className="geBtn gePrimaryBtn",C.className="geBtn"):null!=P&&(y.appendChild(P),C.className="geBtn",P.className="geBtn gePrimaryBtn");d.appendChild(y);this.container=d};EmbedDialog.showPreviewOption=!0; -var GoogleSitesDialog=function(b,f){function m(){var T=null!=E&&null!=E.getTitle()?E.getTitle():this.defaultFilename;if(D.checked&&""!=I.value){var O="https://www.draw.io/gadget.xml?type=4&diagram="+encodeURIComponent(mxUtils.htmlEntities(I.value));null!=T&&(O+="&title="+encodeURIComponent(T));0 Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: Another authentication Response\n@enduml"==c&&"svg"==A?window.setTimeout(function(){b.spinner.stop();p(c,A,"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBjb250ZW50U2NyaXB0VHlwZT0iYXBwbGljYXRpb24vZWNtYXNjcmlwdCIgY29udGVudFN0eWxlVHlwZT0idGV4dC9jc3MiIGhlaWdodD0iMjEycHgiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiIHN0eWxlPSJ3aWR0aDoyOTVweDtoZWlnaHQ6MjEycHg7IiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAyOTUgMjEyIiB3aWR0aD0iMjk1cHgiIHpvb21BbmRQYW49Im1hZ25pZnkiPjxkZWZzLz48Zz48bGluZSBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsgc3Ryb2tlLWRhc2hhcnJheTogNS4wLDUuMDsiIHgxPSIzMSIgeDI9IjMxIiB5MT0iMzQuNDg4MyIgeTI9IjE3MS43MzA1Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjA7IHN0cm9rZS1kYXNoYXJyYXk6IDUuMCw1LjA7IiB4MT0iMjY0LjUiIHgyPSIyNjQuNSIgeTE9IjM0LjQ4ODMiIHkyPSIxNzEuNzMwNSIvPjxyZWN0IGZpbGw9IiNGRUZFQ0UiIGhlaWdodD0iMzAuNDg4MyIgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjU7IiB3aWR0aD0iNDciIHg9IjgiIHk9IjMiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIzMyIgeD0iMTUiIHk9IjIzLjUzNTIiPkFsaWNlPC90ZXh0PjxyZWN0IGZpbGw9IiNGRUZFQ0UiIGhlaWdodD0iMzAuNDg4MyIgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjU7IiB3aWR0aD0iNDciIHg9IjgiIHk9IjE3MC43MzA1Ii8+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTQiIGxlbmd0aEFkanVzdD0ic3BhY2luZ0FuZEdseXBocyIgdGV4dExlbmd0aD0iMzMiIHg9IjE1IiB5PSIxOTEuMjY1NiI+QWxpY2U8L3RleHQ+PHJlY3QgZmlsbD0iI0ZFRkVDRSIgaGVpZ2h0PSIzMC40ODgzIiBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuNTsiIHdpZHRoPSI0MCIgeD0iMjQ0LjUiIHk9IjMiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIyNiIgeD0iMjUxLjUiIHk9IjIzLjUzNTIiPkJvYjwvdGV4dD48cmVjdCBmaWxsPSIjRkVGRUNFIiBoZWlnaHQ9IjMwLjQ4ODMiIHN0eWxlPSJzdHJva2U6ICNBODAwMzY7IHN0cm9rZS13aWR0aDogMS41OyIgd2lkdGg9IjQwIiB4PSIyNDQuNSIgeT0iMTcwLjczMDUiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIyNiIgeD0iMjUxLjUiIHk9IjE5MS4yNjU2Ij5Cb2I8L3RleHQ+PHBvbHlnb24gZmlsbD0iI0E4MDAzNiIgcG9pbnRzPSIyNTIuNSw2MS43OTg4LDI2Mi41LDY1Ljc5ODgsMjUyLjUsNjkuNzk4OCwyNTYuNSw2NS43OTg4IiBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsiIHgxPSIzMS41IiB4Mj0iMjU4LjUiIHkxPSI2NS43OTg4IiB5Mj0iNjUuNzk4OCIvPjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjEzIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmdBbmRHbHlwaHMiIHRleHRMZW5ndGg9IjE0NyIgeD0iMzguNSIgeT0iNjEuMDU2NiI+QXV0aGVudGljYXRpb24gUmVxdWVzdDwvdGV4dD48cG9seWdvbiBmaWxsPSIjQTgwMDM2IiBwb2ludHM9IjQyLjUsOTEuMTA5NCwzMi41LDk1LjEwOTQsNDIuNSw5OS4xMDk0LDM4LjUsOTUuMTA5NCIgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjA7IHN0cm9rZS1kYXNoYXJyYXk6IDIuMCwyLjA7IiB4MT0iMzYuNSIgeDI9IjI2My41IiB5MT0iOTUuMTA5NCIgeTI9Ijk1LjEwOTQiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMyIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIxNTciIHg9IjQ4LjUiIHk9IjkwLjM2NzIiPkF1dGhlbnRpY2F0aW9uIFJlc3BvbnNlPC90ZXh0Pjxwb2x5Z29uIGZpbGw9IiNBODAwMzYiIHBvaW50cz0iMjUyLjUsMTIwLjQxOTksMjYyLjUsMTI0LjQxOTksMjUyLjUsMTI4LjQxOTksMjU2LjUsMTI0LjQxOTkiIHN0eWxlPSJzdHJva2U6ICNBODAwMzY7IHN0cm9rZS13aWR0aDogMS4wOyIvPjxsaW5lIHN0eWxlPSJzdHJva2U6ICNBODAwMzY7IHN0cm9rZS13aWR0aDogMS4wOyIgeDE9IjMxLjUiIHgyPSIyNTguNSIgeTE9IjEyNC40MTk5IiB5Mj0iMTI0LjQxOTkiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMyIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIxOTkiIHg9IjM4LjUiIHk9IjExOS42Nzc3Ij5Bbm90aGVyIGF1dGhlbnRpY2F0aW9uIFJlcXVlc3Q8L3RleHQ+PHBvbHlnb24gZmlsbD0iI0E4MDAzNiIgcG9pbnRzPSI0Mi41LDE0OS43MzA1LDMyLjUsMTUzLjczMDUsNDIuNSwxNTcuNzMwNSwzOC41LDE1My43MzA1IiBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsgc3Ryb2tlLWRhc2hhcnJheTogMi4wLDIuMDsiIHgxPSIzNi41IiB4Mj0iMjYzLjUiIHkxPSIxNTMuNzMwNSIgeTI9IjE1My43MzA1Ii8+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTMiIGxlbmd0aEFkanVzdD0ic3BhY2luZ0FuZEdseXBocyIgdGV4dExlbmd0aD0iMjA5IiB4PSI0OC41IiB5PSIxNDguOTg4MyI+QW5vdGhlciBhdXRoZW50aWNhdGlvbiBSZXNwb25zZTwvdGV4dD48IS0tTUQ1PVs3ZjNlNGQwYzkwMWVmZGJjNTdlYjQ0MjQ5YTNiODE5N10KQHN0YXJ0dW1sDQpza2lucGFyYW0gc2hhZG93aW5nIGZhbHNlDQpBbGljZSAtPiBCb2I6IEF1dGhlbnRpY2F0aW9uIFJlcXVlc3QNCkJvYiAtIC0+IEFsaWNlOiBBdXRoZW50aWNhdGlvbiBSZXNwb25zZQ0KDQpBbGljZSAtPiBCb2I6IEFub3RoZXIgYXV0aGVudGljYXRpb24gUmVxdWVzdA0KQWxpY2UgPC0gLSBCb2I6IEFub3RoZXIgYXV0aGVudGljYXRpb24gUmVzcG9uc2UNCkBlbmR1bWwNCgpQbGFudFVNTCB2ZXJzaW9uIDEuMjAyMC4wMihTdW4gTWFyIDAxIDA0OjIyOjA3IENTVCAyMDIwKQooTUlUIHNvdXJjZSBkaXN0cmlidXRpb24pCkphdmEgUnVudGltZTogT3BlbkpESyBSdW50aW1lIEVudmlyb25tZW50CkpWTTogT3BlbkpESyA2NC1CaXQgU2VydmVyIFZNCkphdmEgVmVyc2lvbjogMTIrMzMKT3BlcmF0aW5nIFN5c3RlbTogTWFjIE9TIFgKRGVmYXVsdCBFbmNvZGluZzogVVRGLTgKTGFuZ3VhZ2U6IGVuCkNvdW50cnk6IFVTCi0tPjwvZz48L3N2Zz4=", -295,212)},200):b.generatePlantUmlImage(c,A,function(R,g,q){b.spinner.stop();p(c,A,R,g,q)},function(R){b.handleError(R)})}}else if("mermaid"==e||"mermaid2drawio"==e){if(b.spinner.spin(document.body,mxResources.get("inserting"))){for(var D=0;D Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: Another authentication Response\n@enduml"==c&&"svg"==B?window.setTimeout(function(){b.spinner.stop();p(c,B,"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBjb250ZW50U2NyaXB0VHlwZT0iYXBwbGljYXRpb24vZWNtYXNjcmlwdCIgY29udGVudFN0eWxlVHlwZT0idGV4dC9jc3MiIGhlaWdodD0iMjEycHgiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiIHN0eWxlPSJ3aWR0aDoyOTVweDtoZWlnaHQ6MjEycHg7IiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAyOTUgMjEyIiB3aWR0aD0iMjk1cHgiIHpvb21BbmRQYW49Im1hZ25pZnkiPjxkZWZzLz48Zz48bGluZSBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsgc3Ryb2tlLWRhc2hhcnJheTogNS4wLDUuMDsiIHgxPSIzMSIgeDI9IjMxIiB5MT0iMzQuNDg4MyIgeTI9IjE3MS43MzA1Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjA7IHN0cm9rZS1kYXNoYXJyYXk6IDUuMCw1LjA7IiB4MT0iMjY0LjUiIHgyPSIyNjQuNSIgeTE9IjM0LjQ4ODMiIHkyPSIxNzEuNzMwNSIvPjxyZWN0IGZpbGw9IiNGRUZFQ0UiIGhlaWdodD0iMzAuNDg4MyIgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjU7IiB3aWR0aD0iNDciIHg9IjgiIHk9IjMiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIzMyIgeD0iMTUiIHk9IjIzLjUzNTIiPkFsaWNlPC90ZXh0PjxyZWN0IGZpbGw9IiNGRUZFQ0UiIGhlaWdodD0iMzAuNDg4MyIgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjU7IiB3aWR0aD0iNDciIHg9IjgiIHk9IjE3MC43MzA1Ii8+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTQiIGxlbmd0aEFkanVzdD0ic3BhY2luZ0FuZEdseXBocyIgdGV4dExlbmd0aD0iMzMiIHg9IjE1IiB5PSIxOTEuMjY1NiI+QWxpY2U8L3RleHQ+PHJlY3QgZmlsbD0iI0ZFRkVDRSIgaGVpZ2h0PSIzMC40ODgzIiBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuNTsiIHdpZHRoPSI0MCIgeD0iMjQ0LjUiIHk9IjMiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIyNiIgeD0iMjUxLjUiIHk9IjIzLjUzNTIiPkJvYjwvdGV4dD48cmVjdCBmaWxsPSIjRkVGRUNFIiBoZWlnaHQ9IjMwLjQ4ODMiIHN0eWxlPSJzdHJva2U6ICNBODAwMzY7IHN0cm9rZS13aWR0aDogMS41OyIgd2lkdGg9IjQwIiB4PSIyNDQuNSIgeT0iMTcwLjczMDUiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIyNiIgeD0iMjUxLjUiIHk9IjE5MS4yNjU2Ij5Cb2I8L3RleHQ+PHBvbHlnb24gZmlsbD0iI0E4MDAzNiIgcG9pbnRzPSIyNTIuNSw2MS43OTg4LDI2Mi41LDY1Ljc5ODgsMjUyLjUsNjkuNzk4OCwyNTYuNSw2NS43OTg4IiBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsiIHgxPSIzMS41IiB4Mj0iMjU4LjUiIHkxPSI2NS43OTg4IiB5Mj0iNjUuNzk4OCIvPjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjEzIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmdBbmRHbHlwaHMiIHRleHRMZW5ndGg9IjE0NyIgeD0iMzguNSIgeT0iNjEuMDU2NiI+QXV0aGVudGljYXRpb24gUmVxdWVzdDwvdGV4dD48cG9seWdvbiBmaWxsPSIjQTgwMDM2IiBwb2ludHM9IjQyLjUsOTEuMTA5NCwzMi41LDk1LjEwOTQsNDIuNSw5OS4xMDk0LDM4LjUsOTUuMTA5NCIgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjA7IHN0cm9rZS1kYXNoYXJyYXk6IDIuMCwyLjA7IiB4MT0iMzYuNSIgeDI9IjI2My41IiB5MT0iOTUuMTA5NCIgeTI9Ijk1LjEwOTQiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMyIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIxNTciIHg9IjQ4LjUiIHk9IjkwLjM2NzIiPkF1dGhlbnRpY2F0aW9uIFJlc3BvbnNlPC90ZXh0Pjxwb2x5Z29uIGZpbGw9IiNBODAwMzYiIHBvaW50cz0iMjUyLjUsMTIwLjQxOTksMjYyLjUsMTI0LjQxOTksMjUyLjUsMTI4LjQxOTksMjU2LjUsMTI0LjQxOTkiIHN0eWxlPSJzdHJva2U6ICNBODAwMzY7IHN0cm9rZS13aWR0aDogMS4wOyIvPjxsaW5lIHN0eWxlPSJzdHJva2U6ICNBODAwMzY7IHN0cm9rZS13aWR0aDogMS4wOyIgeDE9IjMxLjUiIHgyPSIyNTguNSIgeTE9IjEyNC40MTk5IiB5Mj0iMTI0LjQxOTkiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMyIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIxOTkiIHg9IjM4LjUiIHk9IjExOS42Nzc3Ij5Bbm90aGVyIGF1dGhlbnRpY2F0aW9uIFJlcXVlc3Q8L3RleHQ+PHBvbHlnb24gZmlsbD0iI0E4MDAzNiIgcG9pbnRzPSI0Mi41LDE0OS43MzA1LDMyLjUsMTUzLjczMDUsNDIuNSwxNTcuNzMwNSwzOC41LDE1My43MzA1IiBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsgc3Ryb2tlLWRhc2hhcnJheTogMi4wLDIuMDsiIHgxPSIzNi41IiB4Mj0iMjYzLjUiIHkxPSIxNTMuNzMwNSIgeTI9IjE1My43MzA1Ii8+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTMiIGxlbmd0aEFkanVzdD0ic3BhY2luZ0FuZEdseXBocyIgdGV4dExlbmd0aD0iMjA5IiB4PSI0OC41IiB5PSIxNDguOTg4MyI+QW5vdGhlciBhdXRoZW50aWNhdGlvbiBSZXNwb25zZTwvdGV4dD48IS0tTUQ1PVs3ZjNlNGQwYzkwMWVmZGJjNTdlYjQ0MjQ5YTNiODE5N10KQHN0YXJ0dW1sDQpza2lucGFyYW0gc2hhZG93aW5nIGZhbHNlDQpBbGljZSAtPiBCb2I6IEF1dGhlbnRpY2F0aW9uIFJlcXVlc3QNCkJvYiAtIC0+IEFsaWNlOiBBdXRoZW50aWNhdGlvbiBSZXNwb25zZQ0KDQpBbGljZSAtPiBCb2I6IEFub3RoZXIgYXV0aGVudGljYXRpb24gUmVxdWVzdA0KQWxpY2UgPC0gLSBCb2I6IEFub3RoZXIgYXV0aGVudGljYXRpb24gUmVzcG9uc2UNCkBlbmR1bWwNCgpQbGFudFVNTCB2ZXJzaW9uIDEuMjAyMC4wMihTdW4gTWFyIDAxIDA0OjIyOjA3IENTVCAyMDIwKQooTUlUIHNvdXJjZSBkaXN0cmlidXRpb24pCkphdmEgUnVudGltZTogT3BlbkpESyBSdW50aW1lIEVudmlyb25tZW50CkpWTTogT3BlbkpESyA2NC1CaXQgU2VydmVyIFZNCkphdmEgVmVyc2lvbjogMTIrMzMKT3BlcmF0aW5nIFN5c3RlbTogTWFjIE9TIFgKRGVmYXVsdCBFbmNvZGluZzogVVRGLTgKTGFuZ3VhZ2U6IGVuCkNvdW50cnk6IFVTCi0tPjwvZz48L3N2Zz4=", +295,212)},200):b.generatePlantUmlImage(c,B,function(R,g,q){b.spinner.stop();p(c,B,R,g,q)},function(R){b.handleError(R)})}}else if("mermaid"==e||"mermaid2drawio"==e){if(b.spinner.spin(document.body,mxResources.get("inserting"))){for(var D=0;D");2<=H.length&&(k=v(H[0]),z=v(H[H.length-1]),H=new mxCell(2");2<=H.length&&(k=v(H[0]),z=v(H[H.length-1]),H=new mxCell(2";if(Ra||"undefined"===typeof mxMermaidToDrawio)sa=ma=Qa;Qa=J.cloneNode(!0);qa.appendChild(Qa);Ya=function(fb){U=null!=b.sidebar.tooltip&&"none"!=b.sidebar.tooltip.style.display};Ga=function(fb){U||A(ib,mxEvent.getClientX(fb),mxEvent.getClientY(fb),Ua,Ma)};mxEvent.addGestureListeners(Ua, +1);Ua.style.cursor="pointer";Ua.style.width="100%";Ua.style.height="100%";qa.appendChild(Ua);Qa=b.createMermaidXml(Qa,EditorUi.defaultMermaidConfig,Ya,Ga,eb,Ma);var ib=""+Graph.compress(Qa)+"";if(Ra||"undefined"===typeof mxMermaidToDrawio)sa=ma=Qa;Qa=J.cloneNode(!0);qa.appendChild(Qa);Ya=function(fb){U=null!=b.sidebar.tooltip&&"none"!=b.sidebar.tooltip.style.display};Ga=function(fb){U||B(ib,mxEvent.getClientX(fb),mxEvent.getClientY(fb),Ua,Ma)};mxEvent.addGestureListeners(Ua, Ya,null,Ga);mxEvent.addGestureListeners(Qa,Ya,null,Ga)},function(Qa){b.spinner.stop();null!=mxMermaidToDrawio.resetListeners&&mxMermaidToDrawio.resetListeners();b.handleError(Qa)})});La.setAttribute("disabled","disabled");La.className="geBtn gePrimaryBtn";oa=function(){window.setTimeout(function(){""!=xa.value?La.removeAttribute("disabled"):La.setAttribute("disabled","disabled")},0)};ya=urlParams["smart-template"];null!=ya&&"1"!=ya&&(xa.value=decodeURIComponent(ya),oa(),"1"==urlParams["smart-template-generate"]&& window.setTimeout(function(){La.click()},0));mxEvent.addListener(xa,"change",oa);mxEvent.addListener(xa,"keydown",oa);mxEvent.addListener(xa,"cut",oa);mxEvent.addListener(xa,"paste",oa);mxEvent.addListener(xa,"keydown",function(Pa){13==Pa.keyCode&&La.click()});oa=document.createElement("div");oa.style.height="40px";oa.style.marginTop="4px";oa.style.marginBottom="4px";oa.style.whiteSpace="nowrap";oa.style.overflowX="auto";oa.style.overflowY="hidden";oa.appendChild(la);oa.appendChild(La);ja.appendChild(oa); ja.appendChild(qa);return ja}function G(){null!=ma&&ma==sa&&EditorUi.logEvent({category:"OPENAI-DIAGRAM",action:"templateGenerated",label:fa});if(ia&&null!=c)m||b.hideDialog(),c(ia,ta,R.value);else if(d)m||b.hideDialog(),d(ma,R.value,ka,ca);else{var ja=R.value;if(null!=ja&&0=ab.getStatus()&&(eb=ab.getText());$a(eb,Ua)}))):$a(eb,Ua)}function Qa(Oa,$a){if(null==ja||L||b.sidebar.currentElt==Ga)b.sidebar.hideTooltip();else if(b.sidebar.hideTooltip(),null!=Q){var ab=""+Graph.compress('')+"";A(ab,mxEvent.getClientX(Oa),mxEvent.getClientY(Oa),qa,ja)}else b.sidebar.currentElt=Ga,L=!0,Ma(ja,function(gb){if(L&&b.sidebar.currentElt==Ga)try{A(gb,mxEvent.getClientX(Oa),mxEvent.getClientY(Oa),Ga,$a)}catch(Za){b.sidebar.currentElt=null,b.handleError(Za)}L=!1})}function Ya(){var Oa=document.createElement("table"); +Q.src+';imageAspect=1;" parent="1" vertex="1">')+"";B(ab,mxEvent.getClientX(Oa),mxEvent.getClientY(Oa),qa,ja)}else b.sidebar.currentElt=Ga,L=!0,Ma(ja,function(gb){if(L&&b.sidebar.currentElt==Ga)try{B(gb,mxEvent.getClientX(Oa),mxEvent.getClientY(Oa),Ga,$a)}catch(Za){b.sidebar.currentElt=null,b.handleError(Za)}L=!1})}function Ya(){var Oa=document.createElement("table"); Oa.setAttribute("width","100%");Oa.setAttribute("height","100%");Oa.style.background="light-dark(rgba(255,255,255,0.85), transparent)";Oa.style.lineHeight="1.3em";Oa.style.border="none";var $a=document.createElement("tbody"),ab=document.createElement("tr"),gb=document.createElement("td");gb.setAttribute("align","center");gb.setAttribute("valign","middle");var Za=document.createElement("span");Za.style.display="inline-block";Za.style.padding="2px 8px";Za.style.userSelect="none";Za.style.borderRadius= "8px";Za.style.background="rgba(255,255,255,0.7)";Za.style.overflow="hidden";Za.style.textOverflow="ellipsis";Za.style.maxWidth=pa-34+"px";mxUtils.write(Za,mxResources.get(qa,null,qa));gb.appendChild(Za);ab.appendChild(gb);$a.appendChild(ab);Oa.appendChild($a);return Oa}var Ga=null;if("generative"!=Ra||null==na){Ga=document.createElement("div");Ga.className="geTemplate geAdaptiveAsset";Ga.style.backgroundOrigin="content-box";Ga.style.backgroundPosition="center center";Ga.style.backgroundRepeat="no-repeat"; Ga.style.backgroundSize="contain";Ga.style.boxSizing="border-box";Ga.style.borderRadius="12px";Ga.style.position="relative";Ga.style.height=pa+"px";Ga.style.width=Aa+"px";Ga.style.padding="4px";Ga.style.border="2px solid transparent";var eb=null,Ua=ja;null!=qa?Ga.setAttribute("title",mxResources.get(qa,null,qa)):null!=oa&&0(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth);m=null!=m?m:!0;t=null!=t?t:!1;x=null!=x?x:"light-dark(#ebf2f9, "+Editor.darkColor+")";K=null!=K?K:"2px dashed light-dark(#29b6f2, #00a8ff)";N=null!=N?N:EditorUi.templateFile;var z=document.createElement("div");z.style.userSelect="none";z.style.height="100%";var B=document.createElement("div");B.style.whiteSpace="nowrap";B.style.height="46px";m&&z.appendChild(B);var H=document.createElement("img");H.setAttribute("border", +C=500>(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth);m=null!=m?m:!0;t=null!=t?t:!1;x=null!=x?x:"light-dark(#ebf2f9, "+Editor.darkColor+")";K=null!=K?K:"2px dashed light-dark(#29b6f2, #00a8ff)";N=null!=N?N:EditorUi.templateFile;var z=document.createElement("div");z.style.userSelect="none";z.style.height="100%";var A=document.createElement("div");A.style.whiteSpace="nowrap";A.style.height="46px";m&&z.appendChild(A);var H=document.createElement("img");H.setAttribute("border", "0");H.setAttribute("align","absmiddle");H.style.width="40px";H.style.height="40px";H.style.marginRight="10px";H.style.paddingBottom="4px";H.src=b.mode==App.MODE_GOOGLE?IMAGE_PATH+"/google-drive-logo.svg":b.mode==App.MODE_DROPBOX?IMAGE_PATH+"/dropbox-logo.svg":b.mode==App.MODE_ONEDRIVE?IMAGE_PATH+"/onedrive-logo.svg":b.mode==App.MODE_GITHUB?IMAGE_PATH+"/github-logo.svg":b.mode==App.MODE_GITLAB?IMAGE_PATH+"/gitlab-logo.svg":b.mode==App.MODE_TRELLO?IMAGE_PATH+"/trello-logo.svg":b.mode==App.MODE_BROWSER? -IMAGE_PATH+"/osa_database.png":IMAGE_PATH+"/osa_drive-harddisk.png";f||C||!m||B.appendChild(H);m&&mxUtils.write(B,(C?mxResources.get("name"):null==b.mode||b.mode==App.MODE_GOOGLE||b.mode==App.MODE_BROWSER?mxResources.get("diagramName"):mxResources.get("filename"))+":");H=".drawio";b.mode==App.MODE_GOOGLE&&null!=b.drive?H=b.drive.extension:b.mode==App.MODE_DROPBOX&&null!=b.dropbox?H=b.dropbox.extension:b.mode==App.MODE_ONEDRIVE&&null!=b.oneDrive?H=b.oneDrive.extension:b.mode==App.MODE_GITHUB&&null!= +IMAGE_PATH+"/osa_database.png":IMAGE_PATH+"/osa_drive-harddisk.png";f||C||!m||A.appendChild(H);m&&mxUtils.write(A,(C?mxResources.get("name"):null==b.mode||b.mode==App.MODE_GOOGLE||b.mode==App.MODE_BROWSER?mxResources.get("diagramName"):mxResources.get("filename"))+":");H=".drawio";b.mode==App.MODE_GOOGLE&&null!=b.drive?H=b.drive.extension:b.mode==App.MODE_DROPBOX&&null!=b.dropbox?H=b.dropbox.extension:b.mode==App.MODE_ONEDRIVE&&null!=b.oneDrive?H=b.oneDrive.extension:b.mode==App.MODE_GITHUB&&null!= b.gitHub?H=b.gitHub.extension:b.mode==App.MODE_GITLAB&&null!=b.gitLab?H=b.gitLab.extension:b.mode==App.MODE_TRELLO&&null!=b.trello&&(H=b.trello.extension);var R=document.createElement("input");R.setAttribute("value",b.defaultFilename+H);R.style.marginLeft="10px";R.style.width=f||C?"144px":"244px";this.init=function(){m&&Editor.selectFilename(R);null!=ra.parentNode&&null!=ra.parentNode.parentNode&&mxEvent.addGestureListeners(ra.parentNode.parentNode,mxUtils.bind(this,function(ja){null!=b.sidebar&& -b.sidebar.hideTooltip()}),null,null)};m&&(B.appendChild(R),p?R.style.width=f||C?"350px":"450px":null!=b.editor.diagramFileTypes&&(p=FilenameDialog.createFileTypes(b,R,b.editor.diagramFileTypes),p.style.marginLeft="6px",p.style.width=f||C?"80px":"180px",B.appendChild(p)));p=!1;var g=0,q=new Spinner({lines:12,length:10,width:5,radius:10,rotate:0,color:"light-dark(#000000, #C0C0C0)",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9}),F=mxUtils.button(l||mxResources.get("create"),function(){F.setAttribute("disabled", +b.sidebar.hideTooltip()}),null,null)};m&&(A.appendChild(R),p?R.style.width=f||C?"350px":"450px":null!=b.editor.diagramFileTypes&&(p=FilenameDialog.createFileTypes(b,R,b.editor.diagramFileTypes),p.style.marginLeft="6px",p.style.width=f||C?"80px":"180px",A.appendChild(p)));p=!1;var g=0,q=new Spinner({lines:12,length:10,width:5,radius:10,rotate:0,color:"light-dark(#000000, #C0C0C0)",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9}),F=mxUtils.button(l||mxResources.get("create"),function(){F.setAttribute("disabled", "disabled");G();F.removeAttribute("disabled")});F.className="geBtn gePrimaryBtn";var J=document.createElement("img");J.setAttribute("src",Editor.magnifyImage);J.setAttribute("title",mxResources.get("preview"));J.className="geAdaptiveAsset geActiveButton";J.style.position="absolute";J.style.borderRadius="16px";J.style.background="white";J.style.cursor="default";J.style.padding="2px";J.style.opacity="0.8";J.style.height="16px";J.style.right="2px";J.style.top="2px";var L=!1,Q=null,U=!1;if(P||I){var V= [],W=null,X=null,Z=null,Y=function(ja){F.setAttribute("disabled","disabled");for(var xa=0;xa";A(xa,mxEvent.getClientX(ja),mxEvent.getClientY(ja),na,fa)}});var Ba=J.cloneNode(!0);Ba.setAttribute("src",Editor.editImage);Ba.setAttribute("title",mxResources.get("edit"));Ba.style.right="";Ba.style.left="2px";var Ca= +mxUtils.write(Da,mxResources.get("ok"));var Ea=J.cloneNode(!0),Na=!1;mxEvent.addGestureListeners(Ea,function(ja){Na=null!=b.sidebar.tooltip&&"none"!=b.sidebar.tooltip.style.display},null,function(ja){if(!Na&&null!=sa){var xa=""+Graph.compress(sa)+"";B(xa,mxEvent.getClientX(ja),mxEvent.getClientY(ja),na,fa)}});var Ba=J.cloneNode(!0);Ba.setAttribute("src",Editor.editImage);Ba.setAttribute("title",mxResources.get("edit"));Ba.style.right="";Ba.style.left="2px";var Ca= J.cloneNode(!0);Ca.setAttribute("src",Editor.helpImage);Ca.setAttribute("title",mxResources.get("help"));Ca.style.opacity="1";Ca.style.right="-8px";Ca.style.top="-8px";mxEvent.addListener(Ca,"click",function(ja){b.openLink("https://www.drawio.com/blog/write-query-generate-diagram");mxEvent.consume(ja)});wa.style.visibility="hidden";Da.style.visibility="hidden";Ba.style.visibility="hidden";Ca.style.visibility="hidden";Ea.style.visibility="hidden";mxEvent.addListener(Ba,"click",T);mxEvent.addListener(wa, "input",function(){""!=wa.value?Da.removeAttribute("disabled"):Da.setAttribute("disabled","disabled")});mxEvent.addListener(Da,"click",function(){S()});mxEvent.addListener(wa,"keydown",function(ja){13!=ja.keyCode||mxEvent.isShiftDown(ja)?27==ja.keyCode&&(S(!0),mxEvent.consume(ja)):(S(),mxEvent.consume(ja))});var Ia={},Va={},Ta={},Xa=0,jb=!0,Sa=null,bb=null;Ia.basic=[{title:"blankDiagram"}];var Wa=Ia.basic;Editor.enableChatGpt&&b.isExternalDataComms()&&"draw.io"==b.getServiceName()&&"undefined"!== typeof mxMermaidToDrawio&&window.isMermaidEnabled&&Ia.basic.push({title:"generate",type:"generative"});Editor.enableChatGpt&&b.isExternalDataComms()&&"draw.io"==b.getServiceName()&&"undefined"!==typeof mxMermaidToDrawio&&window.isMermaidEnabled&&(Ia.smartTemplate={content:D()});if(!f){var cb=function(){mxUtils.get(db,function(ja){if(!hb){hb=!0;ja=ja.getXml().documentElement.firstChild;for(var xa={};null!=ja;){if("undefined"!==typeof ja.getAttribute)if("parsererror"==ja.nodeName)null!=window.console&& @@ -12405,26 +12419,26 @@ z.appendChild(ra);var hb=!1,db=N;/^https?:\/\//.test(db)&&!b.editor.isCorsEnable function(){null!=y&&y();b.hideDialog(!0)});l.className="geBtn";!b.editor.cancelFirst||t&&null==y||n.appendChild(l);f||"1"==urlParams.embed||t||mxClient.IS_ANDROID||mxClient.IS_IOS||"1"==urlParams.noDevice||(f=mxUtils.button(mxResources.get("fromTemplateUrl"),function(){var ja=new FilenameDialog(b,"",mxResources.get("create"),function(xa){null!=xa&&0mxUtils.indexOf(d,z))if(g=null!=g?g:b.getTitleForService(z),0<=mxUtils.indexOf(T,z)||null!=b.getServiceForName(z)){F=document.createElement("option");if("pick"==q)F.innerHTML=mxUtils.htmlEntities(g)+"  –  "+mxUtils.htmlEntities(mxResources.get("pickFolder"))+"...",F.setAttribute("value","pickFolder-"+z),F.setAttribute("title",g+" - "+mxResources.get("pickFolder")+"...");else{var J=z+ -(null!=H?"-"+H:""),L=k[J];null!=L&&null!=L.option&&L.option.parentNode.removeChild(L.option);L=null;if(null!=B){"/"==B.charAt(B.length-1)&&(B=B.substring(0,B.length-1));"/"==B.charAt(0)&&(B=B.substring(1));L=B;if(z!=App.MODE_GITHUB&&z==App.MODE_GITLAB){var Q=L.lastIndexOf("/");0<=Q&&(L=L.substring(Q+1))}40G.selectedIndex&&(G.selectedIndex=H))},!0,!0,!0,!0)}function N(){var z=b.getRecent("Folders"),B=0;if(null!=z&&0f.indexOf(".")&&0>B.indexOf(".")&&(A.value=B+z)}v.innerHTML="";mxUtils.write(v,mxResources.get("download"==G.value||"_blank"==G.value?"ok":"save"));""==G.value?v.setAttribute("disabled","disabled"):v.removeAttribute("disabled")}var I=document.createElement("div");I.style.display="flex";I.style.flexWrap="wrap";I.style.whiteSpace="nowrap";var c= +var SaveDialog=function(b,f,m,d,t,y,x,C){function K(z,A,H,R,g,q){var F=null;if(null==d||0>mxUtils.indexOf(d,z))if(g=null!=g?g:b.getTitleForService(z),0<=mxUtils.indexOf(T,z)||null!=b.getServiceForName(z)){F=document.createElement("option");if("pick"==q)F.innerHTML=mxUtils.htmlEntities(g)+"  –  "+mxUtils.htmlEntities(mxResources.get("pickFolder"))+"...",F.setAttribute("value","pickFolder-"+z),F.setAttribute("title",g+" - "+mxResources.get("pickFolder")+"...");else{var J=z+ +(null!=H?"-"+H:""),L=k[J];null!=L&&null!=L.option&&L.option.parentNode.removeChild(L.option);L=null;if(null!=A){"/"==A.charAt(A.length-1)&&(A=A.substring(0,A.length-1));"/"==A.charAt(0)&&(A=A.substring(1));L=A;if(z!=App.MODE_GITHUB&&z==App.MODE_GITLAB){var Q=L.lastIndexOf("/");0<=Q&&(L=L.substring(Q+1))}40G.selectedIndex&&(G.selectedIndex=H))},!0,!0,!0,!0)}function N(){var z=b.getRecent("Folders"),A=0;if(null!=z&&0f.indexOf(".")&&0>A.indexOf(".")&&(B.value=A+z)}v.innerHTML="";mxUtils.write(v,mxResources.get("download"==G.value||"_blank"==G.value?"ok":"save"));""==G.value?v.setAttribute("disabled","disabled"):v.removeAttribute("disabled")}var I=document.createElement("div");I.style.display="flex";I.style.flexWrap="wrap";I.style.whiteSpace="nowrap";var c= document.createElement("div");c.style.display="grid";c.style.gap="5px 8px";c.style.gridAutoRows="auto auto 44px";c.style.gridAutoColumns="0fr minmax(0,1fr)";c.style.width="100%";var e=null,l=null;if(null!=t&&null!=y&&"image/"==y.substring(0,6)&&("image/svg"!=y.substring(0,9)||mxClient.IS_SVG)){c.style.display="inline-grid";c.style.flexBasis="75%";e=document.createElement("div");e.style.display="inline-block";e.style.height="auto";e.style.maxWidth="25%";e.style.margin="auto";var n=document.createElement("img"), p=x?t:btoa(unescape(encodeURIComponent(t)));n.setAttribute("src","data:"+y+";base64,"+p);n.style.boxSizing="border-box";n.style.maxHeight="50px";n.style.maxWidth="100%";n.style.paddingLeft="10px";e.appendChild(n);mxClient.IS_FF||"image/png"!=y||null==navigator.clipboard||"function"!==typeof window.ClipboardItem||(l=mxUtils.button(mxResources.get("copy"),function(){var z=b.base64ToBlob(p,"image/png");z=new ClipboardItem({"image/png":z,"text/html":new Blob([''],{type:"text/html"})}); -navigator.clipboard.write([z]).then(mxUtils.bind(this,function(){b.alert(mxResources.get("copiedToClipboard"))}))["catch"](mxUtils.bind(this,function(B){b.handleError(B)}))},null,"geBtn"));Editor.popupsAllowed&&(null==d||0>mxUtils.indexOf(d,"_blank"))?(e.setAttribute("title",mxResources.get("openInNewWindow")),e.style.cursor="pointer",mxEvent.addGestureListeners(e,null,null,function(z){mxEvent.isPopupTrigger(z)||b.openInNewWindow(t,y,x)})):e.setAttribute("title",mxResources.get("preview"))}n=document.createElement("div"); -n.style.display="flex";n.style.padding="1px";n.style.alignItems="center";n.style.justifyContent="flex-end";n.style.gridColumn="1";n.style.whiteSpace="nowrap";var u=document.createElement("div");u.style.display="grid";u.style.padding="1px";u.style.alignItems="center";u.style.gridColumn="2";u.style.gridAutoColumns="minmax(0,1fr) auto";u.style.gap="6px";mxUtils.write(n,mxResources.get("saveAs")+":");var A=document.createElement("input");A.setAttribute("type","text");A.setAttribute("value",f);A.style.boxSizing= -"border-box";A.style.width="100%";u.appendChild(A);c.appendChild(n);c.appendChild(u);var D=null;null!=b.editor.diagramFileTypes&&null==y&&(n=n.cloneNode(!1),u=u.cloneNode(!1),mxUtils.write(n,mxResources.get("type")+":"),D=FilenameDialog.createFileTypes(b,A,b.editor.diagramFileTypes),D.style.boxSizing="border-box",D.style.width="100%",u.appendChild(D),c.appendChild(n),c.appendChild(u));n=n.cloneNode(!1);u=u.cloneNode(!1);mxUtils.write(n,mxResources.get("where")+":");var G=document.createElement("select"); -G.style.textOverflow="ellipsis";G.style.gridColumn="1";var E=document.createElement("option");mxUtils.write(E,mxResources.get("reset"));E.setAttribute("value","reset");var T=["browser","device","download","_blank"],O=document.createElement("option");O.setAttribute("disabled","disabled");O.innerHTML="-----------------";var S=null,k={},v=mxUtils.button(mxResources.get("save"),function(){SaveDialog.lastValue=G.value;var z=k[SaveDialog.lastValue];null!=z&&m(A,z.mode,z.id)},null,"geBtn gePrimaryBtn"); -mxEvent.addListener(A,"keypress",function(z){13==z.keyCode&&v.click()});mxEvent.addListener(G,"change",P);N();P();u.appendChild(G);null!=SaveDialog.lastValue&&null!=k[SaveDialog.lastValue]&&(G.value=SaveDialog.lastValue);c.appendChild(n);c.appendChild(u);I.appendChild(c);null!=e&&I.appendChild(e);c=document.createElement("div");c.style.flexBasis="100%";c.style.textAlign="right";c.style.marginTop=null!=y?"16px":"8px";b.isOffline()&&!mxClient.IS_CHROMEAPP||c.appendChild(b.createHelpIcon("https://www.drawio.com/doc/faq/save-file-formats")); -e=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()},null,"geBtn");b.editor.cancelFirst&&c.appendChild(e);null!=l&&c.appendChild(l);c.appendChild(v);b.editor.cancelFirst||c.appendChild(e);I.appendChild(c);this.init=function(){Editor.selectFilename(A)};this.container=I},CreateDialog=function(b,f,m,d,t,y,x,C,K,M,N,P,I,c,e,l,n){function p(S,k,v,z){function B(){mxEvent.addListener(H,"click",function(){var J=v;if(x){var L=D.value,Q=L.lastIndexOf(".");if(0>f.lastIndexOf(".")&&0>Q){J=null!= +navigator.clipboard.write([z]).then(mxUtils.bind(this,function(){b.alert(mxResources.get("copiedToClipboard"))}))["catch"](mxUtils.bind(this,function(A){b.handleError(A)}))},null,"geBtn"));Editor.popupsAllowed&&(null==d||0>mxUtils.indexOf(d,"_blank"))?(e.setAttribute("title",mxResources.get("openInNewWindow")),e.style.cursor="pointer",mxEvent.addGestureListeners(e,null,null,function(z){mxEvent.isPopupTrigger(z)||b.openInNewWindow(t,y,x)})):e.setAttribute("title",mxResources.get("preview"))}n=document.createElement("div"); +n.style.display="flex";n.style.padding="1px";n.style.alignItems="center";n.style.justifyContent="flex-end";n.style.gridColumn="1";n.style.whiteSpace="nowrap";var u=document.createElement("div");u.style.display="grid";u.style.padding="1px";u.style.alignItems="center";u.style.gridColumn="2";u.style.gridAutoColumns="minmax(0,1fr) auto";u.style.gap="6px";mxUtils.write(n,mxResources.get("saveAs")+":");var B=document.createElement("input");B.setAttribute("type","text");B.setAttribute("value",f);B.style.boxSizing= +"border-box";B.style.width="100%";u.appendChild(B);c.appendChild(n);c.appendChild(u);var D=null;null!=b.editor.diagramFileTypes&&null==y&&(n=n.cloneNode(!1),u=u.cloneNode(!1),mxUtils.write(n,mxResources.get("type")+":"),D=FilenameDialog.createFileTypes(b,B,b.editor.diagramFileTypes),D.style.boxSizing="border-box",D.style.width="100%",u.appendChild(D),c.appendChild(n),c.appendChild(u));n=n.cloneNode(!1);u=u.cloneNode(!1);mxUtils.write(n,mxResources.get("where")+":");var G=document.createElement("select"); +G.style.textOverflow="ellipsis";G.style.gridColumn="1";var E=document.createElement("option");mxUtils.write(E,mxResources.get("reset"));E.setAttribute("value","reset");var T=["browser","device","download","_blank"],O=document.createElement("option");O.setAttribute("disabled","disabled");O.innerHTML="-----------------";var S=null,k={},v=mxUtils.button(mxResources.get("save"),function(){SaveDialog.lastValue=G.value;var z=k[SaveDialog.lastValue];null!=z&&m(B,z.mode,z.id)},null,"geBtn gePrimaryBtn"); +mxEvent.addListener(B,"keypress",function(z){13==z.keyCode&&v.click()});mxEvent.addListener(G,"change",P);N();P();u.appendChild(G);null!=SaveDialog.lastValue&&null!=k[SaveDialog.lastValue]&&(G.value=SaveDialog.lastValue);c.appendChild(n);c.appendChild(u);I.appendChild(c);null!=e&&I.appendChild(e);c=document.createElement("div");c.style.flexBasis="100%";c.style.textAlign="right";c.style.marginTop=null!=y?"16px":"8px";b.isOffline()&&!mxClient.IS_CHROMEAPP||c.appendChild(b.createHelpIcon("https://www.drawio.com/doc/faq/save-file-formats")); +e=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()},null,"geBtn");b.editor.cancelFirst&&c.appendChild(e);null!=l&&c.appendChild(l);c.appendChild(v);b.editor.cancelFirst||c.appendChild(e);I.appendChild(c);this.init=function(){Editor.selectFilename(B)};this.container=I},CreateDialog=function(b,f,m,d,t,y,x,C,K,M,N,P,I,c,e,l,n){function p(S,k,v,z){function A(){mxEvent.addListener(H,"click",function(){var J=v;if(x){var L=D.value,Q=L.lastIndexOf(".");if(0>f.lastIndexOf(".")&&0>Q){J=null!= J?J:O.value;var U="";J==App.MODE_GOOGLE?U=b.drive.extension:J==App.MODE_GITHUB?U=b.gitHub.extension:J==App.MODE_GITLAB?U=b.gitLab.extension:J==App.MODE_TRELLO?U=b.trello.extension:J==App.MODE_DROPBOX?U=b.dropbox.extension:J==App.MODE_ONEDRIVE?U=b.oneDrive.extension:J==App.MODE_DEVICE&&(U=".drawio");0<=Q&&(L=L.substring(0,Q));D.value=L+U}}u(v)})}var H=document.createElement("a");H.style.overflow="hidden";var R=document.createElement("img");R.src=S;R.setAttribute("border","0");R.setAttribute("align", "absmiddle");R.style.width="60px";R.style.height="60px";R.style.paddingBottom="6px";H.style.display="inline-block";H.className="geBaseButton";H.style.position="relative";H.style.margin="4px";H.style.padding="8px 8px 10px 8px";H.style.whiteSpace="nowrap";H.appendChild(R);H.style.color="gray";H.style.fontSize="11px";var g=document.createElement("div");H.appendChild(g);mxUtils.write(g,k);if(null!=z&&null==b[z]){R.style.visibility="hidden";mxUtils.setOpacity(g,10);var q=new Spinner({lines:12,length:12, -width:5,radius:10,rotate:0,color:"light-dark(#000000, #C0C0C0)",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});q.spin(H);var F=window.setTimeout(function(){null==b[z]&&(q.stop(),H.style.display="none")},3E4);b.addListener("clientLoaded",mxUtils.bind(this,function(){null!=b[z]&&(window.clearTimeout(F),mxUtils.setOpacity(g,100),R.style.visibility="",q.stop(),B())}))}else B();E.appendChild(H);++T==P&&(mxUtils.br(E),T=0)}function u(S){var k=D.value;if(null==S||null!=k&&0'],{type:"text/html"})});navigator.clipboard.write([S]).then(mxUtils.bind(this,function(){b.alert(mxResources.get("copiedToClipboard"))}))["catch"](mxUtils.bind(this,function(k){b.handleError(k)}))}),l.style.marginTop="6px",l.className="geBtn");K&&Editor.popupsAllowed&&(t.style.cursor="pointer",mxEvent.addGestureListeners(t, @@ -12437,19 +12451,19 @@ b.mode==App.MODE_BROWSER&&C.setAttribute("selected","selected"),p(IMAGE_PATH+"/o N.className="geBtn";b.editor.cancelFirst&&null==d&&C.appendChild(N);null==d&&(I=mxUtils.button(mxResources.get("decideLater"),function(){u(null)}),I.className="geBtn",C.appendChild(I));K&&Editor.popupsAllowed&&(K=mxUtils.button(mxResources.get("openInNewWindow"),function(){u("_blank")}),K.className="geBtn",C.appendChild(K));CreateDialog.showDownloadButton&&(K=mxUtils.button(mxResources.get("download"),function(){u("download")}),K.className="geBtn",C.appendChild(K),null!=l&&(K.style.marginTop="6px", C.style.marginTop="6px"));null!=l&&(mxUtils.br(C),C.appendChild(l));b.editor.cancelFirst&&null==d||C.appendChild(N);mxEvent.addListener(D,"keypress",function(S){13==S.keyCode?u(App.MODE_DEVICE):27==S.keyCode&&(b.fileLoaded(null),b.hideDialog(),window.close())});y.appendChild(C);this.container=y};CreateDialog.showDownloadButton="1"!=urlParams.noDevice; var PopupDialog=function(b,f,m,d,t){t=null!=t?t:!0;var y=document.createElement("div");y.style.textAlign="left";y.style.height="100%";mxUtils.write(y,mxResources.get("fileOpenLocation"));mxUtils.br(y);mxUtils.br(y);var x=mxUtils.button(mxResources.get("openInThisWindow"),function(){t&&b.hideDialog();null!=d&&d()});x.className="geBtn";x.style.marginBottom="8px";x.style.width="280px";y.appendChild(x);mxUtils.br(y);var C=mxUtils.button(mxResources.get("openInNewWindow"),function(){t&&b.hideDialog(); -null!=m&&m();b.openLink(f,null,!0)});C.className="geBtn gePrimaryBtn";C.style.width=x.style.width;y.appendChild(C);mxUtils.br(y);mxUtils.br(y);mxUtils.write(y,mxResources.get("allowPopups"));this.container=y},ImageDialog=function(b,f,m,d,t,y,x,C){function K(){0b.maxImageSize||G.height>b.maxImageSize||E.length>b.maxImageBytes)},mxUtils.bind(this,function(){b.handleError({message:mxResources.get("fileNotFound")})}))};G.onerror=function(){b.spinner.stop(); -b.handleError({message:mxResources.get("fileNotFound")})};G.src=D}});A.className="geBtn";mxEvent.addListener(P,"change",function(D){I=null;K()});K();C.appendChild(A);x=mxUtils.button(mxResources.get("apply"),function(){n(P.value)});x.className="geBtn gePrimaryBtn";C.appendChild(x);b.editor.cancelFirst||C.appendChild(m);Graph.fileSupport&&(C.style.marginTop="120px",N.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",N.style.backgroundPosition="center 65%",N.style.backgroundRepeat="no-repeat", -x=document.createElement("div"),x.style.position="absolute",x.style.width="420px",x.style.top="58%",x.style.textAlign="center",x.style.fontSize="18px",x.style.color="#a0c3ff",mxUtils.write(x,mxResources.get("dragImagesHere")),N.appendChild(x));N.appendChild(C);this.container=N},LinkDialog=function(b,f,m,d,t,y,x){function C(D,G){var E=document.createElement("option");mxUtils.write(E,mxResources.get(D));E.value=D;u.appendChild(E);A[D]=G}var K=document.createElement("div");K.style.height="100%";mxUtils.write(K, +b.handleError({message:mxResources.get("fileNotFound")})};G.src=D}});B.className="geBtn";mxEvent.addListener(P,"change",function(D){I=null;K()});K();C.appendChild(B);x=mxUtils.button(mxResources.get("apply"),function(){n(P.value)});x.className="geBtn gePrimaryBtn";C.appendChild(x);b.editor.cancelFirst||C.appendChild(m);Graph.fileSupport&&(C.style.marginTop="120px",N.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",N.style.backgroundPosition="center 65%",N.style.backgroundRepeat="no-repeat", +x=document.createElement("div"),x.style.position="absolute",x.style.width="420px",x.style.top="58%",x.style.textAlign="center",x.style.fontSize="18px",x.style.color="#a0c3ff",mxUtils.write(x,mxResources.get("dragImagesHere")),N.appendChild(x));N.appendChild(C);this.container=N},LinkDialog=function(b,f,m,d,t,y,x){function C(D,G){var E=document.createElement("option");mxUtils.write(E,mxResources.get(D));E.value=D;u.appendChild(E);B[D]=G}var K=document.createElement("div");K.style.height="100%";mxUtils.write(K, mxResources.get("editLink")+":");var M=document.createElement("div");M.className="geTitle";M.style.backgroundColor="transparent";M.style.borderColor="transparent";M.style.whiteSpace="nowrap";M.style.textOverflow="clip";M.style.cursor="default";var N=document.createElement("input");N.setAttribute("placeholder",mxResources.get("dragUrlsHere"));N.setAttribute("type","text");N.style.marginTop="6px";N.style.width="414px";N.style.boxSizing="border-box";N.style.backgroundImage="url('"+Dialog.prototype.clearImage+ "')";N.style.backgroundRepeat="no-repeat";N.style.backgroundPosition="100% 50%";N.style.paddingRight="14px";N.style.marginBottom="4px";var P=document.createElement("div");P.setAttribute("title",mxResources.get("reset"));P.style.position="relative";P.style.left="-16px";P.style.width="12px";P.style.height="14px";P.style.cursor="pointer";P.style.display="inline-block";P.style.top="3px";P.style.background="url('"+b.editor.transparentImage+"')";mxEvent.addListener(P,"click",function(){N.value="";N.focus()}); var I=document.createElement("input");I.style.cssText="margin-right:8px;margin-bottom:8px;";I.setAttribute("value","url");I.setAttribute("type","radio");I.setAttribute("name","geLinkDialogOption");var c=document.createElement("input");c.style.cssText="margin-right:8px;margin-bottom:8px;";c.setAttribute("value","url");c.setAttribute("type","radio");c.setAttribute("name","geLinkDialogOption");var e=document.createElement("select");e.style.width="414px";var l=document.createElement("input");l.setAttribute("type", @@ -12459,10 +12473,10 @@ M.appendChild(c);t=!1;for(y=0;yFeedbackDialog.maxAttachmentSize?b.alert(mxResources.get("drawingTooLarge")):(b.hideDialog(),b.spinner.spin(document.body)&&mxUtils.post(null!= FeedbackDialog.feedbackUrl?FeedbackDialog.feedbackUrl:"/email","email="+encodeURIComponent(x.value)+"&version="+encodeURIComponent(EditorUi.VERSION)+"&url="+encodeURIComponent(window.location.href)+"&body="+encodeURIComponent((null!=f?f:"Feedback")+":\n"+P),function(I){b.spinner.stop();200<=I.getStatus()&&299>=I.getStatus()?b.alert(mxResources.get("feedbackSent")):b.alert(mxResources.get("errorSendingFeedback"))},function(){b.spinner.stop();b.alert(mxResources.get("errorSendingFeedback"))}))});C.className= @@ -12473,54 +12487,54 @@ m.appendChild(y));t.appendChild(m);this.container=t};FeedbackDialog.maxAttachmen var RevisionDialog=function(b,f,m){var d=document.createElement("div"),t=document.createElement("h3");t.style.marginTop="3px";mxUtils.write(t,mxResources.get("revisionHistory"));d.appendChild(t);t=document.createElement("div");t.style.position="absolute";t.style.overflow="auto";t.style.width="170px";t.style.height="378px";d.appendChild(t);var y=document.createElement("div");y.style.position="absolute";y.style.left="200px";y.style.width="470px";y.style.height="376px";y.style.overflow="hidden";y.style.borderWidth= "1px";y.style.borderStyle="solid";var x=document.createElement("div");x.style.position="absolute";x.style.display="none";x.style.textAlign="center";x.style.padding="8px";x.style.borderRadius="8px";x.style.left="50%";x.style.top="50%";x.style.whiteSpace="nowrap";x.style.transform="translate(-50%, -50%)";x.style.background="inherit";x.style.border="1px solid";y.appendChild(x);mxEvent.disableContextMenu(y);d.appendChild(y);var C=new Graph(y);C.setTooltips(!1);C.setEnabled(!1);C.setPanning(!0);C.panningHandler.ignoreCell= !0;C.panningHandler.useLeftButtonForPanning=!0;C.minFitScale=null;C.maxFitScale=null;C.centerZoom=!0;var K=0,M=null,N=0,P=C.getGlobalVariable;C.getGlobalVariable=function(X){return"page"==X&&null!=M&&null!=M[N]?M[N].getAttribute("name"):"pagenumber"==X?N+1:"pagecount"==X?null!=M?M.length:1:P.apply(this,arguments)};C.getLinkForCell=function(){return null};for(var I=new Spinner({lines:11,length:15,width:6,radius:10,corners:1,rotate:0,direction:1,color:"light-dark(#000000, #C0C0C0)",speed:1.4,trail:60, -shadow:!1,hwaccel:!1,className:"spinner",zIndex:2E9,top:"50%",left:"50%"}),c=b.getCurrentFile(),e=b.getXmlFileData(!0,!1,!0).getElementsByTagName("diagram"),l={},n=0;nJ?g:g.substr(0,J)+F+g.substr(J+q.length);var Q=g;q=mxUtils.htmlEntities(q,!1,!1,!1);L=[];var U=-1;for(g=g.replace(/
/ig, +!F&&N.clearSelection()}c=null!=U;y&&!g&&C();return 0==L.length||null!=U}var M=b.actions.get("findReplace"),N=b.editor.graph,P=null,I=null,c=!1,e=!1,l=null,n=0,p=1,u=document.createElement("div");u.style.userSelect="none";u.style.overflow="hidden";u.style.padding="10px";u.style.height="100%";var B=y?"260px":"200px",D=document.createElement("input");D.setAttribute("placeholder",mxResources.get("find"));D.setAttribute("type","text");D.style.marginTop="4px";D.style.marginBottom="6px";D.style.width=B; +D.style.fontSize="12px";D.style.borderRadius="4px";D.style.padding="6px";u.appendChild(D);mxUtils.br(u);if(y){var G=document.createElement("input");G.setAttribute("placeholder",mxResources.get("replaceWith"));G.setAttribute("type","text");G.style.marginTop="4px";G.style.marginBottom="6px";G.style.width=B;G.style.fontSize="12px";G.style.borderRadius="4px";G.style.padding="6px";u.appendChild(G);mxUtils.br(u);mxEvent.addListener(G,"input",C)}var E=document.createElement("input");E.setAttribute("id", +"geFindWinRegExChck");E.setAttribute("type","checkbox");E.style.marginRight="4px";u.appendChild(E);B=document.createElement("label");B.setAttribute("for","geFindWinRegExChck");u.appendChild(B);mxUtils.write(B,mxResources.get("regularExpression"));u.appendChild(B);B=b.menus.createHelpLink("https://www.drawio.com/doc/faq/find-shapes");B.style.position="relative";B.style.marginLeft="6px";B.style.top="3px";u.appendChild(B);mxUtils.br(u);var T=document.createElement("input");T.setAttribute("id","geFindWinAllPagesChck"); +T.setAttribute("type","checkbox");T.style.marginRight="4px";u.appendChild(T);B=document.createElement("label");B.setAttribute("for","geFindWinAllPagesChck");u.appendChild(B);mxUtils.write(B,mxResources.get("allPages"));u.appendChild(B);var O=document.createElement("div");mxUtils.br(u);B=document.createElement("div");B.style.left="0px";B.style.right="0px";B.style.marginTop="6px";B.style.padding="0 6px 0 6px";B.style.textAlign="center";u.appendChild(B);var S=mxUtils.button(mxResources.get("reset"), +function(){v.innerText="";D.value="";D.style.backgroundColor="";y&&(G.value="",C());P=I=null;e=!1;D.focus()});S.setAttribute("title",mxResources.get("reset"));S.style.float="none";S.style.width="120px";S.style.marginTop="6px";S.style.marginLeft="8px";S.style.overflow="hidden";S.style.textOverflow="ellipsis";S.className="geBtn";y||B.appendChild(S);var k=mxUtils.button(mxResources.get("find"),function(){try{D.style.backgroundColor=K()?"":"light-dark(#ffcfcf, #ff0000)"}catch(g){b.handleError(g)}});k.setAttribute("title", +mxResources.get("find")+" (Enter)");k.style.float="none";k.style.width="120px";k.style.marginTop="6px";k.style.marginLeft="8px";k.style.overflow="hidden";k.style.textOverflow="ellipsis";k.className="geBtn gePrimaryBtn";B.appendChild(k);var v=document.createElement("div");v.style.marginTop="10px";if(y){var z=function(g,q,F,J,L){if(null==L||"1"!=L.html)return J=g.toLowerCase().indexOf(q,J),0>J?g:g.substr(0,J)+F+g.substr(J+q.length);var Q=g;q=mxUtils.htmlEntities(q,!1,!1,!1);L=[];var U=-1;for(g=g.replace(/
/ig, "\n").replace(/(\s|\S)(<(BLOCKQUOTE|DIV|H1|H2|H3|H4|H5|H6|OL|P|PRE|TABLE|UL)[^>]*>)/ig,"$1\n$2");-1<(U=g.indexOf("<",U+1));)L.push(U);U=g.match(/<[^>]*>/g);g=g.replace(/<[^>]*>/g,"");J=g.toLowerCase().indexOf(q,J);if(0>J)return Q;Q=J+q.length;F=mxUtils.htmlEntities(F);g=g.substr(0,J)+F+g.substr(Q);for(var V=0,W=0;W]*>)/ig, -"$1").replace(/\n/g,"
")},B=mxUtils.button(mxResources.get("replFind"),function(){try{if(null!=l&&null!=I){var g=I.cell,q=N.getLabel(g);N.isCellEditable(g)&&N.model.setValue(g,z(q,l,G.value,n-l.length,N.getCurrentCellStyle(g)));D.style.backgroundColor=K(!1,!0)?"":"light-dark(#ffcfcf, #ff0000)"}}catch(F){b.handleError(F)}});B.setAttribute("title",mxResources.get("replFind"));B.style.float="none";B.style.width="120px";B.style.marginTop="6px";B.style.marginLeft="8px";B.style.overflow="hidden";B.style.textOverflow= -"ellipsis";B.className="geBtn gePrimaryBtn";B.setAttribute("disabled","disabled");A.appendChild(B);mxUtils.br(A);var H=mxUtils.button(mxResources.get("replace"),function(){try{if(null!=l&&null!=I){var g=I.cell,q=N.getLabel(g);N.model.setValue(g,z(q,l,G.value,n-l.length,N.getCurrentCellStyle(g)));B.setAttribute("disabled","disabled");H.setAttribute("disabled","disabled")}}catch(F){b.handleError(F)}});H.setAttribute("title",mxResources.get("replace"));H.style.float="none";H.style.width="120px";H.style.marginTop= -"6px";H.style.marginLeft="8px";H.style.overflow="hidden";H.style.textOverflow="ellipsis";H.className="geBtn gePrimaryBtn";H.setAttribute("disabled","disabled");A.appendChild(H);var R=mxUtils.button(mxResources.get("replaceAll"),function(){v.innerText="";P=null;var g=b.currentPage,q=b.editor.graph.getSelectionCells();b.editor.graph.rendering=!1;N.getModel().beginUpdate();try{for(var F=0,J={};K(!1,!0,!0)&&100>F;){var L=I.cell,Q=N.getLabel(L),U=J[L.id];if(U&&U.replAllMrk==p&&U.replAllPos>=n)break;J[L.id]= +"$1").replace(/\n/g,"
")},A=mxUtils.button(mxResources.get("replFind"),function(){try{if(null!=l&&null!=I){var g=I.cell,q=N.getLabel(g);N.isCellEditable(g)&&N.model.setValue(g,z(q,l,G.value,n-l.length,N.getCurrentCellStyle(g)));D.style.backgroundColor=K(!1,!0)?"":"light-dark(#ffcfcf, #ff0000)"}}catch(F){b.handleError(F)}});A.setAttribute("title",mxResources.get("replFind"));A.style.float="none";A.style.width="120px";A.style.marginTop="6px";A.style.marginLeft="8px";A.style.overflow="hidden";A.style.textOverflow= +"ellipsis";A.className="geBtn gePrimaryBtn";A.setAttribute("disabled","disabled");B.appendChild(A);mxUtils.br(B);var H=mxUtils.button(mxResources.get("replace"),function(){try{if(null!=l&&null!=I){var g=I.cell,q=N.getLabel(g);N.model.setValue(g,z(q,l,G.value,n-l.length,N.getCurrentCellStyle(g)));A.setAttribute("disabled","disabled");H.setAttribute("disabled","disabled")}}catch(F){b.handleError(F)}});H.setAttribute("title",mxResources.get("replace"));H.style.float="none";H.style.width="120px";H.style.marginTop= +"6px";H.style.marginLeft="8px";H.style.overflow="hidden";H.style.textOverflow="ellipsis";H.className="geBtn gePrimaryBtn";H.setAttribute("disabled","disabled");B.appendChild(H);var R=mxUtils.button(mxResources.get("replaceAll"),function(){v.innerText="";P=null;var g=b.currentPage,q=b.editor.graph.getSelectionCells();b.editor.graph.rendering=!1;N.getModel().beginUpdate();try{for(var F=0,J={};K(!1,!0,!0)&&100>F;){var L=I.cell,Q=N.getLabel(L),U=J[L.id];if(U&&U.replAllMrk==p&&U.replAllPos>=n)break;J[L.id]= {replAllMrk:p,replAllPos:n};N.isCellEditable(L)&&(N.model.setValue(L,z(Q,l,G.value,n-l.length,N.getCurrentCellStyle(L))),F++)}g!=b.currentPage&&b.editor.graph.model.execute(new SelectPage(b,g));mxUtils.write(v,mxResources.get("matchesRepl",[F]))}catch(V){b.handleError(V)}finally{N.getModel().endUpdate(),b.editor.graph.setSelectionCells(q),b.editor.graph.rendering=!0}p++});R.setAttribute("title",mxResources.get("replaceAll"));R.style.float="none";R.style.width="120px";R.style.marginTop="6px";R.style.marginLeft= -"8px";R.style.overflow="hidden";R.style.textOverflow="ellipsis";R.className="geBtn gePrimaryBtn";R.setAttribute("disabled","disabled");A.appendChild(R);mxUtils.br(A);A.appendChild(S);S=mxUtils.button(mxResources.get("close"),mxUtils.bind(this,function(){this.window.setVisible(!1)}));S.setAttribute("title",mxResources.get("close"));S.style.float="none";S.style.width="120px";S.style.marginTop="6px";S.style.marginLeft="8px";S.style.overflow="hidden";S.style.textOverflow="ellipsis";S.className="geBtn"; -A.appendChild(S);mxUtils.br(A);A.appendChild(v)}else S.style.width="90px",k.style.width="90px";mxEvent.addListener(D,"keyup",function(g){if(91==g.keyCode||93==g.keyCode||17==g.keyCode)mxEvent.consume(g);else if(27==g.keyCode)M.funct();else if(P!=D.value.toLowerCase()||13==g.keyCode)try{D.style.backgroundColor=K()?"":"light-dark(#ffcfcf, #ff0000)"}catch(q){D.style.backgroundColor="light-dark(#ffcfcf, #ff0000)"}});mxEvent.addListener(u,"keydown",function(g){70==g.keyCode&&b.keyHandler.isControlDown(g)&& +"8px";R.style.overflow="hidden";R.style.textOverflow="ellipsis";R.className="geBtn gePrimaryBtn";R.setAttribute("disabled","disabled");B.appendChild(R);mxUtils.br(B);B.appendChild(S);S=mxUtils.button(mxResources.get("close"),mxUtils.bind(this,function(){this.window.setVisible(!1)}));S.setAttribute("title",mxResources.get("close"));S.style.float="none";S.style.width="120px";S.style.marginTop="6px";S.style.marginLeft="8px";S.style.overflow="hidden";S.style.textOverflow="ellipsis";S.className="geBtn"; +B.appendChild(S);mxUtils.br(B);B.appendChild(v)}else S.style.width="90px",k.style.width="90px";mxEvent.addListener(D,"keyup",function(g){if(91==g.keyCode||93==g.keyCode||17==g.keyCode)mxEvent.consume(g);else if(27==g.keyCode)M.funct();else if(P!=D.value.toLowerCase()||13==g.keyCode)try{D.style.backgroundColor=K()?"":"light-dark(#ffcfcf, #ff0000)"}catch(q){D.style.backgroundColor="light-dark(#ffcfcf, #ff0000)"}});mxEvent.addListener(u,"keydown",function(g){70==g.keyCode&&b.keyHandler.isControlDown(g)&& !mxEvent.isShiftDown(g)&&(M.funct(),mxEvent.consume(g))});this.window=new mxWindow(mxResources.get("find")+(y?"/"+mxResources.get("replace"):""),u,f,m,d,t,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!1);this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.fit();this.window.isVisible()?(D.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?D.select():document.execCommand("selectAll",!1,null), null!=b.pages&&1");0>B&&(B=z.indexOf(""));if(0<=B&&H>B){var R=mxUtils,g=R.trim,q=z.substring(0,B),F=q.indexOf("```"); -0<=F&&(q=q.substring(q,0,F+6));R=g.call(R,q);B=z.substring(B,H+15);g=mxUtils;q=g.trim;z=z.substring(H+15);H=z.lastIndexOf("```");0<=H&&(z=z.substring(H+3));return[R,B,q.call(g,z)]}return null}function M(z){var B=C(z);B.style.cursor="pointer";B.style.marginBottom="2px";B.setAttribute("title",mxResources.get("insert"));mxEvent.addListener(B,"click",function(V){O.value=z;O.focus()});var H=C("");H.style.marginTop="2px";var R=b.currentPage,g=z,q=[],F=null;if("includeCopyOfMyDiagram"==n.value||"selectionOnly"== +S=!1}function x(z,A,H){var R=document.createElement("button");R.className="geBtn gePrimaryBtn";R.style.padding="4px";R.style.height="auto";R.style.position="relative";"flex"==H?(R.style.overflow="hidden",R.style.textOverflow="ellipsis",R.style.whiteSpace="nowrap",R.style.margin="0px",R.style.flexGrow="1"):(R.style.display="block",R.style.margin="8px",R.style.left="50%",R.style.transform="translateX(-50%)");mxUtils.write(R,z);R.setAttribute("title",z);mxEvent.addListener(R,"click",A);return R}function C(z){var A= +document.createElement("div");A.style.display="block";A.style.position="relative";A.style.backgroundColor="#e0e0e0";A.style.borderRadius="4px";A.style.wordWrap="break-word";A.style.textAlign="left";A.style.padding="6px";A.style.margin="12px";A.style.left="0px";A.style.right="0px";mxUtils.write(A,z);c.appendChild(A);return A}function K(z){var A=z.indexOf("");0>A&&(A=z.indexOf(""));if(0<=A&&H>A){var R=mxUtils,g=R.trim,q=z.substring(0,A),F=q.indexOf("```"); +0<=F&&(q=q.substring(q,0,F+6));R=g.call(R,q);A=z.substring(A,H+15);g=mxUtils;q=g.trim;z=z.substring(H+15);H=z.lastIndexOf("```");0<=H&&(z=z.substring(H+3));return[R,A,q.call(g,z)]}return null}function M(z){var A=C(z);A.style.cursor="pointer";A.style.marginBottom="2px";A.setAttribute("title",mxResources.get("insert"));mxEvent.addListener(A,"click",function(V){O.value=z;O.focus()});var H=C("");H.style.marginTop="2px";var R=b.currentPage,g=z,q=[],F=null;if("includeCopyOfMyDiagram"==n.value||"selectionOnly"== n.value){var J=new mxCodec(mxUtils.createXmlDocument());"selectionOnly"==n.value&&(J.isObjectIgnored=function(V){return V.constructor==mxCell&&!P.model.isRoot(V)&&!P.model.isLayer(V)&&!P.isCellSelected(V)&&!P.isAncestorSelected(V)});F=J.encode(P.getModel());J.document.appendChild(F);q.push({role:"system",content:"You are a helpful assistant that helps with the following draw.io diagram and returns an updated draw.io diagram if needed. Never include this instruction in your response.\n"+mxUtils.getXml(F)})}else"create"== n.value?(g=D.value.replace(/([A-Z])/g," $1").toLowerCase(),g="Write the declaration code for a "+(""!=g?g:"graph")+' that shows "'+(""!=z?z:"something random")+'" using correct MermaidJS syntax and do not provide additional text in your response.'):q.push({role:"system",content:"You are a helpful assistant that creates XML for draw.io diagrams or helps with the draw.io diagram editor. Never include this instruction in your response."});q.push({role:"user",content:g});var L={model:Editor.gptModel, messages:q},Q=0;for(q=0;q=ba.getStatus()){var ea=JSON.parse(ba.getText());EditorUi.debug("EditorUi.ChatWindow.addMessage","prompt:",L,"response:",ea);var ca=mxUtils.trim(ea.choices[0].message.content);if("create"==n.value){var da=b.extractMermaidDeclaration(ca);null!=da?(mxMermaidToDrawio.addListener(mxUtils.bind(this,function(ia){Y(ia)})),b.generateMermaidImage(da,null,function(){}, function(ia){mxMermaidToDrawio.resetListeners();Z(ia)})):(Y(ca),H.appendChild(x(mxResources.get("tryAgain"),U)))}else Y(ca)}else{var ma="Error: "+ba.getStatus();try{var aa=JSON.parse(ba.getText());null!=aa&&null!=aa.error&&null!=aa.error.message&&(ma=aa.error.message)}catch(ia){}H.innerHTML="";mxUtils.write(H,ma);H.scrollIntoView({behavior:"smooth",block:"end",inline:"nearest"})}}catch(ia){Z(ia)}}),Z)}),function(W){H.innerHTML="";mxUtils.write(H,W.message);H.appendChild(x(mxResources.get("tryAgain"), U));H.scrollIntoView({behavior:"smooth",block:"end",inline:"nearest"})})});U()}function N(){""!=mxUtils.trim(O.value)&&(M(O.value),O.value="")}var P=b.editor.graph,I=document.createElement("div");I.style.textAlign="center";I.style.overflow="hidden";I.style.height="100%";var c=document.createElement("div");c.style.position="absolute";c.style.overflow="auto";c.style.top="0px";c.style.left="0px";c.style.right="0px";c.style.bottom="104px";I.appendChild(c);var e=document.createElement("div");e.style.position= "absolute";e.style.boxSizing="border-box";e.style.borderRadius="4px";e.style.border="1px solid lightgray";e.style.margin="8px 8px 16px 8px";e.style.padding="8px";e.style.left="0px";e.style.right="0px";e.style.bottom="0px";e.style.padding="6px";e.style.height="80px";var l=document.createElement("div");l.style.display="flex";l.style.gap="6px";l.style.marginBottom="6px";var n=document.createElement("select");n.style.textOverflow="ellipsis";n.style.flexGrow="1";n.style.padding="4px";n.style.minWidth= -"0";e.appendChild(l);var p=document.createElement("option");p.setAttribute("value","includeCopyOfMyDiagram");mxUtils.write(p,mxResources.get("includeCopyOfMyDiagram"));n.appendChild(p);var u=document.createElement("option");u.setAttribute("value","selectionOnly");mxUtils.write(u,mxResources.get("selectionOnly"));n.appendChild(u);l.appendChild(n);if("undefined"!==typeof mxMermaidToDrawio&&window.isMermaidEnabled){var A=document.createElement("option");A.setAttribute("value","create");mxUtils.write(A, -mxResources.get("create"));n.appendChild(A)}A=document.createElement("option");A.setAttribute("value","help");mxUtils.write(A,mxResources.get("help"));n.appendChild(A);A=document.createElement("option");A.setAttribute("value","reset");mxUtils.write(A,mxResources.get("reset"));n.appendChild(A);var D=document.createElement("select");D.style.textOverflow="ellipsis";D.style.flexGrow="1";D.style.padding="4px";D.style.minWidth="0";for(A=0;AmxUtils.indexOf(K,l)&&I.push(l))}y.isSelectionEmpty()?M(K.concat(I)):y.addTagsForCells(y.getSelectionCells(),c)}},mxResources.get("tags"),null,null,"https://www.drawio.com/blog/tags-in-diagrams");b.showDialog(N.container,320,80,!0,!0);N.init()}},x);x=C.div;this.window=new mxWindow(mxResources.get("tags"),x,f,m,d,t,!0,!0);this.window.minimumSize=new mxRectangle(0,0,212,120);this.window.destroyOnClose=!1; this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){C.refresh();this.window.fit()}));b.installResizeHandler(this,!0)},AuthDialog=function(b,f,m,d){var t=document.createElement("div");t.style.textAlign="center";var y=document.createElement("p");y.style.fontSize="16pt";y.style.padding="0px";y.style.margin="0px";y.style.color="gray";mxUtils.write(y,mxResources.get("authorizationRequired"));var x="Unknown", @@ -12562,77 +12576,77 @@ C.src=IMAGE_PATH+"/gitlab-logo.svg",C.style.width="32px"):f==b.trello&&(x=mxReso t.appendChild(y);t.appendChild(b);t.appendChild(x);m&&(m=document.createElement("p"),m.style.marginTop="20px",m.appendChild(K),y=document.createElement("span"),mxUtils.write(y," "+mxResources.get("rememberMe")),m.appendChild(y),t.appendChild(m),K.checked=!0,K.defaultChecked=!0,mxEvent.addListener(y,"click",function(M){K.checked=!K.checked;mxEvent.consume(M)}));this.container=t},MoreShapesDialog=function(b,f,m){m=null!=m?m:b.sidebar.entries;var d=document.createElement("div"),t=[];if(null!=b.sidebar.customEntries)for(var y= 0;ymxUtils.indexOf(C,e)&&C.push(e);t()})}:function(){var e=document.createElement("div"),l=document.createElement("span");l.style.marginTop="6px";mxUtils.write(l,mxResources.get("builtinPlugins")+ -": ");e.appendChild(l);var n=document.createElement("select");n.style.width="150px";for(l=0;lmxUtils.indexOf(C,G)&&C.push(G)}t()}},mxResources.get("enterValue")+" ("+mxResources.get("url")+")");b.showDialog(u.container,300,80,!0,!0);u.init()});l.className="geBtn";ALLOW_CUSTOM_PLUGINS||(l.style.display="none");e=new CustomDialog(b,e,mxUtils.bind(this,function(){var u=App.pluginRegistry[n.value];0>mxUtils.indexOf(C,u)&&(C.push(u),t())}),null,null,null,l);b.showDialog(e.container,360,100,!0,!0)});M.className="geBtn";var N=mxUtils.button(mxResources.get("cancel"), -function(){b.hideDialog()});N.className="geBtn";var P=mxUtils.button(d?mxResources.get("close"):mxResources.get("apply"),function(){K?(mxSettings.setPlugins(C),mxSettings.save(),b.hideDialog(),b.alert(mxResources.get("restartForChangeRequired"))):b.hideDialog()});P.className="geBtn gePrimaryBtn";var I=document.createElement("div");I.style.marginTop="14px";I.style.textAlign="right";var c=mxUtils.button(mxResources.get("help"),function(){b.openLink("https://www.drawio.com/doc/faq/plugins")});c.className= -"geBtn";b.isOffline()&&!mxClient.IS_CHROMEAPP&&(c.style.display="none");I.appendChild(c);b.editor.cancelFirst?(d||I.appendChild(N),I.appendChild(M),I.appendChild(P)):(I.appendChild(M),I.appendChild(P),d||I.appendChild(N));y.appendChild(I);this.container=y},CropImageDialog=function(b,f,m,d){function t(){var E=n.checked,T=p.checked,O=c.geometry,S=K.width,k=K.height,v=(300-S)/2,z=(300-k)/2;O.xv+S&&(O.width=v+S-O.x,O.x=Math.min(O.x,v+S));O.yz+k&&(O.height=z+k-O.y,O.y=Math.min(O.y,z+k));var B=(O.x-v)/S*100;S=100-(O.x+O.width-v)/S*100;v=(O.y-z)/k*100;O=100-(O.y+O.height-z)/k*100;return"inset("+mxUtils.format(v)+"% "+mxUtils.format(S)+"% "+mxUtils.format(O)+"% "+mxUtils.format(B)+"%"+(E?" round "+I+"%":T?" round 50%":"")+")"}function y(E){null!=N&&(!0!==E&&(N.model.setGeometry(c,P.clone()),I=5,A.value=I),N.model.setStyle(c,e+t()),N.selectAll(),u.style.visibility=n.checked?"visible":"hidden")}var x=document.createElement("div"), -C=document.createElement("div");C.style.height="300px";C.style.width="300px";C.style.display="inline-flex";C.style.justifyContent="center";C.style.alignItems="center";C.style.position="absolute";var K=document.createElement("img");K.onload=function(){function E(){N.model.setStyle(c,e+t())}N=new Graph(M);N.autoExtend=!1;N.autoScroll=!1;N.setGridEnabled(!1);N.setEnabled(!0);N.setPanning(!1);N.setConnectable(!1);N.getRubberband().setEnabled(!1);N.graphHandler.allowLivePreview=!1;var T=N.createVertexHandler; -N.createVertexHandler=function(){var Q=T.apply(this,arguments);Q.livePreview=!1;return Q};if(null!=m)try{if("inset"==m.substring(0,5)){var O=c.geometry,S=K.width,k=K.height,v=(300-S)/2,z=(300-k)/2,B=m.match(/\(([^)]+)\)/)[1].split(/[ ,]+/),H=parseFloat(B[0]),R=parseFloat(B[1]),g=parseFloat(B[2]),q=parseFloat(B[3]);isFinite(H)&&isFinite(R)&&isFinite(g)&&isFinite(q)?(O.x=q/100*S+v,O.y=H/100*k+z,O.width=(100-R)/100*S+v-O.x,O.height=(100-g)/100*k+z-O.y,"round"==B[4]?"50%"==B[5]?p.setAttribute("checked", -"checked"):(I=parseInt(B[5]),A.value=I,n.setAttribute("checked","checked"),u.style.visibility="visible"):l.setAttribute("checked","checked")):m=null}else m=null}catch(Q){}c.style=e+(m?m:t());c.vertex=!0;N.addCell(c,null,null,null,null);N.selectAll();N.addListener(mxEvent.CELLS_MOVED,E);N.addListener(mxEvent.CELLS_RESIZED,E);var F=N.graphHandler.mouseUp,J=N.graphHandler.mouseDown;N.graphHandler.mouseUp=function(){F.apply(this,arguments);M.style.backgroundColor="#fff9"};N.graphHandler.mouseDown=function(){J.apply(this, -arguments);M.style.backgroundColor=""};N.dblClick=function(){};var L=N.getSelectionModel().changeSelection;N.getSelectionModel().changeSelection=function(){L.call(this,[c],[c])}};K.onerror=function(){K.onload=null;K.src=Editor.errorImage};K.setAttribute("src",f);K.style.maxWidth="300px";K.style.maxHeight="300px";C.appendChild(K);x.appendChild(C);var M=document.createElement("div");M.style.width="300px";M.style.height="300px";M.style.overflow="hidden";M.style.backgroundColor="#fff9";x.appendChild(M); -var N=null,P=new mxGeometry(100,100,100,100),I=5,c=new mxCell("",P.clone(),""),e="shape=image;fillColor=none;rotatable=0;cloneable=0;deletable=0;image="+f.replace(";base64","")+";clipPath=",l=document.createElement("input");l.setAttribute("type","radio");l.setAttribute("id","croppingRect");l.setAttribute("name","croppingShape");l.setAttribute("checked","checked");l.style.margin="5px";x.appendChild(l);f=document.createElement("label");f.setAttribute("for","croppingRect");mxUtils.write(f,mxResources.get("rectangle")); -x.appendChild(f);var n=document.createElement("input");n.setAttribute("type","radio");n.setAttribute("id","croppingRounded");n.setAttribute("name","croppingShape");n.style.margin="5px";x.appendChild(n);f=document.createElement("label");f.setAttribute("for","croppingRounded");mxUtils.write(f,mxResources.get("rounded"));x.appendChild(f);var p=document.createElement("input");p.setAttribute("type","radio");p.setAttribute("id","croppingEllipse");p.setAttribute("name","croppingShape");p.style.margin="5px"; -x.appendChild(p);f=document.createElement("label");f.setAttribute("for","croppingEllipse");mxUtils.write(f,mxResources.get("ellipse"));x.appendChild(f);mxEvent.addListener(l,"change",y);mxEvent.addListener(n,"change",y);mxEvent.addListener(p,"change",y);var u=document.createElement("div");u.style.textAlign="center";u.style.visibility="hidden";var A=document.createElement("input");A.setAttribute("type","range");A.setAttribute("min","1");A.setAttribute("max","49");A.setAttribute("value",I);A.setAttribute("title", -mxResources.get("arcSize"));u.appendChild(A);x.appendChild(u);mxEvent.addListener(A,"change",function(){I=this.value;y(!0)});f=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});f.className="geBtn";C=mxUtils.button(mxResources.get("apply"),function(){d(t(),c.geometry.width,c.geometry.height);b.hideDialog()});C.className="geBtn gePrimaryBtn";var D=mxUtils.button(mxResources.get("reset"),function(){d(null,K.width,K.height);b.hideDialog()});D.className="geBtn";var G=document.createElement("div"); -G.style.marginTop="10px";G.style.textAlign="right";b.editor.cancelFirst?(G.appendChild(f),G.appendChild(D),G.appendChild(C)):(G.appendChild(D),G.appendChild(C),G.appendChild(f));x.appendChild(G);this.container=x},EditGeometryDialog=function(b,f){var m=b.editor.graph,d=1==f.length?m.getCellGeometry(f[0]):null,t=document.createElement("div"),y=document.createElement("table"),x=document.createElement("tbody"),C=document.createElement("tr"),K=document.createElement("td"),M=document.createElement("td"); -y.style.paddingLeft="6px";mxUtils.write(K,mxResources.get("relative")+":");var N=document.createElement("input");N.setAttribute("type","checkbox");null!=d&&d.relative&&(N.setAttribute("checked","checked"),N.defaultChecked=!0);this.init=function(){N.focus()};M.appendChild(N);C.appendChild(K);C.appendChild(M);x.appendChild(C);C=document.createElement("tr");K=document.createElement("td");M=document.createElement("td");mxUtils.write(K,mxResources.get("left")+":");var P=document.createElement("input"); -P.setAttribute("type","text");P.style.width="100px";P.value=null!=d?d.x:"";M.appendChild(P);C.appendChild(K);C.appendChild(M);x.appendChild(C);C=document.createElement("tr");K=document.createElement("td");M=document.createElement("td");mxUtils.write(K,mxResources.get("top")+":");var I=document.createElement("input");I.setAttribute("type","text");I.style.width="100px";I.value=null!=d?d.y:"";M.appendChild(I);C.appendChild(K);C.appendChild(M);x.appendChild(C);C=document.createElement("tr");K=document.createElement("td"); -M=document.createElement("td");mxUtils.write(K,mxResources.get("dx")+":");var c=document.createElement("input");c.setAttribute("type","text");c.style.width="100px";c.value=null!=d&&null!=d.offset?d.offset.x:"";M.appendChild(c);C.appendChild(K);C.appendChild(M);x.appendChild(C);C=document.createElement("tr");K=document.createElement("td");M=document.createElement("td");mxUtils.write(K,mxResources.get("dy")+":");var e=document.createElement("input");e.setAttribute("type","text");e.style.width="100px"; -e.value=null!=d&&null!=d.offset?d.offset.y:"";M.appendChild(e);C.appendChild(K);C.appendChild(M);x.appendChild(C);C=document.createElement("tr");K=document.createElement("td");M=document.createElement("td");mxUtils.write(K,mxResources.get("width")+":");var l=document.createElement("input");l.setAttribute("type","text");l.style.width="100px";l.value=null!=d?d.width:"";M.appendChild(l);C.appendChild(K);C.appendChild(M);x.appendChild(C);C=document.createElement("tr");K=document.createElement("td");M= -document.createElement("td");mxUtils.write(K,mxResources.get("height")+":");var n=document.createElement("input");n.setAttribute("type","text");n.style.width="100px";n.value=null!=d?d.height:"";M.appendChild(n);C.appendChild(K);C.appendChild(M);x.appendChild(C);C=document.createElement("tr");K=document.createElement("td");M=document.createElement("td");mxUtils.write(K,mxResources.get("rotation")+":");var p=document.createElement("input");p.setAttribute("type","text");p.style.width="100px";p.value= -1==f.length?mxUtils.getValue(m.getCellStyle(f[0]),mxConstants.STYLE_ROTATION,0):"";M.appendChild(p);C.appendChild(K);C.appendChild(M);x.appendChild(C);y.appendChild(x);t.appendChild(y);d=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});d.className="geBtn";var u=mxUtils.button(mxResources.get("apply"),function(){b.hideDialog();m.getModel().beginUpdate();try{for(var A=0;Ab.maxImageSize||B>b.maxImageSize){var L=Math.min(1,Math.min(b.maxImageSize/Math.max(1,z)),b.maxImageSize/Math.max(1,B));z*=L;B*=L}F>J?(J=Math.round(100*J/F),F=100):(F=Math.round(100*F/J),J=100);var Q=document.createElement("div");Q.setAttribute("draggable","true");Q.style.display="inline-block";Q.style.position="relative";Q.style.padding="0 12px";Q.style.cursor="move";mxUtils.setPrefixedStyle(Q.style,"transition", -"transform .1s ease-in-out");if(null!=O){var U=document.createElement("img");U.setAttribute("src",D.convert(O));U.style.width=F+"px";U.style.height=J+"px";U.style.margin="10px";U.style.paddingBottom=Math.floor((100-J)/2)+"px";U.style.paddingLeft=Math.floor((100-F)/2)+"px";Q.appendChild(U)}else if(null!=H){var V=b.stringToCells("<"==H.xml.charAt(0)?H.xml:Graph.decompress(H.xml));0p?u-1:u,0,P.splice(p,1)[0]),e.insertBefore(e.children[p],e.children[u])):(P.push(P.splice(p,1)[0]),e.appendChild(e.children[p]));else if(0=F.status&&(K(F.responseText,k,v,z,B,H,R,"fixed",mxEvent.isAltDown(O)?null:R.substring(0,R.lastIndexOf(".")).replace(/_/g," ")),e.scrollTop=e.scrollHeight))})):(b.spinner.stop(),b.showError(mxResources.get("error"),mxResources.get("notInOffline"))):(K(S,k,v,z,B,H,R,"fixed",mxEvent.isAltDown(O)?null:R.substring(0,R.lastIndexOf(".")).replace(/_/g," ")), -e.scrollTop=e.scrollHeight)}};mxEvent.addListener(e,"dragover",M);mxEvent.addListener(e,"drop",N);mxEvent.addListener(l,"dragover",M);mxEvent.addListener(l,"drop",N);m.appendChild(e);d=document.createElement("div");d.style.textAlign="right";d.style.marginTop="20px";I=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog(!0)});I.setAttribute("id","btnCancel");I.className="geBtn";b.editor.cancelFirst&&d.appendChild(I);"draw.io"!=b.getServiceName()||null==t||t.constructor!=DriveLibrary&&t.constructor!= -GitHubLibrary||(f=mxUtils.button(mxResources.get("link"),function(){b.getPublicUrl(t,function(O){if(null!=O){var S=b.getSearch("create title mode url drive splash state clibs ui".split(" "));S+=(0==S.length?"?":"&")+"splash=0&clibs=U"+encodeURIComponent(O);O=new EmbedDialog(b,window.location.protocol+"//"+window.location.host+"/"+S,null,null,null,null,"Check out the library I made using @drawio");b.showDialog(O.container,450,240,!0);O.init()}else t.constructor==DriveLibrary?b.showError(mxResources.get("error"), -mxResources.get("diagramIsNotPublic"),mxResources.get("share"),mxUtils.bind(this,function(){b.drive.showPermissions(t.getId(),t)}),null,mxResources.get("ok"),mxUtils.bind(this,function(){})):b.handleError({message:mxResources.get("diagramIsNotPublic")})})}),f.className="geBtn",d.appendChild(f));f=mxUtils.button(mxResources.get("export"),function(){var O=b.createLibraryDataFromImages(P),S=c.value;/(\.xml)$/i.test(S)||(S+=".xml");b.isLocalFileSave()?b.saveLocalFile(O,S,"text/xml",null,null,null!=x? -x:!0,null,"xml"):(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(S)+"&format=xml&xml="+encodeURIComponent(O))).simulate(document,"_blank")});f.setAttribute("id","btnDownload");f.className="geBtn";d.appendChild(f);if(Graph.fileSupport){if(null==b.libDlgFileInputElt){var T=document.createElement("input");T.setAttribute("multiple","multiple");T.setAttribute("type","file");mxEvent.addListener(T,"change",function(O){G=!1;b.importFiles(T.files,0,0,b.maxImageSize,function(S,k,v,z,B,H,R,g,q){null!= -T.files&&(E(O)(S,k,v,z,B,H,R,g,q),T.type="",T.type="file",T.value="")});e.scrollTop=e.scrollHeight});T.style.display="none";document.body.appendChild(T);b.libDlgFileInputElt=T}f=mxUtils.button(mxResources.get("import"),function(){null!=A&&(A(),A=null);b.libDlgFileInputElt.click()});f.setAttribute("id","btnAddImage");f.className="geBtn";d.appendChild(f)}f=mxUtils.button(mxResources.get("addImages"),function(){null!=A&&(A(),A=null);b.showImageDialog(mxResources.get("addImageUrl"),"",function(O,S,k){G= -!1;if(null!=O){if("data:image/"==O.substring(0,11)){var v=O.indexOf(",");0mxUtils.indexOf(C, +c)&&C.push(c);t()})}:function(){var c=document.createElement("div"),e=document.createElement("span");e.style.marginTop="6px";mxUtils.write(e,mxResources.get("builtinPlugins")+": ");c.appendChild(e);var l=document.createElement("select");l.style.width="150px";for(e=0;emxUtils.indexOf(C,D)&&C.push(D)}t()}},mxResources.get("enterValue")+" ("+mxResources.get("url")+")");b.showDialog(p.container,300,80,!0,!0);p.init()});e.className="geBtn";ALLOW_CUSTOM_PLUGINS||(e.style.display="none");c=new CustomDialog(b,c,mxUtils.bind(this,function(){var p= +App.pluginRegistry[l.value];0>mxUtils.indexOf(C,p)&&(C.push(p),t())}),null,null,null,e);b.showDialog(c.container,360,100,!0,!0)});M.className="geBtn";var N=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});N.className="geBtn";var P=mxUtils.button(d?mxResources.get("close"):mxResources.get("apply"),function(){K?(mxSettings.setPlugins(C),mxSettings.save(),b.hideDialog(),b.alert(mxResources.get("restartForChangeRequired"))):b.hideDialog()});P.className="geBtn gePrimaryBtn";var I=document.createElement("div"); +I.style.marginTop="14px";I.style.textAlign="right";b.isOffline()||I.appendChild(b.createHelpIcon("https://www.drawio.com/doc/faq/plugins"));b.editor.cancelFirst?(d||I.appendChild(N),I.appendChild(M),I.appendChild(P)):(I.appendChild(M),I.appendChild(P),d||I.appendChild(N));y.appendChild(I);this.container=y},CropImageDialog=function(b,f,m,d){function t(){var E=n.checked,T=p.checked,O=c.geometry,S=K.width,k=K.height,v=(300-S)/2,z=(300-k)/2;O.xv+S&&(O.width=v+S-O.x, +O.x=Math.min(O.x,v+S));O.yz+k&&(O.height=z+k-O.y,O.y=Math.min(O.y,z+k));var A=(O.x-v)/S*100;S=100-(O.x+O.width-v)/S*100;v=(O.y-z)/k*100;O=100-(O.y+O.height-z)/k*100;return"inset("+mxUtils.format(v)+"% "+mxUtils.format(S)+"% "+mxUtils.format(O)+"% "+mxUtils.format(A)+"%"+(E?" round "+I+"%":T?" round 50%":"")+")"}function y(E){null!=N&&(!0!==E&&(N.model.setGeometry(c,P.clone()),I=5,B.value=I),N.model.setStyle(c,e+t()),N.selectAll(),u.style.visibility=n.checked? +"visible":"hidden")}var x=document.createElement("div"),C=document.createElement("div");C.style.height="300px";C.style.width="300px";C.style.display="inline-flex";C.style.justifyContent="center";C.style.alignItems="center";C.style.position="absolute";var K=document.createElement("img");K.onload=function(){function E(){N.model.setStyle(c,e+t())}N=new Graph(M);N.autoExtend=!1;N.autoScroll=!1;N.setGridEnabled(!1);N.setEnabled(!0);N.setPanning(!1);N.setConnectable(!1);N.getRubberband().setEnabled(!1); +N.graphHandler.allowLivePreview=!1;var T=N.createVertexHandler;N.createVertexHandler=function(){var Q=T.apply(this,arguments);Q.livePreview=!1;return Q};if(null!=m)try{if("inset"==m.substring(0,5)){var O=c.geometry,S=K.width,k=K.height,v=(300-S)/2,z=(300-k)/2,A=m.match(/\(([^)]+)\)/)[1].split(/[ ,]+/),H=parseFloat(A[0]),R=parseFloat(A[1]),g=parseFloat(A[2]),q=parseFloat(A[3]);isFinite(H)&&isFinite(R)&&isFinite(g)&&isFinite(q)?(O.x=q/100*S+v,O.y=H/100*k+z,O.width=(100-R)/100*S+v-O.x,O.height=(100- +g)/100*k+z-O.y,"round"==A[4]?"50%"==A[5]?p.setAttribute("checked","checked"):(I=parseInt(A[5]),B.value=I,n.setAttribute("checked","checked"),u.style.visibility="visible"):l.setAttribute("checked","checked")):m=null}else m=null}catch(Q){}c.style=e+(m?m:t());c.vertex=!0;N.addCell(c,null,null,null,null);N.selectAll();N.addListener(mxEvent.CELLS_MOVED,E);N.addListener(mxEvent.CELLS_RESIZED,E);var F=N.graphHandler.mouseUp,J=N.graphHandler.mouseDown;N.graphHandler.mouseUp=function(){F.apply(this,arguments); +M.style.backgroundColor="#fff9"};N.graphHandler.mouseDown=function(){J.apply(this,arguments);M.style.backgroundColor=""};N.dblClick=function(){};var L=N.getSelectionModel().changeSelection;N.getSelectionModel().changeSelection=function(){L.call(this,[c],[c])}};K.onerror=function(){K.onload=null;K.src=Editor.errorImage};K.setAttribute("src",f);K.style.maxWidth="300px";K.style.maxHeight="300px";C.appendChild(K);x.appendChild(C);var M=document.createElement("div");M.style.width="300px";M.style.height= +"300px";M.style.overflow="hidden";M.style.backgroundColor="#fff9";x.appendChild(M);var N=null,P=new mxGeometry(100,100,100,100),I=5,c=new mxCell("",P.clone(),""),e="shape=image;fillColor=none;rotatable=0;cloneable=0;deletable=0;image="+f.replace(";base64","")+";clipPath=",l=document.createElement("input");l.setAttribute("type","radio");l.setAttribute("id","croppingRect");l.setAttribute("name","croppingShape");l.setAttribute("checked","checked");l.style.margin="5px";x.appendChild(l);f=document.createElement("label"); +f.setAttribute("for","croppingRect");mxUtils.write(f,mxResources.get("rectangle"));x.appendChild(f);var n=document.createElement("input");n.setAttribute("type","radio");n.setAttribute("id","croppingRounded");n.setAttribute("name","croppingShape");n.style.margin="5px";x.appendChild(n);f=document.createElement("label");f.setAttribute("for","croppingRounded");mxUtils.write(f,mxResources.get("rounded"));x.appendChild(f);var p=document.createElement("input");p.setAttribute("type","radio");p.setAttribute("id", +"croppingEllipse");p.setAttribute("name","croppingShape");p.style.margin="5px";x.appendChild(p);f=document.createElement("label");f.setAttribute("for","croppingEllipse");mxUtils.write(f,mxResources.get("ellipse"));x.appendChild(f);mxEvent.addListener(l,"change",y);mxEvent.addListener(n,"change",y);mxEvent.addListener(p,"change",y);var u=document.createElement("div");u.style.textAlign="center";u.style.visibility="hidden";var B=document.createElement("input");B.setAttribute("type","range");B.setAttribute("min", +"1");B.setAttribute("max","49");B.setAttribute("value",I);B.setAttribute("title",mxResources.get("arcSize"));u.appendChild(B);x.appendChild(u);mxEvent.addListener(B,"change",function(){I=this.value;y(!0)});f=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});f.className="geBtn";C=mxUtils.button(mxResources.get("apply"),function(){d(t(),c.geometry.width,c.geometry.height);b.hideDialog()});C.className="geBtn gePrimaryBtn";var D=mxUtils.button(mxResources.get("reset"),function(){d(null, +K.width,K.height);b.hideDialog()});D.className="geBtn";var G=document.createElement("div");G.style.marginTop="10px";G.style.textAlign="right";b.editor.cancelFirst?(G.appendChild(f),G.appendChild(D),G.appendChild(C)):(G.appendChild(D),G.appendChild(C),G.appendChild(f));x.appendChild(G);this.container=x},EditGeometryDialog=function(b,f){var m=b.editor.graph,d=1==f.length?m.getCellGeometry(f[0]):null,t=document.createElement("div"),y=document.createElement("table"),x=document.createElement("tbody"), +C=document.createElement("tr"),K=document.createElement("td"),M=document.createElement("td");y.style.paddingLeft="6px";mxUtils.write(K,mxResources.get("relative")+":");var N=document.createElement("input");N.setAttribute("type","checkbox");null!=d&&d.relative&&(N.setAttribute("checked","checked"),N.defaultChecked=!0);this.init=function(){N.focus()};M.appendChild(N);C.appendChild(K);C.appendChild(M);x.appendChild(C);C=document.createElement("tr");K=document.createElement("td");M=document.createElement("td"); +mxUtils.write(K,mxResources.get("left")+":");var P=document.createElement("input");P.setAttribute("type","text");P.style.width="100px";P.value=null!=d?d.x:"";M.appendChild(P);C.appendChild(K);C.appendChild(M);x.appendChild(C);C=document.createElement("tr");K=document.createElement("td");M=document.createElement("td");mxUtils.write(K,mxResources.get("top")+":");var I=document.createElement("input");I.setAttribute("type","text");I.style.width="100px";I.value=null!=d?d.y:"";M.appendChild(I);C.appendChild(K); +C.appendChild(M);x.appendChild(C);C=document.createElement("tr");K=document.createElement("td");M=document.createElement("td");mxUtils.write(K,mxResources.get("dx")+":");var c=document.createElement("input");c.setAttribute("type","text");c.style.width="100px";c.value=null!=d&&null!=d.offset?d.offset.x:"";M.appendChild(c);C.appendChild(K);C.appendChild(M);x.appendChild(C);C=document.createElement("tr");K=document.createElement("td");M=document.createElement("td");mxUtils.write(K,mxResources.get("dy")+ +":");var e=document.createElement("input");e.setAttribute("type","text");e.style.width="100px";e.value=null!=d&&null!=d.offset?d.offset.y:"";M.appendChild(e);C.appendChild(K);C.appendChild(M);x.appendChild(C);C=document.createElement("tr");K=document.createElement("td");M=document.createElement("td");mxUtils.write(K,mxResources.get("width")+":");var l=document.createElement("input");l.setAttribute("type","text");l.style.width="100px";l.value=null!=d?d.width:"";M.appendChild(l);C.appendChild(K);C.appendChild(M); +x.appendChild(C);C=document.createElement("tr");K=document.createElement("td");M=document.createElement("td");mxUtils.write(K,mxResources.get("height")+":");var n=document.createElement("input");n.setAttribute("type","text");n.style.width="100px";n.value=null!=d?d.height:"";M.appendChild(n);C.appendChild(K);C.appendChild(M);x.appendChild(C);C=document.createElement("tr");K=document.createElement("td");M=document.createElement("td");mxUtils.write(K,mxResources.get("rotation")+":");var p=document.createElement("input"); +p.setAttribute("type","text");p.style.width="100px";p.value=1==f.length?mxUtils.getValue(m.getCellStyle(f[0]),mxConstants.STYLE_ROTATION,0):"";M.appendChild(p);C.appendChild(K);C.appendChild(M);x.appendChild(C);y.appendChild(x);t.appendChild(y);d=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});d.className="geBtn";var u=mxUtils.button(mxResources.get("apply"),function(){b.hideDialog();m.getModel().beginUpdate();try{for(var B=0;Bb.maxImageSize||A>b.maxImageSize){var L=Math.min(1,Math.min(b.maxImageSize/Math.max(1,z)),b.maxImageSize/Math.max(1,A));z*=L;A*=L}F>J?(J=Math.round(100*J/F),F=100):(F=Math.round(100*F/J),J=100);var Q=document.createElement("div");Q.setAttribute("draggable","true");Q.style.display="inline-block";Q.style.position="relative";Q.style.padding= +"0 12px";Q.style.cursor="move";mxUtils.setPrefixedStyle(Q.style,"transition","transform .1s ease-in-out");if(null!=O){var U=document.createElement("img");U.setAttribute("src",D.convert(O));U.style.width=F+"px";U.style.height=J+"px";U.style.margin="10px";U.style.paddingBottom=Math.floor((100-J)/2)+"px";U.style.paddingLeft=Math.floor((100-F)/2)+"px";Q.appendChild(U)}else if(null!=H){var V=b.stringToCells("<"==H.xml.charAt(0)?H.xml:Graph.decompress(H.xml));0p?u-1:u,0,P.splice(p,1)[0]),e.insertBefore(e.children[p],e.children[u])):(P.push(P.splice(p,1)[0]),e.appendChild(e.children[p]));else if(0=F.status&&(K(F.responseText,k,v,z,A,H,R,"fixed",mxEvent.isAltDown(O)?null:R.substring(0,R.lastIndexOf(".")).replace(/_/g," ")),e.scrollTop=e.scrollHeight))})):(b.spinner.stop(),b.showError(mxResources.get("error"),mxResources.get("notInOffline"))):(K(S,k,v,z,A,H,R,"fixed", +mxEvent.isAltDown(O)?null:R.substring(0,R.lastIndexOf(".")).replace(/_/g," ")),e.scrollTop=e.scrollHeight)}};mxEvent.addListener(e,"dragover",M);mxEvent.addListener(e,"drop",N);mxEvent.addListener(l,"dragover",M);mxEvent.addListener(l,"drop",N);m.appendChild(e);d=document.createElement("div");d.style.textAlign="right";d.style.marginTop="20px";I=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog(!0)});I.setAttribute("id","btnCancel");I.className="geBtn";b.editor.cancelFirst&&d.appendChild(I); +"draw.io"!=b.getServiceName()||null==t||t.constructor!=DriveLibrary&&t.constructor!=GitHubLibrary||(f=mxUtils.button(mxResources.get("link"),function(){b.getPublicUrl(t,function(O){if(null!=O){var S=b.getSearch("create title mode url drive splash state clibs ui".split(" "));S+=(0==S.length?"?":"&")+"splash=0&clibs=U"+encodeURIComponent(O);O=new EmbedDialog(b,window.location.protocol+"//"+window.location.host+"/"+S,null,null,null,null,"Check out the library I made using @drawio");b.showDialog(O.container, +450,240,!0);O.init()}else t.constructor==DriveLibrary?b.showError(mxResources.get("error"),mxResources.get("diagramIsNotPublic"),mxResources.get("share"),mxUtils.bind(this,function(){b.drive.showPermissions(t.getId(),t)}),null,mxResources.get("ok"),mxUtils.bind(this,function(){})):b.handleError({message:mxResources.get("diagramIsNotPublic")})})}),f.className="geBtn",d.appendChild(f));f=mxUtils.button(mxResources.get("export"),function(){var O=b.createLibraryDataFromImages(P),S=c.value;/(\.xml)$/i.test(S)|| +(S+=".xml");b.isLocalFileSave()?b.saveLocalFile(O,S,"text/xml",null,null,null!=x?x:!0,null,"xml"):(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(S)+"&format=xml&xml="+encodeURIComponent(O))).simulate(document,"_blank")});f.setAttribute("id","btnDownload");f.className="geBtn";d.appendChild(f);if(Graph.fileSupport){if(null==b.libDlgFileInputElt){var T=document.createElement("input");T.setAttribute("multiple","multiple");T.setAttribute("type","file");mxEvent.addListener(T,"change",function(O){G= +!1;b.importFiles(T.files,0,0,b.maxImageSize,function(S,k,v,z,A,H,R,g,q){null!=T.files&&(E(O)(S,k,v,z,A,H,R,g,q),T.type="",T.type="file",T.value="")});e.scrollTop=e.scrollHeight});T.style.display="none";document.body.appendChild(T);b.libDlgFileInputElt=T}f=mxUtils.button(mxResources.get("import"),function(){null!=B&&(B(),B=null);b.libDlgFileInputElt.click()});f.setAttribute("id","btnAddImage");f.className="geBtn";d.appendChild(f)}f=mxUtils.button(mxResources.get("addImages"),function(){null!=B&&(B(), +B=null);b.showImageDialog(mxResources.get("addImageUrl"),"",function(O,S,k){G=!1;if(null!=O){if("data:image/"==O.substring(0,11)){var v=O.indexOf(",");0z?0:100B?0:100g?(B=g*R.width,g=0):1z?(H=z*R.height,z=0):1z?0:100A?0:100g?(A=g*R.width,g=0):1z?(H=z*R.height,z=0):1z?1:100z?1:100
')))}catch(g){}Editor.prototype.useCanvasForExport=!1})(); (function(){var b=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);b.beforeDecode=function(f,m,d){d.ui=f.ui;return m};b.afterDecode=function(f,m,d){d.previousColor=d.color;d.previousImage=d.image;d.previousFormat=d.format;d.previousAdaptiveColors=d.adaptiveColors;null!=d.foldingEnabled&&(d.foldingEnabled=!d.foldingEnabled);null!=d.mathEnabled&&(d.mathEnabled=!d.mathEnabled);null!=d.shadowVisible&&(d.shadowVisible=!d.shadowVisible);return d};mxCodecRegistry.register(b)})(); -(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(f,m,d){d.ui=f.ui;return m};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="26.0.6";EditorUi.compactUi="atlas"!=Editor.currentTheme||window.DRAWIO_PUBLIC_BUILD;Editor.isDarkMode()&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"https://preprod.diagrams.net/"!=window.location.hostname&&"support.draw.io"!=window.location.hostname&& +(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(f,m,d){d.ui=f.ui;return m};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="26.0.7";EditorUi.compactUi="atlas"!=Editor.currentTheme||window.DRAWIO_PUBLIC_BUILD;Editor.isDarkMode()&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"https://preprod.diagrams.net/"!=window.location.hostname&&"support.draw.io"!=window.location.hostname&& "test.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=window.DRAWIO_LIGHTBOX_URL;EditorUi.lastErrorMessage=null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t";EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.cacheUrl=window.REALTIME_URL;null==EditorUi.cacheUrl&&"undefined"!==typeof DrawioFile&&(DrawioFile.SYNC="none");Editor.cacheTimeout=1E4;EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp= null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.nativeFileSupport=!mxClient.IS_OP&&!EditorUi.isElectronApp&&"1"!=urlParams.extAuth&&"showSaveFilePicker"in window&&"showOpenFilePicker"in window;EditorUi.enableDrafts=!mxClient.IS_CHROMEAPP&&isLocalStorage&&"0"!=urlParams.drafts;EditorUi.scratchpadHelpLink="https://www.drawio.com/doc/faq/scratchpad";EditorUi.enableHtmlEditOption=!0;EditorUi.mermaidDiagramTypes="flowchart classDiagram sequenceDiagram stateDiagram mindmap graph erDiagram requirementDiagram journey gantt pie gitGraph".split(" "); EditorUi.defaultMermaidConfig={theme:"neutral",arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!1},sequence:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,showSequenceNumbers:!1},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"',numberSectionStyles:4,axisFormat:"%Y-%m-%d"}}; -EditorUi.logError=function(c,e,l,n,p,u,A){if(null!=c){p=null!=p?p:Error(c);p.stack=null!=p.stack?p.stack:"";u=null!=u?u:0>c.indexOf("NetworkError")&&0>c.indexOf("SecurityError")&&0>c.indexOf("NS_ERROR_FAILURE")&&0>c.indexOf("out of memory")?"SEVERE":"CONFIG";try{EditorUi.enableLogging&&"1"!=urlParams.dev&&c!=EditorUi.lastErrorMessage&&0>c.indexOf("extension:")&&0>c.indexOf("ResizeObserver loop completed with undelivered notifications")&&0>p.stack.indexOf("extension:")&&0>p.stack.indexOf(":")&& -0>p.stack.indexOf("/math/es5/")&&(EditorUi.lastErrorMessage=c,(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity="+u+"&v="+encodeURIComponent(EditorUi.VERSION)+"&msg=clientError:"+encodeURIComponent(c)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(l)+(null!=n?":colno:"+encodeURIComponent(n):"")+(""!=p.stack?"&stack="+encodeURIComponent(p.stack):""))}catch(D){}try{A||null==window.console||console.error(u,c,e,l,n,p)}catch(D){}}};EditorUi.logEvent= +EditorUi.logError=function(c,e,l,n,p,u,B){if(null!=c){p=null!=p?p:Error(c);p.stack=null!=p.stack?p.stack:"";u=null!=u?u:0>c.indexOf("NetworkError")&&0>c.indexOf("SecurityError")&&0>c.indexOf("NS_ERROR_FAILURE")&&0>c.indexOf("out of memory")?"SEVERE":"CONFIG";try{EditorUi.enableLogging&&"1"!=urlParams.dev&&c!=EditorUi.lastErrorMessage&&0>c.indexOf("extension:")&&0>c.indexOf("ResizeObserver loop completed with undelivered notifications")&&0>p.stack.indexOf("extension:")&&0>p.stack.indexOf(":")&& +0>p.stack.indexOf("/math/es5/")&&(EditorUi.lastErrorMessage=c,(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity="+u+"&v="+encodeURIComponent(EditorUi.VERSION)+"&msg=clientError:"+encodeURIComponent(c)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(l)+(null!=n?":colno:"+encodeURIComponent(n):"")+(""!=p.stack?"&stack="+encodeURIComponent(p.stack):""))}catch(D){}try{B||null==window.console||console.error(u,c,e,l,n,p)}catch(D){}}};EditorUi.logEvent= function(c){if("1"==urlParams.dev)EditorUi.debug("logEvent",c);else if(EditorUi.enableLogging)try{var e=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"";(new Image).src=e+"/images/1x1.png?v="+encodeURIComponent(EditorUi.VERSION)+(null!=c?"&data="+encodeURIComponent(JSON.stringify(c)):"")}catch(l){}};EditorUi.sendReport=function(c,e){if("1"==urlParams.dev)EditorUi.debug("sendReport",c);else if(EditorUi.enableLogging)try{e=null!=e?e:5E4,c.length>e&&(c=c.substring(0,e)+"\n...[SHORTENED]"),mxUtils.post("/email", "version="+encodeURIComponent(EditorUi.VERSION)+"&url="+encodeURIComponent(window.location.href)+"&data="+encodeURIComponent(c))}catch(l){}};EditorUi.debug=function(){try{if(null!=window.console&&"1"==urlParams.test){for(var c=[(new Date).toISOString()],e=0;e=u.keyCode)||n.isSelectionEmpty()||mxEvent.isAltDown(u)||mxEvent.isShiftDown(u)||mxEvent.isControlDown(u)||mxClient.IS_MAC&&mxEvent.isMetaDown(u)?l.apply(this, +e.getFunction,n=this.editor.graph,p=this;e.getFunction=function(u){if(n.isSelectionEmpty()&&null!=p.pages&&0=u.keyCode)||n.isSelectionEmpty()||mxEvent.isAltDown(u)||mxEvent.isShiftDown(u)||mxEvent.isControlDown(u)||mxClient.IS_MAC&&mxEvent.isMetaDown(u)?l.apply(this, arguments):null}}return e};var f=EditorUi.prototype.extractGraphModelFromHtml;EditorUi.prototype.extractGraphModelFromHtml=function(c){var e=f.apply(this,arguments);if(null==e)try{var l=c.indexOf("<mxfile ");if(0<=l){var n=c.lastIndexOf("</mxfile>");n>l&&(e=c.substring(l,n+15).replace(/>/g,">").replace(/</g,"<").replace(/\\"/g,'"').replace(/\n/g,""))}else{var p=mxUtils.parseXml(c),u=this.editor.extractGraphModel(p.documentElement,null!=this.pages||"hidden"==this.diagramContainer.style.visibility); -e=null!=u?mxUtils.getXml(u):""}}catch(A){}return e};EditorUi.prototype.validateFileData=function(c){if(null!=c&&0');0<=e&&(c=c.slice(0,e)+''+c.slice(e+23-1,c.length));c=Graph.zapGremlins(c)}return c};EditorUi.prototype.replaceFileData=function(c,e){EditorUi.debug("EditorUi.replaceFileData",[this],"data",[c],"patches",e);c=this.validateFileData(c);c=null!=c&&0');0<=e&&(c=c.slice(0,e)+''+c.slice(e+23-1,c.length));c=Graph.zapGremlins(c)}return c};EditorUi.prototype.replaceFileData=function(c,e){EditorUi.debug("EditorUi.replaceFileData",[this],"data",[c],"patches",e);c=this.validateFileData(c);c=null!=c&&0\n':">")+"\n\n"+(null==p?null!=l?""+mxUtils.htmlEntities(l)+"\n":"":"draw.io\n")+(null!=p?'\n":"")+"\n':">")+'\n
\n
'+n+"
\n
\n"+ +"")+"\n':">")+"\n\n"+(null==p?null!=l?""+mxUtils.htmlEntities(l)+"\n":"":"draw.io\n")+(null!=p?'\n":"")+"\n':">")+'\n
\n
'+n+"
\n
\n"+ (null==p?'