drawio-offline
Version:
diagrams.net desktop
751 lines (742 loc) • 627 kB
JavaScript
/**
* Handles paste from Lucidchart
*
* TODO: Move to dynamic loading minimized plugin.
*/
//This covers version 52 of Lucidchart ("BCUVersion": 52 or "BackwardsCompatibilityStateVersion": 52)
LucidImporter = {};
(function()
{
// Global import transformation
var defaultFontSize = '13';
var defaultLucidFont = 'Liberation Sans';
var scale = 0.75;
var dx = 0;
var dy = 0;
var arcSize = 6;
var edgeStyle = 'html=1;jettySize=18;';
var vertexStyle = 'html=1;overflow=block;blockSpacing=1;whiteSpace=wrap;';
var labelStyle = 'text;html=1;resizable=0;labelBackgroundColor=#ffffff;align=center;verticalAlign=middle;';
var c = 'verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff';
var s = 'shape=mxgraph.';
var ss = 'strokeColor=none;shape=mxgraph.';
var ssAzure = 'verticalLabelPosition=bottom;verticalAlign=top;' + ss;
var cs = 'mxCompositeShape';
var azur19 = 'aspect=fixed;html=1;points=[];align=center;verticalAlign=top;image;image=img/lib/mscae/';
var gcpIcon = 'html=1;verticalLabelPosition=bottom;verticalAlign=top;strokeColor=none;shape=mxgraph.gcp2.';
var kupIcon = 'html=1;verticalLabelPosition=bottom;verticalAlign=top;strokeColor=none;shape=mxgraph.kubernetes.icon;prIcon=';
//Instead of doing a massive code refactoring, thees ugly global variables are used
var isLastLblHTML = false;
var gFontFamilyStyle = '';
//stencils to rotate counter clockwise 90 degrees
var rccw = [
'AEUSBBlock',
'AGSCutandpasteBlock',
'iOSDeviceiPadLandscape',
'iOSDeviceiPadProLandscape'
];
//stencils to rotate clockwise 180 degrees
var rcw2 = [
'fpDoor'
];
var edgeStyleMap = {
'None': 'none;',
'Arrow': 'block;xyzFill=1;',
'Hollow Arrow': 'block;xyzFill=0;',
'Open Arrow': 'open;',
'CFN ERD Zero Or More Arrow': 'ERzeroToMany;xyzSize=10;',
'CFN ERD One Or More Arrow': 'ERoneToMany;xyzSize=10;',
'CFN ERD Many Arrow': 'ERmany;xyzSize=10;',
'CFN ERD Exactly One Arrow': 'ERmandOne;xyzSize=10;',
'CFN ERD Zero Or One Arrow': 'ERzeroToOne;xyzSize=10;',
'CFN ERD One Arrow': 'ERone;xyzSize=16;',
'Generalization': 'block;xyzFill=0;xyzSize=12;',
'Big Open Arrow': 'open;xyzSize=10;',
'Asynch1': 'openAsync;flipV=1;xyzSize=10;',
'Asynch2': 'openAsync;xyzSize=10;',
'Aggregation': 'diamond;xyzFill=0;xyzSize=16;',
'Composition': 'diamond;xyzFill=1;xyzSize=16;',
'BlockEnd': 'box;xyzFill=0;xyzSize=16;',
'Measure': 'ERone;xyzSize=10;',
'CircleOpen': 'oval;xyzFill=0;xyzSize=16;',
'CircleClosed': 'oval;xyzFill=1;xyzSize=16;',
'BlockEndFill': 'box;xyzFill=1;xyzSize=16;',
'Nesting': 'circlePlus;xyzSize=7;xyzFill=0;',
'BPMN Conditional': 'diamond;xyzFill=0;',
'BPMN Default': 'dash;'
};
var styleMap = {
//Standard
'DefaultTextBlockNew': 'strokeColor=none;fillColor=none',
'DefaultTextBlock': 'strokeColor=none;fillColor=none',
'DefaultSquareBlock': '',
'RectangleBlock': '',
'DefaultNoteBlock': 'shape=note;size=15',
'DefaultNoteBlockV2': 'shape=note;size=15',
'HotspotBlock': 'strokeColor=none;fillColor=none',
'ImageSearchBlock2': 'shape=image',
'UserImage2Block': 'shape=image',
'ExtShapeBoxBlock': '',
'DefaultStickyNoteBlock': 'shadow=1',
//Flowchart
'ProcessBlock': '',
'DecisionBlock': 'rhombus',
'TerminatorBlock': 'rounded=1;arcSize=50',
'PredefinedProcessBlock': 'shape=process',
'DocumentBlock': 'shape=document;boundedLbl=1',
'MultiDocumentBlock': s + 'flowchart.multi-document',
'ManualInputBlock': 'shape=manualInput;size=15',
'PreparationBlock': 'shape=hexagon;perimeter=hexagonPerimeter2',
'DataBlock': 'shape=parallelogram;perimeter=parallelogramPerimeter;anchorPointDirection=0',
'DataBlockNew': 'shape=parallelogram;perimeter=parallelogramPerimeter;anchorPointDirection=0',
'DatabaseBlock': 'shape=cylinder3;size=4;anchorPointDirection=0;boundedLbl=1;',
'DirectAccessStorageBlock': 'shape=cylinder3;direction=south;size=10;anchorPointDirection=0;boundedLbl=1;',
'InternalStorageBlock': cs,
'PaperTapeBlock': 'shape=tape;size=0.2',
'ManualOperationBlockNew': 'shape=trapezoid;perimeter=trapezoidPerimeter;anchorPointDirection=0;flipV=1',
'DelayBlock': 'shape=delay',
'StoredDataBlock': 'shape=cylinder3;boundedLbl=1;size=15;lid=0;direction=south;',
'MergeBlock': 'triangle;direction=south;anchorPointDirection=0',
'ConnectorBlock': 'ellipse',
'OrBlock': s + 'flowchart.summing_function',
'SummingJunctionBlock': s + 'flowchart.or',
'DisplayBlock': 'shape=display',
'OffPageLinkBlock': 'shape=offPageConnector',
'BraceNoteBlock': cs,
'NoteBlock': cs,
//Containers
'AdvancedSwimLaneBlock': cs,
'AdvancedSwimLaneBlockRotated': cs,
'RectangleContainerBlock': 'container=1;collapsible=0',
'DiamondContainerBlock': 'shape=rhombus;container=1;collapsible=0',
'RoundedRectangleContainerBlock': 'container=1;rounded=1;absoluteArcSize=1;arcSize=24;collapsible=0',
'CircleContainerBlock': 'ellipse;container=1;collapsible=0',
'PillContainerBlock': 'shape=mxgraph.flowchart.terminator;container=1;collapsible=0',
'BraceBlock': cs,
'BracketBlock': cs,
'BraceBlockRotated': cs,
'BracketBlockRotated': cs,
//Geometric shapes
'IsoscelesTriangleBlock': 'shape=mxgraph.basic.acute_triangle;dx=0.5;anchorPointDirection=0',
'RightTriangleBlock': s + 'basic.orthogonal_triangle',
'PentagonBlock': s + 'basic.pentagon',
'HexagonBlock': 'shape=hexagon;perimeter=hexagonPerimeter2',
'OctagonBlock': s + 'basic.octagon2;dx=15;',
'CrossBlock': 'shape=cross;size=0.6',
'CloudBlock': 'ellipse;shape=cloud',
'HeartBlock': s + 'basic.heart',
'RightArrowBlock': cs,
'DoubleArrowBlock': cs,
'CalloutBlock': s + 'basic.rectangular_callout',
'CalloutSquareBlock': cs,
'ShapeCircleBlock': 'ellipse',
'ShapePolyStarBlock': s + 'basic.star',
'ShapeDiamondBlock': 'rhombus',
//Misc
'UI2HotspotBlock' : 'opacity=50;strokeColor=none',
//Android Devices
'AndroidDevice' : cs,
//Android Dialogs
'AndroidAlertDialog' : cs,
'AndroidDateDialog' : cs,
'AndroidTimeDialog' : cs,
//Android Blocks
'AndroidListItems' : cs,
'AndroidTabs' : cs,
'AndroidProgressBar' : cs,
'AndroidImageBlock' : cs,
'AndroidTextBlock' : cs,
'AndroidActionBar' : cs,
// 'AndroidBrowserBar' NA
//Android Inputs
'AndroidButton' : cs,
'AndroidTextBox' : cs,
'AndroidRadioButton' : cs,
'AndroidCheckBox' : cs,
'AndroidToggle' : cs,
'AndroidSlider' : cs,
//Android Icons (not working properly, needs specific code)
'AndroidIconCheck': s + 'ios7.misc.check',
// 'AndroidIconBack' NA
'AndroidIconCancel' : s + 'atlassian.x',
'AndroidIconCollapse': s + 'ios7.misc.up',
'AndroidIconExpand': s + 'ios7.misc.down',
// 'AndroidIconForward' NA
'AndroidIconNext': s + 'ios7.misc.right',
'AndroidIconPrevious': s + 'ios7.misc.left',
'AndroidIconRefresh' : + 'ios7.icons.repeat',
'AndroidIconInformation': s + 'ios7.icons.info',
// 'AndroidIconHelp' NA
'AndroidIconSearch': s + 'ios7.icons.looking_glass',
'AndroidIconSettings': s + 'ios7.icons.volume;direction=south',
// 'AndroidIconDislike' NA
// 'AndroidIconLike' NA
// 'AndroidIconDelete' NA
// 'AndroidIconCopy' NA
// 'AndroidIconCut' NA
// 'AndroidIconPaste' NA
'AndroidIconTrash': s + 'ios7.icons.trashcan',
'AndroidIconEmail': s + 'mockup.misc.mail2',
'AndroidIconNew': s + 'ios7.misc.flagged',
// 'AndroidIconImage' NA
// 'AndroidIconUndo' NA
// 'AndroidIconSharing' NA
// 'AndroidIconDownload' NA
// 'AndroidIconError' NA
// 'AndroidIconWarning' NA
//iOS mockups
'iOSDeviceiPhoneSE': s + 'ios7.misc.iphone',
'iOSDeviceiPhone6s': s + 'ios7.misc.iphone',
'iOSDeviceiPhone6sPlus': s + 'ios7.misc.iphone',
'iOSDeviceiPadPortrait': s + 'ios7.misc.ipad7inch',
'iOSDeviceiPadLandscape': s + 'ios7.misc.ipad7inch',
'iOSDeviceiPadProPortrait': s + 'ios7.misc.ipad7inch',
'iOSDeviceiPadProLandscape': s + 'ios7.misc.ipad10inch',
//iOS UI components
'iOSButton': 'fillColor=none;strokeColor=none;',
'iOSSegmentedControl' : cs, //TODO
'iOSStepper': s + 'ios7.misc.adjust',
'iOSToggle': s + 'ios7ui.onOffButton;buttonState=on;strokeColor2=#aaaaaa;fillColor2=#ffffff',
'iOSSlider': cs,
'iOSProgressBar': cs,
'iOSPageControls': cs,
'iOSStatusBar' : cs,
'iOSSearchBar' : cs,
'iOSNavBar' : cs,
'iOSTabs' : cs,
'iOSUniversalKeyboard': s + 'ios.iKeybLett',
'iOSDatePicker' : cs,
'iOSTimePicker' : cs,
'iOSCountdownPicker' : cs,
'iOSBasicCell' : cs,
'iOSSubtitleCell' : cs,
'iOSRightDetailCell' : cs,
'iOSLeftDetailCell' : cs,
'iOSTableGroupedSectionBreak' : cs,
'iOSTablePlainHeaderFooter' : cs,
//Mind Map
'MindMapBlock' : '',
'MindMapStadiumBlock' : 'arcSize=50',
'MindMapCloud' : 'shape=cloud',
'MindMapCircle' : 'ellipse',
'MindMapIsoscelesTriangleBlock' : 'shape=triangle;direction=north',
'MindMapDiamondBlock' : 'shape=rhombus',
'MindMapPentagonBlock' : s + 'basic.pentagon',
'MindMapHexagonBlock' : 'shape=hexagon;perimeter=hexagonPerimeter2',
'MindMapOctagonBlock' : s + 'basic.octagon2;dx=10;',
'MindMapCrossBlock' : s + 'basic.cross2;dx=20',
//Entity Relationship
'ERDEntityBlock' : cs,
'ERDEntityBlock2' : cs,
'ERDEntityBlock3' : cs,
'ERDEntityBlock4' : cs,
//UML Class Diagram
'UMLClassBlock': cs,
'UMLActiveClassBlock': 'shape=process',
'UMLMultiplicityBlock' : cs,
// 'UMLPackageBlock': 'shape=folder;tabPosition=left',
'UMLPackageBlock': '',
'UMLConstraintBlock' : cs,
'UMLNoteBlock': 'shape=note;size=15',
'UMLNoteBlockV2': 'shape=note;size=15',
'UMLTextBlock': cs,
//UML Use Case
'UMLActorBlock': 'shape=umlActor;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;whiteSpace=nowrap',
'UMLUseCaseBlock': 'ellipse',
'UMLCircleContainerBlock': 'ellipse;container=1',
'UMLRectangleContainerBlock': 'container=1',
//UML State/Activity
'UMLOptionLoopBlock' : s + 'sysml.package2;xSize=90;overflow=fill',
'UMLAlternativeBlock2' : s + 'sysml.package2;xSize=90;overflow=fill',
'UMLStartBlock' : 'ellipse;fillColor=#000000',
'UMLStateBlock' : cs,
'UMLDecisionBlock' : 'shape=rhombus;',
'UMLHForkJoinBlock' : 'fillColor=#000000',
'UMLVForkJoinBlock' : 'fillColor=#000000',
'UMLFlowFinalBlock' : s + 'flowchart.or',
'UMLHistoryStateBlock' : 'ellipse',
'UMLEndBlock' : s + 'bpmn.shape;outline=end;symbol=terminate;strokeColor=#000000;fillColor=#ffffff',
'UMLObjectBlock' : '',
'UMLSendSignalBlock' : s + 'sysml.sendSigAct',
'UMLReceiveSignalBlock' : s + 'sysml.accEvent;flipH=1',
'UMLAcceptTimeEventActionBlock' : s + 'sysml.timeEvent',
// 'UMLInterruptingEdgeBlock' NA
'UMLOffPageLinkBlock' : s + 'sysml.sendSigAct;direction=south',
// 'UMLExpansionNodeBlock' NA
'UMLMultiLanePoolBlock' : cs,
'UMLMultiLanePoolRotatedBlock' : cs,
'UMLMultidimensionalSwimlane' : cs,
//UML Sequence
'UMLActivationBlock' : '',
'UMLDeletionBlock' : s + 'sysml.x;strokeWidth=4',
// 'UMLAlternativeBlock' NA
'UMLSeqEntityBlock' : s + 'electrical.radio.microphone_1;direction=north',
// 'UMLBoundaryBlock' NA
// 'UMLControlBlock'NA
//UML Component
'UMLComponentBlock' : 'shape=component;align=left;spacingLeft=36',
'UMLComponentBlockV2' : 'shape=component;align=left;spacingLeft=36',
'UMLNodeBlock' : 'shape=cube;size=20;flipH=1;verticalAlign=top;spacingTop=22;spacingLeft=5',
'UMLNodeBlockV2' : 'shape=cube;size=20;flipH=1;verticalAlign=top;spacingTop=22;spacingLeft=5',
'UMLComponentInterfaceBlock' : 'ellipse',
'UMLComponentInterfaceBlockV2' : 'ellipse',
'UMLComponentBoxBlock' : cs,
'UMLComponentBoxBlockV2' : cs,
'UMLAssemblyConnectorBlock': cs,
'UMLAssemblyConnectorBlockV2': cs,
'UMLProvidedInterfaceBlock' : cs,
'UMLProvidedInterfaceBlockV2' :cs,
'UMLRequiredInterfaceBlock' : 'shape=requires;direction=north',
'UMLRequiredInterfaceBlockV2' : 'shape=requires;direction=north',
'UMLSwimLaneBlockV2': cs,
'UMLSwimLaneBlock': 'swimlane;startSize=25;container=1;collapsible=0;dropTarget=0;fontStyle=0',
//UML Deployment
//UML Entity Relationship
'UMLEntityBlock' : '',
'UMLWeakEntityBlock' : 'shape=ext;double=1',
'UMLAttributeBlock' : 'ellipse',
'UMLMultivaluedAttributeBlock' : 'shape=doubleEllipse',
'UMLRelationshipBlock' : 'shape=rhombus',
'UMLWeakRelationshipBlock' : 'shape=rhombus;double=1',
//BPMN 2.0
'BPMNActivity' : cs,
'BPMNEvent' : cs,
'BPMNChoreography' : cs,
'BPMNConversation' : cs,
'BPMNGateway' : cs,
'BPMNData' : cs,
'BPMNDataStore' : 'shape=datastore',
'BPMNAdvancedPoolBlock' : cs,
'BPMNAdvancedPoolBlockRotated' : cs,
'BPMNBlackPool' : cs,
'BPMNTextAnnotation' : cs,
//Data Flow
'DFDExternalEntityBlock' : cs,
'DFDExternalEntityBlock2' : '',
'YDMDFDProcessBlock' : 'ellipse',
'YDMDFDDataStoreBlock' : 'shape=partialRectangle;right=0;left=0',
'GSDFDProcessBlock' : cs,
'GSDFDProcessBlock2' : 'rounded=1;arcSize=10;',
'GSDFDDataStoreBlock' : cs,
'GSDFDDataStoreBlock2' : 'shape=partialRectangle;right=0',
//Org Chart
'OrgBlock' : cs,
//Tables
'DefaultTableBlock' : cs,
//Value Stream Mapping
//Processes
'VSMCustomerSupplierBlock' : s + 'lean_mapping.outside_sources',
'VSMDedicatedProcessBlock' : cs,
'VSMSharedProcessBlock' : cs,
'VSMWorkcellBlock' : cs,
'VSMDatacellBlock' : cs,
//Materials
'VSMInventoryBlock' : cs,
'VSMSupermarketBlock' : cs,
'VSMPhysicalPullBlock' : s + 'lean_mapping.physical_pull;direction=south',
'VSMFIFOLaneBlock' : cs,
'VSMSafetyBufferStockBlock' : cs,
//Shipments
'VSMExternalShipmentAirplaneBlock' : s + 'lean_mapping.airplane_7',
'VSMExternalShipmentForkliftBlock' : s + 'lean_mapping.move_by_forklift',
'VSMExternalShipmentTruckBlock' : s + 'lean_mapping.truck_shipment;align=left;',
'VSMExternalShipmentBoatBlock' : s + 'lean_mapping.boat_shipment;verticalAlign=bottom;',
//Information
'VSMProductionControlBlock' : cs,
'VSMOtherInformationBlock' : '',
// 'VSMHeijyunkaBoxBlock' NA
'VSMSequencedPullBallBlock' : s + 'lean_mapping.sequenced_pull_ball',
'VSMMRPERPBlock' : s + 'lean_mapping.mrp_erp;whiteSpace=wrap',
'VSMLoadLevelingBlock' : s + 'lean_mapping.load_leveling',
'VSMGoSeeBlock' : s + 'lean_mapping.go_see_production_scheduling;flipH=1',
'VSMGoSeeProductionBlock' : cs,
'VSMVerbalInfoBlock' : s + 'lean_mapping.verbal',
//Value Stream Mapping
'VSMKaizenBurstBlock' : s + 'lean_mapping.kaizen_lightening_burst',
'VSMOperatorBlock' : s + 'lean_mapping.operator;flipV=1',
'VSMTimelineBlock' : cs, //TODO Timeline shape
'VSMQualityProblemBlock' : s + 'lean_mapping.quality_problem',
//Kanban
'VSMProductionKanbanSingleBlock' : 'shape=card;size=18;flipH=1;',
'VSMProductionKanbanBatchBlock' : cs,
'VSMWithdrawalKanbanBlock' : s + 'lean_mapping.withdrawal_kanban',
// 'VSMWithdrawalKanbanBatchBlock' NA
'VSMSignalKanbanBlock' : 'shape=triangle;direction=south;anchorPointDirection=0',
'VSMKanbanPostBlock' : s + 'lean_mapping.kanban_post',
//Arrows
'VSMShipmentArrow': 'shape=singleArrow;arrowWidth=0.5;arrowSize=0.13',
'VSMPushArrow' : s + 'lean_mapping.push_arrow',
'VSMElectronicInformationArrow' : cs,
//EC2
'AWSElasticComputeCloudBlock2' : cs,
// 'AWSElasticComputeCloudBlock2' : ss + 'aws3.ec2;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSInstanceBlock2' : ss + 'aws3.instance',
'AWSInstancesBlock2' : ss + 'aws3.instances;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAMIBlock2' : ss + 'aws3.ami;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSDBonInstanceBlock2' : ss + 'aws3.db_on_instance;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSInstanceCloudWatchBlock2' : ss + 'aws3.instance_with_cloudwatch;verticalLabelPosition=bottom;align=center;verticalAlign=top',
//'AmazonCloudWatch2017' : ss + 'aws3.instance_with_cloudwatch;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSElasticIPBlock2' : ss + 'aws3.elastic_ip;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSHDFSClusterBlock2' : ss + 'aws3.hdfs_cluster;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAutoScalingBlock2' : ss + 'aws3.auto_scaling;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSEC2OptimizedInstance2' : ss + 'aws3.optimized_instance;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonEC2(Spotinstance)' : ss + 'aws3.spot_instance;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonECR' : ss + 'aws3.ecr;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonECS' : ss + 'aws3.ecs;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSLambda2' : ss + 'aws3.lambda;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSElasticLoadBalancing' : ss + 'aws3.elastic_load_balancing;verticalLabelPosition=bottom;align=center;verticalAlign=top',
//Networking
'AWSElasticLoadBlock2' : ss + 'aws3.classic_load_balancer;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSDirectConnectBlock3' : ss + 'aws3.direct_connect;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSElasticNetworkBlock2' : ss + 'aws3.elastic_network_interface;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSRoute53Block2' : cs,
'AWSHostedZoneBlock2' : ss + 'aws3.hosted_zone;fontColor=#FFFFFF;fontStyle=1',
'AWSRouteTableBlock2' : ss + 'aws3.route_table;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSVPCBlock2' : ss + 'aws3.vpc;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSVPNConnectionBlock2' : ss + 'aws3.vpn_connection;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSVPNGatewayBlock2' : ss + 'aws3.vpn_gateway;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSCustomerGatewayBlock2' : ss + 'aws3.customer_gateway;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSCustomerGatewayBlock3' : ss + 'aws3.customer_gateway;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSInternetGatewayBlock2' : ss + 'aws3.internet_gateway;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSRouterBlock2' : ss + 'aws3.router;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSRouterBlock3' : ss + 'aws3.router;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonVPC(endpoints)' : ss + 'aws3.endpoints;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonVPC(flowlogs)' : ss + 'aws3.flow_logs;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonVPC(VPCNATgateway)' : ss + 'aws3.vpc_nat_gateway;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSVPCPeering3' : ss + 'aws3.vpc_peering;verticalLabelPosition=bottom;align=center;verticalAlign=top',
//S3
'AWSSimpleStorageBlock2' : ss + 'aws3.s3;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSBucketBlock2' : ss + 'aws3.bucket;fontStyle=1;fontColor=#ffffff',
'AWSBuckethWithObjectsBlock2' : ss + 'aws3.bucket_with_objects;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSObjectBlock2' : ss + 'aws3.object;fontStyle=1;fontColor=#ffffff',
'AWSImportExportBlock2' : ss + 'aws3.import_export;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSStorageGatewayBlock2' : ss + 'aws3.storage_gateway;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSElasticBlockStorageBlock2' : ss + 'aws3.volume;fontStyle=1;fontColor=#ffffff',
'AWSVolumeBlock3' : ss + 'aws3.volume;fontStyle=1;fontColor=#ffffff',
'AWSSnapshotBlock2' : ss + 'aws3.snapshot;fontStyle=1;fontColor=#ffffff',
'AWSGlacierArchiveBlock3' : ss + 'aws3.archive;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSGlacierVaultBlock3' : ss + 'aws3.vault;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonEFS' : ss + 'aws3.efs;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSGlacierBlock2' : ss + 'aws3.glacier;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSImportExportSnowball' : ss + 'aws3.snowball;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSStorageGatewayCachedVolumn2' : ss + 'aws3.cached_volume;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSStorageGatewayNon-CachedVolumn2' : ss + 'aws3.non_cached_volume;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSStorageGatewayVirtualTapeLibrary2' : ss + 'aws3.virtual_tape_library;verticalLabelPosition=bottom;align=center;verticalAlign=top',
//Content Delivery
'AWSCloudFrontBlock2' : ss + 'aws3.cloudfront;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSDownloadDistBlock2' : ss + 'aws3.download_distribution;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSStreamingBlock2' : ss + 'aws3.streaming_distribution;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSEdgeLocationBlock2' : ss + 'aws3.edge_location;verticalLabelPosition=bottom;align=center;verticalAlign=top',
//Database
'AWSItemBlock2' : ss + 'aws3.item;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSItemsBlock2' : ss + 'aws3.items;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAttributeBlock2' : ss + 'aws3.attribute;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAttributesBlock2' : ss + 'aws3.attributes;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSRDBSBlock2' : cs,
'AWSRDSInstanceBlock2' : ss + 'aws3.rds_db_instance;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSRDSStandbyBlock2' : ss + 'aws3.rds_db_instance_standby_multi_az;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSRDSInstanceReadBlock2' : ss + 'aws3.rds_db_instance_read_replica;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSOracleDBBlock2' : ss + 'aws3.oracle_db_instance;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSMySQLDBBlock2' : ss + 'aws3.mysql_db_instance;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSDynamoDBBlock2' : ss + 'aws3.dynamo_db;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSSimpleDatabaseBlock3' : ss + 'aws2.database.simpledb;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSSimpleDatabaseDomainBlock3' : ss + 'aws2.database.simpledb_domain;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSTableBlock2' : ss + 'aws3.table;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonRedShiftBlock3' : ss + 'aws3.redshift;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSElastiCacheNodeBlock2' : ss + 'aws3.cache_node;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSElastiCacheBlock2' : ss + 'aws3.elasticache;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSDynamoDBGlobalSecondaryIndexes2' : ss + 'aws3.global_secondary_index;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonElastiCacheMemcache2' : ss + 'aws3.memcached;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonElastiCacheRedis2' : ss + 'aws3.redis;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonRDSMSSQLInstance2' : ss + 'aws3.ms_sql_instance_2;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSMSSQLDBBlock3' : ss + 'aws3.ms_sql_instance;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonRDSMySQLDBInstance2' : ss + 'aws3.mysql_db_instance_2;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonRDSOracleDBInstance2' : ss + 'aws3.oracle_db_instance_2;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSRDSReplicasetswithPIOP2' : ss + 'aws3.piop;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonRDSPostgreSQL2' : ss + 'aws3.postgre_sql_instance;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSRDSMasterSQL2' : ss + 'aws3.sql_master;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSRDSSlaveSQL2' : ss + 'aws3.sql_slave;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonRedshift(densecomputenode)' : ss + 'aws3.dense_compute_node;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonRedshift(densestoragenode)' : ss + 'aws3.dense_storage_node;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSDatabaseMigrationService' : ss + 'aws3.database_migration_service;verticalLabelPosition=bottom;align=center;verticalAlign=top',
//Security Identity
'AWSACM' : ss + 'aws3.certificate_manager;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonInspector' : ss + 'aws3.inspector;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSCloudHSM' : ss + 'aws3.cloudhsm;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSDirectoryService2' : ss + 'aws3.directory_service;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSKMS' : ss + 'aws3.kms;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSWAF' : ss + 'aws3.waf;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSACM(certificate-manager)' : ss + 'aws3.certificate_manager_2;verticalLabelPosition=bottom;align=center;verticalAlign=top',
//App Services
'AWSSESBlock2' : ss + 'aws3.ses;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSEmailBlock2' : ss + 'aws3.email;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSSNSBlock2' : ss + 'aws3.sns;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSSQSBlock3' : ss + 'aws3.sqs;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSQueueBlock2' : ss + 'aws3.queue;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSMessageBlock2' : ss + 'aws3.message;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSDeciderBlock2' : ss + 'aws3.decider;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSSWFBlock2' : ss + 'aws3.swf;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSWorkerBlock2' : ss + 'aws3.worker;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSCloudSearchBlock2' : ss + 'aws3.cloudsearch;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSCloudSearchMetadataBlock3' : ss + 'aws3.search_documents;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSElasticTranscoder3' : ss + 'aws3.elastic_transcoder;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonAPIGateway' : ss + 'aws3.api_gateway;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAppStream2' : ss + 'aws3.appstream;verticalLabelPosition=bottom;align=center;verticalAlign=top',
//Deployment
'AWSCloudFormationBlock2' : ss + 'aws3.cloudformation;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSDataPipelineBlock3' : ss + 'aws3.data_pipeline;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSDataPipelineBlock2' : ss + 'aws3.data_pipeline;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSTemplageBlock2' : ss + 'aws3.template;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSStackBlock2' : ss + 'aws3.stack_aws_cloudformation;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSBeanStockBlock2' : ss + 'aws3.elastic_beanstalk;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSApplicationBlock2' : ss + 'aws3.application;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSBeanstalkDeploymentBlock3' : ss + 'aws3.deployment;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSIAMBlock3' : ss + 'aws3.iam;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSIAMSTSBlock3' : ss + 'aws3.sts;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSIAMAddonBlock2' : ss + 'aws3.add_on;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSCloudWatchBlock3' : ss + 'aws3.cloudwatch;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSCloudWatchAlarmBlock2' : ss + 'aws3.alarm;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSIAMSecurityTokenService2' : ss + 'aws3.sts_2;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSIAMDataEncryptionKey2' : ss + 'aws3.data_encryption_key;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSIAMEncryptedData2' : ss + 'aws3.encrypted_data;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIAM(long-termsecuritycredential)' : ss + 'aws3.long_term_security_credential;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSIAMMFAToken2' : ss + 'aws3.mfa_token;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSIAMPermissions2' : ss + 'aws3.permissions_2;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSIAMRoles2' : ss + 'aws3.role;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIAM(temporarysecuritycredential)' : ss + 'aws3.long_term_security_credential;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSCloudTrail2' : ss + 'aws3.cloudtrail;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSConfig2' : ss + 'aws3.config;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSOpsWorksBlock3' : ss + 'aws3.opsworks;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSServiceCatalog' : ss + 'aws3.service_catalog;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSTrustedAdvisor2' : ss + 'aws3.trusted_advisor;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSOpsWorksApps2' : ss + 'aws3.apps;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSOpsWorksDeployments2' : ss + 'aws3.deployments;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSOpsWorksInstances2' : ss + 'aws3.instances_2;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSOpsWorksLayers2' : ss + 'aws3.layers;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSOpsWorksMonitoring2' : ss + 'aws3.monitoring;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSOpsWorksPermissions2' : ss + 'aws3.permissions;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSOpsWorksResources2' : ss + 'aws3.resources;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSOpsWorksStack2' : ss + 'aws3.stack_aws_opsworks;verticalLabelPosition=bottom;align=center;verticalAlign=top',
//On-Demand
'AWSMechanicalTurkBlock3' : ss + 'aws3.mechanical_turk;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSHumanITBlock2' : ss + 'aws3.human_intelligence_tasks_hit;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAssignmentTaskBlock2' : ss + 'aws3.requester;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSWorkersBlock2' : ss + 'aws3.users;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSRequesterBlock2' : ss + 'aws3.assignment_task;verticalLabelPosition=bottom;align=center;verticalAlign=top',
//SDKs
'AWSAndroidBlock3': ss + 'aws3.android;fillColor=#96BF3D;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSiOSBlock3' : ss + 'aws3.android;fillColor=#CFCFCF;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSJavaBlock3' : ss + 'aws3.android;fillColor=#EE472A;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSJavaScript' : ss + 'aws3.android;fillColor=#205E00;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSNetBlock3' : ss + 'aws3.android;fillColor=#115193;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSNodeJSBlock3' : ss + 'aws3.android;fillColor=#8CC64F;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSPHPBlock3' : ss + 'aws3.android;fillColor=#5A69A4;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSPythonBlock3' : ss + 'aws3.android;fillColor=#FFD44F;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSRubyBlock3' : ss + 'aws3.android;fillColor=#AE1F23;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSXamarin' : ss + 'aws3.android;fillColor=#4090D7;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSCLIBlock3' : ss + 'aws3.cli;fillColor=#444444;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSEclipseToolkitBlock3' : ss + 'aws3.toolkit_for_eclipse;fillColor=#342074;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSVisualStudioToolkitBlock3' : ss + 'aws3.toolkit_for_visual_studio;fillColor=#53B1CB;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSWindowsPowershellToolkitBlock3' : ss + 'aws3.toolkit_for_windows_powershell;fillColor=#737373;verticalLabelPosition=bottom;align=center;verticalAlign=top',
//Analytics
'AWSAmazonElasticsearchService' : ss + 'aws3.elasticsearch_service;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSElasticMapReduceBlock2' : ss + 'aws3.emr;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSClusterBlock2' : ss + 'aws3.emr_cluster;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSEMREngine2' : ss + 'aws3.emr_engine;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSEMRMapRM3Engine2' : ss + 'aws3.emr_engine_mapr_m3;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSEMRMapRM5Engine2' : ss + 'aws3.emr_engine_mapr_m5;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSEMRMapRM7Engine2' : ss + 'aws3.emr_engine_mapr_m7;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSKinesis2' : ss + 'aws3.kinesis;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonKinesis(AmazonKinesisAnalytics)' : ss + 'aws3.kinesis;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSKinesisEnabledApp2' : ss + 'aws3.kinesis_enabled_app;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonKinesis(AmazonKinesisFirehose)' : ss + 'aws3.kinesis_firehose;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonKinesis(AmazonKinesisStreams)' : ss + 'aws3.kinesis_streams;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonMachineLearning' : ss + 'aws3.machine_learning;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonQuickSight' : ss + 'aws3.quicksight;verticalLabelPosition=bottom;align=center;verticalAlign=top',
//Mobile Services
'AWSCognito2' : ss + 'aws3.cognito;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSMobileAnalytics2' : ss + 'aws3.mobile_analytics;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSDeviceFarm' : ss + 'aws3.device_farm;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSMobileHub' : ss + 'aws3.mobile_hub;gradientColor=#AD688A;gradientDirection=east;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSTopicBlock2' : ss + 'aws3.topic_2;fontStyle=1;fontColor=#ffffff;verticalAlign=top;spacingTop=-5',
'AWSEmailNotificationBlock2' : ss + 'aws3.email_notification;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSHTTPNotificationBlock2' : ss + 'aws3.http_notification;verticalLabelPosition=bottom;align=center;verticalAlign=top',
//Developer Tools
'AWSAWSCodeCommit' : ss + 'aws3.codecommit;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSCodeDeploy2' : ss + 'aws3.codedeploy;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSCodePipeline' : ss + 'aws3.codepipeline;verticalLabelPosition=bottom;align=center;verticalAlign=top',
//Enterprise Application
'AWSWorkDocs2' : ss + 'aws3.workdocs;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonWorkMail' : ss + 'aws3.workmail;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonWorkSpaces2' : ss + 'aws3.workspaces;verticalLabelPosition=bottom;align=center;verticalAlign=top',
//Internet of Things
'AWSAWSIoT' : ss + 'aws3.aws_iot;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(action)' : ss + 'aws3.action;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(actuator)' : ss + 'aws3.actuator;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(certificate)' : ss + 'aws3.certificate;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(desiredstate)' : ss + 'aws3.desired_state;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(hardwareboard)' : ss + 'aws3.hardware_board;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(HTTP2protocol)' : ss + 'aws3.http_2_protocol;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(HTTPprotocol)' : ss + 'aws3.http_protocol;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(MQTTprotocol)' : ss + 'aws3.mqtt_protocol;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(policy)' : ss + 'aws3.policy;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(reportedstate)' : ss + 'aws3.reported_state;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(rule)' : ss + 'aws3.rule;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(sensor)' : ss + 'aws3.sensor;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(servo)' : ss + 'aws3.servo;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(shadow)' : ss + 'aws3.shadow;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(simulator)' : ss + 'aws3.simulator;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(thingbank)' : ss + 'aws3.bank;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(thingbicycle)' : ss + 'aws3.bicycle;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(thingcamera)' : ss + 'aws3.camera;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(thingcar)' : ss + 'aws3.car;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(thingcart)' : ss + 'aws3.cart;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(thingcoffeepot)' : ss + 'aws3.coffee_pot;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(thingdoorlock)' : ss + 'aws3.door_lock;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(thingfactory)' : ss + 'aws3.factory;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(thinggeneric)' : ss + 'aws3.generic;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(thinghouse)' : ss + 'aws3.house;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(thinglightbulb)' : ss + 'aws3.lightbulb;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(thingmedicalemergency)' : ss + 'aws3.medical_emergency;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(thingpoliceemergency)' : ss + 'aws3.police_emergency;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(thingthermostat)' : ss + 'aws3.thermostat;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(thingtravel)' : ss + 'aws3.travel;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(thingutility)' : ss + 'aws3.utility;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(thingwindfarm)' : ss + 'aws3.windfarm;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAWSIoT(topic)' : ss + 'aws3.topic;verticalLabelPosition=bottom;align=center;verticalAlign=top',
//AWS General
'AWSCloudBlock2' : ss + 'aws3.cloud;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSVPCloudBlock3' : ss + 'aws3.virtual_private_cloud;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSUserBlock2' : ss + 'aws3.user;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSUsersBlock2' : ss + 'aws3.users;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSClientBlock2' : ss + 'aws3.management_console;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSMobileClientBlock2' : ss + 'aws3.mobile_client;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSGenericDatabaseBlock3' : ss + 'aws3.generic_database;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSDiskBlock3' : ss + 'aws3.disk;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSTapeStorageBlock3' : ss + 'aws3.tape_storage;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSMediaBlock2' : ss + 'aws3.multimedia;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSDataCenterBlock2' : ss + 'aws3.corporate_data_center;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSServerBlock2' : ss + 'aws3.traditional_server;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSInternetBlock2' : ss + 'aws2.non-service_specific.internet;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSForumsBlock3' : ss + 'aws3.forums;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSManagementBlock2' : ss + 'aws3.management_console;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonElasticCacheNode2' : ss + 'aws3.cache_node;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonRedshiftDW1Cluster2' : ss + 'aws3.dense_compute_node;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonRedshiftDW2Cluster2' : ss + 'aws3.dense_storage_node;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonRedshiftSSDFamilyCluster2' : ss + 'aws3.dense_storage_node;verticalLabelPosition=bottom;align=center;verticalAlign=top',
'AWSAmazonRoute53RouteTable2' : ss + 'aws3.route_table;verticalLabelPosition=bottom;align=center;verticalAlign=top',
// 'AWSExampleIAMBlock2' NA
'AWSSubnetBlock2' : ss + 'aws3.permissions;verticalLabelPosition=bottom;align=center;verticalAlign=top',
//AWS Containers
'AWSRoundedRectangleContainerBlock2' : cs,
//Azure Cloud
'ACAccessControlBlock' : ssAzure + 'azure.access_control',
'ACAPIAppsBlock' : ssAzure + 'mscae.cloud.api_app',
'ACAPIManagementBlock' : ssAzure + 'mscae.cloud.api_management',
'ACAppInsightsBlock' : ssAzure + 'mscae.cloud.application_insights',
'ACAppServicesBlock' : ssAzure + 'mscae.cloud.app_service',
'ACAutoscalingBlock' : ssAzure + 'azure.autoscale',
'ACAzureActiveDirectoryBlock' : ssAzure + 'azure.azure_active_directory',
'ACAzurealertBlock' : ssAzure + 'azure.azure_alert',
'ACAzureAutomationBlock' : ssAzure + 'azure.automation',
'ACAzureBatchBlock' : ssAzure + 'mscae.cloud.azure_batch',
'ACAzureRedisBlock' : ssAzure + 'azure.azure_cache',
'ACAzureFilesBlock' : ssAzure + 'mscae.cloud.azure_files_service',
'ACAzureloadbalancerBlock' : ssAzure + 'mscae.cloud.azure_automatic_load_balancer',
'ACAzureMarketplaceBlock' : ssAzure + 'azure.azure_marketplace',
'ACAzureRightManagementRMSBlock' : ssAzure + 'mscae.cloud.azure_rights_management_rms',
'ACAzureSDKBlock' : ssAzure + 'azure.azure_sdk',
'ACAzureSearchBlock' : ssAzure + 'mscae.cloud.azure_search',
'ACAzureSQLdatabaseBlock' : ssAzure + 'azure.sql_database_sql_azure',
'ACAzuresubscriptionBlock' : ssAzure + 'azure.azure_subscription',
'ACAzureWebsitesBlock' : ssAzure + 'azure.azure_website',
'ACBackupServiceBlock' : ssAzure + 'azure.backup_service',
'ACBitbucketcodesourceBlock' : ssAzure + 'azure.bitbucket_code_source',
'ACBizTalkServicesBlock' : ssAzure + 'azure.biztalk_services',
'ACCloudServiceBlock' : ssAzure + 'azure.cloud_service',
'ACCodePlexBlock' : ssAzure + 'azure.codeplex_code_source',
// 'ACComputeBlock' NA
'ACContentDeliveryNetworkBlock' : ssAzure + 'azure.content_delivery_network',
'ACDataFactoryBlock' : ssAzure + 'mscae.cloud.data_factory',
// 'ACDataservicesBlock' NA
'ACDocumentDBBlock' : ssAzure + 'mscae.cloud.documentdb',
'ACDropboxcodesourceBlock' : ssAzure + 'azure.dropbox_code_source',
'ACEventsHubBlock' : ssAzure + 'mscae.cloud.event_hubs',
'ACExpressRouteBlock' : ssAzure + 'azure.express_route',
'ACGitHubBlock' : ssAzure + 'azure.github_code',
'ACGitrepositoryBlock' : ssAzure + 'azure.git_repository',
'ACHDInsightBlock' : ssAzure + 'mscae.cloud.hdinsight',
'ACHealthmonitoringBlock' : ssAzure + 'azure.health_monitoring',
'ACHealthyBlock' : ssAzure + 'azure.healthy',
'ACHybridConnectionBlock' : ssAzure + 'mscae.cloud.hybrid_connections',
'ACBizTalkhybridconnectionBlock' : ssAzure + 'mscae.cloud.hybrid_connection_manager',
'ACKeyVaultBlock' : ssAzure + 'mscae.cloud.key_vault',
'ACLogicAppBlock' : ssAzure + 'mscae.cloud.logic_app',
'ACMachineLearningBlock' : ssAzure + 'mscae.cloud.machine_learning',
'ACMediaServicesBlock' : ssAzure + 'azure.media_service',
'ACMicrosoftaccountBlock' : ssAzure + 'mscae.cloud.microsoft_account',
'ACMicrosoftAzureBlock' : ssAzure + 'mscae.cloud.microsoft_azure',
'ACMobileEngagementBlock' : ssAzure + 'mscae.cloud.mobile_engagement',
'ACMobileServicesBlock' : ssAzure + 'mscae.cloud.mobile_app',
'ACMultiFactorAuthBlock' : ssAzure + 'azure.multi_factor_authentication',
'ACMySQLdatabaseBlock' : ssAzure + 'azure.mysql_database',
'ACNotificationHubsBlock' : ssAzure + 'azure.notification_hub',
'ACNotificationtopicBlock' : ssAzure + 'azure.notification_topic',
'ACOperationalInsightsBlock' : ssAzure + 'mscae.cloud.operational_insights',
'ACOSimageBlock' : ssAzure + 'azure.operating_system_image',
'ACRemoteAppBlock' : ssAzure + 'mscae.cloud.remoteapp',
'ACrpdRemotingfileBlock' : ssAzure + 'azure.rdp_remoting_file',
'ACSchedulerBlock' : ssAzure + 'azure.scheduler',
'ACServiceBusBlock' : ssAzure + 'azure.service_bus',
'ACServiceBusQueueBlock' : ssAzure + 'azure.service_bus_queues',
'ACServiceBusRelayBlock' : ssAzure + 'azure.service_bus_relay',
'ACServiceBusTopicBlock' : ssAzure + 'azure.service_bus_topics_and_subscriptions',
'ACServiceEndpointBlock' : ssAzure + 'mscae.cloud.service_endpoint',
'ACServicepackageBlock' : ssAzure + 'mscae.cloud.service_package',
'ACSiteRecoveryBlock' : ssAzure + 'azure.hyper_v_recovery_manager',
'ACSQLdatabasegenericBlock' : ssAzure + 'azure.sql_database',
// 'ACSQLDatabasePremiumBlock' NA
'ACSQLdatasyncBlock' : ssAzure + 'azure.sql_datasync',
'ACSQLreportingdeprecatedBlock' : ssAzure + 'azure.sql_reporting',
'ACStartuptaskBlock' : ssAzure + 'azure.startup_task',
'ACStorageAzureBlock' : ssAzure + 'mscae.cloud.azure_storage',
'ACStorageblobBlock' : ssAzure + 'azure.storage_blob',
'ACStoragequeueBlock' : ssAzure + 'azure.storage_queue',
'ACStoragetableBlock' : ssAzure + 'azure.storage_table',
'ACStorSimpleBlock' : ssAzure + 'azure.storsimple',
'ACStreamAnalyticsBlock' : ssAzure + 'mscae.cloud.stream_analytics',
'ACTrafficManagerBlock' : ssAzure + 'azure.traffic_manager',
'ACAlienBlock' : ssAzure + 'azure.unidentified_code_object',
'ACVHDBlock' : ssAzure + 'azure.vhd',
'ACVHDdatadiskBlock' : ssAzure + 'azure.vhd_data_disk',
'ACVirtualmachineBlock' : ssAzure + 'azure.virtual_machine',
'ACVirtualmachinecontainerBlock' : ssAzure + 'mscae.cloud.virtual_machine_container',
'ACVirtualnetworkBlock' : ssAzure + 'azure.virtual_network',
'ACVisualStudioOnlineBlock' : ssAzure + 'azure.visual_studio_online',
'ACVMsymbolonlyBlock' : ssAzure + 'azure.virtual_machine_feature',
'ACWebJobsBlock' : ssAzure + 'mscae.cloud.webjobs',
'ACWebroleBlock' : ssAzure + 'azure.web_role',
'ACWebrolesBlock' : ssAzure + 'azure.web_roles',
'ACWorkaccountBlock' : ssAzure + 'mscae.cloud.work_account',
'ACWorkerroleBlock' : ssAzure + 'azure.worker_role',
'ACWorkerrolesBlock' : ssAzure + 'azure.worker_roles',
'ADNSBlock' : ssAzure + 'mscae.cloud.azure_dns',
// 'AGatewayBlock' NA
'ACLoadBalancerBlock' : ssAzure + 'mscae.cloud.azure_load_balancer_feature',
'ACResourceGroupBlock' : ssAzure + 'mscae.cloud.resource_group',
'ACVPNGatewayBlock' : ssAzure + 'mscae.cloud.vpn_gateway',
//Azure Enterprise
'AEActiveDirectoryFSPBlock' : ssAzure + 'mscae.enterprise.d',
'AEADFSBlock' : ssAzure + 'mscae.enterprise.ad_fs',
'AEAndroidPhoneBlock' : ssAzure + 'mscae.enterprise.android_phone',
'AEappblankfortextBlock' : ssAzure + 'mscae.enterprise.application_blank',
'AEAppGenericBlock' : ssAzure + 'mscae.enterprise.app_generic',
'AEAppserverBlock' : ssAzure + 'mscae.enterprise.application_server',
'AEBackuplocalBlock' : ssAzure + 'mscae.enterprise.backup_local',
'AEBackuponlineBlock' : ssAzure + 'mscae.enterprise.backup_online',
'AECalendarBlock' : ssAzure + 'mscae.general.calendar',
'AECertificateBlock' : ssAzure + 'azure.certificate',
'AEClientAppBlock' : ssAzure + 'mscae.enterprise.client_application',
'AECloudBlock' : ssAzure + 'mscae.enterprise.internet',
'AEClusterserverBlock' : ssAzure + 'mscae.enterprise.cluster_server',
'AECodefileBlock' : ssAzu