diff --git a/ChangeLog b/ChangeLog index 320701e26..ac92546ae 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,3 @@ -30-SEP-2024: 24.7.17 - -- [conf cloud] Fixes showing older versions of a diagram in page history [DID-12641] -- [conf cloud] Adds libraries edit/add from the editor [DID-12585] - 20-SEP-2024: 24.7.16 - Fixes editorui parameter for loadLibrary [DID-12644] diff --git a/LICENSE b/LICENSE index 07c0eb21b..76ba4d208 100644 --- a/LICENSE +++ b/LICENSE @@ -1,5 +1,5 @@ - JGraph License 2.0 - Based on Apache License Version 2.0, January 2004 + JGraph Adapted Apache License + Based on Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION @@ -202,4 +202,4 @@ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and - limitations under the License. + limitations under the License. \ No newline at end of file diff --git a/VERSION b/VERSION index 70ca7cbce..f894d87cf 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -24.7.8 \ No newline at end of file +24.7.16 \ No newline at end of file diff --git a/src/main/webapp/js/app.min.js b/src/main/webapp/js/app.min.js index 85ef2fca5..eff091a43 100644 --- a/src/main/webapp/js/app.min.js +++ b/src/main/webapp/js/app.min.js @@ -64,7 +64,7 @@ if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==url "se.diagrams.net"==window.location.hostname&&(urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.gl="0",urlParams.tr="0",urlParams.plugins="0",urlParams.mode="google",urlParams.lockdown="1",window.DRAWIO_GOOGLE_APP_ID=window.DRAWIO_GOOGLE_APP_ID||"184079235871",window.DRAWIO_GOOGLE_CLIENT_ID=window.DRAWIO_GOOGLE_CLIENT_ID||"184079235871-pjf5nn0lff27lk8qf0770gmffiv9gt61.apps.googleusercontent.com");"trello"==urlParams.mode&&(urlParams.tr="1"); "embed.diagrams.net"==window.location.hostname&&(urlParams.embed="1");(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.open&&(window.location.hash=urlParams.open);"function"!==typeof window.structuredClone&&(window.structuredClone=function(a){return a});window.urlParams=window.urlParams||{};window.DOM_PURIFY_CONFIG=window.DOM_PURIFY_CONFIG||{ADD_TAGS:["use","foreignObject"],FORBID_TAGS:["form"],ALLOWED_URI_REGEXP:/^((?!javascript:).)*$/i,ADD_ATTR:["target","content","pointer-events","requiredFeatures"]};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open"; window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"mxgraph";window.mxImageBasePath=window.mxImageBasePath||"mxgraph/images"; -window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"24.7.8",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"), +window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"24.7.16",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"), IS_OP:null!=navigator.userAgent&&(0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/")),IS_OT:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:/Apple Computer, Inc/.test(navigator.vendor), IS_ANDROID:0<=navigator.appVersion.indexOf("Android"),IS_IOS:/iP(hone|od|ad)/.test(navigator.platform)||navigator.userAgent.match(/Mac/)&&navigator.maxTouchPoints&&2navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:"MICROSOFT INTERNET EXPLORER"!=navigator.appName.toUpperCase(),NO_FO:!document.createElementNS|| @@ -144,13 +144,13 @@ c)*c+(f-d)*d,0>a&&(a=0)));return 0>a?-1:0a.indexOf("="))?a:""},getStylenames:function(a){var b=[];if(null!=a){a=a.split(";");for(var c=0;ca[c].indexOf("=")&&b.push(a[c])}return b},indexOfStylename:function(a,b){if(null!=a&&null!=b){a=a.split(";");for(var c=0,d=0;dmxUtils.indexOfStylename(a,b)&&(null==a?a="":0e?";":a.substring(e)):0>e||e==a.length- -1?"":a.substring(e+1)}else{var f=a.indexOf(";"+b+"=");0>f?d&&(d=";"==a.charAt(a.length-1)?"":";",a=a+d+b+"="+c+";"):(e=a.indexOf(";",f+1),a=d?a.substring(0,f+1)+b+"="+c+(0>e?";":a.substring(e)):a.substring(0,f)+(0>e?";":a.substring(e)))}return a},setCellStyleFlags:function(a,b,c,d,e){if(null!=b&&0e)e=";"==a.charAt(a.length-1)?"":";",a=d||null==d?a+e+b+"="+c:a+e+b+"=0";else{var f=a.indexOf(";",e),g=0>f?a.substring(e+b.length+1):a.substring(e+b.length+1,f);g=null==d?parseInt(g)^c:d?parseInt(g)|c:parseInt(g)&~c;a=a.substring(0,e)+b+"="+g+(0<=f?a.substring(f):"")}}return a},getAlignmentAsPoint:function(a,b){var c=-.5,d=-.5;a==mxConstants.ALIGN_LEFT?c=0:a==mxConstants.ALIGN_RIGHT&&(c=-1);b==mxConstants.ALIGN_TOP?d=0:b== -mxConstants.ALIGN_BOTTOM&&(d=-1);return new mxPoint(c,d)},getSizeForString:function(a,b,c,d,e){b=null!=b?b:mxConstants.DEFAULT_FONTSIZE;c=null!=c?c:mxConstants.DEFAULT_FONTFAMILY;var f=document.createElement("div");f.style.fontFamily=c;f.style.fontSize=Math.round(b)+"px";f.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?b*mxConstants.LINE_HEIGHT+"px":mxConstants.LINE_HEIGHT*mxSvgCanvas2D.prototype.lineHeightCorrection;null!=e&&((e&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(f.style.fontWeight= -"bold"),(e&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(f.style.fontStyle="italic"),b=[],(e&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&b.push("underline"),(e&mxConstants.FONT_STRIKETHROUGH)==mxConstants.FONT_STRIKETHROUGH&&b.push("line-through"),0e? +";":a.substring(e)):0>e||e==a.length-1?"":a.substring(e+1)}else{var f=a.indexOf(";"+b+"=");0>f?d&&(d=";"==a.charAt(a.length-1)?"":";",a=a+d+b+"="+c+";"):(e=a.indexOf(";",f+1),a=d?a.substring(0,f+1)+b+"="+c+(0>e?";":a.substring(e)):a.substring(0,f)+(0>e?";":a.substring(e)))}return a},setCellStyleFlags:function(a,b,c,d,e){if(null!=b&&0e)e=";"==a.charAt(a.length-1)?"":";",a=d||null==d?a+e+b+"="+c:a+e+b+"=0";else{var f=a.indexOf(";",e),g=0>f?a.substring(e+b.length+1):a.substring(e+b.length+1,f);g=null==d?parseInt(g)^c:d?parseInt(g)|c:parseInt(g)&~c;a=a.substring(0,e)+b+"="+g+(0<=f?a.substring(f):"")}}return a},getAlignmentAsPoint:function(a,b){var c=-.5,d=-.5;a==mxConstants.ALIGN_LEFT?c=0:a==mxConstants.ALIGN_RIGHT&& +(c=-1);b==mxConstants.ALIGN_TOP?d=0:b==mxConstants.ALIGN_BOTTOM&&(d=-1);return new mxPoint(c,d)},getSizeForString:function(a,b,c,d,e){b=null!=b?b:mxConstants.DEFAULT_FONTSIZE;c=null!=c?c:mxConstants.DEFAULT_FONTFAMILY;var f=document.createElement("div");f.style.fontFamily=c;f.style.fontSize=Math.round(b)+"px";f.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?b*mxConstants.LINE_HEIGHT+"px":mxConstants.LINE_HEIGHT*mxSvgCanvas2D.prototype.lineHeightCorrection;null!=e&&((e&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&& +(f.style.fontWeight="bold"),(e&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(f.style.fontStyle="italic"),b=[],(e&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&b.push("underline"),(e&mxConstants.FONT_STRIKETHROUGH)==mxConstants.FONT_STRIKETHROUGH&&b.push("line-through"),0a)return 1; c=null!=c?c:mxConstants.PAGE_FORMAT_A4_PORTRAIT;d=null!=d?d:0;var e=c.width-2*d;c=c.height-2*d;d=mxRectangle.fromRectangle(b.getGraphBounds());b=b.getView().getScale();d.width/=b;d.height/=b;b=d.width;var f=Math.sqrt(a);d=Math.sqrt(b/d.height/(e/c));c=f*d;d=f/d;if(1>c&&d>a){var g=d/a;d=a;c/=g}1>d&&c>a&&(g=c/a,c=a,d/=g);g=Math.ceil(c)*Math.ceil(d);for(f=0;g>a;){g=Math.floor(c)/c;var k=Math.floor(d)/d;1==g&&(g=Math.floor(c-1)/c);1==k&&(k=Math.floor(d-1)/d);g=g>k?g:k;c*=g;d*=g;g=Math.ceil(c)*Math.ceil(d); f++;if(10"; @@ -11892,9 +11892,9 @@ g.id:"unknown";EditorUi.logError("Error in mergeFile",null,this.getMode()+"."+th DrawioFile.prototype.getAnonymizedXmlForPages=function(b){var e=new mxCodec(mxUtils.createXmlDocument()),f=e.document.createElement("mxfile");if(null!=b)for(var c=0;cf?b=b.substring(0,f)+"[...]":null!=b&&b.length>e&&(b=Graph.compress(b)+"\n");return b}; DrawioFile.prototype.checksumError=function(b,e,f,c,k,n,q,u){this.stats.checksumErrors++;this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged();null!=this.sync&&this.sync.updateOnlineState();null!=b&&b();try{var G=this.getCurrentUser(),H=null!=G?G.id:"unknown",E=""!=this.getId()?this.getId():"("+this.ui.hashValue(this.getTitle())+")",L=JSON.stringify(e).length,F=null;if(null!=e&&1E3>L){for(b=0;bF.length?Graph.compress(F): -null}this.getLatestVersion(mxUtils.bind(this,function(d){try{var g=null!=F?"report":"error",m=this.ui.getHashValueForPages(d.getShadowPages()),t="unknown",v="unknown",y="unknown";try{var B=null!=d.initialData&&0f&&(mxUtils.br(G),q=1);var y=document.createElement("a");y.style.overflow="hidden";y.style.display="inline-block";y.className="geBaseButton";y.style.boxSizing="border-box";y.style.fontSize="11px";y.style.position="relative";y.style.margin="4px";y.style.marginTop="8px";y.style.marginBottom="0px";y.style.padding="8px 10px 8px 10px";y.style.width="88px";y.style.height="100px";y.style.whiteSpace="nowrap";y.setAttribute("title",F);var B=document.createElement("div");B.style.textOverflow= -"ellipsis";B.style.overflow="hidden";B.style.position="absolute";B.style.bottom="8px";B.style.left="0px";B.style.right="0px";mxUtils.write(B,F);y.appendChild(B);if(null!=L){var J=document.createElement("img");J.setAttribute("src",L);J.setAttribute("border","0");J.setAttribute("align","absmiddle");J.style.width="60px";J.style.height="60px";J.style.paddingBottom="6px";y.appendChild(J)}else B.style.paddingTop="5px",B.style.whiteSpace="normal",mxClient.IS_IOS?(y.style.padding="0px 10px 20px 10px",y.style.top= -"6px"):mxClient.IS_FF&&(B.style.paddingTop="0px",B.style.marginTop="-2px");if(null!=m)for(L=0;Le.length&&(F=mxUtils.button("",function(){try{var d="mailto:?subject="+encodeURIComponent(G||b.defaultFilename)+"&body="+encodeURIComponent(E.value);b.openLink(d)}catch(g){b.handleError({message:g.message||mxResources.get("drawingTooLarge")})}}),u=document.createElement("img"),u.className="geAdaptiveAsset",u.setAttribute("src",Editor.mailImage),u.setAttribute("width", "18"),u.setAttribute("height","18"),u.setAttribute("border","0"),u.style.marginBottom="5px",F.appendChild(u),F.style.verticalAlign="bottom",F.style.paddingTop="4px",F.style.minWidth="46px",F.className="geBtn",n.appendChild(F));u=mxUtils.button(mxResources.get("close"),function(){b.hideDialog()});n.appendChild(u);F=mxUtils.button(mxResources.get("copy"),function(){E.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?E.select():document.execCommand("selectAll",!1,null);document.execCommand("copy"); b.alert(mxResources.get("copiedToClipboard"))});5E5>e.length?mxClient.IS_SF||null!=document.documentMode?u.className="geBtn gePrimaryBtn":(n.appendChild(F),F.className="geBtn gePrimaryBtn",u.className="geBtn"):null!=L&&(n.appendChild(L),u.className="geBtn",L.className="geBtn gePrimaryBtn");c.appendChild(n);this.container=c};EmbedDialog.showPreviewOption=!0; -var GoogleSitesDialog=function(b,e){function f(){var U=null!=I&&null!=I.getTitle()?I.getTitle():this.defaultFilename;if(J.checked&&""!=F.value){var Q="https://www.draw.io/gadget.xml?type=4&diagram="+encodeURIComponent(mxUtils.htmlEntities(F.value));null!=U&&(Q+="&title="+encodeURIComponent(U));0 Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: Another authentication Response\n@enduml"==d&&"svg"==B?window.setTimeout(function(){b.spinner.stop();v(d,B,"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBjb250ZW50U2NyaXB0VHlwZT0iYXBwbGljYXRpb24vZWNtYXNjcmlwdCIgY29udGVudFN0eWxlVHlwZT0idGV4dC9jc3MiIGhlaWdodD0iMjEycHgiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiIHN0eWxlPSJ3aWR0aDoyOTVweDtoZWlnaHQ6MjEycHg7IiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAyOTUgMjEyIiB3aWR0aD0iMjk1cHgiIHpvb21BbmRQYW49Im1hZ25pZnkiPjxkZWZzLz48Zz48bGluZSBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsgc3Ryb2tlLWRhc2hhcnJheTogNS4wLDUuMDsiIHgxPSIzMSIgeDI9IjMxIiB5MT0iMzQuNDg4MyIgeTI9IjE3MS43MzA1Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjA7IHN0cm9rZS1kYXNoYXJyYXk6IDUuMCw1LjA7IiB4MT0iMjY0LjUiIHgyPSIyNjQuNSIgeTE9IjM0LjQ4ODMiIHkyPSIxNzEuNzMwNSIvPjxyZWN0IGZpbGw9IiNGRUZFQ0UiIGhlaWdodD0iMzAuNDg4MyIgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjU7IiB3aWR0aD0iNDciIHg9IjgiIHk9IjMiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIzMyIgeD0iMTUiIHk9IjIzLjUzNTIiPkFsaWNlPC90ZXh0PjxyZWN0IGZpbGw9IiNGRUZFQ0UiIGhlaWdodD0iMzAuNDg4MyIgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjU7IiB3aWR0aD0iNDciIHg9IjgiIHk9IjE3MC43MzA1Ii8+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTQiIGxlbmd0aEFkanVzdD0ic3BhY2luZ0FuZEdseXBocyIgdGV4dExlbmd0aD0iMzMiIHg9IjE1IiB5PSIxOTEuMjY1NiI+QWxpY2U8L3RleHQ+PHJlY3QgZmlsbD0iI0ZFRkVDRSIgaGVpZ2h0PSIzMC40ODgzIiBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuNTsiIHdpZHRoPSI0MCIgeD0iMjQ0LjUiIHk9IjMiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIyNiIgeD0iMjUxLjUiIHk9IjIzLjUzNTIiPkJvYjwvdGV4dD48cmVjdCBmaWxsPSIjRkVGRUNFIiBoZWlnaHQ9IjMwLjQ4ODMiIHN0eWxlPSJzdHJva2U6ICNBODAwMzY7IHN0cm9rZS13aWR0aDogMS41OyIgd2lkdGg9IjQwIiB4PSIyNDQuNSIgeT0iMTcwLjczMDUiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIyNiIgeD0iMjUxLjUiIHk9IjE5MS4yNjU2Ij5Cb2I8L3RleHQ+PHBvbHlnb24gZmlsbD0iI0E4MDAzNiIgcG9pbnRzPSIyNTIuNSw2MS43OTg4LDI2Mi41LDY1Ljc5ODgsMjUyLjUsNjkuNzk4OCwyNTYuNSw2NS43OTg4IiBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsiIHgxPSIzMS41IiB4Mj0iMjU4LjUiIHkxPSI2NS43OTg4IiB5Mj0iNjUuNzk4OCIvPjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjEzIiBsZW5ndGhBZGp1c3Q9InNwYWNpbmdBbmRHbHlwaHMiIHRleHRMZW5ndGg9IjE0NyIgeD0iMzguNSIgeT0iNjEuMDU2NiI+QXV0aGVudGljYXRpb24gUmVxdWVzdDwvdGV4dD48cG9seWdvbiBmaWxsPSIjQTgwMDM2IiBwb2ludHM9IjQyLjUsOTEuMTA5NCwzMi41LDk1LjEwOTQsNDIuNSw5OS4xMDk0LDM4LjUsOTUuMTA5NCIgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTogI0E4MDAzNjsgc3Ryb2tlLXdpZHRoOiAxLjA7IHN0cm9rZS1kYXNoYXJyYXk6IDIuMCwyLjA7IiB4MT0iMzYuNSIgeDI9IjI2My41IiB5MT0iOTUuMTA5NCIgeTI9Ijk1LjEwOTQiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMyIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIxNTciIHg9IjQ4LjUiIHk9IjkwLjM2NzIiPkF1dGhlbnRpY2F0aW9uIFJlc3BvbnNlPC90ZXh0Pjxwb2x5Z29uIGZpbGw9IiNBODAwMzYiIHBvaW50cz0iMjUyLjUsMTIwLjQxOTksMjYyLjUsMTI0LjQxOTksMjUyLjUsMTI4LjQxOTksMjU2LjUsMTI0LjQxOTkiIHN0eWxlPSJzdHJva2U6ICNBODAwMzY7IHN0cm9rZS13aWR0aDogMS4wOyIvPjxsaW5lIHN0eWxlPSJzdHJva2U6ICNBODAwMzY7IHN0cm9rZS13aWR0aDogMS4wOyIgeDE9IjMxLjUiIHgyPSIyNTguNSIgeTE9IjEyNC40MTk5IiB5Mj0iMTI0LjQxOTkiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMyIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nQW5kR2x5cGhzIiB0ZXh0TGVuZ3RoPSIxOTkiIHg9IjM4LjUiIHk9IjExOS42Nzc3Ij5Bbm90aGVyIGF1dGhlbnRpY2F0aW9uIFJlcXVlc3Q8L3RleHQ+PHBvbHlnb24gZmlsbD0iI0E4MDAzNiIgcG9pbnRzPSI0Mi41LDE0OS43MzA1LDMyLjUsMTUzLjczMDUsNDIuNSwxNTcuNzMwNSwzOC41LDE1My43MzA1IiBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsiLz48bGluZSBzdHlsZT0ic3Ryb2tlOiAjQTgwMDM2OyBzdHJva2Utd2lkdGg6IDEuMDsgc3Ryb2tlLWRhc2hhcnJheTogMi4wLDIuMDsiIHgxPSIzNi41IiB4Mj0iMjYzLjUiIHkxPSIxNTMuNzMwNSIgeTI9IjE1My43MzA1Ii8+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTMiIGxlbmd0aEFkanVzdD0ic3BhY2luZ0FuZEdseXBocyIgdGV4dExlbmd0aD0iMjA5IiB4PSI0OC41IiB5PSIxNDguOTg4MyI+QW5vdGhlciBhdXRoZW50aWNhdGlvbiBSZXNwb25zZTwvdGV4dD48IS0tTUQ1PVs3ZjNlNGQwYzkwMWVmZGJjNTdlYjQ0MjQ5YTNiODE5N10KQHN0YXJ0dW1sDQpza2lucGFyYW0gc2hhZG93aW5nIGZhbHNlDQpBbGljZSAtPiBCb2I6IEF1dGhlbnRpY2F0aW9uIFJlcXVlc3QNCkJvYiAtIC0+IEFsaWNlOiBBdXRoZW50aWNhdGlvbiBSZXNwb25zZQ0KDQpBbGljZSAtPiBCb2I6IEFub3RoZXIgYXV0aGVudGljYXRpb24gUmVxdWVzdA0KQWxpY2UgPC0gLSBCb2I6IEFub3RoZXIgYXV0aGVudGljYXRpb24gUmVzcG9uc2UNCkBlbmR1bWwNCgpQbGFudFVNTCB2ZXJzaW9uIDEuMjAyMC4wMihTdW4gTWFyIDAxIDA0OjIyOjA3IENTVCAyMDIwKQooTUlUIHNvdXJjZSBkaXN0cmlidXRpb24pCkphdmEgUnVudGltZTogT3BlbkpESyBSdW50aW1lIEVudmlyb25tZW50CkpWTTogT3BlbkpESyA2NC1CaXQgU2VydmVyIFZNCkphdmEgVmVyc2lvbjogMTIrMzMKT3BlcmF0aW5nIFN5c3RlbTogTWFjIE9TIFgKRGVmYXVsdCBFbmNvZGluZzogVVRGLTgKTGFuZ3VhZ2U6IGVuCkNvdW50cnk6IFVTCi0tPjwvZz48L3N2Zz4=", -295,212)},200):b.generatePlantUmlImage(d,B,function(S,l,x){b.spinner.stop();v(d,B,S,l,x)},function(S){b.handleError(S)})}}else if("mermaid"==g||"mermaid2drawio"==g){if(b.spinner.spin(document.body,mxResources.get("inserting"))){for(var J=0;J");2<=M.length&&(p=z(M[0]),A=z(M[M.length-1]),M=new mxCell(2");2<=M.length&&(p=z(M[0]),A=z(M[M.length-1]),M=new mxCell(2 Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: Another authentication Response\n@enduml":"plantUmlSvg"==u.value||"plantUmlTxt"==u.value?"@startuml\nskinparam shadowing false\nAlice -> Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: Another authentication Response\n@enduml": ";Example:\na->b\nb->edge label->c\nc->a\n"}var n=b.editor.graph.getFreeInsertPoint();e=document.createElement("div");e.style.textAlign="right";var q=document.createElement("textarea");q.style.boxSizing="border-box";q.style.resize="none";q.style.width="100%";q.style.height="354px";q.style.marginBottom="16px";var u=document.createElement("select");u.className="geBtn";if("formatSql"==f||"mermaid"==f&&"draw.io"!=b.getServiceName()&&"atlassian"!=b.getServiceName())u.style.display="none";var G=document.createElement("option"); @@ -12078,7 +12078,7 @@ Graph.fileSupport&&(q.addEventListener("dragover",function(d){d.stopPropagation( function(){b.openLink("mermaid"==f?"https://mermaid-js.github.io/mermaid/#/":"https://plantuml.com/")}),G.className="geBtn",e.appendChild(G));G=mxUtils.button(mxResources.get("close"),function(){q.value==F?b.hideDialog():b.confirm(mxResources.get("areYouSure"),function(){b.hideDialog()})});G.className="geBtn";b.editor.cancelFirst&&e.appendChild(G);H=mxUtils.button(mxResources.get("insert"),function(d){try{b.hideDialog(),c(q.value,u.value,d)}catch(g){b.handleError(g)}});H.className="geBtn gePrimaryBtn"; e.appendChild(H);b.editor.cancelFirst||e.appendChild(G);this.container=e},NewDialog=function(b,e,f,c,k,n,q,u,G,H,E,L,F,d,g,m,t,v){function y(ka){null!=ka&&(ma=za=ka?135:140);ka=!0;if(null!=Wa)for(;l=na.scrollHeight&&(y(),mxEvent.consume(Na))}));if(0";B(ya,mxEvent.getClientX(ka),mxEvent.getClientY(ka),ta,fa)}});var Ia=N.cloneNode(!0);Ia.setAttribute("src",Editor.editImage);Ia.setAttribute("title",mxResources.get("edit"));Ia.style.right="";Ia.style.left="2px";var Ja=N.cloneNode(!0);Ja.setAttribute("src",Editor.helpImage);Ja.setAttribute("title",mxResources.get("help"));Ja.style.opacity="1";Ja.style.right="-8px";Ja.style.top="-8px";mxEvent.addListener(Ja,"click",function(ka){b.openLink("https://www.drawio.com/blog/write-query-generate-diagram"); mxEvent.consume(ka)});xa.style.visibility="hidden";Ca.style.visibility="hidden";Ia.style.visibility="hidden";Ja.style.visibility="hidden";Ba.style.visibility="hidden";mxEvent.addListener(Ia,"click",U);mxEvent.addListener(xa,"input",function(){""!=xa.value?Ca.removeAttribute("disabled"):Ca.setAttribute("disabled","disabled")});mxEvent.addListener(Ca,"click",function(){O()});mxEvent.addListener(xa,"keydown",function(ka){13!=ka.keyCode||mxEvent.isShiftDown(ka)?27==ka.keyCode&&(O(!0),mxEvent.consume(ka)): -(O(),mxEvent.consume(ka))});var Ga={},Va={},Ta={},Xa=0,jb=!0,Sa=null,bb=null;Ga.basic=[{title:"blankDiagram"}];var Wa=Ga.basic;Editor.enableChatGpt&&b.isExternalDataComms()&&"draw.io"==b.getServiceName()&&"undefined"!==typeof mxMermaidToDrawio&&window.isMermaidEnabled&&Ga.basic.push({title:"generate",type:"generative"});Editor.enableChatGpt&&b.isExternalDataComms()&&"draw.io"==b.getServiceName()&&"undefined"!==typeof mxMermaidToDrawio&&window.isMermaidEnabled&&(Ga.smartTemplate={content:J()});if(!e){var cb= +(O(),mxEvent.consume(ka))});var Ga={},Va={},Ta={},Xa=0,jb=!0,Sa=null,bb=null;Ga.basic=[{title:"blankDiagram"}];var Wa=Ga.basic;Editor.enableChatGpt&&b.isExternalDataComms()&&"draw.io"==b.getServiceName()&&"undefined"!==typeof mxMermaidToDrawio&&window.isMermaidEnabled&&Ga.basic.push({title:"generate",type:"generative"});Editor.enableChatGpt&&b.isExternalDataComms()&&"draw.io"==b.getServiceName()&&"undefined"!==typeof mxMermaidToDrawio&&window.isMermaidEnabled&&(Ga.smartTemplate={content:I()});if(!e){var cb= function(){mxUtils.get(db,function(ka){if(!hb){hb=!0;ka=ka.getXml().documentElement.firstChild;for(var ya={};null!=ka;){if("undefined"!==typeof ka.getAttribute)if("parsererror"==ka.nodeName)null!=window.console&&console.log("Parser error in "+E+": "+ka.textContent);else if("clibs"==ka.nodeName){for(var ua=ka.getAttribute("name"),ra=ka.getElementsByTagName("add"),oa=[],Aa=0;AamxUtils.indexOf(c,A))if(l=null!=l?l:b.getTitleForService(A),0<=mxUtils.indexOf(U,A)||null!=b.getServiceForName(A)){D=document.createElement("option");if("pick"==x)D.innerHTML=mxUtils.htmlEntities(l)+"  –  "+mxUtils.htmlEntities(mxResources.get("pickFolder"))+"...",D.setAttribute("value","pickFolder-"+A),D.setAttribute("title",l+" - "+mxResources.get("pickFolder")+"...");else{var N=A+ (null!=M?"-"+M:""),P=p[N];null!=P&&null!=P.option&&P.option.parentNode.removeChild(P.option);P=null;if(null!=C){"/"==C.charAt(C.length-1)&&(C=C.substring(0,C.length-1));"/"==C.charAt(0)&&(C=C.substring(1));P=C;if(A!=App.MODE_GITHUB&&A==App.MODE_GITLAB){var R=P.lastIndexOf("/");0<=R&&(P=P.substring(R+1))}40K.selectedIndex&&(K.selectedIndex=M))},!0,!0,!0,!0)}function E(){var A=b.getRecent("Folders"),C=0;if(null!=A&&0K.selectedIndex&&(K.selectedIndex=M))},!0,!0,!0,!0)}function E(){var A=b.getRecent("Folders"),C=0;if(null!=A&&0e.indexOf(".")&&0>C.indexOf(".")&&(B.value=C+A)}z.innerHTML="";mxUtils.write(z,mxResources.get("download"==K.value||"_blank"==K.value?"ok":"save"));""==K.value?z.setAttribute("disabled","disabled"):z.removeAttribute("disabled")}var F=document.createElement("div");F.style.display="flex";F.style.flexWrap="wrap";F.style.whiteSpace="nowrap";var d= +null,null,null,"pick");G(App.MODE_TRELLO);A=!Editor.useLocalStorage||"device"==urlParams.storage||null!=b.getCurrentFile()&&"1"!=urlParams.noDevice;EditorUi.nativeFileSupport&&A&&G(App.MODE_DEVICE,null,null,b.mode==App.MODE_DEVICE||null!=c&&0<=mxUtils.indexOf(c,App.MODE_BROWSER)?!0:null);isLocalStorage&&"0"!=urlParams.browser&&G(App.MODE_BROWSER);A&&G("download");Editor.popupsAllowed&&G("_blank",null,null,null,mxResources.get("openInNewWindow"));0e.indexOf(".")&&0>C.indexOf(".")&&(B.value=C+A)}z.innerHTML="";mxUtils.write(z,mxResources.get("download"==K.value||"_blank"==K.value?"ok":"save"));""==K.value?z.setAttribute("disabled","disabled"):z.removeAttribute("disabled")}var F=document.createElement("div");F.style.display="flex";F.style.flexWrap="wrap";F.style.whiteSpace="nowrap";var d= document.createElement("div");d.style.display="grid";d.style.gap="5px 8px";d.style.gridAutoRows="auto auto 44px";d.style.gridAutoColumns="0fr minmax(0,1fr)";d.style.width="100%";var g=null,m=null;if(null!=k&&null!=n&&"image/"==n.substring(0,6)&&("image/svg"!=n.substring(0,9)||mxClient.IS_SVG)){d.style.display="inline-grid";d.style.flexBasis="75%";g=document.createElement("div");g.style.display="inline-block";g.style.height="auto";g.style.maxWidth="25%";g.style.margin="auto";var t=document.createElement("img"), v=q?k:btoa(unescape(encodeURIComponent(k)));t.setAttribute("src","data:"+n+";base64,"+v);t.style.boxSizing="border-box";t.style.maxHeight="50px";t.style.maxWidth="100%";t.style.paddingLeft="10px";g.appendChild(t);mxClient.IS_FF||"image/png"!=n||null==navigator.clipboard||"function"!==typeof window.ClipboardItem||(m=mxUtils.button(mxResources.get("copy"),function(){var A=b.base64ToBlob(v,"image/png");A=new ClipboardItem({"image/png":A,"text/html":new Blob([''],{type:"text/html"})}); navigator.clipboard.write([A]).then(mxUtils.bind(this,function(){b.alert(mxResources.get("copiedToClipboard"))}))["catch"](mxUtils.bind(this,function(C){b.handleError(C)}))},null,"geBtn"));Editor.popupsAllowed&&(null==c||0>mxUtils.indexOf(c,"_blank"))?(g.setAttribute("title",mxResources.get("openInNewWindow")),g.style.cursor="pointer",mxEvent.addGestureListeners(g,null,null,function(A){mxEvent.isPopupTrigger(A)||b.openInNewWindow(k,n,q)})):g.setAttribute("title",mxResources.get("preview"))}t=document.createElement("div"); t.style.display="flex";t.style.padding="1px";t.style.alignItems="center";t.style.justifyContent="flex-end";t.style.gridColumn="1";t.style.whiteSpace="nowrap";var y=document.createElement("div");y.style.display="grid";y.style.padding="1px";y.style.alignItems="center";y.style.gridColumn="2";y.style.gridAutoColumns="minmax(0,1fr) auto";y.style.gap="6px";mxUtils.write(t,mxResources.get("saveAs")+":");var B=document.createElement("input");B.setAttribute("type","text");B.setAttribute("value",e);B.style.boxSizing= -"border-box";B.style.width="100%";y.appendChild(B);d.appendChild(t);d.appendChild(y);var J=null;null!=b.editor.diagramFileTypes&&null==n&&(t=t.cloneNode(!1),y=y.cloneNode(!1),mxUtils.write(t,mxResources.get("type")+":"),J=FilenameDialog.createFileTypes(b,B,b.editor.diagramFileTypes),J.style.boxSizing="border-box",J.style.width="100%",y.appendChild(J),d.appendChild(t),d.appendChild(y));t=t.cloneNode(!1);y=y.cloneNode(!1);mxUtils.write(t,mxResources.get("where")+":");var K=document.createElement("select"); -K.style.textOverflow="ellipsis";K.style.gridColumn="1";var I=document.createElement("option");mxUtils.write(I,mxResources.get("reset"));I.setAttribute("value","reset");var U=["browser","device","download","_blank"],Q=document.createElement("option");Q.setAttribute("disabled","disabled");Q.innerHTML="-----------------";var O=null,p={},z=mxUtils.button(mxResources.get("save"),function(){SaveDialog.lastValue=K.value;var A=p[SaveDialog.lastValue];null!=A&&f(B,A.mode,A.id)},null,"geBtn gePrimaryBtn"); +"border-box";B.style.width="100%";y.appendChild(B);d.appendChild(t);d.appendChild(y);var I=null;null!=b.editor.diagramFileTypes&&null==n&&(t=t.cloneNode(!1),y=y.cloneNode(!1),mxUtils.write(t,mxResources.get("type")+":"),I=FilenameDialog.createFileTypes(b,B,b.editor.diagramFileTypes),I.style.boxSizing="border-box",I.style.width="100%",y.appendChild(I),d.appendChild(t),d.appendChild(y));t=t.cloneNode(!1);y=y.cloneNode(!1);mxUtils.write(t,mxResources.get("where")+":");var K=document.createElement("select"); +K.style.textOverflow="ellipsis";K.style.gridColumn="1";var J=document.createElement("option");mxUtils.write(J,mxResources.get("reset"));J.setAttribute("value","reset");var U=["browser","device","download","_blank"],Q=document.createElement("option");Q.setAttribute("disabled","disabled");Q.innerHTML="-----------------";var O=null,p={},z=mxUtils.button(mxResources.get("save"),function(){SaveDialog.lastValue=K.value;var A=p[SaveDialog.lastValue];null!=A&&f(B,A.mode,A.id)},null,"geBtn gePrimaryBtn"); mxEvent.addListener(B,"keypress",function(A){13==A.keyCode&&z.click()});mxEvent.addListener(K,"change",L);E();L();y.appendChild(K);null!=SaveDialog.lastValue&&null!=p[SaveDialog.lastValue]&&(K.value=SaveDialog.lastValue);d.appendChild(t);d.appendChild(y);F.appendChild(d);null!=g&&F.appendChild(g);d=document.createElement("div");d.style.flexBasis="100%";d.style.textAlign="right";d.style.marginTop=null!=n?"16px":"8px";b.isOffline()&&!mxClient.IS_CHROMEAPP||d.appendChild(b.createHelpIcon("https://www.drawio.com/doc/faq/save-file-formats")); -g=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()},null,"geBtn");b.editor.cancelFirst&&d.appendChild(g);null!=m&&d.appendChild(m);d.appendChild(z);b.editor.cancelFirst||d.appendChild(g);F.appendChild(d);this.init=function(){Editor.selectFilename(B)};this.container=F},CreateDialog=function(b,e,f,c,k,n,q,u,G,H,E,L,F,d,g,m,t){function v(O,p,z,A){function C(){mxEvent.addListener(M,"click",function(){var N=z;if(q){var P=J.value,R=P.lastIndexOf(".");if(0>e.lastIndexOf(".")&&0>R){N=null!= -N?N:Q.value;var T="";N==App.MODE_GOOGLE?T=b.drive.extension:N==App.MODE_GITHUB?T=b.gitHub.extension:N==App.MODE_GITLAB?T=b.gitLab.extension:N==App.MODE_TRELLO?T=b.trello.extension:N==App.MODE_DROPBOX?T=b.dropbox.extension:N==App.MODE_ONEDRIVE?T=b.oneDrive.extension:N==App.MODE_DEVICE&&(T=".drawio");0<=R&&(P=P.substring(0,R));J.value=P+T}}y(z)})}var M=document.createElement("a");M.style.overflow="hidden";var S=document.createElement("img");S.src=O;S.setAttribute("border","0");S.setAttribute("align", +g=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()},null,"geBtn");b.editor.cancelFirst&&d.appendChild(g);null!=m&&d.appendChild(m);d.appendChild(z);b.editor.cancelFirst||d.appendChild(g);F.appendChild(d);this.init=function(){Editor.selectFilename(B)};this.container=F},CreateDialog=function(b,e,f,c,k,n,q,u,G,H,E,L,F,d,g,m,t){function v(O,p,z,A){function C(){mxEvent.addListener(M,"click",function(){var N=z;if(q){var P=I.value,R=P.lastIndexOf(".");if(0>e.lastIndexOf(".")&&0>R){N=null!= +N?N:Q.value;var T="";N==App.MODE_GOOGLE?T=b.drive.extension:N==App.MODE_GITHUB?T=b.gitHub.extension:N==App.MODE_GITLAB?T=b.gitLab.extension:N==App.MODE_TRELLO?T=b.trello.extension:N==App.MODE_DROPBOX?T=b.dropbox.extension:N==App.MODE_ONEDRIVE?T=b.oneDrive.extension:N==App.MODE_DEVICE&&(T=".drawio");0<=R&&(P=P.substring(0,R));I.value=P+T}}y(z)})}var M=document.createElement("a");M.style.overflow="hidden";var S=document.createElement("img");S.src=O;S.setAttribute("border","0");S.setAttribute("align", "absmiddle");S.style.width="60px";S.style.height="60px";S.style.paddingBottom="6px";M.style.display="inline-block";M.className="geBaseButton";M.style.position="relative";M.style.margin="4px";M.style.padding="8px 8px 10px 8px";M.style.whiteSpace="nowrap";M.appendChild(S);M.style.color="gray";M.style.fontSize="11px";var l=document.createElement("div");M.appendChild(l);mxUtils.write(l,p);if(null!=A&&null==b[A]){S.style.visibility="hidden";mxUtils.setOpacity(l,10);var x=new Spinner({lines:12,length:12, -width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});x.spin(M);var D=window.setTimeout(function(){null==b[A]&&(x.stop(),M.style.display="none")},3E4);b.addListener("clientLoaded",mxUtils.bind(this,function(){null!=b[A]&&(window.clearTimeout(D),mxUtils.setOpacity(l,100),S.style.visibility="",x.stop(),C())}))}else C();I.appendChild(M);++U==L&&(mxUtils.br(I),U=0)}function y(O){var p=J.value;if(null==O||null!=p&&0'],{type:"text/html"})});navigator.clipboard.write([O]).then(mxUtils.bind(this,function(){b.alert(mxResources.get("copiedToClipboard"))}))["catch"](mxUtils.bind(this,function(p){b.handleError(p)}))}),m.style.marginTop="6px",m.className="geBtn");G&&Editor.popupsAllowed&&(k.style.cursor="pointer",mxEvent.addGestureListeners(k, -null,null,function(O){mxEvent.isPopupTrigger(O)||y("_blank")}))}mxUtils.br(n);var I=document.createElement("div");I.style.textAlign="center";var U=0;I.style.marginTop="6px";n.appendChild(I);var Q=document.createElement("select");Q.style.marginLeft="10px";b.isOfflineApp()||b.isOffline()||("function"===typeof window.DriveClient&&(F=document.createElement("option"),F.setAttribute("value",App.MODE_GOOGLE),mxUtils.write(F,mxResources.get("googleDrive")),Q.appendChild(F),v(IMAGE_PATH+"/google-drive-logo.svg", +null,null,function(O){mxEvent.isPopupTrigger(O)||y("_blank")}))}mxUtils.br(n);var J=document.createElement("div");J.style.textAlign="center";var U=0;J.style.marginTop="6px";n.appendChild(J);var Q=document.createElement("select");Q.style.marginLeft="10px";b.isOfflineApp()||b.isOffline()||("function"===typeof window.DriveClient&&(F=document.createElement("option"),F.setAttribute("value",App.MODE_GOOGLE),mxUtils.write(F,mxResources.get("googleDrive")),Q.appendChild(F),v(IMAGE_PATH+"/google-drive-logo.svg", mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive")),"function"===typeof window.OneDriveClient&&(F=document.createElement("option"),F.setAttribute("value",App.MODE_ONEDRIVE),mxUtils.write(F,mxResources.get("oneDrive")),Q.appendChild(F),b.mode==App.MODE_ONEDRIVE&&F.setAttribute("selected","selected"),v(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),App.MODE_ONEDRIVE,"oneDrive")),"function"===typeof window.DropboxClient&&(F=document.createElement("option"),F.setAttribute("value",App.MODE_DROPBOX), mxUtils.write(F,mxResources.get("dropbox")),Q.appendChild(F),b.mode==App.MODE_DROPBOX&&F.setAttribute("selected","selected"),v(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"),App.MODE_DROPBOX,"dropbox")),null!=b.gitHub&&(F=document.createElement("option"),F.setAttribute("value",App.MODE_GITHUB),mxUtils.write(F,mxResources.get("github")),Q.appendChild(F),v(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),App.MODE_GITHUB,"gitHub")),null!=b.gitLab&&(F=document.createElement("option"), F.setAttribute("value",App.MODE_GITLAB),mxUtils.write(F,mxResources.get("gitlab")),Q.appendChild(F),v(IMAGE_PATH+"/gitlab-logo.svg",mxResources.get("gitlab"),App.MODE_GITLAB,"gitLab")),"function"===typeof window.TrelloClient&&(F=document.createElement("option"),F.setAttribute("value",App.MODE_TRELLO),mxUtils.write(F,mxResources.get("trello")),Q.appendChild(F),v(IMAGE_PATH+"/trello-logo.svg",mxResources.get("trello"),App.MODE_TRELLO,"trello")));if(!Editor.useLocalStorage||"device"==urlParams.storage|| null!=b.getCurrentFile()&&"1"!=urlParams.noDevice)F=document.createElement("option"),F.setAttribute("value",App.MODE_DEVICE),mxUtils.write(F,mxResources.get("device")),Q.appendChild(F),b.mode!=App.MODE_DEVICE&&u||F.setAttribute("selected","selected"),E&&v(IMAGE_PATH+"/osa_drive-harddisk.png",mxResources.get("device"),App.MODE_DEVICE);u&&isLocalStorage&&"0"!=urlParams.browser&&(u=document.createElement("option"),u.setAttribute("value",App.MODE_BROWSER),mxUtils.write(u,mxResources.get("browser")),Q.appendChild(u), b.mode==App.MODE_BROWSER&&u.setAttribute("selected","selected"),v(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER));u=document.createElement("div");u.style.marginTop="26px";u.style.textAlign="center";null!=H&&(E=mxUtils.button(mxResources.get("help"),function(){b.openLink(H)}),E.className="geBtn",u.appendChild(E));E=mxUtils.button(mxResources.get(null!=c?"close":"cancel"),function(){null!=c?c():(b.fileLoaded(null),b.hideDialog(),window.close(),window.location.href=b.getUrl())}); E.className="geBtn";b.editor.cancelFirst&&null==c&&u.appendChild(E);null==c&&(F=mxUtils.button(mxResources.get("decideLater"),function(){y(null)}),F.className="geBtn",u.appendChild(F));G&&Editor.popupsAllowed&&(G=mxUtils.button(mxResources.get("openInNewWindow"),function(){y("_blank")}),G.className="geBtn",u.appendChild(G));CreateDialog.showDownloadButton&&(G=mxUtils.button(mxResources.get("download"),function(){y("download")}),G.className="geBtn",u.appendChild(G),null!=m&&(G.style.marginTop="6px", -u.style.marginTop="6px"));null!=m&&(mxUtils.br(u),u.appendChild(m));b.editor.cancelFirst&&null==c||u.appendChild(E);mxEvent.addListener(J,"keypress",function(O){13==O.keyCode?y(App.MODE_DEVICE):27==O.keyCode&&(b.fileLoaded(null),b.hideDialog(),window.close())});n.appendChild(u);this.container=n};CreateDialog.showDownloadButton="1"!=urlParams.noDevice; +u.style.marginTop="6px"));null!=m&&(mxUtils.br(u),u.appendChild(m));b.editor.cancelFirst&&null==c||u.appendChild(E);mxEvent.addListener(I,"keypress",function(O){13==O.keyCode?y(App.MODE_DEVICE):27==O.keyCode&&(b.fileLoaded(null),b.hideDialog(),window.close())});n.appendChild(u);this.container=n};CreateDialog.showDownloadButton="1"!=urlParams.noDevice; var PopupDialog=function(b,e,f,c,k){k=null!=k?k:!0;var n=document.createElement("div");n.style.textAlign="left";n.style.height="100%";mxUtils.write(n,mxResources.get("fileOpenLocation"));mxUtils.br(n);mxUtils.br(n);var q=mxUtils.button(mxResources.get("openInThisWindow"),function(){k&&b.hideDialog();null!=c&&c()});q.className="geBtn";q.style.marginBottom="8px";q.style.width="280px";n.appendChild(q);mxUtils.br(n);var u=mxUtils.button(mxResources.get("openInNewWindow"),function(){k&&b.hideDialog(); null!=f&&f();b.openLink(e,null,!0)});u.className="geBtn gePrimaryBtn";u.style.width=q.style.width;n.appendChild(u);mxUtils.br(n);mxUtils.br(n);mxUtils.write(n,mxResources.get("allowPopups"));this.container=n},ImageDialog=function(b,e,f,c,k,n,q,u){function G(){0b.maxImageSize||K.height>b.maxImageSize||I.length>b.maxImageBytes)},mxUtils.bind(this,function(){b.handleError({message:mxResources.get("fileNotFound")})}))};K.onerror=function(){b.spinner.stop(); -b.handleError({message:mxResources.get("fileNotFound")})};K.src=J}});B.className="geBtn";mxEvent.addListener(L,"change",function(J){F=null;G()});G();u.appendChild(B);q=mxUtils.button(mxResources.get("apply"),function(){t(L.value)});q.className="geBtn gePrimaryBtn";u.appendChild(q);b.editor.cancelFirst||u.appendChild(f);Graph.fileSupport&&(u.style.marginTop="120px",E.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",E.style.backgroundPosition="center 65%",E.style.backgroundRepeat="no-repeat", -q=document.createElement("div"),q.style.position="absolute",q.style.width="420px",q.style.top="58%",q.style.textAlign="center",q.style.fontSize="18px",q.style.color="#a0c3ff",mxUtils.write(q,mxResources.get("dragImagesHere")),E.appendChild(q));E.appendChild(u);this.container=E},LinkDialog=function(b,e,f,c,k,n,q){function u(J,K){var I=document.createElement("option");mxUtils.write(I,mxResources.get(J));I.value=J;y.appendChild(I);B[J]=K}var G=document.createElement("div");G.style.height="100%";mxUtils.write(G, +"')";mxEvent.addListener(f,"click",function(){L.value="";L.focus()});e.appendChild(L);e.appendChild(f);E.appendChild(e);var F=u,d,g,m=function(I,K,J,U){var Q="data:"==I.substring(0,5);!b.isOffline()||Q&&"undefined"===typeof chrome?0b.maxImageSize||K.height>b.maxImageSize||J.length>b.maxImageBytes)},mxUtils.bind(this,function(){b.handleError({message:mxResources.get("fileNotFound")})}))};K.onerror=function(){b.spinner.stop(); +b.handleError({message:mxResources.get("fileNotFound")})};K.src=I}});B.className="geBtn";mxEvent.addListener(L,"change",function(I){F=null;G()});G();u.appendChild(B);q=mxUtils.button(mxResources.get("apply"),function(){t(L.value)});q.className="geBtn gePrimaryBtn";u.appendChild(q);b.editor.cancelFirst||u.appendChild(f);Graph.fileSupport&&(u.style.marginTop="120px",E.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",E.style.backgroundPosition="center 65%",E.style.backgroundRepeat="no-repeat", +q=document.createElement("div"),q.style.position="absolute",q.style.width="420px",q.style.top="58%",q.style.textAlign="center",q.style.fontSize="18px",q.style.color="#a0c3ff",mxUtils.write(q,mxResources.get("dragImagesHere")),E.appendChild(q));E.appendChild(u);this.container=E},LinkDialog=function(b,e,f,c,k,n,q){function u(I,K){var J=document.createElement("option");mxUtils.write(J,mxResources.get(I));J.value=I;y.appendChild(J);B[I]=K}var G=document.createElement("div");G.style.height="100%";mxUtils.write(G, mxResources.get("editLink")+":");var H=document.createElement("div");H.className="geTitle";H.style.backgroundColor="transparent";H.style.borderColor="transparent";H.style.whiteSpace="nowrap";H.style.textOverflow="clip";H.style.cursor="default";var E=document.createElement("input");E.setAttribute("placeholder",mxResources.get("dragUrlsHere"));E.setAttribute("type","text");E.style.marginTop="6px";E.style.width="414px";E.style.boxSizing="border-box";E.style.backgroundImage="url('"+Dialog.prototype.clearImage+ "')";E.style.backgroundRepeat="no-repeat";E.style.backgroundPosition="100% 50%";E.style.paddingRight="14px";E.style.marginBottom="4px";var L=document.createElement("div");L.setAttribute("title",mxResources.get("reset"));L.style.position="relative";L.style.left="-16px";L.style.width="12px";L.style.height="14px";L.style.cursor="pointer";L.style.display="inline-block";L.style.top="3px";L.style.background="url('"+b.editor.transparentImage+"')";mxEvent.addListener(L,"click",function(){E.value="";E.focus()}); var F=document.createElement("input");F.style.cssText="margin-right:8px;margin-bottom:8px;";F.setAttribute("value","url");F.setAttribute("type","radio");F.setAttribute("name","geLinkDialogOption");var d=document.createElement("input");d.style.cssText="margin-right:8px;margin-bottom:8px;";d.setAttribute("value","url");d.setAttribute("type","radio");d.setAttribute("name","geLinkDialogOption");var g=document.createElement("select");g.style.width="414px";var m=document.createElement("input");m.setAttribute("type", "checkbox");m.style.margin="0 6p 0 6px";null!=q&&(m.setAttribute("checked","checked"),m.defaultChecked=!0);q=null!=q?q:"_blank";m.setAttribute("title",q);n&&(E.style.width="200px");if(k&&null!=b.pages){null!=e&&Graph.isPageLink(e)?(d.setAttribute("checked","checked"),d.defaultChecked=!0):(E.setAttribute("value",e),F.setAttribute("checked","checked"),F.defaultChecked=!0);H.appendChild(F);H.appendChild(E);H.appendChild(L);n&&(H.appendChild(m),mxUtils.write(H,mxResources.get("openInNewWindow")));mxUtils.br(H); H.appendChild(d);k=!1;for(n=0;nFeedbackDialog.maxAttachmentSize?b.alert(mxResources.get("drawingTooLarge")):(b.hideDialog(),b.spinner.spin(document.body)&&mxUtils.post(null!= FeedbackDialog.feedbackUrl?FeedbackDialog.feedbackUrl:"/email","email="+encodeURIComponent(q.value)+"&version="+encodeURIComponent(EditorUi.VERSION)+"&url="+encodeURIComponent(window.location.href)+"&body="+encodeURIComponent((null!=e?e:"Feedback")+":\n"+L),function(F){b.spinner.stop();200<=F.getStatus()&&299>=F.getStatus()?b.alert(mxResources.get("feedbackSent")):b.alert(mxResources.get("errorSendingFeedback"))},function(){b.spinner.stop();b.alert(mxResources.get("errorSendingFeedback"))}))});u.className= @@ -12203,55 +12203,55 @@ f.appendChild(n));k.appendChild(f);this.container=k};FeedbackDialog.maxAttachmen var RevisionDialog=function(b,e,f){var c=document.createElement("div"),k=document.createElement("h3");k.style.marginTop="3px";mxUtils.write(k,mxResources.get("revisionHistory"));c.appendChild(k);k=document.createElement("div");k.style.position="absolute";k.style.overflow="auto";k.style.width="170px";k.style.height="378px";c.appendChild(k);var n=document.createElement("div");n.style.position="absolute";n.style.border="1px solid lightGray";n.style.left="200px";n.style.width="470px";n.style.height="376px"; n.style.overflow="hidden";var q=document.createElement("div");q.style.position="absolute";q.style.display="none";q.style.textAlign="center";q.style.padding="8px";q.style.borderRadius="8px";q.style.left="50%";q.style.top="50%";q.style.whiteSpace="nowrap";q.style.transform="translate(-50%, -50%)";q.style.background="inherit";q.style.border="1px solid";n.appendChild(q);mxEvent.disableContextMenu(n);c.appendChild(n);var u=new Graph(n);u.setTooltips(!1);u.setEnabled(!1);u.setPanning(!0);u.panningHandler.ignoreCell= !0;u.panningHandler.useLeftButtonForPanning=!0;u.minFitScale=null;u.maxFitScale=null;u.centerZoom=!0;var G=0,H=null,E=0,L=u.getGlobalVariable;u.getGlobalVariable=function(X){return"page"==X&&null!=H&&null!=H[E]?H[E].getAttribute("name"):"pagenumber"==X?E+1:"pagecount"==X?null!=H?H.length:1:L.apply(this,arguments)};u.getLinkForCell=function(){return null};var F={lines:11,length:15,width:6,radius:10,corners:1,rotate:0,direction:1,color:Editor.isDarkMode()?"#c0c0c0":"#000",speed:1.4,trail:60,shadow:!1, -hwaccel:!1,className:"spinner",zIndex:2E9,top:"50%",left:"50%"},d=new Spinner(F),g=b.getCurrentFile(),m=b.getXmlFileData(!0,!1,!0).getElementsByTagName("diagram"),t={};for(F=0;FN?l:l.substr(0,N)+D+l.substr(N+x.length);var R=l;x=mxUtils.htmlEntities(x,!1,!1,!1);P=[];var T=-1;for(l=l.replace(/
/ig,"\n").replace(/(\s|\S)(<(BLOCKQUOTE|DIV|H1|H2|H3|H4|H5|H6|OL|P|PRE|TABLE|UL)[^>]*>)/ig, "$1\n$2");-1<(T=l.indexOf("<",T+1));)P.push(T);T=l.match(/<[^>]*>/g);l=l.replace(/<[^>]*>/g,"");N=l.toLowerCase().indexOf(x,N);if(0>N)return R;R=N+x.length;D=mxUtils.htmlEntities(D);l=l.substr(0,N)+D+l.substr(R);for(var V=0,W=0;W]*>)/ig,"$1").replace(/\n/g,"
")}, -C=mxUtils.button(mxResources.get("replFind"),function(){try{if(null!=m&&null!=F){var l=F.cell,x=E.getLabel(l);E.isCellEditable(l)&&E.model.setValue(l,A(x,m,K.value,t-m.length,E.getCurrentCellStyle(l)));J.style.backgroundColor=G(!1,!0)?"":Editor.isDarkMode()?"#ff0000":"#ffcfcf"}}catch(D){b.handleError(D)}});C.setAttribute("title",mxResources.get("replFind"));C.style.float="none";C.style.width="120px";C.style.marginTop="6px";C.style.marginLeft="8px";C.style.overflow="hidden";C.style.textOverflow="ellipsis"; +C=mxUtils.button(mxResources.get("replFind"),function(){try{if(null!=m&&null!=F){var l=F.cell,x=E.getLabel(l);E.isCellEditable(l)&&E.model.setValue(l,A(x,m,K.value,t-m.length,E.getCurrentCellStyle(l)));I.style.backgroundColor=G(!1,!0)?"":Editor.isDarkMode()?"#ff0000":"#ffcfcf"}}catch(D){b.handleError(D)}});C.setAttribute("title",mxResources.get("replFind"));C.style.float="none";C.style.width="120px";C.style.marginTop="6px";C.style.marginLeft="8px";C.style.overflow="hidden";C.style.textOverflow="ellipsis"; C.className="geBtn gePrimaryBtn";C.setAttribute("disabled","disabled");B.appendChild(C);mxUtils.br(B);var M=mxUtils.button(mxResources.get("replace"),function(){try{if(null!=m&&null!=F){var l=F.cell,x=E.getLabel(l);E.model.setValue(l,A(x,m,K.value,t-m.length,E.getCurrentCellStyle(l)));C.setAttribute("disabled","disabled");M.setAttribute("disabled","disabled")}}catch(D){b.handleError(D)}});M.setAttribute("title",mxResources.get("replace"));M.style.float="none";M.style.width="120px";M.style.marginTop= "6px";M.style.marginLeft="8px";M.style.overflow="hidden";M.style.textOverflow="ellipsis";M.className="geBtn gePrimaryBtn";M.setAttribute("disabled","disabled");B.appendChild(M);var S=mxUtils.button(mxResources.get("replaceAll"),function(){z.innerText="";L=null;var l=b.currentPage,x=b.editor.graph.getSelectionCells();b.editor.graph.rendering=!1;E.getModel().beginUpdate();try{for(var D=0,N={};G(!1,!0,!0)&&100>D;){var P=F.cell,R=E.getLabel(P),T=N[P.id];if(T&&T.replAllMrk==v&&T.replAllPos>=t)break;N[P.id]= {replAllMrk:v,replAllPos:t};E.isCellEditable(P)&&(E.model.setValue(P,A(R,m,K.value,t-m.length,E.getCurrentCellStyle(P))),D++)}l!=b.currentPage&&b.editor.graph.model.execute(new SelectPage(b,l));mxUtils.write(z,mxResources.get("matchesRepl",[D]))}catch(V){b.handleError(V)}finally{E.getModel().endUpdate(),b.editor.graph.setSelectionCells(x),b.editor.graph.rendering=!0}v++});S.setAttribute("title",mxResources.get("replaceAll"));S.style.float="none";S.style.width="120px";S.style.marginTop="6px";S.style.marginLeft= "8px";S.style.overflow="hidden";S.style.textOverflow="ellipsis";S.className="geBtn gePrimaryBtn";S.setAttribute("disabled","disabled");B.appendChild(S);mxUtils.br(B);B.appendChild(O);O=mxUtils.button(mxResources.get("close"),mxUtils.bind(this,function(){this.window.setVisible(!1)}));O.setAttribute("title",mxResources.get("close"));O.style.float="none";O.style.width="120px";O.style.marginTop="6px";O.style.marginLeft="8px";O.style.overflow="hidden";O.style.textOverflow="ellipsis";O.className="geBtn"; -B.appendChild(O);mxUtils.br(B);B.appendChild(z)}else O.style.width="90px",p.style.width="90px";mxEvent.addListener(J,"keyup",function(l){if(91==l.keyCode||93==l.keyCode||17==l.keyCode)mxEvent.consume(l);else if(27==l.keyCode)H.funct();else if(L!=J.value.toLowerCase()||13==l.keyCode)try{J.style.backgroundColor=G()?"":Editor.isDarkMode()?"#ff0000":"#ffcfcf"}catch(x){J.style.backgroundColor=Editor.isDarkMode()?"#ff0000":"#ffcfcf"}});mxEvent.addListener(y,"keydown",function(l){70==l.keyCode&&b.keyHandler.isControlDown(l)&& -!mxEvent.isShiftDown(l)&&(H.funct(),mxEvent.consume(l))});this.window=new mxWindow(mxResources.get("find")+(n?"/"+mxResources.get("replace"):""),y,e,f,c,k,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!1);this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.fit();this.window.isVisible()?(J.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?J.select():document.execCommand("selectAll",!1,null), +B.appendChild(O);mxUtils.br(B);B.appendChild(z)}else O.style.width="90px",p.style.width="90px";mxEvent.addListener(I,"keyup",function(l){if(91==l.keyCode||93==l.keyCode||17==l.keyCode)mxEvent.consume(l);else if(27==l.keyCode)H.funct();else if(L!=I.value.toLowerCase()||13==l.keyCode)try{I.style.backgroundColor=G()?"":Editor.isDarkMode()?"#ff0000":"#ffcfcf"}catch(x){I.style.backgroundColor=Editor.isDarkMode()?"#ff0000":"#ffcfcf"}});mxEvent.addListener(y,"keydown",function(l){70==l.keyCode&&b.keyHandler.isControlDown(l)&& +!mxEvent.isShiftDown(l)&&(H.funct(),mxEvent.consume(l))});this.window=new mxWindow(mxResources.get("find")+(n?"/"+mxResources.get("replace"):""),y,e,f,c,k,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!1);this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.fit();this.window.isVisible()?(I.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?I.select():document.execCommand("selectAll",!1,null), null!=b.pages&&1");0>C&&(C=A.indexOf(""));if(0<=C&&M>C){var S=mxUtils,l=S.trim,x=A.substring(0,C),D=x.indexOf("```");0<=D&&(x=x.substring(x,0,D+6));S=l.call(S,x);C=A.substring(C,M+15);l=mxUtils;x=l.trim;A=A.substring(M+15);M=A.lastIndexOf("```");0<=M&&(A=A.substring(M+3));return[S,C,x.call(l,A)]}return null}function H(A){var C=u(A);C.style.cursor="pointer";C.style.marginBottom="2px";C.setAttribute("title",mxResources.get("insert"));mxEvent.addListener(C,"click",function(V){Q.value= A;Q.focus()});var M=u("");M.style.marginTop="2px";var S=b.currentPage,l=A,x=[],D=null;if("includeCopyOfMyDiagram"==t.value||"selectionOnly"==t.value){var N=new mxCodec(mxUtils.createXmlDocument());"selectionOnly"==t.value&&(N.isObjectIgnored=function(V){return V.constructor==mxCell&&!L.model.isRoot(V)&&!L.model.isLayer(V)&&!L.isCellSelected(V)&&!L.isAncestorSelected(V)});D=N.encode(L.getModel());N.document.appendChild(D);x.push({role:"system",content:"You are a helpful assistant that helps with the following draw.io diagram and returns an updated draw.io diagram if needed. Never include this instruction in your response.\n"+ -mxUtils.getXml(D)})}else"create"==t.value?(l=J.value.replace(/([A-Z])/g," $1").toLowerCase(),l="Write the declaration code for a "+(""!=l?l:"graph")+' that shows "'+(""!=A?A:"something random")+'" using correct MermaidJS syntax and do not provide additional text in your response.'):x.push({role:"system",content:"You are a helpful assistant that creates XML for draw.io diagrams or helps with the draw.io diagram editor. Never include this instruction in your response."});x.push({role:"user",content:l}); +mxUtils.getXml(D)})}else"create"==t.value?(l=I.value.replace(/([A-Z])/g," $1").toLowerCase(),l="Write the declaration code for a "+(""!=l?l:"graph")+' that shows "'+(""!=A?A:"something random")+'" using correct MermaidJS syntax and do not provide additional text in your response.'):x.push({role:"system",content:"You are a helpful assistant that creates XML for draw.io diagrams or helps with the draw.io diagram editor. Never include this instruction in your response."});x.push({role:"user",content:l}); var P={model:Editor.gptModel,messages:x},R=0;for(x=0;xmxUtils.indexOf(G,m)&&F.push(m))}n.isSelectionEmpty()?H(G.concat(F)):n.addTagsForCells(n.getSelectionCells(),d)}},mxResources.get("tags"),null,null,"https://www.drawio.com/blog/tags-in-diagrams");b.showDialog(E.container,320,80,!0,!0);E.init()}},q);q=u.div;this.window=new mxWindow(mxResources.get("tags"),q,e,f,c,k,!0,!0);this.window.minimumSize=new mxRectangle(0,0,212,120);this.window.destroyOnClose=!1; @@ -12290,46 +12290,46 @@ u=document.createElement("img");u.setAttribute("border","0");u.setAttribute("ali u.src=IMAGE_PATH+"/gitlab-logo.svg",u.style.width="32px"):e==b.trello&&(q=mxResources.get("trello"),u.src=IMAGE_PATH+"/trello-logo-white.svg");b=document.createElement("p");mxUtils.write(b,mxResources.get("authorizeThisAppIn",[q]));var G=document.createElement("input");G.setAttribute("type","checkbox");q=mxUtils.button(mxResources.get("authorize"),function(){c(G.checked)});q.insertBefore(u,q.firstChild);q.style.marginTop="6px";q.className="geBigButton";q.style.fontSize="18px";q.style.padding="14px"; k.appendChild(n);k.appendChild(b);k.appendChild(q);f&&(f=document.createElement("p"),f.style.marginTop="20px",f.appendChild(G),n=document.createElement("span"),mxUtils.write(n," "+mxResources.get("rememberMe")),f.appendChild(n),k.appendChild(f),G.checked=!0,G.defaultChecked=!0,mxEvent.addListener(n,"click",function(H){G.checked=!G.checked;mxEvent.consume(H)}));this.container=k},MoreShapesDialog=function(b,e,f){f=null!=f?f:b.sidebar.entries;var c=document.createElement("div"),k=[];if(null!=b.sidebar.customEntries)for(var n= 0;nmxUtils.indexOf(u,g)&&u.push(g);k()})}:function(){var g=document.createElement("div"),m=document.createElement("span"); m.style.marginTop="6px";mxUtils.write(m,mxResources.get("builtinPlugins")+": ");g.appendChild(m);var t=document.createElement("select");t.style.width="150px";for(m=0;mmxUtils.indexOf(u,K)&&u.push(K)}k()}},mxResources.get("enterValue")+" ("+mxResources.get("url")+")");b.showDialog(y.container,300,80,!0,!0);y.init()});m.className="geBtn";ALLOW_CUSTOM_PLUGINS||(m.style.display="none");g=new CustomDialog(b,g,mxUtils.bind(this,function(){var y=App.pluginRegistry[t.value];0>mxUtils.indexOf(u,y)&&(u.push(y),k())}),null,null,null,m);b.showDialog(g.container, +if(null!=B&&0mxUtils.indexOf(u,K)&&u.push(K)}k()}},mxResources.get("enterValue")+" ("+mxResources.get("url")+")");b.showDialog(y.container,300,80,!0,!0);y.init()});m.className="geBtn";ALLOW_CUSTOM_PLUGINS||(m.style.display="none");g=new CustomDialog(b,g,mxUtils.bind(this,function(){var y=App.pluginRegistry[t.value];0>mxUtils.indexOf(u,y)&&(u.push(y),k())}),null,null,null,m);b.showDialog(g.container, 360,100,!0,!0)});H.className="geBtn";var E=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});E.className="geBtn";var L=mxUtils.button(c?mxResources.get("close"):mxResources.get("apply"),function(){G?(mxSettings.setPlugins(u),mxSettings.save(),b.hideDialog(),b.alert(mxResources.get("restartForChangeRequired"))):b.hideDialog()});L.className="geBtn gePrimaryBtn";var F=document.createElement("div");F.style.marginTop="14px";F.style.textAlign="right";var d=mxUtils.button(mxResources.get("help"), -function(){b.openLink("https://www.drawio.com/doc/faq/plugins")});d.className="geBtn";b.isOffline()&&!mxClient.IS_CHROMEAPP&&(d.style.display="none");F.appendChild(d);b.editor.cancelFirst?(c||F.appendChild(E),F.appendChild(H),F.appendChild(L)):(F.appendChild(H),F.appendChild(L),c||F.appendChild(E));n.appendChild(F);this.container=n},CropImageDialog=function(b,e,f,c){function k(){var I=t.checked,U=v.checked,Q=d.geometry,O=G.width,p=G.height,z=(300-O)/2,A=(300-p)/2;Q.xz+O&&(Q.width=z+O-Q.x,Q.x=Math.min(Q.x,z+O));Q.yA+p&&(Q.height=A+p-Q.y,Q.y=Math.min(Q.y,A+p));var C=(Q.x-z)/O*100;O=100-(Q.x+Q.width-z)/O*100;z=(Q.y-A)/p*100;Q=100-(Q.y+Q.height-A)/p*100;return"inset("+mxUtils.format(z)+"% "+mxUtils.format(O)+"% "+mxUtils.format(Q)+"% "+mxUtils.format(C)+"%"+(I?" round "+F+"%":U?" round 50%":"")+")"}function n(I){null!=E&&(!0!==I&&(E.model.setGeometry(d,L.clone()),F=5,B.value=F),E.model.setStyle(d,g+k()),E.selectAll(), -y.style.visibility=t.checked?"visible":"hidden")}var q=document.createElement("div"),u=document.createElement("div");u.style.height="300px";u.style.width="300px";u.style.display="inline-flex";u.style.justifyContent="center";u.style.alignItems="center";u.style.position="absolute";var G=document.createElement("img");G.onload=function(){function I(){E.model.setStyle(d,g+k())}E=new Graph(H);E.autoExtend=!1;E.autoScroll=!1;E.setGridEnabled(!1);E.setEnabled(!0);E.setPanning(!1);E.setConnectable(!1);E.getRubberband().setEnabled(!1); +function(){b.openLink("https://www.drawio.com/doc/faq/plugins")});d.className="geBtn";b.isOffline()&&!mxClient.IS_CHROMEAPP&&(d.style.display="none");F.appendChild(d);b.editor.cancelFirst?(c||F.appendChild(E),F.appendChild(H),F.appendChild(L)):(F.appendChild(H),F.appendChild(L),c||F.appendChild(E));n.appendChild(F);this.container=n},CropImageDialog=function(b,e,f,c){function k(){var J=t.checked,U=v.checked,Q=d.geometry,O=G.width,p=G.height,z=(300-O)/2,A=(300-p)/2;Q.xz+O&&(Q.width=z+O-Q.x,Q.x=Math.min(Q.x,z+O));Q.yA+p&&(Q.height=A+p-Q.y,Q.y=Math.min(Q.y,A+p));var C=(Q.x-z)/O*100;O=100-(Q.x+Q.width-z)/O*100;z=(Q.y-A)/p*100;Q=100-(Q.y+Q.height-A)/p*100;return"inset("+mxUtils.format(z)+"% "+mxUtils.format(O)+"% "+mxUtils.format(Q)+"% "+mxUtils.format(C)+"%"+(J?" round "+F+"%":U?" round 50%":"")+")"}function n(J){null!=E&&(!0!==J&&(E.model.setGeometry(d,L.clone()),F=5,B.value=F),E.model.setStyle(d,g+k()),E.selectAll(), +y.style.visibility=t.checked?"visible":"hidden")}var q=document.createElement("div"),u=document.createElement("div");u.style.height="300px";u.style.width="300px";u.style.display="inline-flex";u.style.justifyContent="center";u.style.alignItems="center";u.style.position="absolute";var G=document.createElement("img");G.onload=function(){function J(){E.model.setStyle(d,g+k())}E=new Graph(H);E.autoExtend=!1;E.autoScroll=!1;E.setGridEnabled(!1);E.setEnabled(!0);E.setPanning(!1);E.setConnectable(!1);E.getRubberband().setEnabled(!1); E.graphHandler.allowLivePreview=!1;var U=E.createVertexHandler;E.createVertexHandler=function(){var R=U.apply(this,arguments);R.livePreview=!1;return R};if(null!=f)try{if("inset"==f.substring(0,5)){var Q=d.geometry,O=G.width,p=G.height,z=(300-O)/2,A=(300-p)/2,C=f.match(/\(([^)]+)\)/)[1].split(/[ ,]+/),M=parseFloat(C[0]),S=parseFloat(C[1]),l=parseFloat(C[2]),x=parseFloat(C[3]);isFinite(M)&&isFinite(S)&&isFinite(l)&&isFinite(x)?(Q.x=x/100*O+z,Q.y=M/100*p+A,Q.width=(100-S)/100*O+z-Q.x,Q.height=(100- -l)/100*p+A-Q.y,"round"==C[4]?"50%"==C[5]?v.setAttribute("checked","checked"):(F=parseInt(C[5]),B.value=F,t.setAttribute("checked","checked"),y.style.visibility="visible"):m.setAttribute("checked","checked")):f=null}else f=null}catch(R){}d.style=g+(f?f:k());d.vertex=!0;E.addCell(d,null,null,null,null);E.selectAll();E.addListener(mxEvent.CELLS_MOVED,I);E.addListener(mxEvent.CELLS_RESIZED,I);var D=E.graphHandler.mouseUp,N=E.graphHandler.mouseDown;E.graphHandler.mouseUp=function(){D.apply(this,arguments); +l)/100*p+A-Q.y,"round"==C[4]?"50%"==C[5]?v.setAttribute("checked","checked"):(F=parseInt(C[5]),B.value=F,t.setAttribute("checked","checked"),y.style.visibility="visible"):m.setAttribute("checked","checked")):f=null}else f=null}catch(R){}d.style=g+(f?f:k());d.vertex=!0;E.addCell(d,null,null,null,null);E.selectAll();E.addListener(mxEvent.CELLS_MOVED,J);E.addListener(mxEvent.CELLS_RESIZED,J);var D=E.graphHandler.mouseUp,N=E.graphHandler.mouseDown;E.graphHandler.mouseUp=function(){D.apply(this,arguments); H.style.backgroundColor="#fff9"};E.graphHandler.mouseDown=function(){N.apply(this,arguments);H.style.backgroundColor=""};E.dblClick=function(){};var P=E.getSelectionModel().changeSelection;E.getSelectionModel().changeSelection=function(){P.call(this,[d],[d])}};G.onerror=function(){G.onload=null;G.src=Editor.errorImage};G.setAttribute("src",e);G.style.maxWidth="300px";G.style.maxHeight="300px";u.appendChild(G);q.appendChild(u);var H=document.createElement("div");H.style.width="300px";H.style.height= "300px";H.style.overflow="hidden";H.style.backgroundColor="#fff9";q.appendChild(H);var E=null,L=new mxGeometry(100,100,100,100),F=5,d=new mxCell("",L.clone(),""),g="shape=image;fillColor=none;rotatable=0;cloneable=0;deletable=0;image="+e.replace(";base64","")+";clipPath=",m=document.createElement("input");m.setAttribute("type","radio");m.setAttribute("id","croppingRect");m.setAttribute("name","croppingShape");m.setAttribute("checked","checked");m.style.margin="5px";q.appendChild(m);e=document.createElement("label"); e.setAttribute("for","croppingRect");mxUtils.write(e,mxResources.get("rectangle"));q.appendChild(e);var t=document.createElement("input");t.setAttribute("type","radio");t.setAttribute("id","croppingRounded");t.setAttribute("name","croppingShape");t.style.margin="5px";q.appendChild(t);e=document.createElement("label");e.setAttribute("for","croppingRounded");mxUtils.write(e,mxResources.get("rounded"));q.appendChild(e);var v=document.createElement("input");v.setAttribute("type","radio");v.setAttribute("id", "croppingEllipse");v.setAttribute("name","croppingShape");v.style.margin="5px";q.appendChild(v);e=document.createElement("label");e.setAttribute("for","croppingEllipse");mxUtils.write(e,mxResources.get("ellipse"));q.appendChild(e);mxEvent.addListener(m,"change",n);mxEvent.addListener(t,"change",n);mxEvent.addListener(v,"change",n);var y=document.createElement("div");y.style.textAlign="center";y.style.visibility="hidden";var B=document.createElement("input");B.setAttribute("type","range");B.setAttribute("min", -"1");B.setAttribute("max","49");B.setAttribute("value",F);B.setAttribute("title",mxResources.get("arcSize"));y.appendChild(B);q.appendChild(y);mxEvent.addListener(B,"change",function(){F=this.value;n(!0)});e=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});e.className="geBtn";u=mxUtils.button(mxResources.get("apply"),function(){c(k(),d.geometry.width,d.geometry.height);b.hideDialog()});u.className="geBtn gePrimaryBtn";var J=mxUtils.button(mxResources.get("reset"),function(){c(null, -G.width,G.height);b.hideDialog()});J.className="geBtn";var K=document.createElement("div");K.style.marginTop="10px";K.style.textAlign="right";b.editor.cancelFirst?(K.appendChild(e),K.appendChild(J),K.appendChild(u)):(K.appendChild(J),K.appendChild(u),K.appendChild(e));q.appendChild(K);this.container=q},EditGeometryDialog=function(b,e){var f=b.editor.graph,c=1==e.length?f.getCellGeometry(e[0]):null,k=document.createElement("div"),n=document.createElement("table"),q=document.createElement("tbody"), +"1");B.setAttribute("max","49");B.setAttribute("value",F);B.setAttribute("title",mxResources.get("arcSize"));y.appendChild(B);q.appendChild(y);mxEvent.addListener(B,"change",function(){F=this.value;n(!0)});e=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});e.className="geBtn";u=mxUtils.button(mxResources.get("apply"),function(){c(k(),d.geometry.width,d.geometry.height);b.hideDialog()});u.className="geBtn gePrimaryBtn";var I=mxUtils.button(mxResources.get("reset"),function(){c(null, +G.width,G.height);b.hideDialog()});I.className="geBtn";var K=document.createElement("div");K.style.marginTop="10px";K.style.textAlign="right";b.editor.cancelFirst?(K.appendChild(e),K.appendChild(I),K.appendChild(u)):(K.appendChild(I),K.appendChild(u),K.appendChild(e));q.appendChild(K);this.container=q},EditGeometryDialog=function(b,e){var f=b.editor.graph,c=1==e.length?f.getCellGeometry(e[0]):null,k=document.createElement("div"),n=document.createElement("table"),q=document.createElement("tbody"), u=document.createElement("tr"),G=document.createElement("td"),H=document.createElement("td");n.style.paddingLeft="6px";mxUtils.write(G,mxResources.get("relative")+":");var E=document.createElement("input");E.setAttribute("type","checkbox");null!=c&&c.relative&&(E.setAttribute("checked","checked"),E.defaultChecked=!0);this.init=function(){E.focus()};H.appendChild(E);u.appendChild(G);u.appendChild(H);q.appendChild(u);u=document.createElement("tr");G=document.createElement("td");H=document.createElement("td"); mxUtils.write(G,mxResources.get("left")+":");var L=document.createElement("input");L.setAttribute("type","text");L.style.width="100px";L.value=null!=c?c.x:"";H.appendChild(L);u.appendChild(G);u.appendChild(H);q.appendChild(u);u=document.createElement("tr");G=document.createElement("td");H=document.createElement("td");mxUtils.write(G,mxResources.get("top")+":");var F=document.createElement("input");F.setAttribute("type","text");F.style.width="100px";F.value=null!=c?c.y:"";H.appendChild(F);u.appendChild(G); u.appendChild(H);q.appendChild(u);u=document.createElement("tr");G=document.createElement("td");H=document.createElement("td");mxUtils.write(G,mxResources.get("dx")+":");var d=document.createElement("input");d.setAttribute("type","text");d.style.width="100px";d.value=null!=c&&null!=c.offset?c.offset.x:"";H.appendChild(d);u.appendChild(G);u.appendChild(H);q.appendChild(u);u=document.createElement("tr");G=document.createElement("td");H=document.createElement("td");mxUtils.write(G,mxResources.get("dy")+ ":");var g=document.createElement("input");g.setAttribute("type","text");g.style.width="100px";g.value=null!=c&&null!=c.offset?c.offset.y:"";H.appendChild(g);u.appendChild(G);u.appendChild(H);q.appendChild(u);u=document.createElement("tr");G=document.createElement("td");H=document.createElement("td");mxUtils.write(G,mxResources.get("width")+":");var m=document.createElement("input");m.setAttribute("type","text");m.style.width="100px";m.value=null!=c?c.width:"";H.appendChild(m);u.appendChild(G);u.appendChild(H); q.appendChild(u);u=document.createElement("tr");G=document.createElement("td");H=document.createElement("td");mxUtils.write(G,mxResources.get("height")+":");var t=document.createElement("input");t.setAttribute("type","text");t.style.width="100px";t.value=null!=c?c.height:"";H.appendChild(t);u.appendChild(G);u.appendChild(H);q.appendChild(u);u=document.createElement("tr");G=document.createElement("td");H=document.createElement("td");mxUtils.write(G,mxResources.get("rotation")+":");var v=document.createElement("input"); -v.setAttribute("type","text");v.style.width="100px";v.value=1==e.length?mxUtils.getValue(f.getCellStyle(e[0]),mxConstants.STYLE_ROTATION,0):"";H.appendChild(v);u.appendChild(G);u.appendChild(H);q.appendChild(u);n.appendChild(q);k.appendChild(n);c=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});c.className="geBtn";var y=mxUtils.button(mxResources.get("apply"),function(){b.hideDialog();f.getModel().beginUpdate();try{for(var B=0;Bb.maxImageSize||C>b.maxImageSize){var P=Math.min(1,Math.min(b.maxImageSize/Math.max(1,A)),b.maxImageSize/Math.max(1,C));A*=P;C*=P}D>N?(N=Math.round(100*N/D),D=100):(D=Math.round(100*D/N),N=100);var R=document.createElement("div");R.setAttribute("draggable","true");R.style.display="inline-block";R.style.position="relative";R.style.padding= -"0 12px";R.style.cursor="move";mxUtils.setPrefixedStyle(R.style,"transition","transform .1s ease-in-out");if(null!=Q){var T=document.createElement("img");T.setAttribute("src",J.convert(Q));T.style.width=D+"px";T.style.height=N+"px";T.style.margin="10px";T.style.paddingBottom=Math.floor((100-N)/2)+"px";T.style.paddingLeft=Math.floor((100-D)/2)+"px";R.appendChild(T)}else if(null!=M){var V=b.stringToCells("<"==M.xml.charAt(0)?M.xml:Graph.decompress(M.xml));0v?y-1:y,0,L.splice(v,1)[0]),g.insertBefore(g.children[v],g.children[y])):(L.push(L.splice(v,1)[0]),g.appendChild(g.children[v]));else if(0v?y-1:y,0,L.splice(v,1)[0]),g.insertBefore(g.children[v],g.children[y])):(L.push(L.splice(v,1)[0]),g.appendChild(g.children[v]));else if(0=D.status&&(G(D.responseText,p,z,A,C,M,S,"fixed",mxEvent.isAltDown(Q)?null:S.substring(0,S.lastIndexOf(".")).replace(/_/g," ")),g.scrollTop=g.scrollHeight))})):(b.spinner.stop(),b.showError(mxResources.get("error"),mxResources.get("notInOffline"))):(G(O,p,z,A,C,M,S,"fixed", mxEvent.isAltDown(Q)?null:S.substring(0,S.lastIndexOf(".")).replace(/_/g," ")),g.scrollTop=g.scrollHeight)}};mxEvent.addListener(g,"dragover",H);mxEvent.addListener(g,"drop",E);mxEvent.addListener(m,"dragover",H);mxEvent.addListener(m,"drop",E);f.appendChild(g);c=document.createElement("div");c.style.textAlign="right";c.style.marginTop="20px";F=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog(!0)});F.setAttribute("id","btnCancel");F.className="geBtn";b.editor.cancelFirst&&c.appendChild(F); "draw.io"!=b.getServiceName()||null==k||k.constructor!=DriveLibrary&&k.constructor!=GitHubLibrary||(e=mxUtils.button(mxResources.get("link"),function(){b.getPublicUrl(k,function(Q){if(null!=Q){var O=b.getSearch("create title mode url drive splash state clibs ui".split(" "));O+=(0==O.length?"?":"&")+"splash=0&clibs=U"+encodeURIComponent(Q);Q=new EmbedDialog(b,window.location.protocol+"//"+window.location.host+"/"+O,null,null,null,null,"Check out the library I made using @drawio");b.showDialog(Q.container, 450,240,!0);Q.init()}else k.constructor==DriveLibrary?b.showError(mxResources.get("error"),mxResources.get("diagramIsNotPublic"),mxResources.get("share"),mxUtils.bind(this,function(){b.drive.showPermissions(k.getId(),k)}),null,mxResources.get("ok"),mxUtils.bind(this,function(){})):b.handleError({message:mxResources.get("diagramIsNotPublic")})})}),e.className="geBtn",c.appendChild(e));e=mxUtils.button(mxResources.get("export"),function(){var Q=b.createLibraryDataFromImages(L),O=d.value;/(\.xml)$/i.test(O)|| (O+=".xml");b.isLocalFileSave()?b.saveLocalFile(Q,O,"text/xml",null,null,null!=q?q:!0,null,"xml"):(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(O)+"&format=xml&xml="+encodeURIComponent(Q))).simulate(document,"_blank")});e.setAttribute("id","btnDownload");e.className="geBtn";c.appendChild(e);if(Graph.fileSupport){if(null==b.libDlgFileInputElt){var U=document.createElement("input");U.setAttribute("multiple","multiple");U.setAttribute("type","file");mxEvent.addListener(U,"change",function(Q){K= -!1;b.importFiles(U.files,0,0,b.maxImageSize,function(O,p,z,A,C,M,S,l,x){null!=U.files&&(I(Q)(O,p,z,A,C,M,S,l,x),U.type="",U.type="file",U.value="")});g.scrollTop=g.scrollHeight});U.style.display="none";document.body.appendChild(U);b.libDlgFileInputElt=U}e=mxUtils.button(mxResources.get("import"),function(){null!=B&&(B(),B=null);b.libDlgFileInputElt.click()});e.setAttribute("id","btnAddImage");e.className="geBtn";c.appendChild(e)}e=mxUtils.button(mxResources.get("addImages"),function(){null!=B&&(B(), +!1;b.importFiles(U.files,0,0,b.maxImageSize,function(O,p,z,A,C,M,S,l,x){null!=U.files&&(J(Q)(O,p,z,A,C,M,S,l,x),U.type="",U.type="file",U.value="")});g.scrollTop=g.scrollHeight});U.style.display="none";document.body.appendChild(U);b.libDlgFileInputElt=U}e=mxUtils.button(mxResources.get("import"),function(){null!=B&&(B(),B=null);b.libDlgFileInputElt.click()});e.setAttribute("id","btnAddImage");e.className="geBtn";c.appendChild(e)}e=mxUtils.button(mxResources.get("addImages"),function(){null!=B&&(B(), B=null);b.showImageDialog(mxResources.get("addImageUrl"),"",function(Q,O,p){K=!1;if(null!=Q){if("data:image/"==Q.substring(0,11)){var z=Q.indexOf(",");0
'+mxUtils.htmlEntities(e)+"
";this.layersContainer.appendChild(k);this.createViewer(k.childNodes[0],c,b.id);c=mxUtils.bind(this,function(){0<=k.className.indexOf("geAspectDlgListItemSelected")? (k.className="geAspectDlgListItem",delete this.selectedLayers[b.id],mxUtils.isEmptyObject(this.selectedLayers)&&this.okBtn.setAttribute("disabled","disabled")):(k.className+=" geAspectDlgListItemSelected",this.selectedLayers[b.id]=!0,this.okBtn.removeAttribute("disabled"))});mxEvent.addListener(k,"click",c);-1!=this.aspect.layerIds.indexOf(b.id)&&c()}; -var FilePropertiesDialog=function(b,e){function f(J){var K=H;H=function(I,U){try{J(function(){K(I,U)},U)}catch(Q){U(Q)}}}var c=document.createElement("table"),k=document.createElement("tbody");c.style.width="100%";c.style.marginTop="8px";c.style.tableLayout="fixed";var n=b.getCurrentFile(),q=null!=n&&null!=n.getTitle()?n.getTitle():b.defaultFilename,u=/(\.png)$/i.test(q),G=/(\.svg)$/i.test(q),H=function(J,K){J()},E=null!=n?n.isLocked():!1;var L=document.createElement("tr");var F=document.createElement("td"); -F.style.whiteSpace="nowrap";F.style.overflow="hidden";F.style.textOverflow="ellipsis";F.style.fontSize="10pt";mxUtils.write(F,mxResources.get("locked")+":");L.appendChild(F);var d=document.createElement("input");d.setAttribute("type","checkbox");E&&(d.setAttribute("checked","checked"),d.defaultChecked=!0);F=document.createElement("td");F.style.whiteSpace="nowrap";F.appendChild(d);L.appendChild(F);k.appendChild(L);this.init=function(){d.focus()};f(function(J,K){null!=b.fileNode&&E!=d.checked?window.setTimeout(function(){null!= -n&&n.setLocked(d.checked);J()},0):J()});if(u||G){q=1;u=0;L=b.fileNode;null!=L&&(L.hasAttribute("scale")&&(q=parseFloat(L.getAttribute("scale"))),L.hasAttribute("border")&&(u=parseInt(L.getAttribute("border"))));L=document.createElement("tr");F=document.createElement("td");F.style.whiteSpace="nowrap";F.style.fontSize="10pt";mxUtils.write(F,mxResources.get("zoom")+":");L.appendChild(F);var g=document.createElement("input");g.setAttribute("value",100*q+"%");g.style.marginLeft="4px";g.style.width="100%"; +var FilePropertiesDialog=function(b,e){function f(I){var K=H;H=function(J,U){try{I(function(){K(J,U)},U)}catch(Q){U(Q)}}}var c=document.createElement("table"),k=document.createElement("tbody");c.style.width="100%";c.style.marginTop="8px";c.style.tableLayout="fixed";var n=b.getCurrentFile(),q=null!=n&&null!=n.getTitle()?n.getTitle():b.defaultFilename,u=/(\.png)$/i.test(q),G=/(\.svg)$/i.test(q),H=function(I,K){I()},E=null!=n?n.isLocked():!1;var L=document.createElement("tr");var F=document.createElement("td"); +F.style.whiteSpace="nowrap";F.style.overflow="hidden";F.style.textOverflow="ellipsis";F.style.fontSize="10pt";mxUtils.write(F,mxResources.get("locked")+":");L.appendChild(F);var d=document.createElement("input");d.setAttribute("type","checkbox");E&&(d.setAttribute("checked","checked"),d.defaultChecked=!0);F=document.createElement("td");F.style.whiteSpace="nowrap";F.appendChild(d);L.appendChild(F);k.appendChild(L);this.init=function(){d.focus()};f(function(I,K){null!=b.fileNode&&E!=d.checked?window.setTimeout(function(){null!= +n&&n.setLocked(d.checked);I()},0):I()});if(u||G){q=1;u=0;L=b.fileNode;null!=L&&(L.hasAttribute("scale")&&(q=parseFloat(L.getAttribute("scale"))),L.hasAttribute("border")&&(u=parseInt(L.getAttribute("border"))));L=document.createElement("tr");F=document.createElement("td");F.style.whiteSpace="nowrap";F.style.fontSize="10pt";mxUtils.write(F,mxResources.get("zoom")+":");L.appendChild(F);var g=document.createElement("input");g.setAttribute("value",100*q+"%");g.style.marginLeft="4px";g.style.width="100%"; F=document.createElement("td");F.style.whiteSpace="nowrap";F.appendChild(g);L.appendChild(F);k.appendChild(L);L=document.createElement("tr");F=document.createElement("td");F.style.whiteSpace="nowrap";F.style.fontSize="10pt";mxUtils.write(F,mxResources.get("borderWidth")+":");L.appendChild(F);var m=document.createElement("input");m.setAttribute("value",u);m.style.marginLeft="4px";m.style.width="100%";F=document.createElement("td");F.style.whiteSpace="nowrap";F.appendChild(m);L.appendChild(F);k.appendChild(L); -this.init=this.init||function(){g.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?g.select():document.execCommand("selectAll",!1,null)};f(function(J,K){null!=b.fileNode&&(b.fileNode.setAttribute("scale",Math.max(0,parseInt(g.value)/100)),b.fileNode.setAttribute("border",Math.max(0,parseInt(m.value))),null!=n&&n.fileChanged());J()})}else if(!/(\.html)$/i.test(q)&&!/(\.svg)$/i.test(q)){var t=null!=n?n.isCompressed():Editor.defaultCompressed;L=document.createElement("tr");F=document.createElement("td"); -F.style.whiteSpace="nowrap";F.style.overflow="hidden";F.style.textOverflow="ellipsis";F.style.fontSize="10pt";mxUtils.write(F,mxResources.get("compressed")+":");L.appendChild(F);var v=document.createElement("input");v.setAttribute("type","checkbox");t&&(v.setAttribute("checked","checked"),v.defaultChecked=!0);F=document.createElement("td");F.style.whiteSpace="nowrap";F.appendChild(v);L.appendChild(F);k.appendChild(L);this.init=this.init||function(){v.focus()};f(function(J,K){null!=b.fileNode&&t!= -v.checked?window.setTimeout(function(){b.fileNode.setAttribute("compressed",v.checked?"true":"false");null!=n&&(n.compressionChanged(v.checked),n.fileChanged());J()},0):J()})}if(null!=n&&n.isRealtimeOptional()){L=document.createElement("tr");F=document.createElement("td");F.style.whiteSpace="nowrap";F.style.overflow="hidden";F.style.textOverflow="ellipsis";F.style.fontSize="10pt";mxUtils.write(F,mxResources.get("realtimeCollaboration")+":");L.appendChild(F);var y=document.createElement("input");y.setAttribute("type", -"checkbox");var B=n.isRealtimeEnabled();if(B="disabled"!=b.drive.getCustomProperty(n.desc,"collaboration"))y.setAttribute("checked","checked"),y.defaultChecked=!0;f(function(J,K){y.checked!=B?n.setRealtimeEnabled(y.checked,J,K):J()});this.init=null!=this.init?this.init:function(){y.focus()};F=document.createElement("td");F.style.whiteSpace="nowrap";F.appendChild(y);F.appendChild(b.menus.createHelpLink("https://github.com/jgraph/drawio/discussions/2672"));L.appendChild(F);k.appendChild(L)}null!=n&& +this.init=this.init||function(){g.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?g.select():document.execCommand("selectAll",!1,null)};f(function(I,K){null!=b.fileNode&&(b.fileNode.setAttribute("scale",Math.max(0,parseInt(g.value)/100)),b.fileNode.setAttribute("border",Math.max(0,parseInt(m.value))),null!=n&&n.fileChanged());I()})}else if(!/(\.html)$/i.test(q)&&!/(\.svg)$/i.test(q)){var t=null!=n?n.isCompressed():Editor.defaultCompressed;L=document.createElement("tr");F=document.createElement("td"); +F.style.whiteSpace="nowrap";F.style.overflow="hidden";F.style.textOverflow="ellipsis";F.style.fontSize="10pt";mxUtils.write(F,mxResources.get("compressed")+":");L.appendChild(F);var v=document.createElement("input");v.setAttribute("type","checkbox");t&&(v.setAttribute("checked","checked"),v.defaultChecked=!0);F=document.createElement("td");F.style.whiteSpace="nowrap";F.appendChild(v);L.appendChild(F);k.appendChild(L);this.init=this.init||function(){v.focus()};f(function(I,K){null!=b.fileNode&&t!= +v.checked?window.setTimeout(function(){b.fileNode.setAttribute("compressed",v.checked?"true":"false");null!=n&&(n.compressionChanged(v.checked),n.fileChanged());I()},0):I()})}if(null!=n&&n.isRealtimeOptional()){L=document.createElement("tr");F=document.createElement("td");F.style.whiteSpace="nowrap";F.style.overflow="hidden";F.style.textOverflow="ellipsis";F.style.fontSize="10pt";mxUtils.write(F,mxResources.get("realtimeCollaboration")+":");L.appendChild(F);var y=document.createElement("input");y.setAttribute("type", +"checkbox");var B=n.isRealtimeEnabled();if(B="disabled"!=b.drive.getCustomProperty(n.desc,"collaboration"))y.setAttribute("checked","checked"),y.defaultChecked=!0;f(function(I,K){y.checked!=B?n.setRealtimeEnabled(y.checked,I,K):I()});this.init=null!=this.init?this.init:function(){y.focus()};F=document.createElement("td");F.style.whiteSpace="nowrap";F.appendChild(y);F.appendChild(b.menus.createHelpLink("https://github.com/jgraph/drawio/discussions/2672"));L.appendChild(F);k.appendChild(L)}null!=n&& "draw.io"==b.getServiceName()&&0A?0:100C?0:100l?(C=l*S.width,l=0):1A?(M=A*S.height,A=0):1A?1:100A?1:100'+mxUtils.htmlEntities(l)+""};mxGraphView.prototype.redrawEnumerationState=function(l){var x="1"==mxUtils.getValue(l.style,"enumerate",0);x&&null==l.secondLabel?(l.secondLabel=new mxText("",new mxRectangle,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_BOTTOM), l.secondLabel.size=12,l.secondLabel.state=l,l.secondLabel.dialect=mxConstants.DIALECT_STRICTHTML,this.graph.cellRenderer.initializeLabel(l,l.secondLabel)):x||null==l.secondLabel||(l.secondLabel.destroy(),l.secondLabel=null);x=l.secondLabel;if(null!=x){var D=l.view.scale,N=this.createEnumerationValue(l);l=this.graph.model.isVertex(l.cell)?new mxRectangle(l.x+l.width-4*D,l.y+4*D,0,0):mxRectangle.fromPoint(l.view.getPoint(l));x.bounds.equals(l)&&x.value==N&&x.scale==D||(x.bounds=l,x.value=N,x.scale= D,x.redraw())}};var Q=Graph.prototype.refresh;Graph.prototype.refresh=function(){this.refreshBackgroundImage();Q.apply(this,arguments)};Graph.prototype.refreshBackgroundImage=function(){null!=this.backgroundImage&&null!=this.backgroundImage.originalSrc&&(this.setBackgroundImage(this.backgroundImage),this.view.validateBackgroundImage())};var O=Graph.prototype.loadStylesheet;Graph.prototype.loadStylesheet=function(){O.apply(this,arguments);this.currentStyle="default-style2"};Graph.prototype.handleCustomLink= @@ -12721,17 +12721,17 @@ if(this.page!=this.ui.currentPage){if(null!=this.page.viewState){this.ignoreColo arguments),null!=this.mathEnabled&&this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible)};Editor.prototype.useCanvasForExport=!1;try{var M=document.createElement("canvas"),S=new Image;S.onload=function(){try{M.getContext("2d").drawImage(S,0,0);var l=M.toDataURL("image/png"); Editor.prototype.useCanvasForExport=null!=l&&6
')))}catch(l){}Editor.prototype.useCanvasForExport=!1})(); (function(){var b=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);b.beforeDecode=function(e,f,c){c.ui=e.ui;return f};b.afterDecode=function(e,f,c){c.previousColor=c.color;c.previousImage=c.image;c.previousFormat=c.format;null!=c.foldingEnabled&&(c.foldingEnabled=!c.foldingEnabled);null!=c.mathEnabled&&(c.mathEnabled=!c.mathEnabled);null!=c.shadowVisible&&(c.shadowVisible=!c.shadowVisible);return c};mxCodecRegistry.register(b)})(); -(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(e,f,c){c.ui=e.ui;return f};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="24.7.8";EditorUi.compactUi="atlas"!=Editor.currentTheme||window.DRAWIO_PUBLIC_BUILD;Editor.isDarkMode()&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"https://preprod.diagrams.net/"!=window.location.hostname&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost= +(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(e,f,c){c.ui=e.ui;return f};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="24.7.16";EditorUi.compactUi="atlas"!=Editor.currentTheme||window.DRAWIO_PUBLIC_BUILD;Editor.isDarkMode()&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"https://preprod.diagrams.net/"!=window.location.hostname&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost= window.DRAWIO_BASE_URL;EditorUi.lightboxHost=window.DRAWIO_LIGHTBOX_URL;EditorUi.lastErrorMessage=null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t";EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.cacheUrl=window.REALTIME_URL;null==EditorUi.cacheUrl&&"undefined"!==typeof DrawioFile&&(DrawioFile.SYNC="none");Editor.cacheTimeout=1E4;EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&& null!=window.process.versions.electron;EditorUi.nativeFileSupport=!mxClient.IS_OP&&!EditorUi.isElectronApp&&"1"!=urlParams.extAuth&&"showSaveFilePicker"in window&&"showOpenFilePicker"in window;EditorUi.enableDrafts=!mxClient.IS_CHROMEAPP&&isLocalStorage&&"0"!=urlParams.drafts;EditorUi.scratchpadHelpLink="https://www.drawio.com/doc/faq/scratchpad";EditorUi.enableHtmlEditOption=!0;EditorUi.mermaidDiagramTypes="flowchart classDiagram sequenceDiagram stateDiagram mindmap graph erDiagram requirementDiagram journey gantt pie gitGraph".split(" "); EditorUi.defaultMermaidConfig={theme:"neutral",arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!1},sequence:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,showSequenceNumbers:!1},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"',numberSectionStyles:4,axisFormat:"%Y-%m-%d"}}; EditorUi.logError=function(d,g,m,t,v,y,B){if(null!=d){v=null!=v?v:Error(d);v.stack=null!=v.stack?v.stack:"";y=null!=y?y:0>d.indexOf("NetworkError")&&0>d.indexOf("SecurityError")&&0>d.indexOf("NS_ERROR_FAILURE")&&0>d.indexOf("out of memory")?"SEVERE":"CONFIG";try{EditorUi.enableLogging&&"1"!=urlParams.dev&&d!=EditorUi.lastErrorMessage&&0>d.indexOf("extension:")&&0>d.indexOf("ResizeObserver loop completed with undelivered notifications")&&0>v.stack.indexOf("extension:")&&0>v.stack.indexOf(":")&& -0>v.stack.indexOf("/math/es5/")&&(EditorUi.lastErrorMessage=d,(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity="+y+"&v="+encodeURIComponent(EditorUi.VERSION)+"&msg=clientError:"+encodeURIComponent(d)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(m)+(null!=t?":colno:"+encodeURIComponent(t):"")+(""!=v.stack?"&stack="+encodeURIComponent(v.stack):""))}catch(J){}try{B||null==window.console||console.error(y,d,g,m,t,v)}catch(J){}}};EditorUi.logEvent= +0>v.stack.indexOf("/math/es5/")&&(EditorUi.lastErrorMessage=d,(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity="+y+"&v="+encodeURIComponent(EditorUi.VERSION)+"&msg=clientError:"+encodeURIComponent(d)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(m)+(null!=t?":colno:"+encodeURIComponent(t):"")+(""!=v.stack?"&stack="+encodeURIComponent(v.stack):""))}catch(I){}try{B||null==window.console||console.error(y,d,g,m,t,v)}catch(I){}}};EditorUi.logEvent= function(d){if("1"==urlParams.dev)EditorUi.debug("logEvent",d);else if(EditorUi.enableLogging)try{var g=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"";(new Image).src=g+"/images/1x1.png?v="+encodeURIComponent(EditorUi.VERSION)+(null!=d?"&data="+encodeURIComponent(JSON.stringify(d)):"")}catch(m){}};EditorUi.sendReport=function(d,g){if("1"==urlParams.dev)EditorUi.debug("sendReport",d);else if(EditorUi.enableLogging)try{g=null!=g?g:5E4,d.length>g&&(d=d.substring(0,g)+"\n...[SHORTENED]"),mxUtils.post("/email", "version="+encodeURIComponent(EditorUi.VERSION)+"&url="+encodeURIComponent(window.location.href)+"&data="+encodeURIComponent(d))}catch(m){}};EditorUi.debug=function(){try{if(null!=window.console&&"1"==urlParams.test){for(var d=[(new Date).toISOString()],g=0;gm&&(g=d.substring(m,t+15).replace(/>/g,">").replace(/</g,"<").replace(/\\"/g,'"').replace(/\n/g,""))}else{var v=mxUtils.parseXml(d),y=this.editor.extractGraphModel(v.documentElement,null!=this.pages||"hidden"==this.diagramContainer.style.visibility);g=null!=y?mxUtils.getXml(y):""}}catch(B){}return g};EditorUi.prototype.validateFileData=function(d){if(null!=d&&0');0<=g&&(d=d.slice(0,g)+''+ d.slice(g+23-1,d.length));d=Graph.zapGremlins(d)}return d};EditorUi.prototype.replaceFileData=function(d,g){EditorUi.debug("EditorUi.replaceFileData",[this],"data",[d],"patches",g);d=this.validateFileData(d);d=null!=d&&0\n':">")+"\n\n"+(null==v?null!=m? -""+mxUtils.htmlEntities(m)+"\n":"":"draw.io\n")+(null!=v?'\n":"")+"\n':">")+'\n
\n
'+t+"
\n
\n"+(null==v?'