From a8d4e61d1456d6774433ecda660a211d27d8c0bc Mon Sep 17 00:00:00 2001 From: "David Benson [draw.io]" Date: Mon, 15 Feb 2021 12:29:36 +0000 Subject: [PATCH] 14.3.2 release --- ChangeLog | 8 + VERSION | 2 +- src/main/webapp/js/app.min.js | 2865 ++++++++++--------- src/main/webapp/js/clear.js | 12 +- src/main/webapp/js/diagramly/App.js | 31 +- src/main/webapp/js/diagramly/Dialogs.js | 21 +- src/main/webapp/js/diagramly/DriveClient.js | 40 + src/main/webapp/js/diagramly/Editor.js | 23 +- src/main/webapp/js/diagramly/EditorUi.js | 50 +- src/main/webapp/js/diagramly/Extensions.js | 109 +- src/main/webapp/js/diagramly/GraphViewer.js | 9 +- src/main/webapp/js/diagramly/Menus.js | 8 +- src/main/webapp/js/extensions.min.js | 1864 ++++++------ src/main/webapp/js/grapheditor/Graph.js | 140 +- src/main/webapp/js/viewer-static.min.js | 1909 ++++++------ src/main/webapp/js/viewer.min.js | 1909 ++++++------ src/main/webapp/mxgraph/mxClient.js | 2 +- src/main/webapp/service-worker.js | 8 +- 18 files changed, 4628 insertions(+), 4382 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2d9bca23..16621ae8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +15-FEB-2021: 14.3.2 + +- Adds flow animation style +- Makes grid steps configurable +- Adds ctrl+drop to insert dropped content as new page +- Uses app.diagrams.net for editing [DID-1717] +- Fixes drag and drop for SVG+XML files + 11-FEB-2021: 14.3.1 - Adds support for regional direction to back-ends diff --git a/VERSION b/VERSION index 7ea95c24..4abdeacb 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -14.3.1 \ No newline at end of file +14.3.2 \ No newline at end of file diff --git a/src/main/webapp/js/app.min.js b/src/main/webapp/js/app.min.js index 6ec4034f..bb17483c 100644 --- a/src/main/webapp/js/app.min.js +++ b/src/main/webapp/js/app.min.js @@ -240,7 +240,7 @@ function setCurrentXml(a,b){null!=window.parent&&null!=window.parent.openFile&&w null!=a&&(DRAWIO_GITLAB_ID=a);window.DRAWIO_LOG_URL=window.DRAWIO_LOG_URL||"";a=window.location.host;if("test.draw.io"!=a){var c="diagrams.net",b=a.length-c.length,c=a.lastIndexOf(c,b);-1!==c&&c===b?window.DRAWIO_LOG_URL="https://log.diagrams.net":(c="draw.io",b=a.length-c.length,c=a.lastIndexOf(c,b),-1!==c&&c===b&&(window.DRAWIO_LOG_URL="https://log.draw.io"))}})(); if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==urlParams.local||"1"==urlParams.lockdown)urlParams.picker="0",urlParams.gapi="0",urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.gl="0",urlParams.tr="0";"trello"==urlParams.mode&&(urlParams.tr="1");if("1"==urlParams.offline||"1"==urlParams.local)urlParams.math="0";"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);window.urlParams=window.urlParams||{};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:"14.3.0",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&& +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:"14.3.1",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),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),IS_GC:/Google Inc/.test(navigator.vendor),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:"undefined"!==typeof InstallTrigger,IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0> navigator.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_VML:"MICROSOFT INTERNET EXPLORER"==navigator.appName.toUpperCase(),IS_SVG:"MICROSOFT INTERNET EXPLORER"!= @@ -2124,12 +2124,12 @@ Editor.prototype.setFilename=function(a){this.filename=a}; Editor.prototype.createUndoManager=function(){var a=this.graph,c=new mxUndoManager;this.undoListener=function(a,b){c.undoableEditHappened(b.getProperty("edit"))};var b=mxUtils.bind(this,function(a,b){this.undoListener.apply(this,arguments)});a.getModel().addListener(mxEvent.UNDO,b);a.getView().addListener(mxEvent.UNDO,b);b=function(b,c){var d=a.getSelectionCellsForChanges(c.getProperty("edit").changes,function(a){return!(a instanceof mxChildChange)});if(0document.documentMode)&&(p=80);b+=p;d+=p;var m=b,q=d,v=mxUtils.getDocumentSize();null!=window.innerHeight&&(v.height=window.innerHeight);var u=v.height,t=Math.max(1,Math.round((v.width-b-64)/2)),w=Math.max(1,Math.round((u-d-a.footerHeight)/3));mxClient.IS_QUIRKS||(c.style.maxHeight="100%");b=null!=document.body?Math.min(b,document.body.scrollWidth-64):b;d=Math.min(d,u-64);0r.clientHeight-64&&(c.style.overflowY="auto");if(f&&(f=document.createElement("img"),f.setAttribute("src",Dialog.prototype.closeImage),f.setAttribute("title",mxResources.get("close")),f.className="geDialogClose",f.style.top=w+14+"px",f.style.left=t+b+38-p+"px",f.style.zIndex= -this.zIndex,mxEvent.addListener(f,"click",mxUtils.bind(this,function(){a.hideDialog(!0)})),document.body.appendChild(f),this.dialogImg=f,!n)){var A=!1;mxEvent.addGestureListeners(this.bg,mxUtils.bind(this,function(a){A=!0}),null,mxUtils.bind(this,function(b){A&&(a.hideDialog(!0),A=!1)}))}this.resizeListener=mxUtils.bind(this,function(){if(null!=l){var f=l();null!=f&&(m=b=f.w,q=d=f.h)}f=mxUtils.getDocumentSize();u=f.height;this.bg.style.height=u+"px";t=Math.max(1,Math.round((f.width-b-64)/2));w=Math.max(1, -Math.round((u-d-a.footerHeight)/3));b=null!=document.body?Math.min(m,document.body.scrollWidth-64):m;d=Math.min(q,u-64);f=this.getPosition(t,w,b,d);t=f.x;w=f.y;r.style.left=t+"px";r.style.top=w+"px";r.style.width=b+"px";r.style.height=d+"px";!h&&c.clientHeight>r.clientHeight-64&&(c.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=w+14+"px",this.dialogImg.style.left=t+b+38-p+"px")});mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=g;this.container= -r;a.editor.fireEvent(new mxEventObject("showDialog"))}Dialog.backdropColor="white";Dialog.prototype.zIndex=mxPopupMenu.prototype.zIndex-1; +function Dialog(a,c,b,d,e,f,g,h,k,l,n){var m=0;mxClient.IS_VML&&(null==document.documentMode||8>document.documentMode)&&(m=80);b+=m;d+=m;var p=b,q=d,u=mxUtils.getDocumentSize();null!=window.innerHeight&&(u.height=window.innerHeight);var t=u.height,r=Math.max(1,Math.round((u.width-b-64)/2)),w=Math.max(1,Math.round((t-d-a.footerHeight)/3));mxClient.IS_QUIRKS||(c.style.maxHeight="100%");b=null!=document.body?Math.min(b,document.body.scrollWidth-64):b;d=Math.min(d,t-64);0v.clientHeight-64&&(c.style.overflowY="auto");if(f&&(f=document.createElement("img"),f.setAttribute("src",Dialog.prototype.closeImage),f.setAttribute("title",mxResources.get("close")),f.className="geDialogClose",f.style.top=w+14+"px",f.style.left=r+b+38-m+"px",f.style.zIndex= +this.zIndex,mxEvent.addListener(f,"click",mxUtils.bind(this,function(){a.hideDialog(!0)})),document.body.appendChild(f),this.dialogImg=f,!n)){var x=!1;mxEvent.addGestureListeners(this.bg,mxUtils.bind(this,function(a){x=!0}),null,mxUtils.bind(this,function(b){x&&(a.hideDialog(!0),x=!1)}))}this.resizeListener=mxUtils.bind(this,function(){if(null!=l){var f=l();null!=f&&(p=b=f.w,q=d=f.h)}f=mxUtils.getDocumentSize();t=f.height;this.bg.style.height=t+"px";r=Math.max(1,Math.round((f.width-b-64)/2));w=Math.max(1, +Math.round((t-d-a.footerHeight)/3));b=null!=document.body?Math.min(p,document.body.scrollWidth-64):p;d=Math.min(q,t-64);f=this.getPosition(r,w,b,d);r=f.x;w=f.y;v.style.left=r+"px";v.style.top=w+"px";v.style.width=b+"px";v.style.height=d+"px";!h&&c.clientHeight>v.clientHeight-64&&(c.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=w+14+"px",this.dialogImg.style.left=r+b+38-m+"px")});mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=g;this.container= +v;a.editor.fireEvent(new mxEventObject("showDialog"))}Dialog.backdropColor="white";Dialog.prototype.zIndex=mxPopupMenu.prototype.zIndex-1; 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"; Dialog.prototype.clearImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhDQAKAIABAMDAwP///yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OUIzOEM1NzI4NjEyMTFFMUEzMkNDMUE3NjZERDE2QjIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OUIzOEM1NzM4NjEyMTFFMUEzMkNDMUE3NjZERDE2QjIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5QjM4QzU3MDg2MTIxMUUxQTMyQ0MxQTc2NkREMTZCMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5QjM4QzU3MTg2MTIxMUUxQTMyQ0MxQTc2NkREMTZCMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAANAAoAAAIXTGCJebD9jEOTqRlttXdrB32PJ2ncyRQAOw==":IMAGE_PATH+ @@ -2138,42 +2138,42 @@ Dialog.prototype.lockedImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoA "/locked.png"; Dialog.prototype.unlockedImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAMAAABhq6zVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzdDMDZCN0QxNzIxMTFFNUI0RTk5NTg4OTcyMUUyODEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzdDMDZCN0UxNzIxMTFFNUI0RTk5NTg4OTcyMUUyODEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozN0MwNkI3QjE3MjExMUU1QjRFOTk1ODg5NzIxRTI4MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozN0MwNkI3QzE3MjExMUU1QjRFOTk1ODg5NzIxRTI4MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkKMpVwAAAAYUExURZmZmbKysr+/v6ysrOXl5czMzLGxsf///zHN5lwAAAAIdFJOU/////////8A3oO9WQAAADxJREFUeNpUzFESACAEBNBVsfe/cZJU+8Mzs8CIABCidtfGOndnYsT40HDSiCcbPdoJo10o9aI677cpwACRoAF3dFNlswAAAABJRU5ErkJggg==":IMAGE_PATH+ "/unlocked.png";Dialog.prototype.bgOpacity=80;Dialog.prototype.getPosition=function(a,c){return new mxPoint(a,c)};Dialog.prototype.close=function(a,c){if(null!=this.onDialogClose){if(0==this.onDialogClose(a,c))return!1;this.onDialogClose=null}null!=this.dialogImg&&(this.dialogImg.parentNode.removeChild(this.dialogImg),this.dialogImg=null);null!=this.bg&&null!=this.bg.parentNode&&this.bg.parentNode.removeChild(this.bg);mxEvent.removeListener(window,"resize",this.resizeListener);this.container.parentNode.removeChild(this.container)}; -var ErrorDialog=function(a,c,b,d,e,f,g,h,k,l,n){k=null!=k?k:!0;var p=document.createElement("div");p.style.textAlign="center";if(null!=c){var m=document.createElement("div");m.style.padding="0px";m.style.margin="0px";m.style.fontSize="18px";m.style.paddingBottom="16px";m.style.marginBottom="10px";m.style.borderBottom="1px solid #c0c0c0";m.style.color="gray";m.style.whiteSpace="nowrap";m.style.textOverflow="ellipsis";m.style.overflow="hidden";mxUtils.write(m,c);m.setAttribute("title",c);p.appendChild(m)}c= -document.createElement("div");c.style.lineHeight="1.2em";c.style.padding="6px";c.innerHTML=b;p.appendChild(c);b=document.createElement("div");b.style.marginTop="12px";b.style.textAlign="center";null!=f&&(c=mxUtils.button(mxResources.get("tryAgain"),function(){a.hideDialog();f()}),c.className="geBtn",b.appendChild(c),b.style.textAlign="center");null!=l&&(l=mxUtils.button(l,function(){null!=n&&n()}),l.className="geBtn",b.appendChild(l));var q=mxUtils.button(d,function(){k&&a.hideDialog();null!=e&&e()}); -q.className="geBtn";b.appendChild(q);null!=g&&(d=mxUtils.button(g,function(){k&&a.hideDialog();null!=h&&h()}),d.className="geBtn gePrimaryBtn",b.appendChild(d));this.init=function(){q.focus()};p.appendChild(b);this.container=p},PrintDialog=function(a,c){this.create(a,c)}; -PrintDialog.prototype.create=function(a){function c(a){var c=h.checked||l.checked,d=parseInt(p.value)/100;isNaN(d)&&(d=1,p.value="100%");var d=.75*d,f=b.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,g=1/b.pageScale;if(c){var e=h.checked?1:parseInt(n.value);isNaN(e)||(g=mxUtils.getScaleForPageCount(e,b,f))}b.getGraphBounds();var k=e=0,f=mxRectangle.fromRectangle(f);f.width=Math.ceil(f.width*d);f.height=Math.ceil(f.height*d);g*=d;!c&&b.pageVisible?(d=b.getPageLayout(),e-=d.x*f.width,k-=d.y*f.height): +var ErrorDialog=function(a,c,b,d,e,f,g,h,k,l,n){k=null!=k?k:!0;var m=document.createElement("div");m.style.textAlign="center";if(null!=c){var p=document.createElement("div");p.style.padding="0px";p.style.margin="0px";p.style.fontSize="18px";p.style.paddingBottom="16px";p.style.marginBottom="10px";p.style.borderBottom="1px solid #c0c0c0";p.style.color="gray";p.style.whiteSpace="nowrap";p.style.textOverflow="ellipsis";p.style.overflow="hidden";mxUtils.write(p,c);p.setAttribute("title",c);m.appendChild(p)}c= +document.createElement("div");c.style.lineHeight="1.2em";c.style.padding="6px";c.innerHTML=b;m.appendChild(c);b=document.createElement("div");b.style.marginTop="12px";b.style.textAlign="center";null!=f&&(c=mxUtils.button(mxResources.get("tryAgain"),function(){a.hideDialog();f()}),c.className="geBtn",b.appendChild(c),b.style.textAlign="center");null!=l&&(l=mxUtils.button(l,function(){null!=n&&n()}),l.className="geBtn",b.appendChild(l));var q=mxUtils.button(d,function(){k&&a.hideDialog();null!=e&&e()}); +q.className="geBtn";b.appendChild(q);null!=g&&(d=mxUtils.button(g,function(){k&&a.hideDialog();null!=h&&h()}),d.className="geBtn gePrimaryBtn",b.appendChild(d));this.init=function(){q.focus()};m.appendChild(b);this.container=m},PrintDialog=function(a,c){this.create(a,c)}; +PrintDialog.prototype.create=function(a){function c(a){var c=h.checked||l.checked,d=parseInt(m.value)/100;isNaN(d)&&(d=1,m.value="100%");var d=.75*d,f=b.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,g=1/b.pageScale;if(c){var e=h.checked?1:parseInt(n.value);isNaN(e)||(g=mxUtils.getScaleForPageCount(e,b,f))}b.getGraphBounds();var k=e=0,f=mxRectangle.fromRectangle(f);f.width=Math.ceil(f.width*d);f.height=Math.ceil(f.height*d);g*=d;!c&&b.pageVisible?(d=b.getPageLayout(),e-=d.x*f.width,k-=d.y*f.height): c=!0;c=PrintDialog.createPrintPreview(b,g,f,0,e,k,c);c.open();a&&PrintDialog.printPreview(c)}var b=a.editor.graph,d,e,f=document.createElement("table");f.style.width="100%";f.style.height="100%";var g=document.createElement("tbody");d=document.createElement("tr");var h=document.createElement("input");h.setAttribute("type","checkbox");e=document.createElement("td");e.setAttribute("colspan","2");e.style.fontSize="10pt";e.appendChild(h);var k=document.createElement("span");mxUtils.write(k," "+mxResources.get("fitPage")); e.appendChild(k);mxEvent.addListener(k,"click",function(a){h.checked=!h.checked;l.checked=!h.checked;mxEvent.consume(a)});mxEvent.addListener(h,"change",function(){l.checked=!h.checked});d.appendChild(e);g.appendChild(d);d=d.cloneNode(!1);var l=document.createElement("input");l.setAttribute("type","checkbox");e=document.createElement("td");e.style.fontSize="10pt";e.appendChild(l);k=document.createElement("span");mxUtils.write(k," "+mxResources.get("posterPrint")+":");e.appendChild(k);mxEvent.addListener(k, "click",function(a){l.checked=!l.checked;h.checked=!l.checked;mxEvent.consume(a)});d.appendChild(e);var n=document.createElement("input");n.setAttribute("value","1");n.setAttribute("type","number");n.setAttribute("min","1");n.setAttribute("size","4");n.setAttribute("disabled","disabled");n.style.width="50px";e=document.createElement("td");e.style.fontSize="10pt";e.appendChild(n);mxUtils.write(e," "+mxResources.get("pages")+" (max)");d.appendChild(e);g.appendChild(d);mxEvent.addListener(l,"change", -function(){l.checked?n.removeAttribute("disabled"):n.setAttribute("disabled","disabled");h.checked=!l.checked});d=d.cloneNode(!1);e=document.createElement("td");mxUtils.write(e,mxResources.get("pageScale")+":");d.appendChild(e);e=document.createElement("td");var p=document.createElement("input");p.setAttribute("value","100 %");p.setAttribute("size","5");p.style.width="50px";e.appendChild(p);d.appendChild(e);g.appendChild(d);d=document.createElement("tr");e=document.createElement("td");e.colSpan=2; -e.style.paddingTop="20px";e.setAttribute("align","right");k=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});k.className="geBtn";a.editor.cancelFirst&&e.appendChild(k);if(PrintDialog.previewEnabled){var m=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();c(!1)});m.className="geBtn";e.appendChild(m)}m=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();c(!0)});m.className="geBtn gePrimaryBtn";e.appendChild(m);a.editor.cancelFirst|| +function(){l.checked?n.removeAttribute("disabled"):n.setAttribute("disabled","disabled");h.checked=!l.checked});d=d.cloneNode(!1);e=document.createElement("td");mxUtils.write(e,mxResources.get("pageScale")+":");d.appendChild(e);e=document.createElement("td");var m=document.createElement("input");m.setAttribute("value","100 %");m.setAttribute("size","5");m.style.width="50px";e.appendChild(m);d.appendChild(e);g.appendChild(d);d=document.createElement("tr");e=document.createElement("td");e.colSpan=2; +e.style.paddingTop="20px";e.setAttribute("align","right");k=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});k.className="geBtn";a.editor.cancelFirst&&e.appendChild(k);if(PrintDialog.previewEnabled){var p=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();c(!1)});p.className="geBtn";e.appendChild(p)}p=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();c(!0)});p.className="geBtn gePrimaryBtn";e.appendChild(p);a.editor.cancelFirst|| e.appendChild(k);d.appendChild(e);g.appendChild(d);f.appendChild(g);this.container=f};PrintDialog.printPreview=function(a){try{if(null!=a.wnd){var c=function(){a.wnd.focus();a.wnd.print();a.wnd.close()};mxClient.IS_GC?window.setTimeout(c,500):c()}}catch(b){}}; PrintDialog.createPrintPreview=function(a,c,b,d,e,f,g){c=new mxPrintPreview(a,c,b,d,e,f);c.title=mxResources.get("preview");c.printBackgroundImage=!0;c.autoOrigin=g;a=a.background;if(null==a||""==a||a==mxConstants.NONE)a="#ffffff";c.backgroundColor=a;var h=c.writeHead;c.writeHead=function(a){h.apply(this,arguments);a.writeln('")};return c}; PrintDialog.previewEnabled=!0; -var PageSetupDialog=function(a){function c(){null==n||n==mxConstants.NONE?(l.style.backgroundColor="",l.style.backgroundImage="url('"+Dialog.prototype.noColorImage+"')"):(l.style.backgroundColor=n,l.style.backgroundImage="")}function b(){null==q?(m.removeAttribute("title"),m.style.fontSize="",m.innerHTML=mxUtils.htmlEntities(mxResources.get("change"))+"..."):(m.setAttribute("title",q.src),m.style.fontSize="11px",m.innerHTML=mxUtils.htmlEntities(q.src.substring(0,42))+"...")}var d=a.editor.graph,e, +var PageSetupDialog=function(a){function c(){null==n||n==mxConstants.NONE?(l.style.backgroundColor="",l.style.backgroundImage="url('"+Dialog.prototype.noColorImage+"')"):(l.style.backgroundColor=n,l.style.backgroundImage="")}function b(){null==q?(p.removeAttribute("title"),p.style.fontSize="",p.innerHTML=mxUtils.htmlEntities(mxResources.get("change"))+"..."):(p.setAttribute("title",q.src),p.style.fontSize="11px",p.innerHTML=mxUtils.htmlEntities(q.src.substring(0,42))+"...")}var d=a.editor.graph,e, f,g=document.createElement("table");g.style.width="100%";g.style.height="100%";var h=document.createElement("tbody");e=document.createElement("tr");f=document.createElement("td");f.style.verticalAlign="top";f.style.fontSize="10pt";mxUtils.write(f,mxResources.get("paperSize")+":");e.appendChild(f);f=document.createElement("td");f.style.verticalAlign="top";f.style.fontSize="10pt";var k=PageSetupDialog.addPageFormatPanel(f,"pagesetupdialog",d.pageFormat);e.appendChild(f);h.appendChild(e);e=document.createElement("tr"); f=document.createElement("td");mxUtils.write(f,mxResources.get("background")+":");e.appendChild(f);f=document.createElement("td");f.style.whiteSpace="nowrap";document.createElement("input").setAttribute("type","text");var l=document.createElement("button");l.style.width="18px";l.style.height="18px";l.style.marginRight="20px";l.style.backgroundPosition="center center";l.style.backgroundRepeat="no-repeat";var n=d.background;c();mxEvent.addListener(l,"click",function(b){a.pickColor(n||"none",function(a){n= -a;c()});mxEvent.consume(b)});f.appendChild(l);mxUtils.write(f,mxResources.get("gridSize")+":");var p=document.createElement("input");p.setAttribute("type","number");p.setAttribute("min","0");p.style.width="40px";p.style.marginLeft="6px";p.value=d.getGridSize();f.appendChild(p);mxEvent.addListener(p,"change",function(){var a=parseInt(p.value);p.value=Math.max(1,isNaN(a)?d.getGridSize():a)});e.appendChild(f);h.appendChild(e);e=document.createElement("tr");f=document.createElement("td");mxUtils.write(f, -mxResources.get("image")+":");e.appendChild(f);f=document.createElement("td");var m=document.createElement("a");m.style.textDecoration="underline";m.style.cursor="pointer";m.style.color="#a0a0a0";var q=d.backgroundImage;mxEvent.addListener(m,"click",function(c){a.showBackgroundImageDialog(function(a,c){c||(q=a,b())},q);mxEvent.consume(c)});b();f.appendChild(m);e.appendChild(f);h.appendChild(e);e=document.createElement("tr");f=document.createElement("td");f.colSpan=2;f.style.paddingTop="16px";f.setAttribute("align", -"right");var v=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});v.className="geBtn";a.editor.cancelFirst&&f.appendChild(v);var u=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();var b=parseInt(p.value);isNaN(b)||d.gridSize===b||d.setGridSize(b);b=new ChangePageSetup(a,n,q,k.get());b.ignoreColor=d.background==n;b.ignoreImage=(null!=d.backgroundImage?d.backgroundImage.src:null)===(null!=q?q.src:null);d.pageFormat.width==b.previousFormat.width&&d.pageFormat.height== -b.previousFormat.height&&b.ignoreColor&&b.ignoreImage||d.model.execute(b)});u.className="geBtn gePrimaryBtn";f.appendChild(u);a.editor.cancelFirst||f.appendChild(v);e.appendChild(f);h.appendChild(e);g.appendChild(h);this.container=g}; -PageSetupDialog.addPageFormatPanel=function(a,c,b,d){function e(a,c,d){if(d||p!=document.activeElement&&m!=document.activeElement){a=!1;for(c=0;c=f)p.value=b.width/100;f=parseFloat(m.value);if(isNaN(f)||0>=f)m.value=b.height/100;f=new mxRectangle(0,0,Math.floor(100*parseFloat(p.value)),Math.floor(100*parseFloat(m.value)));"custom"!=h.value&&g.checked&&(f=new mxRectangle(0,0, -f.height,f.width));c&&r||f.width==A.width&&f.height==A.height||(A=f,null!=d&&d(A))};mxEvent.addListener(c,"click",function(a){f.checked=!0;x(a);mxEvent.consume(a)});mxEvent.addListener(l,"click",function(a){g.checked=!0;x(a);mxEvent.consume(a)});mxEvent.addListener(p,"blur",x);mxEvent.addListener(p,"click",x);mxEvent.addListener(m,"blur",x);mxEvent.addListener(m,"click",x);mxEvent.addListener(g,"change",x);mxEvent.addListener(f,"change",x);mxEvent.addListener(h,"change",function(a){r="custom"==h.value; -x(a,!0)});x();return{set:function(a){b=a;e(null,null,!0)},get:function(){return A},widthInput:p,heightInput:m}}; +k.style.height="24px";f.style.marginRight="6px";k.appendChild(f);c=document.createElement("span");c.style.maxWidth="100px";mxUtils.write(c,mxResources.get("portrait"));k.appendChild(c);g.style.marginLeft="10px";g.style.marginRight="6px";k.appendChild(g);var l=document.createElement("span");l.style.width="100px";mxUtils.write(l,mxResources.get("landscape"));k.appendChild(l);var n=document.createElement("div");n.style.marginLeft="4px";n.style.width="210px";n.style.height="24px";var m=document.createElement("input"); +m.setAttribute("size","7");m.style.textAlign="right";n.appendChild(m);mxUtils.write(n," in x ");var p=document.createElement("input");p.setAttribute("size","7");p.style.textAlign="right";n.appendChild(p);mxUtils.write(n," in");k.style.display="none";n.style.display="none";for(var q={},u=PageSetupDialog.getFormats(),t=0;t=f)m.value=b.width/100;f=parseFloat(p.value);if(isNaN(f)||0>=f)p.value=b.height/100;f=new mxRectangle(0,0,Math.floor(100*parseFloat(m.value)),Math.floor(100*parseFloat(p.value)));"custom"!=h.value&&g.checked&&(f=new mxRectangle(0,0, +f.height,f.width));c&&v||f.width==x.width&&f.height==x.height||(x=f,null!=d&&d(x))};mxEvent.addListener(c,"click",function(a){f.checked=!0;B(a);mxEvent.consume(a)});mxEvent.addListener(l,"click",function(a){g.checked=!0;B(a);mxEvent.consume(a)});mxEvent.addListener(m,"blur",B);mxEvent.addListener(m,"click",B);mxEvent.addListener(p,"blur",B);mxEvent.addListener(p,"click",B);mxEvent.addListener(g,"change",B);mxEvent.addListener(f,"change",B);mxEvent.addListener(h,"change",function(a){v="custom"==h.value; +B(a,!0)});B();return{set:function(a){b=a;e(null,null,!0)},get:function(){return x},widthInput:m,heightInput:p}}; 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,c,b,d,e,f,g,h,k,l,n,p){k=null!=k?k:!0;var m,q,v=document.createElement("table"),u=document.createElement("tbody");v.style.marginTop="8px";m=document.createElement("tr");q=document.createElement("td");q.style.whiteSpace="nowrap";q.style.fontSize="10pt";q.style.width=n?"80px":"120px";mxUtils.write(q,(e||mxResources.get("filename"))+":");m.appendChild(q);var t=document.createElement("input");t.setAttribute("value",c||"");t.style.marginLeft="4px";t.style.width=null!=p?p+ -"px":"180px";var w=mxUtils.button(b,function(){if(null==f||f(t.value))k&&a.hideDialog(),d(t.value)});w.className="geBtn gePrimaryBtn";this.init=function(){if(null!=e||null==g)if(t.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?t.select():document.execCommand("selectAll",!1,null),Graph.fileSupport){var a=v.parentNode;if(null!=a){var b=null;mxEvent.addListener(a,"dragleave",function(a){null!=b&&(b.style.backgroundColor="",b=null);a.stopPropagation();a.preventDefault()}); -mxEvent.addListener(a,"dragover",mxUtils.bind(this,function(a){null==b&&(!mxClient.IS_IE||10'};var a=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(b,c){a.apply(this,arguments);if(null!=this.shiftPreview1){var d= this.view.canvas;null!=d.ownerSVGElement&&(d=d.ownerSVGElement);var f=this.gridSize*this.view.scale*this.view.gridSteps,f=-Math.round(f-mxUtils.mod(this.view.translate.x*this.view.scale+b,f))+"px "+-Math.round(f-mxUtils.mod(this.view.translate.y*this.view.scale+c,f))+"px";d.style.backgroundPosition=f}};mxGraph.prototype.updatePageBreaks=function(a,b,c){var d=this.view.scale,f=this.view.translate,g=this.pageFormat,e=d*this.pageScale,h=this.view.getBackgroundPageBounds();b=h.width;c=h.height;var k= -new mxRectangle(d*f.x,d*f.y,g.width*e,g.height*e),u=(a=a&&Math.min(k.width,k.height)>this.minPageBreakDist)?Math.ceil(c/k.height)-1:0,t=a?Math.ceil(b/k.width)-1:0,w=h.x+b,r=h.y+c;null==this.horizontalPageBreaks&&0this.minPageBreakDist)?Math.ceil(c/k.height)-1:0,r=a?Math.ceil(b/k.width)-1:0,w=h.x+b,v=h.y+c;null==this.horizontalPageBreaks&&0document.documentMode)?mxEvent.addListener(this.diagramContainer,"contextmenu",c):this.diagramContainer.oncontextmenu=c):d.panningHandler.usePopupTrigger= -!1;d.init(this.diagramContainer);mxClient.IS_SVG&&null!=d.view.getDrawPane()&&(c=d.view.getDrawPane().ownerSVGElement,null!=c&&(c.style.position="absolute"));this.hoverIcons=this.createHoverIcons();if(null!=d.graphHandler){var f=d.graphHandler.start;d.graphHandler.start=function(){null!=t.hoverIcons&&t.hoverIcons.reset();f.apply(this,arguments)}}mxEvent.addListener(this.diagramContainer,"mousemove",mxUtils.bind(this,function(a){var b=mxUtils.getOffset(this.diagramContainer);0mxUtils.indexOf(this.toolbar.staticElements,a)&&(a.parentNode.removeChild(a),b.push(a));a=c}a=this.toolbar.fontMenu;c=this.toolbar.sizeMenu;if(null==v)this.toolbar.createTextToolbar();else{for(var f=0;fmxUtils.indexOf(x,C[a])&& -x.push(C[a]);var E=function(a,b,c){c=null!=c?c:d.getModel();c.beginUpdate();try{for(var f=0;fmxUtils.indexOf(C,p))||(D=mxUtils.setStyle(D,p,E))}c.setStyle(g,D)}}finally{c.endUpdate()}};d.addListener("cellsInserted",function(a,b){E(b.getProperty("cells"))});d.addListener("textInserted",function(a,b){E(b.getProperty("cells"),!0)});this.insertHandler=E;d.connectionHandler.addListener(mxEvent.CONNECT,function(a,b){var c=[b.getProperty("cell")]; -b.getProperty("terminalInserted")&&c.push(b.getProperty("terminal"));E(c)});this.addListener("styleChanged",mxUtils.bind(this,function(a,b){var c=b.getProperty("cells"),f=!1,g=!1;if(0mxUtils.indexOf(this.toolbar.staticElements,a)&&(a.parentNode.removeChild(a),b.push(a));a=c}a=this.toolbar.fontMenu;c=this.toolbar.sizeMenu;if(null==u)this.toolbar.createTextToolbar();else{for(var f=0;fmxUtils.indexOf(B,A[a])&& +B.push(A[a]);var E=function(a,b,c){c=null!=c?c:d.getModel();c.beginUpdate();try{for(var f=0;fmxUtils.indexOf(A,m))||(x=mxUtils.setStyle(x,m,D))}c.setStyle(g,x)}}finally{c.endUpdate()}};d.addListener("cellsInserted",function(a,b){E(b.getProperty("cells"))});d.addListener("textInserted",function(a,b){E(b.getProperty("cells"),!0)});this.insertHandler=E;d.connectionHandler.addListener(mxEvent.CONNECT,function(a,b){var c=[b.getProperty("cell")]; +b.getProperty("terminalInserted")&&c.push(b.getProperty("terminal"));E(c)});this.addListener("styleChanged",mxUtils.bind(this,function(a,b){var c=b.getProperty("cells"),f=!1,g=!1;if(0Date.now()-P)){P=Date.now();c?.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor*=(this.view.scale+ +(this.destroy(),mxEvent.consume(a))}),Editor.closeLargeImage,mxResources.get("close")+" (Escape)");this.chromelessToolbar.style.display="none";a.isViewer()||mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"transform","translate(-50%,0)");a.container.appendChild(this.chromelessToolbar);mxEvent.addListener(a.container,mxClient.IS_POINTER?"pointermove":"mousemove",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||(mxEvent.isShiftDown(a)||t(30),u())}));mxEvent.addListener(this.chromelessToolbar, +mxClient.IS_POINTER?"pointermove":"mousemove",function(a){mxEvent.consume(a)});mxEvent.addListener(this.chromelessToolbar,"mouseenter",mxUtils.bind(this,function(a){mxEvent.isShiftDown(a)?u():t(100)}));mxEvent.addListener(this.chromelessToolbar,"mousemove",mxUtils.bind(this,function(a){mxEvent.isShiftDown(a)?u():t(100);mxEvent.consume(a)}));mxEvent.addListener(this.chromelessToolbar,"mouseleave",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||t(30)}));var x=a.getTolerance();a.addMouseListener({startX:0, +startY:0,scrollLeft:0,scrollTop:0,mouseDown:function(b,c){this.startX=c.getGraphX();this.startY=c.getGraphY();this.scrollLeft=a.container.scrollLeft;this.scrollTop=a.container.scrollTop},mouseMove:function(a,b){},mouseUp:function(c,d){mxEvent.isTouchEvent(d.getEvent())&&Math.abs(this.scrollLeft-a.container.scrollLeft)Date.now()-Q)){Q=Date.now();c?.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor*=(this.view.scale+ .05)/this.view.scale:(this.cumulativeZoomFactor*=this.zoomFactor,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*20)/20/this.view.scale):.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor*=(this.view.scale-.05)/this.view.scale:(this.cumulativeZoomFactor/=this.zoomFactor,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*20)/20/this.view.scale);this.cumulativeZoomFactor=Math.max(.05,Math.min(this.view.scale*this.cumulativeZoomFactor, -160))/this.view.scale;if(a.isFastZoomEnabled()){null==J&&""!=B.getAttribute("filter")&&(J=B.getAttribute("filter"),B.removeAttribute("filter"));H=new mxPoint(a.container.scrollLeft,a.container.scrollTop);c=d?a.container.scrollLeft+a.container.clientWidth/2:E.x+a.container.scrollLeft-a.container.offsetLeft;var e=d?a.container.scrollTop+a.container.clientHeight/2:E.y+a.container.scrollTop-a.container.offsetTop;B.style.transformOrigin=c+"px "+e+"px";B.style.transform="scale("+this.cumulativeZoomFactor+ +160))/this.view.scale;if(a.isFastZoomEnabled()){null==O&&""!=C.getAttribute("filter")&&(O=C.getAttribute("filter"),C.removeAttribute("filter"));G=new mxPoint(a.container.scrollLeft,a.container.scrollTop);c=d?a.container.scrollLeft+a.container.clientWidth/2:E.x+a.container.scrollLeft-a.container.offsetLeft;var e=d?a.container.scrollTop+a.container.clientHeight/2:E.y+a.container.scrollTop-a.container.offsetTop;C.style.transformOrigin=c+"px "+e+"px";C.style.transform="scale("+this.cumulativeZoomFactor+ ")";D.style.transformOrigin=c+"px "+e+"px";D.style.transform="scale("+this.cumulativeZoomFactor+")";null!=a.view.backgroundPageShape&&null!=a.view.backgroundPageShape.node&&(c=a.view.backgroundPageShape.node,mxUtils.setPrefixedStyle(c.style,"transform-origin",(d?a.container.clientWidth/2+a.container.scrollLeft-c.offsetLeft+"px":E.x+a.container.scrollLeft-c.offsetLeft-a.container.offsetLeft+"px")+" "+(d?a.container.clientHeight/2+a.container.scrollTop-c.offsetTop+"px":E.y+a.container.scrollTop-c.offsetTop- a.container.offsetTop+"px")),mxUtils.setPrefixedStyle(c.style,"transform","scale("+this.cumulativeZoomFactor+")"));a.view.getDecoratorPane().style.opacity="0";a.view.getOverlayPane().style.opacity="0";null!=b.hoverIcons&&b.hoverIcons.reset()}F(f)}};mxEvent.addGestureListeners(a.container,function(a){null!=z&&window.clearTimeout(z)},null,function(b){1!=a.cumulativeZoomFactor&&F(0)});mxEvent.addListener(a.container,"scroll",function(b){null==z||a.isMouseDown||1==a.cumulativeZoomFactor||F(0)});mxEvent.addMouseWheelListener(mxUtils.bind(this, -function(b,c,d,f,e){if(null==this.dialogs||0==this.dialogs.length)if(!a.scrollbars&&!d&&a.isScrollWheelEvent(b))d=a.view.getTranslate(),f=40/a.view.scale,mxEvent.isShiftDown(b)?a.view.setTranslate(d.x+(c?-f:f),d.y):a.view.setTranslate(d.x,d.y+(c?f:-f));else if(d||a.isZoomWheelEvent(b))for(var g=mxEvent.getSource(b);null!=g;){if(g==a.container)return a.tooltipHandler.hideTooltip(),E=null!=f&&null!=e?new mxPoint(f,e):new mxPoint(mxEvent.getClientX(b),mxEvent.getClientY(b)),I=d,a.lazyZoom(c),mxEvent.consume(b), +function(b,c,d,f,e){if(null==this.dialogs||0==this.dialogs.length)if(!a.scrollbars&&!d&&a.isScrollWheelEvent(b))d=a.view.getTranslate(),f=40/a.view.scale,mxEvent.isShiftDown(b)?a.view.setTranslate(d.x+(c?-f:f),d.y):a.view.setTranslate(d.x,d.y+(c?f:-f));else if(d||a.isZoomWheelEvent(b))for(var g=mxEvent.getSource(b);null!=g;){if(g==a.container)return a.tooltipHandler.hideTooltip(),E=null!=f&&null!=e?new mxPoint(f,e):new mxPoint(mxEvent.getClientX(b),mxEvent.getClientY(b)),H=d,a.lazyZoom(c),mxEvent.consume(b), !1;g=g.parentNode}}),a.container);a.panningHandler.zoomGraph=function(b){a.cumulativeZoomFactor=b.scale;a.lazyZoom(0mxUtils.indexOf(f,g)&&h.push(g)):h.push(f[e]);0this.maxTooltipWidth||d>this.maxTooltipHeight?Math.round(100*Math.min(this.maxTooltipWidth/b,this.maxTooltipHeight/ d))/100:1;this.tooltip.style.display="block";this.graph2.labelsVisible=null==f||f;var g=mxClient.NO_FO;mxClient.NO_FO=Editor.prototype.originalNoForeignObject;var k=this.graph2.cloneCells(c);this.editorUi.insertHandler(k,null,this.graph2.model);this.graph2.addCells(k);mxClient.NO_FO=g;var l=this.graph2.getGraphBounds(),k=l.width+2*this.tooltipBorder+4,g=l.height+2*this.tooltipBorder;mxClient.IS_QUIRKS?(g+=4,this.tooltip.style.overflow="hidden"):this.tooltip.style.overflow="visible";this.tooltip.style.width= k+"px";var n=k;if(this.tooltipTitles&&null!=e&&0k&&(this.tooltip.style.width=n+"px");this.tooltip.style.height=g+"px";var k=-Math.round(l.x-this.tooltipBorder)+ -(n>k?(n-k)/2:0),l=-Math.round(l.y-this.tooltipBorder),p=document.body,m=document.documentElement,q=this.getTooltipOffset(),n=this.container.clientWidth+this.editorUi.splitSize+3+this.editorUi.container.offsetLeft+q.x,g=Math.min(Math.max(p.clientHeight||0,m.clientHeight)-g-20,Math.max(0,this.editorUi.container.offsetTop+this.container.offsetTop+a.offsetTop-this.container.scrollTop-g/2+16))+q.y;mxClient.IS_SVG?0!=k||0!=l?this.graph2.view.canvas.setAttribute("transform","translate("+k+","+l+")"):this.graph2.view.canvas.removeAttribute("transform"): +this.tooltipTitle.style.display="";mxUtils.write(this.tooltipTitle,e);var n=Math.min(this.maxTooltipWidth,Math.max(k,this.tooltipTitle.scrollWidth+4)),m=this.tooltipTitle.offsetHeight+10,g=g+m;mxClient.IS_SVG?this.tooltipTitle.style.marginTop=2-m+"px":(g-=6,this.tooltipTitle.style.top=g-m+"px")}else null!=this.tooltipTitle&&null!=this.tooltipTitle.parentNode&&(this.tooltipTitle.style.display="none");n>k&&(this.tooltip.style.width=n+"px");this.tooltip.style.height=g+"px";var k=-Math.round(l.x-this.tooltipBorder)+ +(n>k?(n-k)/2:0),l=-Math.round(l.y-this.tooltipBorder),m=document.body,p=document.documentElement,q=this.getTooltipOffset(),n=this.container.clientWidth+this.editorUi.splitSize+3+this.editorUi.container.offsetLeft+q.x,g=Math.min(Math.max(m.clientHeight||0,p.clientHeight)-g-20,Math.max(0,this.editorUi.container.offsetTop+this.container.offsetTop+a.offsetTop-this.container.scrollTop-g/2+16))+q.y;mxClient.IS_SVG?0!=k||0!=l?this.graph2.view.canvas.setAttribute("transform","translate("+k+","+l+")"):this.graph2.view.canvas.removeAttribute("transform"): (this.graph2.view.drawPane.style.left=k+"px",this.graph2.view.drawPane.style.top=l+"px");this.tooltip.style.position="absolute";this.tooltip.style.left=n+"px";this.tooltip.style.top=g+"px"});null!=this.tooltip&&"none"!=this.tooltip.style.display?g():this.thread=window.setTimeout(g,this.tooltipDelay);this.currentElt=a}}; Sidebar.prototype.hideTooltip=function(){null!=this.thread&&(window.clearTimeout(this.thread),this.thread=null);null!=this.tooltip&&(this.tooltip.style.display="none",this.currentElt=null)};Sidebar.prototype.addDataEntry=function(a,c,b,d,e){return this.addEntry(a,mxUtils.bind(this,function(){return this.createVertexTemplateFromData(e,c,b,d)}))}; Sidebar.prototype.addEntries=function(a){for(var c=0;cK&&null!=k&&!mxEvent.isShiftDown(f)&&(mxUtils.getValue(k.style,mxConstants.STYLE_SHAPE)!=mxUtils.getValue(S,mxConstants.STYLE_SHAPE)&&(mxUtils.getValue(k.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(k.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(k.style,mxConstants.STYLE_GRADIENTCOLOR, -mxConstants.NONE)!=mxConstants.NONE)||"image"==mxUtils.getValue(S,mxConstants.STYLE_SHAPE)||1500this.dropTargetDelay&&!this.isDropStyleTargetIgnored(k)&&(a.model.isVertex(k.cell)&&null!=n||a.model.isEdge(k.cell)&&a.model.isEdge(d[0]))){r=k;var l=a.model.isEdge(k.cell)?a.view.getPoint(k):new mxPoint(k.getCenterX(),k.getCenterY()),l=new mxRectangle(l.x-this.refreshTarget.width/2,l.y-this.refreshTarget.height/2,this.refreshTarget.width,this.refreshTarget.height);z.style.left= -Math.floor(l.x)+"px";z.style.top=Math.floor(l.y)+"px";null==E&&(a.container.appendChild(z),E=z.parentNode);g(b,c,l,z)}else null==r||!mxUtils.contains(r,b,c)||1500K&&K>this.dropTargetDelay||a.model.isEdge(e)?k:null,null!= -t&&l){h=[H,I,x,C,D,B];for(l=0;lI&&null!=k&&!mxEvent.isShiftDown(f)&&(mxUtils.getValue(k.style,mxConstants.STYLE_SHAPE)!=mxUtils.getValue(R,mxConstants.STYLE_SHAPE)&&(mxUtils.getValue(k.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(k.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(k.style,mxConstants.STYLE_GRADIENTCOLOR, +mxConstants.NONE)!=mxConstants.NONE)||"image"==mxUtils.getValue(R,mxConstants.STYLE_SHAPE)||1500this.dropTargetDelay&&!this.isDropStyleTargetIgnored(k)&&(a.model.isVertex(k.cell)&&null!=n||a.model.isEdge(k.cell)&&a.model.isEdge(d[0]))){v=k;var l=a.model.isEdge(k.cell)?a.view.getPoint(k):new mxPoint(k.getCenterX(),k.getCenterY()),l=new mxRectangle(l.x-this.refreshTarget.width/2,l.y-this.refreshTarget.height/2,this.refreshTarget.width,this.refreshTarget.height);z.style.left= +Math.floor(l.x)+"px";z.style.top=Math.floor(l.y)+"px";null==E&&(a.container.appendChild(z),E=z.parentNode);g(b,c,l,z)}else null==v||!mxUtils.contains(v,b,c)||1500I&&I>this.dropTargetDelay||a.model.isEdge(e)?k:null,null!= +r&&l){h=[G,H,B,A,D,C];for(l=0;lg||Math.abs(h.y-mxEvent.getClientY(b))> @@ -2584,7 +2584,7 @@ Sidebar.prototype.addPalette=function(a,c,b,d){c=this.createTitle(c);this.contai Sidebar.prototype.addFoldingHandler=function(a,c,b){var d=!1;if(!mxClient.IS_IE||8<=document.documentMode)a.style.backgroundImage="none"==c.style.display?"url('"+this.collapsedImage+"')":"url('"+this.expandedImage+"')";a.style.backgroundRepeat="no-repeat";a.style.backgroundPosition="0% 50%";mxEvent.addListener(a,"click",mxUtils.bind(this,function(e){if("none"==c.style.display){if(d)c.style.display="block";else if(d=!0,null!=b){a.style.cursor="wait";var f=a.innerHTML;a.innerHTML=mxResources.get("loading")+ "...";window.setTimeout(function(){c.style.display="block";a.style.cursor="";a.innerHTML=f;var d=mxClient.NO_FO;mxClient.NO_FO=Editor.prototype.originalNoForeignObject;b(c,a);mxClient.NO_FO=d},mxClient.IS_FF?20:0)}else c.style.display="block";a.style.backgroundImage="url('"+this.expandedImage+"')"}else a.style.backgroundImage="url('"+this.collapsedImage+"')",c.style.display="none";mxEvent.consume(e)}));mxClient.IS_QUIRKS||mxEvent.addListener(a,mxClient.IS_POINTER?"pointerdown":"mousedown",mxUtils.bind(this, function(a){a.preventDefault()}))};Sidebar.prototype.removePalette=function(a){var c=this.palettes[a];if(null!=c){this.palettes[a]=null;for(a=0;amxUtils.indexOf(e,b)){c=this.getTagsForStencil(a,b);var l=null!=h?h[b]:null;null!=l&&c.push(l);n.push(this.createVertexTemplateEntry("shape="+a+b.toLowerCase()+d,Math.round(f*g),Math.round(k*g),"",b.replace(/_/g," "),null,null,this.filterTags(c.join(" "))))}}), !0,!0);this.addPaletteFunctions(a,c,!1,n)}else this.addPalette(a,c,!1,mxUtils.bind(this,function(a){null==d&&(d="");null!=f&&f.call(this,a);if(null!=k)for(var c=0;cmxUtils.indexOf(e,c))&&a.appendChild(this.createVertexTemplate("shape="+b+c.toLowerCase()+d,Math.round(h*g),Math.round(k*g),"",c.replace(/_/g," "),!0))}),!0)}))}; @@ -2611,20 +2611,20 @@ b.getGraphX(),b.getGraphY()))f="move";else if(mxUtils.contains(d,m[0].x,m[0].y)| 1,b.getGraphY()-1);d.grow(mxShape.prototype.svgStrokeTolerance/2);if(this.isTableCell(c.cell)&&(m=this.model.getParent(c.cell),e=this.model.getParent(m),!this.isCellSelected(e)))if(mxUtils.intersects(d,new mxRectangle(c.x-2,c.y,2,c.height))&&this.model.getChildAt(m,0)!=c.cell||mxUtils.intersects(d,new mxRectangle(c.x+c.width-2,c.y,2,c.height)))f="col-resize";else if(mxUtils.intersects(d,new mxRectangle(c.x,c.y-2,c.width,3))&&this.model.getChildAt(e,0)!=m||mxUtils.intersects(d,new mxRectangle(c.x, c.y+c.height-2,c.width,3)))f="row-resize";for(m=c;null==f&&null!=m&&(this.isTableCell(m.cell)||this.isTableRow(m.cell)||this.isTable(m.cell));){if(this.isSwimlane(m.cell)){var e=this.getActualStartSize(m.cell),p=this.view.scale;(0'+b+""));return new mxImage("data:image/svg+xml;base64,"+(window.btoa?btoa(b):Base64.encode(b,!0)),a,c)}; @@ -2633,14 +2633,14 @@ Graph.base64EncodeUnicode=function(a){return btoa(encodeURIComponent(a).replace( Graph.arrayBufferToString=function(a){var c="";a=new Uint8Array(a);for(var b=a.byteLength,d=0;dm?"a":"p",tt:12>m?"am":"pm",T:12>m?"A":"P",TT:12>m?"AM":"PM",Z:b?"UTC":(String(a).match(e)||[""]).pop().replace(f,""),o:(0p?"a":"p",tt:12>p?"am":"pm",T:12>p?"A":"P",TT:12>p?"AM":"PM",Z:b?"UTC":(String(a).match(e)||[""]).pop().replace(f,""),o:(0this.view.scale?this.zoom((this.view.scale+.01)/this.view.scale):this.zoom(Math.round(this.view.scale*this.zoomFactor*20)/20/this.view.scale)};Graph.prototype.zoomOut=function(){.15>=this.view.scale?this.zoom((this.view.scale-.01)/this.view.scale):this.zoom(Math.round(1/this.zoomFactor*this.view.scale*20)/20/this.view.scale)}; Graph.prototype.fitWindow=function(a,c){c=null!=c?c:10;var b=this.container.clientWidth-c,d=this.container.clientHeight-c,e=Math.floor(20*Math.min(b/a.width,d/a.height))/20;this.zoomTo(e);if(mxUtils.hasScrollbars(this.container)){var f=this.view.translate;this.container.scrollTop=(a.y+f.y)*e-Math.max((d-a.height*e)/2+c/2,0);this.container.scrollLeft=(a.x+f.x)*e-Math.max((b-a.width*e)/2+c/2,0)}}; Graph.prototype.getTooltipForCell=function(a){var c="";if(mxUtils.isNode(a.value)){var b=null;Graph.translateDiagram&&null!=Graph.diagramLanguage&&(b=a.value.getAttribute("tooltip_"+Graph.diagramLanguage));null==b&&(b=a.value.getAttribute("tooltip"));if(null!=b)null!=b&&this.isReplacePlaceholders(a)&&(b=this.replacePlaceholders(a,b)),c=this.sanitizeHtml(b);else{b=this.builtInProperties;a=a.value.attributes;var d=[];this.isEnabled()&&b.push("link");for(var e=0;emxUtils.indexOf(b,a[e].nodeName)&& -0b.name?1:0});for(e=0;e"+d[e].name+": ":"")+mxUtils.htmlEntities(d[e].value)+"\n");0'+c+""))}}return c};Graph.prototype.stringToBytes=function(a){return Graph.stringToBytes(a)}; -Graph.prototype.bytesToString=function(a){return Graph.bytesToString(a)};Graph.prototype.compressNode=function(a){return Graph.compressNode(a)};Graph.prototype.compress=function(a,c){return Graph.compress(a,c)};Graph.prototype.decompress=function(a,c){return Graph.decompress(a,c)};Graph.prototype.zapGremlins=function(a){return Graph.zapGremlins(a)};HoverIcons=function(a){this.graph=a;this.init()};HoverIcons.prototype.arrowSpacing=2;HoverIcons.prototype.updateDelay=500; -HoverIcons.prototype.activationDelay=140;HoverIcons.prototype.currentState=null;HoverIcons.prototype.activeArrow=null;HoverIcons.prototype.inactiveOpacity=15;HoverIcons.prototype.cssCursor="copy";HoverIcons.prototype.checkCollisions=!0;HoverIcons.prototype.arrowFill="#29b6f2"; -HoverIcons.prototype.triangleUp=mxClient.IS_SVG?Graph.createSvgImage(18,28,''):new mxImage(IMAGE_PATH+"/triangle-up.png",26,14);HoverIcons.prototype.triangleRight=mxClient.IS_SVG?Graph.createSvgImage(26,18,''):new mxImage(IMAGE_PATH+"/triangle-right.png",14,26); -HoverIcons.prototype.triangleDown=mxClient.IS_SVG?Graph.createSvgImage(18,26,''):new mxImage(IMAGE_PATH+"/triangle-down.png",26,14);HoverIcons.prototype.triangleLeft=mxClient.IS_SVG?Graph.createSvgImage(28,18,''):new mxImage(IMAGE_PATH+"/triangle-left.png",14,26); -HoverIcons.prototype.roundDrop=mxClient.IS_SVG?Graph.createSvgImage(26,26,''):new mxImage(IMAGE_PATH+"/round-drop.png",26,26); -HoverIcons.prototype.refreshTarget=new mxImage(mxClient.IS_SVG?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjM2cHgiIGhlaWdodD0iMzZweCI+PGVsbGlwc2UgZmlsbD0iIzI5YjZmMiIgY3g9IjEyIiBjeT0iMTIiIHJ4PSIxMiIgcnk9IjEyIi8+PHBhdGggdHJhbnNmb3JtPSJzY2FsZSgwLjgpIHRyYW5zbGF0ZSgyLjQsIDIuNCkiIHN0cm9rZT0iI2ZmZiIgZmlsbD0iI2ZmZiIgZD0iTTEyIDZ2M2w0LTQtNC00djNjLTQuNDIgMC04IDMuNTgtOCA4IDAgMS41Ny40NiAzLjAzIDEuMjQgNC4yNkw2LjcgMTQuOGMtLjQ1LS44My0uNy0xLjc5LS43LTIuOCAwLTMuMzEgMi42OS02IDYtNnptNi43NiAxLjc0TDE3LjMgOS4yYy40NC44NC43IDEuNzkuNyAyLjggMCAzLjMxLTIuNjkgNi02IDZ2LTNsLTQgNCA0IDR2LTNjNC40MiAwIDgtMy41OCA4LTggMC0xLjU3LS40Ni0zLjAzLTEuMjQtNC4yNnoiLz48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PC9zdmc+Cg==":IMAGE_PATH+ -"/refresh.png",38,38);HoverIcons.prototype.tolerance=mxClient.IS_TOUCH?6:0; +0b.name?1:0});for(e=0;e"+d[e].name+": ":"")+mxUtils.htmlEntities(d[e].value)+"\n");0'+c+""))}}return c}; +Graph.prototype.getFlowAnimationStyle=function(){var a=document.getElementsByTagName("head")[0];if(null!=a&&null==this.flowAnimationStyle){this.flowAnimationStyle=document.createElement("style");this.flowAnimationStyle.setAttribute("id","geEditorFlowAnimation-"+Editor.guid());this.flowAnimationStyle.type="text/css";var c=this.flowAnimationStyle.getAttribute("id");this.flowAnimationStyle.innerHTML=this.getFlowAnimationStyleCss(c);a.appendChild(this.flowAnimationStyle)}return this.flowAnimationStyle}; +Graph.prototype.getFlowAnimationStyleCss=function(a){return"."+a+" {\nanimation: "+a+" 0.5s linear;\nanimation-iteration-count: infinite;\n}\n@keyframes "+a+" {\nto {\nstroke-dashoffset: "+-16*this.view.scale+";\n}\n}"};Graph.prototype.stringToBytes=function(a){return Graph.stringToBytes(a)};Graph.prototype.bytesToString=function(a){return Graph.bytesToString(a)};Graph.prototype.compressNode=function(a){return Graph.compressNode(a)};Graph.prototype.compress=function(a,c){return Graph.compress(a,c)}; +Graph.prototype.decompress=function(a,c){return Graph.decompress(a,c)};Graph.prototype.zapGremlins=function(a){return Graph.zapGremlins(a)};HoverIcons=function(a){this.graph=a;this.init()};HoverIcons.prototype.arrowSpacing=2;HoverIcons.prototype.updateDelay=500;HoverIcons.prototype.activationDelay=140;HoverIcons.prototype.currentState=null;HoverIcons.prototype.activeArrow=null;HoverIcons.prototype.inactiveOpacity=15;HoverIcons.prototype.cssCursor="copy";HoverIcons.prototype.checkCollisions=!0; +HoverIcons.prototype.arrowFill="#29b6f2";HoverIcons.prototype.triangleUp=mxClient.IS_SVG?Graph.createSvgImage(18,28,''):new mxImage(IMAGE_PATH+"/triangle-up.png",26,14); +HoverIcons.prototype.triangleRight=mxClient.IS_SVG?Graph.createSvgImage(26,18,''):new mxImage(IMAGE_PATH+"/triangle-right.png",14,26);HoverIcons.prototype.triangleDown=mxClient.IS_SVG?Graph.createSvgImage(18,26,''):new mxImage(IMAGE_PATH+"/triangle-down.png",26,14); +HoverIcons.prototype.triangleLeft=mxClient.IS_SVG?Graph.createSvgImage(28,18,''):new mxImage(IMAGE_PATH+"/triangle-left.png",14,26);HoverIcons.prototype.roundDrop=mxClient.IS_SVG?Graph.createSvgImage(26,26,''):new mxImage(IMAGE_PATH+"/round-drop.png",26,26); +HoverIcons.prototype.refreshTarget=new mxImage(mxClient.IS_SVG?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjM2cHgiIGhlaWdodD0iMzZweCI+PGVsbGlwc2UgZmlsbD0iIzI5YjZmMiIgY3g9IjEyIiBjeT0iMTIiIHJ4PSIxMiIgcnk9IjEyIi8+PHBhdGggdHJhbnNmb3JtPSJzY2FsZSgwLjgpIHRyYW5zbGF0ZSgyLjQsIDIuNCkiIHN0cm9rZT0iI2ZmZiIgZmlsbD0iI2ZmZiIgZD0iTTEyIDZ2M2w0LTQtNC00djNjLTQuNDIgMC04IDMuNTgtOCA4IDAgMS41Ny40NiAzLjAzIDEuMjQgNC4yNkw2LjcgMTQuOGMtLjQ1LS44My0uNy0xLjc5LS43LTIuOCAwLTMuMzEgMi42OS02IDYtNnptNi43NiAxLjc0TDE3LjMgOS4yYy40NC44NC43IDEuNzkuNyAyLjggMCAzLjMxLTIuNjkgNi02IDZ2LTNsLTQgNCA0IDR2LTNjNC40MiAwIDgtMy41OCA4LTggMC0xLjU3LS40Ni0zLjAzLTEuMjQtNC4yNnoiLz48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PC9zdmc+Cg==": +IMAGE_PATH+"/refresh.png",38,38);HoverIcons.prototype.tolerance=mxClient.IS_TOUCH?6:0; HoverIcons.prototype.init=function(){this.arrowUp=this.createArrow(this.triangleUp,mxResources.get("plusTooltip"));this.arrowRight=this.createArrow(this.triangleRight,mxResources.get("plusTooltip"));this.arrowDown=this.createArrow(this.triangleDown,mxResources.get("plusTooltip"));this.arrowLeft=this.createArrow(this.triangleLeft,mxResources.get("plusTooltip"));this.elts=[this.arrowUp,this.arrowRight,this.arrowDown,this.arrowLeft];this.resetHandler=mxUtils.bind(this,function(){this.reset()});this.repaintHandler= mxUtils.bind(this,function(){this.repaint()});this.graph.selectionModel.addListener(mxEvent.CHANGE,this.resetHandler);this.graph.model.addListener(mxEvent.CHANGE,this.repaintHandler);this.graph.view.addListener(mxEvent.SCALE_AND_TRANSLATE,this.repaintHandler);this.graph.view.addListener(mxEvent.TRANSLATE,this.repaintHandler);this.graph.view.addListener(mxEvent.SCALE,this.repaintHandler);this.graph.view.addListener(mxEvent.DOWN,this.repaintHandler);this.graph.view.addListener(mxEvent.UP,this.repaintHandler); this.graph.addListener(mxEvent.ROOT,this.repaintHandler);this.graph.addListener(mxEvent.ESCAPE,this.resetHandler);mxEvent.addListener(this.graph.container,"scroll",this.resetHandler);this.graph.addListener(mxEvent.ESCAPE,mxUtils.bind(this,function(){this.mouseDownPoint=null}));mxEvent.addListener(this.graph.container,"mouseleave",mxUtils.bind(this,function(a){null!=a.relatedTarget&&mxEvent.getSource(a)==this.graph.container&&this.setDisplay("none")}));this.graph.addListener(mxEvent.START_EDITING, @@ -2745,25 +2746,27 @@ e=this.createVertex(null,null,"",0,0,c*b,a*d,null!=f?f:"shape=table;childLayout= d+f,this.createParent(e,this.createParent(g,this.createVertex(null,null,"",f,0,b,d,k),c,b,0),a-1,0,d)):e};Graph.prototype.isTableCell=function(a){return this.model.isVertex(a)&&this.isTableRow(this.model.getParent(a))};Graph.prototype.isTableRow=function(a){return this.model.isVertex(a)&&this.isTable(this.model.getParent(a))};Graph.prototype.isTable=function(a){a=this.getCellStyle(a);return null!=a&&"tableLayout"==a.childLayout}; Graph.prototype.setTableRowHeight=function(a,c,b){b=null!=b?b:!0;var d=this.getModel();d.beginUpdate();try{var e=this.getCellGeometry(a);if(null!=e){e=e.clone();e.height+=c;d.setGeometry(a,e);var f=d.getParent(a),g=d.getChildCells(f,!0);if(!b){var h=mxUtils.indexOf(g,a);if(hf||Math.abs(r.y-k.y)>f)&&(Math.abs(r.x-h.x)>f||Math.abs(r.y-h.y)>f)&&(Math.abs(r.x-B.x)>f||Math.abs(r.y-B.y)>f)&&(Math.abs(r.x-D.x)>f||Math.abs(r.y-D.y)>f)){D=r.x-k.x;B=r.y-k.y;r={distSq:D*D+B*B,x:r.x,y:r.y};for(D=0;Dr.distSq){w.splice(D,0,r);r=null;break}null==r||0!=w.length&&w[w.length-1].x===r.x&&w[w.length-1].y===r.y||w.push(r)}}}for(x=0;xf*f&&0f*f&&(D=new mxPoint(C.x-r.x,C.y-r.y),x=new mxPoint(C.x+r.x,C.y+r.y),n.push(D),this.addPoints(a,n,c,d,!1,null,h),n=0>Math.round(r.x)||0==Math.round(r.x)&&0>=Math.round(r.y)?1:-1,h=!1,"sharp"==g?(a.lineTo(D.x-r.y*n,D.y+r.x*n),a.lineTo(x.x-r.y*n,x.y+r.x*n),a.lineTo(x.x,x.y)):"arc"==g?(n*=1.3,a.curveTo(D.x-r.y*n,D.y+r.x*n,x.x-r.y*n,x.y+r.x*n,x.x,x.y)):(a.moveTo(x.x,x.y),h=!0),n=[x],D=!0))}else r=null;D||(n.push(C),k=C)}this.addPoints(a,n,c,d,!1,null,h);a.stroke()}};var f=mxGraphView.prototype.updateFloatingTerminalPoint; -mxGraphView.prototype.updateFloatingTerminalPoint=function(a,b,c,d){if(null==b||null==a||"1"!=b.style.snapToPoint&&"1"!=a.style.snapToPoint)f.apply(this,arguments);else{b=this.getTerminalPort(a,b,d);var e=this.getNextPoint(a,c,d),g=this.graph.isOrthogonal(a),h=mxUtils.toRadians(Number(b.style[mxConstants.STYLE_ROTATION]||"0")),k=new mxPoint(b.getCenterX(),b.getCenterY());if(0!=h)var l=Math.cos(-h),n=Math.sin(-h),e=mxUtils.getRotatedPoint(e,l,n,k);l=parseFloat(a.style[mxConstants.STYLE_PERIMETER_SPACING]|| -0);l+=parseFloat(a.style[d?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]||0);e=this.getPerimeterPoint(b,e,0==h&&g,l);0!=h&&(l=Math.cos(h),n=Math.sin(h),e=mxUtils.getRotatedPoint(e,l,n,k));a.setAbsoluteTerminalPoint(this.snapToAnchorPoint(a,b,c,d,e),d)}};mxGraphView.prototype.snapToAnchorPoint=function(a,b,c,d,e){if(null!=b&&null!=a){a=this.graph.getAllConnectionConstraints(b);d=c=null;if(null!=a)for(var f=0;ff||Math.abs(x.y-k.y)>f)&&(Math.abs(x.x-h.x)>f||Math.abs(x.y-h.y)>f)&&(Math.abs(x.x-z.x)>f||Math.abs(x.y-z.y)>f)&&(Math.abs(x.x-C.x)>f||Math.abs(x.y-C.y)>f)){C=x.x-k.x;z=x.y-k.y;x={distSq:C*C+z*z,x:x.x,y:x.y};for(C=0;Cx.distSq){l.splice(C,0,x);x=null;break}null==x||0!=l.length&&l[l.length-1].x===x.x&&l[l.length-1].y===x.y||l.push(x)}}}for(A=0;Ae*e&&0e*e&&(C=new mxPoint(D.x-n.x,D.y-n.y),A=new mxPoint(D.x+n.x,D.y+n.y),m.push(C),this.addPoints(a,m,c,d,!1,null,h),m=0>Math.round(n.x)||0==Math.round(n.x)&&0>=Math.round(n.y)?1:-1,h=!1,"sharp"==g?(a.lineTo(C.x-n.y*m,C.y+n.x*m),a.lineTo(A.x-n.y*m,A.y+n.x*m),a.lineTo(A.x,A.y)):"arc"==g?(m*=1.3,a.curveTo(C.x-n.y*m,C.y+n.x*m,A.x-n.y*m,A.y+n.x*m,A.x,A.y)):(a.moveTo(A.x,A.y),h=!0),m=[A],C=!0))}else n= +null;C||(m.push(D),k=D)}this.addPoints(a,m,c,d,!1,null,h);a.stroke()}};var g=mxGraphView.prototype.updateFloatingTerminalPoint;mxGraphView.prototype.updateFloatingTerminalPoint=function(a,b,c,d){if(null==b||null==a||"1"!=b.style.snapToPoint&&"1"!=a.style.snapToPoint)g.apply(this,arguments);else{b=this.getTerminalPort(a,b,d);var e=this.getNextPoint(a,c,d),f=this.graph.isOrthogonal(a),h=mxUtils.toRadians(Number(b.style[mxConstants.STYLE_ROTATION]||"0")),k=new mxPoint(b.getCenterX(),b.getCenterY()); +if(0!=h)var l=Math.cos(-h),m=Math.sin(-h),e=mxUtils.getRotatedPoint(e,l,m,k);l=parseFloat(a.style[mxConstants.STYLE_PERIMETER_SPACING]||0);l+=parseFloat(a.style[d?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]||0);e=this.getPerimeterPoint(b,e,0==h&&f,l);0!=h&&(l=Math.cos(h),m=Math.sin(h),e=mxUtils.getRotatedPoint(e,l,m,k));a.setAbsoluteTerminalPoint(this.snapToAnchorPoint(a,b,c,d,e),d)}};mxGraphView.prototype.snapToAnchorPoint=function(a,b,c,d,e){if(null!=b&& +null!=a){a=this.graph.getAllConnectionConstraints(b);d=c=null;if(null!=a)for(var f=0;f=f.getStatus()&&eval.call(window,f.getText())}}catch(g){null!=window.console&&console.log("error in getStencil:",e,g)}}mxStencilRegistry.packages[b]=1}}else b=b.replace("_-_","_"),mxStencilRegistry.loadStencilSet(STENCIL_PATH+"/"+b+".xml",null);c=mxStencilRegistry.stencils[a]}}return c}; mxStencilRegistry.getBasenameForStencil=function(a){var c=null;if(null!=a&&"string"===typeof a&&(a=a.split("."),0e||!a&&0X)for(Q=0;Q>X;Q--)this.model.remove(R[R.length+ -Q-1]);R=this.model.getChildCells(a[k],!0);for(Q=0;QX)for(M=0;M>X;M--)this.model.remove(S[S.length+ +M-1]);S=this.model.getChildCells(a[k],!0);for(M=0;MmxUtils.indexOf(a,f)&&0>mxUtils.indexOf(c,f)&&c.push(f):this.labelChanged(a[d],"")}else{if(this.isTableRow(a[d])&&(f=this.model.getParent(a[d]),0>mxUtils.indexOf(a,f)&&0>mxUtils.indexOf(c,f))){for(var g=this.model.getChildCells(f,!0),h=0,k=0;k< g.length;k++)0<=mxUtils.indexOf(a,g[k])&&h++;h==g.length&&c.push(f)}c.push(a[d])}c=n.apply(this,[c,b])}finally{this.model.endUpdate()}return c};Graph.prototype.updateCustomLinks=function(a,b){for(var c=0;coa&&Y++;Ha++}y.lengthoa&&Y++;Ha++}y.length")|| +(a.removeAttribute("style"),a.removeAttribute("class"),a.removeAttribute("width"),a.removeAttribute("cellpadding"),a.removeAttribute("cellspacing"),a.removeAttribute("border"))):a.parentNode.removeChild(a)}r.apply(this,arguments);mxClient.IS_QUIRKS||7===document.documentMode||8===document.documentMode||mxEvent.addListener(this.textarea,"paste",mxUtils.bind(this,function(a){var d=b(this.textarea,this.textarea.cloneNode(!0));window.setTimeout(mxUtils.bind(this,function(){null!=this.textarea&&(0<=this.textarea.innerHTML.indexOf("")|| 0<=this.textarea.innerHTML.indexOf("\x3c!--[if !mso]>")?c(this.textarea,d):Graph.removePasteFormatting(this.textarea))}),0)}))};mxCellEditor.prototype.toggleViewMode=function(){var a=this.graph.view.getState(this.editingCell);if(null!=a){var b=null!=a&&"0"!=mxUtils.getValue(a.style,"nl2Br","1"),c=this.saveSelection();if(this.codeViewMode){k=mxUtils.extractTextWithWhitespace(this.textarea.childNodes);0"):k,!0);this.textarea.className="mxCellEditor geContentEditable";var d=mxUtils.getValue(a.style,mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE),b=mxUtils.getValue(a.style,mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY),e=mxUtils.getValue(a.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),f=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD,g=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)& mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC,h=[];(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&h.push("underline");(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_STRIKETHROUGH)==mxConstants.FONT_STRIKETHROUGH&&h.push("line-through");this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(d*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(d)+ @@ -2867,19 +2870,19 @@ this.switchSelectionState=c;this.resize()}};var w=mxCellEditor.prototype.resize; mxConstants.ALIGN_CENTER),mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE)));this.bounds.x+=d.x*this.bounds.width;this.bounds.y+=d.y*this.bounds.height}this.textarea.style.width=Math.round((this.bounds.width-4)/c)+"px";this.textarea.style.height=Math.round((this.bounds.height-4)/c)+"px";this.textarea.style.overflow="auto";this.textarea.clientHeight"));return c=this.graph.sanitizeHtml(c,!0)}; -mxCellEditorGetCurrentValue=mxCellEditor.prototype.getCurrentValue;mxCellEditor.prototype.getCurrentValue=function(a){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetCurrentValue.apply(this,arguments);var b=this.graph.sanitizeHtml(this.textarea.innerHTML,!0);return b="1"==mxUtils.getValue(a.style,"nl2Br","1")?b.replace(/\r\n/g,"
").replace(/\n/g,"
"):b.replace(/\r\n/g,"").replace(/\n/g,"")};var r=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(a){this.codeViewMode&& -this.toggleViewMode();r.apply(this,arguments);this.focusContainer()};mxCellEditor.prototype.focusContainer=function(){try{this.graph.container.focus()}catch(G){}};var A=mxCellEditor.prototype.applyValue;mxCellEditor.prototype.applyValue=function(a,b){this.graph.getModel().beginUpdate();try{A.apply(this,arguments),""==b&&this.graph.isCellDeletable(a.cell)&&0==this.graph.model.getChildCount(a.cell)&&this.graph.isTransparentState(a)&&this.graph.removeCells([a.cell],!1)}finally{this.graph.getModel().endUpdate()}}; +mxCellEditorGetCurrentValue=mxCellEditor.prototype.getCurrentValue;mxCellEditor.prototype.getCurrentValue=function(a){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetCurrentValue.apply(this,arguments);var b=this.graph.sanitizeHtml(this.textarea.innerHTML,!0);return b="1"==mxUtils.getValue(a.style,"nl2Br","1")?b.replace(/\r\n/g,"
").replace(/\n/g,"
"):b.replace(/\r\n/g,"").replace(/\n/g,"")};var v=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(a){this.codeViewMode&& +this.toggleViewMode();v.apply(this,arguments);this.focusContainer()};mxCellEditor.prototype.focusContainer=function(){try{this.graph.container.focus()}catch(K){}};var x=mxCellEditor.prototype.applyValue;mxCellEditor.prototype.applyValue=function(a,b){this.graph.getModel().beginUpdate();try{x.apply(this,arguments),""==b&&this.graph.isCellDeletable(a.cell)&&0==this.graph.model.getChildCount(a.cell)&&this.graph.isTransparentState(a)&&this.graph.removeCells([a.cell],!1)}finally{this.graph.getModel().endUpdate()}}; mxCellEditor.prototype.getBackgroundColor=function(a){var b=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,null);null!=b&&b!=mxConstants.NONE||!(null!=a.cell.geometry&&0g||Math.abs(f)>g)null==this.div&&(this.div=this.createShape()),mxUtils.clearSelection(),this.update(d,c),this.isSpaceEvent(b)?(d=this.x+this.width,c=this.y+this.height,e=this.graph.view.scale,mxEvent.isAltDown(b.getEvent())||(this.width=this.graph.snap(this.width/e)*e,this.height=this.graph.snap(this.height/e)*e,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)),b.consume()}};var K=mxRubberband.prototype.reset;mxRubberband.prototype.reset=function(){null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null);K.apply(this,arguments)};var L=(new Date).getTime(),S=0,ga=mxEdgeHandler.prototype.updatePreviewState;mxEdgeHandler.prototype.updatePreviewState=function(a,b,c,d){ga.apply(this,arguments);c!=this.currentTerminalState?(L=(new Date).getTime(),S=0):S=(new Date).getTime()-L;this.currentTerminalState= -c};var la=mxEdgeHandler.prototype.isOutlineConnectEvent;mxEdgeHandler.prototype.isOutlineConnectEvent=function(a){return null!=this.currentTerminalState&&a.getState()==this.currentTerminalState&&2E3=this.state.absolutePoints.length- +this.secondDiv=null)),b.consume()}};var I=mxRubberband.prototype.reset;mxRubberband.prototype.reset=function(){null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null);I.apply(this,arguments)};var J=(new Date).getTime(),R=0,ga=mxEdgeHandler.prototype.updatePreviewState;mxEdgeHandler.prototype.updatePreviewState=function(a,b,c,d){ga.apply(this,arguments);c!=this.currentTerminalState?(J=(new Date).getTime(),R=0):R=(new Date).getTime()-J;this.currentTerminalState= +c};var la=mxEdgeHandler.prototype.isOutlineConnectEvent;mxEdgeHandler.prototype.isOutlineConnectEvent=function(a){return null!=this.currentTerminalState&&a.getState()==this.currentTerminalState&&2E3=this.state.absolutePoints.length- 1||this.constructor==mxElbowEdgeHandler&&2==a)?this.graph.getConnectionConstraint(this.state,d,c):null,c=null!=(null!=e?this.graph.getConnectionPoint(this.state.getVisibleTerminalState(c),e):null)?this.fixedHandleImage:null!=e&&null!=d?this.terminalHandleImage:this.handleImage;if(null!=c)return c=new mxImageShape(new mxRectangle(0,0,c.width,c.height),c.src),c.preserveImageAspect=!1,c;c=mxConstants.HANDLE_SIZE;this.preferHtml&&--c;return new mxRectangleShape(new mxRectangle(0,0,c,c),mxConstants.HANDLE_FILLCOLOR, mxConstants.HANDLE_STROKECOLOR)};var ha=mxVertexHandler.prototype.createSizerShape;mxVertexHandler.prototype.createSizerShape=function(a,b,c){this.handleImage=b==mxEvent.ROTATION_HANDLE?HoverIcons.prototype.rotationHandle:b==mxEvent.LABEL_HANDLE?this.secondaryHandleImage:this.handleImage;return ha.apply(this,arguments)};var V=mxGraphHandler.prototype.getBoundingBox;mxGraphHandler.prototype.getBoundingBox=function(a){if(null!=a&&1==a.length){var b=this.graph.getModel(),c=b.getParent(a[0]),d=this.graph.getCellGeometry(a[0]); if(b.isEdge(c)&&null!=d&&d.relative&&(b=this.graph.view.getState(a[0]),null!=b&&2>b.width&&2>b.height&&null!=b.text&&null!=b.text.boundingBox))return mxRectangle.fromRectangle(b.text.boundingBox)}return V.apply(this,arguments)};var ia=mxGraphHandler.prototype.getGuideStates;mxGraphHandler.prototype.getGuideStates=function(){for(var a=ia.apply(this,arguments),b=[],c=0;c';if(mxClient.IS_QUIRKS||8==document.documentMode)m.firstChild.style.margin="0px";null!=a&&a!=mxConstants.NONE?(k.setAttribute("checked","checked"),k.defaultChecked=!0,k.checked=!0):(k.removeAttribute("checked"),k.defaultChecked=!1,k.checked=!1);m.style.display=k.checked|| -g?"":"none";null!=f&&f(a);e||(n=a,(h||g||c()!=n)&&b(n));p=!1}},m=mxUtils.button("",mxUtils.bind(this,function(a){this.editorUi.pickColor(n,function(a){q(a,null,!0)});mxEvent.consume(a)}));m.style.position="absolute";m.style.marginTop="-4px";m.style.right=mxClient.IS_QUIRKS?"0px":"20px";m.style.height="22px";m.className="geColorBtn";m.style.display=k.checked||g?"":"none";h.appendChild(m);mxEvent.addListener(h,"click",function(a){a=mxEvent.getSource(a);if(a==k||"INPUT"!=a.nodeName)a!=k&&(k.checked= +BaseFormatPanel.prototype.createColorOption=function(a,c,b,d,e,f,g){var h=document.createElement("div");h.style.padding="6px 0px 1px 0px";h.style.whiteSpace="nowrap";h.style.overflow="hidden";h.style.width="200px";h.style.height=mxClient.IS_QUIRKS?"27px":"18px";var k=document.createElement("input");k.setAttribute("type","checkbox");k.style.margin="0px 6px 0px 0px";g||h.appendChild(k);var l=document.createElement("span");mxUtils.write(l,a);h.appendChild(l);var n=c(),m=!1,p=null,q=function(a,e,h){if(!m){m= +!0;a=/(^#?[a-zA-Z0-9]*$)/.test(a)?a:d;p.innerHTML='
';if(mxClient.IS_QUIRKS||8==document.documentMode)p.firstChild.style.margin="0px";null!=a&&a!=mxConstants.NONE?(k.setAttribute("checked","checked"),k.defaultChecked=!0,k.checked=!0):(k.removeAttribute("checked"),k.defaultChecked=!1,k.checked=!1);p.style.display=k.checked|| +g?"":"none";null!=f&&f(a);e||(n=a,(h||g||c()!=n)&&b(n));m=!1}},p=mxUtils.button("",mxUtils.bind(this,function(a){this.editorUi.pickColor(n,function(a){q(a,null,!0)});mxEvent.consume(a)}));p.style.position="absolute";p.style.marginTop="-4px";p.style.right=mxClient.IS_QUIRKS?"0px":"20px";p.style.height="22px";p.className="geColorBtn";p.style.display=k.checked||g?"":"none";h.appendChild(p);mxEvent.addListener(h,"click",function(a){a=mxEvent.getSource(a);if(a==k||"INPUT"!=a.nodeName)a!=k&&(k.checked= !k.checked),k.checked||null==n||n==mxConstants.NONE||d==mxConstants.NONE||(d=n),q(k.checked?d:mxConstants.NONE)});q(n,!0);null!=e&&(e.install(q),this.listeners.push(e));return h}; BaseFormatPanel.prototype.createCellColorOption=function(a,c,b,d,e){var f=this.editorUi,g=f.editor.graph;return this.createColorOption(a,function(){var a=g.view.getState(g.getSelectionCell());return null!=a?mxUtils.getValue(a.style,c,null):null},function(a){g.getModel().beginUpdate();try{g.setCellStyles(c,a,g.getSelectionCells()),null!=e&&e(a),f.fireEvent(new mxEventObject("styleChanged","keys",[c],"values",[a],"cells",g.getSelectionCells()))}finally{g.getModel().endUpdate()}},b||mxConstants.NONE, {install:function(a){this.listener=function(){var b=g.view.getState(g.getSelectionCell());null!=b&&a(mxUtils.getValue(b.style,c,null))};g.getModel().addListener(mxEvent.CHANGE,this.listener)},destroy:function(){g.getModel().removeListener(this.listener)}},d)}; @@ -3010,77 +3013,77 @@ a.style.paddingTop="10px");d.containsLabel||(e=mxResources.get("reverse"),0document.documentMode)?a.style.filter=b?"progid:DXImageTransform.Microsoft.Gradient(StartColorStr='#c5ecff', EndColorStr='#87d4fb', GradientType=0)":"":a.style.backgroundImage=b?"linear-gradient(#c5ecff 0px,#87d4fb 100%)":""}var b=this.editorUi,d=b.editor.graph,e=this.format.getSelectionState(),f=this.createTitle(mxResources.get("font"));f.style.paddingLeft="18px";f.style.paddingTop="10px";f.style.paddingBottom= "6px";a.appendChild(f);f=this.createPanel();f.style.paddingTop="2px";f.style.paddingBottom="2px";f.style.position="relative";f.style.marginLeft="-2px";f.style.borderWidth="0px";f.className="geToolbarContainer";mxClient.IS_QUIRKS&&(f.style.display="block");if(d.cellEditor.isContentEditing()){var g=f.cloneNode(),h=this.editorUi.toolbar.addMenu(mxResources.get("style"),mxResources.get("style"),!0,"formatBlock",g,null,!0);h.style.color="rgb(112, 112, 112)";h.style.whiteSpace="nowrap";h.style.overflow= "hidden";h.style.margin="0px";this.addArrow(h);h.style.width="192px";h.style.height="15px";h=h.getElementsByTagName("div")[0];h.style.cssFloat="right";a.appendChild(g)}a.appendChild(f);g=this.createPanel();g.style.marginTop="8px";g.style.borderTop="1px solid #c0c0c0";g.style.paddingTop="6px";g.style.paddingBottom="6px";var k=this.editorUi.toolbar.addMenu("Helvetica",mxResources.get("fontFamily"),!0,"fontFamily",f,null,!0);k.style.color="rgb(112, 112, 112)";k.style.whiteSpace="nowrap";k.style.overflow= "hidden";k.style.margin="0px";this.addArrow(k);k.style.width="192px";k.style.height="15px";h=f.cloneNode(!1);h.style.marginLeft="-3px";var l=this.editorUi.toolbar.addItems(["bold","italic","underline"],h,!0);l[0].setAttribute("title",mxResources.get("bold")+" ("+this.editorUi.actions.get("bold").shortcut+")");l[1].setAttribute("title",mxResources.get("italic")+" ("+this.editorUi.actions.get("italic").shortcut+")");l[2].setAttribute("title",mxResources.get("underline")+" ("+this.editorUi.actions.get("underline").shortcut+ -")");var n=this.editorUi.toolbar.addItems(["vertical"],h,!0)[0];mxClient.IS_QUIRKS&&mxUtils.br(a);a.appendChild(h);this.styleButtons(l);this.styleButtons([n]);var p=f.cloneNode(!1);p.style.marginLeft="-3px";p.style.paddingBottom="0px";var m=function(a){return function(){return a()}},q=this.editorUi.toolbar.addButton("geSprite-left",mxResources.get("left"),d.cellEditor.isContentEditing()?function(a){d.cellEditor.alignText(mxConstants.ALIGN_LEFT,a)}:m(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN], -[mxConstants.ALIGN_LEFT])),p),v=this.editorUi.toolbar.addButton("geSprite-center",mxResources.get("center"),d.cellEditor.isContentEditing()?function(a){d.cellEditor.alignText(mxConstants.ALIGN_CENTER,a)}:m(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],[mxConstants.ALIGN_CENTER])),p),u=this.editorUi.toolbar.addButton("geSprite-right",mxResources.get("right"),d.cellEditor.isContentEditing()?function(a){d.cellEditor.alignText(mxConstants.ALIGN_RIGHT,a)}:m(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN], -[mxConstants.ALIGN_RIGHT])),p);this.styleButtons([q,v,u]);if(d.cellEditor.isContentEditing()){var t=this.editorUi.toolbar.addButton("geSprite-removeformat",mxResources.get("strikethrough"),function(){document.execCommand("strikeThrough",!1,null)},h);this.styleButtons([t]);t.firstChild.style.background="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik0wIDBoMjR2MjRIMFYweiIvPjwvZGVmcz48Y2xpcFBhdGggaWQ9ImIiPjx1c2UgeGxpbms6aHJlZj0iI2EiIG92ZXJmbG93PSJ2aXNpYmxlIi8+PC9jbGlwUGF0aD48cGF0aCBjbGlwLXBhdGg9InVybCgjYikiIGZpbGw9IiMwMTAxMDEiIGQ9Ik03LjI0IDguNzVjLS4yNi0uNDgtLjM5LTEuMDMtLjM5LTEuNjcgMC0uNjEuMTMtMS4xNi40LTEuNjcuMjYtLjUuNjMtLjkzIDEuMTEtMS4yOS40OC0uMzUgMS4wNS0uNjMgMS43LS44My42Ni0uMTkgMS4zOS0uMjkgMi4xOC0uMjkuODEgMCAxLjU0LjExIDIuMjEuMzQuNjYuMjIgMS4yMy41NCAxLjY5Ljk0LjQ3LjQuODMuODggMS4wOCAxLjQzLjI1LjU1LjM4IDEuMTUuMzggMS44MWgtMy4wMWMwLS4zMS0uMDUtLjU5LS4xNS0uODUtLjA5LS4yNy0uMjQtLjQ5LS40NC0uNjgtLjItLjE5LS40NS0uMzMtLjc1LS40NC0uMy0uMS0uNjYtLjE2LTEuMDYtLjE2LS4zOSAwLS43NC4wNC0xLjAzLjEzLS4yOS4wOS0uNTMuMjEtLjcyLjM2LS4xOS4xNi0uMzQuMzQtLjQ0LjU1LS4xLjIxLS4xNS40My0uMTUuNjYgMCAuNDguMjUuODguNzQgMS4yMS4zOC4yNS43Ny40OCAxLjQxLjdINy4zOWMtLjA1LS4wOC0uMTEtLjE3LS4xNS0uMjV6TTIxIDEydi0ySDN2Mmg5LjYyYy4xOC4wNy40LjE0LjU1LjIuMzcuMTcuNjYuMzQuODcuNTEuMjEuMTcuMzUuMzYuNDMuNTcuMDcuMi4xMS40My4xMS42OSAwIC4yMy0uMDUuNDUtLjE0LjY2LS4wOS4yLS4yMy4zOC0uNDIuNTMtLjE5LjE1LS40Mi4yNi0uNzEuMzUtLjI5LjA4LS42My4xMy0xLjAxLjEzLS40MyAwLS44My0uMDQtMS4xOC0uMTNzLS42Ni0uMjMtLjkxLS40MmMtLjI1LS4xOS0uNDUtLjQ0LS41OS0uNzUtLjE0LS4zMS0uMjUtLjc2LS4yNS0xLjIxSDYuNGMwIC41NS4wOCAxLjEzLjI0IDEuNTguMTYuNDUuMzcuODUuNjUgMS4yMS4yOC4zNS42LjY2Ljk4LjkyLjM3LjI2Ljc4LjQ4IDEuMjIuNjUuNDQuMTcuOS4zIDEuMzguMzkuNDguMDguOTYuMTMgMS40NC4xMy44IDAgMS41My0uMDkgMi4xOC0uMjhzMS4yMS0uNDUgMS42Ny0uNzljLjQ2LS4zNC44Mi0uNzcgMS4wNy0xLjI3cy4zOC0xLjA3LjM4LTEuNzFjMC0uNi0uMS0xLjE0LS4zMS0xLjYxLS4wNS0uMTEtLjExLS4yMy0uMTctLjMzSDIxeiIvPjwvc3ZnPg==)"; -t.firstChild.style.backgroundPosition="2px 2px";t.firstChild.style.backgroundSize="18px 18px";this.styleButtons([t])}var w=this.editorUi.toolbar.addButton("geSprite-top",mxResources.get("top"),m(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_TOP])),p),r=this.editorUi.toolbar.addButton("geSprite-middle",mxResources.get("middle"),m(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_MIDDLE])),p),A=this.editorUi.toolbar.addButton("geSprite-bottom", -mxResources.get("bottom"),m(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_BOTTOM])),p);this.styleButtons([w,r,A]);mxClient.IS_QUIRKS&&mxUtils.br(a);a.appendChild(p);var x,C,D,B,z,E,H;d.cellEditor.isContentEditing()?(w.style.display="none",r.style.display="none",A.style.display="none",n.style.display="none",D=this.editorUi.toolbar.addButton("geSprite-justifyfull",mxResources.get("block"),function(){1==D.style.opacity&&document.execCommand("justifyfull", -!1,null)},p),D.style.marginRight="9px",D.style.opacity=1,this.styleButtons([D,x=this.editorUi.toolbar.addButton("geSprite-subscript",mxResources.get("subscript")+" ("+Editor.ctrlKey+"+,)",function(){document.execCommand("subscript",!1,null)},p),C=this.editorUi.toolbar.addButton("geSprite-superscript",mxResources.get("superscript")+" ("+Editor.ctrlKey+"+.)",function(){document.execCommand("superscript",!1,null)},p)]),x.style.marginLeft="9px",m=p.cloneNode(!1),m.style.paddingTop="4px",p=[this.editorUi.toolbar.addButton("geSprite-orderedlist", -mxResources.get("numberedList"),function(){document.execCommand("insertorderedlist",!1,null)},m),this.editorUi.toolbar.addButton("geSprite-unorderedlist",mxResources.get("bulletedList"),function(){document.execCommand("insertunorderedlist",!1,null)},m),this.editorUi.toolbar.addButton("geSprite-outdent",mxResources.get("decreaseIndent"),function(){document.execCommand("outdent",!1,null)},m),this.editorUi.toolbar.addButton("geSprite-indent",mxResources.get("increaseIndent"),function(){document.execCommand("indent", -!1,null)},m),this.editorUi.toolbar.addButton("geSprite-removeformat",mxResources.get("removeFormat"),function(){document.execCommand("removeformat",!1,null)},m),this.editorUi.toolbar.addButton("geSprite-code",mxResources.get("html"),function(){d.cellEditor.toggleViewMode()},m)],this.styleButtons(p),p[p.length-2].style.marginLeft="9px",mxClient.IS_QUIRKS&&(mxUtils.br(a),m.style.height="40"),a.appendChild(m)):(l[2].style.marginRight="9px",u.style.marginRight="9px");p=f.cloneNode(!1);p.style.marginLeft= -"0px";p.style.paddingTop="8px";p.style.paddingBottom="4px";p.style.fontWeight="normal";mxUtils.write(p,mxResources.get("position"));var I=document.createElement("select");I.style.position="absolute";I.style.right="20px";I.style.width="97px";I.style.marginTop="-2px";for(var t="topLeft top topRight left center right bottomLeft bottom bottomRight".split(" "),J={topLeft:[mxConstants.ALIGN_LEFT,mxConstants.ALIGN_TOP,mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_BOTTOM],top:[mxConstants.ALIGN_CENTER,mxConstants.ALIGN_TOP, +")");var n=this.editorUi.toolbar.addItems(["vertical"],h,!0)[0];mxClient.IS_QUIRKS&&mxUtils.br(a);a.appendChild(h);this.styleButtons(l);this.styleButtons([n]);var m=f.cloneNode(!1);m.style.marginLeft="-3px";m.style.paddingBottom="0px";var p=function(a){return function(){return a()}},q=this.editorUi.toolbar.addButton("geSprite-left",mxResources.get("left"),d.cellEditor.isContentEditing()?function(a){d.cellEditor.alignText(mxConstants.ALIGN_LEFT,a)}:p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN], +[mxConstants.ALIGN_LEFT])),m),u=this.editorUi.toolbar.addButton("geSprite-center",mxResources.get("center"),d.cellEditor.isContentEditing()?function(a){d.cellEditor.alignText(mxConstants.ALIGN_CENTER,a)}:p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],[mxConstants.ALIGN_CENTER])),m),t=this.editorUi.toolbar.addButton("geSprite-right",mxResources.get("right"),d.cellEditor.isContentEditing()?function(a){d.cellEditor.alignText(mxConstants.ALIGN_RIGHT,a)}:p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN], +[mxConstants.ALIGN_RIGHT])),m);this.styleButtons([q,u,t]);if(d.cellEditor.isContentEditing()){var r=this.editorUi.toolbar.addButton("geSprite-removeformat",mxResources.get("strikethrough"),function(){document.execCommand("strikeThrough",!1,null)},h);this.styleButtons([r]);r.firstChild.style.background="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik0wIDBoMjR2MjRIMFYweiIvPjwvZGVmcz48Y2xpcFBhdGggaWQ9ImIiPjx1c2UgeGxpbms6aHJlZj0iI2EiIG92ZXJmbG93PSJ2aXNpYmxlIi8+PC9jbGlwUGF0aD48cGF0aCBjbGlwLXBhdGg9InVybCgjYikiIGZpbGw9IiMwMTAxMDEiIGQ9Ik03LjI0IDguNzVjLS4yNi0uNDgtLjM5LTEuMDMtLjM5LTEuNjcgMC0uNjEuMTMtMS4xNi40LTEuNjcuMjYtLjUuNjMtLjkzIDEuMTEtMS4yOS40OC0uMzUgMS4wNS0uNjMgMS43LS44My42Ni0uMTkgMS4zOS0uMjkgMi4xOC0uMjkuODEgMCAxLjU0LjExIDIuMjEuMzQuNjYuMjIgMS4yMy41NCAxLjY5Ljk0LjQ3LjQuODMuODggMS4wOCAxLjQzLjI1LjU1LjM4IDEuMTUuMzggMS44MWgtMy4wMWMwLS4zMS0uMDUtLjU5LS4xNS0uODUtLjA5LS4yNy0uMjQtLjQ5LS40NC0uNjgtLjItLjE5LS40NS0uMzMtLjc1LS40NC0uMy0uMS0uNjYtLjE2LTEuMDYtLjE2LS4zOSAwLS43NC4wNC0xLjAzLjEzLS4yOS4wOS0uNTMuMjEtLjcyLjM2LS4xOS4xNi0uMzQuMzQtLjQ0LjU1LS4xLjIxLS4xNS40My0uMTUuNjYgMCAuNDguMjUuODguNzQgMS4yMS4zOC4yNS43Ny40OCAxLjQxLjdINy4zOWMtLjA1LS4wOC0uMTEtLjE3LS4xNS0uMjV6TTIxIDEydi0ySDN2Mmg5LjYyYy4xOC4wNy40LjE0LjU1LjIuMzcuMTcuNjYuMzQuODcuNTEuMjEuMTcuMzUuMzYuNDMuNTcuMDcuMi4xMS40My4xMS42OSAwIC4yMy0uMDUuNDUtLjE0LjY2LS4wOS4yLS4yMy4zOC0uNDIuNTMtLjE5LjE1LS40Mi4yNi0uNzEuMzUtLjI5LjA4LS42My4xMy0xLjAxLjEzLS40MyAwLS44My0uMDQtMS4xOC0uMTNzLS42Ni0uMjMtLjkxLS40MmMtLjI1LS4xOS0uNDUtLjQ0LS41OS0uNzUtLjE0LS4zMS0uMjUtLjc2LS4yNS0xLjIxSDYuNGMwIC41NS4wOCAxLjEzLjI0IDEuNTguMTYuNDUuMzcuODUuNjUgMS4yMS4yOC4zNS42LjY2Ljk4LjkyLjM3LjI2Ljc4LjQ4IDEuMjIuNjUuNDQuMTcuOS4zIDEuMzguMzkuNDguMDguOTYuMTMgMS40NC4xMy44IDAgMS41My0uMDkgMi4xOC0uMjhzMS4yMS0uNDUgMS42Ny0uNzljLjQ2LS4zNC44Mi0uNzcgMS4wNy0xLjI3cy4zOC0xLjA3LjM4LTEuNzFjMC0uNi0uMS0xLjE0LS4zMS0xLjYxLS4wNS0uMTEtLjExLS4yMy0uMTctLjMzSDIxeiIvPjwvc3ZnPg==)"; +r.firstChild.style.backgroundPosition="2px 2px";r.firstChild.style.backgroundSize="18px 18px";this.styleButtons([r])}var w=this.editorUi.toolbar.addButton("geSprite-top",mxResources.get("top"),p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_TOP])),m),v=this.editorUi.toolbar.addButton("geSprite-middle",mxResources.get("middle"),p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_MIDDLE])),m),x=this.editorUi.toolbar.addButton("geSprite-bottom", +mxResources.get("bottom"),p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_BOTTOM])),m);this.styleButtons([w,v,x]);mxClient.IS_QUIRKS&&mxUtils.br(a);a.appendChild(m);var B,A,D,C,z,E,G;d.cellEditor.isContentEditing()?(w.style.display="none",v.style.display="none",x.style.display="none",n.style.display="none",D=this.editorUi.toolbar.addButton("geSprite-justifyfull",mxResources.get("block"),function(){1==D.style.opacity&&document.execCommand("justifyfull", +!1,null)},m),D.style.marginRight="9px",D.style.opacity=1,this.styleButtons([D,B=this.editorUi.toolbar.addButton("geSprite-subscript",mxResources.get("subscript")+" ("+Editor.ctrlKey+"+,)",function(){document.execCommand("subscript",!1,null)},m),A=this.editorUi.toolbar.addButton("geSprite-superscript",mxResources.get("superscript")+" ("+Editor.ctrlKey+"+.)",function(){document.execCommand("superscript",!1,null)},m)]),B.style.marginLeft="9px",p=m.cloneNode(!1),p.style.paddingTop="4px",m=[this.editorUi.toolbar.addButton("geSprite-orderedlist", +mxResources.get("numberedList"),function(){document.execCommand("insertorderedlist",!1,null)},p),this.editorUi.toolbar.addButton("geSprite-unorderedlist",mxResources.get("bulletedList"),function(){document.execCommand("insertunorderedlist",!1,null)},p),this.editorUi.toolbar.addButton("geSprite-outdent",mxResources.get("decreaseIndent"),function(){document.execCommand("outdent",!1,null)},p),this.editorUi.toolbar.addButton("geSprite-indent",mxResources.get("increaseIndent"),function(){document.execCommand("indent", +!1,null)},p),this.editorUi.toolbar.addButton("geSprite-removeformat",mxResources.get("removeFormat"),function(){document.execCommand("removeformat",!1,null)},p),this.editorUi.toolbar.addButton("geSprite-code",mxResources.get("html"),function(){d.cellEditor.toggleViewMode()},p)],this.styleButtons(m),m[m.length-2].style.marginLeft="9px",mxClient.IS_QUIRKS&&(mxUtils.br(a),p.style.height="40"),a.appendChild(p)):(l[2].style.marginRight="9px",t.style.marginRight="9px");m=f.cloneNode(!1);m.style.marginLeft= +"0px";m.style.paddingTop="8px";m.style.paddingBottom="4px";m.style.fontWeight="normal";mxUtils.write(m,mxResources.get("position"));var H=document.createElement("select");H.style.position="absolute";H.style.right="20px";H.style.width="97px";H.style.marginTop="-2px";for(var r="topLeft top topRight left center right bottomLeft bottom bottomRight".split(" "),O={topLeft:[mxConstants.ALIGN_LEFT,mxConstants.ALIGN_TOP,mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_BOTTOM],top:[mxConstants.ALIGN_CENTER,mxConstants.ALIGN_TOP, mxConstants.ALIGN_CENTER,mxConstants.ALIGN_BOTTOM],topRight:[mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_TOP,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_BOTTOM],left:[mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_MIDDLE],center:[mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE],right:[mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_MIDDLE,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE],bottomLeft:[mxConstants.ALIGN_LEFT, -mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_TOP],bottom:[mxConstants.ALIGN_CENTER,mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_TOP],bottomRight:[mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_TOP]},m=0;m=c.length||a[e]!=c[e].node||a[e]==c[e].node&&a[e].getAttribute("color")!=c[e].color){c=a[e].firstChild;if(null!=c&&"A"==c.nodeName&&null==c.nextSibling&&null!= c.firstChild){a[e].parentNode.insertBefore(c,a[e]);for(b=c.firstChild;null!=b;){var f=b.nextSibling;a[e].appendChild(b);b=f}c.appendChild(a[e])}break}}else document.execCommand("forecolor",!1,a!=mxConstants.NONE?a:"transparent")},null!=h[mxConstants.STYLE_FONTCOLOR]?h[mxConstants.STYLE_FONTCOLOR]:"#000000",{install:function(a){ga=a},destroy:function(){ga=null}},null,!0):this.createCellColorOption(mxResources.get("fontColor"),mxConstants.STYLE_FONTCOLOR,null!=h[mxConstants.STYLE_FONTCOLOR]?h[mxConstants.STYLE_FONTCOLOR]: "#000000",function(a){ha.style.display=a==mxConstants.NONE?"none":"";V.style.display=ha.style.display},function(a){a==mxConstants.NONE?d.setCellStyles(mxConstants.STYLE_NOLABEL,"1",d.getSelectionCells()):d.setCellStyles(mxConstants.STYLE_NOLABEL,null,d.getSelectionCells());d.updateCellStyles(mxConstants.STYLE_FONTCOLOR,a,d.getSelectionCells());d.updateLabelElements(d.getSelectionCells(),function(a){a.removeAttribute("color");a.style.color=null})});h.style.fontWeight="bold";g.appendChild(h);g.appendChild(ha); -d.cellEditor.isContentEditing()||g.appendChild(V);a.appendChild(g);g=this.createPanel();g.style.paddingTop="2px";g.style.paddingBottom="4px";h=d.filterSelectionCells(mxUtils.bind(this,function(a){var b=d.view.getState(a);return null==b||this.format.isAutoSizeState(b)||d.getModel().isEdge(a)||!d.isCellResizable(a)}));p=this.createCellOption(mxResources.get("wordWrap"),mxConstants.STYLE_WHITE_SPACE,null,"wrap","null",null,null,!0,h);p.style.fontWeight="bold";0"),c=d.cellEditor.textarea.firstChild);null!=c&&null!=d.cellEditor.textarea&&c!=d.cellEditor.textarea&&d.cellEditor.textarea.contains(c)&&(c.style.lineHeight=b+"%");a.value=b+" %"},function(a){T=a;mxEvent.addListener(a,"mousedown",function(){document.activeElement==d.cellEditor.textarea&&(Z=d.cellEditor.saveSelection())});mxEvent.addListener(a,"touchstart",function(){document.activeElement==d.cellEditor.textarea&&(Z=d.cellEditor.saveSelection())}); -a.value="120 %"}));g=f.cloneNode(!1);g.style.paddingLeft="0px";h=this.editorUi.toolbar.addItems(["link","image"],g,!0);p=[this.editorUi.toolbar.addButton("geSprite-horizontalrule",mxResources.get("insertHorizontalRule"),function(){document.execCommand("inserthorizontalrule",!1)},g),this.editorUi.toolbar.addMenuFunctionInContainer(g,"geSprite-table",mxResources.get("table"),!1,mxUtils.bind(this,function(a){this.editorUi.menus.addInsertTableItem(a)}))];this.styleButtons(h);this.styleButtons(p);h=this.createPanel(); -h.style.paddingTop="10px";h.style.paddingBottom="10px";h.appendChild(this.createTitle(mxResources.get("insert")));h.appendChild(g);a.appendChild(h);mxClient.IS_QUIRKS&&(h.style.height="70");h=f.cloneNode(!1);h.style.paddingLeft="0px";p=[this.editorUi.toolbar.addButton("geSprite-insertcolumnbefore",mxResources.get("insertColumnBefore"),mxUtils.bind(this,function(){try{null!=z&&d.insertColumn(z,null!=E?E.cellIndex:0)}catch(M){this.editorUi.handleError(M)}}),h),this.editorUi.toolbar.addButton("geSprite-insertcolumnafter", -mxResources.get("insertColumnAfter"),mxUtils.bind(this,function(){try{null!=z&&d.insertColumn(z,null!=E?E.cellIndex+1:-1)}catch(M){this.editorUi.handleError(M)}}),h),this.editorUi.toolbar.addButton("geSprite-deletecolumn",mxResources.get("deleteColumn"),mxUtils.bind(this,function(){try{null!=z&&null!=E&&d.deleteColumn(z,E.cellIndex)}catch(M){this.editorUi.handleError(M)}}),h),this.editorUi.toolbar.addButton("geSprite-insertrowbefore",mxResources.get("insertRowBefore"),mxUtils.bind(this,function(){try{null!= -z&&null!=H&&d.insertRow(z,H.sectionRowIndex)}catch(M){this.editorUi.handleError(M)}}),h),this.editorUi.toolbar.addButton("geSprite-insertrowafter",mxResources.get("insertRowAfter"),mxUtils.bind(this,function(){try{null!=z&&null!=H&&d.insertRow(z,H.sectionRowIndex+1)}catch(M){this.editorUi.handleError(M)}}),h),this.editorUi.toolbar.addButton("geSprite-deleterow",mxResources.get("deleteRow"),mxUtils.bind(this,function(){try{null!=z&&null!=H&&d.deleteRow(z,H.sectionRowIndex)}catch(M){this.editorUi.handleError(M)}}), -h)];this.styleButtons(p);p[2].style.marginRight="9px";g=this.createPanel();g.style.paddingTop="10px";g.style.paddingBottom="10px";g.appendChild(this.createTitle(mxResources.get("table")));g.appendChild(h);mxClient.IS_QUIRKS&&(mxUtils.br(a),g.style.height="70");f=f.cloneNode(!1);f.style.paddingLeft="0px";p=[this.editorUi.toolbar.addButton("geSprite-strokecolor",mxResources.get("borderColor"),mxUtils.bind(this,function(a){if(null!=z){var b=z.style.borderColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g, +a.value="120 %"}));g=f.cloneNode(!1);g.style.paddingLeft="0px";h=this.editorUi.toolbar.addItems(["link","image"],g,!0);m=[this.editorUi.toolbar.addButton("geSprite-horizontalrule",mxResources.get("insertHorizontalRule"),function(){document.execCommand("inserthorizontalrule",!1)},g),this.editorUi.toolbar.addMenuFunctionInContainer(g,"geSprite-table",mxResources.get("table"),!1,mxUtils.bind(this,function(a){this.editorUi.menus.addInsertTableItem(a)}))];this.styleButtons(h);this.styleButtons(m);h=this.createPanel(); +h.style.paddingTop="10px";h.style.paddingBottom="10px";h.appendChild(this.createTitle(mxResources.get("insert")));h.appendChild(g);a.appendChild(h);mxClient.IS_QUIRKS&&(h.style.height="70");h=f.cloneNode(!1);h.style.paddingLeft="0px";m=[this.editorUi.toolbar.addButton("geSprite-insertcolumnbefore",mxResources.get("insertColumnBefore"),mxUtils.bind(this,function(){try{null!=z&&d.insertColumn(z,null!=E?E.cellIndex:0)}catch(L){this.editorUi.handleError(L)}}),h),this.editorUi.toolbar.addButton("geSprite-insertcolumnafter", +mxResources.get("insertColumnAfter"),mxUtils.bind(this,function(){try{null!=z&&d.insertColumn(z,null!=E?E.cellIndex+1:-1)}catch(L){this.editorUi.handleError(L)}}),h),this.editorUi.toolbar.addButton("geSprite-deletecolumn",mxResources.get("deleteColumn"),mxUtils.bind(this,function(){try{null!=z&&null!=E&&d.deleteColumn(z,E.cellIndex)}catch(L){this.editorUi.handleError(L)}}),h),this.editorUi.toolbar.addButton("geSprite-insertrowbefore",mxResources.get("insertRowBefore"),mxUtils.bind(this,function(){try{null!= +z&&null!=G&&d.insertRow(z,G.sectionRowIndex)}catch(L){this.editorUi.handleError(L)}}),h),this.editorUi.toolbar.addButton("geSprite-insertrowafter",mxResources.get("insertRowAfter"),mxUtils.bind(this,function(){try{null!=z&&null!=G&&d.insertRow(z,G.sectionRowIndex+1)}catch(L){this.editorUi.handleError(L)}}),h),this.editorUi.toolbar.addButton("geSprite-deleterow",mxResources.get("deleteRow"),mxUtils.bind(this,function(){try{null!=z&&null!=G&&d.deleteRow(z,G.sectionRowIndex)}catch(L){this.editorUi.handleError(L)}}), +h)];this.styleButtons(m);m[2].style.marginRight="9px";g=this.createPanel();g.style.paddingTop="10px";g.style.paddingBottom="10px";g.appendChild(this.createTitle(mxResources.get("table")));g.appendChild(h);mxClient.IS_QUIRKS&&(mxUtils.br(a),g.style.height="70");f=f.cloneNode(!1);f.style.paddingLeft="0px";m=[this.editorUi.toolbar.addButton("geSprite-strokecolor",mxResources.get("borderColor"),mxUtils.bind(this,function(a){if(null!=z){var b=z.style.borderColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g, function(a,b,c,d){return"#"+("0"+Number(b).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)});this.editorUi.pickColor(b,function(b){var c=null==E||null!=a&&mxEvent.isShiftDown(a)?z:E;d.processElements(c,function(a){a.style.border=null});null==b||b==mxConstants.NONE?(c.removeAttribute("border"),c.style.border="",c.style.borderCollapse=""):(c.setAttribute("border","1"),c.style.border="1px solid "+b,c.style.borderCollapse="collapse")})}}),f),this.editorUi.toolbar.addButton("geSprite-fillcolor", mxResources.get("backgroundColor"),mxUtils.bind(this,function(a){if(null!=z){var b=z.style.backgroundColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,function(a,b,c,d){return"#"+("0"+Number(b).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)});this.editorUi.pickColor(b,function(b){var c=null==E||null!=a&&mxEvent.isShiftDown(a)?z:E;d.processElements(c,function(a){a.style.backgroundColor=null});c.style.backgroundColor=null==b|| b==mxConstants.NONE?"":b})}}),f),this.editorUi.toolbar.addButton("geSprite-fit",mxResources.get("spacing"),function(){if(null!=z){var a=z.getAttribute("cellPadding")||0,a=new FilenameDialog(b,a,mxResources.get("apply"),mxUtils.bind(this,function(a){null!=a&&0b.length+1)return a.substring(a.length-b.length-1,a.length)== +aa);this.addKeyHandler(da,aa);this.addKeyHandler(ka,aa);this.addKeyHandler(ca,aa);this.addKeyHandler(W,aa);d.getModel().addListener(mxEvent.CHANGE,aa);this.listeners.push({destroy:function(){d.getModel().removeListener(aa)}});aa();if(d.cellEditor.isContentEditing()){var K=!1,f=function(){K||(K=!0,window.setTimeout(function(){var a=d.getSelectedEditingElement();if(null!=a){var b=function(a,b){if(null!=a&&null!=b){if(a==b)return!0;if(a.length>b.length+1)return a.substring(a.length-b.length-1,a.length)== "-"+b}return!1},f=function(b){if(null!=d.getParentByName(a,b,d.cellEditor.textarea))return!0;for(var c=a;null!=c&&1==c.childNodes.length;)if(c=c.childNodes[0],c.nodeName==b)return!0;return!1},g=function(a){a=null!=a?a.fontSize:null;return null!=a&&"px"==a.substring(a.length-2)?parseFloat(a):mxConstants.DEFAULT_FONTSIZE},h=function(a,b,c){return null!=c.style&&null!=b?(b=b.lineHeight,null!=c.style.lineHeight&&"%"==c.style.lineHeight.substring(c.style.lineHeight.length-1)?parseInt(c.style.lineHeight)/ -100:"px"==b.substring(b.length-2)?parseFloat(b)/a:parseInt(b)):""},m=mxUtils.getCurrentStyle(a),n=g(m),p=h(n,m,a),r=a.getElementsByTagName("*");if(0";"connector"==f.style.shape||"filledEdge"==f.style.shape?(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_CLASSIC,1],"geIcon geSprite geSprite-startclassic",null,!1).setAttribute("title",mxResources.get("classic")),this.editorUi.menus.edgeStyleChange(a, "",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_CLASSIC_THIN,1],"geIcon geSprite geSprite-startclassicthin",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_OPEN,0],"geIcon geSprite geSprite-startopen",null,!1).setAttribute("title",mxResources.get("openArrow")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_OPEN_THIN,0],"geIcon geSprite geSprite-startopenthin",null, !1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["openAsync",0],"geIcon geSprite geSprite-startopenasync",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_BLOCK,1],"geIcon geSprite geSprite-startblock",null,!1).setAttribute("title",mxResources.get("block")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_BLOCK_THIN,1],"geIcon geSprite geSprite-startblockthin", @@ -3140,48 +3143,48 @@ this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"], null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["dash",0],"geIcon geSprite geSprite-enddash",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["cross",0],"geIcon geSprite geSprite-endcross",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["circlePlus",0],"geIcon geSprite geSprite-endcircleplus",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"], ["circle",1],"geIcon geSprite geSprite-endcircle",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERone",0],"geIcon geSprite geSprite-enderone",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERmandOne",0],"geIcon geSprite geSprite-enderonetoone",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERmany",0],"geIcon geSprite geSprite-endermany",null,!1),this.editorUi.menus.edgeStyleChange(a, "",[mxConstants.STYLE_ENDARROW,"endFill"],["ERoneToMany",0],"geIcon geSprite geSprite-enderonetomany",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERzeroToOne",1],"geIcon geSprite geSprite-enderoneopt",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERzeroToMany",1],"geIcon geSprite geSprite-endermanyopt",null,!1)):this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW],[mxConstants.ARROW_BLOCK], -"geIcon geSprite geSprite-endblocktrans",null,!1).setAttribute("title",mxResources.get("block"))}}));this.addArrow(u,8);this.addArrow(x);this.addArrow(C);this.addArrow(D);r=this.addArrow(l,9);r.className="geIcon";r.style.width="auto";A=this.addArrow(n,9);A.className="geIcon";A.style.width="22px";var B=document.createElement("div");B.style.width="85px";B.style.height="1px";B.style.borderBottom="1px solid "+this.defaultStrokeColor;B.style.marginBottom="9px";r.appendChild(B);var z=document.createElement("div"); -z.style.width="23px";z.style.height="1px";z.style.borderBottom="1px solid "+this.defaultStrokeColor;z.style.marginBottom="9px";A.appendChild(z);l.style.height="15px";n.style.height="15px";u.style.height="15px";x.style.height="17px";C.style.marginLeft="3px";C.style.height="17px";D.style.marginLeft="3px";D.style.height="17px";a.appendChild(g);a.appendChild(v);a.appendChild(m);l=m.cloneNode(!1);l.style.paddingBottom="6px";l.style.paddingTop="4px";l.style.fontWeight="normal";n=document.createElement("div"); -n.style.position="absolute";n.style.marginLeft="3px";n.style.marginBottom="12px";n.style.marginTop="2px";n.style.fontWeight="normal";n.style.width="76px";mxUtils.write(n,mxResources.get("lineend"));l.appendChild(n);var E,H,I=this.addUnitInput(l,"pt",74,33,function(){E.apply(this,arguments)}),J=this.addUnitInput(l,"pt",20,33,function(){H.apply(this,arguments)});mxUtils.br(l);r=document.createElement("div");r.style.height="8px";l.appendChild(r);n=n.cloneNode(!1);mxUtils.write(n,mxResources.get("linestart")); -l.appendChild(n);var F,P,ba=this.addUnitInput(l,"pt",74,33,function(){F.apply(this,arguments)}),U=this.addUnitInput(l,"pt",20,33,function(){P.apply(this,arguments)});mxUtils.br(l);this.addLabel(l,mxResources.get("spacing"),74,50);this.addLabel(l,mxResources.get("size"),20,50);mxUtils.br(l);g=g.cloneNode(!1);g.style.fontWeight="normal";g.style.position="relative";g.style.paddingLeft="16px";g.style.marginBottom="2px";g.style.marginTop="6px";g.style.borderWidth="0px";g.style.paddingBottom="18px";n=document.createElement("div"); -n.style.position="absolute";n.style.marginLeft="3px";n.style.marginBottom="12px";n.style.marginTop="1px";n.style.fontWeight="normal";n.style.width="120px";mxUtils.write(n,mxResources.get("perimeter"));g.appendChild(n);var N,K=this.addUnitInput(g,"pt",20,41,function(){N.apply(this,arguments)});f.edges.length==e.getSelectionCount()?(a.appendChild(k),mxClient.IS_QUIRKS&&(mxUtils.br(a),mxUtils.br(a)),a.appendChild(l)):f.vertices.length==e.getSelectionCount()&&(mxClient.IS_QUIRKS&&mxUtils.br(a),a.appendChild(g)); -var L=mxUtils.bind(this,function(a,b,c){function g(a,b,c,e){c=c.getElementsByTagName("div")[0];null!=c&&(c.className=d.getCssClassForMarker(e,f.style.shape,a,b),"geSprite geSprite-noarrow"==c.className&&(c.innerHTML=mxUtils.htmlEntities(mxResources.get("none")),c.style.backgroundImage="none",c.style.verticalAlign="top",c.style.marginTop="5px",c.style.fontSize="10px",c.style.filter="none",c.style.color=this.defaultStrokeColor,c.nextSibling.style.marginTop="0px"));return c}f=this.format.getSelectionState(); -mxUtils.getValue(f.style,p,null);if(c||document.activeElement!=t)a=parseInt(mxUtils.getValue(f.style,mxConstants.STYLE_STROKEWIDTH,1)),t.value=isNaN(a)?"":a+" pt";if(c||document.activeElement!=w)a=parseInt(mxUtils.getValue(f.style,mxConstants.STYLE_STROKEWIDTH,1)),w.value=isNaN(a)?"":a+" pt";h.style.visibility="connector"==f.style.shape||"filledEdge"==f.style.shape?"":"hidden";"1"==mxUtils.getValue(f.style,mxConstants.STYLE_CURVED,null)?h.value="curved":"1"==mxUtils.getValue(f.style,mxConstants.STYLE_ROUNDED, -null)&&(h.value="rounded");"1"==mxUtils.getValue(f.style,mxConstants.STYLE_DASHED,null)?null==mxUtils.getValue(f.style,mxConstants.STYLE_DASH_PATTERN,null)?B.style.borderBottom="1px dashed "+this.defaultStrokeColor:B.style.borderBottom="1px dotted "+this.defaultStrokeColor:B.style.borderBottom="1px solid "+this.defaultStrokeColor;z.style.borderBottom=B.style.borderBottom;a=x.getElementsByTagName("div")[0];null!=a&&(b=mxUtils.getValue(f.style,mxConstants.STYLE_EDGE,null),"1"==mxUtils.getValue(f.style, +"geIcon geSprite geSprite-endblocktrans",null,!1).setAttribute("title",mxResources.get("block"))}}));this.addArrow(t,8);this.addArrow(B);this.addArrow(A);this.addArrow(D);v=this.addArrow(l,9);v.className="geIcon";v.style.width="auto";x=this.addArrow(n,9);x.className="geIcon";x.style.width="22px";var C=document.createElement("div");C.style.width="85px";C.style.height="1px";C.style.borderBottom="1px solid "+this.defaultStrokeColor;C.style.marginBottom="9px";v.appendChild(C);var z=document.createElement("div"); +z.style.width="23px";z.style.height="1px";z.style.borderBottom="1px solid "+this.defaultStrokeColor;z.style.marginBottom="9px";x.appendChild(z);l.style.height="15px";n.style.height="15px";t.style.height="15px";B.style.height="17px";A.style.marginLeft="3px";A.style.height="17px";D.style.marginLeft="3px";D.style.height="17px";a.appendChild(g);a.appendChild(u);a.appendChild(p);l=p.cloneNode(!1);l.style.paddingBottom="6px";l.style.paddingTop="4px";l.style.fontWeight="normal";n=document.createElement("div"); +n.style.position="absolute";n.style.marginLeft="3px";n.style.marginBottom="12px";n.style.marginTop="2px";n.style.fontWeight="normal";n.style.width="76px";mxUtils.write(n,mxResources.get("lineend"));l.appendChild(n);var E,G,H=this.addUnitInput(l,"pt",74,33,function(){E.apply(this,arguments)}),O=this.addUnitInput(l,"pt",20,33,function(){G.apply(this,arguments)});mxUtils.br(l);v=document.createElement("div");v.style.height="8px";l.appendChild(v);n=n.cloneNode(!1);mxUtils.write(n,mxResources.get("linestart")); +l.appendChild(n);var F,Q,ba=this.addUnitInput(l,"pt",74,33,function(){F.apply(this,arguments)}),U=this.addUnitInput(l,"pt",20,33,function(){Q.apply(this,arguments)});mxUtils.br(l);this.addLabel(l,mxResources.get("spacing"),74,50);this.addLabel(l,mxResources.get("size"),20,50);mxUtils.br(l);g=g.cloneNode(!1);g.style.fontWeight="normal";g.style.position="relative";g.style.paddingLeft="16px";g.style.marginBottom="2px";g.style.marginTop="6px";g.style.borderWidth="0px";g.style.paddingBottom="18px";n=document.createElement("div"); +n.style.position="absolute";n.style.marginLeft="3px";n.style.marginBottom="12px";n.style.marginTop="1px";n.style.fontWeight="normal";n.style.width="120px";mxUtils.write(n,mxResources.get("perimeter"));g.appendChild(n);var N,I=this.addUnitInput(g,"pt",20,41,function(){N.apply(this,arguments)});f.edges.length==e.getSelectionCount()?(a.appendChild(k),mxClient.IS_QUIRKS&&(mxUtils.br(a),mxUtils.br(a)),a.appendChild(l)):f.vertices.length==e.getSelectionCount()&&(mxClient.IS_QUIRKS&&mxUtils.br(a),a.appendChild(g)); +var J=mxUtils.bind(this,function(a,b,c){function g(a,b,c,e){c=c.getElementsByTagName("div")[0];null!=c&&(c.className=d.getCssClassForMarker(e,f.style.shape,a,b),"geSprite geSprite-noarrow"==c.className&&(c.innerHTML=mxUtils.htmlEntities(mxResources.get("none")),c.style.backgroundImage="none",c.style.verticalAlign="top",c.style.marginTop="5px",c.style.fontSize="10px",c.style.filter="none",c.style.color=this.defaultStrokeColor,c.nextSibling.style.marginTop="0px"));return c}f=this.format.getSelectionState(); +mxUtils.getValue(f.style,m,null);if(c||document.activeElement!=r)a=parseInt(mxUtils.getValue(f.style,mxConstants.STYLE_STROKEWIDTH,1)),r.value=isNaN(a)?"":a+" pt";if(c||document.activeElement!=w)a=parseInt(mxUtils.getValue(f.style,mxConstants.STYLE_STROKEWIDTH,1)),w.value=isNaN(a)?"":a+" pt";h.style.visibility="connector"==f.style.shape||"filledEdge"==f.style.shape?"":"hidden";"1"==mxUtils.getValue(f.style,mxConstants.STYLE_CURVED,null)?h.value="curved":"1"==mxUtils.getValue(f.style,mxConstants.STYLE_ROUNDED, +null)&&(h.value="rounded");"1"==mxUtils.getValue(f.style,mxConstants.STYLE_DASHED,null)?null==mxUtils.getValue(f.style,mxConstants.STYLE_DASH_PATTERN,null)?C.style.borderBottom="1px dashed "+this.defaultStrokeColor:C.style.borderBottom="1px dotted "+this.defaultStrokeColor:C.style.borderBottom="1px solid "+this.defaultStrokeColor;z.style.borderBottom=C.style.borderBottom;a=B.getElementsByTagName("div")[0];null!=a&&(b=mxUtils.getValue(f.style,mxConstants.STYLE_EDGE,null),"1"==mxUtils.getValue(f.style, mxConstants.STYLE_NOEDGESTYLE,null)&&(b=null),"orthogonalEdgeStyle"==b&&"1"==mxUtils.getValue(f.style,mxConstants.STYLE_CURVED,null)?a.className="geSprite geSprite-curved":a.className="straight"==b||"none"==b||null==b?"geSprite geSprite-straight":"entityRelationEdgeStyle"==b?"geSprite geSprite-entity":"elbowEdgeStyle"==b?"geSprite "+("vertical"==mxUtils.getValue(f.style,mxConstants.STYLE_ELBOW,null)?"geSprite-verticalelbow":"geSprite-horizontalelbow"):"isometricEdgeStyle"==b?"geSprite "+("vertical"== -mxUtils.getValue(f.style,mxConstants.STYLE_ELBOW,null)?"geSprite-verticalisometric":"geSprite-horizontalisometric"):"geSprite geSprite-orthogonal");a=u.getElementsByTagName("div")[0];null!=a&&(a.className="link"==f.style.shape?"geSprite geSprite-linkedge":"flexArrow"==f.style.shape?"geSprite geSprite-arrow":"arrow"==f.style.shape?"geSprite geSprite-simplearrow":"geSprite geSprite-connection");f.edges.length==e.getSelectionCount()?(v.style.display="",m.style.display="none"):(v.style.display="none", -m.style.display="");a=g(mxUtils.getValue(f.style,mxConstants.STYLE_STARTARROW,null),mxUtils.getValue(f.style,"startFill","1"),C,"start");b=g(mxUtils.getValue(f.style,mxConstants.STYLE_ENDARROW,null),mxUtils.getValue(f.style,"endFill","1"),D,"end");null!=a&&null!=b&&("arrow"==f.style.shape?(a.className="geSprite geSprite-noarrow",b.className="geSprite geSprite-endblocktrans"):"link"==f.style.shape&&(a.className="geSprite geSprite-noarrow",b.className="geSprite geSprite-noarrow"));mxUtils.setOpacity(x, -"arrow"==f.style.shape?30:100);"connector"!=f.style.shape&&"flexArrow"!=f.style.shape&&"filledEdge"!=f.style.shape?(mxUtils.setOpacity(C,30),mxUtils.setOpacity(D,30)):(mxUtils.setOpacity(C,100),mxUtils.setOpacity(D,100));if(c||document.activeElement!=U)a=parseInt(mxUtils.getValue(f.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE)),U.value=isNaN(a)?"":a+" pt";if(c||document.activeElement!=ba)a=parseInt(mxUtils.getValue(f.style,mxConstants.STYLE_SOURCE_PERIMETER_SPACING,0)),ba.value= -isNaN(a)?"":a+" pt";if(c||document.activeElement!=J)a=parseInt(mxUtils.getValue(f.style,mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE)),J.value=isNaN(a)?"":a+" pt";if(c||document.activeElement!=ba)a=parseInt(mxUtils.getValue(f.style,mxConstants.STYLE_TARGET_PERIMETER_SPACING,0)),I.value=isNaN(a)?"":a+" pt";if(c||document.activeElement!=K)a=parseInt(mxUtils.getValue(f.style,mxConstants.STYLE_PERIMETER_SPACING,0)),K.value=isNaN(a)?"":a+" pt"});P=this.installInputHandler(U,mxConstants.STYLE_STARTSIZE, -mxConstants.DEFAULT_MARKERSIZE,0,999," pt");F=this.installInputHandler(ba,mxConstants.STYLE_SOURCE_PERIMETER_SPACING,0,-999,999," pt");H=this.installInputHandler(J,mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE,0,999," pt");E=this.installInputHandler(I,mxConstants.STYLE_TARGET_PERIMETER_SPACING,0,-999,999," pt");N=this.installInputHandler(K,mxConstants.STYLE_PERIMETER_SPACING,0,0,999," pt");this.addKeyHandler(t,L);this.addKeyHandler(U,L);this.addKeyHandler(ba,L);this.addKeyHandler(J,L); -this.addKeyHandler(I,L);this.addKeyHandler(K,L);e.getModel().addListener(mxEvent.CHANGE,L);this.listeners.push({destroy:function(){e.getModel().removeListener(L)}});L();return a}; +mxUtils.getValue(f.style,mxConstants.STYLE_ELBOW,null)?"geSprite-verticalisometric":"geSprite-horizontalisometric"):"geSprite geSprite-orthogonal");a=t.getElementsByTagName("div")[0];null!=a&&(a.className="link"==f.style.shape?"geSprite geSprite-linkedge":"flexArrow"==f.style.shape?"geSprite geSprite-arrow":"arrow"==f.style.shape?"geSprite geSprite-simplearrow":"geSprite geSprite-connection");f.edges.length==e.getSelectionCount()?(u.style.display="",p.style.display="none"):(u.style.display="none", +p.style.display="");a=g(mxUtils.getValue(f.style,mxConstants.STYLE_STARTARROW,null),mxUtils.getValue(f.style,"startFill","1"),A,"start");b=g(mxUtils.getValue(f.style,mxConstants.STYLE_ENDARROW,null),mxUtils.getValue(f.style,"endFill","1"),D,"end");null!=a&&null!=b&&("arrow"==f.style.shape?(a.className="geSprite geSprite-noarrow",b.className="geSprite geSprite-endblocktrans"):"link"==f.style.shape&&(a.className="geSprite geSprite-noarrow",b.className="geSprite geSprite-noarrow"));mxUtils.setOpacity(B, +"arrow"==f.style.shape?30:100);"connector"!=f.style.shape&&"flexArrow"!=f.style.shape&&"filledEdge"!=f.style.shape?(mxUtils.setOpacity(A,30),mxUtils.setOpacity(D,30)):(mxUtils.setOpacity(A,100),mxUtils.setOpacity(D,100));if(c||document.activeElement!=U)a=parseInt(mxUtils.getValue(f.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE)),U.value=isNaN(a)?"":a+" pt";if(c||document.activeElement!=ba)a=parseInt(mxUtils.getValue(f.style,mxConstants.STYLE_SOURCE_PERIMETER_SPACING,0)),ba.value= +isNaN(a)?"":a+" pt";if(c||document.activeElement!=O)a=parseInt(mxUtils.getValue(f.style,mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE)),O.value=isNaN(a)?"":a+" pt";if(c||document.activeElement!=ba)a=parseInt(mxUtils.getValue(f.style,mxConstants.STYLE_TARGET_PERIMETER_SPACING,0)),H.value=isNaN(a)?"":a+" pt";if(c||document.activeElement!=I)a=parseInt(mxUtils.getValue(f.style,mxConstants.STYLE_PERIMETER_SPACING,0)),I.value=isNaN(a)?"":a+" pt"});Q=this.installInputHandler(U,mxConstants.STYLE_STARTSIZE, +mxConstants.DEFAULT_MARKERSIZE,0,999," pt");F=this.installInputHandler(ba,mxConstants.STYLE_SOURCE_PERIMETER_SPACING,0,-999,999," pt");G=this.installInputHandler(O,mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE,0,999," pt");E=this.installInputHandler(H,mxConstants.STYLE_TARGET_PERIMETER_SPACING,0,-999,999," pt");N=this.installInputHandler(I,mxConstants.STYLE_PERIMETER_SPACING,0,0,999," pt");this.addKeyHandler(r,J);this.addKeyHandler(U,J);this.addKeyHandler(ba,J);this.addKeyHandler(O,J); +this.addKeyHandler(H,J);this.addKeyHandler(I,J);e.getModel().addListener(mxEvent.CHANGE,J);this.listeners.push({destroy:function(){e.getModel().removeListener(J)}});J();return a}; StyleFormatPanel.prototype.addLineJumps=function(a){var c=this.format.getSelectionState();if(Graph.lineJumpsEnabled&&0x&&(k=function(a){mxEvent.addListener(a,"mouseenter",function(){a.style.opacity="1"});mxEvent.addListener(a,"mouseleave",function(){a.style.opacity="0.5"})},p=document.createElement("div"),p.style.cssText="position:absolute;left:0px;top:4px;bottom:0px;width:20px;margin:0px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ4eHh3d3d1dXVxcXF2dnZ2dnZ2dnZxcXF2dnYmb3w1AAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADRJREFUCNdjwACMAmBKaiGYs2oJmLPKAZ3DabU8AMRTXpUKopislqFyVzCAuUZgikkBZjoAcMYLnp53P/UAAAAASUVORK5CYII=);", -mxEvent.addListener(p,"click",mxUtils.bind(this,function(){B(mxUtils.mod(this.format.currentStylePage-1,x))})),m=document.createElement("div"),m.style.cssText="position:absolute;right:2px;top:4px;bottom:0px;width:20px;margin:0px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnYBuwCcAAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADZJREFUCNdjQAOMAmBKaiGY8loF5rKswsZlrVo8AUiFrTICcbIWK8A5DF1gDoMymMPApIAwHwCS0Qx/U7qCBQAAAABJRU5ErkJggg==);", -h.appendChild(p),h.appendChild(m),mxEvent.addListener(m,"click",mxUtils.bind(this,function(){B(mxUtils.mod(this.format.currentStylePage+1,x))})),k(p),k(m))}else D();return a};DiagramFormatPanel=function(a,c,b){BaseFormatPanel.call(this,a,c,b);this.init()};mxUtils.extend(DiagramFormatPanel,BaseFormatPanel);DiagramFormatPanel.showPageView=!0;DiagramFormatPanel.prototype.showBackgroundImageOption=!0; +"bold";var l=document.createElement("tbody"),n=document.createElement("tr");n.style.padding="0px";var m=document.createElement("td");m.style.padding="0px";m.style.width="50%";m.setAttribute("valign","middle");var p=m.cloneNode(!0);p.style.paddingLeft="8px";n.appendChild(m);n.appendChild(p);l.appendChild(n);k.appendChild(l);m.appendChild(this.createOption(mxResources.get("sketch"),function(){return e},function(a){(e=a)?(b.currentEdgeStyle.sketch="1",b.currentVertexStyle.sketch="1"):(delete b.currentEdgeStyle.sketch, +delete b.currentVertexStyle.sketch);b.updateCellStyles("sketch",a?"1":null,b.getVerticesAndEdges())},null,function(a){a.style.width="auto"}));p.appendChild(this.createOption(mxResources.get("rounded"),function(){return f},function(a){(f=a)?b.currentVertexStyle.rounded="1":delete b.currentVertexStyle.rounded;b.updateCellStyles("rounded",a?"1":null,b.getVerticesAndEdges(!0,!0))},null,function(a){a.style.width="auto"}));m=m.cloneNode(!1);p=p.cloneNode(!1);n=n.cloneNode(!1);n.appendChild(m);n.appendChild(p); +l.appendChild(n);m.appendChild(this.createOption(mxResources.get("curved"),function(){return g},function(a){(g=a)?b.currentEdgeStyle.curved="1":delete b.currentEdgeStyle.curved;b.updateCellStyles("curved",a?"1":null,b.getVerticesAndEdges(!1,!0))},null,function(a){a.style.width="auto"}));h.appendChild(k);a.appendChild(h);var q=["fillColor","strokeColor","fontColor","gradientColor"],u=mxUtils.bind(this,function(a,c){var e=b.getVerticesAndEdges();d.beginUpdate();try{for(var f=0;fB&&(k=function(a){mxEvent.addListener(a,"mouseenter",function(){a.style.opacity="1"});mxEvent.addListener(a,"mouseleave",function(){a.style.opacity="0.5"})},m=document.createElement("div"),m.style.cssText="position:absolute;left:0px;top:4px;bottom:0px;width:20px;margin:0px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ4eHh3d3d1dXVxcXF2dnZ2dnZ2dnZxcXF2dnYmb3w1AAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADRJREFUCNdjwACMAmBKaiGYs2oJmLPKAZ3DabU8AMRTXpUKopislqFyVzCAuUZgikkBZjoAcMYLnp53P/UAAAAASUVORK5CYII=);", +mxEvent.addListener(m,"click",mxUtils.bind(this,function(){C(mxUtils.mod(this.format.currentStylePage-1,B))})),p=document.createElement("div"),p.style.cssText="position:absolute;right:2px;top:4px;bottom:0px;width:20px;margin:0px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnYBuwCcAAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADZJREFUCNdjQAOMAmBKaiGY8loF5rKswsZlrVo8AUiFrTICcbIWK8A5DF1gDoMymMPApIAwHwCS0Qx/U7qCBQAAAABJRU5ErkJggg==);", +h.appendChild(m),h.appendChild(p),mxEvent.addListener(p,"click",mxUtils.bind(this,function(){C(mxUtils.mod(this.format.currentStylePage+1,B))})),k(m),k(p))}else D();return a};DiagramFormatPanel=function(a,c,b){BaseFormatPanel.call(this,a,c,b);this.init()};mxUtils.extend(DiagramFormatPanel,BaseFormatPanel);DiagramFormatPanel.showPageView=!0;DiagramFormatPanel.prototype.showBackgroundImageOption=!0; DiagramFormatPanel.prototype.init=function(){var a=this.editorUi.editor.graph;this.container.appendChild(this.addView(this.createPanel()));a.isEnabled()&&(this.container.appendChild(this.addOptions(this.createPanel())),this.container.appendChild(this.addPaperSize(this.createPanel())),this.container.appendChild(this.addStyleOps(this.createPanel())))}; DiagramFormatPanel.prototype.addView=function(a){var c=this.editorUi,b=c.editor.graph;a.appendChild(this.createTitle(mxResources.get("view")));this.addGridOption(a);DiagramFormatPanel.showPageView&&a.appendChild(this.createOption(mxResources.get("pageView"),function(){return b.pageVisible},function(a){c.actions.get("pageView").funct()},{install:function(a){this.listener=function(){a(b.pageVisible)};c.addListener("pageViewChanged",this.listener)},destroy:function(){c.removeListener(this.listener)}})); if(b.isEnabled()){var d=this.createColorOption(mxResources.get("background"),function(){return b.background},function(a){a=new ChangePageSetup(c,a);a.ignoreImage=!0;b.model.execute(a)},"#ffffff",{install:function(a){this.listener=function(){a(b.background)};c.addListener("backgroundColorChanged",this.listener)},destroy:function(){c.removeListener(this.listener)}});if(this.showBackgroundImageOption){var e=mxUtils.button(mxResources.get("image"),function(a){c.showBackgroundImageDialog(null,c.editor.graph.backgroundImage); @@ -3197,12 +3200,12 @@ this.listener);d.addListener("gridEnabledChanged",this.listener)},destroy:functi DiagramFormatPanel.prototype.addPaperSize=function(a){var c=this.editorUi,b=c.editor.graph;a.appendChild(this.createTitle(mxResources.get("paperSize")));var d=PageSetupDialog.addPageFormatPanel(a,"formatpanel",b.pageFormat,function(a){if(null==b.pageFormat||b.pageFormat.width!=a.width||b.pageFormat.height!=a.height)a=new ChangePageSetup(c,null,null,a),a.ignoreColor=!0,a.ignoreImage=!0,b.model.execute(a)});this.addKeyHandler(d.widthInput,function(){d.set(b.pageFormat)});this.addKeyHandler(d.heightInput, function(){d.set(b.pageFormat)});var e=function(){d.set(b.pageFormat)};c.addListener("pageFormatChanged",e);this.listeners.push({destroy:function(){c.removeListener(e)}});b.getModel().addListener(mxEvent.CHANGE,e);this.listeners.push({destroy:function(){b.getModel().removeListener(e)}});return a}; DiagramFormatPanel.prototype.addStyleOps=function(a){var c=mxUtils.button(mxResources.get("editData"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editData").funct()}));c.setAttribute("title",mxResources.get("editData")+" ("+this.editorUi.actions.get("editData").shortcut+")");c.style.width="202px";c.style.marginBottom="2px";a.appendChild(c);mxUtils.br(a);c=mxUtils.button(mxResources.get("clearDefaultStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("clearDefaultStyle").funct()})); -c.setAttribute("title",mxResources.get("clearDefaultStyle")+" ("+this.editorUi.actions.get("clearDefaultStyle").shortcut+")");c.style.width="202px";a.appendChild(c);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(){mxSwimlane.call(this)}function c(){mxCylinder.call(this)}function b(){mxActor.call(this)}function d(){mxCylinder.call(this)}function e(){mxCylinder.call(this)}function f(){mxCylinder.call(this)}function g(){mxCylinder.call(this)}function h(){mxShape.call(this)}function k(){mxShape.call(this)}function l(a,b,c,d){mxShape.call(this);this.bounds=a;this.fill=b;this.stroke=c;this.strokewidth=null!=d?d:1}function n(){mxActor.call(this)}function p(){mxCylinder.call(this)}function m(){mxCylinder.call(this)} -function q(){mxActor.call(this)}function v(){mxActor.call(this)}function u(){mxActor.call(this)}function t(){mxActor.call(this)}function w(){mxActor.call(this)}function r(){mxActor.call(this)}function A(){mxActor.call(this)}function x(a,b){this.canvas=a;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.defaultVariation=b;this.originalLineTo=this.canvas.lineTo;this.canvas.lineTo=mxUtils.bind(this,x.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this, -x.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,x.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,x.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo;this.canvas.curveTo=mxUtils.bind(this,x.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,x.prototype.arcTo)}function C(){mxRectangleShape.call(this)}function D(){mxRectangleShape.call(this)}function B(){mxActor.call(this)} -function z(){mxActor.call(this)}function E(){mxActor.call(this)}function H(){mxRectangleShape.call(this)}function I(){mxRectangleShape.call(this)}function J(){mxCylinder.call(this)}function F(){mxShape.call(this)}function P(){mxShape.call(this)}function ba(){mxEllipse.call(this)}function U(){mxShape.call(this)}function N(){mxShape.call(this)}function K(){mxRectangleShape.call(this)}function L(){mxShape.call(this)}function S(){mxShape.call(this)}function ga(){mxShape.call(this)}function la(){mxShape.call(this)} +c.setAttribute("title",mxResources.get("clearDefaultStyle")+" ("+this.editorUi.actions.get("clearDefaultStyle").shortcut+")");c.style.width="202px";a.appendChild(c);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(){mxSwimlane.call(this)}function c(){mxCylinder.call(this)}function b(){mxActor.call(this)}function d(){mxCylinder.call(this)}function e(){mxCylinder.call(this)}function f(){mxCylinder.call(this)}function g(){mxCylinder.call(this)}function h(){mxShape.call(this)}function k(){mxShape.call(this)}function l(a,b,c,d){mxShape.call(this);this.bounds=a;this.fill=b;this.stroke=c;this.strokewidth=null!=d?d:1}function n(){mxActor.call(this)}function m(){mxCylinder.call(this)}function p(){mxCylinder.call(this)} +function q(){mxActor.call(this)}function u(){mxActor.call(this)}function t(){mxActor.call(this)}function r(){mxActor.call(this)}function w(){mxActor.call(this)}function v(){mxActor.call(this)}function x(){mxActor.call(this)}function B(a,b){this.canvas=a;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.defaultVariation=b;this.originalLineTo=this.canvas.lineTo;this.canvas.lineTo=mxUtils.bind(this,B.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this, +B.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,B.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,B.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo;this.canvas.curveTo=mxUtils.bind(this,B.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,B.prototype.arcTo)}function A(){mxRectangleShape.call(this)}function D(){mxRectangleShape.call(this)}function C(){mxActor.call(this)} +function z(){mxActor.call(this)}function E(){mxActor.call(this)}function G(){mxRectangleShape.call(this)}function H(){mxRectangleShape.call(this)}function O(){mxCylinder.call(this)}function F(){mxShape.call(this)}function Q(){mxShape.call(this)}function ba(){mxEllipse.call(this)}function U(){mxShape.call(this)}function N(){mxShape.call(this)}function I(){mxRectangleShape.call(this)}function J(){mxShape.call(this)}function R(){mxShape.call(this)}function ga(){mxShape.call(this)}function la(){mxShape.call(this)} function ha(){mxShape.call(this)}function V(){mxCylinder.call(this)}function ia(){mxCylinder.call(this)}function pa(){mxRectangleShape.call(this)}function ma(){mxDoubleEllipse.call(this)}function qa(){mxDoubleEllipse.call(this)}function ja(){mxArrowConnector.call(this);this.spacing=0}function da(){mxArrowConnector.call(this);this.spacing=0}function ea(){mxActor.call(this)}function W(){mxRectangleShape.call(this)}function ca(){mxActor.call(this)}function ka(){mxActor.call(this)}function Z(){mxActor.call(this)} -function T(){mxActor.call(this)}function aa(){mxActor.call(this)}function G(){mxActor.call(this)}function M(){mxActor.call(this)}function R(){mxActor.call(this)}function X(){mxActor.call(this)}function Q(){mxActor.call(this)}function fa(){mxEllipse.call(this)}function wa(){mxEllipse.call(this)}function za(){mxEllipse.call(this)}function Ia(){mxRhombus.call(this)}function Ja(){mxEllipse.call(this)}function Ka(){mxEllipse.call(this)}function Aa(){mxEllipse.call(this)}function Ba(){mxEllipse.call(this)} +function T(){mxActor.call(this)}function aa(){mxActor.call(this)}function K(){mxActor.call(this)}function L(){mxActor.call(this)}function S(){mxActor.call(this)}function X(){mxActor.call(this)}function M(){mxActor.call(this)}function fa(){mxEllipse.call(this)}function wa(){mxEllipse.call(this)}function za(){mxEllipse.call(this)}function Ia(){mxRhombus.call(this)}function Ja(){mxEllipse.call(this)}function Ka(){mxEllipse.call(this)}function Aa(){mxEllipse.call(this)}function Ba(){mxEllipse.call(this)} function Ca(){mxActor.call(this)}function ua(){mxActor.call(this)}function va(){mxActor.call(this)}function sa(){mxConnector.call(this)}function Na(a,b,c,d,e,f,g,h,k,l){g+=k;var y=d.clone();d.x-=e*(2*g+k);d.y-=f*(2*g+k);e*=g+k;f*=g+k;return function(){a.ellipse(y.x-e-g,y.y-f-g,2*g,2*g);l?a.fillAndStroke():a.stroke()}}mxUtils.extend(a,mxSwimlane);a.prototype.getLabelBounds=function(a){return 0==this.getTitleSize()?mxShape.prototype.getLabelBounds.apply(this,arguments):mxSwimlane.prototype.getLabelBounds.apply(this, arguments)};a.prototype.paintVertexShape=function(a,b,c,d,e){0==this.getTitleSize()?mxRectangleShape.prototype.paintBackground.apply(this,arguments):(mxSwimlane.prototype.paintVertexShape.apply(this,arguments),a.translate(-b,-c));this.paintForeground(a,b,c,d,e)};a.prototype.paintForeground=function(a,b,c,d,e){if(null!=this.state){var f=this.flipH,y=this.flipV;if(this.direction==mxConstants.DIRECTION_NORTH||this.direction==mxConstants.DIRECTION_SOUTH)var g=f,f=y,y=g;a.rotate(-this.getShapeRotation(), f,y,b+d/2,c+e/2);s=this.scale;b=this.bounds.x/s;c=this.bounds.y/s;d=this.bounds.width/s;e=this.bounds.height/s;this.paintTableForeground(a,b,c,d,e)}};a.prototype.paintTableForeground=function(a,b,c,d,e){var f=this.state.view.graph,y=f.getActualStartSize(this.state.cell),g=f.model.getChildCells(this.state.cell,!0);if(0a?-1:1:a===a?0:NaN:NaN},d=Math.abs(a-this.lastX),e=Math.abs(b-this.lastY),f=Math.sqrt(d*d+e*e);if(2>f){this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=b;return}var g=Math.round(f/10),h=this.defaultVariation;5>g&&(g=5,h/=3);for(var y=c(a-this.lastX)*d/g,c=c(b-this.lastY)*e/g,d=d/f,e=e/f,f=0;fa?-1:1:a===a?0:NaN:NaN},d=Math.abs(a-this.lastX),e=Math.abs(b-this.lastY),f=Math.sqrt(d*d+e*e);if(2>f){this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=b;return}var g=Math.round(f/10),h=this.defaultVariation;5>g&&(g=5,h/=3);for(var y=c(a-this.lastX)*d/g,c=c(b-this.lastY)*e/g,d=d/f,e=e/f,f=0;fg+k?a.y=c.y:a.x=c.x);return mxUtils.getPerimeterPoint(h,a,c)};mxStyleRegistry.putValue("parallelogramPerimeter",mxPerimeter.ParallelogramPerimeter);mxPerimeter.TrapezoidPerimeter= function(a,b,c,d){var e="0"!=mxUtils.getValue(b.style,"fixedSize","0"),f=e?w.prototype.fixedSize:w.prototype.size;null!=b&&(f=mxUtils.getValue(b.style,"size",f));e&&(f*=b.view.scale);var g=a.x,h=a.y,k=a.width,y=a.height;b=null!=b?mxUtils.getValue(b.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;b==mxConstants.DIRECTION_EAST?(e=e?Math.max(0,Math.min(.5*k,f)):k*Math.max(0,Math.min(1,f)),h=[new mxPoint(g+e,h),new mxPoint(g+k-e,h),new mxPoint(g+k,h+y),new mxPoint(g, h+y),new mxPoint(g+e,h)]):b==mxConstants.DIRECTION_WEST?(e=e?Math.max(0,Math.min(k,f)):k*Math.max(0,Math.min(1,f)),h=[new mxPoint(g,h),new mxPoint(g+k,h),new mxPoint(g+k-e,h+y),new mxPoint(g+e,h+y),new mxPoint(g,h)]):b==mxConstants.DIRECTION_NORTH?(e=e?Math.max(0,Math.min(y,f)):y*Math.max(0,Math.min(1,f)),h=[new mxPoint(g,h+e),new mxPoint(g+k,h),new mxPoint(g+k,h+y),new mxPoint(g,h+y-e),new mxPoint(g,h+e)]):(e=e?Math.max(0,Math.min(y,f)):y*Math.max(0,Math.min(1,f)),h=[new mxPoint(g,h),new mxPoint(g+ @@ -3277,8 +3280,8 @@ k=a.width,y=a.height,l=a.getCenterX();a=a.getCenterY();b=null!=b?mxUtils.getValu e,h),new mxPoint(g+k,h),new mxPoint(g+k-e,a),new mxPoint(g+k,h+y),new mxPoint(g+e,h+y),new mxPoint(g,a),new mxPoint(g+e,h)]):b==mxConstants.DIRECTION_NORTH?(e=e?Math.max(0,Math.min(y,f)):y*Math.max(0,Math.min(1,f)),h=[new mxPoint(g,h+e),new mxPoint(l,h),new mxPoint(g+k,h+e),new mxPoint(g+k,h+y),new mxPoint(l,h+y-e),new mxPoint(g,h+y),new mxPoint(g,h+e)]):(e=e?Math.max(0,Math.min(y,f)):y*Math.max(0,Math.min(1,f)),h=[new mxPoint(g,h),new mxPoint(l,h+e),new mxPoint(g+k,h),new mxPoint(g+k,h+y-e),new mxPoint(l, h+y),new mxPoint(g,h+y-e),new mxPoint(g,h)]);l=new mxPoint(l,a);d&&(c.xg+k?l.y=c.y:l.x=c.x);return mxUtils.getPerimeterPoint(h,l,c)};mxStyleRegistry.putValue("stepPerimeter",mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(a,b,c,d){var e="0"!=mxUtils.getValue(b.style,"fixedSize","0"),f=e?E.prototype.fixedSize:E.prototype.size;null!=b&&(f=mxUtils.getValue(b.style,"size",f));e&&(f*=b.view.scale);var g=a.x,h=a.y,k=a.width,y=a.height,l=a.getCenterX();a=a.getCenterY();b=null!= b?mxUtils.getValue(b.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_SOUTH?(e=e?Math.max(0,Math.min(y,f)):y*Math.max(0,Math.min(1,f)),h=[new mxPoint(l,h),new mxPoint(g+k,h+e),new mxPoint(g+k,h+y-e),new mxPoint(l,h+y),new mxPoint(g,h+y-e),new mxPoint(g,h+e),new mxPoint(l,h)]):(e=e?Math.max(0,Math.min(k,f)):k*Math.max(0,Math.min(1,f)),h=[new mxPoint(g+e,h),new mxPoint(g+k-e,h),new mxPoint(g+k,a),new mxPoint(g+ -k-e,h+y),new mxPoint(g+e,h+y),new mxPoint(g,a),new mxPoint(g+e,h)]);l=new mxPoint(l,a);d&&(c.xg+k?l.y=c.y:l.x=c.x);return mxUtils.getPerimeterPoint(h,l,c)};mxStyleRegistry.putValue("hexagonPerimeter2",mxPerimeter.HexagonPerimeter2);mxUtils.extend(S,mxShape);S.prototype.size=10;S.prototype.paintBackground=function(a,b,c,d,e){var f=parseFloat(mxUtils.getValue(this.style,"size",this.size));a.translate(b,c);a.ellipse((d-f)/2,0,f,f);a.fillAndStroke();a.begin();a.moveTo(d/2,f);a.lineTo(d/2,e);a.end(); -a.stroke()};mxCellRenderer.registerShape("lollipop",S);mxUtils.extend(ga,mxShape);ga.prototype.size=10;ga.prototype.inset=2;ga.prototype.paintBackground=function(a,b,c,d,e){var f=parseFloat(mxUtils.getValue(this.style,"size",this.size)),g=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;a.translate(b,c);a.begin();a.moveTo(d/2,f+g);a.lineTo(d/2,e);a.end();a.stroke();a.begin();a.moveTo((d-f)/2-g,f/2);a.quadTo((d-f)/2-g,f+g,d/2,f+g);a.quadTo((d+f)/2+g,f+g,(d+f)/2+g,f/2);a.end(); +k-e,h+y),new mxPoint(g+e,h+y),new mxPoint(g,a),new mxPoint(g+e,h)]);l=new mxPoint(l,a);d&&(c.xg+k?l.y=c.y:l.x=c.x);return mxUtils.getPerimeterPoint(h,l,c)};mxStyleRegistry.putValue("hexagonPerimeter2",mxPerimeter.HexagonPerimeter2);mxUtils.extend(R,mxShape);R.prototype.size=10;R.prototype.paintBackground=function(a,b,c,d,e){var f=parseFloat(mxUtils.getValue(this.style,"size",this.size));a.translate(b,c);a.ellipse((d-f)/2,0,f,f);a.fillAndStroke();a.begin();a.moveTo(d/2,f);a.lineTo(d/2,e);a.end(); +a.stroke()};mxCellRenderer.registerShape("lollipop",R);mxUtils.extend(ga,mxShape);ga.prototype.size=10;ga.prototype.inset=2;ga.prototype.paintBackground=function(a,b,c,d,e){var f=parseFloat(mxUtils.getValue(this.style,"size",this.size)),g=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;a.translate(b,c);a.begin();a.moveTo(d/2,f+g);a.lineTo(d/2,e);a.end();a.stroke();a.begin();a.moveTo((d-f)/2-g,f/2);a.quadTo((d-f)/2-g,f+g,d/2,f+g);a.quadTo((d+f)/2+g,f+g,(d+f)/2+g,f/2);a.end(); a.stroke()};mxCellRenderer.registerShape("requires",ga);mxUtils.extend(la,mxShape);la.prototype.paintBackground=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(0,0);a.quadTo(d,0,d,e/2);a.quadTo(d,e,0,e);a.end();a.stroke()};mxCellRenderer.registerShape("requiredInterface",la);mxUtils.extend(ha,mxShape);ha.prototype.inset=2;ha.prototype.paintBackground=function(a,b,c,d,e){var f=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;a.translate(b,c);a.ellipse(0,f,d-2*f, e-2*f);a.fillAndStroke();a.begin();a.moveTo(d/2,0);a.quadTo(d,0,d,e/2);a.quadTo(d,e,d/2,e);a.end();a.stroke()};mxCellRenderer.registerShape("providedRequiredInterface",ha);mxUtils.extend(V,mxCylinder);V.prototype.jettyWidth=20;V.prototype.jettyHeight=10;V.prototype.redrawPath=function(a,b,c,d,e,f){var g=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));b=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));c=g/2;var g=c+g/2,h=Math.min(b,e-b),k=Math.min(h+2*b, e-b);f?(a.moveTo(c,h),a.lineTo(g,h),a.lineTo(g,h+b),a.lineTo(c,h+b),a.moveTo(c,k),a.lineTo(g,k),a.lineTo(g,k+b),a.lineTo(c,k+b)):(a.moveTo(c,0),a.lineTo(d,0),a.lineTo(d,e),a.lineTo(c,e),a.lineTo(c,k+b),a.lineTo(0,k+b),a.lineTo(0,k),a.lineTo(c,k),a.lineTo(c,h+b),a.lineTo(0,h+b),a.lineTo(0,h),a.lineTo(c,h),a.close());a.end()};mxCellRenderer.registerShape("module",V);mxUtils.extend(ia,mxCylinder);ia.prototype.jettyWidth=32;ia.prototype.jettyHeight=12;ia.prototype.redrawPath=function(a,b,c,d,e,f){var g= @@ -3294,10 +3297,10 @@ ca);mxUtils.extend(ka,mxActor);ka.prototype.redrawPath=function(a,b,c,d,e){a.mov "size",this.size));var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d,0),new mxPoint(d,c),new mxPoint((d+b)/2,c),new mxPoint((d+b)/2,e),new mxPoint((d-b)/2,e),new mxPoint((d-b)/2,c),new mxPoint(0,c)],this.isRounded,f,!0);a.end()};mxCellRenderer.registerShape("tee",Z);mxUtils.extend(T,mxActor);T.prototype.arrowWidth=.3;T.prototype.arrowSize=.2;T.prototype.redrawPath=function(a,b,c,d,e){var f=e*Math.max(0,Math.min(1, parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth))));b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));c=(e-f)/2;var f=c+f,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,c),new mxPoint(d-b,c),new mxPoint(d-b,0),new mxPoint(d,e/2),new mxPoint(d-b,e),new mxPoint(d-b,f),new mxPoint(0,f)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("singleArrow",T);mxUtils.extend(aa, mxActor);aa.prototype.redrawPath=function(a,b,c,d,e){var f=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",T.prototype.arrowWidth))));b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",T.prototype.arrowSize))));c=(e-f)/2;var f=c+f,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,e/2),new mxPoint(b,0),new mxPoint(b,c),new mxPoint(d-b,c),new mxPoint(d-b,0),new mxPoint(d,e/2),new mxPoint(d- -b,e),new mxPoint(d-b,f),new mxPoint(b,f),new mxPoint(b,e)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("doubleArrow",aa);mxUtils.extend(G,mxActor);G.prototype.size=.1;G.prototype.fixedSize=20;G.prototype.redrawPath=function(a,b,c,d,e){b="0"!=mxUtils.getValue(this.style,"fixedSize","0")?Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"size",this.fixedSize)))):d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(b,0);a.lineTo(d,0); -a.quadTo(d-2*b,e/2,d,e);a.lineTo(b,e);a.quadTo(b-2*b,e/2,b,0);a.close();a.end()};mxCellRenderer.registerShape("dataStorage",G);mxUtils.extend(M,mxActor);M.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.quadTo(d,0,d,e/2);a.quadTo(d,e,0,e);a.close();a.end()};mxCellRenderer.registerShape("or",M);mxUtils.extend(R,mxActor);R.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.quadTo(d,0,d,e/2);a.quadTo(d,e,0,e);a.quadTo(d/2,e/2,0,0);a.close();a.end()};mxCellRenderer.registerShape("xor", -R);mxUtils.extend(X,mxActor);X.prototype.size=20;X.prototype.isRoundable=function(){return!0};X.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(d/2,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(b,0),new mxPoint(d-b,0),new mxPoint(d,.8*b),new mxPoint(d,e),new mxPoint(0,e),new mxPoint(0,.8*b)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("loopLimit", -X);mxUtils.extend(Q,mxActor);Q.prototype.size=.375;Q.prototype.isRoundable=function(){return!0};Q.prototype.redrawPath=function(a,b,c,d,e){b=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d,0),new mxPoint(d,e-b),new mxPoint(d/2,e),new mxPoint(0,e-b)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("offPageConnector",Q);mxUtils.extend(fa, +b,e),new mxPoint(d-b,f),new mxPoint(b,f),new mxPoint(b,e)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("doubleArrow",aa);mxUtils.extend(K,mxActor);K.prototype.size=.1;K.prototype.fixedSize=20;K.prototype.redrawPath=function(a,b,c,d,e){b="0"!=mxUtils.getValue(this.style,"fixedSize","0")?Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"size",this.fixedSize)))):d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(b,0);a.lineTo(d,0); +a.quadTo(d-2*b,e/2,d,e);a.lineTo(b,e);a.quadTo(b-2*b,e/2,b,0);a.close();a.end()};mxCellRenderer.registerShape("dataStorage",K);mxUtils.extend(L,mxActor);L.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.quadTo(d,0,d,e/2);a.quadTo(d,e,0,e);a.close();a.end()};mxCellRenderer.registerShape("or",L);mxUtils.extend(S,mxActor);S.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.quadTo(d,0,d,e/2);a.quadTo(d,e,0,e);a.quadTo(d/2,e/2,0,0);a.close();a.end()};mxCellRenderer.registerShape("xor", +S);mxUtils.extend(X,mxActor);X.prototype.size=20;X.prototype.isRoundable=function(){return!0};X.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(d/2,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(b,0),new mxPoint(d-b,0),new mxPoint(d,.8*b),new mxPoint(d,e),new mxPoint(0,e),new mxPoint(0,.8*b)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("loopLimit", +X);mxUtils.extend(M,mxActor);M.prototype.size=.375;M.prototype.isRoundable=function(){return!0};M.prototype.redrawPath=function(a,b,c,d,e){b=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d,0),new mxPoint(d,e-b),new mxPoint(d/2,e),new mxPoint(0,e-b)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("offPageConnector",M);mxUtils.extend(fa, mxEllipse);fa.prototype.paintVertexShape=function(a,b,c,d,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(b+d/2,c+e);a.lineTo(b+d,c+e);a.end();a.stroke()};mxCellRenderer.registerShape("tapeData",fa);mxUtils.extend(wa,mxEllipse);wa.prototype.paintVertexShape=function(a,b,c,d,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(b,c+e/2);a.lineTo(b+d,c+e/2);a.end();a.stroke();a.begin();a.moveTo(b+d/2,c);a.lineTo(b+d/2,c+e); a.end();a.stroke()};mxCellRenderer.registerShape("orEllipse",wa);mxUtils.extend(za,mxEllipse);za.prototype.paintVertexShape=function(a,b,c,d,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(b+.145*d,c+.145*e);a.lineTo(b+.855*d,c+.855*e);a.end();a.stroke();a.begin();a.moveTo(b+.855*d,c+.145*e);a.lineTo(b+.145*d,c+.855*e);a.end();a.stroke()};mxCellRenderer.registerShape("sumEllipse",za);mxUtils.extend(Ia,mxRhombus);Ia.prototype.paintVertexShape=function(a, b,c,d,e){mxRhombus.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(b,c+e/2);a.lineTo(b+d,c+e/2);a.end();a.stroke()};mxCellRenderer.registerShape("sortShape",Ia);mxUtils.extend(Ja,mxEllipse);Ja.prototype.paintVertexShape=function(a,b,c,d,e){a.begin();a.moveTo(b,c);a.lineTo(b+d,c);a.lineTo(b+d/2,c+e/2);a.close();a.fillAndStroke();a.begin();a.moveTo(b,c+e);a.lineTo(b+d,c+e);a.lineTo(b+d/2,c+e/2);a.close();a.fillAndStroke()};mxCellRenderer.registerShape("collate",Ja); @@ -3312,14 +3315,14 @@ b,c,d,e,f,g,h,k,l){var m=e*(g+k+1),y=f*(g+k+1);return function(){a.begin();a.mov function(a,b,c,d,e,f,g,h,k,l){var m=e*(g+k+1),y=f*(g+k+1);return function(){a.begin();a.moveTo(d.x-m/2-y/2,d.y-y/2+m/2);a.lineTo(d.x+y/2-3*m/2,d.y-3*y/2-m/2);a.moveTo(d.x-m/2+y/2,d.y-y/2-m/2);a.lineTo(d.x-y/2-3*m/2,d.y-3*y/2+m/2);a.stroke()}});mxMarker.addMarker("circle",Na);mxMarker.addMarker("circlePlus",function(a,b,c,d,e,f,g,h,k,l){var m=d.clone(),y=Na.apply(this,arguments),n=e*(g+2*k),p=f*(g+2*k);return function(){y.apply(this,arguments);a.begin();a.moveTo(m.x-e*k,m.y-f*k);a.lineTo(m.x-2*n+e* k,m.y-2*p+f*k);a.moveTo(m.x-n-p+f*k,m.y-p+n-e*k);a.lineTo(m.x+p-n-f*k,m.y-p-n+e*k);a.stroke()}});mxMarker.addMarker("halfCircle",function(a,b,c,d,e,f,g,h,k,l){var m=e*(g+k+1),y=f*(g+k+1),n=d.clone();d.x-=m;d.y-=y;return function(){a.begin();a.moveTo(n.x-y,n.y+m);a.quadTo(d.x-y,d.y+m,d.x,d.y);a.quadTo(d.x+y,d.y-m,n.x+y,n.y-m);a.stroke()}});mxMarker.addMarker("async",function(a,b,c,d,e,f,g,h,k,l){b=e*k*1.118;c=f*k*1.118;e*=g+k;f*=g+k;var m=d.clone();m.x-=b;m.y-=c;d.x+=1*-e-b;d.y+=1*-f-c;return function(){a.begin(); a.moveTo(m.x,m.y);h?a.lineTo(m.x-e-f/2,m.y-f+e/2):a.lineTo(m.x+f/2-e,m.y-f-e/2);a.lineTo(m.x-e,m.y-f);a.close();l?a.fillAndStroke():a.stroke()}});mxMarker.addMarker("openAsync",function(a){a=null!=a?a:2;return function(b,c,d,e,f,g,h,k,l,m){f*=h+l;g*=h+l;var n=e.clone();return function(){b.begin();b.moveTo(n.x,n.y);k?b.lineTo(n.x-f-g/a,n.y-g+f/a):b.lineTo(n.x+g/a-f,n.y-g-f/a);b.stroke()}}}(2));if("undefined"!==typeof mxVertexHandler){var Ra=function(a,b,c){return xa(a,["width"],b,function(b,d,e,f, -g){g=a.shape.getEdgeWidth()*a.view.scale+c;return new mxPoint(f.x+d*b/4+e*g/2,f.y+e*b/4-d*g/2)},function(b,d,e,f,g,h){b=Math.sqrt(mxUtils.ptSegDistSq(f.x,f.y,g.x,g.y,h.x,h.y));a.style.width=Math.round(2*b)/a.view.scale-c})},xa=function(a,b,c,d,e){return O(a,b,function(b){var e=a.absolutePoints,f=e.length-1;b=a.view.translate;var g=a.view.scale,h=c?e[0]:e[f],e=c?e[1]:e[f-1],f=e.x-h.x,k=e.y-h.y,l=Math.sqrt(f*f+k*k),h=d.call(this,l,f/l,k/l,h,e);return new mxPoint(h.x/g-b.x,h.y/g-b.y)},function(b,d,f){var g= -a.absolutePoints,h=g.length-1;b=a.view.translate;var k=a.view.scale,l=c?g[0]:g[h],g=c?g[1]:g[h-1],h=g.x-l.x,m=g.y-l.y,n=Math.sqrt(h*h+m*m);d.x=(d.x+b.x)*k;d.y=(d.y+b.y)*k;e.call(this,n,h/n,m/n,l,g,d,f)})},ra=function(a){return function(b){return[O(b,["arrowWidth","arrowSize"],function(b){var c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"arrowWidth",T.prototype.arrowWidth))),d=Math.max(0,Math.min(a,mxUtils.getValue(this.state.style,"arrowSize",T.prototype.arrowSize)));return new mxPoint(b.x+ -(1-d)*b.width,b.y+(1-c)*b.height/2)},function(b,c){this.state.style.arrowWidth=Math.max(0,Math.min(1,Math.abs(b.y+b.height/2-c.y)/b.height*2));this.state.style.arrowSize=Math.max(0,Math.min(a,(b.x+b.width-c.x)/b.width))})]}},Oa=function(a){return function(b){return[O(b,["size"],function(b){var c=Math.max(0,Math.min(.5*b.height,parseFloat(mxUtils.getValue(this.state.style,"size",a))));return new mxPoint(b.x,b.y+c)},function(a,b){this.state.style.size=Math.max(0,b.y-a.y)},!0)]}},Ma=function(a,b,c){return function(d){var e= -[O(d,["size"],function(c){var d=Math.max(0,Math.min(c.width,Math.min(c.height,parseFloat(mxUtils.getValue(this.state.style,"size",b)))))*a;return new mxPoint(c.x+d,c.y+d)},function(b,c){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(b.width,c.x-b.x),Math.min(b.height,c.y-b.y)))/a)},!1)];c&&mxUtils.getValue(d.style,mxConstants.STYLE_ROUNDED,!1)&&e.push(na(d));return e}},Da=function(a,b,c,d,e){c=null!=c?c:.5;return function(f){var g=[O(f,["size"],function(b){var c=null!=e?"0"!=mxUtils.getValue(this.state.style, -"fixedSize","0"):null,d=parseFloat(mxUtils.getValue(this.state.style,"size",c?e:a));return new mxPoint(b.x+Math.max(0,Math.min(.5*b.width,d*(c?1:b.width))),b.getCenterY())},function(a,b,d){a=null!=e&&"0"!=mxUtils.getValue(this.state.style,"fixedSize","0")?b.x-a.x:Math.max(0,Math.min(c,(b.x-a.x)/a.width));this.state.style.size=a},!1,d)];b&&mxUtils.getValue(f.style,mxConstants.STYLE_ROUNDED,!1)&&g.push(na(f));return g}},Pa=function(a,b,c){a=null!=a?a:.5;return function(d){var e=[O(d,["size"],function(d){var e= +g){g=a.shape.getEdgeWidth()*a.view.scale+c;return new mxPoint(f.x+d*b/4+e*g/2,f.y+e*b/4-d*g/2)},function(b,d,e,f,g,h){b=Math.sqrt(mxUtils.ptSegDistSq(f.x,f.y,g.x,g.y,h.x,h.y));a.style.width=Math.round(2*b)/a.view.scale-c})},xa=function(a,b,c,d,e){return P(a,b,function(b){var e=a.absolutePoints,f=e.length-1;b=a.view.translate;var g=a.view.scale,h=c?e[0]:e[f],e=c?e[1]:e[f-1],f=e.x-h.x,k=e.y-h.y,l=Math.sqrt(f*f+k*k),h=d.call(this,l,f/l,k/l,h,e);return new mxPoint(h.x/g-b.x,h.y/g-b.y)},function(b,d,f){var g= +a.absolutePoints,h=g.length-1;b=a.view.translate;var k=a.view.scale,l=c?g[0]:g[h],g=c?g[1]:g[h-1],h=g.x-l.x,m=g.y-l.y,n=Math.sqrt(h*h+m*m);d.x=(d.x+b.x)*k;d.y=(d.y+b.y)*k;e.call(this,n,h/n,m/n,l,g,d,f)})},ra=function(a){return function(b){return[P(b,["arrowWidth","arrowSize"],function(b){var c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"arrowWidth",T.prototype.arrowWidth))),d=Math.max(0,Math.min(a,mxUtils.getValue(this.state.style,"arrowSize",T.prototype.arrowSize)));return new mxPoint(b.x+ +(1-d)*b.width,b.y+(1-c)*b.height/2)},function(b,c){this.state.style.arrowWidth=Math.max(0,Math.min(1,Math.abs(b.y+b.height/2-c.y)/b.height*2));this.state.style.arrowSize=Math.max(0,Math.min(a,(b.x+b.width-c.x)/b.width))})]}},Oa=function(a){return function(b){return[P(b,["size"],function(b){var c=Math.max(0,Math.min(.5*b.height,parseFloat(mxUtils.getValue(this.state.style,"size",a))));return new mxPoint(b.x,b.y+c)},function(a,b){this.state.style.size=Math.max(0,b.y-a.y)},!0)]}},Ma=function(a,b,c){return function(d){var e= +[P(d,["size"],function(c){var d=Math.max(0,Math.min(c.width,Math.min(c.height,parseFloat(mxUtils.getValue(this.state.style,"size",b)))))*a;return new mxPoint(c.x+d,c.y+d)},function(b,c){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(b.width,c.x-b.x),Math.min(b.height,c.y-b.y)))/a)},!1)];c&&mxUtils.getValue(d.style,mxConstants.STYLE_ROUNDED,!1)&&e.push(na(d));return e}},Da=function(a,b,c,d,e){c=null!=c?c:.5;return function(f){var g=[P(f,["size"],function(b){var c=null!=e?"0"!=mxUtils.getValue(this.state.style, +"fixedSize","0"):null,d=parseFloat(mxUtils.getValue(this.state.style,"size",c?e:a));return new mxPoint(b.x+Math.max(0,Math.min(.5*b.width,d*(c?1:b.width))),b.getCenterY())},function(a,b,d){a=null!=e&&"0"!=mxUtils.getValue(this.state.style,"fixedSize","0")?b.x-a.x:Math.max(0,Math.min(c,(b.x-a.x)/a.width));this.state.style.size=a},!1,d)];b&&mxUtils.getValue(f.style,mxConstants.STYLE_ROUNDED,!1)&&g.push(na(f));return g}},Pa=function(a,b,c){a=null!=a?a:.5;return function(d){var e=[P(d,["size"],function(d){var e= null!=c?"0"!=mxUtils.getValue(this.state.style,"fixedSize","0"):null,f=Math.max(0,parseFloat(mxUtils.getValue(this.state.style,"size",e?c:b)));return new mxPoint(d.x+Math.min(.75*d.width*a,f*(e?.75:.75*d.width)),d.y+d.height/4)},function(b,d){var e=null!=c&&"0"!=mxUtils.getValue(this.state.style,"fixedSize","0")?d.x-b.x:Math.max(0,Math.min(a,(d.x-b.x)/b.width*.75));this.state.style.size=e},!1,!0)];mxUtils.getValue(d.style,mxConstants.STYLE_ROUNDED,!1)&&e.push(na(d));return e}},ya=function(){return function(a){var b= -[];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(na(a));return b}},na=function(a,b){return O(a,[mxConstants.STYLE_ARCSIZE],function(c){var d=null!=b?b:c.height/8;if("1"==mxUtils.getValue(a.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)){var e=mxUtils.getValue(a.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;return new mxPoint(c.x+c.width-Math.min(c.width/2,e),c.y+d)}e=Math.max(0,parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)))/ -100;return new mxPoint(c.x+c.width-Math.min(Math.max(c.width/2,c.height/2),Math.min(c.width,c.height)*e),c.y+d)},function(b,c,d){"1"==mxUtils.getValue(a.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)?this.state.style[mxConstants.STYLE_ARCSIZE]=Math.round(Math.max(0,Math.min(b.width,2*(b.x+b.width-c.x)))):this.state.style[mxConstants.STYLE_ARCSIZE]=Math.round(Math.min(50,Math.max(0,100*(b.width-c.x+b.x)/Math.min(b.width,b.height))))})},O=function(a,b,c,d,e,f,g){var h=new mxHandle(a,null,mxVertexHandler.prototype.secondaryHandleImage); +[];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(na(a));return b}},na=function(a,b){return P(a,[mxConstants.STYLE_ARCSIZE],function(c){var d=null!=b?b:c.height/8;if("1"==mxUtils.getValue(a.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)){var e=mxUtils.getValue(a.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;return new mxPoint(c.x+c.width-Math.min(c.width/2,e),c.y+d)}e=Math.max(0,parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)))/ +100;return new mxPoint(c.x+c.width-Math.min(Math.max(c.width/2,c.height/2),Math.min(c.width,c.height)*e),c.y+d)},function(b,c,d){"1"==mxUtils.getValue(a.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)?this.state.style[mxConstants.STYLE_ARCSIZE]=Math.round(Math.max(0,Math.min(b.width,2*(b.x+b.width-c.x)))):this.state.style[mxConstants.STYLE_ARCSIZE]=Math.round(Math.min(50,Math.max(0,100*(b.width-c.x+b.x)/Math.min(b.width,b.height))))})},P=function(a,b,c,d,e,f,g){var h=new mxHandle(a,null,mxVertexHandler.prototype.secondaryHandleImage); h.execute=function(a){for(var c=0;c=2*d&&a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return a};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))];Aa.prototype.constraints=mxRectangleShape.prototype.constraints;mxImageShape.prototype.constraints=mxRectangleShape.prototype.constraints;mxSwimlane.prototype.constraints= -mxRectangleShape.prototype.constraints;H.prototype.constraints=mxRectangleShape.prototype.constraints;mxLabel.prototype.constraints=mxRectangleShape.prototype.constraints;f.prototype.getConstraints=function(a,b,c){a=[];var d=Math.max(0,Math.min(b,Math.min(c,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(b-d),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1, +mxRectangleShape.prototype.constraints;G.prototype.constraints=mxRectangleShape.prototype.constraints;mxLabel.prototype.constraints=mxRectangleShape.prototype.constraints;f.prototype.getConstraints=function(a,b,c){a=[];var d=Math.max(0,Math.min(b,Math.min(c,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(b-d),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1, null,b-d,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b-.5*d,.5*d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,.5*(c+d)));a.push(new mxConnectionConstraint(new mxPoint(1,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));b>=2*d&&a.push(new mxConnectionConstraint(new mxPoint(.5, 0),!1));return a};q.prototype.getConstraints=function(a,b,c){a=[];var d=Math.max(0,Math.min(b,Math.min(c,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(b+d),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*d,.5*d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,d));a.push(new mxConnectionConstraint(new mxPoint(0, 0),!1,null,0,.5*(c+d)));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(1,1),!1));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));b>=2*d&&a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return a};c.prototype.getConstraints=function(a,b,c){a=[];var d=Math.max(0,Math.min(b,Math.min(c,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));a.push(new mxConnectionConstraint(new mxPoint(0, 0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(b-d),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b-d,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b-.5*d,.5*d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,.5*(c+d)));a.push(new mxConnectionConstraint(new mxPoint(1,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(b+d),c));a.push(new mxConnectionConstraint(new mxPoint(0, 0),!1,null,d,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*d,c-.5*d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,c-d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(c-d)));return a};l.prototype.getConstraints=function(a,b,c){a=[];b=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(.5, 1),!1));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,b));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1,null,0,b));a.push(new mxConnectionConstraint(new mxPoint(1,1),!1,null,0,-b));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1,null,0,-b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,b+.5*(.5*c-b)));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1,null,0,b+.5*(.5*c-b)));a.push(new mxConnectionConstraint(new mxPoint(1, -0),!1,null,0,c-b-.5*(.5*c-b)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,c-b-.5*(.5*c-b)));a.push(new mxConnectionConstraint(new mxPoint(.145,0),!1,null,0,.29*b));a.push(new mxConnectionConstraint(new mxPoint(.855,0),!1,null,0,.29*b));a.push(new mxConnectionConstraint(new mxPoint(.855,1),!1,null,0,.29*-b));a.push(new mxConnectionConstraint(new mxPoint(.145,1),!1,null,0,.29*-b));return a};p.prototype.getConstraints=function(a,b,c){a=[];var d=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style, +0),!1,null,0,c-b-.5*(.5*c-b)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,c-b-.5*(.5*c-b)));a.push(new mxConnectionConstraint(new mxPoint(.145,0),!1,null,0,.29*b));a.push(new mxConnectionConstraint(new mxPoint(.855,0),!1,null,0,.29*b));a.push(new mxConnectionConstraint(new mxPoint(.855,1),!1,null,0,.29*-b));a.push(new mxConnectionConstraint(new mxPoint(.145,1),!1,null,0,.29*-b));return a};m.prototype.getConstraints=function(a,b,c){a=[];var d=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style, "tabWidth",this.tabWidth)))),e=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));"left"==mxUtils.getValue(this.style,"tabPosition",this.tabPosition)?(a.push(new mxConnectionConstraint(new mxPoint(0,0),!1)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*d,0)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,0)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,e)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null, .5*(b+d),e))):(a.push(new mxConnectionConstraint(new mxPoint(1,0),!1)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b-.5*d,0)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b-d,0)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b-d,e)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(b-d),e)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,.25*(c-e)+e));a.push(new mxConnectionConstraint(new mxPoint(0, 0),!1,null,b,.5*(c-e)+e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,.75*(c-e)+e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.25*(c-e)+e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(c-e)+e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.75*(c-e)+e));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,0,c));a.push(new mxConnectionConstraint(new mxPoint(.25,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,1),!1));return a};W.prototype.constraints=mxRectangleShape.prototype.constraints;G.prototype.constraints=mxRectangleShape.prototype.constraints;fa.prototype.constraints=mxEllipse.prototype.constraints;wa.prototype.constraints=mxEllipse.prototype.constraints;za.prototype.constraints=mxEllipse.prototype.constraints;Ba.prototype.constraints= +0),!1,null,0,c));a.push(new mxConnectionConstraint(new mxPoint(.25,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,1),!1));return a};W.prototype.constraints=mxRectangleShape.prototype.constraints;K.prototype.constraints=mxRectangleShape.prototype.constraints;fa.prototype.constraints=mxEllipse.prototype.constraints;wa.prototype.constraints=mxEllipse.prototype.constraints;za.prototype.constraints=mxEllipse.prototype.constraints;Ba.prototype.constraints= mxEllipse.prototype.constraints;ea.prototype.constraints=mxRectangleShape.prototype.constraints;Ca.prototype.constraints=mxRectangleShape.prototype.constraints;va.prototype.getConstraints=function(a,b,c){a=[];var d=Math.min(b,c/2),e=Math.min(b-d,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*b);a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1,null));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null, .5*(e+b-d),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b-d,0));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1,null));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b-d,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(e+b-d),c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,c));return a};V.prototype.getConstraints=function(a,b,c){b=parseFloat(mxUtils.getValue(a,"jettyWidth",V.prototype.jettyWidth))/2;a=parseFloat(mxUtils.getValue(a, "jettyHeight",V.prototype.jettyHeight));var d=[new mxConnectionConstraint(new mxPoint(0,0),!1,null,b),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,b), 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(c-.5*a,1.5*a)),new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,Math.min(c-.5*a,3.5*a))];c>5*a&&d.push(new mxConnectionConstraint(new mxPoint(0,.75),!1,null,b));c>8*a&&d.push(new mxConnectionConstraint(new mxPoint(0,.5),!1,null,b));c>15* -a&&d.push(new mxConnectionConstraint(new mxPoint(0,.25),!1,null,b));return d};X.prototype.constraints=mxRectangleShape.prototype.constraints;Q.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, +a&&d.push(new mxConnectionConstraint(new mxPoint(0,.25),!1,null,b));return d};X.prototype.constraints=mxRectangleShape.prototype.constraints;M.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)];F.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.1),!1),new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.75,.1),!1),new mxConnectionConstraint(new mxPoint(0, 1/3),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(1,1/3),!1),new mxConnectionConstraint(new mxPoint(1,1),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1)];ia.prototype.constraints=[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(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.7),!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(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];mxActor.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.25,.2),!1),new mxConnectionConstraint(new mxPoint(.1,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(.75, .25),!1),new mxConnectionConstraint(new mxPoint(.9,.5),!1),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];n.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(.5,.25),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.75, -.5),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(.5,.75),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];v.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.35),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.65),!1),new mxConnectionConstraint(new mxPoint(1,.35),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,.65),!1),new mxConnectionConstraint(new mxPoint(.25, +.5),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(.5,.75),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];u.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.35),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.65),!1),new mxConnectionConstraint(new mxPoint(1,.35),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,.65),!1),new mxConnectionConstraint(new mxPoint(.25, 1),!1),new mxConnectionConstraint(new mxPoint(.75,0),!1)];z.prototype.constraints=[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(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!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)];mxLine.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];S.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.5, +.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];mxLine.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];R.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.5, 1),!1)];mxDoubleEllipse.prototype.constraints=mxEllipse.prototype.constraints;mxRhombus.prototype.constraints=mxEllipse.prototype.constraints;mxTriangle.prototype.constraints=[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(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0)];mxHexagon.prototype.constraints= [new mxConnectionConstraint(new mxPoint(.375,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.625,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(.375,1),!0), new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.625,1),!0)];mxCloud.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.25),!1),new mxConnectionConstraint(new mxPoint(.4,.1),!1),new mxConnectionConstraint(new mxPoint(.16,.55),!1),new mxConnectionConstraint(new mxPoint(.07,.4),!1),new mxConnectionConstraint(new mxPoint(.31,.8),!1),new mxConnectionConstraint(new mxPoint(.13,.77),!1),new mxConnectionConstraint(new mxPoint(.8,.8),!1),new mxConnectionConstraint(new mxPoint(.55, -.95),!1),new mxConnectionConstraint(new mxPoint(.875,.5),!1),new mxConnectionConstraint(new mxPoint(.96,.7),!1),new mxConnectionConstraint(new mxPoint(.625,.2),!1),new mxConnectionConstraint(new mxPoint(.88,.25),!1)];t.prototype.constraints=mxRectangleShape.prototype.constraints;w.prototype.constraints=mxRectangleShape.prototype.constraints;u.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75, +.95),!1),new mxConnectionConstraint(new mxPoint(.875,.5),!1),new mxConnectionConstraint(new mxPoint(.96,.7),!1),new mxConnectionConstraint(new mxPoint(.625,.2),!1),new mxConnectionConstraint(new mxPoint(.88,.25),!1)];r.prototype.constraints=mxRectangleShape.prototype.constraints;w.prototype.constraints=mxRectangleShape.prototype.constraints;t.prototype.constraints=[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(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)];mxArrow.prototype.constraints=null;Z.prototype.getConstraints=function(a,b,c){a=[];var d=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),e=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style, "dy",this.dy))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,.5*e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.75*b+.25*d,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(b+d),e));a.push(new mxConnectionConstraint(new mxPoint(0, 0),!1,null,.5*(b+d),.5*(c+e)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(b+d),c));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(b-d),c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(b-d),.5*(c+e)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(b-d),e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*b-.25*d,e));a.push(new mxConnectionConstraint(new mxPoint(0, @@ -3402,15 +3405,15 @@ function(a,b,c){a=[];var d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(t function(a,b,c){a=[];var d=Math.min(c,b),e=Math.max(0,Math.min(d,d*parseFloat(mxUtils.getValue(this.style,"size",this.size)))),d=(c-e)/2,f=d+e,g=(b-e)/2,e=g+e;a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,.5*d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,0));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,.5*d));a.push(new mxConnectionConstraint(new mxPoint(0, 0),!1,null,e,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,c-.5*d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,c));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,c-.5*d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(b+e),d));a.push(new mxConnectionConstraint(new mxPoint(0, 0),!1,null,b,d));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(b+e),f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*g,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,d));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,0,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*g,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,d));return a};K.prototype.constraints=null;M.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)];R.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)];la.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];ha.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0, +0),!1,null,0,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*g,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,d));return a};I.prototype.constraints=null;L.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)];S.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)];la.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];ha.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(){var a=this.editorUi,c=a.editor,b=c.graph,d=function(){return Action.prototype.isEnabled.apply(this,arguments)&&b.isEnabled()};this.addAction("new...",function(){b.openLink(a.getUrl())});this.addAction("open...",function(){window.openNew=!0;window.openKey="open";a.openFile()});this.addAction("import...",function(){window.openNew=!1;window.openKey="import";window.openFile=new OpenFile(mxUtils.bind(this,function(){a.hideDialog()}));window.openFile.setConsumer(mxUtils.bind(this, function(a,b){try{var d=mxUtils.parseXml(a);c.graph.setSelectionCells(c.graph.importGraphModel(d.documentElement))}catch(l){mxUtils.alert(mxResources.get("invalidOrMissingFile")+": "+l.message)}}));a.showDialog((new OpenDialog(this)).container,320,220,!0,!0,function(){window.openFile=null})}).isEnabled=d;this.addAction("save",function(){a.saveFile(!1)},null,null,Editor.ctrlKey+"+S").isEnabled=d;this.addAction("saveAs...",function(){a.saveFile(!0)},null,null,Editor.ctrlKey+"+Shift+S").isEnabled=d; this.addAction("export...",function(){a.showDialog((new ExportDialog(a)).container,300,304,!0,!0)});this.addAction("editDiagram...",function(){var b=new EditDiagramDialog(a);a.showDialog(b.container,620,420,!0,!1);b.init()});this.addAction("pageSetup...",function(){a.showDialog((new PageSetupDialog(a)).container,320,220,!0,!0)}).isEnabled=d;this.addAction("print...",function(){a.showDialog((new PrintDialog(a)).container,300,180,!0,!0)},null,"sprite-print",Editor.ctrlKey+"+P");this.addAction("preview", function(){mxUtils.show(b,null,10,10)});this.addAction("undo",function(){a.undo()},null,"sprite-undo",Editor.ctrlKey+"+Z");this.addAction("redo",function(){a.redo()},null,"sprite-redo",mxClient.IS_WIN?Editor.ctrlKey+"+Y":Editor.ctrlKey+"+Shift+Z");this.addAction("cut",function(){mxClipboard.cut(b)},null,"sprite-cut",Editor.ctrlKey+"+X");this.addAction("copy",function(){try{mxClipboard.copy(b)}catch(g){a.handleError(g)}},null,"sprite-copy",Editor.ctrlKey+"+C");this.addAction("paste",function(){b.isEnabled()&& -!b.isCellLocked(b.getDefaultParent())&&mxClipboard.paste(b)},!1,"sprite-paste",Editor.ctrlKey+"+V");this.addAction("pasteHere",function(a){if(b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())){b.getModel().beginUpdate();try{var c=mxClipboard.paste(b);if(null!=c){a=!0;for(var d=0;d/g,"\n"));var p=document.createElement("div");p.innerHTML=b.sanitizeHtml(n);n=mxUtils.extractTextWithWhitespace(p.childNodes);b.cellLabelChanged(state.cell,n);b.setCellStyles("html",c,[d[e]])}else"0"==f&&"1"==c&&(n=mxUtils.htmlEntities(b.convertValueToString(state.cell),!1),"0"!=mxUtils.getValue(state.style,"nl2Br","1")&&(n=n.replace(/\n/g,"
")),b.cellLabelChanged(state.cell,b.sanitizeHtml(n)),b.setCellStyles("html",c,[d[e]]))}a.fireEvent(new mxEventObject("styleChanged", +"nl2Br","1")&&(n=n.replace(/\n/g,"").replace(//g,"\n"));var m=document.createElement("div");m.innerHTML=b.sanitizeHtml(n);n=mxUtils.extractTextWithWhitespace(m.childNodes);b.cellLabelChanged(state.cell,n);b.setCellStyles("html",c,[d[e]])}else"0"==f&&"1"==c&&(n=mxUtils.htmlEntities(b.convertValueToString(state.cell),!1),"0"!=mxUtils.getValue(state.style,"nl2Br","1")&&(n=n.replace(/\n/g,"
")),b.cellLabelChanged(state.cell,b.sanitizeHtml(n)),b.setCellStyles("html",c,[d[e]]))}a.fireEvent(new mxEventObject("styleChanged", "keys",["html"],"values",[null!=c?c:"0"],"cells",d))}finally{b.getModel().endUpdate()}}});this.addAction("wordWrap",function(){var a=b.getView().getState(b.getSelectionCell()),c="wrap";b.stopEditing();null!=a&&"wrap"==a.style[mxConstants.STYLE_WHITE_SPACE]&&(c=null);b.setCellStyles(mxConstants.STYLE_WHITE_SPACE,c)});this.addAction("rotation",function(){var c="0",d=b.getView().getState(b.getSelectionCell());null!=d&&(c=d.style[mxConstants.STYLE_ROTATION]||c);c=new FilenameDialog(a,c,mxResources.get("apply"), function(a){null!=a&&0"],d=0;d");for(var e=0;e
");c.push("")}c.push("");return c.join("")}function e(a){h=f.getParentByName(mxEvent.getSource(a),"TD");var b=!1;if(null!=h){g=f.getParentByName(h,"TR");for(var c=mxEvent.isMouseEvent(a)?2:4,d=l,e=Math.min(20,g.sectionRowIndex+c),c=Math.min(20,h.cellIndex+c),p=d.rows.length;p"],d=0;d");for(var e=0;e
");c.push("")}c.push("");return c.join("")}function e(a){h=f.getParentByName(mxEvent.getSource(a),"TD");var b=!1;if(null!=h){g=f.getParentByName(h,"TR");for(var c=mxEvent.isMouseEvent(a)?2:4,d=l,e=Math.min(20,g.sectionRowIndex+c),c=Math.min(20,h.cellIndex+c),m=d.rows.length;m';a.firstChild.innerHTML="";var l=function(a,b){var c=document.createElement("table");c.setAttribute("border","1");c.style.borderCollapse="collapse";c.style.borderStyle="solid";mxClient.IS_QUIRKS||c.setAttribute("cellPadding","8");for(var d=0;ddocument.documentMode)?20:0;a.setAttribute("width",(Editor.useLocalStorage?640:320)+c+"px");a.setAttribute("height",(Editor.useLocalStorage?480:220)+c+"px");a.setAttribute("src",OPEN_FORM);this.container=a},ColorDialog= function(a,c,b,d){function e(){var b=h.value;/(^#?[a-zA-Z0-9]*$)/.test(b)?("none"!=b&&"#"!=b.charAt(0)&&(b="#"+b),ColorDialog.addRecentColor("none"!=b?b.substring(1):b,12),k(b),a.hideDialog()):a.handleError({message:mxResources.get("invalidInput")})}function f(){var a=g(0==ColorDialog.recentColors.length?["FFFFFF"]:ColorDialog.recentColors,11,"FFFFFF",!0);a.style.marginBottom="8px";return a}function g(a,b,c,d){b=null!=b?b:12;var g=document.createElement("table");g.style.borderCollapse="collapse"; -g.setAttribute("cellspacing","0");g.style.marginBottom="20px";g.style.cellSpacing="0px";var k=document.createElement("tbody");g.appendChild(k);for(var m=a.length/b,p=0;p=c&&ColorDialog.recentColors.pop())};ColorDialog.resetRecentColors=function(){ColorDialog.recentColors=[]}; var AboutDialog=function(a){var c=document.createElement("div");c.setAttribute("align","center");var b=document.createElement("h3");mxUtils.write(b,mxResources.get("about")+" GraphEditor");c.appendChild(b);b=document.createElement("img");b.style.border="0px";b.setAttribute("width","176");b.setAttribute("width","151");b.setAttribute("src",IMAGE_PATH+"/logo.png");c.appendChild(b);mxUtils.br(c);mxUtils.write(c,"Powered by mxGraph "+mxClient.VERSION);mxUtils.br(c);b=document.createElement("a");b.setAttribute("href", -"http://www.jgraph.com/");b.setAttribute("target","_blank");mxUtils.write(b,"www.jgraph.com");c.appendChild(b);mxUtils.br(c);mxUtils.br(c);b=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});b.className="geBtn gePrimaryBtn";c.appendChild(b);this.container=c},TextareaDialog=function(a,c,b,d,e,f,g,h,k,l,n,p,m,q){g=null!=g?g:300;h=null!=h?h:120;l=null!=l?l:!1;var v,u,t=document.createElement("table"),w=document.createElement("tbody");v=document.createElement("tr");u=document.createElement("td"); -u.style.fontSize="10pt";u.style.width="100px";mxUtils.write(u,c);v.appendChild(u);w.appendChild(v);v=document.createElement("tr");u=document.createElement("td");var r=document.createElement("textarea");n&&r.setAttribute("wrap","off");r.setAttribute("spellcheck","false");r.setAttribute("autocorrect","off");r.setAttribute("autocomplete","off");r.setAttribute("autocapitalize","off");mxUtils.write(r,b||"");r.style.resize="none";r.style.width=g+"px";r.style.height=h+"px";this.textarea=r;this.init=function(){r.focus(); -r.scrollTop=0};u.appendChild(r);v.appendChild(u);w.appendChild(v);v=document.createElement("tr");u=document.createElement("td");u.style.paddingTop="14px";u.style.whiteSpace="nowrap";u.setAttribute("align","right");null!=m&&(c=mxUtils.button(mxResources.get("help"),function(){a.editor.graph.openLink(m)}),c.className="geBtn",u.appendChild(c));if(null!=q)for(c=0;cMAX_AREA||0>=q.value?"red":"";v.style.backgroundColor=q.value*v.value>MAX_AREA||0>=v.value?"red":""}var d=a.editor.graph,e=d.getGraphBounds(),f=d.view.scale,g=Math.ceil(e.width/ +f=mxUtils.button(mxResources.get("ok"),function(){var c=Graph.zapGremlins(mxUtils.trim(b.value)),d=null;if("new"==e.value)a.hideDialog(),a.editor.editAsNew(c);else if("replace"==e.value){a.editor.graph.model.beginUpdate();try{a.editor.setGraphXml(mxUtils.parseXml(c).documentElement),a.hideDialog()}catch(m){d=m}finally{a.editor.graph.model.endUpdate()}}else if("import"==e.value){a.editor.graph.model.beginUpdate();try{var f=mxUtils.parseXml(c),l=new mxGraphModel;(new mxCodec(f)).decode(f.documentElement, +l);var n=l.getChildren(l.getChildAt(l.getRoot(),0));a.editor.graph.setSelectionCells(a.editor.graph.importCells(n));a.hideDialog()}catch(m){d=m}finally{a.editor.graph.model.endUpdate()}}null!=d&&mxUtils.alert(d.message)});f.className="geBtn gePrimaryBtn";c.appendChild(f);a.editor.cancelFirst||c.appendChild(d);this.container=c};EditDiagramDialog.showNewWindowOption=!0; +var ExportDialog=function(a){function c(){var a=n.value,b=a.lastIndexOf(".");n.value=0MAX_AREA||0>=q.value?"red":"";u.style.backgroundColor=q.value*u.value>MAX_AREA||0>=u.value?"red":""}var d=a.editor.graph,e=d.getGraphBounds(),f=d.view.scale,g=Math.ceil(e.width/ f),h=Math.ceil(e.height/f),k,f=document.createElement("table"),l=document.createElement("tbody");f.setAttribute("cellpadding",mxClient.IS_SF?"0":"2");e=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";k.style.width="100px";mxUtils.write(k,mxResources.get("filename")+":");e.appendChild(k);var n=document.createElement("input");n.setAttribute("value",a.editor.getOrCreateFilename());n.style.width="180px";k=document.createElement("td");k.appendChild(n);e.appendChild(k); -l.appendChild(e);e=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("format")+":");e.appendChild(k);var p=document.createElement("select");p.style.width="180px";k=document.createElement("option");k.setAttribute("value","png");mxUtils.write(k,mxResources.get("formatPng"));p.appendChild(k);k=document.createElement("option");ExportDialog.showGifOption&&(k.setAttribute("value","gif"),mxUtils.write(k,mxResources.get("formatGif")),p.appendChild(k)); -k=document.createElement("option");k.setAttribute("value","jpg");mxUtils.write(k,mxResources.get("formatJpg"));p.appendChild(k);k=document.createElement("option");k.setAttribute("value","pdf");mxUtils.write(k,mxResources.get("formatPdf"));p.appendChild(k);k=document.createElement("option");k.setAttribute("value","svg");mxUtils.write(k,mxResources.get("formatSvg"));p.appendChild(k);ExportDialog.showXmlOption&&(k=document.createElement("option"),k.setAttribute("value","xml"),mxUtils.write(k,mxResources.get("formatXml")), -p.appendChild(k));k=document.createElement("td");k.appendChild(p);e.appendChild(k);l.appendChild(e);e=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("zoom")+" (%):");e.appendChild(k);var m=document.createElement("input");m.setAttribute("type","number");m.setAttribute("value","100");m.style.width="180px";k=document.createElement("td");k.appendChild(m);e.appendChild(k);l.appendChild(e);e=document.createElement("tr");k=document.createElement("td"); -k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("width")+":");e.appendChild(k);var q=document.createElement("input");q.setAttribute("value",g);q.style.width="180px";k=document.createElement("td");k.appendChild(q);e.appendChild(k);l.appendChild(e);e=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("height")+":");e.appendChild(k);var v=document.createElement("input");v.setAttribute("value",h);v.style.width="180px";k=document.createElement("td"); -k.appendChild(v);e.appendChild(k);l.appendChild(e);e=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("dpi")+":");e.appendChild(k);var u=document.createElement("select");u.style.width="180px";k=document.createElement("option");k.setAttribute("value","100");mxUtils.write(k,"100dpi");u.appendChild(k);k=document.createElement("option");k.setAttribute("value","200");mxUtils.write(k,"200dpi");u.appendChild(k);k=document.createElement("option"); -k.setAttribute("value","300");mxUtils.write(k,"300dpi");u.appendChild(k);k=document.createElement("option");k.setAttribute("value","400");mxUtils.write(k,"400dpi");u.appendChild(k);k=document.createElement("option");k.setAttribute("value","custom");mxUtils.write(k,mxResources.get("custom"));u.appendChild(k);var t=document.createElement("input");t.style.width="180px";t.style.display="none";t.setAttribute("value","100");t.setAttribute("type","number");t.setAttribute("min","50");t.setAttribute("step", -"50");var w=!1;mxEvent.addListener(u,"change",function(){"custom"==this.value?(this.style.display="none",t.style.display="",t.focus()):(t.value=this.value,w||(m.value=this.value))});mxEvent.addListener(t,"change",function(){var a=parseInt(t.value);isNaN(a)||0>=a?t.style.backgroundColor="red":(t.style.backgroundColor="",w||(m.value=a))});k=document.createElement("td");k.appendChild(u);k.appendChild(t);e.appendChild(k);l.appendChild(e);e=document.createElement("tr");k=document.createElement("td");k.style.fontSize= -"10pt";mxUtils.write(k,mxResources.get("background")+":");e.appendChild(k);var r=document.createElement("input");r.setAttribute("type","checkbox");r.checked=null==d.background||d.background==mxConstants.NONE;k=document.createElement("td");k.appendChild(r);mxUtils.write(k,mxResources.get("transparent"));e.appendChild(k);l.appendChild(e);e=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("grid")+":");e.appendChild(k);var A=document.createElement("input"); -A.setAttribute("type","checkbox");A.checked=!1;k=document.createElement("td");k.appendChild(A);e.appendChild(k);l.appendChild(e);e=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("borderWidth")+":");e.appendChild(k);var x=document.createElement("input");x.setAttribute("type","number");x.setAttribute("value",ExportDialog.lastBorderValue);x.style.width="180px";k=document.createElement("td");k.appendChild(x);e.appendChild(k);l.appendChild(e); -f.appendChild(l);mxEvent.addListener(p,"change",c);c();mxEvent.addListener(m,"change",function(){w=!0;var a=Math.max(0,parseFloat(m.value)||100)/100;m.value=parseFloat((100*a).toFixed(2));0=parseInt(m.value))mxUtils.alert(mxResources.get("drawingEmpty"));else{var b=n.value,c=p.value,e=Math.max(0,parseFloat(m.value)||100)/100,f=Math.max(0,parseInt(x.value)), -g=d.background,h=Math.max(1,parseInt(t.value));if(("svg"==c||"png"==c||"pdf"==c)&&r.checked)g=null;else if(null==g||g==mxConstants.NONE)g="#ffffff";ExportDialog.lastBorderValue=f;ExportDialog.exportFile(a,b,c,g,e,f,h,A.checked)}}));C.className="geBtn gePrimaryBtn";var D=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});D.className="geBtn";a.editor.cancelFirst?(k.appendChild(D),k.appendChild(C)):(k.appendChild(C),k.appendChild(D));e.appendChild(k);l.appendChild(e);f.appendChild(l); +l.appendChild(e);e=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("format")+":");e.appendChild(k);var m=document.createElement("select");m.style.width="180px";k=document.createElement("option");k.setAttribute("value","png");mxUtils.write(k,mxResources.get("formatPng"));m.appendChild(k);k=document.createElement("option");ExportDialog.showGifOption&&(k.setAttribute("value","gif"),mxUtils.write(k,mxResources.get("formatGif")),m.appendChild(k)); +k=document.createElement("option");k.setAttribute("value","jpg");mxUtils.write(k,mxResources.get("formatJpg"));m.appendChild(k);k=document.createElement("option");k.setAttribute("value","pdf");mxUtils.write(k,mxResources.get("formatPdf"));m.appendChild(k);k=document.createElement("option");k.setAttribute("value","svg");mxUtils.write(k,mxResources.get("formatSvg"));m.appendChild(k);ExportDialog.showXmlOption&&(k=document.createElement("option"),k.setAttribute("value","xml"),mxUtils.write(k,mxResources.get("formatXml")), +m.appendChild(k));k=document.createElement("td");k.appendChild(m);e.appendChild(k);l.appendChild(e);e=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("zoom")+" (%):");e.appendChild(k);var p=document.createElement("input");p.setAttribute("type","number");p.setAttribute("value","100");p.style.width="180px";k=document.createElement("td");k.appendChild(p);e.appendChild(k);l.appendChild(e);e=document.createElement("tr");k=document.createElement("td"); +k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("width")+":");e.appendChild(k);var q=document.createElement("input");q.setAttribute("value",g);q.style.width="180px";k=document.createElement("td");k.appendChild(q);e.appendChild(k);l.appendChild(e);e=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("height")+":");e.appendChild(k);var u=document.createElement("input");u.setAttribute("value",h);u.style.width="180px";k=document.createElement("td"); +k.appendChild(u);e.appendChild(k);l.appendChild(e);e=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("dpi")+":");e.appendChild(k);var t=document.createElement("select");t.style.width="180px";k=document.createElement("option");k.setAttribute("value","100");mxUtils.write(k,"100dpi");t.appendChild(k);k=document.createElement("option");k.setAttribute("value","200");mxUtils.write(k,"200dpi");t.appendChild(k);k=document.createElement("option"); +k.setAttribute("value","300");mxUtils.write(k,"300dpi");t.appendChild(k);k=document.createElement("option");k.setAttribute("value","400");mxUtils.write(k,"400dpi");t.appendChild(k);k=document.createElement("option");k.setAttribute("value","custom");mxUtils.write(k,mxResources.get("custom"));t.appendChild(k);var r=document.createElement("input");r.style.width="180px";r.style.display="none";r.setAttribute("value","100");r.setAttribute("type","number");r.setAttribute("min","50");r.setAttribute("step", +"50");var w=!1;mxEvent.addListener(t,"change",function(){"custom"==this.value?(this.style.display="none",r.style.display="",r.focus()):(r.value=this.value,w||(p.value=this.value))});mxEvent.addListener(r,"change",function(){var a=parseInt(r.value);isNaN(a)||0>=a?r.style.backgroundColor="red":(r.style.backgroundColor="",w||(p.value=a))});k=document.createElement("td");k.appendChild(t);k.appendChild(r);e.appendChild(k);l.appendChild(e);e=document.createElement("tr");k=document.createElement("td");k.style.fontSize= +"10pt";mxUtils.write(k,mxResources.get("background")+":");e.appendChild(k);var v=document.createElement("input");v.setAttribute("type","checkbox");v.checked=null==d.background||d.background==mxConstants.NONE;k=document.createElement("td");k.appendChild(v);mxUtils.write(k,mxResources.get("transparent"));e.appendChild(k);l.appendChild(e);e=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("grid")+":");e.appendChild(k);var x=document.createElement("input"); +x.setAttribute("type","checkbox");x.checked=!1;k=document.createElement("td");k.appendChild(x);e.appendChild(k);l.appendChild(e);e=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("borderWidth")+":");e.appendChild(k);var B=document.createElement("input");B.setAttribute("type","number");B.setAttribute("value",ExportDialog.lastBorderValue);B.style.width="180px";k=document.createElement("td");k.appendChild(B);e.appendChild(k);l.appendChild(e); +f.appendChild(l);mxEvent.addListener(m,"change",c);c();mxEvent.addListener(p,"change",function(){w=!0;var a=Math.max(0,parseFloat(p.value)||100)/100;p.value=parseFloat((100*a).toFixed(2));0=parseInt(p.value))mxUtils.alert(mxResources.get("drawingEmpty"));else{var b=n.value,c=m.value,e=Math.max(0,parseFloat(p.value)||100)/100,f=Math.max(0,parseInt(B.value)), +g=d.background,h=Math.max(1,parseInt(r.value));if(("svg"==c||"png"==c||"pdf"==c)&&v.checked)g=null;else if(null==g||g==mxConstants.NONE)g="#ffffff";ExportDialog.lastBorderValue=f;ExportDialog.exportFile(a,b,c,g,e,f,h,x.checked)}}));A.className="geBtn gePrimaryBtn";var D=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});D.className="geBtn";a.editor.cancelFirst?(k.appendChild(D),k.appendChild(A)):(k.appendChild(A),k.appendChild(D));e.appendChild(k);l.appendChild(e);f.appendChild(l); this.container=f};ExportDialog.lastBorderValue=0;ExportDialog.showGifOption=!0;ExportDialog.showXmlOption=!0; ExportDialog.exportFile=function(a,c,b,d,e,f,g,h){h=a.editor.graph;if("xml"==b)ExportDialog.saveLocalFile(a,mxUtils.getXml(a.editor.getGraphXml()),c,b);else if("svg"==b)ExportDialog.saveLocalFile(a,mxUtils.getXml(h.getSvg(d,e,f)),c,b);else{var k=h.getGraphBounds(),l=mxUtils.createXmlDocument(),n=l.createElement("output");l.appendChild(n);l=new mxXmlCanvas2D(n);l.translate(Math.floor((f/e-k.x)/h.view.scale),Math.floor((f/e-k.y)/h.view.scale));l.scale(e/h.view.scale);(new mxImageExport).drawState(h.getView().getState(h.model.root), l);n="xml="+encodeURIComponent(mxUtils.getXml(n));l=Math.ceil(k.width*e/h.view.scale+2*f);e=Math.ceil(k.height*e/h.view.scale+2*f);n.length<=MAX_REQUEST_SIZE&&l*eb.name?1:0});null!=v&&(n=document.createElement("div"),n.style.width="100%",n.style.fontSize="11px",n.style.textAlign= -"center",mxUtils.write(n,v),l.addField(mxResources.get("id")+":",n));for(w=0;wa.indexOf(":"))try{var b=mxUtils.indexOf(p,a);if(0<=b&&null!=m[b])m[b].focus();else{f.cloneNode(!1).setAttribute(a, -"");0<=b&&(p.splice(b,1),m.splice(b,1));p.push(a);var c=l.addTextarea(a+":","",2);c.style.width="100%";m.push(c);u(c,a);c.focus()}A.setAttribute("disabled","disabled");r.value=""}catch(z){mxUtils.alert(z)}else mxUtils.alert(mxResources.get("invalidName"))});this.init=function(){0b.name?1:0});null!=u&&(n=document.createElement("div"),n.style.width="100%",n.style.fontSize="11px",n.style.textAlign= +"center",mxUtils.write(n,u),l.addField(mxResources.get("id")+":",n));for(w=0;wa.indexOf(":"))try{var b=mxUtils.indexOf(m,a);if(0<=b&&null!=p[b])p[b].focus();else{f.cloneNode(!1).setAttribute(a, +"");0<=b&&(m.splice(b,1),p.splice(b,1));m.push(a);var c=l.addTextarea(a+":","",2);c.style.width="100%";p.push(c);t(c,a);c.focus()}x.setAttribute("disabled","disabled");v.value=""}catch(z){mxUtils.alert(z)}else mxUtils.alert(mxResources.get("invalidName"))});this.init=function(){0")});mxEvent.addListener(e,"dragend", -function(a){null!=p&&null!=m&&h.addCell(c,h.model.root,m);m=p=null;a.stopPropagation();a.preventDefault()});var k=document.createElement("img");k.setAttribute("draggable","false");k.setAttribute("align","top");k.setAttribute("border","0");k.style.padding="4px";k.setAttribute("title",mxResources.get("lockUnlock"));var l=h.getCurrentCellStyle(c);"1"==mxUtils.getValue(l,"locked","0")?k.setAttribute("src",Dialog.prototype.lockedImage):k.setAttribute("src",Dialog.prototype.unlockedImage);h.isEnabled()&& +"#c3c3c3";e.style.borderStyle="solid";e.style.whiteSpace="nowrap";e.setAttribute("title",b);var g=document.createElement("div");g.style.display="inline-block";g.style.width="100%";g.style.textOverflow="ellipsis";g.style.overflow="hidden";mxEvent.addListener(e,"dragover",function(b){b.dataTransfer.dropEffect="move";p=a;b.stopPropagation();b.preventDefault()});mxEvent.addListener(e,"dragstart",function(a){m=e;mxClient.IS_FF&&a.dataTransfer.setData("Text","")});mxEvent.addListener(e,"dragend", +function(a){null!=m&&null!=p&&h.addCell(c,h.model.root,p);p=m=null;a.stopPropagation();a.preventDefault()});var k=document.createElement("img");k.setAttribute("draggable","false");k.setAttribute("align","top");k.setAttribute("border","0");k.style.padding="4px";k.setAttribute("title",mxResources.get("lockUnlock"));var l=h.getCurrentCellStyle(c);"1"==mxUtils.getValue(l,"locked","0")?k.setAttribute("src",Dialog.prototype.lockedImage):k.setAttribute("src",Dialog.prototype.unlockedImage);h.isEnabled()&& (k.style.cursor="pointer");mxEvent.addListener(k,"click",function(a){if(h.isEnabled()){var b=null;h.getModel().beginUpdate();try{b="1"==mxUtils.getValue(l,"locked","0")?null:"1",h.setCellStyles("locked",b,[c])}finally{h.getModel().endUpdate()}"1"==b&&h.removeSelectionCells(h.getModel().getDescendants(c));mxEvent.consume(a)}});g.appendChild(k);k=document.createElement("input");k.setAttribute("type","checkbox");k.setAttribute("title",mxResources.get(h.model.isVisible(c)?"hide":"show"));k.style.marginLeft= "4px";k.style.marginRight="6px";k.style.marginTop="4px";g.appendChild(k);h.model.isVisible(c)&&(k.setAttribute("checked","checked"),k.defaultChecked=!0);mxEvent.addListener(k,"click",function(a){h.model.setVisible(c,!h.model.isVisible(c));mxEvent.consume(a)});mxUtils.write(g,b);e.appendChild(g);if(h.isEnabled()){if(mxClient.IS_TOUCH||mxClient.IS_POINTER||mxClient.IS_VML||mxClient.IS_IE&&10>document.documentMode)b=document.createElement("div"),b.style.display="block",b.style.textAlign="right",b.style.whiteSpace= "nowrap",b.style.position="absolute",b.style.right="6px",b.style.top="6px",0';mxEvent.addListener(t,"click",function(a){if(h.isEnabled()){h.model.beginUpdate();try{var b=h.model.root.getIndex(v);h.removeCells([v], -!1);0==h.model.getChildCount(h.model.root)?(h.model.add(h.model.root,new mxCell),h.setDefaultParent(null)):0'; +"dblclick",function(a){var b=mxEvent.getSource(a).nodeName;"INPUT"!=b&&"IMG"!=b&&(f(c),mxEvent.consume(a))});h.getDefaultParent()==c?(e.style.background="white"==Dialog.backdropColor?"#e6eff8":"#505759",e.style.fontWeight=h.isEnabled()?"bold":"",u=c):mxEvent.addListener(e,"click",function(a){h.isEnabled()&&(h.setDefaultParent(d),h.view.setCurrentRoot(null))});n.appendChild(e)}q=h.model.getChildCount(h.model.root);n.innerHTML="";for(var b=q-1;0<=b;b--)mxUtils.bind(this,function(c){a(b,h.convertValueToString(c)|| +mxResources.get("background"),c,c)})(h.model.getChildAt(h.model.root,b));var c=h.convertValueToString(u)||mxResources.get("background");r.setAttribute("title",mxResources.get("removeIt",[c]));x.setAttribute("title",mxResources.get("duplicateIt",[c]));v.setAttribute("title",mxResources.get("editData"));h.isSelectionEmpty()&&(w.className="geButton mxDisabled")}var h=a.editor.graph,k=document.createElement("div");k.style.userSelect="none";k.style.background="white"==Dialog.backdropColor?"whiteSmoke": +Dialog.backdropColor;k.style.border="1px solid whiteSmoke";k.style.height="100%";k.style.marginBottom="10px";k.style.overflow="auto";var l=EditorUi.compactUi?"26px":"30px",n=document.createElement("div");n.style.backgroundColor="white"==Dialog.backdropColor?"#dcdcdc":Dialog.backdropColor;n.style.position="absolute";n.style.overflow="auto";n.style.left="0px";n.style.right="0px";n.style.top="0px";n.style.bottom=parseInt(l)+7+"px";k.appendChild(n);var m=null,p=null;mxEvent.addListener(k,"dragover",function(a){a.dataTransfer.dropEffect= +"move";p=0;a.stopPropagation();a.preventDefault()});mxEvent.addListener(k,"drop",function(a){a.stopPropagation();a.preventDefault()});var q=null,u=null,t=document.createElement("div");t.className="geToolbarContainer";t.style.position="absolute";t.style.bottom="0px";t.style.left="0px";t.style.right="0px";t.style.height=l;t.style.overflow="hidden";t.style.padding=EditorUi.compactUi?"4px 0px 3px 0px":"1px";t.style.backgroundColor="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;t.style.borderWidth= +"1px 0px 0px 0px";t.style.borderColor="#c3c3c3";t.style.borderStyle="solid";t.style.display="block";t.style.whiteSpace="nowrap";mxClient.IS_QUIRKS&&(t.style.filter="none");l=document.createElement("a");l.className="geButton";mxClient.IS_QUIRKS&&(l.style.filter="none");var r=l.cloneNode();r.innerHTML='
';mxEvent.addListener(r,"click",function(a){if(h.isEnabled()){h.model.beginUpdate();try{var b=h.model.root.getIndex(u);h.removeCells([u], +!1);0==h.model.getChildCount(h.model.root)?(h.model.add(h.model.root,new mxCell),h.setDefaultParent(null)):0'; mxEvent.addListener(w,"click",function(b){if(h.isEnabled()&&!h.isSelectionEmpty()){var c=mxUtils.getOffset(w);a.showPopupMenu(mxUtils.bind(this,function(a,b){for(var c=q-1;0<=c;c--)mxUtils.bind(this,function(c){var d=a.addItem(h.convertValueToString(c)||mxResources.get("background"),null,mxUtils.bind(this,function(){h.moveCells(h.getSelectionCells(),0,0,!1,c)}),b);1==h.getSelectionCount()&&h.model.isAncestor(c,h.getSelectionCell())&&a.addCheckmark(d,Editor.checkmarkImage)})(h.model.getChildAt(h.model.root, -c))}),c.x,c.y+w.offsetHeight,b)}});u.appendChild(w);var r=l.cloneNode();r.innerHTML='
';r.setAttribute("title",mxResources.get("rename"));mxEvent.addListener(r,"click",function(b){h.isEnabled()&&a.showDataDialog(v);mxEvent.consume(b)});h.isEnabled()||(r.className="geButton mxDisabled");u.appendChild(r);var A=l.cloneNode();A.innerHTML='
';mxEvent.addListener(A, -"click",function(a){if(h.isEnabled()){a=null;h.model.beginUpdate();try{a=h.cloneCell(v),h.cellLabelChanged(a,mxResources.get("untitledLayer")),a.setVisible(!0),a=h.addCell(a,h.model.root),h.setDefaultParent(a)}finally{h.model.endUpdate()}null==a||h.isCellLocked(a)||h.selectAll(a)}});h.isEnabled()||(A.className="geButton mxDisabled");u.appendChild(A);l=l.cloneNode();l.innerHTML='
';l.setAttribute("title",mxResources.get("addLayer")); -mxEvent.addListener(l,"click",function(a){if(h.isEnabled()){h.model.beginUpdate();try{var b=h.addCell(new mxCell(mxResources.get("untitledLayer")),h.model.root);h.setDefaultParent(b)}finally{h.model.endUpdate()}}mxEvent.consume(a)});h.isEnabled()||(l.className="geButton mxDisabled");u.appendChild(l);k.appendChild(u);g();h.model.addListener(mxEvent.CHANGE,g);h.addListener("defaultParentChanged",g);h.selectionModel.addListener(mxEvent.CHANGE,function(){h.isSelectionEmpty()?w.className="geButton mxDisabled": +c))}),c.x,c.y+w.offsetHeight,b)}});t.appendChild(w);var v=l.cloneNode();v.innerHTML='
';v.setAttribute("title",mxResources.get("rename"));mxEvent.addListener(v,"click",function(b){h.isEnabled()&&a.showDataDialog(u);mxEvent.consume(b)});h.isEnabled()||(v.className="geButton mxDisabled");t.appendChild(v);var x=l.cloneNode();x.innerHTML='
';mxEvent.addListener(x, +"click",function(a){if(h.isEnabled()){a=null;h.model.beginUpdate();try{a=h.cloneCell(u),h.cellLabelChanged(a,mxResources.get("untitledLayer")),a.setVisible(!0),a=h.addCell(a,h.model.root),h.setDefaultParent(a)}finally{h.model.endUpdate()}null==a||h.isCellLocked(a)||h.selectAll(a)}});h.isEnabled()||(x.className="geButton mxDisabled");t.appendChild(x);l=l.cloneNode();l.innerHTML='
';l.setAttribute("title",mxResources.get("addLayer")); +mxEvent.addListener(l,"click",function(a){if(h.isEnabled()){h.model.beginUpdate();try{var b=h.addCell(new mxCell(mxResources.get("untitledLayer")),h.model.root);h.setDefaultParent(b)}finally{h.model.endUpdate()}}mxEvent.consume(a)});h.isEnabled()||(l.className="geButton mxDisabled");t.appendChild(l);k.appendChild(t);g();h.model.addListener(mxEvent.CHANGE,g);h.addListener("defaultParentChanged",g);h.selectionModel.addListener(mxEvent.CHANGE,function(){h.isSelectionEmpty()?w.className="geButton mxDisabled": w.className="geButton"});this.window=new mxWindow(mxResources.get("layers"),k,c,b,d,e,!0,!0);this.window.minimumSize=new mxRectangle(0,0,120,120);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0);this.init=function(){n.scrollTop=n.scrollHeight-n.clientHeight};this.window.addListener(mxEvent.SHOW,mxUtils.bind(this,function(){this.window.fit()}));this.refreshLayers=g;this.window.setLocation=function(a,b){var c= -window.innerHeight||document.body.clientHeight||document.documentElement.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.body.clientWidth||document.documentElement.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};var x=mxUtils.bind(this,function(){var a=this.window.getX(),b=this.window.getY();this.window.setLocation(a,b)});mxEvent.addListener(window,"resize", -x);this.destroy=function(){mxEvent.removeListener(window,"resize",x);this.window.destroy()}}; +window.innerHeight||document.body.clientHeight||document.documentElement.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.body.clientWidth||document.documentElement.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};var B=mxUtils.bind(this,function(){var a=this.window.getX(),b=this.window.getY();this.window.setLocation(a,b)});mxEvent.addListener(window,"resize", +B);this.destroy=function(){mxEvent.removeListener(window,"resize",B);this.window.destroy()}}; (function(){Sidebar.prototype.tagIndex="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"; Sidebar.prototype.searchIndexData="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"; Sidebar.prototype.gearImage=GRAPH_IMAGE_PATH+"/clipart/Gear_128x128.png";Sidebar.prototype.libAliases={aws2:"aws3",gcp:"gcp2"};Sidebar.prototype.defaultEntries="general;uml;er;bpmn;flowchart;basic;arrows2";Sidebar.prototype.signs="Animals Food Healthcare Nature People Safety Science Sports Tech Transportation Travel".split(" ");Sidebar.prototype.ibm="Analytics Applications Blockchain Data DevOps Infrastructure Management Miscellaneous Security Social Users VPC Boxes Connectors".split(" ");Sidebar.prototype.allied_telesis= @@ -9496,25 +9499,25 @@ DrawioFile.prototype.allChangesSavedKey="allChangesSaved";DrawioFile.prototype.s DrawioFile.prototype.data=null;DrawioFile.prototype.shadowData=null;DrawioFile.prototype.shadowPages=null;DrawioFile.prototype.changeListenerEnabled=!0;DrawioFile.prototype.lastAutosaveRevision=null;DrawioFile.prototype.maxAutosaveRevisionDelay=3E5;DrawioFile.prototype.inConflictState=!1;DrawioFile.prototype.invalidChecksum=!1;DrawioFile.prototype.errorReportsEnabled=!1;DrawioFile.prototype.ageStart=null;DrawioFile.prototype.getSize=function(){return null!=this.data?this.data.length:0}; DrawioFile.prototype.synchronizeFile=function(a,d){this.savingFile?null!=d&&d({message:mxResources.get("busy")}):null!=this.sync?this.sync.fileChanged(a,d):this.updateFile(a,d)}; DrawioFile.prototype.updateFile=function(a,d,b,c){null!=b&&b()||(this.ui.getCurrentFile()!=this||this.invalidChecksum?null!=d&&d():this.getLatestVersion(mxUtils.bind(this,function(g){try{null!=b&&b()||(this.ui.getCurrentFile()!=this||this.invalidChecksum?null!=d&&d():null!=g?this.mergeFile(g,a,d,c):this.reloadFile(a,d))}catch(f){null!=d&&d(f)}}),d))}; -DrawioFile.prototype.mergeFile=function(a,d,b,c){var g=!0;try{this.stats.fileMerged++;var f=null!=this.shadowPages?this.shadowPages:this.ui.getPagesForNode(mxUtils.parseXml(this.shadowData).documentElement),l=this.ui.getPagesForNode(mxUtils.parseXml(a.data).documentElement);if(null!=l&&0b?a=a.substring(0,b)+"[...]":null!=a&&a.length>d&&(a=Graph.compress(a)+"\n");return a}; DrawioFile.prototype.checksumError=function(a,d,b,c,g){this.stats.checksumErrors++;this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged();null!=this.sync&&this.sync.updateOnlineState();null!=a&&a();try{if(this.errorReportsEnabled){if(null!=d)for(a=0;amxUtils.indexOf(this.ui.pages,this.ui.currentPage)&&this.ui.selectPage(this.ui.pages[0],!0)}finally{l.container.style.visibility="";l.model.endUpdate();l.cellRenderer.redraw=m;this.changeListenerEnabled=n;b||(c.history=g,c.indexOfNextAdd=f,c.fireEvent(new mxEventObject(mxEvent.CLEAR)));if(null==this.ui.currentPage||this.ui.currentPage.needsUpdate)k!= -l.mathEnabled?(this.ui.editor.updateGraphComponents(),l.refresh()):(e!=l.foldingEnabled?l.view.revalidate():l.view.validate(),l.sizeDidChange());this.ui.updateTabContainer()}}; -DrawioFile.prototype.save=function(a,d,b,c,g,f){try{if(this.isEditable())if(!g&&this.invalidChecksum)if(null!=b)b({message:mxResources.get("checksum")});else throw Error(mxResources.get("checksum"));else this.updateFileData(),this.clearAutosave(),null!=d&&d();else if(null!=b)b({message:mxResources.get("readOnly")});else throw Error(mxResources.get("readOnly"));}catch(l){if(null!=b)b(l);else throw l;}}; +DrawioFile.prototype.patch=function(a,d,b){var c=this.ui.editor.undoManager,g=c.history.slice(),f=c.indexOfNextAdd,m=this.ui.editor.graph;m.container.style.visibility="hidden";var n=this.changeListenerEnabled;this.changeListenerEnabled=b;var e=m.foldingEnabled,k=m.mathEnabled,l=m.cellRenderer.redraw;m.cellRenderer.redraw=function(a){a.view.graph.isEditing(a.cell)&&(a.view.graph.scrollCellToVisible(a.cell),a.view.graph.cellEditor.resize());l.apply(this,arguments)};m.model.beginUpdate();try{for(var p= +0;pmxUtils.indexOf(this.ui.pages,this.ui.currentPage)&&this.ui.selectPage(this.ui.pages[0],!0)}finally{m.container.style.visibility="";m.model.endUpdate();m.cellRenderer.redraw=l;this.changeListenerEnabled=n;b||(c.history=g,c.indexOfNextAdd=f,c.fireEvent(new mxEventObject(mxEvent.CLEAR)));if(null==this.ui.currentPage||this.ui.currentPage.needsUpdate)k!= +m.mathEnabled?(this.ui.editor.updateGraphComponents(),m.refresh()):(e!=m.foldingEnabled?m.view.revalidate():m.view.validate(),m.sizeDidChange());this.ui.updateTabContainer()}}; +DrawioFile.prototype.save=function(a,d,b,c,g,f){try{if(this.isEditable())if(!g&&this.invalidChecksum)if(null!=b)b({message:mxResources.get("checksum")});else throw Error(mxResources.get("checksum"));else this.updateFileData(),this.clearAutosave(),null!=d&&d();else if(null!=b)b({message:mxResources.get("readOnly")});else throw Error(mxResources.get("readOnly"));}catch(m){if(null!=b)b(m);else throw m;}}; DrawioFile.prototype.updateFileData=function(){this.setData(this.ui.getFileData(null,null,null,null,null,null,null,null,this,!this.isCompressed()))};DrawioFile.prototype.isCompressedStorage=function(){return!0};DrawioFile.prototype.isCompressed=function(){var a=null!=this.ui.fileNode?this.ui.fileNode.getAttribute("compressed"):null;return null!=a?"false"!=a:this.isCompressedStorage()&&Editor.compressXml};DrawioFile.prototype.saveAs=function(a,d,b){};DrawioFile.prototype.saveFile=function(a,d,b,c){}; DrawioFile.prototype.getPublicUrl=function(a){a(null)};DrawioFile.prototype.isRestricted=function(){return!1};DrawioFile.prototype.isModified=function(){return this.modified};DrawioFile.prototype.getShadowModified=function(){return this.shadowModified};DrawioFile.prototype.setShadowModified=function(a){this.shadowModified=a};DrawioFile.prototype.setModified=function(a){this.shadowModified=this.modified=a};DrawioFile.prototype.isAutosaveOptional=function(){return!1}; DrawioFile.prototype.isAutosave=function(){return!this.inConflictState&&this.ui.editor.autosave};DrawioFile.prototype.isRenamable=function(){return!1};DrawioFile.prototype.rename=function(a,d,b){};DrawioFile.prototype.isMovable=function(){return!1};DrawioFile.prototype.isTrashed=function(){return!1};DrawioFile.prototype.move=function(a,d,b){};DrawioFile.prototype.share=function(){this.ui.alert(mxResources.get("sharingAvailable"),null,380)};DrawioFile.prototype.getHash=function(){return""}; @@ -9551,7 +9554,7 @@ function(){this.ui.editor.setStatus(mxUtils.htmlEntities(mxResources.get("updati DrawioFile.prototype.fileChanged=function(){this.lastChanged=new Date;this.setModified(!0);this.isAutosave()?(null!=this.savingStatusKey&&this.addAllSavedStatus(mxUtils.htmlEntities(mxResources.get(this.savingStatusKey))+"..."),this.ui.scheduleSanityCheck(),null==this.ageStart&&(this.ageStart=new Date),this.autosave(this.autosaveDelay,this.maxAutosaveDelay,mxUtils.bind(this,function(a){this.ui.stopSanityCheck();null==this.autosaveThread?(this.handleFileSuccess(!0),this.ageStart=null):this.isModified()&& (this.ui.scheduleSanityCheck(),this.ageStart=this.lastChanged)}),mxUtils.bind(this,function(a){this.handleFileError(a)}))):(this.ageStart=null,this.isAutosaveOptional()&&this.ui.editor.autosave||this.inConflictState||this.addUnsavedStatus())};DrawioFile.prototype.createSecret=function(a){var d=Editor.guid(32);null!=this.sync?this.sync.createToken(d,mxUtils.bind(this,function(b){a(d,b)}),mxUtils.bind(this,function(){a(d)})):a(d)}; DrawioFile.prototype.fileSaved=function(a,d,b,c,g){this.lastSaved=new Date;this.ageStart=null;try{this.stats.saved++,this.invalidChecksum=this.inConflictState=!1,null==this.sync?(this.shadowData=a,this.shadowPages=null,null!=b&&b()):this.sync.fileSaved(this.ui.getPagesForNode(mxUtils.parseXml(a).documentElement),d,b,c,g)}catch(n){this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged();null!=c&&c(n);try{if(this.errorReportsEnabled)this.sendErrorReport("Error in fileSaved",null,n);else{var f= -this.getCurrentUser(),l=null!=f?f.id:"unknown";EditorUi.logError("Error in fileSaved",null,this.getMode()+"."+this.getId(),l,n)}}catch(e){}}}; +this.getCurrentUser(),m=null!=f?f.id:"unknown";EditorUi.logError("Error in fileSaved",null,this.getMode()+"."+this.getId(),m,n)}}catch(e){}}}; DrawioFile.prototype.autosave=function(a,d,b,c){null==this.lastAutosave&&(this.lastAutosave=Date.now());a=Date.now()-this.lastAutosavethis.maxAutosaveRevisionDelay};DrawioFile.prototype.descriptorChanged=function(){this.fireEvent(new mxEventObject("descriptorChanged"))};DrawioFile.prototype.contentChanged=function(){this.fireEvent(new mxEventObject("contentChanged"))}; @@ -9560,347 +9563,346 @@ DrawioFile.prototype.removeListeners=function(){null!=this.changeListener&&(this DrawioFile.prototype.commentsRefreshNeeded=function(){return!0};DrawioFile.prototype.commentsSaveNeeded=function(){return!1};DrawioFile.prototype.getComments=function(a,d){a([])};DrawioFile.prototype.addComment=function(a,d,b){d(Date.now())};DrawioFile.prototype.canReplyToReplies=function(){return!0};DrawioFile.prototype.canComment=function(){return!0};DrawioFile.prototype.newComment=function(a,d){return new DrawioComment(this,null,a,Date.now(),Date.now(),!1,d)};LocalFile=function(a,d,b,c,g,f){DrawioFile.call(this,a,d);this.title=b;this.mode=c?null:App.MODE_DEVICE;this.fileHandle=g;this.desc=f};mxUtils.extend(LocalFile,DrawioFile);LocalFile.prototype.isAutosave=function(){return null!=this.fileHandle&&!this.invalidFileHandle&&DrawioFile.prototype.isAutosave.apply(this,arguments)};LocalFile.prototype.isAutosaveOptional=function(){return null!=this.fileHandle};LocalFile.prototype.getMode=function(){return this.mode};LocalFile.prototype.getTitle=function(){return this.title}; LocalFile.prototype.isRenamable=function(){return!0};LocalFile.prototype.save=function(a,d,b){this.saveAs(this.title,d,b)};LocalFile.prototype.saveAs=function(a,d,b){this.saveFile(a,!1,d,b)};LocalFile.prototype.saveAs=function(a,d,b){this.saveFile(a,!1,d,b)};LocalFile.prototype.getDescriptor=function(){return this.desc};LocalFile.prototype.setDescriptor=function(a){this.desc=a}; LocalFile.prototype.getLatestVersion=function(a,d){null==this.fileHandle?a(null):this.ui.loadFileSystemEntry(this.fileHandle,a,d)}; -LocalFile.prototype.saveFile=function(a,d,b,c,g){a!=this.title&&(this.desc=this.fileHandle=null);this.title=a;g||this.updateFileData();var f=this.ui.useCanvasForExport&&/(\.png)$/i.test(this.getTitle());this.setShadowModified(!1);var l=this.getData(),n=mxUtils.bind(this,function(){this.setModified(this.getShadowModified());this.contentChanged();null!=b&&b()}),e=mxUtils.bind(this,function(e){if(null!=this.fileHandle){if(!this.savingFile){this.savingFileTime=new Date;this.savingFile=!0;var b=mxUtils.bind(this, -function(a){this.savingFile=!1;null!=c&&c({error:a})});this.fileHandle.createWritable().then(mxUtils.bind(this,function(a){this.fileHandle.getFile().then(mxUtils.bind(this,function(c){this.invalidFileHandle=null;this.desc.lastModified==c.lastModified?a.write(f?this.ui.base64ToBlob(e,"image/png"):e).then(mxUtils.bind(this,function(){a.close().then(mxUtils.bind(this,function(){this.fileHandle.getFile().then(mxUtils.bind(this,function(a){var e=this.desc;this.savingFile=!1;this.desc=a;this.fileSaved(l, +LocalFile.prototype.saveFile=function(a,d,b,c,g){a!=this.title&&(this.desc=this.fileHandle=null);this.title=a;g||this.updateFileData();var f=this.ui.useCanvasForExport&&/(\.png)$/i.test(this.getTitle());this.setShadowModified(!1);var m=this.getData(),n=mxUtils.bind(this,function(){this.setModified(this.getShadowModified());this.contentChanged();null!=b&&b()}),e=mxUtils.bind(this,function(e){if(null!=this.fileHandle){if(!this.savingFile){this.savingFileTime=new Date;this.savingFile=!0;var b=mxUtils.bind(this, +function(a){this.savingFile=!1;null!=c&&c({error:a})});this.fileHandle.createWritable().then(mxUtils.bind(this,function(a){this.fileHandle.getFile().then(mxUtils.bind(this,function(c){this.invalidFileHandle=null;this.desc.lastModified==c.lastModified?a.write(f?this.ui.base64ToBlob(e,"image/png"):e).then(mxUtils.bind(this,function(){a.close().then(mxUtils.bind(this,function(){this.fileHandle.getFile().then(mxUtils.bind(this,function(a){var e=this.desc;this.savingFile=!1;this.desc=a;this.fileSaved(m, e,n,b)}),b)}),b)}),b):(this.inConflictState=!0,b())}),mxUtils.bind(this,function(a){this.invalidFileHandle=!0;b(a)}))}),b)}}else{if(this.ui.isOfflineApp()||this.ui.isLocalFileSave())this.ui.doSaveLocalFile(e,a,f?"image/png":"text/xml",f);else if(e.length"===g.substring(0,12)),l=(null==a||"L"==a)&&""===g.substring(0,11);(f||l)&&d.push({title:c,type:f?"F":"L",size:g.length,lastModified:Date.now()})}}return d}; +StorageFile.listLocalStorageFiles=function(a){for(var d=[],b=0;b"===g.substring(0,12)),m=(null==a||"L"==a)&&""===g.substring(0,11);(f||m)&&d.push({title:c,type:f?"F":"L",size:g.length,lastModified:Date.now()})}}return d}; StorageFile.migrate=function(a){var d=StorageFile.listLocalStorageFiles();d.push({title:".scratchpad",type:"L"});var b=a.transaction(["files","filesInfo"],"readwrite");a=b.objectStore("files");for(var b=b.objectStore("filesInfo"),c=0;cb&&(mxUtils.br(n),l=0);var p=document.createElement("a");p.style.overflow="hidden";p.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";p.className="geBaseButton";p.style.boxSizing="border-box";p.style.fontSize="11px";p.style.position="relative";p.style.margin="4px";p.style.marginTop="8px";p.style.marginBottom="0px";p.style.padding="8px 10px 8px 10px";p.style.width="88px";p.style.height="100px";p.style.whiteSpace= +var StorageDialog=function(a,d,b){function c(c,k,f,g,q,v){function l(){mxEvent.addListener(p,"click",null!=v?v:function(){f!=App.MODE_GOOGLE||a.isDriveDomain()?f==App.MODE_GOOGLE&&a.spinner.spin(document.body,mxResources.get("authorizing"))?a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();a.setMode(f,!0);d()})):f==App.MODE_ONEDRIVE&&a.spinner.spin(document.body,mxResources.get("authorizing"))?a.oneDrive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();a.setMode(f,!0);d()})): +(a.setMode(f,!0),d()):window.location.hostname=DriveClient.prototype.newAppHostname})}++m>b&&(mxUtils.br(n),m=0);var p=document.createElement("a");p.style.overflow="hidden";p.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";p.className="geBaseButton";p.style.boxSizing="border-box";p.style.fontSize="11px";p.style.position="relative";p.style.margin="4px";p.style.marginTop="8px";p.style.marginBottom="0px";p.style.padding="8px 10px 8px 10px";p.style.width="88px";p.style.height="100px";p.style.whiteSpace= "nowrap";p.setAttribute("title",k);mxClient.IS_QUIRKS&&(p.style.cssFloat="left",p.style.zoom="1");var t=document.createElement("div");t.style.textOverflow="ellipsis";t.style.overflow="hidden";t.style.position="absolute";t.style.bottom="8px";t.style.left="0px";t.style.right="0px";mxUtils.write(t,k);p.appendChild(t);if(null!=c){var u=document.createElement("img");u.setAttribute("src",c);u.setAttribute("border","0");u.setAttribute("align","absmiddle");u.style.width="60px";u.style.height="60px";u.style.paddingBottom= -"6px";p.appendChild(u)}else t.style.paddingTop="5px",t.style.whiteSpace="normal",mxClient.IS_IOS?(p.style.padding="0px 10px 20px 10px",p.style.top="6px"):mxClient.IS_FF&&(t.style.paddingTop="0px",t.style.marginTop="-2px");if(null!=q)for(c=0;c '+mxResources.get("googleDriveMissingClickHere")+"",g.appendChild(e))},5E3);this.container=g},SplashDialog=function(a){var d=document.createElement("div");d.style.textAlign="center";if(mxClient.IS_CHROMEAPP|| EditorUi.isElectronApp){var b=a.addLanguageMenu(d,!0);null!=b&&(b.style.bottom="19px")}a.getServiceCount();var c=document.createElement("img");c.setAttribute("border","0");c.setAttribute("align","absmiddle");c.style.width="32px";c.style.height="32px";c.style.marginRight="8px";c.style.marginTop="-4px";var g=document.createElement("div");g.style.margin="8px 0px 0px 0px";g.style.padding="18px 0px 24px 0px";b="";a.mode==App.MODE_GOOGLE?(c.src=IMAGE_PATH+"/google-drive-logo.svg",b=mxResources.get("googleDrive")): a.mode==App.MODE_DROPBOX?(c.src=IMAGE_PATH+"/dropbox-logo.svg",b=mxResources.get("dropbox")):a.mode==App.MODE_ONEDRIVE?(c.src=IMAGE_PATH+"/onedrive-logo.svg",b=mxResources.get("oneDrive")):a.mode==App.MODE_GITHUB?(c.src=IMAGE_PATH+"/github-logo.svg",b=mxResources.get("github")):a.mode==App.MODE_GITLAB?(c.src=IMAGE_PATH+"/gitlab-logo.svg",b=mxResources.get("gitlab")):a.mode==App.MODE_BROWSER?(c.src=IMAGE_PATH+"/osa_database.png",b=mxResources.get("browser")):a.mode==App.MODE_TRELLO?(c.src=IMAGE_PATH+ "/trello-logo.svg",b=mxResources.get("trello")):(c.src=IMAGE_PATH+"/osa_drive-harddisk.png",g.style.paddingBottom="10px",g.style.paddingTop="30px",b=mxResources.get("device"));var f=document.createElement("button");f.className="geBigButton";f.style.marginBottom="8px";f.style.fontSize="18px";f.style.padding="10px";f.style.width="340px";if(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)g.style.padding="42px 0px 56px 0px",f.style.marginBottom="12px";else{g.style.border="1px solid #d3d3d3";g.style.borderWidth= -"1px 0px 1px 0px";var l=document.createElement("table"),n=document.createElement("tbody"),e=document.createElement("tr"),k=document.createElement("td"),m=document.createElement("td");l.setAttribute("align","center");k.appendChild(c);c=document.createElement("div");c.style.fontSize="22px";c.style.paddingBottom="6px";c.style.color="gray";mxUtils.write(c,b);m.style.textAlign="left";m.appendChild(c);e.appendChild(k);e.appendChild(m);n.appendChild(e);l.appendChild(n);d.appendChild(l);b=document.createElement("span"); +"1px 0px 1px 0px";var m=document.createElement("table"),n=document.createElement("tbody"),e=document.createElement("tr"),k=document.createElement("td"),l=document.createElement("td");m.setAttribute("align","center");k.appendChild(c);c=document.createElement("div");c.style.fontSize="22px";c.style.paddingBottom="6px";c.style.color="gray";mxUtils.write(c,b);l.style.textAlign="left";l.appendChild(c);e.appendChild(k);e.appendChild(l);n.appendChild(e);m.appendChild(n);d.appendChild(m);b=document.createElement("span"); b.style.cssText="position:absolute;cursor:pointer;bottom:27px;color:gray;userSelect:none;text-align:center;left:50%;";mxUtils.setPrefixedStyle(b.style,"transform","translate(-50%,0)");mxUtils.write(b,mxResources.get("changeStorage"));mxEvent.addListener(b,"click",function(){a.hideDialog(!1);a.setMode(null);a.clearMode();a.showSplash(!0)});d.appendChild(b)}mxClient.IS_QUIRKS&&(g.style.whiteSpace="nowrap",g.style.cssFloat="left");mxClient.IS_QUIRKS&&(f.style.width="340px");mxUtils.write(f,mxResources.get("createNewDiagram")); mxEvent.addListener(f,"click",function(){a.hideDialog();a.actions.get("new").funct()});g.appendChild(f);mxUtils.br(g);f=document.createElement("button");f.className="geBigButton";f.style.marginBottom="22px";f.style.fontSize="18px";f.style.padding="10px";f.style.width="340px";mxClient.IS_QUIRKS&&(f.style.width="340px");mxUtils.write(f,mxResources.get("openExistingDiagram"));mxEvent.addListener(f,"click",function(){a.actions.get("open").funct()});g.appendChild(f);a.mode==App.MODE_GOOGLE?mxResources.get("googleDrive"): a.mode==App.MODE_DROPBOX?mxResources.get("dropbox"):a.mode==App.MODE_ONEDRIVE?mxResources.get("oneDrive"):a.mode==App.MODE_GITHUB?mxResources.get("github"):a.mode==App.MODE_GITLAB?mxResources.get("gitlab"):a.mode==App.MODE_TRELLO?mxResources.get("trello"):a.mode==App.MODE_DEVICE?mxResources.get("device"):a.mode==App.MODE_BROWSER&&mxResources.get("browser");if(!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp)if(b=function(e){f.style.marginBottom="24px";var b=document.createElement("a");b.style.display= "inline-block";b.style.color="gray";b.style.cursor="pointer";b.style.marginTop="6px";mxUtils.write(b,mxResources.get("signOut"));f.style.marginBottom="16px";g.style.paddingBottom="18px";mxEvent.addListener(b,"click",function(){a.confirm(mxResources.get("areYouSure"),function(){e()})});g.appendChild(b)},a.mode==App.MODE_GOOGLE&&null!=a.drive){var p=a.drive.getUsersList();if(0"),l.setAttribute("disabled","disabled"),u.appendChild(l);l=document.createElement("option");mxUtils.write(l,mxResources.get("addAccount"));l.value= -p.length;u.appendChild(l);mxEvent.addListener(u,"change",function(){var e=u.value,b=p.length!=e;b&&a.drive.setUser(p[e]);a.drive.authorize(b,function(){a.setMode(App.MODE_GOOGLE);a.hideDialog();a.showSplash()},function(e){a.handleError(e,null,function(){a.hideDialog();a.showSplash()})},!0)});g.appendChild(u)}else b(function(){a.drive.logout()})}else a.mode!=App.MODE_ONEDRIVE||null==a.oneDrive||a.oneDrive.noLogout?a.mode==App.MODE_GITHUB&&null!=a.gitHub?b(function(){a.gitHub.logout();a.openLink("https://www.github.com/logout")}): -a.mode==App.MODE_GITLAB&&null!=a.gitLab?b(function(){a.gitLab.logout();a.openLink(DRAWIO_GITLAB_URL+"/users/sign_out")}):a.mode==App.MODE_TRELLO&&null!=a.trello?a.trello.isAuthorized()&&b(function(){a.trello.logout()}):a.mode==App.MODE_DROPBOX&&null!=a.dropbox&&b(function(){a.dropbox.logout();a.openLink("https://www.dropbox.com/logout")}):b(function(){a.oneDrive.logout()});d.appendChild(g);this.container=d},EmbedDialog=function(a,d,b,c,g,f,l){l=null!=l?l:"Check out the diagram I made using @drawio"; +"16px";g.style.paddingBottom="18px";g.appendChild(c);var u=document.createElement("select");u.style.marginLeft="4px";u.style.width="140px";for(b=0;b"),m.setAttribute("disabled","disabled"),u.appendChild(m);m=document.createElement("option");mxUtils.write(m,mxResources.get("addAccount"));m.value= +p.length;u.appendChild(m);mxEvent.addListener(u,"change",function(){var e=u.value,b=p.length!=e;b&&a.drive.setUser(p[e]);a.drive.authorize(b,function(){a.setMode(App.MODE_GOOGLE);a.hideDialog();a.showSplash()},function(e){a.handleError(e,null,function(){a.hideDialog();a.showSplash()})},!0)});g.appendChild(u)}else b(function(){a.drive.logout()})}else a.mode!=App.MODE_ONEDRIVE||null==a.oneDrive||a.oneDrive.noLogout?a.mode==App.MODE_GITHUB&&null!=a.gitHub?b(function(){a.gitHub.logout();a.openLink("https://www.github.com/logout")}): +a.mode==App.MODE_GITLAB&&null!=a.gitLab?b(function(){a.gitLab.logout();a.openLink(DRAWIO_GITLAB_URL+"/users/sign_out")}):a.mode==App.MODE_TRELLO&&null!=a.trello?a.trello.isAuthorized()&&b(function(){a.trello.logout()}):a.mode==App.MODE_DROPBOX&&null!=a.dropbox&&b(function(){a.dropbox.logout();a.openLink("https://www.dropbox.com/logout")}):b(function(){a.oneDrive.logout()});d.appendChild(g);this.container=d},EmbedDialog=function(a,d,b,c,g,f,m){m=null!=m?m:"Check out the diagram I made using @drawio"; c=document.createElement("div");var n=/^https?:\/\//.test(d)||/^mailto:\/\//.test(d);null!=f?mxUtils.write(c,f):mxUtils.write(c,mxResources.get(5E5>d.length?n?"link":"mainEmbedNotice":"preview")+":");mxUtils.br(c);f=document.createElement("div");f.style.position="absolute";f.style.top="30px";f.style.right="30px";f.style.color="gray";mxUtils.write(f,a.formatFileSize(d.length));c.appendChild(f);var e=document.createElement("textarea");e.setAttribute("autocomplete","off");e.setAttribute("autocorrect", "off");e.setAttribute("autocapitalize","off");e.setAttribute("spellcheck","false");e.style.fontFamily="monospace";e.style.wordBreak="break-all";e.style.marginTop="10px";e.style.resize="none";e.style.height="150px";e.style.width="440px";e.style.border="1px solid gray";e.value=mxResources.get("updatingDocument");c.appendChild(e);mxUtils.br(c);this.init=function(){window.setTimeout(function(){5E5>d.length?(e.value=d,e.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS? e.select():document.execCommand("selectAll",!1,null)):(e.setAttribute("readonly","true"),e.value=mxResources.get("tooLargeUseDownload"))},0)};f=document.createElement("div");f.style.position="absolute";f.style.bottom="36px";f.style.right="32px";var k=null;!EmbedDialog.showPreviewOption||mxClient.IS_CHROMEAPP&&!n||navigator.standalone||!(n||mxClient.IS_SVG&&(null==document.documentMode||9d.length?"preview":"openInNewWindow"),function(){var c= -5E5>d.length?e.value:d;if(null!=g)g(c);else if(n)try{var k=a.openLink(c);null!=k&&(null==b||0"+encodeURIComponent(mxResources.get("preview"))+ -''+d+""),m.close()):a.handleError({message:mxResources.get("errorUpdatingPreview")})}}),k.className="geBtn",f.appendChild(k));if(!n||7500d.length){var p=mxUtils.button("",function(){try{var b="https://www.facebook.com/sharer.php?p[url]="+ -encodeURIComponent(e.value);a.openLink(b)}catch(t){a.handleError({message:t.message||mxResources.get("drawingTooLarge")})}}),m=document.createElement("img");m.setAttribute("src",Editor.facebookImage);m.setAttribute("width","18");m.setAttribute("height","18");m.setAttribute("border","0");p.appendChild(m);p.setAttribute("title",mxResources.get("facebook")+" ("+a.formatFileSize(51200)+" max)");p.style.verticalAlign="bottom";p.style.paddingTop="4px";p.style.minWidth="46px";p.className="geBtn";f.appendChild(p)}7168> -d.length&&(p=mxUtils.button("",function(){try{var b="https://twitter.com/intent/tweet?text="+encodeURIComponent(l)+"&url="+encodeURIComponent(e.value);a.openLink(b)}catch(t){a.handleError({message:t.message||mxResources.get("drawingTooLarge")})}}),m=document.createElement("img"),m.setAttribute("src",Editor.tweetImage),m.setAttribute("width","18"),m.setAttribute("height","18"),m.setAttribute("border","0"),m.style.marginBottom="5px",p.appendChild(m),p.setAttribute("title",mxResources.get("twitter")+ -" ("+a.formatFileSize(7168)+" max)"),p.style.verticalAlign="bottom",p.style.paddingTop="4px",p.style.minWidth="46px",p.className="geBtn",f.appendChild(p))}m=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});f.appendChild(m);p=mxUtils.button(mxResources.get("copy"),function(){e.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?e.select():document.execCommand("selectAll",!1,null);document.execCommand("copy");a.alert(mxResources.get("copiedToClipboard"))}); -5E5>d.length?mxClient.IS_SF||null!=document.documentMode?m.className="geBtn gePrimaryBtn":(f.appendChild(p),p.className="geBtn gePrimaryBtn",m.className="geBtn"):(f.appendChild(k),m.className="geBtn",k.className="geBtn gePrimaryBtn");c.appendChild(f);this.container=c};EmbedDialog.showPreviewOption=!0; -var GoogleSitesDialog=function(a,d){function b(){var a=null!=F&&null!=F.getTitle()?F.getTitle():this.defaultFilename;if(B.checked&&""!=u.value){var b="https://www.draw.io/gadget.xml?type=4&diagram="+encodeURIComponent(mxUtils.htmlEntities(u.value));null!=a&&(b+="&title="+encodeURIComponent(a));0d.length?e.value:d;if(null!=g)g(c);else if(n)try{var k=a.openLink(c);null!=k&&(null==b||0"+encodeURIComponent(mxResources.get("preview"))+ +''+d+""),l.close()):a.handleError({message:mxResources.get("errorUpdatingPreview")})}}),k.className="geBtn",f.appendChild(k));if(!n||7500d.length){var p=mxUtils.button("",function(){try{var b="https://www.facebook.com/sharer.php?p[url]="+ +encodeURIComponent(e.value);a.openLink(b)}catch(t){a.handleError({message:t.message||mxResources.get("drawingTooLarge")})}}),l=document.createElement("img");l.setAttribute("src",Editor.facebookImage);l.setAttribute("width","18");l.setAttribute("height","18");l.setAttribute("border","0");p.appendChild(l);p.setAttribute("title",mxResources.get("facebook")+" ("+a.formatFileSize(51200)+" max)");p.style.verticalAlign="bottom";p.style.paddingTop="4px";p.style.minWidth="46px";p.className="geBtn";f.appendChild(p)}7168> +d.length&&(p=mxUtils.button("",function(){try{var b="https://twitter.com/intent/tweet?text="+encodeURIComponent(m)+"&url="+encodeURIComponent(e.value);a.openLink(b)}catch(t){a.handleError({message:t.message||mxResources.get("drawingTooLarge")})}}),l=document.createElement("img"),l.setAttribute("src",Editor.tweetImage),l.setAttribute("width","18"),l.setAttribute("height","18"),l.setAttribute("border","0"),l.style.marginBottom="5px",p.appendChild(l),p.setAttribute("title",mxResources.get("twitter")+ +" ("+a.formatFileSize(7168)+" max)"),p.style.verticalAlign="bottom",p.style.paddingTop="4px",p.style.minWidth="46px",p.className="geBtn",f.appendChild(p))}l=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});f.appendChild(l);p=mxUtils.button(mxResources.get("copy"),function(){e.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?e.select():document.execCommand("selectAll",!1,null);document.execCommand("copy");a.alert(mxResources.get("copiedToClipboard"))}); +5E5>d.length?mxClient.IS_SF||null!=document.documentMode?l.className="geBtn gePrimaryBtn":(f.appendChild(p),p.className="geBtn gePrimaryBtn",l.className="geBtn"):(f.appendChild(k),l.className="geBtn",k.className="geBtn gePrimaryBtn");c.appendChild(f);this.container=c};EmbedDialog.showPreviewOption=!0; +var GoogleSitesDialog=function(a,d){function b(){var a=null!=E&&null!=E.getTitle()?E.getTitle():this.defaultFilename;if(A.checked&&""!=u.value){var b="https://www.draw.io/gadget.xml?type=4&diagram="+encodeURIComponent(mxUtils.htmlEntities(u.value));null!=a&&(b+="&title="+encodeURIComponent(a));0 Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: Another authentication Response\n@enduml"==e&&"svg"==g?window.setTimeout(function(){a.spinner.stop();k(e,g,"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBjb250ZW50U2NyaXB0VHlwZT0iYXBwbGljYXRpb24vZWNtYXNjcmlwdCIgY29udGVudFN0eWxlVHlwZT0idGV4dC9jc3MiIGhlaWdodD0iMjEycHgiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiIHN0eWxlPSJ3aWR0aDoyOTVweDtoZWlnaHQ6MjEycHg7IiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAyOTUgMjEyIiB3aWR0aD0iMjk1cHgiIHpvb21BbmRQYW49Im1hZ25pZnkiPjxkZWZzLz48Zz48bGluZSBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsgc3Ryb2tlLWRhc2hhcnJheTogNS4wLDUuMDsiIHgxPSIzMSIgeDI9IjMxIiB5MT0iMzQuNDg4MyIgeTI9IjE3MS43MzA1Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjA7IHN0cm9rZS1kYXNoYXJyYXk6IDUuMCw1LjA7IiB4MT0iMjY0LjUiIHgyPSIyNjQuNSIgeTE9IjM0LjQ4ODMiIHkyPSIxNzEuNzMwNSIvPjxyZWN0IGZpbGw9IiNGRUZFQ0UiIGhlaWdodD0iMzAuNDg4MyIgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjU7IiB3aWR0aD0iNDciIHg9IjgiIHk9IjMiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIzMyIgeD0iMTUiIHk9IjIzLjUzNTIiPkFsaWNlPC90ZXh0PjxyZWN0IGZpbGw9IiNGRUZFQ0UiIGhlaWdodD0iMzAuNDg4MyIgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjU7IiB3aWR0aD0iNDciIHg9IjgiIHk9IjE3MC43MzA1Ii8+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTQiIGxlbmd0aEFkanVzdD0ic3BhY2luZ0FuZEdseXBocyIgdGV4dExlbmd0aD0iMzMiIHg9IjE1IiB5PSIxOTEuMjY1NiI+QWxpY2U8L3RleHQ+PHJlY3QgZmlsbD0iI0ZFRkVDRSIgaGVpZ2h0PSIzMC40ODgzIiBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuNTsiIHdpZHRoPSI0MCIgeD0iMjQ0LjUiIHk9IjMiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIyNiIgeD0iMjUxLjUiIHk9IjIzLjUzNTIiPkJvYjwvdGV4dD48cmVjdCBmaWxsPSIjRkVGRUNFIiBoZWlnaHQ9IjMwLjQ4ODMiIHN0eWxlPSJzdHJva2U6ICNBODAwMzY7IHN0cm9rZS13aWR0aDogMS41OyIgd2lkdGg9IjQwIiB4PSIyNDQuNSIgeT0iMTcwLjczMDUiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIyNiIgeD0iMjUxLjUiIHk9IjE5MS4yNjU2Ij5Cb2I8L3RleHQ+PHBvbHlnb24gZmlsbD0iI0E4MDAzNiIgcG9pbnRzPSIyNTIuNSw2MS43OTg4LDI2Mi41LDY1Ljc5ODgsMjUyLjUsNjkuNzk4OCwyNTYuNSw2NS43OTg4IiBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsiIHgxPSIzMS41IiB4Mj0iMjU4LjUiIHkxPSI2NS43OTg4IiB5Mj0iNjUuNzk4OCIvPjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjEzIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmdBbmRHbHlwaHMiIHRleHRMZW5ndGg9IjE0NyIgeD0iMzguNSIgeT0iNjEuMDU2NiI+QXV0aGVudGljYXRpb24gUmVxdWVzdDwvdGV4dD48cG9seWdvbiBmaWxsPSIjQTgwMDM2IiBwb2ludHM9IjQyLjUsOTEuMTA5NCwzMi41LDk1LjEwOTQsNDIuNSw5OS4xMDk0LDM4LjUsOTUuMTA5NCIgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjA7IHN0cm9rZS1kYXNoYXJyYXk6IDIuMCwyLjA7IiB4MT0iMzYuNSIgeDI9IjI2My41IiB5MT0iOTUuMTA5NCIgeTI9Ijk1LjEwOTQiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMyIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIxNTciIHg9IjQ4LjUiIHk9IjkwLjM2NzIiPkF1dGhlbnRpY2F0aW9uIFJlc3BvbnNlPC90ZXh0Pjxwb2x5Z29uIGZpbGw9IiNBODAwMzYiIHBvaW50cz0iMjUyLjUsMTIwLjQxOTksMjYyLjUsMTI0LjQxOTksMjUyLjUsMTI4LjQxOTksMjU2LjUsMTI0LjQxOTkiIHN0eWxlPSJzdHJva2U6ICNBODAwMzY7IHN0cm9rZS13aWR0aDogMS4wOyIvPjxsaW5lIHN0eWxlPSJzdHJva2U6ICNBODAwMzY7IHN0cm9rZS13aWR0aDogMS4wOyIgeDE9IjMxLjUiIHgyPSIyNTguNSIgeTE9IjEyNC40MTk5IiB5Mj0iMTI0LjQxOTkiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMyIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIxOTkiIHg9IjM4LjUiIHk9IjExOS42Nzc3Ij5Bbm90aGVyIGF1dGhlbnRpY2F0aW9uIFJlcXVlc3Q8L3RleHQ+PHBvbHlnb24gZmlsbD0iI0E4MDAzNiIgcG9pbnRzPSI0Mi41LDE0OS43MzA1LDMyLjUsMTUzLjczMDUsNDIuNSwxNTcuNzMwNSwzOC41LDE1My43MzA1IiBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsgc3Ryb2tlLWRhc2hhcnJheTogMi4wLDIuMDsiIHgxPSIzNi41IiB4Mj0iMjYzLjUiIHkxPSIxNTMuNzMwNSIgeTI9IjE1My43MzA1Ii8+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTMiIGxlbmd0aEFkanVzdD0ic3BhY2luZ0FuZEdseXBocyIgdGV4dExlbmd0aD0iMjA5IiB4PSI0OC41IiB5PSIxNDguOTg4MyI+QW5vdGhlciBhdXRoZW50aWNhdGlvbiBSZXNwb25zZTwvdGV4dD48IS0tTUQ1PVs3ZjNlNGQwYzkwMWVmZGJjNTdlYjQ0MjQ5YTNiODE5N10KQHN0YXJ0dW1sDQpza2lucGFyYW0gc2hhZG93aW5nIGZhbHNlDQpBbGljZSAtPiBCb2I6IEF1dGhlbnRpY2F0aW9uIFJlcXVlc3QNCkJvYiAtIC0+IEFsaWNlOiBBdXRoZW50aWNhdGlvbiBSZXNwb25zZQ0KDQpBbGljZSAtPiBCb2I6IEFub3RoZXIgYXV0aGVudGljYXRpb24gUmVxdWVzdA0KQWxpY2UgPC0gLSBCb2I6IEFub3RoZXIgYXV0aGVudGljYXRpb24gUmVzcG9uc2UNCkBlbmR1bWwNCgpQbGFudFVNTCB2ZXJzaW9uIDEuMjAyMC4wMihTdW4gTWFyIDAxIDA0OjIyOjA3IENTVCAyMDIwKQooTUlUIHNvdXJjZSBkaXN0cmlidXRpb24pCkphdmEgUnVudGltZTogT3BlbkpESyBSdW50aW1lIEVudmlyb25tZW50CkpWTTogT3BlbkpESyA2NC1CaXQgU2VydmVyIFZNCkphdmEgVmVyc2lvbjogMTIrMzMKT3BlcmF0aW5nIFN5c3RlbTogTWFjIE9TIFgKRGVmYXVsdCBFbmNvZGluZzogVVRGLTgKTGFuZ3VhZ2U6IGVuCkNvdW50cnk6IFVTCi0tPjwvZz48L3N2Zz4=", -295,212)},200):a.generatePlantUmlImage(e,g,function(b,c,d){a.spinner.stop();k(e,g,b,c,d)},function(e){a.handleError(e)})}}else if("mermaid"==b)a.spinner.spin(document.body,mxResources.get("inserting"))&&(m=a.editor.graph,a.generateMermaidImage(e,g,function(b,d,k){f=mxEvent.isAltDown(c)?f:m.getCenterInsertPoint(new mxRectangle(0,0,d,k));a.spinner.stop();var g=null;m.getModel().beginUpdate();try{g=m.insertVertex(null,null,null,f.x,f.y,d,k,"shape=image;noLabel=1;verticalAlign=top;imageAspect=1;image="+ -b+";"),m.setAttributeForCell(g,"mermaidData",JSON.stringify({data:e,config:EditorUi.defaultMermaidConfig},null,2))}finally{m.getModel().endUpdate()}null!=g&&(m.setSelectionCell(g),m.scrollCellToVisible(g))},function(e){a.handleError(e)}));else if("table"==b){var p=null,t=[],u=0;for(b=0;b Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: Another authentication Response\n@enduml"==e&&"svg"==g?window.setTimeout(function(){a.spinner.stop();k(e,g,"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBjb250ZW50U2NyaXB0VHlwZT0iYXBwbGljYXRpb24vZWNtYXNjcmlwdCIgY29udGVudFN0eWxlVHlwZT0idGV4dC9jc3MiIGhlaWdodD0iMjEycHgiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiIHN0eWxlPSJ3aWR0aDoyOTVweDtoZWlnaHQ6MjEycHg7IiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAyOTUgMjEyIiB3aWR0aD0iMjk1cHgiIHpvb21BbmRQYW49Im1hZ25pZnkiPjxkZWZzLz48Zz48bGluZSBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsgc3Ryb2tlLWRhc2hhcnJheTogNS4wLDUuMDsiIHgxPSIzMSIgeDI9IjMxIiB5MT0iMzQuNDg4MyIgeTI9IjE3MS43MzA1Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjA7IHN0cm9rZS1kYXNoYXJyYXk6IDUuMCw1LjA7IiB4MT0iMjY0LjUiIHgyPSIyNjQuNSIgeTE9IjM0LjQ4ODMiIHkyPSIxNzEuNzMwNSIvPjxyZWN0IGZpbGw9IiNGRUZFQ0UiIGhlaWdodD0iMzAuNDg4MyIgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjU7IiB3aWR0aD0iNDciIHg9IjgiIHk9IjMiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIzMyIgeD0iMTUiIHk9IjIzLjUzNTIiPkFsaWNlPC90ZXh0PjxyZWN0IGZpbGw9IiNGRUZFQ0UiIGhlaWdodD0iMzAuNDg4MyIgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjU7IiB3aWR0aD0iNDciIHg9IjgiIHk9IjE3MC43MzA1Ii8+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTQiIGxlbmd0aEFkanVzdD0ic3BhY2luZ0FuZEdseXBocyIgdGV4dExlbmd0aD0iMzMiIHg9IjE1IiB5PSIxOTEuMjY1NiI+QWxpY2U8L3RleHQ+PHJlY3QgZmlsbD0iI0ZFRkVDRSIgaGVpZ2h0PSIzMC40ODgzIiBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuNTsiIHdpZHRoPSI0MCIgeD0iMjQ0LjUiIHk9IjMiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIyNiIgeD0iMjUxLjUiIHk9IjIzLjUzNTIiPkJvYjwvdGV4dD48cmVjdCBmaWxsPSIjRkVGRUNFIiBoZWlnaHQ9IjMwLjQ4ODMiIHN0eWxlPSJzdHJva2U6ICNBODAwMzY7IHN0cm9rZS13aWR0aDogMS41OyIgd2lkdGg9IjQwIiB4PSIyNDQuNSIgeT0iMTcwLjczMDUiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIyNiIgeD0iMjUxLjUiIHk9IjE5MS4yNjU2Ij5Cb2I8L3RleHQ+PHBvbHlnb24gZmlsbD0iI0E4MDAzNiIgcG9pbnRzPSIyNTIuNSw2MS43OTg4LDI2Mi41LDY1Ljc5ODgsMjUyLjUsNjkuNzk4OCwyNTYuNSw2NS43OTg4IiBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsiIHgxPSIzMS41IiB4Mj0iMjU4LjUiIHkxPSI2NS43OTg4IiB5Mj0iNjUuNzk4OCIvPjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjEzIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmdBbmRHbHlwaHMiIHRleHRMZW5ndGg9IjE0NyIgeD0iMzguNSIgeT0iNjEuMDU2NiI+QXV0aGVudGljYXRpb24gUmVxdWVzdDwvdGV4dD48cG9seWdvbiBmaWxsPSIjQTgwMDM2IiBwb2ludHM9IjQyLjUsOTEuMTA5NCwzMi41LDk1LjEwOTQsNDIuNSw5OS4xMDk0LDM4LjUsOTUuMTA5NCIgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjA7IHN0cm9rZS1kYXNoYXJyYXk6IDIuMCwyLjA7IiB4MT0iMzYuNSIgeDI9IjI2My41IiB5MT0iOTUuMTA5NCIgeTI9Ijk1LjEwOTQiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMyIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIxNTciIHg9IjQ4LjUiIHk9IjkwLjM2NzIiPkF1dGhlbnRpY2F0aW9uIFJlc3BvbnNlPC90ZXh0Pjxwb2x5Z29uIGZpbGw9IiNBODAwMzYiIHBvaW50cz0iMjUyLjUsMTIwLjQxOTksMjYyLjUsMTI0LjQxOTksMjUyLjUsMTI4LjQxOTksMjU2LjUsMTI0LjQxOTkiIHN0eWxlPSJzdHJva2U6ICNBODAwMzY7IHN0cm9rZS13aWR0aDogMS4wOyIvPjxsaW5lIHN0eWxlPSJzdHJva2U6ICNBODAwMzY7IHN0cm9rZS13aWR0aDogMS4wOyIgeDE9IjMxLjUiIHgyPSIyNTguNSIgeTE9IjEyNC40MTk5IiB5Mj0iMTI0LjQxOTkiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMyIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIxOTkiIHg9IjM4LjUiIHk9IjExOS42Nzc3Ij5Bbm90aGVyIGF1dGhlbnRpY2F0aW9uIFJlcXVlc3Q8L3RleHQ+PHBvbHlnb24gZmlsbD0iI0E4MDAzNiIgcG9pbnRzPSI0Mi41LDE0OS43MzA1LDMyLjUsMTUzLjczMDUsNDIuNSwxNTcuNzMwNSwzOC41LDE1My43MzA1IiBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsgc3Ryb2tlLWRhc2hhcnJheTogMi4wLDIuMDsiIHgxPSIzNi41IiB4Mj0iMjYzLjUiIHkxPSIxNTMuNzMwNSIgeTI9IjE1My43MzA1Ii8+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTMiIGxlbmd0aEFkanVzdD0ic3BhY2luZ0FuZEdseXBocyIgdGV4dExlbmd0aD0iMjA5IiB4PSI0OC41IiB5PSIxNDguOTg4MyI+QW5vdGhlciBhdXRoZW50aWNhdGlvbiBSZXNwb25zZTwvdGV4dD48IS0tTUQ1PVs3ZjNlNGQwYzkwMWVmZGJjNTdlYjQ0MjQ5YTNiODE5N10KQHN0YXJ0dW1sDQpza2lucGFyYW0gc2hhZG93aW5nIGZhbHNlDQpBbGljZSAtPiBCb2I6IEF1dGhlbnRpY2F0aW9uIFJlcXVlc3QNCkJvYiAtIC0+IEFsaWNlOiBBdXRoZW50aWNhdGlvbiBSZXNwb25zZQ0KDQpBbGljZSAtPiBCb2I6IEFub3RoZXIgYXV0aGVudGljYXRpb24gUmVxdWVzdA0KQWxpY2UgPC0gLSBCb2I6IEFub3RoZXIgYXV0aGVudGljYXRpb24gUmVzcG9uc2UNCkBlbmR1bWwNCgpQbGFudFVNTCB2ZXJzaW9uIDEuMjAyMC4wMihTdW4gTWFyIDAxIDA0OjIyOjA3IENTVCAyMDIwKQooTUlUIHNvdXJjZSBkaXN0cmlidXRpb24pCkphdmEgUnVudGltZTogT3BlbkpESyBSdW50aW1lIEVudmlyb25tZW50CkpWTTogT3BlbkpESyA2NC1CaXQgU2VydmVyIFZNCkphdmEgVmVyc2lvbjogMTIrMzMKT3BlcmF0aW5nIFN5c3RlbTogTWFjIE9TIFgKRGVmYXVsdCBFbmNvZGluZzogVVRGLTgKTGFuZ3VhZ2U6IGVuCkNvdW50cnk6IFVTCi0tPjwvZz48L3N2Zz4=", +295,212)},200):a.generatePlantUmlImage(e,g,function(b,c,d){a.spinner.stop();k(e,g,b,c,d)},function(e){a.handleError(e)})}}else if("mermaid"==b)a.spinner.spin(document.body,mxResources.get("inserting"))&&(l=a.editor.graph,a.generateMermaidImage(e,g,function(b,d,k){f=mxEvent.isAltDown(c)?f:l.getCenterInsertPoint(new mxRectangle(0,0,d,k));a.spinner.stop();var g=null;l.getModel().beginUpdate();try{g=l.insertVertex(null,null,null,f.x,f.y,d,k,"shape=image;noLabel=1;verticalAlign=top;imageAspect=1;image="+ +b+";"),l.setAttributeForCell(g,"mermaidData",JSON.stringify({data:e,config:EditorUi.defaultMermaidConfig},null,2))}finally{l.getModel().endUpdate()}null!=g&&(l.setSelectionCell(g),l.scrollCellToVisible(g))},function(e){a.handleError(e)}));else if("table"==b){var p=null,t=[],u=0;for(b=0;b");2<=J.length&&(l=n(J[0]),H=n(J[J.length-1]),J=new mxCell(2");2<=J.length&&(m=n(J[0]),H=n(J[J.length-1]),J=new mxCell(2 Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: Another authentication Response\n@enduml":"plantUmlSvg"==n.value||"plantUmlTxt"==n.value?"@startuml\nskinparam shadowing false\nAlice -> Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: Another authentication Response\n@enduml": -";Example:\na->b\nb->edge label->c\nc->a\n"}var f=a.editor.graph.getFreeInsertPoint();d=document.createElement("div");d.style.textAlign="right";var l=document.createElement("textarea");l.style.resize="none";l.style.width="100%";l.style.height="354px";l.style.marginBottom="16px";var n=document.createElement("select");if("formatSql"==b||"mermaid"==b)n.style.display="none";var e=document.createElement("option");e.setAttribute("value","list");mxUtils.write(e,mxResources.get("list"));"plantUml"!=b&&n.appendChild(e); +";Example:\na->b\nb->edge label->c\nc->a\n"}var f=a.editor.graph.getFreeInsertPoint();d=document.createElement("div");d.style.textAlign="right";var m=document.createElement("textarea");m.style.resize="none";m.style.width="100%";m.style.height="354px";m.style.marginBottom="16px";var n=document.createElement("select");if("formatSql"==b||"mermaid"==b)n.style.display="none";var e=document.createElement("option");e.setAttribute("value","list");mxUtils.write(e,mxResources.get("list"));"plantUml"!=b&&n.appendChild(e); null!=b&&"fromText"!=b||e.setAttribute("selected","selected");e=document.createElement("option");e.setAttribute("value","table");mxUtils.write(e,mxResources.get("formatSql"));"formatSql"==b&&(n.appendChild(e),e.setAttribute("selected","selected"));e=document.createElement("option");e.setAttribute("value","mermaid");mxUtils.write(e,mxResources.get("formatSql"));"mermaid"==b&&(n.appendChild(e),e.setAttribute("selected","selected"));e=document.createElement("option");e.setAttribute("value","diagram"); -mxUtils.write(e,mxResources.get("diagram"));"plantUml"!=b&&n.appendChild(e);e=document.createElement("option");e.setAttribute("value","plantUmlSvg");mxUtils.write(e,mxResources.get("plantUml")+" ("+mxResources.get("formatSvg")+")");"plantUml"==b&&e.setAttribute("selected","selected");var k=document.createElement("option");k.setAttribute("value","plantUmlPng");mxUtils.write(k,mxResources.get("plantUml")+" ("+mxResources.get("formatPng")+")");var m=document.createElement("option");m.setAttribute("value", -"plantUmlTxt");mxUtils.write(m,mxResources.get("plantUml")+" ("+mxResources.get("text")+")");EditorUi.enablePlantUml&&Graph.fileSupport&&!a.isOffline()&&"plantUml"==b&&(n.appendChild(e),n.appendChild(k),n.appendChild(m));var p=g();l.value=p;d.appendChild(l);this.init=function(){l.focus()};Graph.fileSupport&&(l.addEventListener("dragover",function(a){a.stopPropagation();a.preventDefault()},!1),l.addEventListener("drop",function(a){a.stopPropagation();a.preventDefault();if(0'+mxUtils.htmlEntities(mxResources.get(c,null,c))+"");var n=!1;mxEvent.addListener(u,"click",function(c){E.setAttribute("disabled","disabled");u.style.backgroundColor="transparent";u.style.border="1px solid transparent";var d=e,d=/^https?:\/\//.test(d)&&!a.editor.isCorsEnabledForUrl(d)?PROXY_URL+"?url="+encodeURIComponent(d):TEMPLATE_PATH+"/"+d;J.spin(O);mxUtils.get(d,mxUtils.bind(this,function(a){J.stop();200<=a.getStatus()&&299>=a.getStatus()&&(z(u,a.getText(), -b,null,null,q,d),n&&A())}))});mxEvent.addListener(u,"dblclick",function(a){n=!0})}else u.innerHTML='
'+mxUtils.htmlEntities(mxResources.get(c,null,c))+"
",k&&z(u),null!=g?mxEvent.addListener(u,"click",g): -(mxEvent.addListener(u,"click",function(a){z(u,null,null,e,f)}),mxEvent.addListener(u,"dblclick",function(a){A()}));O.appendChild(u);return u}function C(){ha&&(ha=!1,mxEvent.addListener(O,"scroll",function(a){O.scrollTop+O.clientHeight>=O.scrollHeight&&(x(),mxEvent.consume(a))}));var a=null;if(0'+mxUtils.htmlEntities(mxResources.get(c,null,c))+"");var M=!1;mxEvent.addListener(u,"click",function(c){F.setAttribute("disabled","disabled");u.style.backgroundColor="transparent";u.style.border="1px solid transparent";var d=e,d=/^https?:\/\//.test(d)&&!a.editor.isCorsEnabledForUrl(d)?PROXY_URL+"?url="+encodeURIComponent(d):TEMPLATE_PATH+"/"+d;J.spin(O);mxUtils.get(d,mxUtils.bind(this,function(a){J.stop();200<=a.getStatus()&&299>=a.getStatus()&&(z(u,a.getText(), +b,null,null,q,d),M&&B())}))});mxEvent.addListener(u,"dblclick",function(a){M=!0})}else u.innerHTML='
'+mxUtils.htmlEntities(mxResources.get(c,null,c))+"
",k&&z(u),null!=g?mxEvent.addListener(u,"click",g): +(mxEvent.addListener(u,"click",function(a){z(u,null,null,e,f)}),mxEvent.addListener(u,"dblclick",function(a){B()}));O.appendChild(u);return u}function C(){ha&&(ha=!1,mxEvent.addListener(O,"scroll",function(a){O.scrollTop+O.clientHeight>=O.scrollHeight&&(x(),mxEvent.consume(a))}));var a=null;if(0d.lastIndexOf(".")&&0>k){var e=null!=e?e:D.value,m="";e==App.MODE_GOOGLE?m=a.drive.extension:e==App.MODE_GITHUB?m=a.gitHub.extension:e==App.MODE_GITLAB?m=a.gitLab.extension:e==App.MODE_TRELLO?m=a.trello.extension:e==App.MODE_DROPBOX?m=a.dropbox.extension: -e==App.MODE_ONEDRIVE?m=a.oneDrive.extension:e==App.MODE_DEVICE&&(m=".drawio");0<=k&&(b=b.substring(0,k));B.value=b+m}}A(c)})}var f=document.createElement("a");f.style.overflow="hidden";var g=document.createElement("img");g.src=e;g.setAttribute("border","0");g.setAttribute("align","absmiddle");g.style.width="60px";g.style.height="60px";g.style.paddingBottom="6px";f.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";f.className="geBaseButton";f.style.position="relative";f.style.margin="4px";f.style.padding= +null!=e[c]&&(c=e[c]),b.push({url:a.getAttribute("url"),libs:a.getAttribute("libs"),title:a.getAttribute("title"),tooltip:a.getAttribute("url"),preview:a.getAttribute("preview"),clibs:c}));a=a.nextSibling}J.stop();C()}})};E.appendChild(Y);E.appendChild(O);var ka=!1,ca=l;/^https?:\/\//.test(ca)&&!a.editor.isCorsEnabledForUrl(ca)&&(ca=PROXY_URL+"?url="+encodeURIComponent(ca));J.spin(O);null!=y?y(function(a,e){T=a;Z=ga=e;Q()},Q):Q();N=ba}mxEvent.addListener(H,"keypress",function(e){a.dialog.container.firstChild== +E&&13==e.keyCode&&B()});l=document.createElement("div");l.style.marginTop=d?"4px":"16px";l.style.textAlign="right";l.style.position="absolute";l.style.left="40px";l.style.bottom="24px";l.style.right="40px";d||a.isOffline()||!b||null!=c||g||(y=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://support.draw.io/display/DO/Creating+and+Opening+Files")}),y.className="geBtn",l.appendChild(y));y=mxUtils.button(mxResources.get("cancel"),function(){null!=f&&f();a.hideDialog(!0)});y.className= +"geBtn";!a.editor.cancelFirst||g&&null==f||l.appendChild(y);d||"1"==urlParams.embed||g||(d=mxUtils.button(mxResources.get("fromTemplateUrl"),function(){var e=new FilenameDialog(a,"",mxResources.get("create"),function(e){null!=e&&0d.lastIndexOf(".")&&0>k){var e=null!=e?e:D.value,l="";e==App.MODE_GOOGLE?l=a.drive.extension:e==App.MODE_GITHUB?l=a.gitHub.extension:e==App.MODE_GITLAB?l=a.gitLab.extension:e==App.MODE_TRELLO?l=a.trello.extension:e==App.MODE_DROPBOX?l=a.dropbox.extension: +e==App.MODE_ONEDRIVE?l=a.oneDrive.extension:e==App.MODE_DEVICE&&(l=".drawio");0<=k&&(b=b.substring(0,k));A.value=b+l}}B(c)})}var f=document.createElement("a");f.style.overflow="hidden";var g=document.createElement("img");g.src=e;g.setAttribute("border","0");g.setAttribute("align","absmiddle");g.style.width="60px";g.style.height="60px";g.style.paddingBottom="6px";f.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";f.className="geBaseButton";f.style.position="relative";f.style.margin="4px";f.style.padding= "8px 8px 10px 8px";f.style.whiteSpace="nowrap";f.appendChild(g);mxClient.IS_QUIRKS&&(f.style.cssFloat="left",f.style.zoom="1");f.style.color="gray";f.style.fontSize="11px";var t=document.createElement("div");f.appendChild(t);mxUtils.write(t,b);if(null!=k&&null==a[k]){g.style.visibility="hidden";mxUtils.setOpacity(t,10);var u=new Spinner({lines:12,length:12,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});u.spin(f);var q=window.setTimeout(function(){null== -a[k]&&(u.stop(),f.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(){null!=a[k]&&(window.clearTimeout(q),mxUtils.setOpacity(t,100),g.style.visibility="",u.stop(),m())}))}else m();C.appendChild(f);++F==p&&(mxUtils.br(C),F=0)}function A(e){var c=B.value;if(null==e||null!=c&&0FeedbackDialog.maxAttachmentSize?a.alert(mxResources.get("drawingTooLarge")):(a.hideDialog(), -a.spinner.spin(document.body)&&mxUtils.post(null!=FeedbackDialog.feedbackUrl?FeedbackDialog.feedbackUrl:"/email","email="+encodeURIComponent(l.value)+"&version="+encodeURIComponent(EditorUi.VERSION)+"&url="+encodeURIComponent(window.location.href)+"&body="+encodeURIComponent((null!=d?d:"Feedback")+":\n"+e),function(e){a.spinner.stop();200<=e.getStatus()&&299>=e.getStatus()?a.alert(mxResources.get("feedbackSent")):a.alert(mxResources.get("errorSendingFeedback"))},function(){a.spinner.stop();a.alert(mxResources.get("errorSendingFeedback"))}))}); -n.className="geBtn gePrimaryBtn";if(!b){n.setAttribute("disabled","disabled");var e=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;mxEvent.addListener(l,"change",function(){0FeedbackDialog.maxAttachmentSize?a.alert(mxResources.get("drawingTooLarge")):(a.hideDialog(), +a.spinner.spin(document.body)&&mxUtils.post(null!=FeedbackDialog.feedbackUrl?FeedbackDialog.feedbackUrl:"/email","email="+encodeURIComponent(m.value)+"&version="+encodeURIComponent(EditorUi.VERSION)+"&url="+encodeURIComponent(window.location.href)+"&body="+encodeURIComponent((null!=d?d:"Feedback")+":\n"+e),function(e){a.spinner.stop();200<=e.getStatus()&&299>=e.getStatus()?a.alert(mxResources.get("feedbackSent")):a.alert(mxResources.get("errorSendingFeedback"))},function(){a.spinner.stop();a.alert(mxResources.get("errorSendingFeedback"))}))}); +n.className="geBtn gePrimaryBtn";if(!b){n.setAttribute("disabled","disabled");var e=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;mxEvent.addListener(m,"change",function(){0':null==e.desc&&(p.style.padding="20px",p.style.color="rgb(179, 179, 179)",mxUtils.write(p,mxResources.get("noPreview"))); null!=u&&(u.style.backgroundColor="");u=c;u.style.backgroundColor="dark"==uiTheme?"#000000":"#ebf2f9";null!=a&&mxEvent.consume(a)}};mxEvent.addListener(c,"click",f);mxEvent.addListener(c,"dblclick",function(a){k.checked=!k.checked;mxEvent.consume(a)});t.push(function(){return k.checked?e.id:null});0==b&&0==d&&f()})(e.entries[d])})(e[b])});f=document.createElement("div");f.className="geDialogTitle";mxUtils.write(f,mxResources.get("shapes"));f.style.position="absolute";f.style.top="0px";f.style.left= -"0px";f.style.lineHeight="40px";f.style.height="40px";f.style.right="0px";mxClient.IS_QUIRKS&&(f.style.width="718px");var m=document.createElement("div"),p=document.createElement("div");m.style.position="absolute";m.style.top="40px";m.style.left="0px";m.style.width="202px";m.style.bottom="60px";m.style.overflow="auto";mxClient.IS_QUIRKS&&(m.style.height="437px",m.style.marginTop="1px");p.style.position="absolute";p.style.left="202px";p.style.right="0px";p.style.top="40px";p.style.bottom="60px";p.style.overflow= -"auto";p.style.borderLeft="1px solid rgb(211, 211, 211)";p.style.textAlign="center";mxClient.IS_QUIRKS&&(p.style.width=parseInt(f.style.width)-202+"px",p.style.height=m.style.height,p.style.marginTop=m.style.marginTop);var u=null,t=[],q=document.createElement("div");q.style.position="relative";q.style.left="0px";q.style.right="0px";e(b);c.style.padding="30px";c.appendChild(f);c.appendChild(m);c.appendChild(p);b=document.createElement("div");b.className="geDialogFooter";b.style.position="absolute"; +"0px";f.style.lineHeight="40px";f.style.height="40px";f.style.right="0px";mxClient.IS_QUIRKS&&(f.style.width="718px");var l=document.createElement("div"),p=document.createElement("div");l.style.position="absolute";l.style.top="40px";l.style.left="0px";l.style.width="202px";l.style.bottom="60px";l.style.overflow="auto";mxClient.IS_QUIRKS&&(l.style.height="437px",l.style.marginTop="1px");p.style.position="absolute";p.style.left="202px";p.style.right="0px";p.style.top="40px";p.style.bottom="60px";p.style.overflow= +"auto";p.style.borderLeft="1px solid rgb(211, 211, 211)";p.style.textAlign="center";mxClient.IS_QUIRKS&&(p.style.width=parseInt(f.style.width)-202+"px",p.style.height=l.style.height,p.style.marginTop=l.style.marginTop);var u=null,t=[],q=document.createElement("div");q.style.position="relative";q.style.left="0px";q.style.right="0px";e(b);c.style.padding="30px";c.appendChild(f);c.appendChild(l);c.appendChild(p);b=document.createElement("div");b.className="geDialogFooter";b.style.position="absolute"; b.style.paddingRight="16px";b.style.color="gray";b.style.left="0px";b.style.right="0px";b.style.bottom="0px";b.style.height="60px";b.style.lineHeight="52px";mxClient.IS_QUIRKS&&(b.style.width=f.style.width,b.style.paddingTop="12px");var v=document.createElement("input");v.setAttribute("type","checkbox");if(isLocalStorage||mxClient.IS_CHROMEAPP)f=document.createElement("span"),f.style.paddingRight="20px",f.appendChild(v),mxUtils.write(f," "+mxResources.get("rememberThisSetting")),v.checked=!0,v.defaultChecked= !0,mxEvent.addListener(f,"click",function(a){mxEvent.getSource(a)!=v&&(v.checked=!v.checked,mxEvent.consume(a))}),mxClient.IS_QUIRKS&&(f.style.position="relative",f.style.top="-6px"),b.appendChild(f);f=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});f.className="geBtn";e=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();for(var e=[],b=0;bmxUtils.indexOf(l,a)&&l.push(a);c()})}:function(){var e=document.createElement("div"), +c},PluginsDialog=function(a,d,b){function c(){if(0==m.length)f.innerHTML=mxUtils.htmlEntities(mxResources.get("noPlugins"));else{f.innerHTML="";for(var e=0;emxUtils.indexOf(m,a)&&m.push(a);c()})}:function(){var e=document.createElement("div"), b=document.createElement("span");b.style.marginTop="6px";mxUtils.write(b,mxResources.get("builtinPlugins")+": ");e.appendChild(b);var d=document.createElement("select");d.style.width="150px";for(b=0;bmxUtils.indexOf(l,d)&&l.push(d)}c()}},mxResources.get("enterValue")+" ("+mxResources.get("url")+")");a.showDialog(e.container,300,80,!0,!0);e.init()});b.className="geBtn";e=new CustomDialog(a,e,mxUtils.bind(this,function(){var a=App.pluginRegistry[d.value];0>mxUtils.indexOf(l,a)&&(l.push(a),c())}),null,null,null,b);a.showDialog(e.container,300, -80,!0,!0)});n.className="geBtn";var e=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});e.className="geBtn";var k=mxUtils.button(mxResources.get("apply"),function(){mxSettings.setPlugins(l);mxSettings.save();a.hideDialog();a.alert(mxResources.get("restartForChangeRequired"))});k.className="geBtn gePrimaryBtn";var m=document.createElement("div");m.style.marginTop="14px";m.style.textAlign="right";var p=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://www.diagrams.net/doc/faq/plugins")}); -p.className="geBtn";a.isOffline()&&!mxClient.IS_CHROMEAPP&&(p.style.display="none");m.appendChild(p);a.editor.cancelFirst?(m.appendChild(e),m.appendChild(n),m.appendChild(k)):(m.appendChild(n),m.appendChild(k),m.appendChild(e));g.appendChild(m);this.container=g},CropImageDialog=function(a,d,b){function c(a){null!=l&&l.destroy();l=a?new Croppie(f,{viewport:{width:150,height:150,type:"circle"},enableExif:!0,showZoomer:!1,enableResize:!1,enableOrientation:!0}):new Croppie(f,{viewport:{width:150,height:150, -type:"square"},enableExif:!0,showZoomer:!1,enableResize:!0,enableOrientation:!0});l.bind({url:d})}var g=document.createElement("div"),f=document.createElement("div");f.style.width="300px";f.style.height="300px";g.appendChild(f);var l=null;this.init=function(){c()};var n=document.createElement("input");n.setAttribute("type","checkbox");n.setAttribute("id","croppieCircle");n.style.margin="5px";g.appendChild(n);var e=document.createElement("label");e.setAttribute("for","croppieCircle");mxUtils.write(e, -mxResources.get("circle"));g.appendChild(e);var k,m,p,u,e=document.createElement("div");k=document.createElement("button");m=document.createElement("button");e.appendChild(k);e.appendChild(m);p=document.createElement("i");u=document.createElement("i");k.appendChild(p);m.appendChild(u);e.className="cr-rotate-controls";e.style["float"]="right";e.style.position="inherit";k.className="cr-rotate-l";m.className="cr-rotate-r";g.appendChild(e);k.addEventListener("click",function(){l.rotate(-90)});m.addEventListener("click", -function(){l.rotate(90)});mxEvent.addListener(n,"change",function(){c(this.checked)});n=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});n.className="geBtn";e=mxUtils.button(mxResources.get("apply"),function(){l.result({type:"base64",size:"original"}).then(function(e){b(e);a.hideDialog()})});e.className="geBtn gePrimaryBtn";k=document.createElement("div");k.style.marginTop="20px";k.style.textAlign="right";a.editor.cancelFirst?(k.appendChild(n),k.appendChild(e)):(k.appendChild(e), -k.appendChild(n));g.appendChild(k);this.container=g},EditGeometryDialog=function(a,d){var b=a.editor.graph,c=1==d.length?b.getCellGeometry(d[0]):null,g=document.createElement("div"),f=document.createElement("table"),l=document.createElement("tbody"),n=document.createElement("tr"),e=document.createElement("td"),k=document.createElement("td");f.style.paddingLeft="6px";mxUtils.write(e,mxResources.get("relative")+":");var m=document.createElement("input");m.setAttribute("type","checkbox");null!=c&&c.relative&& -(m.setAttribute("checked","checked"),m.defaultChecked=!0);this.init=function(){m.focus()};k.appendChild(m);n.appendChild(e);n.appendChild(k);l.appendChild(n);n=document.createElement("tr");e=document.createElement("td");k=document.createElement("td");mxUtils.write(e,mxResources.get("left")+":");var p=document.createElement("input");p.setAttribute("type","text");p.style.width="100px";p.value=null!=c?c.x:"";k.appendChild(p);n.appendChild(e);n.appendChild(k);l.appendChild(n);n=document.createElement("tr"); -e=document.createElement("td");k=document.createElement("td");mxUtils.write(e,mxResources.get("top")+":");var u=document.createElement("input");u.setAttribute("type","text");u.style.width="100px";u.value=null!=c?c.y:"";k.appendChild(u);n.appendChild(e);n.appendChild(k);l.appendChild(n);n=document.createElement("tr");e=document.createElement("td");k=document.createElement("td");mxUtils.write(e,mxResources.get("dx")+":");var t=document.createElement("input");t.setAttribute("type","text");t.style.width= -"100px";t.value=null!=c&&null!=c.offset?c.offset.x:"";k.appendChild(t);n.appendChild(e);n.appendChild(k);l.appendChild(n);n=document.createElement("tr");e=document.createElement("td");k=document.createElement("td");mxUtils.write(e,mxResources.get("dy")+":");var q=document.createElement("input");q.setAttribute("type","text");q.style.width="100px";q.value=null!=c&&null!=c.offset?c.offset.y:"";k.appendChild(q);n.appendChild(e);n.appendChild(k);l.appendChild(n);n=document.createElement("tr");e=document.createElement("td"); -k=document.createElement("td");mxUtils.write(e,mxResources.get("width")+":");var v=document.createElement("input");v.setAttribute("type","text");v.style.width="100px";v.value=null!=c?c.width:"";k.appendChild(v);n.appendChild(e);n.appendChild(k);l.appendChild(n);n=document.createElement("tr");e=document.createElement("td");k=document.createElement("td");mxUtils.write(e,mxResources.get("height")+":");var y=document.createElement("input");y.setAttribute("type","text");y.style.width="100px";y.value=null!= -c?c.height:"";k.appendChild(y);n.appendChild(e);n.appendChild(k);l.appendChild(n);n=document.createElement("tr");e=document.createElement("td");k=document.createElement("td");mxUtils.write(e,mxResources.get("rotation")+":");var x=document.createElement("input");x.setAttribute("type","text");x.style.width="100px";x.value=1==d.length?mxUtils.getValue(b.getCellStyle(d[0]),mxConstants.STYLE_ROTATION,0):"";k.appendChild(x);n.appendChild(e);n.appendChild(k);l.appendChild(n);f.appendChild(l);g.appendChild(f); -c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});c.className="geBtn";var A=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();b.getModel().beginUpdate();try{for(var e=0;emxUtils.indexOf(m,d)&&m.push(d)}c()}},mxResources.get("enterValue")+" ("+mxResources.get("url")+")");a.showDialog(e.container,300,80,!0,!0);e.init()});b.className="geBtn";e=new CustomDialog(a,e,mxUtils.bind(this,function(){var a=App.pluginRegistry[d.value];0>mxUtils.indexOf(m,a)&&(m.push(a),c())}),null,null,null,b);a.showDialog(e.container,300, +80,!0,!0)});n.className="geBtn";var e=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});e.className="geBtn";var k=mxUtils.button(mxResources.get("apply"),function(){mxSettings.setPlugins(m);mxSettings.save();a.hideDialog();a.alert(mxResources.get("restartForChangeRequired"))});k.className="geBtn gePrimaryBtn";var l=document.createElement("div");l.style.marginTop="14px";l.style.textAlign="right";var p=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://www.diagrams.net/doc/faq/plugins")}); +p.className="geBtn";a.isOffline()&&!mxClient.IS_CHROMEAPP&&(p.style.display="none");l.appendChild(p);a.editor.cancelFirst?(l.appendChild(e),l.appendChild(n),l.appendChild(k)):(l.appendChild(n),l.appendChild(k),l.appendChild(e));g.appendChild(l);this.container=g},CropImageDialog=function(a,d,b){function c(a){null!=m&&m.destroy();m=a?new Croppie(f,{viewport:{width:150,height:150,type:"circle"},enableExif:!0,showZoomer:!1,enableResize:!1,enableOrientation:!0}):new Croppie(f,{viewport:{width:150,height:150, +type:"square"},enableExif:!0,showZoomer:!1,enableResize:!0,enableOrientation:!0});m.bind({url:d})}var g=document.createElement("div"),f=document.createElement("div");f.style.width="300px";f.style.height="300px";g.appendChild(f);var m=null;this.init=function(){c()};var n=document.createElement("input");n.setAttribute("type","checkbox");n.setAttribute("id","croppieCircle");n.style.margin="5px";g.appendChild(n);var e=document.createElement("label");e.setAttribute("for","croppieCircle");mxUtils.write(e, +mxResources.get("circle"));g.appendChild(e);var k,l,p,u,e=document.createElement("div");k=document.createElement("button");l=document.createElement("button");e.appendChild(k);e.appendChild(l);p=document.createElement("i");u=document.createElement("i");k.appendChild(p);l.appendChild(u);e.className="cr-rotate-controls";e.style["float"]="right";e.style.position="inherit";k.className="cr-rotate-l";l.className="cr-rotate-r";g.appendChild(e);k.addEventListener("click",function(){m.rotate(-90)});l.addEventListener("click", +function(){m.rotate(90)});mxEvent.addListener(n,"change",function(){c(this.checked)});n=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});n.className="geBtn";e=mxUtils.button(mxResources.get("apply"),function(){m.result({type:"base64",size:"original"}).then(function(e){b(e);a.hideDialog()})});e.className="geBtn gePrimaryBtn";k=document.createElement("div");k.style.marginTop="20px";k.style.textAlign="right";a.editor.cancelFirst?(k.appendChild(n),k.appendChild(e)):(k.appendChild(e), +k.appendChild(n));g.appendChild(k);this.container=g},EditGeometryDialog=function(a,d){var b=a.editor.graph,c=1==d.length?b.getCellGeometry(d[0]):null,g=document.createElement("div"),f=document.createElement("table"),m=document.createElement("tbody"),n=document.createElement("tr"),e=document.createElement("td"),k=document.createElement("td");f.style.paddingLeft="6px";mxUtils.write(e,mxResources.get("relative")+":");var l=document.createElement("input");l.setAttribute("type","checkbox");null!=c&&c.relative&& +(l.setAttribute("checked","checked"),l.defaultChecked=!0);this.init=function(){l.focus()};k.appendChild(l);n.appendChild(e);n.appendChild(k);m.appendChild(n);n=document.createElement("tr");e=document.createElement("td");k=document.createElement("td");mxUtils.write(e,mxResources.get("left")+":");var p=document.createElement("input");p.setAttribute("type","text");p.style.width="100px";p.value=null!=c?c.x:"";k.appendChild(p);n.appendChild(e);n.appendChild(k);m.appendChild(n);n=document.createElement("tr"); +e=document.createElement("td");k=document.createElement("td");mxUtils.write(e,mxResources.get("top")+":");var u=document.createElement("input");u.setAttribute("type","text");u.style.width="100px";u.value=null!=c?c.y:"";k.appendChild(u);n.appendChild(e);n.appendChild(k);m.appendChild(n);n=document.createElement("tr");e=document.createElement("td");k=document.createElement("td");mxUtils.write(e,mxResources.get("dx")+":");var t=document.createElement("input");t.setAttribute("type","text");t.style.width= +"100px";t.value=null!=c&&null!=c.offset?c.offset.x:"";k.appendChild(t);n.appendChild(e);n.appendChild(k);m.appendChild(n);n=document.createElement("tr");e=document.createElement("td");k=document.createElement("td");mxUtils.write(e,mxResources.get("dy")+":");var q=document.createElement("input");q.setAttribute("type","text");q.style.width="100px";q.value=null!=c&&null!=c.offset?c.offset.y:"";k.appendChild(q);n.appendChild(e);n.appendChild(k);m.appendChild(n);n=document.createElement("tr");e=document.createElement("td"); +k=document.createElement("td");mxUtils.write(e,mxResources.get("width")+":");var v=document.createElement("input");v.setAttribute("type","text");v.style.width="100px";v.value=null!=c?c.width:"";k.appendChild(v);n.appendChild(e);n.appendChild(k);m.appendChild(n);n=document.createElement("tr");e=document.createElement("td");k=document.createElement("td");mxUtils.write(e,mxResources.get("height")+":");var y=document.createElement("input");y.setAttribute("type","text");y.style.width="100px";y.value=null!= +c?c.height:"";k.appendChild(y);n.appendChild(e);n.appendChild(k);m.appendChild(n);n=document.createElement("tr");e=document.createElement("td");k=document.createElement("td");mxUtils.write(e,mxResources.get("rotation")+":");var x=document.createElement("input");x.setAttribute("type","text");x.style.width="100px";x.value=1==d.length?mxUtils.getValue(b.getCellStyle(d[0]),mxConstants.STYLE_ROTATION,0):"";k.appendChild(x);n.appendChild(e);n.appendChild(k);m.appendChild(n);f.appendChild(m);g.appendChild(f); +c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});c.className="geBtn";var B=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();b.getModel().beginUpdate();try{for(var e=0;ea.maxImageSize||f>a.maxImageSize){var C=Math.min(1,Math.min(a.maxImageSize/Math.max(1,k)),a.maxImageSize/ -Math.max(1,f));k*=C;f*=C}x>L?(L=Math.round(100*L/x),x=100):(x=Math.round(100*x/L),L=100);var N=document.createElement("div");N.setAttribute("draggable","true");N.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";N.style.position="relative";N.style.cursor="move";mxUtils.setPrefixedStyle(N.style,"transition","transform .1s ease-in-out");if(null!=e){var F=document.createElement("img");F.setAttribute("src",z.convert(e));F.style.width=x+"px";F.style.height=L+"px";F.style.margin="10px";F.style.paddingBottom= -Math.floor((100-L)/2)+"px";F.style.paddingLeft=Math.floor((100-x)/2)+"px";N.appendChild(F)}else if(null!=g){var D=a.stringToCells(Graph.decompress(g.xml));0L?(L=Math.round(100*L/x),x=100):(x=Math.round(100*x/L),L=100);var N=document.createElement("div");N.setAttribute("draggable","true");N.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";N.style.position="relative";N.style.cursor="move";mxUtils.setPrefixedStyle(N.style,"transition","transform .1s ease-in-out");if(null!=e){var E=document.createElement("img");E.setAttribute("src",z.convert(e));E.style.width=x+"px";E.style.height=L+"px";E.style.margin="10px";E.style.paddingBottom= +Math.floor((100-L)/2)+"px";E.style.paddingLeft=Math.floor((100-x)/2)+"px";N.appendChild(E)}else if(null!=g){var D=a.stringToCells(Graph.decompress(g.xml));0y?x-1:x,0,m.splice(y,1)[0]),t.insertBefore(t.children[y],t.children[x])):(m.push(m.splice(y,1)[0]),t.appendChild(t.children[y]));else if(0y?x-1:x,0,l.splice(y,1)[0]),t.insertBefore(t.children[y],t.children[x])):(l.push(l.splice(y,1)[0]),t.appendChild(t.children[y]));else if(0=b.status&& -(n(b.responseText,c,d,k,m,f,g,"fixed",mxEvent.isAltDown(e)?null:g.substring(0,g.lastIndexOf(".")).replace(/_/g," ")),t.scrollTop=t.scrollHeight))})):(n(b,c,d,k,m,f,g,"fixed",mxEvent.isAltDown(e)?null:g.substring(0,g.lastIndexOf(".")).replace(/_/g," ")),t.scrollTop=t.scrollHeight)}};mxEvent.addListener(t,"dragover",e);mxEvent.addListener(t,"drop",k);mxEvent.addListener(q,"dragover",e);mxEvent.addListener(q,"drop",k);b.appendChild(t);c=document.createElement("div");c.style.textAlign="right";c.style.marginTop= +"6px";t.style.overflow="auto";t.style.height="340px";t.style.backgroundPosition="center center";t.style.backgroundRepeat="no-repeat";0==l.length&&Graph.fileSupport&&(t.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')");var q=document.createElement("div");q.style.position="absolute";q.style.width="640px";q.style.top="260px";q.style.textAlign="center";q.style.fontSize="22px";q.style.color="#a0c3ff";mxUtils.write(q,mxResources.get("dragImagesHere"));b.appendChild(q);var v={},y=null,x=null, +B=null;d=function(a){"true"!=mxEvent.getSource(a).getAttribute("contentEditable")&&null!=B&&(B(),B=null,mxEvent.consume(a))};mxEvent.addListener(t,"mousedown",d);mxEvent.addListener(t,"pointerdown",d);mxEvent.addListener(t,"touchstart",d);var z=new mxUrlConverter,A=!1;if(null!=c)for(d=0;d=b.status&& +(n(b.responseText,c,d,k,l,f,g,"fixed",mxEvent.isAltDown(e)?null:g.substring(0,g.lastIndexOf(".")).replace(/_/g," ")),t.scrollTop=t.scrollHeight))})):(n(b,c,d,k,l,f,g,"fixed",mxEvent.isAltDown(e)?null:g.substring(0,g.lastIndexOf(".")).replace(/_/g," ")),t.scrollTop=t.scrollHeight)}};mxEvent.addListener(t,"dragover",e);mxEvent.addListener(t,"drop",k);mxEvent.addListener(q,"dragover",e);mxEvent.addListener(q,"drop",k);b.appendChild(t);c=document.createElement("div");c.style.textAlign="right";c.style.marginTop= "20px";d=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog(!0)});d.setAttribute("id","btnCancel");d.className="geBtn";a.editor.cancelFirst&&c.appendChild(d);"draw.io"!=a.getServiceName()||null==g||g.constructor!=DriveLibrary&&g.constructor!=GitHubLibrary||(p=mxUtils.button(mxResources.get("link"),function(){a.spinner.spin(document.body,mxResources.get("loading"))&&g.getPublicUrl(function(e){a.spinner.stop();if(null!=e){var b=a.getSearch("create title mode url drive splash state clibs ui".split(" ")), b=b+((0==b.length?"?":"&")+"splash=0&clibs=U"+encodeURIComponent(e));e=new EmbedDialog(a,window.location.protocol+"//"+window.location.host+"/"+b,null,null,null,null,"Check out the library I made using @drawio");a.showDialog(e.container,440,240,!0);e.init()}else g.constructor==DriveLibrary?a.showError(mxResources.get("error"),mxResources.get("diagramIsNotPublic"),mxResources.get("share"),mxUtils.bind(this,function(){a.drive.showPermissions(g.getId())}),null,mxResources.get("ok"),mxUtils.bind(this, -function(){})):a.handleError({message:mxResources.get("diagramIsNotPublic")})})}),p.className="geBtn",c.appendChild(p));p=mxUtils.button(mxResources.get("export"),function(){var e=a.createLibraryDataFromImages(m),b=u.value;/(\.xml)$/i.test(b)||(b+=".xml");a.isLocalFileSave()?a.saveLocalFile(e,b,"text/xml",null,null,!0,null,"xml"):(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(b)+"&format=xml&xml="+encodeURIComponent(e))).simulate(document,"_blank")});p.setAttribute("id","btnDownload"); -p.className="geBtn";c.appendChild(p);if(Graph.fileSupport){if(null==a.libDlgFileInputElt){var F=document.createElement("input");F.setAttribute("multiple","multiple");F.setAttribute("type","file");mxEvent.addListener(F,"change",function(e){B=!1;a.importFiles(F.files,0,0,a.maxImageSize,function(a,b,c,d,k,m,f,g,p){null!=F.files&&(C(e)(a,b,c,d,k,m,f,g,p),F.type="",F.type="file",F.value="")});t.scrollTop=t.scrollHeight});F.style.display="none";document.body.appendChild(F);a.libDlgFileInputElt=F}p=mxUtils.button(mxResources.get("import"), -function(){null!=A&&(A(),A=null);a.libDlgFileInputElt.click()});p.setAttribute("id","btnAddImage");p.className="geBtn";c.appendChild(p)}p=mxUtils.button(mxResources.get("addImages"),function(){null!=A&&(A(),A=null);a.showImageDialog(mxResources.get("addImageUrl"),"",function(a,e,b){B=!1;if(null!=a){if("data:image/"==a.substring(0,11)){var c=a.indexOf(",");0
'+mxResources.get("newDiagram",null,"New Diagram")+'
'+mxResources.get("templates",null,"Templates")+'
'+mxResources.get("newDiagram",null,"New Diagram")+'
'+ mxResources.get("showAll",null,"+ Show all")+'
'+mxResources.get("myDiagrams",null,"My diagrams")+'
'+ mxResources.get("allDiagrams",null,"All diagrams")+'

🛈 '+ mxResources.get("linkToDiagramHint",null,"Add a link to this diagram. The diagram can only be edited from the page that owns it.")+'
'+mxResources.get("create",null,"Create")+'
'+mxResources.get("cancel",null,"Cancel")+"
",d=document.createElement("div");d.innerHTML=a;d.className="geTemplateDlg"; var a=window.innerWidth,b=window.innerHeight,c=987,g=712;.9*a=e.getStatus()&&(d(e.getText(),"nameInput.value"),a.hideDialog(!0))}))}}function v(a){a=a?"":"none";for(var e=C.querySelectorAll(".geTempDlgLinkToDiagram"),b=0;bf&&(m=m.substring(0,f)+"…");if(b){var z=document.createElement("tr"),p=document.createElement("td"),M=document.createElement("img");M.src="/images/icon-search.svg";M.className="geTempDlgDiagramListPreviewBtn";M.setAttribute("title",mxResources.get("preview"));p.appendChild(M);g=document.createElement("span");g.className="geTempDlgDiagramTitle";g.innerHTML=m;p.appendChild(g);z.appendChild(p);p=document.createElement("td"); -p.innerHTML=l;z.appendChild(p);p=document.createElement("td");p.innerHTML=n;z.appendChild(p);d.appendChild(z);null==H&&(c(),t(z,"geTempDlgDiagramsListGridActive",a[k]));(function(a,e){mxEvent.addListener(z,"click",function(){H!=e&&(c(),t(e,"geTempDlgDiagramsListGridActive",a))});mxEvent.addListener(z,"dblclick",q);mxEvent.addListener(M,"click",function(){u(a)})})(a[k],z)}else{var B=document.createElement("div");B.className="geTempDlgDiagramTile";B.setAttribute("title",g);null==H&&(c(),t(B,"geTempDlgDiagramTileActive", -a[k]));l=document.createElement("div");l.className="geTempDlgDiagramTileImg geTempDlgDiagramTileImgLoading";var x=document.createElement("img");x.style.display="none";(function(a,e){x.onload=function(){e.className="geTempDlgDiagramTileImg";a.style.display=""};x.onerror=function(){e.className="geTempDlgDiagramTileImg geTempDlgDiagramTileImgError"}})(x,l);x.src=p;l.appendChild(x);B.appendChild(l);l=document.createElement("div");l.className="geTempDlgDiagramTileLbl";l.innerHTML=null!=m?m:"";B.appendChild(l); -M=document.createElement("img");M.src="/images/icon-search.svg";M.className="geTempDlgDiagramPreviewBtn";M.setAttribute("title",mxResources.get("preview"));B.appendChild(M);(function(a,e){mxEvent.addListener(B,"click",function(){H!=e&&(c(),t(e,"geTempDlgDiagramTileActive",a))});mxEvent.addListener(B,"dblclick",q);mxEvent.addListener(M,"click",function(){u(a)})})(a[k],B);K.appendChild(B)}}}function x(a,e){W.innerHTML="";t();for(var b=!e&&5a.length?"none":""}function A(a){var e=C.querySelector(".geTemplatesList"), +a}function y(a,e,b){function c(){V.innerHTML=e?mxUtils.htmlEntities(mxResources.get("create")):mxUtils.htmlEntities(mxResources.get("copy"));v(!e)}K.innerHTML="";t();L=a;var d=null;if(b){d=document.createElement("table");d.className="geTempDlgDiagramsListGrid";var k=document.createElement("tr"),l=document.createElement("th");l.style.width="50%";l.innerHTML=mxUtils.htmlEntities(mxResources.get("diagram",null,"Diagram"));k.appendChild(l);l=document.createElement("th");l.style.width="25%";l.innerHTML= +mxUtils.htmlEntities(mxResources.get("changedBy",null,"Changed By"));k.appendChild(l);l=document.createElement("th");l.style.width="25%";l.innerHTML=mxUtils.htmlEntities(mxResources.get("lastModifiedOn",null,"Last modified on"));k.appendChild(l);d.appendChild(k);K.appendChild(d)}for(k=0;kf&&(l=l.substring(0,f)+"…");if(b){var z=document.createElement("tr"),p=document.createElement("td"),M=document.createElement("img");M.src="/images/icon-search.svg";M.className="geTempDlgDiagramListPreviewBtn";M.setAttribute("title",mxResources.get("preview"));p.appendChild(M);g=document.createElement("span");g.className="geTempDlgDiagramTitle";g.innerHTML=l;p.appendChild(g);z.appendChild(p);p=document.createElement("td"); +p.innerHTML=m;z.appendChild(p);p=document.createElement("td");p.innerHTML=n;z.appendChild(p);d.appendChild(z);null==H&&(c(),t(z,"geTempDlgDiagramsListGridActive",a[k]));(function(a,e){mxEvent.addListener(z,"click",function(){H!=e&&(c(),t(e,"geTempDlgDiagramsListGridActive",a))});mxEvent.addListener(z,"dblclick",q);mxEvent.addListener(M,"click",function(){u(a)})})(a[k],z)}else{var A=document.createElement("div");A.className="geTempDlgDiagramTile";A.setAttribute("title",g);null==H&&(c(),t(A,"geTempDlgDiagramTileActive", +a[k]));m=document.createElement("div");m.className="geTempDlgDiagramTileImg geTempDlgDiagramTileImgLoading";var x=document.createElement("img");x.style.display="none";(function(a,e){x.onload=function(){e.className="geTempDlgDiagramTileImg";a.style.display=""};x.onerror=function(){e.className="geTempDlgDiagramTileImg geTempDlgDiagramTileImgError"}})(x,m);x.src=p;m.appendChild(x);A.appendChild(m);m=document.createElement("div");m.className="geTempDlgDiagramTileLbl";m.innerHTML=null!=l?l:"";A.appendChild(m); +M=document.createElement("img");M.src="/images/icon-search.svg";M.className="geTempDlgDiagramPreviewBtn";M.setAttribute("title",mxResources.get("preview"));A.appendChild(M);(function(a,e){mxEvent.addListener(A,"click",function(){H!=e&&(c(),t(e,"geTempDlgDiagramTileActive",a))});mxEvent.addListener(A,"dblclick",q);mxEvent.addListener(M,"click",function(){u(a)})})(a[k],A);K.appendChild(A)}}}function x(a,e){W.innerHTML="";t();for(var b=!e&&5a.length?"none":""}function B(a){var e=C.querySelector(".geTemplatesList"), b;for(b in a){var c=document.createElement("div"),d=mxResources.get(b),k=a[b];null==d&&(d=b.substring(0,1).toUpperCase()+b.substring(1));c.className="geTemplateCatLink";c.setAttribute("title",d+" ("+k.length+")");d=mxUtils.htmlEntities(d);15
'+mxUtils.htmlEntities(d)+"
";this.pagesContainer.appendChild(g);var f=this.createViewer(g.childNodes[0],b);d=mxUtils.bind(this,function(){null!=this.selectedItem&&(this.selectedItem.className="geAspectDlgListItem");this.selectedItem= g;this.selectedPage=a;g.className+=" geAspectDlgListItemSelected";this.layersContainer.innerHTML="";this.selectedLayers={};this.okBtn.setAttribute("disabled","disabled");for(var c=f.model,c=c.getChildCells(c.getRoot()),d=0;d
'+mxUtils.htmlEntities(d)+"
";this.layersContainer.appendChild(g);this.createViewer(g.childNodes[0],c,a.id);c=mxUtils.bind(this,function(){0<=g.className.indexOf("geAspectDlgListItemSelected")? (g.className="geAspectDlgListItem",delete this.selectedLayers[a.id],0==Object.keys(this.selectedLayers).length&&this.okBtn.setAttribute("disabled","disabled")):(g.className+=" geAspectDlgListItemSelected",this.selectedLayers[a.id]=!0,this.okBtn.removeAttribute("disabled"))});mxEvent.addListener(g,"click",c);-1!=this.aspect.layerIds.indexOf(a.id)&&c()}; -var FilePropertiesDialog=function(a){var d,b,c=document.createElement("table"),g=document.createElement("tbody");c.style.width="100%";c.style.marginTop="8px";var f=a.getCurrentFile();d=null!=f&&null!=f.getTitle()?f.getTitle():this.editorUi.defaultFilename;b=null;if(/(\.png)$/i.test(d)){var l=1,n=0;d=a.fileNode;null!=d&&(d.hasAttribute("scale")&&(l=parseFloat(d.getAttribute("scale"))),d.hasAttribute("border")&&(n=parseInt(d.getAttribute("border"))));d=document.createElement("tr");b=document.createElement("td"); -b.style.whiteSpace="nowrap";b.style.fontSize="10pt";b.style.width="120px";mxUtils.write(b,mxResources.get("zoom")+":");d.appendChild(b);var e=document.createElement("input");e.setAttribute("value",100*l+"%");e.style.marginLeft="4px";e.style.width="180px";b=document.createElement("td");b.style.whiteSpace="nowrap";b.appendChild(e);d.appendChild(b);g.appendChild(d);d=document.createElement("tr");b=document.createElement("td");b.style.whiteSpace="nowrap";b.style.fontSize="10pt";b.style.width="120px"; +var FilePropertiesDialog=function(a){var d,b,c=document.createElement("table"),g=document.createElement("tbody");c.style.width="100%";c.style.marginTop="8px";var f=a.getCurrentFile();d=null!=f&&null!=f.getTitle()?f.getTitle():this.editorUi.defaultFilename;b=null;if(/(\.png)$/i.test(d)){var m=1,n=0;d=a.fileNode;null!=d&&(d.hasAttribute("scale")&&(m=parseFloat(d.getAttribute("scale"))),d.hasAttribute("border")&&(n=parseInt(d.getAttribute("border"))));d=document.createElement("tr");b=document.createElement("td"); +b.style.whiteSpace="nowrap";b.style.fontSize="10pt";b.style.width="120px";mxUtils.write(b,mxResources.get("zoom")+":");d.appendChild(b);var e=document.createElement("input");e.setAttribute("value",100*m+"%");e.style.marginLeft="4px";e.style.width="180px";b=document.createElement("td");b.style.whiteSpace="nowrap";b.appendChild(e);d.appendChild(b);g.appendChild(d);d=document.createElement("tr");b=document.createElement("td");b.style.whiteSpace="nowrap";b.style.fontSize="10pt";b.style.width="120px"; mxUtils.write(b,mxResources.get("borderWidth")+":");d.appendChild(b);var k=document.createElement("input");k.setAttribute("value",n);k.style.marginLeft="4px";k.style.width="180px";b=document.createElement("td");b.style.whiteSpace="nowrap";b.appendChild(k);d.appendChild(b);g.appendChild(d);this.init=function(){e.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?e.select():document.execCommand("selectAll",!1,null)};b=function(){null!=a.fileNode&&(a.fileNode.setAttribute("scale", -Math.max(0,parseInt(e.value)/100)),a.fileNode.setAttribute("border",Math.max(0,parseInt(k.value))),null!=f&&f.fileChanged());a.hideDialog()}}else{l=null!=f?f.isCompressed():Editor.compressXml;d=document.createElement("tr");b=document.createElement("td");b.style.whiteSpace="nowrap";b.style.fontSize="10pt";b.style.width="120px";mxUtils.write(b,mxResources.get("compressed")+":");d.appendChild(b);var m=document.createElement("input");m.setAttribute("type","checkbox");l&&(m.setAttribute("checked","checked"), -m.defaultChecked=!0);b=document.createElement("td");b.style.whiteSpace="nowrap";b.appendChild(m);d.appendChild(b);g.appendChild(d);this.init=function(){m.focus()};b=function(){null!=a.fileNode&&(a.fileNode.setAttribute("compressed",m.checked?"true":"false"),null!=f&&f.fileChanged());a.hideDialog()}}l=mxUtils.button(mxResources.get("apply"),b);l.className="geBtn gePrimaryBtn";d=document.createElement("tr");b=document.createElement("td");b.colSpan=2;b.style.paddingTop="20px";b.style.whiteSpace="nowrap"; -b.setAttribute("align","right");n=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});n.className="geBtn";a.editor.cancelFirst&&b.appendChild(n);b.appendChild(l);a.editor.cancelFirst||b.appendChild(n);d.appendChild(b);g.appendChild(d);c.appendChild(g);this.container=c};(function(){"undefined"!==typeof html4&&(html4.ATTRIBS["span::data-lucid-content"]=0,html4.ATTRIBS["span::data-lucid-type"]=0,html4.ATTRIBS["font::data-font-src"]=0);Editor.prototype.appName="diagrams.net";Editor.prototype.diagramFileTypes=[{description:"diagramXmlDesc",extension:"drawio",mimeType:"text/xml"},{description:"diagramPngDesc",extension:"png",mimeType:"image/png"},{description:"diagramSvgDesc",extension:"svg",mimeType:"image/svg"},{description:"diagramHtmlDesc",extension:"html",mimeType:"text/html"}, +Math.max(0,parseInt(e.value)/100)),a.fileNode.setAttribute("border",Math.max(0,parseInt(k.value))),null!=f&&f.fileChanged());a.hideDialog()}}else{m=null!=f?f.isCompressed():Editor.compressXml;d=document.createElement("tr");b=document.createElement("td");b.style.whiteSpace="nowrap";b.style.fontSize="10pt";b.style.width="120px";mxUtils.write(b,mxResources.get("compressed")+":");d.appendChild(b);var l=document.createElement("input");l.setAttribute("type","checkbox");m&&(l.setAttribute("checked","checked"), +l.defaultChecked=!0);b=document.createElement("td");b.style.whiteSpace="nowrap";b.appendChild(l);d.appendChild(b);g.appendChild(d);this.init=function(){l.focus()};b=function(){null!=a.fileNode&&(a.fileNode.setAttribute("compressed",l.checked?"true":"false"),null!=f&&f.fileChanged());a.hideDialog()}}m=mxUtils.button(mxResources.get("apply"),b);m.className="geBtn gePrimaryBtn";d=document.createElement("tr");b=document.createElement("td");b.colSpan=2;b.style.paddingTop="20px";b.style.whiteSpace="nowrap"; +b.setAttribute("align","right");n=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});n.className="geBtn";a.editor.cancelFirst&&b.appendChild(n);b.appendChild(m);a.editor.cancelFirst||b.appendChild(n);d.appendChild(b);g.appendChild(d);c.appendChild(g);this.container=c};(function(){"undefined"!==typeof html4&&(html4.ATTRIBS["span::data-lucid-content"]=0,html4.ATTRIBS["span::data-lucid-type"]=0,html4.ATTRIBS["font::data-font-src"]=0);Editor.prototype.appName="diagrams.net";Editor.prototype.diagramFileTypes=[{description:"diagramXmlDesc",extension:"drawio",mimeType:"text/xml"},{description:"diagramPngDesc",extension:"png",mimeType:"image/png"},{description:"diagramSvgDesc",extension:"svg",mimeType:"image/svg"},{description:"diagramHtmlDesc",extension:"html",mimeType:"text/html"}, {description:"diagramXmlDesc",extension:"xml",mimeType:"text/xml"}];Editor.prototype.libraryFileTypes=[{description:"Library (.drawiolib, .xml)",extensions:["drawiolib","xml"]}];Editor.prototype.fileExtensions=[{ext:"html",title:"filetypeHtml"},{ext:"png",title:"filetypePng"},{ext:"svg",title:"filetypeSvg"}];Editor.styles=[{},{commonStyle:{fontColor:"#5C5C5C",strokeColor:"#006658",fillColor:"#21C0A5"}},{commonStyle:{fontColor:"#095C86",strokeColor:"#AF45ED",fillColor:"#F694C1"},edgeStyle:{strokeColor:"#60E696"}}, {commonStyle:{fontColor:"#46495D",strokeColor:"#788AA3",fillColor:"#B2C9AB"}},{commonStyle:{fontColor:"#5AA9E6",strokeColor:"#FF6392",fillColor:"#FFE45E"}},{commonStyle:{fontColor:"#1D3557",strokeColor:"#457B9D",fillColor:"#A8DADC"},graph:{background:"#F1FAEE"}},{commonStyle:{fontColor:"#393C56",strokeColor:"#E07A5F",fillColor:"#F2CC8F"},graph:{background:"#F4F1DE",gridColor:"#D4D0C0"}},{commonStyle:{fontColor:"#143642",strokeColor:"#0F8B8D",fillColor:"#FAE5C7"},edgeStyle:{strokeColor:"#A8201A"}, graph:{background:"#DAD2D8",gridColor:"#ABA4A9"}},{commonStyle:{fontColor:"#FEFAE0",strokeColor:"#DDA15E",fillColor:"#BC6C25"},graph:{background:"#283618",gridColor:"#48632C"}},{commonStyle:{fontColor:"#E4FDE1",strokeColor:"#028090",fillColor:"#F45B69"},graph:{background:"#114B5F",gridColor:"#0B3240"}},{},{vertexStyle:{strokeColor:"#D0CEE2",fillColor:"#FAD9D5"},edgeStyle:{strokeColor:"#09555B"},commonStyle:{fontColor:"#1A1A1A"}},{vertexStyle:{strokeColor:"#BAC8D3",fillColor:"#09555B",fontColor:"#EEEEEE"}, @@ -9929,21 +9931,21 @@ dispName:"Jiggle",type:"float",min:0,defVal:1,isVisible:function(a,e){return"1"= dispName:"Arc Size",type:"float",min:0,defVal:mxConstants.LINE_ARCSIZE},{name:"sourcePortConstraint",dispName:"Source Constraint",type:"enum",defVal:"none",enumList:[{val:"none",dispName:"None"},{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",dispName:"South"},{val:"west",dispName:"West"}]},{name:"targetPortConstraint",dispName:"Target Constraint",type:"enum",defVal:"none",enumList:[{val:"none",dispName:"None"},{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south", dispName:"South"},{val:"west",dispName:"West"}]},{name:"jettySize",dispName:"Jetty Size",type:"int",min:0,defVal:"auto",allowAuto:!0,isVisible:function(a){return"orthogonalEdgeStyle"==mxUtils.getValue(a.style,mxConstants.STYLE_EDGE,null)}},{name:"fillOpacity",dispName:"Fill Opacity",type:"int",min:0,max:100,defVal:100},{name:"strokeOpacity",dispName:"Stroke Opacity",type:"int",min:0,max:100,defVal:100},{name:"startFill",dispName:"Start Fill",type:"bool",defVal:!0},{name:"endFill",dispName:"End Fill", type:"bool",defVal:!0},{name:"perimeterSpacing",dispName:"Terminal Spacing",type:"float",defVal:0},{name:"anchorPointDirection",dispName:"Anchor Direction",type:"bool",defVal:!0},{name:"snapToPoint",dispName:"Snap to Point",type:"bool",defVal:!1},{name:"fixDash",dispName:"Fixed Dash",type:"bool",defVal:!1},{name:"editable",dispName:"Editable",type:"bool",defVal:!0},{name:"metaEdit",dispName:"Edit Dialog",type:"bool",defVal:!1},{name:"backgroundOutline",dispName:"Background Outline",type:"bool",defVal:!1}, -{name:"bendable",dispName:"Bendable",type:"bool",defVal:!0},{name:"movable",dispName:"Movable",type:"bool",defVal:!0},{name:"cloneable",dispName:"Cloneable",type:"bool",defVal:!0},{name:"deletable",dispName:"Deletable",type:"bool",defVal:!0},{name:"orthogonalLoop",dispName:"Loop Routing",type:"bool",defVal:!1},{name:"noJump",dispName:"No Jumps",type:"bool",defVal:!1}].concat(Editor.commonProperties);Editor.commonVertexProperties=[{type:"separator"},{name:"resizeLastRow",dispName:"Resize Last Row", -type:"bool",getDefaultValue:function(a,e){var b=e.editorUi.editor.graph.getCellStyle(1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null);return"1"==mxUtils.getValue(b,"resizeLastRow","0")},isVisible:function(a,e){var b=e.editorUi.editor.graph;return 1==a.vertices.length&&0==a.edges.length&&b.isTable(a.vertices[0])}},{name:"resizeLast",dispName:"Resize Last Column",type:"bool",getDefaultValue:function(a,e){var b=e.editorUi.editor.graph.getCellStyle(1==a.vertices.length&&0==a.edges.length?a.vertices[0]: -null);return"1"==mxUtils.getValue(b,"resizeLast","0")},isVisible:function(a,e){var b=e.editorUi.editor.graph;return 1==a.vertices.length&&0==a.edges.length&&b.isTable(a.vertices[0])}},{name:"fillOpacity",dispName:"Fill Opacity",type:"int",min:0,max:100,defVal:100},{name:"strokeOpacity",dispName:"Stroke Opacity",type:"int",min:0,max:100,defVal:100},{name:"overflow",dispName:"Text Overflow",defVal:"visible",type:"enum",enumList:[{val:"visible",dispName:"Visible"},{val:"hidden",dispName:"Hidden"},{val:"block", -dispName:"Block"},{val:"fill",dispName:"Fill"},{val:"width",dispName:"Width"}]},{name:"noLabel",dispName:"Hide Label",type:"bool",defVal:!1},{name:"labelPadding",dispName:"Label Padding",type:"float",defVal:0},{name:"direction",dispName:"Direction",type:"enum",defVal:"east",enumList:[{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",dispName:"South"},{val:"west",dispName:"West"}]},{name:"portConstraint",dispName:"Constraint",type:"enum",defVal:"none",enumList:[{val:"none",dispName:"None"}, -{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",dispName:"South"},{val:"west",dispName:"West"}]},{name:"portConstraintRotation",dispName:"Rotate Constraint",type:"bool",defVal:!1},{name:"connectable",dispName:"Connectable",type:"bool",getDefaultValue:function(a,e){return e.editorUi.editor.graph.isCellConnectable(1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null)},isVisible:function(a,e){return 1==a.vertices.length&&0==a.edges.length}},{name:"allowArrows",dispName:"Allow Arrows", -type:"bool",defVal:!0},{name:"snapToPoint",dispName:"Snap to Point",type:"bool",defVal:!1},{name:"perimeter",dispName:"Perimeter",defVal:"none",type:"enum",enumList:[{val:"none",dispName:"None"},{val:"rectanglePerimeter",dispName:"Rectangle"},{val:"ellipsePerimeter",dispName:"Ellipse"},{val:"rhombusPerimeter",dispName:"Rhombus"},{val:"trianglePerimeter",dispName:"Triangle"},{val:"hexagonPerimeter2",dispName:"Hexagon"},{val:"lifelinePerimeter",dispName:"Lifeline"},{val:"orthogonalPerimeter",dispName:"Orthogonal"}, -{val:"backbonePerimeter",dispName:"Backbone"},{val:"calloutPerimeter",dispName:"Callout"},{val:"parallelogramPerimeter",dispName:"Parallelogram"},{val:"trapezoidPerimeter",dispName:"Trapezoid"},{val:"stepPerimeter",dispName:"Step"}]},{name:"fixDash",dispName:"Fixed Dash",type:"bool",defVal:!1},{name:"autosize",dispName:"Autosize",type:"bool",defVal:!1},{name:"container",dispName:"Container",type:"bool",defVal:!1,isVisible:function(a,e){return 1==a.vertices.length&&0==a.edges.length}},{name:"dropTarget", -dispName:"Drop Target",type:"bool",getDefaultValue:function(a,e){var b=1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null,c=e.editorUi.editor.graph;return null!=b&&(c.isSwimlane(b)||0%position%
Email\n#\n## Node style (placeholders are replaced once).\n## Default is the current style for nodes.\n#\n# style: label;image=%image%;whiteSpace=wrap;html=1;rounded=1;fillColor=%fill%;strokeColor=%stroke%;\n#\n## Parent style for nodes with child nodes (placeholders are replaced once).\n#\n# parentstyle: swimlane;whiteSpace=wrap;html=1;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;\n#\n## Optional column name that contains a reference to a named style in styles.\n## Default is the current style for nodes.\n#\n# stylename: -\n#\n## JSON for named styles of the form {"name": "style", "name": "style"} where style is a cell style with\n## placeholders that are replaced once.\n#\n# styles: -\n#\n## JSON for variables in styles of the form {"name": "value", "name": "value"} where name is a string\n## that will replace a placeholder in a style.\n#\n# vars: -\n#\n## Optional column name that contains a reference to a named label in labels.\n## Default is the current label.\n#\n# labelname: -\n#\n## JSON for named labels of the form {"name": "label", "name": "label"} where label is a cell label with\n## placeholders.\n#\n# labels: -\n#\n## Uses the given column name as the identity for cells (updates existing cells).\n## Default is no identity (empty value or -).\n#\n# identity: -\n#\n## Uses the given column name as the parent reference for cells. Default is no parent (empty or -).\n## The identity above is used for resolving the reference so it must be specified.\n#\n# parent: -\n#\n## Adds a prefix to the identity of cells to make sure they do not collide with existing cells (whose\n## IDs are numbers from 0..n, sometimes with a GUID prefix in the context of realtime collaboration).\n## Default is csvimport-.\n#\n# namespace: csvimport-\n#\n## Connections between rows ("from": source colum, "to": target column).\n## Label, style and invert are optional. Defaults are \'\', current style and false.\n## If placeholders are used in the style, they are replaced with data from the source.\n## An optional placeholders can be set to target to use data from the target instead.\n## In addition to label, an optional fromlabel and tolabel can be used to name the column\n## that contains the text for the label in the edges source or target (invert ignored).\n## The label is concatenated in the form fromlabel + label + tolabel if all are defined.\n## Additional labels can be added by using an optional labels array with entries of the\n## form {"label": string, "x": number, "y": number, "dx": number, "dy": number} where\n## x is from -1 to 1 along the edge, y is orthogonal, and dx/dy are offsets in pixels.\n## The target column may contain a comma-separated list of values.\n## Multiple connect entries are allowed.\n#\n# connect: {"from": "manager", "to": "name", "invert": true, "label": "manages", \\\n# "style": "curved=1;endArrow=blockThin;endFill=1;fontSize=11;"}\n# connect: {"from": "refs", "to": "id", "style": "curved=1;fontSize=11;"}\n#\n## Node x-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# left: \n#\n## Node y-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# top: \n#\n## Node width. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the width. Default is auto.\n#\n# width: auto\n#\n## Node height. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the height. Default is auto.\n#\n# height: auto\n#\n## Padding for autosize. Default is 0.\n#\n# padding: -12\n#\n## Comma-separated list of ignored columns for metadata. (These can be\n## used for connections and styles but will not be added as metadata.)\n#\n# ignore: id,image,fill,stroke,refs,manager\n#\n## Column to be renamed to link attribute (used as link).\n#\n# link: url\n#\n## Spacing between nodes. Default is 40.\n#\n# nodespacing: 40\n#\n## Spacing between levels of hierarchical layouts. Default is 100.\n#\n# levelspacing: 100\n#\n## Spacing between parallel edges. Default is 40. Use 0 to disable.\n#\n# edgespacing: 40\n#\n## Name or JSON of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle or a JSON string as used in Layout, Apply.\n## Default is auto.\n#\n# layout: auto\n#\n## ---- CSV below this line. First line are column names. ----\nname,position,id,location,manager,email,fill,stroke,refs,url,image\nTessa Miller,CFO,emi,Office 1,,me@example.com,#dae8fc,#6c8ebf,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-3-128.png\nEdward Morrison,Brand Manager,emo,Office 2,Tessa Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-10-3-128.png\nAlison Donovan,System Admin,rdo,Office 3,Tessa Miller,me@example.com,#d5e8d4,#82b366,"emo,tva",https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-2-128.png\nEvan Valet,HR Director,tva,Office 4,Tessa Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-9-2-128.png\n'; -Editor.createRoughCanvas=function(a){var e=rough.canvas({getContext:function(){return a}});e.draw=function(e){var b=e.sets||[];e=e.options||this.getDefaultOptions();for(var c=0;cg&&(g=c.strokeWidth/2);a.setStrokeAlpha(a.state.fillAlpha);a.setStrokeColor(c.fill||"");a.setStrokeWidth(g);a.setDashed(!1);this._drawToContext(e,b,c);a.setDashed(f);a.setStrokeWidth(k);a.setStrokeColor(d);a.setStrokeAlpha(m)};e._drawToContext=function(a,e,b){a.begin();for(var c=0;c%position%
Email\n#\n## Node style (placeholders are replaced once).\n## Default is the current style for nodes.\n#\n# style: label;image=%image%;whiteSpace=wrap;html=1;rounded=1;fillColor=%fill%;strokeColor=%stroke%;\n#\n## Parent style for nodes with child nodes (placeholders are replaced once).\n#\n# parentstyle: swimlane;whiteSpace=wrap;html=1;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;\n#\n## Optional column name that contains a reference to a named style in styles.\n## Default is the current style for nodes.\n#\n# stylename: -\n#\n## JSON for named styles of the form {"name": "style", "name": "style"} where style is a cell style with\n## placeholders that are replaced once.\n#\n# styles: -\n#\n## JSON for variables in styles of the form {"name": "value", "name": "value"} where name is a string\n## that will replace a placeholder in a style.\n#\n# vars: -\n#\n## Optional column name that contains a reference to a named label in labels.\n## Default is the current label.\n#\n# labelname: -\n#\n## JSON for named labels of the form {"name": "label", "name": "label"} where label is a cell label with\n## placeholders.\n#\n# labels: -\n#\n## Uses the given column name as the identity for cells (updates existing cells).\n## Default is no identity (empty value or -).\n#\n# identity: -\n#\n## Uses the given column name as the parent reference for cells. Default is no parent (empty or -).\n## The identity above is used for resolving the reference so it must be specified.\n#\n# parent: -\n#\n## Adds a prefix to the identity of cells to make sure they do not collide with existing cells (whose\n## IDs are numbers from 0..n, sometimes with a GUID prefix in the context of realtime collaboration).\n## Default is csvimport-.\n#\n# namespace: csvimport-\n#\n## Connections between rows ("from": source colum, "to": target column).\n## Label, style and invert are optional. Defaults are \'\', current style and false.\n## If placeholders are used in the style, they are replaced with data from the source.\n## An optional placeholders can be set to target to use data from the target instead.\n## In addition to label, an optional fromlabel and tolabel can be used to name the column\n## that contains the text for the label in the edges source or target (invert ignored).\n## The label is concatenated in the form fromlabel + label + tolabel if all are defined.\n## Additional labels can be added by using an optional labels array with entries of the\n## form {"label": string, "x": number, "y": number, "dx": number, "dy": number} where\n## x is from -1 to 1 along the edge, y is orthogonal, and dx/dy are offsets in pixels.\n## The target column may contain a comma-separated list of values.\n## Multiple connect entries are allowed.\n#\n# connect: {"from": "manager", "to": "name", "invert": true, "label": "manages", \\\n# "style": "curved=1;endArrow=blockThin;endFill=1;fontSize=11;"}\n# connect: {"from": "refs", "to": "id", "style": "curved=1;fontSize=11;"}\n#\n## Node x-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# left: \n#\n## Node y-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# top: \n#\n## Node width. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the width. Default is auto.\n#\n# width: auto\n#\n## Node height. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the height. Default is auto.\n#\n# height: auto\n#\n## Padding for autosize. Default is 0.\n#\n# padding: -12\n#\n## Comma-separated list of ignored columns for metadata. (These can be\n## used for connections and styles but will not be added as metadata.)\n#\n# ignore: id,image,fill,stroke,refs,manager\n#\n## Column to be renamed to link attribute (used as link).\n#\n# link: url\n#\n## Spacing between nodes. Default is 40.\n#\n# nodespacing: 40\n#\n## Spacing between levels of hierarchical layouts. Default is 100.\n#\n# levelspacing: 100\n#\n## Spacing between parallel edges. Default is 40. Use 0 to disable.\n#\n# edgespacing: 40\n#\n## Name or JSON of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle or a JSON string as used in Layout, Apply.\n## Default is auto.\n#\n# layout: auto\n#\n## ---- CSV below this line. First line are column names. ----\nname,position,id,location,manager,email,fill,stroke,refs,url,image\nTessa Miller,CFO,emi,Office 1,,me@example.com,#dae8fc,#6c8ebf,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-3-128.png\nEdward Morrison,Brand Manager,emo,Office 2,Tessa Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-10-3-128.png\nAlison Donovan,System Admin,rdo,Office 3,Tessa Miller,me@example.com,#d5e8d4,#82b366,"emo,tva",https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-2-128.png\nEvan Valet,HR Director,tva,Office 4,Tessa Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-9-2-128.png\n'; +Editor.createRoughCanvas=function(a){var e=rough.canvas({getContext:function(){return a}});e.draw=function(e){var b=e.sets||[];e=e.options||this.getDefaultOptions();for(var c=0;cg&&(g=c.strokeWidth/2);a.setStrokeAlpha(a.state.fillAlpha);a.setStrokeColor(c.fill||"");a.setStrokeWidth(g);a.setDashed(!1);this._drawToContext(e,b,c);a.setDashed(f);a.setStrokeWidth(k);a.setStrokeColor(d);a.setStrokeAlpha(l)};e._drawToContext=function(a,e,b){a.begin();for(var c=0;cd){e=a.substring(d,g);break}}10==f&&("endobj"==b?m=null:"obj"==b.substring(b.length-3,b.length)||"xref"==b||"trailer"==b?(m=[],k[b.split(" ")[0]]=m):null!=m&&m.push(b),b="")}null==e&&(e=Editor.extractGraphModelFromXref(k));null!=e&&(e=decodeURIComponent(e.replace(/\\\(/g,"(").replace(/\\\)/g,")")));return e};Editor.extractGraphModelFromXref=function(a){var e=a.trailer,b=null;null!=e&&(e=/.* \/Info (\d+) (\d+) R/g.exec(e.join("\n")),null!=e&&0d){e=a.substring(d,g);break}}10==f&&("endobj"==b?l=null:"obj"==b.substring(b.length-3,b.length)||"xref"==b||"trailer"==b?(l=[],k[b.split(" ")[0]]=l):null!=l&&l.push(b),b="")}null==e&&(e=Editor.extractGraphModelFromXref(k));null!=e&&(e=decodeURIComponent(e.replace(/\\\(/g,"(").replace(/\\\)/g,")")));return e};Editor.extractGraphModelFromXref=function(a){var e=a.trailer,b=null;null!=e&&(e=/.* \/Info (\d+) (\d+) R/g.exec(e.join("\n")),null!=e&&0>2);e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((d&3)<<4);e+="==";break}k=a.charCodeAt(b++);if(b==c){e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(d>>2);e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((d& -3)<<4|(k&240)>>4);e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((k&15)<<2);e+="=";break}m=a.charCodeAt(b++);e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(d>>2);e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((d&3)<<4|(k&240)>>4);e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((k&15)<<2|(m&192)>>6);e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(m&63)}return e}; -Editor.prototype.loadUrl=function(a,e,b,c,d,k,m,f){try{var g=!m&&(c||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a)||/(\.pdf)($|\?)/i.test(a));d=null!=d?d:!0;var p=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=e){var c=a.getText();if(g){if((9==document.documentMode||10==document.documentMode)&&"undefined"!==typeof window.mxUtilsBinaryToArray){a=mxUtilsBinaryToArray(a.request.responseBody).toArray(); +function(a,e,b,c){null==c&&(c=this.createImageUrlConverter());var d=0,k=b||{};b=mxUtils.bind(this,function(b,l){for(var f=a.getElementsByTagName(b),g=0;g>2);e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((d&3)<<4);e+="==";break}k=a.charCodeAt(b++);if(b==c){e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(d>>2);e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((d& +3)<<4|(k&240)>>4);e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((k&15)<<2);e+="=";break}l=a.charCodeAt(b++);e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(d>>2);e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((d&3)<<4|(k&240)>>4);e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((k&15)<<2|(l&192)>>6);e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(l&63)}return e}; +Editor.prototype.loadUrl=function(a,e,b,c,d,k,l,f){try{var g=!l&&(c||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a)||/(\.pdf)($|\?)/i.test(a));d=null!=d?d:!0;var p=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=e){var c=a.getText();if(g){if((9==document.documentMode||10==document.documentMode)&&"undefined"!==typeof window.mxUtilsBinaryToArray){a=mxUtilsBinaryToArray(a.request.responseBody).toArray(); for(var c=Array(a.length),d=0;dg;g++)for(var f=g,l=0;8>l;l++)f=1==(f&1)?3988292384^f>>>1:f>>>1,Editor.crcTable[g]=f;Editor.updateCRC=function(a,e,b,c){for(var d=0;d>>8;return a};Editor.crc32=function(a){for(var e=-1,b=0;b>> -8^Editor.crcTable[(e^a.charCodeAt(b))&255];return(e^-1)>>>0};Editor.writeGraphModelToPng=function(a,e,b,c,d){function k(a,e){var b=g;g+=e;return a.substring(b,g)}function m(a){a=k(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function f(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var g=0;if(k(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26, -10))null!=d&&d();else if(k(a,4),"IHDR"!=k(a,4))null!=d&&d();else{k(a,17);d=a.substring(0,g);do{var p=m(a);if("IDAT"==k(a,4)){d=a.substring(0,g-8);"pHYs"==e&&"dpi"==b?(b=Math.round(c/.0254),b=f(b)+f(b)+String.fromCharCode(1)):b=b+String.fromCharCode(0)+("zTXt"==e?String.fromCharCode(0):"")+c;c=4294967295;c=Editor.updateCRC(c,e,0,4);c=Editor.updateCRC(c,b,0,b.length);d+=f(b.length)+e+b+f(c^4294967295);d+=a.substring(g-8,a.length);break}d+=a.substring(g-8,g-4+p);k(a,p);k(a,4)}while(p);return"data:image/png;base64,"+ +Editor.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||this.useCanvasForExport};Editor.prototype.getMaxCanvasScale=function(a,e,b){var c=mxClient.IS_FF?8192:16384;return Math.min(b,Math.min(c/a,c/e))};Editor.prototype.exportToCanvas=function(a,e,b,c,d,k,l,f,g,p,u,t,q,m,n,z,v){try{k=null!=k?k:!0;l=null!=l?l:!0;t=null!=t?t:this.graph;q=null!=q?q:0;var A=g?null:t.background;A==mxConstants.NONE&&(A=null);null==A&&(A=c);null==A&&0==g&&(A=z?this.graph.defaultPageBackgroundColor:"#ffffff"); +this.convertImages(t.getSvg(null,null,q,m,null,l,null,null,null,p,null,z,v),mxUtils.bind(this,function(b){try{var c=new Image;c.onload=mxUtils.bind(this,function(){try{var l=function(){mxClient.IS_SF?window.setTimeout(function(){m.drawImage(c,0,0);a(g)},0):(m.drawImage(c,0,0),a(g))},g=document.createElement("canvas"),p=parseInt(b.getAttribute("width")),u=parseInt(b.getAttribute("height"));f=null!=f?f:1;null!=e&&(f=k?Math.min(1,Math.min(3*e/(4*u),e/p)):e/p);f=this.getMaxCanvasScale(p,u,f);p=Math.ceil(f* +p);u=Math.ceil(f*u);g.setAttribute("width",p);g.setAttribute("height",u);var m=g.getContext("2d");null!=A&&(m.beginPath(),m.rect(0,0,p,u),m.fillStyle=A,m.fill());1!=f&&m.scale(f,f);if(n){var z=t.view,v=z.scale;z.scale=1;var x=btoa(unescape(encodeURIComponent(z.createSvgGrid(z.gridColor))));z.scale=v;var x="data:image/svg+xml;base64,"+x,C=t.gridSize*z.gridSteps*f,y=t.getGraphBounds(),E=z.translate.x*v,M=z.translate.y*v,L=E+(y.x-E)/v-q,N=M+(y.y-M)/v-q,B=new Image;B.onload=function(){try{for(var a=-Math.round(C- +mxUtils.mod((E-L)*f,C)),e=-Math.round(C-mxUtils.mod((M-N)*f,C));ag;g++)for(var f=g,m=0;8>m;m++)f=1==(f&1)?3988292384^f>>>1:f>>>1,Editor.crcTable[g]=f;Editor.updateCRC=function(a,e,b,c){for(var d=0;d>>8;return a};Editor.crc32=function(a){for(var e=-1,b=0;b>> +8^Editor.crcTable[(e^a.charCodeAt(b))&255];return(e^-1)>>>0};Editor.writeGraphModelToPng=function(a,e,b,c,d){function k(a,e){var b=g;g+=e;return a.substring(b,g)}function l(a){a=k(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function f(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var g=0;if(k(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26, +10))null!=d&&d();else if(k(a,4),"IHDR"!=k(a,4))null!=d&&d();else{k(a,17);d=a.substring(0,g);do{var p=l(a);if("IDAT"==k(a,4)){d=a.substring(0,g-8);"pHYs"==e&&"dpi"==b?(b=Math.round(c/.0254),b=f(b)+f(b)+String.fromCharCode(1)):b=b+String.fromCharCode(0)+("zTXt"==e?String.fromCharCode(0):"")+c;c=4294967295;c=Editor.updateCRC(c,e,0,4);c=Editor.updateCRC(c,b,0,b.length);d+=f(b.length)+e+b+f(c^4294967295);d+=a.substring(g-8,a.length);break}d+=a.substring(g-8,g-4+p);k(a,p);k(a,4)}while(p);return"data:image/png;base64,"+ (window.btoa?btoa(d):Base64.encode(d,!0))}};if(window.ColorDialog){FilenameDialog.filenameHelpLink="https://www.diagrams.net/doc/faq/save-file-formats";var n=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(a,e){n.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()};var e=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){e.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}window.EditDataDialog&& -(EditDataDialog.getDisplayIdForCell=function(a,e){var b=null;null!=a.editor.graph.getModel().getParent(e)?b=e.getId():null!=a.currentPage&&(b=a.currentPage.getId());return b});if(null!=window.StyleFormatPanel){var k=Format.prototype.init;Format.prototype.init=function(){k.apply(this,arguments);this.editorUi.editor.addListener("fileLoaded",this.update)};var m=Format.prototype.refresh;Format.prototype.refresh=function(){null!=this.editorUi.getCurrentFile()||"1"==urlParams.embed||this.editorUi.editor.chromeless? -m.apply(this,arguments):this.clear()};DiagramFormatPanel.prototype.isShadowOptionVisible=function(){var a=this.editorUi.getCurrentFile();return"1"==urlParams.embed||null!=a&&a.isEditable()};DiagramFormatPanel.prototype.isMathOptionVisible=function(a){return!1};var p=DiagramFormatPanel.prototype.addView;DiagramFormatPanel.prototype.addView=function(a){a=p.apply(this,arguments);this.editorUi.getCurrentFile();if(mxClient.IS_SVG&&this.isShadowOptionVisible()){var e=this.editorUi,b=e.editor.graph,c=this.createOption(mxResources.get("shadow"), +(EditDataDialog.getDisplayIdForCell=function(a,e){var b=null;null!=a.editor.graph.getModel().getParent(e)?b=e.getId():null!=a.currentPage&&(b=a.currentPage.getId());return b});if(null!=window.StyleFormatPanel){var k=Format.prototype.init;Format.prototype.init=function(){k.apply(this,arguments);this.editorUi.editor.addListener("fileLoaded",this.update)};var l=Format.prototype.refresh;Format.prototype.refresh=function(){null!=this.editorUi.getCurrentFile()||"1"==urlParams.embed||this.editorUi.editor.chromeless? +l.apply(this,arguments):this.clear()};DiagramFormatPanel.prototype.isShadowOptionVisible=function(){var a=this.editorUi.getCurrentFile();return"1"==urlParams.embed||null!=a&&a.isEditable()};DiagramFormatPanel.prototype.isMathOptionVisible=function(a){return!1};var p=DiagramFormatPanel.prototype.addView;DiagramFormatPanel.prototype.addView=function(a){a=p.apply(this,arguments);this.editorUi.getCurrentFile();if(mxClient.IS_SVG&&this.isShadowOptionVisible()){var e=this.editorUi,b=e.editor.graph,c=this.createOption(mxResources.get("shadow"), function(){return b.shadowVisible},function(a){var c=new ChangePageSetup(e);c.ignoreColor=!0;c.ignoreImage=!0;c.shadowVisible=a;b.model.execute(c)},{install:function(a){this.listener=function(){a(b.shadowVisible)};e.addListener("shadowVisibleChanged",this.listener)},destroy:function(){e.removeListener(this.listener)}});Editor.shadowOptionEnabled||(c.getElementsByTagName("input")[0].setAttribute("disabled","disabled"),mxUtils.setOpacity(c,60));a.appendChild(c)}return a};var u=DiagramFormatPanel.prototype.addOptions; DiagramFormatPanel.prototype.addOptions=function(a){a=u.apply(this,arguments);var e=this.editorUi,b=e.editor.graph;if(b.isEnabled()){var c=e.getCurrentFile();if(null!=c&&c.isAutosaveOptional()){var d=this.createOption(mxResources.get("autosave"),function(){return e.editor.autosave},function(a){e.editor.setAutosave(a);e.editor.autosave&&c.isModified()&&c.fileChanged()},{install:function(a){this.listener=function(){a(e.editor.autosave)};e.editor.addListener("autosaveChanged",this.listener)},destroy:function(){e.editor.removeListener(this.listener)}}); a.appendChild(d)}}if(this.isMathOptionVisible()&&b.isEnabled()&&"undefined"!==typeof MathJax){d=this.createOption(mxResources.get("mathematicalTypesetting"),function(){return b.mathEnabled},function(a){e.actions.get("mathematicalTypesetting").funct()},{install:function(a){this.listener=function(){a(b.mathEnabled)};e.addListener("mathEnabledChanged",this.listener)},destroy:function(){e.removeListener(this.listener)}});d.style.paddingTop="5px";a.appendChild(d);var k=e.menus.createHelpLink("https://www.diagrams.net/doc/faq/math-typesetting"); @@ -10043,33 +10045,33 @@ gradient:"#ea6b66"},{fill:"#e6d0de",stroke:"#996185",gradient:"#d5739d"}],[{fill c(d.shape.customProperties));a=a.getAttribute("customProperties");if(null!=a)try{c(JSON.parse(a))}catch(S){}}};var t=StyleFormatPanel.prototype.init;StyleFormatPanel.prototype.init=function(){var a=this.format.createSelectionState();"image"==a.style.shape||a.containsLabel||this.container.appendChild(this.addStyles(this.createPanel()));t.apply(this,arguments);if(Editor.enableCustomProperties){for(var e={},b=a.vertices,c=a.edges,d=0;db.size&&(m=m.slice(0,b.size));e=m.join(",");null!=b.countProperty&&(t.setCellStyles(b.countProperty,m.length,t.getSelectionCells()),d.push(b.countProperty),k.push(m.length))}t.setCellStyles(a, -e,t.getSelectionCells());d.push(a);k.push(e);if(null!=b.dependentProps)for(a=0;ae)p=p.slice(0,e);else for(var l=p.length;lb.size&&(l=l.slice(0,b.size));e=l.join(",");null!=b.countProperty&&(t.setCellStyles(b.countProperty,l.length,t.getSelectionCells()),d.push(b.countProperty),k.push(l.length))}t.setCellStyles(a, +e,t.getSelectionCells());d.push(a);k.push(e);if(null!=b.dependentProps)for(a=0;ae)p=p.slice(0,e);else for(var q=p.length;qp.max&&(a=p.max);a=mxUtils.htmlEntities(("int"==n?parseInt(a):a)+"");c(e,a,p)}var m=document.createElement("input");d(v,m,!0);m.value=b;m.className="gePropEditor";"int"!=n&&"float"!=n||p.allowAuto||(m.type="number",m.step="int"==n?"1":"any",null!=p.min&&(m.min=parseFloat(p.min)),null!=p.max&&(m.max=parseFloat(p.max)));a.appendChild(m);mxEvent.addListener(m,"keypress",function(a){13==a.keyCode&&k()});m.focus();mxEvent.addListener(m,"blur",function(){k()})})));p.isDeletable&&(l=mxUtils.button("-", -mxUtils.bind(u,function(a){c(e,"",p,p.index);mxEvent.consume(a)})),l.style.height="16px",l.style.width="25px",l.style["float"]="right",l.className="geColorBtn",v.appendChild(l));z.appendChild(v);return z}var u=this,t=this.editorUi.editor.graph,q=[];a.style.position="relative";a.style.padding="0";var l=document.createElement("table");l.className="geProperties";l.style.whiteSpace="nowrap";l.style.width="100%";var n=document.createElement("tr");n.className="gePropHeader";var z=document.createElement("th"); -z.className="gePropHeaderCell";var v=document.createElement("img");v.src=Sidebar.prototype.expandedImage;z.appendChild(v);mxUtils.write(z,mxResources.get("property"));n.style.cursor="pointer";var B=function(){var e=l.querySelectorAll(".gePropNonHeaderRow"),b;if(u.editorUi.propertiesCollapsed){v.src=Sidebar.prototype.collapsedImage;b="none";for(var c=a.childNodes.length-1;0<=c;c--)try{var d=a.childNodes[c],k=d.nodeName.toUpperCase();"INPUT"!=k&&"SELECT"!=k||a.removeChild(d)}catch(la){}}else v.src= -Sidebar.prototype.expandedImage,b="";for(c=0;cp.max&&(a=p.max);a=mxUtils.htmlEntities(("int"==n?parseInt(a):a)+"");c(e,a,p)}var l=document.createElement("input");d(v,l,!0);l.value=b;l.className="gePropEditor";"int"!=n&&"float"!=n||p.allowAuto||(l.type="number",l.step="int"==n?"1":"any",null!=p.min&&(l.min=parseFloat(p.min)),null!=p.max&&(l.max=parseFloat(p.max)));a.appendChild(l);mxEvent.addListener(l,"keypress",function(a){13==a.keyCode&&k()});l.focus();mxEvent.addListener(l,"blur",function(){k()})})));p.isDeletable&&(q=mxUtils.button("-", +mxUtils.bind(u,function(a){c(e,"",p,p.index);mxEvent.consume(a)})),q.style.height="16px",q.style.width="25px",q.style["float"]="right",q.className="geColorBtn",v.appendChild(q));z.appendChild(v);return z}var u=this,t=this.editorUi.editor.graph,m=[];a.style.position="relative";a.style.padding="0";var q=document.createElement("table");q.className="geProperties";q.style.whiteSpace="nowrap";q.style.width="100%";var n=document.createElement("tr");n.className="gePropHeader";var z=document.createElement("th"); +z.className="gePropHeaderCell";var v=document.createElement("img");v.src=Sidebar.prototype.expandedImage;z.appendChild(v);mxUtils.write(z,mxResources.get("property"));n.style.cursor="pointer";var A=function(){var e=q.querySelectorAll(".gePropNonHeaderRow"),b;if(u.editorUi.propertiesCollapsed){v.src=Sidebar.prototype.collapsedImage;b="none";for(var c=a.childNodes.length-1;0<=c;c--)try{var d=a.childNodes[c],k=d.nodeName.toUpperCase();"INPUT"!=k&&"SELECT"!=k||a.removeChild(d)}catch(la){}}else v.src= +Sidebar.prototype.expandedImage,b="";for(c=0;c=this.defaultColorSchemes.length?"24px":"30px";e.style.margin="0px 6px 6px 0px";if(null!=a)null!=a.gradient?mxClient.IS_IE&&(mxClient.IS_QUIRKS||10>document.documentMode)?e.style.filter="progid:DXImageTransform.Microsoft.Gradient(StartColorStr='"+a.fill+"', EndColorStr='"+a.gradient+"', GradientType=0)":e.style.backgroundImage="linear-gradient("+a.fill+" 0px,"+a.gradient+" 100%)":a.fill==mxConstants.NONE?e.style.background="url('"+Dialog.prototype.noColorImage+"')":e.style.backgroundColor=""== a.fill?mxUtils.getValue(b.initialDefaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"dark"==uiTheme?"#2a2a2a":"#ffffff"):a.fill||mxUtils.getValue(b.initialDefaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"dark"==uiTheme?"#2a2a2a":"#ffffff"),e.style.border=a.stroke==mxConstants.NONE?"1px solid transparent":""==a.stroke?"1px solid "+mxUtils.getValue(b.initialDefaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"dark"!=uiTheme?"#2a2a2a":"#ffffff"):"1px solid "+(a.stroke||mxUtils.getValue(b.initialDefaultVertexStyle, -mxConstants.STYLE_STROKECOLOR,"dark"!=uiTheme?"#2a2a2a":"#ffffff"));else{var m=mxUtils.getValue(c.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"#ffffff"),f=mxUtils.getValue(c.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"#000000");e.style.backgroundColor=m;e.style.border="1px solid "+f}d.appendChild(e)});d.innerHTML="";for(var m=0;m=this.defaultColorSchemes.length? -28:8,l=document.createElement("div");l.style.cssText="position:absolute;left:10px;top:8px;bottom:"+g+"px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ4eHh3d3d1dXVxcXF2dnZ2dnZ2dnZxcXF2dnYmb3w1AAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADRJREFUCNdjwACMAmBKaiGYs2oJmLPKAZ3DabU8AMRTXpUKopislqFyVzCAuUZgikkBZjoAcMYLnp53P/UAAAAASUVORK5CYII=);";mxEvent.addListener(l, -"click",mxUtils.bind(this,function(){t(mxUtils.mod(this.format.currentScheme-1,this.defaultColorSchemes.length))}));var q=document.createElement("div");q.style.cssText="position:absolute;left:202px;top:8px;bottom:"+g+"px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnYBuwCcAAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADZJREFUCNdjQAOMAmBKaiGY8loF5rKswsZlrVo8AUiFrTICcbIWK8A5DF1gDoMymMPApIAwHwCS0Qx/U7qCBQAAAABJRU5ErkJggg==);"; -1=this.defaultColorSchemes.length&&a.appendChild(m);return a};StyleFormatPanel.prototype.addEditOps=function(a){var e=this.format.getSelectionState(),b=null;1==this.editorUi.editor.graph.getSelectionCount()&&(b=mxUtils.button(mxResources.get("editStyle"), +mxConstants.STYLE_STROKECOLOR,"dark"!=uiTheme?"#2a2a2a":"#ffffff"));else{var l=mxUtils.getValue(c.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"#ffffff"),f=mxUtils.getValue(c.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"#000000");e.style.backgroundColor=l;e.style.border="1px solid "+f}d.appendChild(e)});d.innerHTML="";for(var l=0;l=this.defaultColorSchemes.length? +28:8,q=document.createElement("div");q.style.cssText="position:absolute;left:10px;top:8px;bottom:"+g+"px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ4eHh3d3d1dXVxcXF2dnZ2dnZ2dnZxcXF2dnYmb3w1AAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADRJREFUCNdjwACMAmBKaiGYs2oJmLPKAZ3DabU8AMRTXpUKopislqFyVzCAuUZgikkBZjoAcMYLnp53P/UAAAAASUVORK5CYII=);";mxEvent.addListener(q, +"click",mxUtils.bind(this,function(){t(mxUtils.mod(this.format.currentScheme-1,this.defaultColorSchemes.length))}));var m=document.createElement("div");m.style.cssText="position:absolute;left:202px;top:8px;bottom:"+g+"px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnYBuwCcAAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADZJREFUCNdjQAOMAmBKaiGY8loF5rKswsZlrVo8AUiFrTICcbIWK8A5DF1gDoMymMPApIAwHwCS0Qx/U7qCBQAAAABJRU5ErkJggg==);"; +1=this.defaultColorSchemes.length&&a.appendChild(l);return a};StyleFormatPanel.prototype.addEditOps=function(a){var e=this.format.getSelectionState(),b=null;1==this.editorUi.editor.graph.getSelectionCount()&&(b=mxUtils.button(mxResources.get("editStyle"), mxUtils.bind(this,function(a){this.editorUi.actions.get("editStyle").funct()})),b.setAttribute("title",mxResources.get("editStyle")+" ("+this.editorUi.actions.get("editStyle").shortcut+")"),b.style.width="202px",b.style.marginBottom="2px",a.appendChild(b));var c=this.editorUi.editor.graph,d=c.view.getState(c.getSelectionCell());1==c.getSelectionCount()&&null!=d&&null!=d.shape&&null!=d.shape.stencil?(e=mxUtils.button(mxResources.get("editShape"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editShape").funct()})), e.setAttribute("title",mxResources.get("editShape")),e.style.marginBottom="2px",null==b?e.style.width="202px":(b.style.width="100px",e.style.width="100px",e.style.marginLeft="2px"),a.appendChild(e)):e.image&&(e=mxUtils.button(mxResources.get("editImage"),mxUtils.bind(this,function(a){this.editorUi.actions.get("image").funct()})),e.setAttribute("title",mxResources.get("editImage")),e.style.marginBottom="2px",null==b?e.style.width="202px":(b.style.width="100px",e.style.width="100px",e.style.marginLeft= "2px"),a.appendChild(e));return a}}Graph.customFontElements={};Graph.recentCustomFonts={};Graph.isGoogleFontUrl=function(a){return a.substring(0,Editor.GOOGLE_FONTS.length)==Editor.GOOGLE_FONTS};Graph.isCssFontUrl=function(a){return Graph.isGoogleFontUrl(a)};Graph.createFontElement=function(a,e){var b;Graph.isCssFontUrl(e)?(b=document.createElement("link"),b.setAttribute("rel","stylesheet"),b.setAttribute("type","text/css"),b.setAttribute("charset","UTF-8"),b.setAttribute("href",e)):(b=document.createElement("style"), @@ -10081,22 +10083,22 @@ e.screenY=a.screenY,e.clientX=a.clientX,e.clientY=a.clientY,e.ctrlKey=a.ctrlKey, e};var b=this.getInsertPoint;this.getInsertPoint=function(){return null!=e?this.getPointForEvent(e):b.apply(this,arguments)};var c=this.layoutManager.getLayout;this.layoutManager.getLayout=function(a){var e=this.graph.getCellStyle(a);if(null!=e){if("rack"==e.childLayout){var b=new mxStackLayout(this.graph,!1);b.gridSize=null!=e.rackUnitSize?parseFloat(e.rackUnitSize):"undefined"!==typeof mxRackContainer?mxRackContainer.unitSize:20;b.marginLeft=e.marginLeft||0;b.marginRight=e.marginRight||0;b.marginTop= e.marginTop||0;b.marginBottom=e.marginBottom||0;b.allowGaps=e.allowGaps||0;b.horizontal="1"==mxUtils.getValue(e,"horizontalRack","0");b.resizeParent=!1;b.fill=!0;return b}if("undefined"!==typeof mxTableLayout&&"tableLayout"==e.childLayout)return b=new mxTableLayout(this.graph),b.rows=e.tableRows||2,b.columns=e.tableColumns||2,b.colPercentages=e.colPercentages,b.rowPercentages=e.rowPercentages,b.equalColumns="1"==mxUtils.getValue(e,"equalColumns",b.colPercentages?"0":"1"),b.equalRows="1"==mxUtils.getValue(e, "equalRows",b.rowPercentages?"0":"1"),b.resizeParent="1"==mxUtils.getValue(e,"resizeParent","1"),b.border=e.tableBorder||b.border,b.marginLeft=e.marginLeft||0,b.marginRight=e.marginRight||0,b.marginTop=e.marginTop||0,b.marginBottom=e.marginBottom||0,b.autoAddCol="1"==mxUtils.getValue(e,"autoAddCol","0"),b.autoAddRow="1"==mxUtils.getValue(e,"autoAddRow",b.autoAddCol?"0":"1"),b.colWidths=e.colWidths||"100",b.rowHeights=e.rowHeights||"50",b}return c.apply(this,arguments)};this.updateGlobalUrlVariables()}; -var y=Graph.prototype.postProcessCellStyle;Graph.prototype.postProcessCellStyle=function(a){return Graph.processFontStyle(y.apply(this,arguments))};var x=mxSvgCanvas2D.prototype.updateTextNodes;mxSvgCanvas2D.prototype.updateTextNodes=function(a,e,b,c,d,k,m,f,g,p,t){x.apply(this,arguments);Graph.processFontAttributes(t)};var A=mxText.prototype.redraw;mxText.prototype.redraw=function(){A.apply(this,arguments);null!=this.node&&"DIV"==this.node.nodeName&&Graph.processFontAttributes(this.node)};Graph.prototype.getCustomFonts= +var y=Graph.prototype.postProcessCellStyle;Graph.prototype.postProcessCellStyle=function(a){return Graph.processFontStyle(y.apply(this,arguments))};var x=mxSvgCanvas2D.prototype.updateTextNodes;mxSvgCanvas2D.prototype.updateTextNodes=function(a,e,b,c,d,k,l,f,g,p,t){x.apply(this,arguments);Graph.processFontAttributes(t)};var B=mxText.prototype.redraw;mxText.prototype.redraw=function(){B.apply(this,arguments);null!=this.node&&"DIV"==this.node.nodeName&&Graph.processFontAttributes(this.node)};Graph.prototype.getCustomFonts= function(){var a=this.extFonts,a=null!=a?a.slice():[],e;for(e in Graph.customFontElements){var b=Graph.customFontElements[e];a.push({name:b.name,url:b.url})}return a};Graph.prototype.setFont=function(a,e){Graph.addFont(a,e);document.execCommand("fontname",!1,a);if(null!=e){var b=this.cellEditor.textarea.getElementsByTagName("font");e=Graph.getFontUrl(a,e);for(var c=0;c=a.length){for(var t=p=0;t=a.length){for(var t=p=0;t'),b.writeln(Editor.mathJaxWebkitCss),b.writeln("");mxClient.IS_GC&&(b.writeln('"));null!=a.editor.fontCss&&(b.writeln('"));for(var c=e.getCustomFonts(),d=0;d'):(b.writeln('"))}};if("undefined"!==typeof MathJax){var F=b.renderPage;b.renderPage=function(e,b,c,d,k,m){var f=mxClient.NO_FO; -mxClient.NO_FO=this.graph.mathEnabled&&!a.editor.useForeignObjectForMath?!0:a.editor.originalNoForeignObject;var g=F.apply(this,arguments);mxClient.NO_FO=f;this.graph.mathEnabled?this.mathEnabled=this.mathEnabled||!0:g.className="geDisableMathJax";return g}}l=null;null!=d.themes&&"darkTheme"==d.defaultThemeName&&(l=d.stylesheet,d.stylesheet=d.getDefaultStylesheet(),d.refresh());b.open(null,null,k,!0);null!=l&&(d.stylesheet=l,d.refresh())}else{n=e.background;if(null==n||""==n||n==mxConstants.NONE)n= -"#ffffff";b.backgroundColor=n;b.autoOrigin=x;b.appendGraph(e,z,l,q,k,!0);k=e.getCustomFonts();if(null!=b.wnd)for(l=0;l'):(b.wnd.document.writeln('"))}m&& -(e.useCssTransforms=m,e.currentTranslate=f,e.currentScale=g,e.view.translate=p,e.view.scale=t);return b}var c=parseInt(L.value)/100;isNaN(c)&&(c=1,L.value="100 %");var c=.75*c,k=null;null!=d.themes&&"darkTheme"==d.defaultThemeName&&(k=d.stylesheet,d.stylesheet=d.getDefaultStylesheet(),d.refresh());var m=l.value,f=q.value,p=!t.checked,u=null;if(EditorUi.isElectronApp)PrintDialog.electronPrint(a,t.checked,m,f,B.checked,H.value,J.value,parseInt(v.value)/100,parseInt(L.value)/100,M.get());else{p&&(p= -m==g&&f==g);if(!p&&null!=a.pages&&a.pages.length){var n=0,p=a.pages.length-1;t.checked||(n=parseInt(m)-1,p=parseInt(f)-1);for(var z=n;z<=p;z++){var x=a.pages[z],m=x==a.currentPage?d:null;if(null==m){var m=a.createTemporaryGraph(d.stylesheet),f=!0,n=!1,C=null,y=null;null==x.viewState&&null==x.root&&a.updatePageRoot(x);null!=x.viewState&&(f=x.viewState.pageVisible,n=x.viewState.mathEnabled,C=x.viewState.background,y=x.viewState.backgroundImage,m.extFonts=x.viewState.extFonts);m.background=C;m.backgroundImage= -null!=y?new mxImage(y.src,y.width,y.height):null;m.pageVisible=f;m.mathEnabled=n;var F=m.getGlobalVariable;m.getGlobalVariable=function(e){return"page"==e?x.getName():"pagenumber"==e?z+1:"pagecount"==e?null!=a.pages?a.pages.length:1:F.apply(this,arguments)};document.body.appendChild(m.container);a.updatePageRoot(x);m.model.setRoot(x.root)}u=b(m,u,z!=p);m!=d&&m.container.parentNode.removeChild(m.container)}}else u=b(d);null==u?a.handleError({message:mxResources.get("errorUpdatingPreview")}):(u.mathEnabled&& -(p=u.wnd.document,e&&(u.wnd.IMMEDIATE_PRINT=!0),p.writeln('