7.7.5 release

This commit is contained in:
Gaudenz Alder 2017-11-24 21:03:22 +01:00
parent 0128d5e46f
commit aa2632cd99
9 changed files with 124 additions and 60 deletions

View file

@ -1,3 +1,8 @@
24-NOV-2017: 7.7.5
- Even faster startup time for offline app
- Fixes cache manifest for offline app
24-NOV-2017: 7.7.4
- Uses mxGraph 3.7.6

View file

@ -1 +1 @@
7.7.4
7.7.5

View file

@ -1,7 +1,7 @@
CACHE MANIFEST
# THIS FILE WAS GENERATED. DO NOT MODIFY!
# 11/24/2017 05:56 PM
# 11/24/2017 08:53 PM
app.html
index.html?offline=1
@ -16,7 +16,6 @@ styles/atlas.css
search.xml
favicon.ico
mxgraph/css/common.css
js/jscolor/jscolor.js
mxgraph/images/maximize.gif
mxgraph/images/minimize.gif
mxgraph/images/close.gif
@ -53,9 +52,9 @@ images/glyphicons_google.png
images/glyphicons_facebook.png
images/glyphicons_twitter.png
images/glyphicons_github.png
js/jscolor/arrow.gif
js/jscolor/hs.png
js/jscolor/cross.gif
images/arrow.gif
images/hs.png
images/cross.gif
img/clipart/Battery_0_128x128.png
img/clipart/Battery_100_128x128.png
img/clipart/Battery_50_128x128.png

22
war/js/app.min.js vendored
View file

