diff --git a/ChangeLog b/ChangeLog
index 2151b7de..77b2ddb4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+23-DEC-2020: 14.1.2
+
+- Adds UML 2.5 library
+
18-DEC-2020: 14.1.1
- Fixes Math config
diff --git a/VERSION b/VERSION
index e199ade4..73c5170b 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-14.1.1
\ No newline at end of file
+14.1.2
\ No newline at end of file
diff --git a/etc/build/build.properties b/etc/build/build.properties
index 06ef4e32..201c030f 100644
--- a/etc/build/build.properties
+++ b/etc/build/build.properties
@@ -1,7 +1,7 @@
jscompiler=${basedir}/compiler.jar
-grapheditor.dir=${basedir}/../../src/main/grapheditor
src.dir=${basedir}/../../src/main/java
war.dir=${basedir}/../../src/main/webapp
+grapheditor.dir=${war.dir}/js/grapheditor
javac.dir=${war.dir}/WEB-INF/classes
build.dir=${basedir}/../../build
war.name=draw.war
diff --git a/etc/build/build.xml b/etc/build/build.xml
index 592c046d..ae6e93a7 100644
--- a/etc/build/build.xml
+++ b/etc/build/build.xml
@@ -128,7 +128,6 @@
-
@@ -146,6 +145,7 @@
+
diff --git a/src/main/webapp/images/sidebar-uml25.png b/src/main/webapp/images/sidebar-uml25.png
index 452aad57..223d3cfa 100644
Binary files a/src/main/webapp/images/sidebar-uml25.png and b/src/main/webapp/images/sidebar-uml25.png differ
diff --git a/src/main/webapp/index.html b/src/main/webapp/index.html
index bf73f0a7..70db72ec 100644
--- a/src/main/webapp/index.html
+++ b/src/main/webapp/index.html
@@ -249,14 +249,14 @@
// Used to request draw.io sources in dev mode
var drawDevUrl = document.location.protocol + '//devhost.jgraph.com/drawio/src/main/webapp/';
- var geBasePath = mxDevUrl + '/grapheditor';
+ var geBasePath = drawDevUrl + '/js/grapheditor';
var mxBasePath = mxDevUrl + '/mxgraph';
if (document.location.protocol == 'file:')
{
- drawDevUrl = './';
- geBasePath = '../grapheditor';
+ geBasePath = './js/grapheditor';
mxBasePath = './mxgraph';
+ drawDevUrl = './';
// Forces includes for dev environment in node.js
mxForceIncludes = true;
diff --git a/src/main/webapp/js/app.min.js b/src/main/webapp/js/app.min.js
index 8b43ce6b..7f81162b 100644
--- a/src/main/webapp/js/app.min.js
+++ b/src/main/webapp/js/app.min.js
@@ -238,7 +238,7 @@ function setCurrentXml(a,b){null!=window.parent&&null!=window.parent.openFile&&w
(function(){if("undefined"!==typeof JSON&&isLocalStorage)try{var a=localStorage.getItem(".drawio-config"),b=!0;null!=a&&(b=JSON.parse(a).showStartScreen);0==b&&(urlParams.splash="0")}catch(d){}a=urlParams["export"];null!=a&&(a=decodeURIComponent(a),"http://"!=a.substring(0,7)&&"https://"!=a.substring(0,8)&&(a="http://"+a),EXPORT_URL=a);a=urlParams.gitlab;null!=a&&(a=decodeURIComponent(a),"http://"!=a.substring(0,7)&&"https://"!=a.substring(0,8)&&(a="http://"+a),DRAWIO_GITLAB_URL=a);a=urlParams["gitlab-id"];
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)urlParams.picker="0",urlParams.gapi="0",urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.gl="0",urlParams.tr="0";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.1.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.1.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"!=
@@ -2120,11 +2120,11 @@ 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,u=mxUtils.getDocumentSize();null!=window.innerHeight&&(u.height=window.innerHeight);var v=u.height,t=Math.max(1,Math.round((u.width-b-64)/2)),w=Math.max(1,Math.round((v-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,v-64);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();v=f.height;this.bg.style.height=v+"px";t=Math.max(1,Math.round((f.width-b-64)/2));w=Math.max(1,
-Math.round((v-d-a.footerHeight)/3));b=null!=document.body?Math.min(m,document.body.scrollWidth-64):m;d=Math.min(q,v-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=
+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;
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";
@@ -2151,25 +2151,25 @@ f,g=document.createElement("table");g.style.width="100%";g.style.height="100%";v
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 u=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});u.className="geBtn";a.editor.cancelFirst&&f.appendChild(u);var v=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)});v.className="geBtn gePrimaryBtn";f.appendChild(v);a.editor.cancelFirst||f.appendChild(u);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;y(a);mxEvent.consume(a)});mxEvent.addListener(l,"click",function(a){g.checked=!0;y(a);mxEvent.consume(a)});mxEvent.addListener(p,"blur",y);mxEvent.addListener(p,"click",y);mxEvent.addListener(m,"blur",y);mxEvent.addListener(m,"click",y);mxEvent.addListener(g,"change",y);mxEvent.addListener(f,"change",y);mxEvent.addListener(h,"change",function(a){r="custom"==h.value;
y(a,!0)});y();return{set:function(a){b=a;e(null,null,!0)},get:function(){return A},widthInput:p,heightInput:m}};
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,u=document.createElement("table"),v=document.createElement("tbody");u.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=u.parentNode;if(null!=a){var b=null;mxEvent.addListener(a,"dragleave",function(a){null!=b&&(b.style.backgroundColor="",b=null);a.stopPropagation();a.preventDefault()});
+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),v=(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,t=a?Math.ceil(b/k.width)-1:0,w=h.x+b,r=h.y+c;null==this.horizontalPageBreaks&&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(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(y,C[a])&&
-y.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(0=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+")";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()}G(f)};mxEvent.addGestureListeners(a.container,function(a){null!=z&&window.clearTimeout(z)},null,function(b){1!=a.cumulativeZoomFactor&&G(0)});mxEvent.addListener(a.container,"scroll",function(b){null==z||a.isMouseDown||1==a.cumulativeZoomFactor||G(0)});mxEvent.addMouseWheelListener(mxUtils.bind(this,function(b,c,d,f,e){if(null==
+"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),!1;g=g.parentNode}}),
a.container);a.panningHandler.zoomGraph=function(b){a.cumulativeZoomFactor=b.scale;a.lazyZoom(0HeadingLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
","Textbox",null,null,"text textbox textarea"),this.createVertexTemplateEntry("ellipse;whiteSpace=wrap;html=1;",120,80,"","Ellipse",null,null,
+"oval ellipse state"),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;aspect=fixed;",80,80,"","Square",null,null,"square"),this.createVertexTemplateEntry("ellipse;whiteSpace=wrap;html=1;aspect=fixed;",80,80,"","Circle",null,null,"circle"),this.createVertexTemplateEntry("shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;",120,60,"","Process",null,null,"process task"),this.createVertexTemplateEntry("rhombus;whiteSpace=wrap;html=1;",80,80,"","Diamond",null,null,"diamond rhombus if condition decision conditional question test"),
+this.createVertexTemplateEntry("shape=parallelogram;perimeter=parallelogramPerimeter;whiteSpace=wrap;html=1;fixedSize=1;",120,60,"","Parallelogram"),this.createVertexTemplateEntry("shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;",120,80,"","Hexagon",null,null,"hexagon preparation"),this.createVertexTemplateEntry("triangle;whiteSpace=wrap;html=1;",60,80,"","Triangle",null,null,"triangle logic inverter buffer"),this.createVertexTemplateEntry("shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;",
+60,80,"","Cylinder",null,null,"cylinder data database"),this.createVertexTemplateEntry("ellipse;shape=cloud;whiteSpace=wrap;html=1;",120,80,"","Cloud",null,null,"cloud network"),this.createVertexTemplateEntry("shape=document;whiteSpace=wrap;html=1;boundedLbl=1;",120,80,"","Document"),this.createVertexTemplateEntry("shape=internalStorage;whiteSpace=wrap;html=1;backgroundOutline=1;",80,80,"","Internal Storage"),this.createVertexTemplateEntry("shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;",
+120,80,"","Cube"),this.createVertexTemplateEntry("shape=step;perimeter=stepPerimeter;whiteSpace=wrap;html=1;fixedSize=1;",120,80,"","Step"),this.createVertexTemplateEntry("shape=trapezoid;perimeter=trapezoidPerimeter;whiteSpace=wrap;html=1;fixedSize=1;",120,60,"","Trapezoid"),this.createVertexTemplateEntry("shape=tape;whiteSpace=wrap;html=1;",120,100,"","Tape"),this.createVertexTemplateEntry("shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;",80,100,"","Note"),this.createVertexTemplateEntry("shape=card;whiteSpace=wrap;html=1;",
+80,100,"","Card"),this.createVertexTemplateEntry("shape=callout;whiteSpace=wrap;html=1;perimeter=calloutPerimeter;",120,80,"","Callout",null,null,"bubble chat thought speech message"),this.createVertexTemplateEntry("shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;",30,60,"Actor","Actor",!1,null,"user person human stickman"),this.createVertexTemplateEntry("shape=xor;whiteSpace=wrap;html=1;",60,80,"","Or",null,null,"logic or"),this.createVertexTemplateEntry("shape=or;whiteSpace=wrap;html=1;",
+60,80,"","And",null,null,"logic and"),this.createVertexTemplateEntry("shape=dataStorage;whiteSpace=wrap;html=1;fixedSize=1;",100,80,"","Data Storage"),this.addEntry("curve",mxUtils.bind(this,function(){var a=new mxCell("",new mxGeometry(0,0,50,50),"curved=1;endArrow=classic;html=1;");a.geometry.setTerminalPoint(new mxPoint(0,50),!0);a.geometry.setTerminalPoint(new mxPoint(50,0),!1);a.geometry.points=[new mxPoint(50,50),new mxPoint(0,0)];a.geometry.relative=!0;a.edge=!0;return this.createEdgeTemplateFromCells([a],
+a.geometry.width,a.geometry.height,"Curve")})),this.createEdgeTemplateEntry("shape=flexArrow;endArrow=classic;startArrow=classic;html=1;",50,50,"","Bidirectional Arrow",null,"line lines connector connectors connection connections arrow arrows bidirectional"),this.createEdgeTemplateEntry("shape=flexArrow;endArrow=classic;html=1;",50,50,"","Arrow",null,"line lines connector connectors connection connections arrow arrows directional directed"),this.createEdgeTemplateEntry("endArrow=none;dashed=1;html=1;",
+50,50,"","Dashed Line",null,"line lines connector connectors connection connections arrow arrows dashed undirected no"),this.createEdgeTemplateEntry("endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;",50,50,"","Dotted Line",null,"line lines connector connectors connection connections arrow arrows dotted undirected no"),this.createEdgeTemplateEntry("endArrow=none;html=1;",50,50,"","Line",null,"line lines connector connectors connection connections arrow arrows simple undirected plain blank no"),
+this.createEdgeTemplateEntry("endArrow=classic;startArrow=classic;html=1;",50,50,"","Bidirectional Connector",null,"line lines connector connectors connection connections arrow arrows bidirectional"),this.createEdgeTemplateEntry("endArrow=classic;html=1;",50,50,"","Directional Connector",null,"line lines connector connectors connection connections arrow arrows directional directed"),this.createEdgeTemplateEntry("shape=link;html=1;",100,0,"","Link",null,"line lines connector connectors connection connections arrow arrows link"),
+this.addEntry("line lines connector connectors connection connections arrow arrows edge title",mxUtils.bind(this,function(){var a=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=classic;html=1;");a.geometry.setTerminalPoint(new mxPoint(0,0),!0);a.geometry.setTerminalPoint(new mxPoint(100,0),!1);a.geometry.relative=!0;a.edge=!0;var c=new mxCell("Label",new mxGeometry(0,0,0,0),"edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;");c.geometry.relative=!0;c.setConnectable(!1);c.vertex=!0;
+a.insert(c);return this.createEdgeTemplateFromCells([a],100,0,"Connector with Label")})),this.addEntry("line lines connector connectors connection connections arrow arrows edge title multiplicity",mxUtils.bind(this,function(){var a=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=classic;html=1;");a.geometry.setTerminalPoint(new mxPoint(0,0),!0);a.geometry.setTerminalPoint(new mxPoint(160,0),!1);a.geometry.relative=!0;a.edge=!0;var c=new mxCell("Label",new mxGeometry(0,0,0,0),"edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;");
+c.geometry.relative=!0;c.setConnectable(!1);c.vertex=!0;a.insert(c);c=new mxCell("Source",new mxGeometry(-1,0,0,0),"edgeLabel;resizable=0;html=1;align=left;verticalAlign=bottom;");c.geometry.relative=!0;c.setConnectable(!1);c.vertex=!0;a.insert(c);return this.createEdgeTemplateFromCells([a],160,0,"Connector with 2 Labels")})),this.addEntry("line lines connector connectors connection connections arrow arrows edge title multiplicity",mxUtils.bind(this,function(){var a=new mxCell("Label",new mxGeometry(0,
+0,0,0),"endArrow=classic;html=1;");a.geometry.setTerminalPoint(new mxPoint(0,0),!0);a.geometry.setTerminalPoint(new mxPoint(160,0),!1);a.geometry.relative=!0;a.edge=!0;var c=new mxCell("Label",new mxGeometry(0,0,0,0),"edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;");c.geometry.relative=!0;c.setConnectable(!1);c.vertex=!0;a.insert(c);c=new mxCell("Source",new mxGeometry(-1,0,0,0),"edgeLabel;resizable=0;html=1;align=left;verticalAlign=bottom;");c.geometry.relative=!0;c.setConnectable(!1);
+c.vertex=!0;a.insert(c);c=new mxCell("Target",new mxGeometry(1,0,0,0),"edgeLabel;resizable=0;html=1;align=right;verticalAlign=bottom;");c.geometry.relative=!0;c.setConnectable(!1);c.vertex=!0;a.insert(c);return this.createEdgeTemplateFromCells([a],160,0,"Connector with 3 Labels")})),this.addEntry("line lines connector connectors connection connections arrow arrows edge shape symbol message mail email",mxUtils.bind(this,function(){var a=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=classic;html=1;");
+a.geometry.setTerminalPoint(new mxPoint(0,0),!0);a.geometry.setTerminalPoint(new mxPoint(100,0),!1);a.geometry.relative=!0;a.edge=!0;var c=new mxCell("",new mxGeometry(0,0,20,14),"shape=message;html=1;outlineConnect=0;");c.geometry.relative=!0;c.vertex=!0;c.geometry.offset=new mxPoint(-10,-7);a.insert(c);return this.createEdgeTemplateFromCells([a],100,0,"Connector with Symbol")}))];this.addPaletteFunctions("general",mxResources.get("general"),null!=a?a:!0,c);this.setCurrentSearchEntryLibrary()};
+Sidebar.prototype.addMiscPalette=function(a){var c=this;this.setCurrentSearchEntryLibrary("general","misc");var b=[this.createVertexTemplateEntry("text;strokeColor=none;fillColor=none;html=1;fontSize=24;fontStyle=1;verticalAlign=middle;align=center;",100,40,"Title","Title",null,null,"text heading title"),this.createVertexTemplateEntry("text;strokeColor=none;fillColor=none;html=1;whiteSpace=wrap;verticalAlign=middle;overflow=hidden;",100,80,"",
+"Unordered List"),this.createVertexTemplateEntry("text;strokeColor=none;fillColor=none;html=1;whiteSpace=wrap;verticalAlign=middle;overflow=hidden;",100,80,"- Value 1
- Value 2
- Value 3
","Ordered List"),this.addDataEntry("table",180,120,"Table 1","7ZjJTsMwEIafJleUhZZybVgucAFewDTT2pLjiewpaXl6xolLVQFqWBJArZRKns2xv5H7y4myvFxdW1HJWyxAR9lllOUWkdpRucpB6yiNVRFlF1GaxvyL0qsPokkTjSthwVCXgrQteBJ6Ca2ndTha6+BwUlR+SOLRu6aSSl7mRcLDWiqC+0rMfLzmTbDPkbB0r569K2Z7hoaEMmBDzQy1FpVTzWRthlS6uBFrXNLmNRtrGpYHlmD14RYbV9jfNWAJZNecUquCZMiYtBhiCWohN2WBTSxc61i81m6J8SBAex9g1h0gL5mU0HcwI2EWXVi+ZVVYrB6EXQAFR4XKENjLJ6bhgm+utM5Ro0du0PgXEVYhqGG+qX1EIiyDYQOY10kbKKMpP4wpj09G0Yh3k7OdbG1+fLqlHI0jy432c4BwVIPr3MD0aw08/YH+nfbbP2N89rZ/324NMsq5xppNqYoCTFfG2V7G454Qjw4c8WoX7wDEx0fiO3/wAyA/O+pAbzqw3m3TELIwOZQTdPZrsnB+4IiHl4UkPiIfWheS5CgMfQvDZEBhSD5xY/7fZyjZf63u7dD0fKv++5B/QRwO5ia8h3mP6sDm9tNeE9v58vcC"),
+this.addDataEntry("table",180,120,"Table 2","7ZjBbqMwEIafhmuFISTptbTbS/eyrfbuBie2ZDzITEqyT79jMMlGWVTUBlqVSkTyjGeM+SbDLxPEab67t7yQPyETOojvgji1ANiM8l0qtA6iUGVBfBtEUUi/IPrRMcvq2bDgVhjskxA1CS9cb0XjaRwl7rV3lJIXboj82bluJOa0zVtGw0oqFI8FX7n5ih6CfCVyi4/qj3OFZK/AIFdGWJ+zAq15Uap6sSZCKp098D1ssb1Na7nobW4eKL/00Raqf02/f2FR7DoZ1C4P4F5ALtDuKaRSGUofsWw4hVKojWzTPLyQl41jc8g9IqWBp/p/wnF/wrRlVFz/EivkZtMH9jnMzELxxO1GoHcUoAwKe/dCNFpoa6V1ChpcTQwYdyOEwk9qsW5znwER8ha8B3NYtIaS3NBFmNLwKgkSepqUbHa06XLhFlMwJVr6J7g1BC+xEiX2LWD0tgLOLlC/2Vn9ftfDKGQXLaQxLvpYyHfXCIjpWkNFplRZJkxf2PGrsOcDsU46WV+2aT49690p5xHQzzvRx5NEf3j3j8B+8S0Rg0nE/rRMYyjGsrOVZl+0lRYfphjXnayTabEeXzFY2Ml+Pkn2Y0oGY9+aMbRmLEfUDHZ+EG+bafFFm4m9fiofrHvOD+Ut7eXEaH+AbnSfqK+nCX9A4SDz+DGxnjv51vgX"),
+this.addDataEntry("table title",180,120,"Table with Title 1","7ZhRb6MwDMc/Da8nAmPdvZbu9nJ7WfcFMnAhUohR4o12n34OpKumrmqlDXa6VqJS/Lcdkp8bWSFK82Z9Z2Vb32MJOkpvozS3iDSMmnUOWkdJrMooXURJEvMvSv4c8IreG7fSgqFTEpIh4UXqZxiUR/mkYVAdbXRQXS1bP6Tem85ranitC8HDrlYEy1YW3t/xTlhzJC0t1auX0piFAg1JZcCGpAK1lq1T/WyLPqJWuvwrN/hM2/dsrfmKs5dhMT5balUZHhe8Sz/lPOwCLMH6IIleChjuABsgu+GQTpVUh4ibgVZcg6rqbVoWROkGoXrP3YHlQWD7Oed0j/NBxLxkUlI/QEHSVKfQ3odZWmwfpa2AgtCi8qhuX5iGC9pKaZ2jRl8Tg8a/iLANTg2rbe4TEmETDBvAvE/aQ8nm/DCmPP6VRRnvJmdb7Gx+fLilHI0jy/8EPwdIRx04OrWAyecF3ATEoUzH6nn1DeW8GrecxvjoXTm/XClksiuNHZu1KkswpyJPj56Z65EQZ2eOeP0R7wTEry/E+4RkOuSzS1sYuy3MJmwLN+dygmY/1hZ+nzni6duCiC/Ip+4LQlwaw9iNQYgJO4PYv2j/p4dIHL9mj3ZqRr5l//uQf6A7nM1V+AjzEdsDm7svgr3vwwfDNw=="),
+this.addDataEntry("table title",180,150,"Table with Title 2","7Zhdb5swFIZ/DbcTHyVrbiFdb7Kbptq9Cw5YMj7IPi1kv37HYJK1FDWbQoOmSUSyz4dt3id+L/CitGrvNavL75Bz6UV3XpRqAOxHVZtyKb3QF7kXbbww9Onnhd8mskGX9WumucJzGsK+4YXJZ95HHtmT5H3U4EG6qClZbYfYZaOkxIrOuglo2JQC+a5mmc039CYUM8g07sRPG4p8CmSgkAnFtWvKQEpWG9GttukqSiHzLTvAMw77DLNkL1qeP0BjXLeGZkuLGde6p8V37qw2zaQoFI0zEsHumLiX5Bp5OylUF3Iq3XOoOOoDlTQix9JV3PZi+iUXRTm0xS7ITB8ojr0n3WngpH8fQzTCMEmAjoyCyQeeIVPFOTDGWuca6kemC44uUIOwUt29kBpHVYWUKUiwyBQouxFC7ZKS74feJ0CEaiDjhDku2okSJ/SQTKn/JfZiepuU5sFpTo8t15iCMqjpj2LX4Mxgww2eCzB8H+DBSewwfcQzugDOmxHO4KI8lbLVJ55/jMp/gwpI2r2EhqalyHOuztU8+vDS3MykcTzS+Ec3DP2Faz24U1+bGNpQqGLbd65mgNG+BvH7BZgLzupf8LO34JblZ6tP9LOvI5yX5bkcP1tdzc9uJ/1s4VrP52cTMK7gZ+v/fja3n60/0c8Cf8QzWvYl++s7tL6aoQXBpKMtXOz5HG2CxvyORtPTR4Uu9+qbwy8="),
+this.addDataEntry("crossfunctional cross-functional cross functional flowchart swimlane table",400,400,"Cross-Functional Flowchart","7ZhRb5swEMc/DY+bMCRt97jQpi+tVC2fwINbbMnYyD4C6aefjaHpBrTRlNCoTALJPp9t+P25O5kgTvL6XtOCPaoMRBDfBXGilULfyusEhAiikGdBfBtEUWjvIFqPjJJmNCyoBonHTIj8hB0VJXiL3dyYL+tSpsiVpM55LVSVMqrROxvci9bZMFq4JtKfzrRKGRfZA92rEjtr11tpVT1wCcYOhM5ViTKXry0G7RYb/uwWXDgDw9wCuSW2WTGOsClo6gYri8uvIGhheLN1s4KGtNSG7+AHGL+Os0JdUJm1nUJxiaDvdhZQt/EvJXHTvpTbjAq+lbadgnO1hhYSaIR6FHRjainfg8oB9d66VDxD5j0WoRcjZMC3DP8yUuMN25e5B91so5VuWMa4J+P3FJW2JtLXrOK5oNLJxZTmz/blqXhNp3mO5cpe9smS8OsyWNp5ie2TQ99ezl1joqRBTXmDAajBCgxejprHKBcNK7fvBPIz3hOSRCcQctET8olRA+8JmSopIW2j8GOD6Sji8TDxepT4C9yTE1+OEo/mQ5xcTYn8ahR5PB/k0c2UyK9HC8SbX/mnLBAnqAlD8XK+onDTE+/fw+TiQF9fTin4Nl/O0xYAEs6X9LR5n5Ae6S7xv1lr/yf+4cQ/pN75Ej/pH88/UZyQkRPzR6R+0j9Bz4f0xMm/f8adD+qzZn/bPfw5bMb++LH4Gw=="),
+this.createVertexTemplateEntry("text;html=1;strokeColor=#c0c0c0;fillColor=#ffffff;overflow=fill;rounded=0;",280,160,'Title 1 | Title 2 | Title 3 |
---|
Value 1 | Value 2 | Value 3 |
Value 4 | Value 5 | Value 6 |
Value 7 | Value 8 | Value 9 |
Value 10 | Value 11 | Value 12 |
',
+"HTML Table 1"),this.createVertexTemplateEntry("text;html=1;strokeColor=#c0c0c0;fillColor=none;overflow=fill;",180,140,'Value 1 | Value 2 | Value 3 |
Value 4 | Value 5 | Value 6 |
Value 7 | Value 8 | Value 9 |
',
+"HTML Table 2"),this.createVertexTemplateEntry("text;html=1;strokeColor=none;fillColor=none;overflow=fill;",180,140,'Value 1 | Value 2 | Value 3 |
Value 4 | Value 5 | Value 6 |
Value 7 | Value 8 | Value 9 |
',
+"HTML Table 3"),this.createVertexTemplateEntry("text;html=1;strokeColor=none;fillColor=none;overflow=fill;",160,140,'Title |
---|
Section 1.1\nSection 1.2\nSection 1.3 |
Section 2.1\nSection 2.2\nSection 2.3 |
',"HTML Table 4"),this.addEntry("link hyperlink",mxUtils.bind(this,function(){var a=
+new mxCell("Link",new mxGeometry(0,0,60,40),"text;html=1;strokeColor=none;fillColor=none;whiteSpace=wrap;align=center;verticalAlign=middle;fontColor=#0000EE;fontStyle=4;");a.vertex=!0;this.graph.setLinkForCell(a,"https://www.draw.io");return this.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Link")})),this.addEntry("timestamp date time text label",mxUtils.bind(this,function(){var a=new mxCell("%date{ddd mmm dd yyyy HH:MM:ss}%",new mxGeometry(0,0,160,20),"text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;");
+a.vertex=!0;this.graph.setAttributeForCell(a,"placeholders","1");return this.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Timestamp")})),this.addEntry("variable placeholder metadata hello world text label",mxUtils.bind(this,function(){var a=new mxCell("%name% Text",new mxGeometry(0,0,80,20),"text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;");a.vertex=!0;this.graph.setAttributeForCell(a,"placeholders","1");this.graph.setAttributeForCell(a,
+"name","Variable");return this.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Variable")})),this.createVertexTemplateEntry("shape=ext;double=1;rounded=0;whiteSpace=wrap;html=1;",120,80,"","Double Rectangle",null,null,"rect rectangle box double"),this.createVertexTemplateEntry("shape=ext;double=1;rounded=1;whiteSpace=wrap;html=1;",120,80,"","Double Rounded Rectangle",null,null,"rounded rect rectangle box double"),this.createVertexTemplateEntry("ellipse;shape=doubleEllipse;whiteSpace=wrap;html=1;",
+100,60,"","Double Ellipse",null,null,"oval ellipse start end state double"),this.createVertexTemplateEntry("shape=ext;double=1;whiteSpace=wrap;html=1;aspect=fixed;",80,80,"","Double Square",null,null,"double square"),this.createVertexTemplateEntry("ellipse;shape=doubleEllipse;whiteSpace=wrap;html=1;aspect=fixed;",80,80,"","Double Circle",null,null,"double circle"),this.createVertexTemplateEntry("rounded=1;whiteSpace=wrap;html=1;strokeWidth=2;fillWeight=4;hachureGap=8;hachureAngle=45;fillColor=#1ba1e2;sketch=1;",
+120,60,"","Rectangle Sketch",!0,null,"rectangle rect box text sketch comic retro"),this.createVertexTemplateEntry("ellipse;whiteSpace=wrap;html=1;strokeWidth=2;fillWeight=2;hachureGap=8;fillColor=#990000;fillStyle=dots;sketch=1;",120,60,"","Ellipse Sketch",!0,null,"ellipse oval sketch comic retro"),this.createVertexTemplateEntry("rhombus;whiteSpace=wrap;html=1;strokeWidth=2;fillWeight=-1;hachureGap=8;fillStyle=cross-hatch;fillColor=#006600;sketch=1;",120,60,"","Diamond Sketch",!0,null,"diamond sketch comic retro"),
+this.createVertexTemplateEntry("html=1;whiteSpace=wrap;shape=isoCube2;backgroundOutline=1;isoAngle=15;",90,100,"","Isometric Cube",!0,null,"cube box iso isometric"),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;aspect=fixed;shape=isoRectangle;",150,90,"","Isometric Square",!0,null,"rectangle rect box iso isometric"),this.createEdgeTemplateEntry("edgeStyle=isometricEdgeStyle;endArrow=none;html=1;",50,100,"","Isometric Edge 1"),this.createEdgeTemplateEntry("edgeStyle=isometricEdgeStyle;endArrow=none;html=1;elbow=vertical;",
+50,100,"","Isometric Edge 2"),this.createVertexTemplateEntry("shape=curlyBracket;whiteSpace=wrap;html=1;rounded=1;",20,120,"","Curly Bracket"),this.createVertexTemplateEntry("line;strokeWidth=2;html=1;",160,10,"","Horizontal Line"),this.createVertexTemplateEntry("line;strokeWidth=2;direction=south;html=1;",10,160,"","Vertical Line"),this.createVertexTemplateEntry("line;strokeWidth=4;html=1;perimeter=backbonePerimeter;points=[];outlineConnect=0;",160,10,"","Horizontal Backbone",!1,null,"backbone bus network"),
+this.createVertexTemplateEntry("line;strokeWidth=4;direction=south;html=1;perimeter=backbonePerimeter;points=[];outlineConnect=0;",10,160,"","Vertical Backbone",!1,null,"backbone bus network"),this.createVertexTemplateEntry("shape=crossbar;whiteSpace=wrap;html=1;rounded=1;",120,20,"","Crossbar",!1,null,"crossbar distance measure dimension unit"),this.createVertexTemplateEntry("shape=image;html=1;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=1;aspect=fixed;image="+this.gearImage,52,61,
+"","Image (Fixed Aspect)",!1,null,"fixed image icon symbol"),this.createVertexTemplateEntry("shape=image;html=1;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;image="+this.gearImage,50,60,"","Image (Variable Aspect)",!1,null,"strechted image icon symbol"),this.createVertexTemplateEntry("icon;html=1;image="+this.gearImage,60,60,"Icon","Icon",!1,null,"icon image symbol"),this.createVertexTemplateEntry("label;whiteSpace=wrap;html=1;image="+this.gearImage,140,60,"Label","Label 1",null,null,
+"label image icon symbol"),this.createVertexTemplateEntry("label;whiteSpace=wrap;html=1;align=center;verticalAlign=bottom;spacingLeft=0;spacingBottom=4;imageAlign=center;imageVerticalAlign=top;image="+this.gearImage,120,80,"Label","Label 2",null,null,"label image icon symbol"),this.addEntry("shape group container",function(){var a=new mxCell("Label",new mxGeometry(0,0,160,70),"html=1;whiteSpace=wrap;container=1;recursiveResize=0;collapsible=0;");a.vertex=!0;var b=new mxCell("",new mxGeometry(20,20,
+20,30),"triangle;html=1;whiteSpace=wrap;");b.vertex=!0;a.insert(b);return c.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Shape Group")}),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;left=0;right=0;fillColor=none;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;bottom=1;right=1;left=1;top=0;fillColor=none;routingCenterX=-0.5;",120,60,"","Partial Rectangle"),this.createEdgeTemplateEntry("edgeStyle=segmentEdgeStyle;endArrow=classic;html=1;",
+50,50,"","Manual Line",null,"line lines connector connectors connection connections arrow arrows manual"),this.createEdgeTemplateEntry("shape=filledEdge;rounded=0;fixDash=1;endArrow=none;strokeWidth=10;fillColor=#ffffff;edgeStyle=orthogonalEdgeStyle;",60,40,"","Filled Edge"),this.createEdgeTemplateEntry("edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;",50,50,"","Horizontal Elbow",null,"line lines connector connectors connection connections arrow arrows elbow horizontal"),this.createEdgeTemplateEntry("edgeStyle=elbowEdgeStyle;elbow=vertical;endArrow=classic;html=1;",
+50,50,"","Vertical Elbow",null,"line lines connector connectors connection connections arrow arrows elbow vertical")];this.addPaletteFunctions("misc",mxResources.get("misc"),null!=a?a:!0,b);this.setCurrentSearchEntryLibrary()};Sidebar.prototype.addAdvancedPalette=function(a){this.setCurrentSearchEntryLibrary("general","advanced");this.addPaletteFunctions("advanced",mxResources.get("advanced"),null!=a?a:!1,this.createAdvancedShapes());this.setCurrentSearchEntryLibrary()};
+Sidebar.prototype.addBasicPalette=function(a){this.setCurrentSearchEntryLibrary("basic");this.addStencilPalette("basic",mxResources.get("basic"),a+"/basic.xml",";whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#000000;strokeWidth=2",null,null,null,null,[this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;top=0;bottom=0;fillColor=none;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;right=0;top=0;bottom=0;fillColor=none;routingCenterX=-0.5;",
+120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;bottom=0;right=0;fillColor=none;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;top=0;left=0;fillColor=none;",120,60,"","Partial Rectangle")]);this.setCurrentSearchEntryLibrary()};
+Sidebar.prototype.createAdvancedShapes=function(){var a=this,c=new mxCell("List Item",new mxGeometry(0,0,60,26),"text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;");c.vertex=!0;return[this.createVertexTemplateEntry("shape=tapeData;whiteSpace=wrap;html=1;perimeter=ellipsePerimeter;",80,80,"","Tape Data"),this.createVertexTemplateEntry("shape=manualInput;whiteSpace=wrap;html=1;",
+80,80,"","Manual Input"),this.createVertexTemplateEntry("shape=loopLimit;whiteSpace=wrap;html=1;",100,80,"","Loop Limit"),this.createVertexTemplateEntry("shape=offPageConnector;whiteSpace=wrap;html=1;",80,80,"","Off Page Connector"),this.createVertexTemplateEntry("shape=delay;whiteSpace=wrap;html=1;",80,40,"","Delay"),this.createVertexTemplateEntry("shape=display;whiteSpace=wrap;html=1;",80,40,"","Display"),this.createVertexTemplateEntry("shape=singleArrow;direction=west;whiteSpace=wrap;html=1;",
+100,60,"","Arrow Left"),this.createVertexTemplateEntry("shape=singleArrow;whiteSpace=wrap;html=1;",100,60,"","Arrow Right"),this.createVertexTemplateEntry("shape=singleArrow;direction=north;whiteSpace=wrap;html=1;",60,100,"","Arrow Up"),this.createVertexTemplateEntry("shape=singleArrow;direction=south;whiteSpace=wrap;html=1;",60,100,"","Arrow Down"),this.createVertexTemplateEntry("shape=doubleArrow;whiteSpace=wrap;html=1;",100,60,"","Double Arrow"),this.createVertexTemplateEntry("shape=doubleArrow;direction=south;whiteSpace=wrap;html=1;",
+60,100,"","Double Arrow Vertical",null,null,"double arrow"),this.createVertexTemplateEntry("shape=actor;whiteSpace=wrap;html=1;",40,60,"","User",null,null,"user person human"),this.createVertexTemplateEntry("shape=cross;whiteSpace=wrap;html=1;",80,80,"","Cross"),this.createVertexTemplateEntry("shape=corner;whiteSpace=wrap;html=1;",80,80,"","Corner"),this.createVertexTemplateEntry("shape=tee;whiteSpace=wrap;html=1;",80,80,"","Tee"),this.createVertexTemplateEntry("shape=datastore;whiteSpace=wrap;html=1;",
+60,60,"","Data Store",null,null,"data store cylinder database"),this.createVertexTemplateEntry("shape=orEllipse;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;",80,80,"","Or",null,null,"or circle oval ellipse"),this.createVertexTemplateEntry("shape=sumEllipse;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;",80,80,"","Sum",null,null,"sum circle oval ellipse"),this.createVertexTemplateEntry("shape=lineEllipse;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;",
+80,80,"","Ellipse with horizontal divider",null,null,"circle oval ellipse"),this.createVertexTemplateEntry("shape=lineEllipse;line=vertical;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;",80,80,"","Ellipse with vertical divider",null,null,"circle oval ellipse"),this.createVertexTemplateEntry("shape=sortShape;perimeter=rhombusPerimeter;whiteSpace=wrap;html=1;",80,80,"","Sort",null,null,"sort"),this.createVertexTemplateEntry("shape=collate;whiteSpace=wrap;html=1;",80,80,"","Collate",
+null,null,"collate"),this.createVertexTemplateEntry("shape=switch;whiteSpace=wrap;html=1;",60,60,"","Switch",null,null,"switch router"),this.addEntry("process bar",function(){return a.createVertexTemplateFromData("zZXRaoMwFIafJpcDjbNrb2233rRQ8AkyPdPQaCRJV+3T7yTG2rUVBoOtgpDzn/xJzncCIdGyateKNeVW5iBI9EqipZLS9KOqXYIQhAY8J9GKUBrgT+jbRDZ02aBhCmrzEwPtDZ9MHKBXdkpmoDWKCVN9VptO+Kw+8kqwGqMkK7nIN6yTB7uTNizbD1FSSsVPsjYMC1qFKHxwIZZSSIVxLZ1/nJNar5+oQPMT7IYCrqUta1ENzuqGaeOFTArBGs3f3Vmtoo2Se7ja1h00kSoHK4bBIKUNy3hdoPYU0mF91i9mT8EEL2ocZ3gKa00ayWujLZY4IfHKFonVDLsRGgXuQ90zBmWgneyTk3yT1iArMKrDKUeem9L3ajHrbSXwohxsQd/ggOleKM7ese048J2/fwuim1uQGmhQCW8vQMkacP3GCQgBFMftHEsr7cYYe95CnmKTPMFbYD8CQ++DGQy+/M5X4ku5wHYmdIktfvk9tecpavThqS3m/0YtnqIWPTy1cD77K2wYjo+Ay317I74A",
+296,100,"Process Bar")}),this.createVertexTemplateEntry("swimlane;",200,200,"Container","Container",null,null,"container swimlane lane pool group"),this.addEntry("list group erd table",function(){var b=new mxCell("List",new mxGeometry(0,0,140,110),"swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;");b.vertex=!0;b.insert(a.cloneCell(c,"Item 1"));b.insert(a.cloneCell(c,"Item 2"));
+b.insert(a.cloneCell(c,"Item 3"));return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"List")}),this.addEntry("list item entry value group erd table",function(){return a.createVertexTemplateFromCells([a.cloneCell(c,"List Item")],c.geometry.width,c.geometry.height,"List Item")})]};
+Sidebar.prototype.createAdvancedShapes=function(){var a=this,c=new mxCell("List Item",new mxGeometry(0,0,60,26),"text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;");c.vertex=!0;return[this.createVertexTemplateEntry("shape=tapeData;whiteSpace=wrap;html=1;perimeter=ellipsePerimeter;",80,80,"","Tape Data"),this.createVertexTemplateEntry("shape=manualInput;whiteSpace=wrap;html=1;",
+80,80,"","Manual Input"),this.createVertexTemplateEntry("shape=loopLimit;whiteSpace=wrap;html=1;",100,80,"","Loop Limit"),this.createVertexTemplateEntry("shape=offPageConnector;whiteSpace=wrap;html=1;",80,80,"","Off Page Connector"),this.createVertexTemplateEntry("shape=delay;whiteSpace=wrap;html=1;",80,40,"","Delay"),this.createVertexTemplateEntry("shape=display;whiteSpace=wrap;html=1;",80,40,"","Display"),this.createVertexTemplateEntry("shape=singleArrow;direction=west;whiteSpace=wrap;html=1;",
+100,60,"","Arrow Left"),this.createVertexTemplateEntry("shape=singleArrow;whiteSpace=wrap;html=1;",100,60,"","Arrow Right"),this.createVertexTemplateEntry("shape=singleArrow;direction=north;whiteSpace=wrap;html=1;",60,100,"","Arrow Up"),this.createVertexTemplateEntry("shape=singleArrow;direction=south;whiteSpace=wrap;html=1;",60,100,"","Arrow Down"),this.createVertexTemplateEntry("shape=doubleArrow;whiteSpace=wrap;html=1;",100,60,"","Double Arrow"),this.createVertexTemplateEntry("shape=doubleArrow;direction=south;whiteSpace=wrap;html=1;",
+60,100,"","Double Arrow Vertical",null,null,"double arrow"),this.createVertexTemplateEntry("shape=actor;whiteSpace=wrap;html=1;",40,60,"","User",null,null,"user person human"),this.createVertexTemplateEntry("shape=cross;whiteSpace=wrap;html=1;",80,80,"","Cross"),this.createVertexTemplateEntry("shape=corner;whiteSpace=wrap;html=1;",80,80,"","Corner"),this.createVertexTemplateEntry("shape=tee;whiteSpace=wrap;html=1;",80,80,"","Tee"),this.createVertexTemplateEntry("shape=datastore;whiteSpace=wrap;html=1;",
+60,60,"","Data Store",null,null,"data store cylinder database"),this.createVertexTemplateEntry("shape=orEllipse;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;",80,80,"","Or",null,null,"or circle oval ellipse"),this.createVertexTemplateEntry("shape=sumEllipse;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;",80,80,"","Sum",null,null,"sum circle oval ellipse"),this.createVertexTemplateEntry("shape=lineEllipse;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;",
+80,80,"","Ellipse with horizontal divider",null,null,"circle oval ellipse"),this.createVertexTemplateEntry("shape=lineEllipse;line=vertical;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;",80,80,"","Ellipse with vertical divider",null,null,"circle oval ellipse"),this.createVertexTemplateEntry("shape=sortShape;perimeter=rhombusPerimeter;whiteSpace=wrap;html=1;",80,80,"","Sort",null,null,"sort"),this.createVertexTemplateEntry("shape=collate;whiteSpace=wrap;html=1;",80,80,"","Collate",
+null,null,"collate"),this.createVertexTemplateEntry("shape=switch;whiteSpace=wrap;html=1;",60,60,"","Switch",null,null,"switch router"),this.addEntry("process bar",function(){return a.createVertexTemplateFromData("zZXRaoMwFIafJpcDjbNrb2233rRQ8AkyPdPQaCRJV+3T7yTG2rUVBoOtgpDzn/xJzncCIdGyateKNeVW5iBI9EqipZLS9KOqXYIQhAY8J9GKUBrgT+jbRDZ02aBhCmrzEwPtDZ9MHKBXdkpmoDWKCVN9VptO+Kw+8kqwGqMkK7nIN6yTB7uTNizbD1FSSsVPsjYMC1qFKHxwIZZSSIVxLZ1/nJNar5+oQPMT7IYCrqUta1ENzuqGaeOFTArBGs3f3Vmtoo2Se7ja1h00kSoHK4bBIKUNy3hdoPYU0mF91i9mT8EEL2ocZ3gKa00ayWujLZY4IfHKFonVDLsRGgXuQ90zBmWgneyTk3yT1iArMKrDKUeem9L3ajHrbSXwohxsQd/ggOleKM7ese048J2/fwuim1uQGmhQCW8vQMkacP3GCQgBFMftHEsr7cYYe95CnmKTPMFbYD8CQ++DGQy+/M5X4ku5wHYmdIktfvk9tecpavThqS3m/0YtnqIWPTy1cD77K2wYjo+Ay317I74A",
+296,100,"Process Bar")}),this.createVertexTemplateEntry("swimlane;",200,200,"Container","Container",null,null,"container swimlane lane pool group"),this.addEntry("list group erd table",function(){var b=new mxCell("List",new mxGeometry(0,0,140,110),"swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;");b.vertex=!0;b.insert(a.cloneCell(c,"Item 1"));b.insert(a.cloneCell(c,"Item 2"));
+b.insert(a.cloneCell(c,"Item 3"));return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"List")}),this.addEntry("list item entry value group erd table",function(){return a.createVertexTemplateFromCells([a.cloneCell(c,"List Item")],c.geometry.width,c.geometry.height,"List Item")})]};
Sidebar.prototype.addBasicPalette=function(a){this.setCurrentSearchEntryLibrary("basic");this.addStencilPalette("basic",mxResources.get("basic"),a+"/basic.xml",";whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#000000;strokeWidth=2",null,null,null,null,[this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;top=0;bottom=0;fillColor=none;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;right=0;top=0;bottom=0;fillColor=none;routingCenterX=-0.5;",
120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;bottom=0;right=0;fillColor=none;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;top=0;left=0;fillColor=none;",120,60,"","Partial Rectangle")]);this.setCurrentSearchEntryLibrary()};
Sidebar.prototype.addUmlPalette=function(a){var c=this,b=new mxCell("+ field: type",new mxGeometry(0,0,100,26),"text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;");b.vertex=!0;var d=new mxCell("",new mxGeometry(0,0,40,8),"line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;");
@@ -2471,13 +2531,13 @@ Sidebar.prototype.updateShapes=function(a,c){var b=this.editorUi.editor.graph,d=
0;hN&&null!=k&&!mxEvent.isShiftDown(f)&&(mxUtils.getValue(k.style,mxConstants.STYLE_SHAPE)!=mxUtils.getValue(X,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(X,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&&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)||1500N&&N>this.dropTargetDelay||a.model.isEdge(e)?k:null,null!=
+2,this.triangleLeft.width,this.triangleLeft.height),B));null!=h&&h.grow(10)}J=mxConstants.DIRECTION_NORTH;F==C?J=mxConstants.DIRECTION_EAST:F==D||F==I?J=mxConstants.DIRECTION_SOUTH:F==B&&(J=mxConstants.DIRECTION_WEST);null!=r&&F==z&&(k=r);l=(null==n||a.isCellConnectable(d[n]))&&(a.model.isEdge(e)&&null!=n||a.model.isVertex(e)&&a.isCellConnectable(e));if(null!=t&&5E3<=K||t!=k&&(null==h||!mxUtils.contains(h,b,c)||500K&&K>this.dropTargetDelay||a.model.isEdge(e)?k:null,null!=
t&&l){h=[H,I,y,C,D,B];for(l=0;lg||Math.abs(h.y-mxEvent.getClientY(b))>
@@ -2520,7 +2580,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)}))};
@@ -2532,30 +2592,30 @@ mxText.prototype.baseSpacingTop=5;mxText.prototype.baseSpacingBottom=1;mxGraphMo
mxGraphView.prototype.unit=mxConstants.POINTS;mxGraphView.prototype.setUnit=function(a){this.unit!=a&&(this.unit=a,this.fireEvent(new mxEventObject("unitChanged","unit",a)))};mxSvgCanvas2D.prototype.foAltText="[Not supported by viewer]";mxShape.prototype.getConstraints=function(a,c,b){return null};
Graph=function(a,c,b,d,e,f){mxGraph.call(this,a,c,b,d);this.themes=e||this.defaultThemes;this.currentEdgeStyle=mxUtils.clone(this.defaultEdgeStyle);this.currentVertexStyle=mxUtils.clone(this.defaultVertexStyle);this.standalone=null!=f?f:!1;a=this.baseUrl;c=a.indexOf("//");this.domainPathUrl=this.domainUrl="";0d||Math.abs(g.y-b.getGraphY())>d){var f=this.selectionCellsHandler.getHandler(c.cell);null==f&&this.model.isEdge(c.cell)&&(f=this.createHandler(c));if(null!=f&&null!=f.bends&&0d||Math.abs(g.y-b.getGraphY())>d){var e=this.selectionCellsHandler.getHandler(c.cell);null==e&&this.model.isEdge(c.cell)&&(e=this.createHandler(c));if(null!=e&&null!=e.bends&&0m?"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:(0m?"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:(0e||!a&&0S)for(R=0;R>S;R--)this.model.remove(L[L.length+
-R-1]);L=this.model.getChildCells(a[k],!0);for(R=0;RX)for(Q=0;Q>X;Q--)this.model.remove(R[R.length+
+Q-1]);R=this.model.getChildCells(a[k],!0);for(Q=0;QmxUtils.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;cu&&L++;q++}F.lengthca&&Y++;Ha++}x.length")||
@@ -2798,7 +2858,7 @@ mxConstants.ALIGN_CENTER),mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_AL
this.textarea.clientHeight)+"px",this.bounds.height=parseInt(this.textarea.style.height)*c);this.textarea.clientWidth"));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(F){}};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()}};
+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()}};
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&&0'):new mxImage(IMAGE_PATH+"/handle-main.png",
17,17);HoverIcons.prototype.secondaryHandle=mxClient.IS_SVG?Graph.createSvgImage(16,16,''):new mxImage(IMAGE_PATH+"/handle-secondary.png",17,17);HoverIcons.prototype.fixedHandle=mxClient.IS_SVG?Graph.createSvgImage(18,18,''):new mxImage(IMAGE_PATH+"/handle-fixed.png",17,17);HoverIcons.prototype.terminalHandle=
@@ -2833,7 +2893,7 @@ Sidebar.prototype.refreshTarget=HoverIcons.prototype.refreshTarget,Sidebar.proto
(new Image).src=HoverIcons.prototype.triangleDown.src,(new Image).src=HoverIcons.prototype.triangleLeft.src,(new Image).src=HoverIcons.prototype.refreshTarget.src,(new Image).src=HoverIcons.prototype.roundDrop.src);mxVertexHandler.prototype.rotationEnabled=!0;mxVertexHandler.prototype.manageSizers=!0;mxVertexHandler.prototype.livePreview=!0;mxGraphHandler.prototype.maxLivePreview=16;mxRubberband.prototype.defaultOpacity=30;mxConnectionHandler.prototype.outlineConnect=!0;mxCellHighlight.prototype.keepOnTop=
!0;mxVertexHandler.prototype.parentHighlightEnabled=!0;mxEdgeHandler.prototype.parentHighlightEnabled=!0;mxEdgeHandler.prototype.dblClickRemoveEnabled=!0;mxEdgeHandler.prototype.straightRemoveEnabled=!0;mxEdgeHandler.prototype.virtualBendsEnabled=!0;mxEdgeHandler.prototype.mergeRemoveEnabled=!0;mxEdgeHandler.prototype.manageLabelHandle=!0;mxEdgeHandler.prototype.outlineConnect=!0;mxEdgeHandler.prototype.isAddVirtualBendEvent=function(a){return!mxEvent.isShiftDown(a.getEvent())};mxEdgeHandler.prototype.isCustomHandleEvent=
function(a){return!mxEvent.isShiftDown(a.getEvent())};if(Graph.touchStyle){if(mxClient.IS_TOUCH||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 N=mxRubberband.prototype.reset;mxRubberband.prototype.reset=function(){null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null);N.apply(this,arguments)};var Q=(new Date).getTime(),X=0,ea=mxEdgeHandler.prototype.updatePreviewState;mxEdgeHandler.prototype.updatePreviewState=function(a,b,c,d){ea.apply(this,arguments);c!=this.currentTerminalState?(Q=(new Date).getTime(),X=0):X=(new Date).getTime()-Q;this.currentTerminalState=
-c};var Y=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 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 ma=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 T=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 T.apply(this,arguments)};var ha=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 ha.apply(this,arguments)};var la=mxGraphHandler.prototype.getGuideStates;mxGraphHandler.prototype.getGuideStates=function(){for(var a=la.apply(this,arguments),b=[],c=0;ca.width&&2>a.height&&null!=a.text&&null!=a.text.boundingBox?(b=a.text.unrotatedBoundingBox||a.text.boundingBox,new mxRectangle(Math.round(b.x),Math.round(b.y),Math.round(b.width),Math.round(b.height))):pa.apply(this,arguments)};var ma=mxVertexHandler.prototype.mouseDown;mxVertexHandler.prototype.mouseDown=function(a,
-b){var c=this.graph.getModel(),d=c.getParent(this.state.cell),e=this.graph.getCellGeometry(this.state.cell);(this.getHandleForEvent(b)==mxEvent.ROTATION_HANDLE||!c.isEdge(d)||null==e||!e.relative||null==this.state||2<=this.state.width||2<=this.state.height)&&ma.apply(this,arguments)};mxVertexHandler.prototype.rotateClick=function(){var a=mxUtils.getValue(this.state.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),b=mxUtils.getValue(this.state.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);
-this.state.view.graph.model.isVertex(this.state.cell)&&a==mxConstants.NONE&&b==mxConstants.NONE?(a=mxUtils.mod(mxUtils.getValue(this.state.style,mxConstants.STYLE_ROTATION,0)+90,360),this.state.view.graph.setCellStyles(mxConstants.STYLE_ROTATION,a,[this.state.cell])):this.state.view.graph.turnShapes([this.state.cell])};var Z=mxVertexHandler.prototype.mouseMove;mxVertexHandler.prototype.mouseMove=function(a,b){Z.apply(this,arguments);null!=this.graph.graphHandler.first&&(null!=this.rotationShape&&
-null!=this.rotationShape.node&&(this.rotationShape.node.style.display="none"),null!=this.linkHint&&"none"!=this.linkHint.style.display&&(this.linkHint.style.display="none"))};var ia=mxVertexHandler.prototype.mouseUp;mxVertexHandler.prototype.mouseUp=function(a,b){ia.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none");null!=this.linkHint&&"none"==this.linkHint.style.display&&(this.linkHint.style.display=
-"");this.blockDelayedSelection=null};var na=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){na.apply(this,arguments);var a=!1;null!=this.rotationShape&&this.rotationShape.node.setAttribute("title",mxResources.get("rotateTooltip"));if(this.graph.isTable(this.state.cell))this.refreshMoveHandles();else if(1==this.graph.getSelectionCount()&&(this.graph.isTableCell(this.state.cell)||this.graph.isTableRow(this.state.cell))){this.cornerHandles=[];for(var b=0;4>b;b++){var c=new mxRectangleShape(new mxRectangle(0,
+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;ca.width&&2>a.height&&null!=a.text&&null!=a.text.boundingBox?(b=a.text.unrotatedBoundingBox||a.text.boundingBox,new mxRectangle(Math.round(b.x),Math.round(b.y),Math.round(b.width),Math.round(b.height))):pa.apply(this,arguments)};var na=mxVertexHandler.prototype.mouseDown;mxVertexHandler.prototype.mouseDown=function(a,
+b){var c=this.graph.getModel(),d=c.getParent(this.state.cell),e=this.graph.getCellGeometry(this.state.cell);(this.getHandleForEvent(b)==mxEvent.ROTATION_HANDLE||!c.isEdge(d)||null==e||!e.relative||null==this.state||2<=this.state.width||2<=this.state.height)&&na.apply(this,arguments)};mxVertexHandler.prototype.rotateClick=function(){var a=mxUtils.getValue(this.state.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),b=mxUtils.getValue(this.state.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);
+this.state.view.graph.model.isVertex(this.state.cell)&&a==mxConstants.NONE&&b==mxConstants.NONE?(a=mxUtils.mod(mxUtils.getValue(this.state.style,mxConstants.STYLE_ROTATION,0)+90,360),this.state.view.graph.setCellStyles(mxConstants.STYLE_ROTATION,a,[this.state.cell])):this.state.view.graph.turnShapes([this.state.cell])};var qa=mxVertexHandler.prototype.mouseMove;mxVertexHandler.prototype.mouseMove=function(a,b){qa.apply(this,arguments);null!=this.graph.graphHandler.first&&(null!=this.rotationShape&&
+null!=this.rotationShape.node&&(this.rotationShape.node.style.display="none"),null!=this.linkHint&&"none"!=this.linkHint.style.display&&(this.linkHint.style.display="none"))};var ja=mxVertexHandler.prototype.mouseUp;mxVertexHandler.prototype.mouseUp=function(a,b){ja.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none");null!=this.linkHint&&"none"==this.linkHint.style.display&&(this.linkHint.style.display=
+"");this.blockDelayedSelection=null};var ea=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){ea.apply(this,arguments);var a=!1;null!=this.rotationShape&&this.rotationShape.node.setAttribute("title",mxResources.get("rotateTooltip"));if(this.graph.isTable(this.state.cell))this.refreshMoveHandles();else if(1==this.graph.getSelectionCount()&&(this.graph.isTableCell(this.state.cell)||this.graph.isTableRow(this.state.cell))){this.cornerHandles=[];for(var b=0;4>b;b++){var c=new mxRectangleShape(new mxRectangle(0,
0,6,6),"#ffffff",mxConstants.HANDLE_STROKECOLOR);c.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?mxConstants.DIALECT_VML:mxConstants.DIALECT_SVG;c.init(this.graph.view.getOverlayPane());this.cornerHandles.push(c)}}var d=mxUtils.bind(this,function(){null!=this.specialHandle&&(this.specialHandle.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()document.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),u=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),v=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,u,v]);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==)";
+[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 y,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,y=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)]),y.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",v.style.marginRight="9px");p=f.cloneNode(!1);p.style.marginLeft=
+!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,
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){ea=a},destroy:function(){ea=null}},null,!0):this.createCellColorOption(mxResources.get("fontColor"),mxConstants.STYLE_FONTCOLOR,null!=h[mxConstants.STYLE_FONTCOLOR]?h[mxConstants.STYLE_FONTCOLOR]:
-"#000000",function(a){T.style.display=a==mxConstants.NONE?"none":"";ha.style.display=T.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(T);
-d.cellEditor.isContentEditing()||g.appendChild(ha);a.appendChild(g);g=this.createPanel();g.style.paddingTop="2px";g.style.paddingBottom="4px";h=this.createCellOption(mxResources.get("wordWrap"),mxConstants.STYLE_WHITE_SPACE,null,"wrap","null",null,null,!0);h.style.fontWeight="bold";e.containsLabel||e.autoSize||0!=e.edges.length||g.appendChild(h);h=this.createCellOption(mxResources.get("formattedText"),"html","0",null,null,null,b.actions.get("formattedText"));h.style.fontWeight="bold";g.appendChild(h);
-h=this.createPanel();h.style.paddingTop="10px";h.style.paddingBottom="28px";h.style.fontWeight="normal";p=document.createElement("div");p.style.position="absolute";p.style.width="70px";p.style.marginTop="0px";p.style.fontWeight="bold";mxUtils.write(p,mxResources.get("spacing"));h.appendChild(p);var la,pa,ma,Z,ia,na=this.addUnitInput(h,"pt",91,44,function(){la.apply(this,arguments)}),fa=this.addUnitInput(h,"pt",20,44,function(){pa.apply(this,arguments)});mxUtils.br(h);this.addLabel(h,mxResources.get("top"),
-91);this.addLabel(h,mxResources.get("global"),20);mxUtils.br(h);mxUtils.br(h);var oa=this.addUnitInput(h,"pt",162,44,function(){ma.apply(this,arguments)}),da=this.addUnitInput(h,"pt",91,44,function(){Z.apply(this,arguments)}),ca=this.addUnitInput(h,"pt",20,44,function(){ia.apply(this,arguments)});mxUtils.br(h);this.addLabel(h,mxResources.get("left"),162);this.addLabel(h,mxResources.get("bottom"),91);this.addLabel(h,mxResources.get("right"),20);if(d.cellEditor.isContentEditing()){var aa=null,ba=null;
-a.appendChild(this.createRelativeOption(mxResources.get("lineheight"),null,null,function(a){var b=""==a.value?120:parseInt(a.value),b=Math.max(0,isNaN(b)?120:b);null!=aa&&(d.cellEditor.restoreSelection(aa),aa=null);for(var c=d.getSelectedElement();null!=c&&c.nodeType!=mxConstants.NODETYPE_ELEMENT;)c=c.parentNode;null!=c&&c==d.cellEditor.textarea&&null!=d.cellEditor.textarea.firstChild&&("P"!=d.cellEditor.textarea.firstChild.nodeName&&(d.cellEditor.textarea.innerHTML=""+d.cellEditor.textarea.innerHTML+
-"
"),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){ba=a;mxEvent.addListener(a,"mousedown",function(){document.activeElement==d.cellEditor.textarea&&(aa=d.cellEditor.saveSelection())});mxEvent.addListener(a,"touchstart",function(){document.activeElement==d.cellEditor.textarea&&(aa=d.cellEditor.saveSelection())});a.value="120 %"}));g=f.cloneNode(!1);g.style.paddingLeft=
+d.cellEditor.textarea;e!=d.cellEditor.textarea&&e.nodeType==mxConstants.NODETYPE_ELEMENT||document.execCommand("fontSize",!1,"1");e!=d.cellEditor.textarea&&(e=e.parentNode);if(null!=e&&e.nodeType==mxConstants.NODETYPE_ELEMENT){var f=e.getElementsByTagName("*");b(e);for(e=0;e=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=this.createCellOption(mxResources.get("wordWrap"),mxConstants.STYLE_WHITE_SPACE,null,"wrap","null",null,null,!0);h.style.fontWeight="bold";e.containsLabel||e.autoSize||0!=e.edges.length||g.appendChild(h);h=this.createCellOption(mxResources.get("formattedText"),"html","0",null,null,null,b.actions.get("formattedText"));h.style.fontWeight="bold";g.appendChild(h);
+h=this.createPanel();h.style.paddingTop="10px";h.style.paddingBottom="28px";h.style.fontWeight="normal";p=document.createElement("div");p.style.position="absolute";p.style.width="70px";p.style.marginTop="0px";p.style.fontWeight="bold";mxUtils.write(p,mxResources.get("spacing"));h.appendChild(p);var ia,pa,na,qa,ja,ea=this.addUnitInput(h,"pt",91,44,function(){ia.apply(this,arguments)}),fa=this.addUnitInput(h,"pt",20,44,function(){pa.apply(this,arguments)});mxUtils.br(h);this.addLabel(h,mxResources.get("top"),
+91);this.addLabel(h,mxResources.get("global"),20);mxUtils.br(h);mxUtils.br(h);var W=this.addUnitInput(h,"pt",162,44,function(){na.apply(this,arguments)}),da=this.addUnitInput(h,"pt",91,44,function(){qa.apply(this,arguments)}),la=this.addUnitInput(h,"pt",20,44,function(){ja.apply(this,arguments)});mxUtils.br(h);this.addLabel(h,mxResources.get("left"),162);this.addLabel(h,mxResources.get("bottom"),91);this.addLabel(h,mxResources.get("right"),20);if(d.cellEditor.isContentEditing()){var Z=null,T=null;
+a.appendChild(this.createRelativeOption(mxResources.get("lineheight"),null,null,function(a){var b=""==a.value?120:parseInt(a.value),b=Math.max(0,isNaN(b)?120:b);null!=Z&&(d.cellEditor.restoreSelection(Z),Z=null);for(var c=d.getSelectedElement();null!=c&&c.nodeType!=mxConstants.NODETYPE_ELEMENT;)c=c.parentNode;null!=c&&c==d.cellEditor.textarea&&null!=d.cellEditor.textarea.firstChild&&("P"!=d.cellEditor.textarea.firstChild.nodeName&&(d.cellEditor.textarea.innerHTML=""+d.cellEditor.textarea.innerHTML+
+"
"),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(K){this.editorUi.handleError(K)}}),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(K){this.editorUi.handleError(K)}}),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(K){this.editorUi.handleError(K)}}),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(K){this.editorUi.handleError(K)}}),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(K){this.editorUi.handleError(K)}}),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(K){this.editorUi.handleError(K)}}),h)];this.styleButtons(p);
+"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,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)=="-"+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)/
+mxConstants.STYLE_SPACING,2)),fa.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=ea)a=parseFloat(mxUtils.getValue(e.style,mxConstants.STYLE_SPACING_TOP,0)),ea.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=la)a=parseFloat(mxUtils.getValue(e.style,mxConstants.STYLE_SPACING_RIGHT,0)),la.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=da)a=parseFloat(mxUtils.getValue(e.style,mxConstants.STYLE_SPACING_BOTTOM,0)),da.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=W)a=parseFloat(mxUtils.getValue(e.style,
+mxConstants.STYLE_SPACING_LEFT,0)),W.value=isNaN(a)?"":a+" pt"});pa=this.installInputHandler(fa,mxConstants.STYLE_SPACING,2,-999,999," pt");ia=this.installInputHandler(ea,mxConstants.STYLE_SPACING_TOP,0,-999,999," pt");ja=this.installInputHandler(la,mxConstants.STYLE_SPACING_RIGHT,0,-999,999," pt");qa=this.installInputHandler(da,mxConstants.STYLE_SPACING_BOTTOM,0,-999,999," pt");na=this.installInputHandler(W,mxConstants.STYLE_SPACING_LEFT,0,-999,999," pt");this.addKeyHandler(N,aa);this.addKeyHandler(fa,
+aa);this.addKeyHandler(ea,aa);this.addKeyHandler(la,aa);this.addKeyHandler(da,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 G=!1,f=function(){G||(G=!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(0y&&(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=);",
@@ -3128,23 +3188,22 @@ DiagramFormatPanel.prototype.addPaperSize=function(a){var c=this.editorUi,b=c.ed
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 u(){mxActor.call(this)}function v(){mxActor.call(this)}function t(){mxActor.call(this)}function w(){mxActor.call(this)}function r(){mxActor.call(this)}function A(){mxActor.call(this)}function y(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,y.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(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 y(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,y.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,
y.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,y.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,y.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo;this.canvas.curveTo=mxUtils.bind(this,y.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,y.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 G(){mxShape.call(this)}function P(a,b,c,d){mxShape.call(this);this.bounds=a;this.fill=b;this.stroke=c;this.strokewidth=null!=d?d:1;this.dx=.5}function W(a,b,c,d){mxShape.call(this);this.bounds=a;this.fill=b;this.stroke=c;this.strokewidth=null!=d?d:1;this.dx=.5}function V(a,b,c,d){mxShape.call(this);this.bounds=
-a;this.fill=b;this.stroke=c;this.strokewidth=null!=d?d:1;this.dx=.5}function M(a,b,c,d){mxShape.call(this);this.bounds=a;this.fill=b;this.stroke=c;this.strokewidth=null!=d?d:1;this.dx=.5}function N(){mxShape.call(this)}function Q(){mxEllipse.call(this)}function X(){mxShape.call(this)}function ea(){mxShape.call(this)}function Y(){mxRectangleShape.call(this)}function T(){mxShape.call(this)}function ha(){mxShape.call(this)}function la(){mxShape.call(this)}function pa(){mxShape.call(this)}function ma(){mxShape.call(this)}
-function Z(){mxCylinder.call(this)}function ia(){mxCylinder.call(this)}function na(){mxRectangleShape.call(this)}function fa(){mxDoubleEllipse.call(this)}function oa(){mxDoubleEllipse.call(this)}function da(){mxArrowConnector.call(this);this.spacing=0}function ca(){mxArrowConnector.call(this);this.spacing=0}function aa(){mxActor.call(this)}function ba(){mxRectangleShape.call(this)}function U(){mxActor.call(this)}function F(){mxActor.call(this)}function K(){mxActor.call(this)}function L(){mxActor.call(this)}
-function S(){mxActor.call(this)}function R(){mxActor.call(this)}function ja(){mxActor.call(this)}function xa(){mxActor.call(this)}function ra(){mxActor.call(this)}function sa(){mxActor.call(this)}function Ba(){mxEllipse.call(this)}function Ca(){mxEllipse.call(this)}function Da(){mxEllipse.call(this)}function La(){mxRhombus.call(this)}function Ma(){mxEllipse.call(this)}function Na(){mxEllipse.call(this)}function Ea(){mxEllipse.call(this)}function Fa(){mxEllipse.call(this)}function Ga(){mxActor.call(this)}
-function va(){mxActor.call(this)}function wa(){mxActor.call(this)}function ta(){mxConnector.call(this)}function Ra(a,b,c,d,e,f,g,h,k,l){g+=k;var x=d.clone();d.x-=e*(2*g+k);d.y-=f*(2*g+k);e*=g+k;f*=g+k;return function(){a.ellipse(x.x-e-g,x.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,x=this.flipV;if(this.direction==mxConstants.DIRECTION_NORTH||this.direction==mxConstants.DIRECTION_SOUTH)var g=f,f=x,x=g;a.rotate(-this.getShapeRotation(),f,x,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,x=f.getActualStartSize(this.state.cell),g=f.model.getChildCells(this.state.cell,!0);if(0x?"#FFFFFF":"#000000"),a.begin(),
-a.moveTo(0,0),a.lineTo(d-f,0),a.lineTo(d,f),a.lineTo(f,f),a.close(),a.fill()),0!=g&&(a.setFillAlpha(Math.abs(g)),a.setFillColor(0>g?"#FFFFFF":"#000000"),a.begin(),a.moveTo(0,0),a.lineTo(f,f),a.lineTo(f,e),a.lineTo(0,e-f),a.close(),a.fill()),a.begin(),a.moveTo(f,e),a.lineTo(f,f),a.lineTo(0,0),a.moveTo(f,f),a.lineTo(d,f),a.end(),a.stroke())};c.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?(a=parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale,
-new mxRectangle(a,a,0,0)):null};mxCellRenderer.registerShape("cube",c);var Oa=Math.tan(mxUtils.toRadians(30)),ua=(.5-Oa)/2;mxUtils.extend(b,mxActor);b.prototype.size=20;b.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(d,e/Oa);a.translate((d-b)/2,(e-b)/2+b/4);a.moveTo(0,.25*b);a.lineTo(.5*b,b*ua);a.lineTo(b,.25*b);a.lineTo(.5*b,(.5-ua)*b);a.lineTo(0,.25*b);a.close();a.end()};mxCellRenderer.registerShape("isoRectangle",b);mxUtils.extend(d,mxCylinder);d.prototype.size=20;d.prototype.redrawPath=
-function(a,b,c,d,e,f){b=Math.min(d,e/(.5+Oa));f?(a.moveTo(0,.25*b),a.lineTo(.5*b,(.5-ua)*b),a.lineTo(b,.25*b),a.moveTo(.5*b,(.5-ua)*b),a.lineTo(.5*b,(1-ua)*b)):(a.translate((d-b)/2,(e-b)/2),a.moveTo(0,.25*b),a.lineTo(.5*b,b*ua),a.lineTo(b,.25*b),a.lineTo(b,.75*b),a.lineTo(.5*b,(1-ua)*b),a.lineTo(0,.75*b),a.close());a.end()};mxCellRenderer.registerShape("isoCube",d);mxUtils.extend(e,mxCylinder);e.prototype.redrawPath=function(a,b,c,d,e,f){b=Math.min(e/2,Math.round(e/8)+this.strokewidth-1);if(f&&null!=
-this.fill||!f&&null==this.fill)a.moveTo(0,b),a.curveTo(0,2*b,d,2*b,d,b),f||(a.stroke(),a.begin()),a.translate(0,b/2),a.moveTo(0,b),a.curveTo(0,2*b,d,2*b,d,b),f||(a.stroke(),a.begin()),a.translate(0,b/2),a.moveTo(0,b),a.curveTo(0,2*b,d,2*b,d,b),f||(a.stroke(),a.begin()),a.translate(0,-b);f||(a.moveTo(0,b),a.curveTo(0,-b/3,d,-b/3,d,b),a.lineTo(d,e-b),a.curveTo(d,e+b/3,0,e+b/3,0,e-b),a.close())};e.prototype.getLabelMargins=function(a){return new mxRectangle(0,2.5*Math.min(a.height/2,Math.round(a.height/
-8)+this.strokewidth-1),0,0)};mxCellRenderer.registerShape("datastore",e);mxUtils.extend(f,mxCylinder);f.prototype.size=30;f.prototype.darkOpacity=0;f.prototype.paintVertexShape=function(a,b,c,d,e){var f=Math.max(0,Math.min(d,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size))))),x=Math.max(-1,Math.min(1,parseFloat(mxUtils.getValue(this.style,"darkOpacity",this.darkOpacity))));a.translate(b,c);a.begin();a.moveTo(0,0);a.lineTo(d-f,0);a.lineTo(d,f);a.lineTo(d,e);a.lineTo(0,e);a.lineTo(0,
-0);a.close();a.end();a.fillAndStroke();this.outline||(a.setShadow(!1),0!=x&&(a.setFillAlpha(Math.abs(x)),a.setFillColor(0>x?"#FFFFFF":"#000000"),a.begin(),a.moveTo(d-f,0),a.lineTo(d-f,f),a.lineTo(d,f),a.close(),a.fill()),a.begin(),a.moveTo(d-f,0),a.lineTo(d-f,f),a.lineTo(d,f),a.end(),a.stroke())};mxCellRenderer.registerShape("note",f);mxUtils.extend(g,f);mxCellRenderer.registerShape("note2",g);g.prototype.getLabelMargins=function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var b=mxUtils.getValue(this.style,
+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 ma(){mxShape.call(this)}
+function ha(){mxShape.call(this)}function V(){mxCylinder.call(this)}function ia(){mxCylinder.call(this)}function pa(){mxRectangleShape.call(this)}function na(){mxDoubleEllipse.call(this)}function qa(){mxDoubleEllipse.call(this)}function ja(){mxArrowConnector.call(this);this.spacing=0}function ea(){mxArrowConnector.call(this);this.spacing=0}function fa(){mxActor.call(this)}function W(){mxRectangleShape.call(this)}function da(){mxActor.call(this)}function la(){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 ka(){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 x=d.clone();d.x-=e*(2*g+k);d.y-=f*(2*g+k);e*=g+k;f*=g+k;return function(){a.ellipse(x.x-e-g,x.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,x=this.flipV;if(this.direction==mxConstants.DIRECTION_NORTH||this.direction==mxConstants.DIRECTION_SOUTH)var g=f,f=x,x=g;a.rotate(-this.getShapeRotation(),
+f,x,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,x=f.getActualStartSize(this.state.cell),g=f.model.getChildCells(this.state.cell,!0);if(0
+x?"#FFFFFF":"#000000"),a.begin(),a.moveTo(0,0),a.lineTo(d-f,0),a.lineTo(d,f),a.lineTo(f,f),a.close(),a.fill()),0!=g&&(a.setFillAlpha(Math.abs(g)),a.setFillColor(0>g?"#FFFFFF":"#000000"),a.begin(),a.moveTo(0,0),a.lineTo(f,f),a.lineTo(f,e),a.lineTo(0,e-f),a.close(),a.fill()),a.begin(),a.moveTo(f,e),a.lineTo(f,f),a.lineTo(0,0),a.moveTo(f,f),a.lineTo(d,f),a.end(),a.stroke())};c.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?(a=parseFloat(mxUtils.getValue(this.style,
+"size",this.size))*this.scale,new mxRectangle(a,a,0,0)):null};mxCellRenderer.registerShape("cube",c);var La=Math.tan(mxUtils.toRadians(30)),ta=(.5-La)/2;mxUtils.extend(b,mxActor);b.prototype.size=20;b.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(d,e/La);a.translate((d-b)/2,(e-b)/2+b/4);a.moveTo(0,.25*b);a.lineTo(.5*b,b*ta);a.lineTo(b,.25*b);a.lineTo(.5*b,(.5-ta)*b);a.lineTo(0,.25*b);a.close();a.end()};mxCellRenderer.registerShape("isoRectangle",b);mxUtils.extend(d,mxCylinder);d.prototype.size=
+20;d.prototype.redrawPath=function(a,b,c,d,e,f){b=Math.min(d,e/(.5+La));f?(a.moveTo(0,.25*b),a.lineTo(.5*b,(.5-ta)*b),a.lineTo(b,.25*b),a.moveTo(.5*b,(.5-ta)*b),a.lineTo(.5*b,(1-ta)*b)):(a.translate((d-b)/2,(e-b)/2),a.moveTo(0,.25*b),a.lineTo(.5*b,b*ta),a.lineTo(b,.25*b),a.lineTo(b,.75*b),a.lineTo(.5*b,(1-ta)*b),a.lineTo(0,.75*b),a.close());a.end()};mxCellRenderer.registerShape("isoCube",d);mxUtils.extend(e,mxCylinder);e.prototype.redrawPath=function(a,b,c,d,e,f){b=Math.min(e/2,Math.round(e/8)+this.strokewidth-
+1);if(f&&null!=this.fill||!f&&null==this.fill)a.moveTo(0,b),a.curveTo(0,2*b,d,2*b,d,b),f||(a.stroke(),a.begin()),a.translate(0,b/2),a.moveTo(0,b),a.curveTo(0,2*b,d,2*b,d,b),f||(a.stroke(),a.begin()),a.translate(0,b/2),a.moveTo(0,b),a.curveTo(0,2*b,d,2*b,d,b),f||(a.stroke(),a.begin()),a.translate(0,-b);f||(a.moveTo(0,b),a.curveTo(0,-b/3,d,-b/3,d,b),a.lineTo(d,e-b),a.curveTo(d,e+b/3,0,e+b/3,0,e-b),a.close())};e.prototype.getLabelMargins=function(a){return new mxRectangle(0,2.5*Math.min(a.height/2,Math.round(a.height/
+8)+this.strokewidth-1),0,0)};mxCellRenderer.registerShape("datastore",e);mxUtils.extend(f,mxCylinder);f.prototype.size=30;f.prototype.darkOpacity=0;f.prototype.paintVertexShape=function(a,b,c,d,e){var f=Math.max(0,Math.min(d,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size))))),g=Math.max(-1,Math.min(1,parseFloat(mxUtils.getValue(this.style,"darkOpacity",this.darkOpacity))));a.translate(b,c);a.begin();a.moveTo(0,0);a.lineTo(d-f,0);a.lineTo(d,f);a.lineTo(d,e);a.lineTo(0,e);a.lineTo(0,
+0);a.close();a.end();a.fillAndStroke();this.outline||(a.setShadow(!1),0!=g&&(a.setFillAlpha(Math.abs(g)),a.setFillColor(0>g?"#FFFFFF":"#000000"),a.begin(),a.moveTo(d-f,0),a.lineTo(d-f,f),a.lineTo(d,f),a.close(),a.fill()),a.begin(),a.moveTo(d-f,0),a.lineTo(d-f,f),a.lineTo(d,f),a.end(),a.stroke())};mxCellRenderer.registerShape("note",f);mxUtils.extend(g,f);mxCellRenderer.registerShape("note2",g);g.prototype.getLabelMargins=function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var b=mxUtils.getValue(this.style,
"size",15);return new mxRectangle(0,Math.min(a.height*this.scale,b*this.scale),0,0)}return null};mxUtils.extend(h,mxShape);h.prototype.isoAngle=15;h.prototype.paintVertexShape=function(a,b,c,d,e){var f=Math.max(.01,Math.min(94,parseFloat(mxUtils.getValue(this.style,"isoAngle",this.isoAngle))))*Math.PI/200,f=Math.min(d*Math.tan(f),.5*e);a.translate(b,c);a.begin();a.moveTo(.5*d,0);a.lineTo(d,f);a.lineTo(d,e-f);a.lineTo(.5*d,e);a.lineTo(0,e-f);a.lineTo(0,f);a.close();a.fillAndStroke();a.setShadow(!1);
a.begin();a.moveTo(0,f);a.lineTo(.5*d,2*f);a.lineTo(d,f);a.moveTo(.5*d,2*f);a.lineTo(.5*d,e);a.stroke()};mxCellRenderer.registerShape("isoCube2",h);mxUtils.extend(k,mxShape);k.prototype.size=15;k.prototype.paintVertexShape=function(a,b,c,d,e){var f=Math.max(0,Math.min(.5*e,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.translate(b,c);0==f?(a.rect(0,0,d,e),a.fillAndStroke()):(a.begin(),a.moveTo(0,f),a.arcTo(.5*d,f,0,0,1,.5*d,0),a.arcTo(.5*d,f,0,0,1,d,f),a.lineTo(d,e-f),a.arcTo(.5*d,
f,0,0,1,.5*d,e),a.arcTo(.5*d,f,0,0,1,0,e-f),a.close(),a.fillAndStroke(),a.setShadow(!1),a.begin(),a.moveTo(d,f),a.arcTo(.5*d,f,0,0,1,.5*d,2*f),a.arcTo(.5*d,f,0,0,1,0,f),a.stroke())};mxCellRenderer.registerShape("cylinder2",k);mxUtils.extend(l,mxCylinder);l.prototype.size=15;l.prototype.paintVertexShape=function(a,b,c,d,e){var f=Math.max(0,Math.min(.5*e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),g=mxUtils.getValue(this.style,"lid",!0);a.translate(b,c);0==f?(a.rect(0,0,d,e),a.fillAndStroke()):
@@ -3155,12 +3214,12 @@ var f=mxUtils.getValue(this.style,"tabPosition",this.tabPosition),g=mxUtils.getV
"boundedLbl",!1)){var b=mxUtils.getValue(this.style,"tabHeight",15)*this.scale;if(mxUtils.getValue(this.style,"labelInHeader",!1)){var c=mxUtils.getValue(this.style,"tabWidth",15)*this.scale,b=mxUtils.getValue(this.style,"tabHeight",15)*this.scale,d=mxUtils.getValue(this.style,"rounded",!1),e=mxUtils.getValue(this.style,"absoluteArcSize",!1),f=parseFloat(mxUtils.getValue(this.style,"arcSize",this.arcSize));e||(f*=Math.min(a.width,a.height));f=Math.min(f,.5*a.width,.5*(a.height-b));d||(f=0);return"left"==
mxUtils.getValue(this.style,"tabPosition",this.tabPosition)?new mxRectangle(f,0,Math.min(a.width,a.width-c),Math.min(a.height,a.height-b)):new mxRectangle(Math.min(a.width,a.width-c),0,f,Math.min(a.height,a.height-b))}return new mxRectangle(0,Math.min(a.height,b),0,0)}return null};mxUtils.extend(m,mxCylinder);m.prototype.arcSize=.1;m.prototype.paintVertexShape=function(a,b,c,d,e){a.translate(b,c);var f=mxUtils.getValue(this.style,"rounded",!1),g=mxUtils.getValue(this.style,"absoluteArcSize",!1);b=
parseFloat(mxUtils.getValue(this.style,"arcSize",this.arcSize));c=mxUtils.getValue(this.style,"umlStateConnection",null);g||(b*=Math.min(d,e));b=Math.min(b,.5*d,.5*e);f||(b=0);f=0;null!=c&&(f=10);a.begin();a.moveTo(f,b);a.arcTo(b,b,0,0,1,f+b,0);a.lineTo(d-b,0);a.arcTo(b,b,0,0,1,d,b);a.lineTo(d,e-b);a.arcTo(b,b,0,0,1,d-b,e);a.lineTo(f+b,e);a.arcTo(b,b,0,0,1,f,e-b);a.close();a.fillAndStroke();a.setShadow(!1);"collapseState"==mxUtils.getValue(this.style,"umlStateSymbol",null)&&(a.roundrect(d-40,e-20,
-10,10,3,3),a.stroke(),a.roundrect(d-20,e-20,10,10,3,3),a.stroke(),a.begin(),a.moveTo(d-30,e-15),a.lineTo(d-20,e-15),a.stroke());"connPointRefEntry"==c?(a.ellipse(0,.5*e-10,20,20),a.fillAndStroke()):"connPointRefExit"==c&&(a.ellipse(0,.5*e-10,20,20),a.fillAndStroke(),a.begin(),a.moveTo(5,.5*e-5),a.lineTo(15,.5*e+5),a.moveTo(15,.5*e-5),a.lineTo(5,.5*e+5),a.stroke())};mxCellRenderer.registerShape("umlState",m);m.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)&&
-null!=mxUtils.getValue(this.style,"umlStateConnection",null)?new mxRectangle(10*this.scale,0,0,0):null};mxUtils.extend(q,mxActor);q.prototype.size=30;q.prototype.isRoundable=function(){return!0};q.prototype.redrawPath=function(a,b,c,d,e){b=Math.max(0,Math.min(d,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,0),new mxPoint(d,e),new mxPoint(0,
-e),new mxPoint(0,b)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("card",q);mxUtils.extend(u,mxActor);u.prototype.size=.4;u.prototype.redrawPath=function(a,b,c,d,e){b=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,b/2);a.quadTo(d/4,1.4*b,d/2,b/2);a.quadTo(3*d/4,b*(1-1.4),d,b/2);a.lineTo(d,e-b/2);a.quadTo(3*d/4,e-1.4*b,d/2,e-b/2);a.quadTo(d/4,e-b*(1-1.4),0,e-b/2);a.lineTo(0,b/2);a.close();a.end()};u.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.style,
-"boundedLbl",!1)){var b=mxUtils.getValue(this.style,"size",this.size),c=a.width,d=a.height;if(null==this.direction||this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)return b*=d,new mxRectangle(a.x,a.y+b,c,d-2*b);b*=c;return new mxRectangle(a.x+b,a.y,c-2*b,d)}return a};mxCellRenderer.registerShape("tape",u);mxUtils.extend(v,mxActor);v.prototype.size=.3;v.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?new mxRectangle(0,
-0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*a.height):null};v.prototype.redrawPath=function(a,b,c,d,e){b=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,0);a.lineTo(d,0);a.lineTo(d,e-b/2);a.quadTo(3*d/4,e-1.4*b,d/2,e-b/2);a.quadTo(d/4,e-b*(1-1.4),0,e-b/2);a.lineTo(0,b/2);a.close();a.end()};mxCellRenderer.registerShape("document",v);var ab=mxCylinder.prototype.getCylinderSize;mxCylinder.prototype.getCylinderSize=function(a,b,c,d){var e=
-mxUtils.getValue(this.style,"size");return null!=e?d*Math.max(0,Math.min(1,e)):ab.apply(this,arguments)};mxCylinder.prototype.getLabelMargins=function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var b=2*mxUtils.getValue(this.style,"size",.15);return new mxRectangle(0,Math.min(this.maxHeight*this.scale,a.height*b),0,0)}return null};l.prototype.getLabelMargins=function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var b=mxUtils.getValue(this.style,"size",15);mxUtils.getValue(this.style,
+10,10,3,3),a.stroke(),a.roundrect(d-20,e-20,10,10,3,3),a.stroke(),a.begin(),a.moveTo(d-30,e-15),a.lineTo(d-20,e-15),a.stroke());"connPointRefEntry"==c?(a.ellipse(0,.5*e-10,20,20),a.fillAndStroke()):"connPointRefExit"==c&&(a.ellipse(0,.5*e-10,20,20),a.fillAndStroke(),a.begin(),a.moveTo(5,.5*e-5),a.lineTo(15,.5*e+5),a.moveTo(15,.5*e-5),a.lineTo(5,.5*e+5),a.stroke())};m.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)&&null!=mxUtils.getValue(this.style,"umlStateConnection",
+null)?new mxRectangle(10*this.scale,0,0,0):null};mxCellRenderer.registerShape("umlState",m);mxUtils.extend(q,mxActor);q.prototype.size=30;q.prototype.isRoundable=function(){return!0};q.prototype.redrawPath=function(a,b,c,d,e){b=Math.max(0,Math.min(d,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,0),new mxPoint(d,e),new mxPoint(0,e),new mxPoint(0,
+b)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("card",q);mxUtils.extend(v,mxActor);v.prototype.size=.4;v.prototype.redrawPath=function(a,b,c,d,e){b=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,b/2);a.quadTo(d/4,1.4*b,d/2,b/2);a.quadTo(3*d/4,b*(1-1.4),d,b/2);a.lineTo(d,e-b/2);a.quadTo(3*d/4,e-1.4*b,d/2,e-b/2);a.quadTo(d/4,e-b*(1-1.4),0,e-b/2);a.lineTo(0,b/2);a.close();a.end()};v.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.style,
+"boundedLbl",!1)){var b=mxUtils.getValue(this.style,"size",this.size),c=a.width,d=a.height;if(null==this.direction||this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)return b*=d,new mxRectangle(a.x,a.y+b,c,d-2*b);b*=c;return new mxRectangle(a.x+b,a.y,c-2*b,d)}return a};mxCellRenderer.registerShape("tape",v);mxUtils.extend(u,mxActor);u.prototype.size=.3;u.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?new mxRectangle(0,
+0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*a.height):null};u.prototype.redrawPath=function(a,b,c,d,e){b=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,0);a.lineTo(d,0);a.lineTo(d,e-b/2);a.quadTo(3*d/4,e-1.4*b,d/2,e-b/2);a.quadTo(d/4,e-b*(1-1.4),0,e-b/2);a.lineTo(0,b/2);a.close();a.end()};mxCellRenderer.registerShape("document",u);var Sa=mxCylinder.prototype.getCylinderSize;mxCylinder.prototype.getCylinderSize=function(a,b,c,d){var e=
+mxUtils.getValue(this.style,"size");return null!=e?d*Math.max(0,Math.min(1,e)):Sa.apply(this,arguments)};mxCylinder.prototype.getLabelMargins=function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var b=2*mxUtils.getValue(this.style,"size",.15);return new mxRectangle(0,Math.min(this.maxHeight*this.scale,a.height*b),0,0)}return null};l.prototype.getLabelMargins=function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var b=mxUtils.getValue(this.style,"size",15);mxUtils.getValue(this.style,
"lid",!0)||(b/=2);return new mxRectangle(0,Math.min(a.height*this.scale,2*b*this.scale),0,Math.max(0,.3*b*this.scale))}return null};p.prototype.getLabelMargins=function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var b=mxUtils.getValue(this.style,"tabHeight",15)*this.scale;if(mxUtils.getValue(this.style,"labelInHeader",!1)){var c=mxUtils.getValue(this.style,"tabWidth",15)*this.scale,b=mxUtils.getValue(this.style,"tabHeight",15)*this.scale,d=mxUtils.getValue(this.style,"rounded",!1),e=mxUtils.getValue(this.style,
"absoluteArcSize",!1),f=parseFloat(mxUtils.getValue(this.style,"arcSize",this.arcSize));e||(f*=Math.min(a.width,a.height));f=Math.min(f,.5*a.width,.5*(a.height-b));d||(f=0);return"left"==mxUtils.getValue(this.style,"tabPosition",this.tabPosition)?new mxRectangle(f,0,Math.min(a.width,a.width-c),Math.min(a.height,a.height-b)):new mxRectangle(Math.min(a.width,a.width-c),0,f,Math.min(a.height,a.height-b))}return new mxRectangle(0,Math.min(a.height,b),0,0)}return null};m.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,
"boundedLbl",!1)&&null!=mxUtils.getValue(this.style,"umlStateConnection",null)?new mxRectangle(10*this.scale,0,0,0):null};g.prototype.getLabelMargins=function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var b=mxUtils.getValue(this.style,"size",15);return new mxRectangle(0,Math.min(a.height*this.scale,b*this.scale),0,Math.max(0,b*this.scale))}return null};mxUtils.extend(t,mxActor);t.prototype.size=.2;t.prototype.fixedSize=20;t.prototype.isRoundable=function(){return!0};t.prototype.redrawPath=
@@ -3171,182 +3230,177 @@ e),new mxPoint(d,e)],this.isRounded,c,!1);a.end()};mxCellRenderer.registerShape(
b};y.prototype.close=function(){null!=this.firstX&&null!=this.firstY&&(this.lineTo(this.firstX,this.firstY),this.originalClose.apply(this.canvas,arguments));this.originalClose.apply(this.canvas,arguments)};y.prototype.quadTo=function(a,b,c,d){this.originalQuadTo.apply(this.canvas,arguments);this.lastX=c;this.lastY=d};y.prototype.curveTo=function(a,b,c,d,e,f){this.originalCurveTo.apply(this.canvas,arguments);this.lastX=e;this.lastY=f};y.prototype.arcTo=function(a,b,c,d,e,f,g){this.originalArcTo.apply(this.canvas,
arguments);this.lastX=f;this.lastY=g};y.prototype.lineTo=function(a,b){if(null!=this.lastX&&null!=this.lastY){var c=function(a){return"number"===typeof a?a?0>a?-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 x=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,x=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+x),new mxPoint(g,h+x),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+x),new mxPoint(g+e,h+x),new mxPoint(g,h)]):b==mxConstants.DIRECTION_NORTH?(e=e?Math.max(0,Math.min(x,f)):x*Math.max(0,Math.min(1,f)),
-h=[new mxPoint(g,h+e),new mxPoint(g+k,h),new mxPoint(g+k,h+x),new mxPoint(g,h+x-e),new mxPoint(g,h+e)]):(e=e?Math.max(0,Math.min(x,f)):x*Math.max(0,Math.min(1,f)),h=[new mxPoint(g,h),new mxPoint(g+k,h+e),new mxPoint(g+k,h+x-e),new mxPoint(g,h+x),new mxPoint(g,h)]);x=a.getCenterX();a=a.getCenterY();a=new mxPoint(x,a);d&&(c.xg+k?a.y=c.y:a.x=c.x);return mxUtils.getPerimeterPoint(h,a,c)};mxStyleRegistry.putValue("trapezoidPerimeter",mxPerimeter.TrapezoidPerimeter);mxPerimeter.StepPerimeter=function(a,
-b,c,d){var e="0"!=mxUtils.getValue(b.style,"fixedSize","0"),f=e?z.prototype.fixedSize:z.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,x=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_EAST?(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-e,h),new mxPoint(g+
-k,a),new mxPoint(g+k-e,h+x),new mxPoint(g,h+x),new mxPoint(g+e,a),new mxPoint(g,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+e,h),new mxPoint(g+k,h),new mxPoint(g+k-e,a),new mxPoint(g+k,h+x),new mxPoint(g+e,h+x),new mxPoint(g,a),new mxPoint(g+e,h)]):b==mxConstants.DIRECTION_NORTH?(e=e?Math.max(0,Math.min(x,f)):x*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+x),new mxPoint(l,
-h+x-e),new mxPoint(g,h+x),new mxPoint(g,h+e)]):(e=e?Math.max(0,Math.min(x,f)):x*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+x-e),new mxPoint(l,h+x),new mxPoint(g,h+x-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,x=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(x,f)):x*Math.max(0,Math.min(1,f)),h=[new mxPoint(l,h),new mxPoint(g+k,h+e),new mxPoint(g+k,h+x-e),new mxPoint(l,
-h+x),new mxPoint(g,h+x-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+x),new mxPoint(g+e,h+x),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(ha,mxShape);ha.prototype.size=10;ha.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",ha);mxUtils.extend(la,mxShape);la.prototype.size=10;la.prototype.inset=2;la.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",la);mxUtils.extend(pa,mxShape);pa.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",pa);mxUtils.extend(ma,mxShape);
-ma.prototype.inset=2;ma.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",ma);mxUtils.extend(Z,mxCylinder);Z.prototype.jettyWidth=20;Z.prototype.jettyHeight=10;Z.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",
-Z);mxUtils.extend(ia,mxCylinder);ia.prototype.jettyWidth=32;ia.prototype.jettyHeight=12;ia.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=.3*e-b/2,k=.7*e-b/2;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("component",ia);mxUtils.extend(na,mxRectangleShape);na.prototype.paintForeground=function(a,b,c,d,e){var f=d/2,g=e/2,h=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;a.begin();this.addPoints(a,[new mxPoint(b+f,c),new mxPoint(b+d,c+g),new mxPoint(b+f,c+e),new mxPoint(b,c+g)],this.isRounded,h,!0);
-a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("associativeEntity",na);mxUtils.extend(fa,mxDoubleEllipse);fa.prototype.outerStroke=!0;fa.prototype.paintVertexShape=function(a,b,c,d,e){var f=Math.min(4,Math.min(d/5,e/5));0=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))];Ea.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,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,"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};ba.prototype.constraints=mxRectangleShape.prototype.constraints;R.prototype.constraints=
-mxRectangleShape.prototype.constraints;Ba.prototype.constraints=mxEllipse.prototype.constraints;Ca.prototype.constraints=mxEllipse.prototype.constraints;Da.prototype.constraints=mxEllipse.prototype.constraints;Fa.prototype.constraints=mxEllipse.prototype.constraints;aa.prototype.constraints=mxRectangleShape.prototype.constraints;Ga.prototype.constraints=mxRectangleShape.prototype.constraints;wa.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};Z.prototype.getConstraints=function(a,b,c){b=parseFloat(mxUtils.getValue(a,"jettyWidth",Z.prototype.jettyWidth))/2;a=parseFloat(mxUtils.getValue(a,"jettyHeight",Z.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};ra.prototype.constraints=mxRectangleShape.prototype.constraints;sa.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)];G.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)];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)];ha.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;v.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;K.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,0),!1,null,0,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*e));return a};U.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,.5*(b+d),e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,.5*(c+e)));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));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1));return a};F.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1),new mxConnectionConstraint(new mxPoint(.75,
-.5),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];L.prototype.getConstraints=function(a,b,c){a=[];var d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth)))),e=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize)))),d=(c-d)/2;a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,
-0),!1,null,0,d));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-e,0));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b-e,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(b-e),c-d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,c-d));return a};S.prototype.getConstraints=function(a,b,c){a=[];var d=c*Math.max(0,Math.min(1,
-parseFloat(mxUtils.getValue(this.style,"arrowWidth",L.prototype.arrowWidth)))),e=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",L.prototype.arrowSize)))),d=(c-d)/2;a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*b,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b-e,0));a.push(new mxConnectionConstraint(new mxPoint(1,.5),
-!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b-e,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*b,c-d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,c));return a};va.prototype.getConstraints=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};Y.prototype.constraints=null;ja.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)];xa.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)];pa.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];ma.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()}
+g)):d*Math.max(0,Math.min(1,g));this.isRounded&&(f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,g=Math.max(g,Math.min(d*f,e*f)));g=Math.round(g);a.begin();a.moveTo(b+g,c);a.lineTo(b+g,c+e);a.moveTo(b+d-g,c);a.lineTo(b+d-g,c+e);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("process",C);mxCellRenderer.registerShape("process2",C);mxUtils.extend(D,mxRectangleShape);D.prototype.paintBackground=
+function(a,b,c,d,e){a.setFillColor(mxConstants.NONE);a.rect(b,c,d,e);a.fill()};D.prototype.paintForeground=function(a,b,c,d,e){};mxCellRenderer.registerShape("transparent",D);mxUtils.extend(B,mxHexagon);B.prototype.size=30;B.prototype.position=.5;B.prototype.position2=.5;B.prototype.base=20;B.prototype.getLabelMargins=function(){return new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale)};B.prototype.isRoundable=function(){return!0};B.prototype.redrawPath=function(a,
+b,c,d,e){b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size))));var f=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position",this.position)))),g=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position2",this.position2)))),h=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"base",this.base))));this.addPoints(a,[new mxPoint(0,0),new mxPoint(d,
+0),new mxPoint(d,e-c),new mxPoint(Math.min(d,f+h),e-c),new mxPoint(g,e),new mxPoint(Math.max(0,f),e-c),new mxPoint(0,e-c)],this.isRounded,b,!0,[4])};mxCellRenderer.registerShape("callout",B);mxUtils.extend(z,mxActor);z.prototype.size=.2;z.prototype.fixedSize=20;z.prototype.isRoundable=function(){return!0};z.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))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d-b,0),new mxPoint(d,e/2),new mxPoint(d-b,e),new mxPoint(0,e),new mxPoint(b,e/2)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("step",z);mxUtils.extend(E,mxHexagon);E.prototype.size=.25;E.prototype.fixedSize=20;E.prototype.isRoundable=function(){return!0};E.prototype.redrawPath=function(a,
+b,c,d,e){b="0"!=mxUtils.getValue(this.style,"fixedSize","0")?Math.max(0,Math.min(.5*d,parseFloat(mxUtils.getValue(this.style,"size",this.fixedSize)))):d*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(b,0),new mxPoint(d-b,0),new mxPoint(d,.5*e),new mxPoint(d-b,e),new mxPoint(b,e),new mxPoint(0,.5*e)],this.isRounded,c,!0)};mxCellRenderer.registerShape("hexagon",
+E);mxUtils.extend(H,mxRectangleShape);H.prototype.isHtmlAllowed=function(){return!1};H.prototype.paintForeground=function(a,b,c,d,e){var f=Math.min(d/5,e/5)+1;a.begin();a.moveTo(b+d/2,c+f);a.lineTo(b+d/2,c+e-f);a.moveTo(b+f,c+e/2);a.lineTo(b+d-f,c+e/2);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("plus",H);var Qa=mxRhombus.prototype.paintVertexShape;mxRhombus.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var b=
+(2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+b,a.y+b,a.width-2*b,a.height-2*b)}return a};mxRhombus.prototype.paintVertexShape=function(a,b,c,d,e){Qa.apply(this,arguments);if(!this.outline&&1==this.style["double"]){var f=2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);b+=f;c+=f;d-=2*f;e-=2*f;0g+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,x=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+x),new mxPoint(g,
+h+x),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+x),new mxPoint(g+e,h+x),new mxPoint(g,h)]):b==mxConstants.DIRECTION_NORTH?(e=e?Math.max(0,Math.min(x,f)):x*Math.max(0,Math.min(1,f)),h=[new mxPoint(g,h+e),new mxPoint(g+k,h),new mxPoint(g+k,h+x),new mxPoint(g,h+x-e),new mxPoint(g,h+e)]):(e=e?Math.max(0,Math.min(x,f)):x*Math.max(0,Math.min(1,f)),h=[new mxPoint(g,h),new mxPoint(g+
+k,h+e),new mxPoint(g+k,h+x-e),new mxPoint(g,h+x),new mxPoint(g,h)]);x=a.getCenterX();a=a.getCenterY();a=new mxPoint(x,a);d&&(c.xg+k?a.y=c.y:a.x=c.x);return mxUtils.getPerimeterPoint(h,a,c)};mxStyleRegistry.putValue("trapezoidPerimeter",mxPerimeter.TrapezoidPerimeter);mxPerimeter.StepPerimeter=function(a,b,c,d){var e="0"!=mxUtils.getValue(b.style,"fixedSize","0"),f=e?z.prototype.fixedSize:z.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,x=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_EAST?(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-e,h),new mxPoint(g+k,a),new mxPoint(g+k-e,h+x),new mxPoint(g,h+x),new mxPoint(g+e,a),new mxPoint(g,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+
+e,h),new mxPoint(g+k,h),new mxPoint(g+k-e,a),new mxPoint(g+k,h+x),new mxPoint(g+e,h+x),new mxPoint(g,a),new mxPoint(g+e,h)]):b==mxConstants.DIRECTION_NORTH?(e=e?Math.max(0,Math.min(x,f)):x*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+x),new mxPoint(l,h+x-e),new mxPoint(g,h+x),new mxPoint(g,h+e)]):(e=e?Math.max(0,Math.min(x,f)):x*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+x-e),new mxPoint(l,
+h+x),new mxPoint(g,h+x-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,x=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(x,f)):x*Math.max(0,Math.min(1,f)),h=[new mxPoint(l,h),new mxPoint(g+k,h+e),new mxPoint(g+k,h+x-e),new mxPoint(l,h+x),new mxPoint(g,h+x-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+x),new mxPoint(g+e,h+x),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();
+a.stroke()};mxCellRenderer.registerShape("requires",ga);mxUtils.extend(ma,mxShape);ma.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",ma);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=
+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=.3*e-b/2,k=.7*e-b/2;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("component",ia);mxUtils.extend(pa,mxRectangleShape);pa.prototype.paintForeground=function(a,b,c,d,e){var f=d/2,g=e/2,h=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;a.begin();this.addPoints(a,[new mxPoint(b+f,c),new mxPoint(b+d,c+g),new mxPoint(b+f,c+e),new mxPoint(b,c+g)],this.isRounded,h,!0);a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("associativeEntity",pa);mxUtils.extend(na,
+mxDoubleEllipse);na.prototype.outerStroke=!0;na.prototype.paintVertexShape=function(a,b,c,d,e){var f=Math.min(4,Math.min(d/5,e/5));0=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,
+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,
+"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;ka.prototype.constraints=mxEllipse.prototype.constraints;wa.prototype.constraints=mxEllipse.prototype.constraints;za.prototype.constraints=mxEllipse.prototype.constraints;Ba.prototype.constraints=
+mxEllipse.prototype.constraints;fa.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,
+.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,
+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,
+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,
+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,
+0),!1,null,0,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*e));return a};da.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,.5*(b+d),e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,.5*(c+e)));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));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,
+1),!1));return a};la.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];T.prototype.getConstraints=
+function(a,b,c){a=[];var d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth)))),e=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize)))),d=(c-d)/2;a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,d));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-e,0));a.push(new mxConnectionConstraint(new mxPoint(1,
+.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b-e,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(b-e),c-d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,c-d));return a};aa.prototype.getConstraints=function(a,b,c){a=[];var d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",T.prototype.arrowWidth)))),e=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",T.prototype.arrowSize)))),d=(c-d)/2;a.push(new mxConnectionConstraint(new mxPoint(0,
+.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*b,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b-e,0));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b-e,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*b,c-d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,c));return a};ua.prototype.getConstraints=
+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)];ma.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,296,!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=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 u,v,t=document.createElement("table"),w=document.createElement("tbody");u=document.createElement("tr");v=document.createElement("td");
-v.style.fontSize="10pt";v.style.width="100px";mxUtils.write(v,c);u.appendChild(v);w.appendChild(u);u=document.createElement("tr");v=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};v.appendChild(r);u.appendChild(v);w.appendChild(u);u=document.createElement("tr");v=document.createElement("td");v.style.paddingTop="14px";v.style.whiteSpace="nowrap";v.setAttribute("align","right");null!=m&&(c=mxUtils.button(mxResources.get("help"),function(){a.editor.graph.openLink(m)}),c.className="geBtn",v.appendChild(c));if(null!=q)for(c=0;cMAX_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",
+var ExportDialog=function(a){function c(){var a=n.value,b=a.lastIndexOf(".");n.value=0MAX_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),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 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 v=document.createElement("select");v.style.width="180px";k=document.createElement("option");k.setAttribute("value","100");mxUtils.write(k,"100dpi");v.appendChild(k);k=document.createElement("option");k.setAttribute("value","200");mxUtils.write(k,"200dpi");v.appendChild(k);k=document.createElement("option");k.setAttribute("value","300");mxUtils.write(k,"300dpi");v.appendChild(k);k=document.createElement("option");k.setAttribute("value",
-"400");mxUtils.write(k,"400dpi");v.appendChild(k);k=document.createElement("option");k.setAttribute("value","custom");mxUtils.write(k,mxResources.get("custom"));v.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(v,"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(v);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",
+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("borderWidth")+":");e.appendChild(k);var A=document.createElement("input");A.setAttribute("type","number");A.setAttribute("value",ExportDialog.lastBorderValue);A.style.width="180px";
-k=document.createElement("td");k.appendChild(A);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=
+k=document.createElement("td");k.appendChild(A);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(A.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)}}));y.className="geBtn gePrimaryBtn";var C=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});C.className="geBtn";a.editor.cancelFirst?(k.appendChild(C),k.appendChild(y)):(k.appendChild(y),
k.appendChild(C));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){var 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!=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;wb.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);v(c,a);c.focus()}A.setAttribute("disabled","disabled");r.value=""}catch(z){mxUtils.alert(z)}else mxUtils.alert(mxResources.get("invalidName"))});this.init=function(){0document.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(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(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';r.setAttribute("title",mxResources.get("rename"));mxEvent.addListener(r,"click",function(b){h.isEnabled()&&a.showDataDialog(u);mxEvent.consume(b)});h.isEnabled()||(r.className="geButton mxDisabled");v.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(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()||(A.className="geButton mxDisabled");v.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");v.appendChild(l);k.appendChild(v);g();h.model.addListener(mxEvent.CHANGE,g);h.addListener("defaultParentChanged",g);h.selectionModel.addListener(mxEvent.CHANGE,function(){h.isSelectionEmpty()?
+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":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 y=mxUtils.bind(this,function(){var a=this.window.getX(),b=this.window.getY();this.window.setLocation(a,b)});mxEvent.addListener(window,
"resize",y);this.destroy=function(){mxEvent.removeListener(window,"resize",y);this.window.destroy()}};
@@ -3587,57 +3641,58 @@ Sidebar.prototype.cisco19="LAN Switching;Routing WAN;Network Management;Data Cen
Sidebar.prototype.eip="Message Construction;Message Routing;Message Transformation;Messaging Channels;Messaging Endpoints;Messaging Systems;System Management".split(";");Sidebar.prototype.gmdl="Bottom Navigation;Bottom Sheets;Buttons;Cards;Chips;Dialogs;Dividers;Grid Lists;Icons;Lists;Menus;Misc;Pickers;Selection Controls;Sliders;Steppers;Tabs;Text Fields".split(";");Sidebar.prototype.aws2="Analytics;Application Services;Compute;Database;Developer Tools;Enterprise Applications;Game Development;General;Internet of Things;Management Tools;Mobile Services;Networking;On-Demand Workforce;SDKs;Security and Identity;Storage and Content Delivery;Groups".split(";");
Sidebar.prototype.aws3="Analytics;Application Services;Artificial Intelligence;Business Productivity;Compute;Contact Center;Database;Desktop and App Streaming;Developer Tools;Game Development;General;Groups;Internet of Things;Management Tools;Messaging;Migration;Mobile Services;Networking and Content Delivery;On Demand Workforce;SDKs;Security Identity and Compliance;Storage".split(";");Sidebar.prototype.aws4b="Arrows;General Resources;Illustrations;Groups Light;Groups Dark;Analytics;Application Integration;AR VR;Cost Management;Business Productivity;Compute;Customer Engagement;Database;Desktop App Streaming;Developer Tools;Game Development;Internet of Things;IoT Things;IoT Resources;Machine Learning;Management Tools;Media Services;Migration;Mobile Services;Network Content Delivery;Security Identity Compliance;Storage".split(";");
Sidebar.prototype.aws4="Arrows;General Resources;Illustrations;Groups;Analytics;Application Integration;AR VR;Cost Management;Blockchain;Business Applications;EC2 Instance Types;Compute;Containers;Customer Enablement;Customer Engagement;Database;End User Computing;Developer Tools;Game Tech;Internet of Things;IoT Things;IoT Resources;Machine Learning;Management Governance;Media Services;Migration Transfer;Mobile;Network Content Delivery;Quantum Technologies;Robotics;Satellite;Security Identity Compliance;Storage".split(";");
-Sidebar.prototype.general=["General","Advanced","Misc"];Sidebar.prototype.office="Clouds Communications Concepts Databases Devices Security Servers Services Sites Users".split(" ");Sidebar.prototype.veeam="Data Center;Misc;Software;Storage;UsersStatus;VASComponents;Backup Replication;Products;VMs and Tape;2D;3D".split(";");Sidebar.prototype.veeam2="Auxiliary;Data Center;Features;General;Products and Components;Software;States;Storage;3D".split(";");Sidebar.prototype.archimate3="Application;Business;Composite;Implementation and Migration;Motivation;Physical;Relationships;Strategy;Technology".split(";");
-Sidebar.prototype.electrical="LogicGates Resistors Capacitors Inductors SwitchesRelays Diodes Sources Transistors Misc Audio PlcLadder Abstract Optical VacuumTubes Waveforms Instruments RotMech Transmission".split(" ");Sidebar.prototype.customEntries=null;Sidebar.prototype.enabledLibraries=null;Sidebar.prototype.maxPreloadCount=20;Sidebar.prototype.configuration=[{id:"general",prefix:"general",libs:Sidebar.prototype.general},{id:"uml"},{id:"search"},{id:"er"},{id:"azure2",prefix:"azure2",libs:"AI Machine Learning;Analytics;App Services;Azure Stack;Azure VMware Solution;Blockchain;Compute;Containers;CXP;Databases;DevOps;General;Identity;Integration;Internet of Things;Intune;IoT;Management Governance;Migrate;Mixed Reality;Monitor;Networking;Other;Preview;Security;Storage;Web".split(";")},
+Sidebar.prototype.office="Clouds Communications Concepts Databases Devices Security Servers Services Sites Users".split(" ");Sidebar.prototype.veeam="Data Center;Misc;Software;Storage;UsersStatus;VASComponents;Backup Replication;Products;VMs and Tape;2D;3D".split(";");Sidebar.prototype.veeam2="Auxiliary;Data Center;Features;General;Products and Components;Software;States;Storage;3D".split(";");Sidebar.prototype.archimate3="Application;Business;Composite;Implementation and Migration;Motivation;Physical;Relationships;Strategy;Technology".split(";");
+Sidebar.prototype.electrical="LogicGates Resistors Capacitors Inductors SwitchesRelays Diodes Sources Transistors Misc Audio PlcLadder Abstract Optical VacuumTubes Waveforms Instruments RotMech Transmission".split(" ");Sidebar.prototype.customEntries=null;Sidebar.prototype.enabledLibraries=null;Sidebar.prototype.maxPreloadCount=20;Sidebar.prototype.configuration=[{id:"general",libs:["general","misc","advanced"]},{id:"uml"},{id:"uml25"},{id:"search"},{id:"er"},{id:"azure2",prefix:"azure2",libs:"AI Machine Learning;Analytics;App Services;Azure Stack;Azure VMware Solution;Blockchain;Compute;Containers;CXP;Databases;DevOps;General;Identity;Integration;Internet of Things;Intune;IoT;Management Governance;Migrate;Mixed Reality;Monitor;Networking;Other;Preview;Security;Storage;Web".split(";")},
{id:"ios",prefix:"ios",libs:["","7icons","7ui"]},{id:"android",prefix:"android",libs:[""]},{id:"aws3d"},{id:"flowchart"},{id:"basic"},{id:"infographic"},{id:"arrows"},{id:"arrows2"},{id:"lean_mapping"},{id:"citrix"},{id:"azure"},{id:"network"},{id:"vvd"},{id:"sitemap"},{id:"c4"},{id:"dfd"},{id:"threatModeling"},{id:"kubernetes"},{id:"cisco19",prefix:"cisco19",libs:Sidebar.prototype.cisco19},{id:"mscae",prefix:"mscae",libs:"Companies;EnterpriseFlat;IntuneFlat;OMSFlat;System CenterFlat;AI and ML Service;Analytics Service;Compute Service;Compute Service VM;Container Service;Databases Service;DevOps Service;General Service;Identity Service;Integration Service;Internet of Things Service;Intune Service;Management and Governance Service;Management and Governance Service Media;Migrate Service;Mixed Reality Service;Mobile Service;Networking Service;Other Category Service;Security Service;Storage Service;Web Service".split(";")},
{id:"active_directory"},{id:"bpmn",prefix:"bpmn",libs:["","Gateways","Events"]},{id:"clipart",prefix:null,libs:"computer finance clipart networking people telco".split(" ")},{id:"ibm",prefix:"ibm",libs:Sidebar.prototype.ibm},{id:"allied_telesis",prefix:"allied_telesis",libs:Sidebar.prototype.allied_telesis},{id:"cumulus",libs:["cumulus"]},{id:"eip",prefix:"eip",libs:Sidebar.prototype.eip},{id:"mockups",prefix:"mockup",libs:"Buttons Containers Forms Graphics Markup Misc Navigation Text".split(" ")},
{id:"pid2",prefix:"pid2",libs:"Agitators;Apparatus Elements;Centrifuges;Compressors;Compressors ISO;Crushers Grinding;Driers;Engines;Feeders;Filters;Fittings;Flow Sensors;Heat Exchangers;Instruments;Misc;Mixers;Piping;Pumps;Pumps DIN;Pumps ISO;Separators;Shaping Machines;Valves;Vessels".split(";")},{id:"signs",prefix:"signs",libs:Sidebar.prototype.signs},{id:"gcp",prefix:"gcp",libs:Sidebar.prototype.gcp},{id:"gcp2",prefix:"gcp2",libs:Sidebar.prototype.gcp2},{id:"rack",prefix:"rack",libs:Sidebar.prototype.rack},
{id:"electrical",prefix:"electrical",libs:Sidebar.prototype.electrical},{id:"aws2",prefix:"aws2",libs:Sidebar.prototype.aws2},{id:"aws3",prefix:"aws3",libs:Sidebar.prototype.aws3},{id:"aws4b",prefix:"aws4b",libs:Sidebar.prototype.aws4b},{id:"aws4",prefix:"aws4",libs:Sidebar.prototype.aws4},{id:"pid",prefix:"pid",libs:Sidebar.prototype.pids},{id:"cisco",prefix:"cisco",libs:Sidebar.prototype.cisco},{id:"cisco_safe",prefix:"cisco_safe",libs:Sidebar.prototype.cisco_safe},{id:"office",prefix:"office",
libs:Sidebar.prototype.office},{id:"veeam",prefix:"veeam",libs:Sidebar.prototype.veeam},{id:"veeam2",prefix:"veeam2",libs:Sidebar.prototype.veeam2},{id:"cabinets",libs:["cabinets"]},{id:"floorplan",libs:["floorplan"]},{id:"bootstrap",libs:["bootstrap"]},{id:"atlassian",libs:["atlassian"]},{id:"fluid_power",libs:["fluid_power"]},{id:"gmdl",prefix:"gmdl",libs:Sidebar.prototype.gmdl},{id:"archimate3",prefix:"archimate3",libs:Sidebar.prototype.archimate3},{id:"archimate",libs:["archimate"]},{id:"webicons",
-libs:["webicons","weblogos"]},{id:"sysml",prefix:"sysml",libs:Sidebar.prototype.sysml}];var a=Sidebar.prototype.insertSearchHint;Sidebar.prototype.insertSearchHint=function(c,b,e,d,l,m,p,n){if(null!=n&&1==d){var f=null;if(0<=mxUtils.indexOf(n,"text"))f="Double click anywhere in the diagram to insert text.";else for(var g="line lines arrow arrows connect connection connections connector connectors curve curves link links directed directional bidirectional".split(" "),h=0;h'+
-f.outerHTML+h.outerHTML+"
","text/html");this.editorUi.editor.convertImages(f.documentElement,mxUtils.bind(this,function(a){var c='