@ -3171,16 +3171,16 @@ id:"mockups",image:IMAGE_PATH+"/sidebar-mockups.png"},{title:mxResources.get("um
id:"cisco",image:IMAGE_PATH+"/sidebar-cisco.png"},{title:"Citrix",id:"citrix",image:IMAGE_PATH+"/sidebar-citrix.png"},{title:"Google Cloud Platform",id:"gcp",image:IMAGE_PATH+"/sidebar-gcp.png"},{title:"IBM",id:"ibm",image:IMAGE_PATH+"/sidebar-ibm.png"},{title:"Network",id:"network",image:IMAGE_PATH+"/sidebar-network.png"},{title:"Office",id:"office",image:IMAGE_PATH+"/sidebar-office.png"},{title:mxResources.get("rack"),id:"rack",image:IMAGE_PATH+"/sidebar-rack.png"},{title:"Veeam",id:"veeam",image:IMAGE_PATH+
"/sidebar-veeam.png"}]},{title:mxResources.get("business"),entries:[{title:"ArchiMate 3.0",id:"archimate3",image:IMAGE_PATH+"/sidebar-archimate3.png"},{title:mxResources.get("archiMate21"),id:"archimate",image:IMAGE_PATH+"/sidebar-archimate.png"},{title:mxResources.get("bpmn"),id:"bpmn",image:IMAGE_PATH+"/sidebar-bpmn.png"},{title:mxResources.get("leanMapping"),id:"lean_mapping",image:IMAGE_PATH+"/sidebar-leanmapping.png"},{title:mxResources.get("sysml"),id:"sysml",image:IMAGE_PATH+"/sidebar-sysml.png"}]},
{title:mxResources.get("other"),entries:[{title:mxResources.get("cabinets"),id:"cabinets",image:IMAGE_PATH+"/sidebar-cabinets.png"},{title:mxResources.get("eip"),id:"eip",image:IMAGE_PATH+"/sidebar-eip.png"},{title:mxResources.get("electrical"),id:"electrical",image:IMAGE_PATH+"/sidebar-electrical.png"},{title:mxResources.get("floorplans"),id:"floorplan",image:IMAGE_PATH+"/sidebar-floorplans.png"},{title:mxResources.get("gmdl"),id:"gmdl",image:IMAGE_PATH+"/sidebar-gmdl.png"},{title:mxResources.get("procEng"),
id:"pid",image:IMAGE_PATH+"/sidebar-pid.png"},{title:"Web Icons",id:"webicons",image:IMAGE_PATH+"/sidebar-webIcons.png"},{title:mxResources.get("signs"),id:"signs",image:IMAGE_PATH+"/sidebar-signs.png"}]}];this.addStencilsToIndex=this.editorUi.isOffline();this.shapetags={};if(null!=this.tagIndex)for(var b=this.editorUi.editor.graph.decompress(this.tagIndex).split("\n"),a=0;a<b.length;a++)if(null!=b[a]){var c=b[a].split("\t");if(1<c.length){var e=c[0].toLowerCase().replace(" ","_"),c=mxUtils.trim(c.slice(1,
c.length).join(" ").toLowerCase());0<c.length&&(this.shapetags[e]=c)}}this.initPalettes();this.editorUi.isOffline()||mxUtils.get(this.searchFileUrl,mxUtils.bind(this,function(b){b=b.getDocumentElement();if(null!=b){b=b.getElementsByTagName("shape");for(var a=0;a<b.length;a++){var c=b[a].getAttribute("style"),e=this.extractShapeStyle(c);if(null!=c&&null!=e){var d=e.lastIndexOf(".");if(0<d){var h=e.substring(0,d),e=e.substring(d+1,e.length),d=this.getTagsForStencil(h,e,b[a].getAttribute("tags"));if(null!=
d){var f=c.indexOf(";"),c="shape="+h+"."+e.toLowerCase()+";"+(0>f?"":c.substring(f+1));this.createVertexTemplateEntry(c,parseInt(b[a].getAttribute("w")),parseInt(b[a].getAttribute("h")),"",e.replace(/_/g," "),null,null,this.filterTags(d.join(" ")))}}}}}}))};"1"==urlParams.savesidebar&&(Sidebar.prototype.addFoldingHandler=function(b,a,c){var e=!1;if(!mxClient.IS_IE||8<=document.documentMode)b.style.backgroundImage="none"==a.style.display?"url('"+this.collapsedImage+"')":"url('"+this.expandedImage+
"')";b.style.backgroundRepeat="no-repeat";b.style.backgroundPosition="0% 50%";var d=document.createElement("button");d.style.marginLeft="4px";mxUtils.write(d,"Save");mxEvent.addListener(b,"click",mxUtils.bind(this,function(h){if("BUTTON"==mxEvent.getSource(h).nodeName){var f=b.cloneNode(!0);f.style.backgroundImage="";f.style.textDecoration="none";f.style.fontWeight="bold";f.style.fontSize="14px";f.style.color="rgb(80, 80, 80)";f.style.width="456px";f.style.backgroundColor="#ffffff";f.style.paddingLeft=
"6px";h=f.getElementsByTagName("button")[0];h.parentNode.removeChild(h);h=a.cloneNode(!0);h.style.backgroundColor="#ffffff";h.style.borderColor="transparent";h.style.width="456px";f='<!DOCTYPE html><html><head><link rel="stylesheet" type="text/css" href="https://www.draw.io/styles/grapheditor.css"></head><body style="background:#ffffff;font-family:Helvetica,Arial;">'+f.outerHTML+h.outerHTML+"</body></html>";h.style.position="absolute";window.document.body.appendChild(h);var g=h.clientHeight+18;h.parentNode.removeChild(h);
(new mxXmlRequest(EXPORT_URL,"w=456&h="+g+"&html="+encodeURIComponent(this.editorUi.editor.graph.compress(f)))).simulate(document,"_blank")}else{if("none"==a.style.display){if(e)b.appendChild(d);else if(e=!0,null!=c){null!=d.parentNode&&d.parentNode.removeChild(d);b.style.cursor="wait";var k=b.innerHTML;b.innerHTML=mxResources.get("loading")+"...";window.setTimeout(function(){c(a);b.style.cursor="";b.innerHTML=k;b.appendChild(d)},0)}else b.appendChild(d);b.style.backgroundImage="url('"+this.expandedImage+
"')";a.style.display="block"}else b.style.backgroundImage="url('"+this.collapsedImage+"')",a.style.display="none",null!=d.parentNode&&d.parentNode.removeChild(d);mxEvent.consume(h)}}))});Sidebar.prototype.extractShapeStyle=function(b){if(null!=b&&"shape="==b.substring(0,6)){var a=b.indexOf(";");0>a&&(a=b.length);return b.substring(6,a)}return null};var e=Sidebar.prototype.getTagsForStencil;Sidebar.prototype.getTagsForStencil=function(b,a,c){var d=e.apply(this,arguments);null!=this.shapetags&&(b=b.toLowerCase(),
a=a.toLowerCase(),null!=this.shapetags[b]&&d.push(this.shapetags[b]),a=b+"."+a,null!=this.shapetags[a]&&d.push(this.shapetags[a]));return d};Sidebar.prototype.initPalettes=function(){var b=GRAPH_IMAGE_PATH,a=STENCIL_PATH,c=this.signs,e=this.gcp,d=this.rack,l=this.pids,r=this.cisco,n=this.sysml,p=this.eip,q=this.gmdl;"1"==urlParams.createindex&&(mxLog.show(),mxLog.textarea.value="");this.addSearchPalette(!0);this.addGeneralPalette(!0);this.addMiscPalette(!1);this.addAdvancedPalette(!1);this.addUmlPalette(!1);
this.addErPalette();this.addBasicPalette();this.addFlowchartPalette();this.addNetworkPalette();this.addAzurePalette();this.addCitrixPalette();this.addMSCAEPalette();this.addBpmnPalette(a,!1);this.addAWS3Palette();this.addAWS3DPalette();this.addLeanMappingPalette();this.addIos7Palette();this.addIosPalette();this.addAndroidPalette();this.addMockupPalette();this.addElectricalPalette();this.addOfficePalette();this.addVeeamPalette();this.addIBMPalette();this.addStencilPalette("arrows",mxResources.get("arrows"),
a+"/arrows.xml",";html=1;"+mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;"+mxConstants.STYLE_STROKEWIDTH+"=2;strokeColor=#000000;");this.addArrows2Palette();this.addImagePalette("computer","Clipart / Computer",b+"/lib/clip_art/computers/","_128x128.png","Antivirus Data_Filtering Database Database_Add Database_Minus Database_Move_Stack Database_Remove Fujitsu_Tablet Harddrive IBM_Tablet iMac iPad Laptop MacBook Mainframe Monitor Monitor_Tower Monitor_Tower_Behind Netbook Network Network_2 Printer Printer_Commercial Secure_System Server Server_Rack Server_Rack_Empty Server_Rack_Partial Server_Tower Software Stylus Touch USB_Hub Virtual_Application Virtual_Machine Virus Workstation".split(" "),
id:"pid",image:IMAGE_PATH+"/sidebar-pid.png"},{title:"Web Icons",id:"webicons",image:IMAGE_PATH+"/sidebar-webIcons.png"},{title:mxResources.get("signs"),id:"signs",image:IMAGE_PATH+"/sidebar-signs.png"}]}];this.addStencilsToIndex=!1;this.shapetags={};if(null!=this.tagIndex)for(var b=this.editorUi.editor.graph.decompress(this.tagIndex).split("\n"),a=0;a<b.length;a++)if(null!=b[a]){var c=b[a].split("\t");if(1<c.length){var e=c[0].toLowerCase().replace(" ","_"),c=mxUtils.trim(c.slice(1,c.length).join(" ").toLowerCase());
0<c.length&&(this.shapetags[e]=c)}}this.initPalettes();mxUtils.get(this.searchFileUrl,mxUtils.bind(this,function(b){b=b.getDocumentElement();if(null!=b){b=b.getElementsByTagName("shape");for(var a=0;a<b.length;a++){var c=b[a].getAttribute("style"),e=this.extractShapeStyle(c);if(null!=c&&null!=e){var d=e.lastIndexOf(".");if(0<d){var h=e.substring(0,d),e=e.substring(d+1,e.length),d=this.getTagsForStencil(h,e,b[a].getAttribute("tags"));if(null!=d){var f=c.indexOf(";"),c="shape="+h+"."+e.toLowerCase()+
";"+(0>f?"":c.substring(f+1));this.createVertexTemplateEntry(c,parseInt(b[a].getAttribute("w")),parseInt(b[a].getAttribute("h")),"",e.replace(/_/g," "),null,null,this.filterTags(d.join(" ")))}}}}}}))};"1"==urlParams.savesidebar&&(Sidebar.prototype.addFoldingHandler=function(b,a,c){var e=!1;if(!mxClient.IS_IE||8<=document.documentMode)b.style.backgroundImage="none"==a.style.display?"url('"+this.collapsedImage+"')":"url('"+this.expandedImage+"')";b.style.backgroundRepeat="no-repeat";b.style.backgroundPosition=
"0% 50%";var d=document.createElement("button");d.style.marginLeft="4px";mxUtils.write(d,"Save");mxEvent.addListener(b,"click",mxUtils.bind(this,function(h){if("BUTTON"==mxEvent.getSource(h).nodeName){var f=b.cloneNode(!0);f.style.backgroundImage="";f.style.textDecoration="none";f.style.fontWeight="bold";f.style.fontSize="14px";f.style.color="rgb(80, 80, 80)";f.style.width="456px";f.style.backgroundColor="#ffffff";f.style.paddingLeft="6px";h=f.getElementsByTagName("button")[0];h.parentNode.removeChild(h);
h=a.cloneNode(!0);h.style.backgroundColor="#ffffff";h.style.borderColor="transparent";h.style.width="456px";f='<!DOCTYPE html><html><head><link rel="stylesheet" type="text/css" href="https://www.draw.io/styles/grapheditor.css"></head><body style="background:#ffffff;font-family:Helvetica,Arial;">'+f.outerHTML+h.outerHTML+"</body></html>";h.style.position="absolute";window.document.body.appendChild(h);var g=h.clientHeight+18;h.parentNode.removeChild(h);(new mxXmlRequest(EXPORT_URL,"w=456&h="+g+"&html="+
encodeURIComponent(this.editorUi.editor.graph.compress(f)))).simulate(document,"_blank")}else{if("none"==a.style.display){if(e)b.appendChild(d);else if(e=!0,null!=c){null!=d.parentNode&&d.parentNode.removeChild(d);b.style.cursor="wait";var k=b.innerHTML;b.innerHTML=mxResources.get("loading")+"...";window.setTimeout(function(){c(a);b.style.cursor="";b.innerHTML=k;b.appendChild(d)},0)}else b.appendChild(d);b.style.backgroundImage="url('"+this.expandedImage+"')";a.style.display="block"}else b.style.backgroundImage=
"url('"+this.collapsedImage+"')",a.style.display="none",null!=d.parentNode&&d.parentNode.removeChild(d);mxEvent.consume(h)}}))});Sidebar.prototype.extractShapeStyle=function(b){if(null!=b&&"shape="==b.substring(0,6)){var a=b.indexOf(";");0>a&&(a=b.length);return b.substring(6,a)}return null};var e=Sidebar.prototype.getTagsForStencil;Sidebar.prototype.getTagsForStencil=function(b,a,c){var d=e.apply(this,arguments);null!=this.shapetags&&(b=b.toLowerCase(),a=a.toLowerCase(),null!=this.shapetags[b]&&
d.push(this.shapetags[b]),a=b+"."+a,null!=this.shapetags[a]&&d.push(this.shapetags[a]));return d};Sidebar.prototype.initPalettes=function(){var b=GRAPH_IMAGE_PATH,a=STENCIL_PATH,c=this.signs,e=this.gcp,d=this.rack,l=this.pids,r=this.cisco,n=this.sysml,p=this.eip,q=this.gmdl;"1"==urlParams.createindex&&(mxLog.show(),mxLog.textarea.value="");this.addSearchPalette(!0);this.addGeneralPalette(!0);this.addMiscPalette(!1);this.addAdvancedPalette(!1);this.addUmlPalette(!1);this.addErPalette();this.addBasicPalette();
this.addFlowchartPalette();this.addNetworkPalette();this.addAzurePalette();this.addCitrixPalette();this.addMSCAEPalette();this.addBpmnPalette(a,!1);this.addAWS3Palette();this.addAWS3DPalette();this.addLeanMappingPalette();this.addIos7Palette();this.addIosPalette();this.addAndroidPalette();this.addMockupPalette();this.addElectricalPalette();this.addOfficePalette();this.addVeeamPalette();this.addIBMPalette();this.addStencilPalette("arrows",mxResources.get("arrows"),a+"/arrows.xml",";html=1;"+mxConstants.STYLE_VERTICAL_LABEL_POSITION+
"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;"+mxConstants.STYLE_STROKEWIDTH+"=2;strokeColor=#000000;");this.addArrows2Palette();this.addImagePalette("computer","Clipart / Computer",b+"/lib/clip_art/computers/","_128x128.png","Antivirus Data_Filtering Database Database_Add Database_Minus Database_Move_Stack Database_Remove Fujitsu_Tablet Harddrive IBM_Tablet iMac iPad Laptop MacBook Mainframe Monitor Monitor_Tower Monitor_Tower_Behind Netbook Network Network_2 Printer Printer_Commercial Secure_System Server Server_Rack Server_Rack_Empty Server_Rack_Partial Server_Tower Software Stylus Touch USB_Hub Virtual_Application Virtual_Machine Virus Workstation".split(" "),
"Antivirus;Data Filtering;Database;Database Add;Database Minus;Database Move Stack;Database Remove;Fujitsu Tablet;Harddrive;IBMTablet;iMac;iPad;Laptop;MacBook;Mainframe;Monitor;Monitor Tower;Monitor Tower Behind;Netbook;Network;Network 2;Printer;Printer Commercial;Secure System;Server;Server Rack;Server Rack Empty;Server Rack Partial;Server Tower;Software;Stylus;Touch;USB Hub;Virtual Application;Virtual Machine;Virus;Workstation".split(";"));this.addImagePalette("finance","Clipart / Finance",b+"/lib/clip_art/finance/",
"_128x128.png","Arrow_Down Arrow_Up Coins Credit_Card Dollar Graph Pie_Chart Piggy_Bank Safe Shopping_Cart Stock_Down Stock_Up".split(" "),"Arrow_Down;Arrow Up;Coins;Credit Card;Dollar;Graph;Pie Chart;Piggy Bank;Safe;Shopping Basket;Stock Down;Stock Up".split(";"));this.addImagePalette("clipart","Clipart / Various",b+"/lib/clip_art/general/","_128x128.png","Battery_0 Battery_100 Battery_50 Battery_75 Battery_allstates Bluetooth Earth_globe Empty_Folder Full_Folder Gear Keys Lock Mouse_Pointer Plug Ships_Wheel Star Tire".split(" "),
"Battery 0%;Battery 100%;Battery 50%;Battery 75%;Battery;Bluetooth;Globe;Empty Folder;Full Folder;Gear;Keys;Lock;Mousepointer;Plug;Ships Wheel;Star;Tire".split(";"));this.addImagePalette("networking","Clipart / Networking",b+"/lib/clip_art/networking/","_128x128.png","Bridge Certificate Certificate_Off Cloud Cloud_Computer Cloud_Computer_Private Cloud_Rack Cloud_Rack_Private Cloud_Server Cloud_Server_Private Cloud_Storage Concentrator Email Firewall_02 Firewall Firewall-page1 Ip_Camera Modem power_distribution_unit Print_Server Print_Server_Wireless Repeater Router Router_Icon Switch UPS Wireless_Router Wireless_Router_N".split(" "),
@ -6487,7 +6487,7 @@ Q=M.cloneNode(!0),Y=M.cloneNode(!0);M.style.textAlign="right";X.style.textAlign=
mxEvent.addListener(R,"focus",function(){O.checked=!0});mxEvent.addListener(V,"focus",function(){O.checked=!0});m=document.createElement("span");mxUtils.write(m,mxResources.get("fitToSheetsDown"));Y.appendChild(m);P.appendChild(M);P.appendChild(W);P.appendChild(K);N.appendChild(X);N.appendChild(Q);N.appendChild(Y);L.appendChild(P);L.appendChild(N);q.appendChild(L);h.appendChild(q);k.appendChild(h);h=document.createElement("div");m=document.createElement("div");m.style.fontWeight="bold";m.style.marginBottom=
"12px";mxUtils.write(m,mxResources.get("paperSize"));h.appendChild(m);m=document.createElement("div");m.style.marginBottom="12px";var T=PageSetupDialog.addPageFormatPanel(m,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);h.appendChild(m);m=document.createElement("span");mxUtils.write(m,mxResources.get("pageScale"));h.appendChild(m);var S=document.createElement("input");S.style.cssText="margin:0 8px 0 8px;";S.setAttribute("value","100 %");S.style.width="60px";h.appendChild(S);
k.appendChild(h);m=document.createElement("div");m.style.cssText="text-align:right;margin:62px 0 0 0;";h=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});h.className="geBtn";a.editor.cancelFirst&&m.appendChild(h);a.isOffline()||(q=mxUtils.button(mxResources.get("help"),function(){window.open("https://desk.draw.io/support/solutions/articles/16000048947")}),q.className="geBtn",m.appendChild(q));PrintDialog.previewEnabled&&(q=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();
d(!1)}),q.className="geBtn",m.appendChild(q));q=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();d(!0)});q.className="geBtn gePrimaryBtn";m.appendChild(q);a.editor.cancelFirst||m.appendChild(h);k.appendChild(m);this.container=k}})();(function(){EditorUi.VERSION="7.7.4";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>';EditorUi.prototype.emptyLibraryXml="<mxlibrary>[]</mxlibrary>";
d(!1)}),q.className="geBtn",m.appendChild(q));q=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();d(!0)});q.className="geBtn gePrimaryBtn";m.appendChild(q);a.editor.cancelFirst||m.appendChild(h);k.appendChild(m);this.container=k}})();(function(){EditorUi.VERSION="7.7.5";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>';EditorUi.prototype.emptyLibraryXml="<mxlibrary>[]</mxlibrary>";
EditorUi.prototype.mode=null;EditorUi.prototype.sidebarFooterHeight=36;EditorUi.prototype.defaultCustomShapeStyle="shape=stencil(tZRtTsQgEEBPw1+DJR7AoN6DbWftpAgE0Ortd/jYRGq72R+YNE2YgTePloEJGWblgA18ZuKFDcMj5/Sm8boZq+BgjCX4pTyqk6ZlKROitwusOMXKQDODx5iy4pXxZ5qTHiFHawxB0JrQZH7lCabQ0Fr+XWC1/E8zcsT/gAi+Subo2/3Mh6d/oJb5nU1b5tW7r2knautaa3T+U32o7f7vZwpJkaNDLORJjcu7t59m2jXxqX9un+tt022acsfmoKaQZ+vhhswZtS6Ne/ThQGt0IV0N3Yyv6P3CeT9/tHO0XFI5cAE=);whiteSpace=wrap;html=1;";EditorUi.prototype.maxBackgroundSize=1600;
EditorUi.prototype.maxImageSize=520;EditorUi.prototype.resampleThreshold=1E5;EditorUi.prototype.maxImageBytes=1E6;EditorUi.prototype.maxBackgroundBytes=25E5;EditorUi.prototype.currentFile=null;EditorUi.prototype.printPdfExport=!1;EditorUi.prototype.pdfPageExport=!0;EditorUi.prototype.formatEnabled="0"!=urlParams.format;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var a=document.createElement("canvas"),b=new Image;b.onload=function(){try{a.getContext("2d").drawImage(b,
0,0);var c=a.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=null!=c&&6<c.length}catch(t){}};b.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(p){}try{a=document.createElement("canvas");a.width=a.height=1;var c=

22
war/js/atlas.min.js vendored
View file

@ -3171,16 +3171,16 @@ id:"mockups",image:IMAGE_PATH+"/sidebar-mockups.png"},{title:mxResources.get("um
id:"cisco",image:IMAGE_PATH+"/sidebar-cisco.png"},{title:"Citrix",id:"citrix",image:IMAGE_PATH+"/sidebar-citrix.png"},{title:"Google Cloud Platform",id:"gcp",image:IMAGE_PATH+"/sidebar-gcp.png"},{title:"IBM",id:"ibm",image:IMAGE_PATH+"/sidebar-ibm.png"},{title:"Network",id:"network",image:IMAGE_PATH+"/sidebar-network.png"},{title:"Office",id:"office",image:IMAGE_PATH+"/sidebar-office.png"},{title:mxResources.get("rack"),id:"rack",image:IMAGE_PATH+"/sidebar-rack.png"},{title:"Veeam",id:"veeam",image:IMAGE_PATH+
"/sidebar-veeam.png"}]},{title:mxResources.get("business"),entries:[{title:"ArchiMate 3.0",id:"archimate3",image:IMAGE_PATH+"/sidebar-archimate3.png"},{title:mxResources.get("archiMate21"),id:"archimate",image:IMAGE_PATH+"/sidebar-archimate.png"},{title:mxResources.get("bpmn"),id:"bpmn",image:IMAGE_PATH+"/sidebar-bpmn.png"},{title:mxResources.get("leanMapping"),id:"lean_mapping",image:IMAGE_PATH+"/sidebar-leanmapping.png"},{title:mxResources.get("sysml"),id:"sysml",image:IMAGE_PATH+"/sidebar-sysml.png"}]},
{title:mxResources.get("other"),entries:[{title:mxResources.get("cabinets"),id:"cabinets",image:IMAGE_PATH+"/sidebar-cabinets.png"},{title:mxResources.get("eip"),id:"eip",image:IMAGE_PATH+"/sidebar-eip.png"},{title:mxResources.get("electrical"),id:"electrical",image:IMAGE_PATH+"/sidebar-electrical.png"},{title:mxResources.get("floorplans"),id:"floorplan",image:IMAGE_PATH+"/sidebar-floorplans.png"},{title:mxResources.get("gmdl"),id:"gmdl",image:IMAGE_PATH+"/sidebar-gmdl.png"},{title:mxResources.get("procEng"),
id:"pid",image:IMAGE_PATH+"/sidebar-pid.png"},{title:"Web Icons",id:"webicons",image:IMAGE_PATH+"/sidebar-webIcons.png"},{title:mxResources.get("signs"),id:"signs",image:IMAGE_PATH+"/sidebar-signs.png"}]}];this.addStencilsToIndex=this.editorUi.isOffline();this.shapetags={};if(null!=this.tagIndex)for(var b=this.editorUi.editor.graph.decompress(this.tagIndex).split("\n"),a=0;a<b.length;a++)if(null!=b[a]){var c=b[a].split("\t");if(1<c.length){var e=c[0].toLowerCase().replace(" ","_"),c=mxUtils.trim(c.slice(1,
c.length).join(" ").toLowerCase());0<c.length&&(this.shapetags[e]=c)}}this.initPalettes();this.editorUi.isOffline()||mxUtils.get(this.searchFileUrl,mxUtils.bind(this,function(b){b=b.getDocumentElement();if(null!=b){b=b.getElementsByTagName("shape");for(var a=0;a<b.length;a++){var c=b[a].getAttribute("style"),e=this.extractShapeStyle(c);if(null!=c&&null!=e){var d=e.lastIndexOf(".");if(0<d){var h=e.substring(0,d),e=e.substring(d+1,e.length),d=this.getTagsForStencil(h,e,b[a].getAttribute("tags"));if(null!=
d){var f=c.indexOf(";"),c="shape="+h+"."+e.toLowerCase()+";"+(0>f?"":c.substring(f+1));this.createVertexTemplateEntry(c,parseInt(b[a].getAttribute("w")),parseInt(b[a].getAttribute("h")),"",e.replace(/_/g," "),null,null,this.filterTags(d.join(" ")))}}}}}}))};"1"==urlParams.savesidebar&&(Sidebar.prototype.addFoldingHandler=function(b,a,c){var e=!1;if(!mxClient.IS_IE||8<=document.documentMode)b.style.backgroundImage="none"==a.style.display?"url('"+this.collapsedImage+"')":"url('"+this.expandedImage+
"')";b.style.backgroundRepeat="no-repeat";b.style.backgroundPosition="0% 50%";var d=document.createElement("button");d.style.marginLeft="4px";mxUtils.write(d,"Save");mxEvent.addListener(b,"click",mxUtils.bind(this,function(h){if("BUTTON"==mxEvent.getSource(h).nodeName){var f=b.cloneNode(!0);f.style.backgroundImage="";f.style.textDecoration="none";f.style.fontWeight="bold";f.style.fontSize="14px";f.style.color="rgb(80, 80, 80)";f.style.width="456px";f.style.backgroundColor="#ffffff";f.style.paddingLeft=
"6px";h=f.getElementsByTagName("button")[0];h.parentNode.removeChild(h);h=a.cloneNode(!0);h.style.backgroundColor="#ffffff";h.style.borderColor="transparent";h.style.width="456px";f='<!DOCTYPE html><html><head><link rel="stylesheet" type="text/css" href="https://www.draw.io/styles/grapheditor.css"></head><body style="background:#ffffff;font-family:Helvetica,Arial;">'+f.outerHTML+h.outerHTML+"</body></html>";h.style.position="absolute";window.document.body.appendChild(h);var g=h.clientHeight+18;h.parentNode.removeChild(h);
(new mxXmlRequest(EXPORT_URL,"w=456&h="+g+"&html="+encodeURIComponent(this.editorUi.editor.graph.compress(f)))).simulate(document,"_blank")}else{if("none"==a.style.display){if(e)b.appendChild(d);else if(e=!0,null!=c){null!=d.parentNode&&d.parentNode.removeChild(d);b.style.cursor="wait";var k=b.innerHTML;b.innerHTML=mxResources.get("loading")+"...";window.setTimeout(function(){c(a);b.style.cursor="";b.innerHTML=k;b.appendChild(d)},0)}else b.appendChild(d);b.style.backgroundImage="url('"+this.expandedImage+
"')";a.style.display="block"}else b.style.backgroundImage="url('"+this.collapsedImage+"')",a.style.display="none",null!=d.parentNode&&d.parentNode.removeChild(d);mxEvent.consume(h)}}))});Sidebar.prototype.extractShapeStyle=function(b){if(null!=b&&"shape="==b.substring(0,6)){var a=b.indexOf(";");0>a&&(a=b.length);return b.substring(6,a)}return null};var e=Sidebar.prototype.getTagsForStencil;Sidebar.prototype.getTagsForStencil=function(b,a,c){var d=e.apply(this,arguments);null!=this.shapetags&&(b=b.toLowerCase(),
a=a.toLowerCase(),null!=this.shapetags[b]&&d.push(this.shapetags[b]),a=b+"."+a,null!=this.shapetags[a]&&d.push(this.shapetags[a]));return d};Sidebar.prototype.initPalettes=function(){var b=GRAPH_IMAGE_PATH,a=STENCIL_PATH,c=this.signs,e=this.gcp,d=this.rack,l=this.pids,r=this.cisco,n=this.sysml,p=this.eip,q=this.gmdl;"1"==urlParams.createindex&&(mxLog.show(),mxLog.textarea.value="");this.addSearchPalette(!0);this.addGeneralPalette(!0);this.addMiscPalette(!1);this.addAdvancedPalette(!1);this.addUmlPalette(!1);
this.addErPalette();this.addBasicPalette();this.addFlowchartPalette();this.addNetworkPalette();this.addAzurePalette();this.addCitrixPalette();this.addMSCAEPalette();this.addBpmnPalette(a,!1);this.addAWS3Palette();this.addAWS3DPalette();this.addLeanMappingPalette();this.addIos7Palette();this.addIosPalette();this.addAndroidPalette();this.addMockupPalette();this.addElectricalPalette();this.addOfficePalette();this.addVeeamPalette();this.addIBMPalette();this.addStencilPalette("arrows",mxResources.get("arrows"),
a+"/arrows.xml",";html=1;"+mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;"+mxConstants.STYLE_STROKEWIDTH+"=2;strokeColor=#000000;");this.addArrows2Palette();this.addImagePalette("computer","Clipart / Computer",b+"/lib/clip_art/computers/","_128x128.png","Antivirus Data_Filtering Database Database_Add Database_Minus Database_Move_Stack Database_Remove Fujitsu_Tablet Harddrive IBM_Tablet iMac iPad Laptop MacBook Mainframe Monitor Monitor_Tower Monitor_Tower_Behind Netbook Network Network_2 Printer Printer_Commercial Secure_System Server Server_Rack Server_Rack_Empty Server_Rack_Partial Server_Tower Software Stylus Touch USB_Hub Virtual_Application Virtual_Machine Virus Workstation".split(" "),
id:"pid",image:IMAGE_PATH+"/sidebar-pid.png"},{title:"Web Icons",id:"webicons",image:IMAGE_PATH+"/sidebar-webIcons.png"},{title:mxResources.get("signs"),id:"signs",image:IMAGE_PATH+"/sidebar-signs.png"}]}];this.addStencilsToIndex=!1;this.shapetags={};if(null!=this.tagIndex)for(var b=this.editorUi.editor.graph.decompress(this.tagIndex).split("\n"),a=0;a<b.length;a++)if(null!=b[a]){var c=b[a].split("\t");if(1<c.length){var e=c[0].toLowerCase().replace(" ","_"),c=mxUtils.trim(c.slice(1,c.length).join(" ").toLowerCase());
0<c.length&&(this.shapetags[e]=c)}}this.initPalettes();mxUtils.get(this.searchFileUrl,mxUtils.bind(this,function(b){b=b.getDocumentElement();if(null!=b){b=b.getElementsByTagName("shape");for(var a=0;a<b.length;a++){var c=b[a].getAttribute("style"),e=this.extractShapeStyle(c);if(null!=c&&null!=e){var d=e.lastIndexOf(".");if(0<d){var h=e.substring(0,d),e=e.substring(d+1,e.length),d=this.getTagsForStencil(h,e,b[a].getAttribute("tags"));if(null!=d){var f=c.indexOf(";"),c="shape="+h+"."+e.toLowerCase()+
";"+(0>f?"":c.substring(f+1));this.createVertexTemplateEntry(c,parseInt(b[a].getAttribute("w")),parseInt(b[a].getAttribute("h")),"",e.replace(/_/g," "),null,null,this.filterTags(d.join(" ")))}}}}}}))};"1"==urlParams.savesidebar&&(Sidebar.prototype.addFoldingHandler=function(b,a,c){var e=!1;if(!mxClient.IS_IE||8<=document.documentMode)b.style.backgroundImage="none"==a.style.display?"url('"+this.collapsedImage+"')":"url('"+this.expandedImage+"')";b.style.backgroundRepeat="no-repeat";b.style.backgroundPosition=
"0% 50%";var d=document.createElement("button");d.style.marginLeft="4px";mxUtils.write(d,"Save");mxEvent.addListener(b,"click",mxUtils.bind(this,function(h){if("BUTTON"==mxEvent.getSource(h).nodeName){var f=b.cloneNode(!0);f.style.backgroundImage="";f.style.textDecoration="none";f.style.fontWeight="bold";f.style.fontSize="14px";f.style.color="rgb(80, 80, 80)";f.style.width="456px";f.style.backgroundColor="#ffffff";f.style.paddingLeft="6px";h=f.getElementsByTagName("button")[0];h.parentNode.removeChild(h);
h=a.cloneNode(!0);h.style.backgroundColor="#ffffff";h.style.borderColor="transparent";h.style.width="456px";f='<!DOCTYPE html><html><head><link rel="stylesheet" type="text/css" href="https://www.draw.io/styles/grapheditor.css"></head><body style="background:#ffffff;font-family:Helvetica,Arial;">'+f.outerHTML+h.outerHTML+"</body></html>";h.style.position="absolute";window.document.body.appendChild(h);var g=h.clientHeight+18;h.parentNode.removeChild(h);(new mxXmlRequest(EXPORT_URL,"w=456&h="+g+"&html="+
encodeURIComponent(this.editorUi.editor.graph.compress(f)))).simulate(document,"_blank")}else{if("none"==a.style.display){if(e)b.appendChild(d);else if(e=!0,null!=c){null!=d.parentNode&&d.parentNode.removeChild(d);b.style.cursor="wait";var k=b.innerHTML;b.innerHTML=mxResources.get("loading")+"...";window.setTimeout(function(){c(a);b.style.cursor="";b.innerHTML=k;b.appendChild(d)},0)}else b.appendChild(d);b.style.backgroundImage="url('"+this.expandedImage+"')";a.style.display="block"}else b.style.backgroundImage=
"url('"+this.collapsedImage+"')",a.style.display="none",null!=d.parentNode&&d.parentNode.removeChild(d);mxEvent.consume(h)}}))});Sidebar.prototype.extractShapeStyle=function(b){if(null!=b&&"shape="==b.substring(0,6)){var a=b.indexOf(";");0>a&&(a=b.length);return b.substring(6,a)}return null};var e=Sidebar.prototype.getTagsForStencil;Sidebar.prototype.getTagsForStencil=function(b,a,c){var d=e.apply(this,arguments);null!=this.shapetags&&(b=b.toLowerCase(),a=a.toLowerCase(),null!=this.shapetags[b]&&
d.push(this.shapetags[b]),a=b+"."+a,null!=this.shapetags[a]&&d.push(this.shapetags[a]));return d};Sidebar.prototype.initPalettes=function(){var b=GRAPH_IMAGE_PATH,a=STENCIL_PATH,c=this.signs,e=this.gcp,d=this.rack,l=this.pids,r=this.cisco,n=this.sysml,p=this.eip,q=this.gmdl;"1"==urlParams.createindex&&(mxLog.show(),mxLog.textarea.value="");this.addSearchPalette(!0);this.addGeneralPalette(!0);this.addMiscPalette(!1);this.addAdvancedPalette(!1);this.addUmlPalette(!1);this.addErPalette();this.addBasicPalette();
this.addFlowchartPalette();this.addNetworkPalette();this.addAzurePalette();this.addCitrixPalette();this.addMSCAEPalette();this.addBpmnPalette(a,!1);this.addAWS3Palette();this.addAWS3DPalette();this.addLeanMappingPalette();this.addIos7Palette();this.addIosPalette();this.addAndroidPalette();this.addMockupPalette();this.addElectricalPalette();this.addOfficePalette();this.addVeeamPalette();this.addIBMPalette();this.addStencilPalette("arrows",mxResources.get("arrows"),a+"/arrows.xml",";html=1;"+mxConstants.STYLE_VERTICAL_LABEL_POSITION+
"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;"+mxConstants.STYLE_STROKEWIDTH+"=2;strokeColor=#000000;");this.addArrows2Palette();this.addImagePalette("computer","Clipart / Computer",b+"/lib/clip_art/computers/","_128x128.png","Antivirus Data_Filtering Database Database_Add Database_Minus Database_Move_Stack Database_Remove Fujitsu_Tablet Harddrive IBM_Tablet iMac iPad Laptop MacBook Mainframe Monitor Monitor_Tower Monitor_Tower_Behind Netbook Network Network_2 Printer Printer_Commercial Secure_System Server Server_Rack Server_Rack_Empty Server_Rack_Partial Server_Tower Software Stylus Touch USB_Hub Virtual_Application Virtual_Machine Virus Workstation".split(" "),
"Antivirus;Data Filtering;Database;Database Add;Database Minus;Database Move Stack;Database Remove;Fujitsu Tablet;Harddrive;IBMTablet;iMac;iPad;Laptop;MacBook;Mainframe;Monitor;Monitor Tower;Monitor Tower Behind;Netbook;Network;Network 2;Printer;Printer Commercial;Secure System;Server;Server Rack;Server Rack Empty;Server Rack Partial;Server Tower;Software;Stylus;Touch;USB Hub;Virtual Application;Virtual Machine;Virus;Workstation".split(";"));this.addImagePalette("finance","Clipart / Finance",b+"/lib/clip_art/finance/",
"_128x128.png","Arrow_Down Arrow_Up Coins Credit_Card Dollar Graph Pie_Chart Piggy_Bank Safe Shopping_Cart Stock_Down Stock_Up".split(" "),"Arrow_Down;Arrow Up;Coins;Credit Card;Dollar;Graph;Pie Chart;Piggy Bank;Safe;Shopping Basket;Stock Down;Stock Up".split(";"));this.addImagePalette("clipart","Clipart / Various",b+"/lib/clip_art/general/","_128x128.png","Battery_0 Battery_100 Battery_50 Battery_75 Battery_allstates Bluetooth Earth_globe Empty_Folder Full_Folder Gear Keys Lock Mouse_Pointer Plug Ships_Wheel Star Tire".split(" "),
"Battery 0%;Battery 100%;Battery 50%;Battery 75%;Battery;Bluetooth;Globe;Empty Folder;Full Folder;Gear;Keys;Lock;Mousepointer;Plug;Ships Wheel;Star;Tire".split(";"));this.addImagePalette("networking","Clipart / Networking",b+"/lib/clip_art/networking/","_128x128.png","Bridge Certificate Certificate_Off Cloud Cloud_Computer Cloud_Computer_Private Cloud_Rack Cloud_Rack_Private Cloud_Server Cloud_Server_Private Cloud_Storage Concentrator Email Firewall_02 Firewall Firewall-page1 Ip_Camera Modem power_distribution_unit Print_Server Print_Server_Wireless Repeater Router Router_Icon Switch UPS Wireless_Router Wireless_Router_N".split(" "),
@ -6487,7 +6487,7 @@ Q=M.cloneNode(!0),Y=M.cloneNode(!0);M.style.textAlign="right";X.style.textAlign=
mxEvent.addListener(R,"focus",function(){O.checked=!0});mxEvent.addListener(V,"focus",function(){O.checked=!0});e=document.createElement("span");mxUtils.write(e,mxResources.get("fitToSheetsDown"));Y.appendChild(e);P.appendChild(M);P.appendChild(W);P.appendChild(J);N.appendChild(X);N.appendChild(Q);N.appendChild(Y);L.appendChild(P);L.appendChild(N);m.appendChild(L);g.appendChild(m);d.appendChild(g);g=document.createElement("div");e=document.createElement("div");e.style.fontWeight="bold";e.style.marginBottom=
"12px";mxUtils.write(e,mxResources.get("paperSize"));g.appendChild(e);e=document.createElement("div");e.style.marginBottom="12px";var T=PageSetupDialog.addPageFormatPanel(e,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);g.appendChild(e);e=document.createElement("span");mxUtils.write(e,mxResources.get("pageScale"));g.appendChild(e);var S=document.createElement("input");S.style.cssText="margin:0 8px 0 8px;";S.setAttribute("value","100 %");S.style.width="60px";g.appendChild(S);
d.appendChild(g);e=document.createElement("div");e.style.cssText="text-align:right;margin:62px 0 0 0;";g=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});g.className="geBtn";a.editor.cancelFirst&&e.appendChild(g);a.isOffline()||(m=mxUtils.button(mxResources.get("help"),function(){window.open("https://desk.draw.io/support/solutions/articles/16000048947")}),m.className="geBtn",e.appendChild(m));PrintDialog.previewEnabled&&(m=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();
b(!1)}),m.className="geBtn",e.appendChild(m));m=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();b(!0)});m.className="geBtn gePrimaryBtn";e.appendChild(m);a.editor.cancelFirst||e.appendChild(g);d.appendChild(e);this.container=d}})();(function(){EditorUi.VERSION="7.7.4";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>';EditorUi.prototype.emptyLibraryXml="<mxlibrary>[]</mxlibrary>";
b(!1)}),m.className="geBtn",e.appendChild(m));m=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();b(!0)});m.className="geBtn gePrimaryBtn";e.appendChild(m);a.editor.cancelFirst||e.appendChild(g);d.appendChild(e);this.container=d}})();(function(){EditorUi.VERSION="7.7.5";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>';EditorUi.prototype.emptyLibraryXml="<mxlibrary>[]</mxlibrary>";
EditorUi.prototype.mode=null;EditorUi.prototype.sidebarFooterHeight=36;EditorUi.prototype.defaultCustomShapeStyle="shape=stencil(tZRtTsQgEEBPw1+DJR7AoN6DbWftpAgE0Ortd/jYRGq72R+YNE2YgTePloEJGWblgA18ZuKFDcMj5/Sm8boZq+BgjCX4pTyqk6ZlKROitwusOMXKQDODx5iy4pXxZ5qTHiFHawxB0JrQZH7lCabQ0Fr+XWC1/E8zcsT/gAi+Subo2/3Mh6d/oJb5nU1b5tW7r2knautaa3T+U32o7f7vZwpJkaNDLORJjcu7t59m2jXxqX9un+tt022acsfmoKaQZ+vhhswZtS6Ne/ThQGt0IV0N3Yyv6P3CeT9/tHO0XFI5cAE=);whiteSpace=wrap;html=1;";EditorUi.prototype.maxBackgroundSize=1600;
EditorUi.prototype.maxImageSize=520;EditorUi.prototype.resampleThreshold=1E5;EditorUi.prototype.maxImageBytes=1E6;EditorUi.prototype.maxBackgroundBytes=25E5;EditorUi.prototype.currentFile=null;EditorUi.prototype.printPdfExport=!1;EditorUi.prototype.pdfPageExport=!0;EditorUi.prototype.formatEnabled="0"!=urlParams.format;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var a=document.createElement("canvas"),f=new Image;f.onload=function(){try{a.getContext("2d").drawImage(f,
0,0);var c=a.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=null!=c&&6<c.length}catch(u){}};f.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(t){}try{a=document.createElement("canvas");a.width=a.height=1;var b=

View file

@ -373,8 +373,8 @@
{title: 'Web Icons', id: 'webicons', image: IMAGE_PATH + '/sidebar-webIcons.png'},
{title: mxResources.get('signs'), id: 'signs', image: IMAGE_PATH + '/sidebar-signs.png'}]}];
// Uses server-side stencil search if online
this.addStencilsToIndex = this.editorUi.isOffline();
// Uses search.xml index file instead (faster load times)
this.addStencilsToIndex = false;
// Contains additional tags for shapes
this.shapetags = {};
@ -409,49 +409,46 @@
// Loads search index to avoid having to pre-parse the stencil files
// before they are used for stencils that are not programmatically added
if (!this.editorUi.isOffline())
mxUtils.get(this.searchFileUrl, mxUtils.bind(this, function(req)
{
mxUtils.get(this.searchFileUrl, mxUtils.bind(this, function(req)
var node = req.getDocumentElement();
if (node != null)
{
var node = req.getDocumentElement();
var shapes = node.getElementsByTagName('shape');
if (node != null)
for (var i = 0; i < shapes.length; i++)
{
var shapes = node.getElementsByTagName('shape');
var style = shapes[i].getAttribute('style');
var shapeStyle = this.extractShapeStyle(style);
for (var i = 0; i < shapes.length; i++)
if (style != null && shapeStyle != null)
{
var style = shapes[i].getAttribute('style');
var shapeStyle = this.extractShapeStyle(style);
var lastDot = shapeStyle.lastIndexOf('.');
if (style != null && shapeStyle != null)
if (lastDot > 0)
{
var lastDot = shapeStyle.lastIndexOf('.');
var pkg = shapeStyle.substring(0, lastDot);
var stc = shapeStyle.substring(lastDot + 1, shapeStyle.length);
var tags = this.getTagsForStencil(pkg, stc, shapes[i].getAttribute('tags'));
if (lastDot > 0)
// TODO: Use shapetags for programmatic stencils
if (tags != null)
{
var pkg = shapeStyle.substring(0, lastDot);
var stc = shapeStyle.substring(lastDot + 1, shapeStyle.length);
var tags = this.getTagsForStencil(pkg, stc, shapes[i].getAttribute('tags'));
// Converts stencil name to lowercase
var semi = style.indexOf(';');
style = 'shape=' + pkg + '.' + stc.toLowerCase() + ';' +
((semi < 0) ? '' : style.substring(semi + 1));
// TODO: Use shapetags for programmatic stencils
if (tags != null)
{
// Converts stencil name to lowercase
var semi = style.indexOf(';');
style = 'shape=' + pkg + '.' + stc.toLowerCase() + ';' +
((semi < 0) ? '' : style.substring(semi + 1));
this.createVertexTemplateEntry(style, parseInt(shapes[i].getAttribute('w')),
parseInt(shapes[i].getAttribute('h')), '', stc.replace(/_/g, ' '),
null, null, this.filterTags(tags.join(' ')));
}
this.createVertexTemplateEntry(style, parseInt(shapes[i].getAttribute('w')),
parseInt(shapes[i].getAttribute('h')), '', stc.replace(/_/g, ' '),
null, null, this.filterTags(tags.join(' ')));
}
}
}
}
}));
}
}
}));
}
/**

View file

@ -184,7 +184,7 @@ f)+"\n"+t+"}":"{"+z.join(",")+"}";f=t;return l}}"function"!==typeof Date.prototy
e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,g,h={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,b,d){var e;g=f="";if("number"===typeof d)for(e=0;e<d;e+=1)g+=" ";else"string"===typeof d&&(g=d);if((k=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return c("",{"":a})});
"function"!==typeof JSON.parse&&(JSON.parse=function(a,b){function c(a,d){var e,f,g=a[d];if(g&&"object"===typeof g)for(e in g)Object.prototype.hasOwnProperty.call(g,e)&&(f=c(g,e),void 0!==f?g[e]=f:delete g[e]);return b.call(a,d,g)}var e;a=""+a;d.lastIndex=0;d.test(a)&&(a=a.replace(d,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?c({"":e},""):e;throw new SyntaxError("JSON.parse");})})();"undefined"===typeof window.mxBasePath&&(window.mxBasePath="https://www.draw.io/mxgraph/");window.mxLoadStylesheets=window.mxLoadStylesheets||!1;window.mxLoadResources=window.mxLoadResources||!1;window.mxLanguage=window.mxLanguage||"en";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||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"7.7.4",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS: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:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
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||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"7.7.5",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS: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:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT: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:0<=navigator.userAgent.indexOf("AppleWebKit/")&&
0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),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_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")||

View file

@ -184,7 +184,7 @@ f)+"\n"+t+"}":"{"+z.join(",")+"}";f=t;return l}}"function"!==typeof Date.prototy
e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,g,h={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,b,d){var e;g=f="";if("number"===typeof d)for(e=0;e<d;e+=1)g+=" ";else"string"===typeof d&&(g=d);if((k=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return c("",{"":a})});
"function"!==typeof JSON.parse&&(JSON.parse=function(a,b){function c(a,d){var e,f,g=a[d];if(g&&"object"===typeof g)for(e in g)Object.prototype.hasOwnProperty.call(g,e)&&(f=c(g,e),void 0!==f?g[e]=f:delete g[e]);return b.call(a,d,g)}var e;a=""+a;d.lastIndex=0;d.test(a)&&(a=a.replace(d,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?c({"":e},""):e;throw new SyntaxError("JSON.parse");})})();"undefined"===typeof window.mxBasePath&&(window.mxBasePath="https://www.draw.io/mxgraph/");window.mxLoadStylesheets=window.mxLoadStylesheets||!1;window.mxLoadResources=window.mxLoadResources||!1;window.mxLanguage=window.mxLanguage||"en";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||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"7.7.4",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS: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:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
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||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"7.7.5",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS: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:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT: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:0<=navigator.userAgent.indexOf("AppleWebKit/")&&
0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),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_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")||

View file

@ -398,6 +398,69 @@
<shape style="shape=mxgraph.signs.travel.Ticket_Purchase;html=1;fillColor=#000000;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="98" h="95"/>
<shape style="shape=mxgraph.signs.travel.Tunnel;html=1;fillColor=#000000;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="86" h="98"/>
<shape style="shape=mxgraph.signs.travel.Upstairs;html=1;fillColor=#000000;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="98" h="85"/>
<shape style="shape=mxgraph.gcp.big_data.BigQuery;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.big_data.Cloud_Dataflow;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.big_data.Cloud_Datalab;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.big_data.Cloud_Dataprep;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.big_data.Cloud_Dataproc;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.big_data.Cloud_PubSub;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.big_data.Data_Studio;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.big_data.Genomics;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.compute.App_Engine;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.compute.Cloud_Functions;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.compute.Compute_Engine;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.compute.Container_Engine;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.compute.Container_Optimized_OS;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.compute.Container_Registry;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.compute.GPU;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.developer_tools.Cloud_Tools_for_PowerShell;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.developer_tools.Cloud_Tools_for_Visual_Studio;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.developer_tools.Deployment_Manager;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.extras.Blue_Hexagon;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.extras.Generic_GCP;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="114"/>
<shape style="shape=mxgraph.gcp.extras.Google_Cloud_Platform;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="118" h="104"/>
<shape style="shape=mxgraph.gcp.extras.Google_Cloud_Platform_lockup;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="230" h="25"/>
<shape style="shape=mxgraph.gcp.extras.Prediction_API;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.identity_and_security.BeyondCorp;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="128" h="113"/>
<shape style="shape=mxgraph.gcp.identity_and_security.Cloud_Data_Loss_Prevention_API;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.identity_and_security.Cloud_IAM;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="114"/>
<shape style="shape=mxgraph.gcp.identity_and_security.Cloud_Identity_Aware_Proxy;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.identity_and_security.Cloud_Platform_Security;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.identity_and_security.Security_Key_Enforcement;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.machine_learning.Cloud_Machine_Learning;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.machine_learning.Cloud_Video_Intelligence_API;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.machine_learning.Jobs_API;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.machine_learning.Natural_Language_API;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="114"/>
<shape style="shape=mxgraph.gcp.machine_learning.Speech_API;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.machine_learning.Translation_API;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.machine_learning.Vision_API;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.management_tools.Cloud_APIs;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.management_tools.Cloud_Endpoints;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.management_tools.Debugger;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="114"/>
<shape style="shape=mxgraph.gcp.management_tools.Deployment_Manager;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.management_tools.Error_Reporting;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="114"/>
<shape style="shape=mxgraph.gcp.management_tools.Logging;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.management_tools.Monitoring;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.management_tools.Stackdriver;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.management_tools.Trace;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.networking.Cloud_CDN;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.networking.Cloud_DNS;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.networking.Cloud_External_IP_Addresses;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="114"/>
<shape style="shape=mxgraph.gcp.networking.Cloud_Firewall_Rules;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="114"/>
<shape style="shape=mxgraph.gcp.networking.Cloud_Interconnect;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.networking.Cloud_Load_Balancing;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.networking.Cloud_Network;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.networking.Cloud_Partner_Interconnect;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.networking.Cloud_Router;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="114"/>
<shape style="shape=mxgraph.gcp.networking.Cloud_Routes;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="114"/>
<shape style="shape=mxgraph.gcp.networking.Cloud_Virtual_Network;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.networking.Cloud_VPN;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="114"/>
<shape style="shape=mxgraph.gcp.storage_databases.Cloud_Bigtable;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.storage_databases.Cloud_Datastore;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.storage_databases.Cloud_Spanner;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.storage_databases.Cloud_SQL;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.storage_databases.Cloud_Storage;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.gcp.storage_databases.Persistent_Disk;html=1;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;" w="129" h="113"/>
<shape style="shape=mxgraph.rack.apc.APC_Smart_UPS_1000-3000_VA_2U;html=1;labelPosition=right;align=left;spacingLeft=15;dashed=0;shadow=0;fillColor=#ffffff;" w="160" h="29"/>
<shape style="shape=mxgraph.rack.apc.APC_Smart_UPS_5000_VA_5U;html=1;labelPosition=right;align=left;spacingLeft=15;dashed=0;shadow=0;fillColor=#ffffff;" w="160" h="73"/>
<shape style="shape=mxgraph.rack.apc.APC_Smart_UPS_750_VA_1U;html=1;labelPosition=right;align=left;spacingLeft=15;dashed=0;shadow=0;fillColor=#ffffff;" w="160" h="14"/>