mirror of
				https://github.com/mermaid-js/mermaid.git
				synced 2025-11-04 12:54:08 +01:00 
			
		
		
		
	* develop: (50 commits) Build docs chore: update browsers list Fix pre Fix mermaid code formatting in html Prettier pass Fix XSS htmls fix #3407 Replace `div` with `pre` and format Add change in `src/docs` Fix lint issue build: run `build:prod` on `yarn prepare` Build documentation Fix typo Fix typo in documentation Fix doc Add files only when running from lint-staged Add files only when running from lint-staged Fix configuration doc Prettier Pass Add dotfiles Prettier ...
		
			
				
	
	
		
			1100 lines
		
	
	
		
			41 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			1100 lines
		
	
	
		
			41 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!DOCTYPE html>
 | 
						|
<html>
 | 
						|
  <head>
 | 
						|
    <meta charset="utf-8" />
 | 
						|
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
 | 
						|
    <title>Mermaid Quick Test Page</title>
 | 
						|
    <link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo=" />
 | 
						|
    <style>
 | 
						|
      div.mermaid {
 | 
						|
        /* font-family: 'trebuchet ms', verdana, arial; */
 | 
						|
        font-family: 'Courier New', Courier, monospace !important;
 | 
						|
      }
 | 
						|
    </style>
 | 
						|
  </head>
 | 
						|
 | 
						|
  <body>
 | 
						|
    <pre class="mermaid">
 | 
						|
    info
 | 
						|
    </pre>
 | 
						|
 | 
						|
    <hr />
 | 
						|
 | 
						|
    <pre class="mermaid">
 | 
						|
    C4Context
 | 
						|
      title System Context diagram for Internet Banking System
 | 
						|
Enterprise_Boundary(b0, "BankBoundary0") {
 | 
						|
      Person(customerA, "Banking Customer A", "A customer of the bank, with personal bank accounts.")
 | 
						|
      Person(customerB, "Banking Customer B")      
 | 
						|
      Person_Ext(customerC, "Banking Customer C", "desc")            
 | 
						|
 | 
						|
      Person(customerD, "Banking Customer D", "A customer of the bank, <br/> with personal bank accounts.")
 | 
						|
 | 
						|
      System(SystemAA, "Internet Banking System", "Allows customers to view information about their bank accounts, and make payments.")  
 | 
						|
 | 
						|
      Enterprise_Boundary(b1, "BankBoundary") {
 | 
						|
       
 | 
						|
        SystemDb_Ext(SystemE, "Mainframe Banking System", "Stores all of the core banking information about customers, accounts, transactions, etc.")      
 | 
						|
 | 
						|
        System_Boundary(b2, "BankBoundary2") {  
 | 
						|
          System(SystemA, "Banking System A")  
 | 
						|
          System(SystemB, "Banking System B", "A system of the bank, with personal bank accounts. next line.")        
 | 
						|
        } 
 | 
						|
 | 
						|
        System_Ext(SystemC, "E-mail system", "The internal Microsoft Exchange e-mail system.") 
 | 
						|
        SystemDb(SystemD, "Banking System D Database", "A system of the bank, with personal bank accounts.") 
 | 
						|
 | 
						|
        Boundary(b3, "BankBoundary3", "boundary") {  
 | 
						|
          SystemQueue(SystemF, "Banking System F Queue", "A system of the bank.")        
 | 
						|
          SystemQueue_Ext(SystemG, "Banking System G Queue", "A system of the bank, with personal bank accounts.") 
 | 
						|
        }
 | 
						|
      }
 | 
						|
    }
 | 
						|
      
 | 
						|
      BiRel(customerA, SystemAA, "Uses")
 | 
						|
      BiRel(SystemAA, SystemE, "Uses")
 | 
						|
      Rel(SystemAA, SystemC, "Sends e-mails", "SMTP")
 | 
						|
      Rel(SystemC, customerA, "Sends e-mails to")
 | 
						|
 | 
						|
      UpdateElementStyle(customerA, $fontColor="red", $bgColor="grey", $borderColor="red")
 | 
						|
      UpdateRelStyle(customerA, SystemAA, $textColor="blue", $lineColor="blue", $offsetX="5")
 | 
						|
      UpdateRelStyle(SystemAA, SystemE, $textColor="blue", $lineColor="blue", $offsetY="-10")
 | 
						|
      UpdateRelStyle(SystemAA, SystemC, $textColor="blue", $lineColor="blue", $offsetY="-40", $offsetX="-50")
 | 
						|
      UpdateRelStyle(SystemC, customerA, $textColor="red", $lineColor="red", $offsetX="-50", $offsetY="20")
 | 
						|
      
 | 
						|
      UpdateLayoutConfig($c4ShapeInRow="3", $c4BoundaryInRow="1")
 | 
						|
    </pre>
 | 
						|
 | 
						|
    <pre class="mermaid">
 | 
						|
    C4Container
 | 
						|
    title Container diagram for Internet Banking System
 | 
						|
 | 
						|
    System_Ext(email_system, "E-Mail System", "The internal Microsoft Exchange system", $tags="v1.0")
 | 
						|
    Person(customer, Customer, "A customer of the bank, with personal bank accounts", $tags="v1.0")
 | 
						|
 | 
						|
    Container_Boundary(c1, "Internet Banking") {
 | 
						|
        Container(spa, "Single-Page App", "JavaScript, Angular", "Provides all the Internet banking functionality to customers via their web browser")
 | 
						|
        Container_Ext(mobile_app, "Mobile App", "C#, Xamarin", "Provides a limited subset of the Internet banking functionality to customers via their mobile device")
 | 
						|
        Container(web_app, "Web Application", "Java, Spring MVC", "Delivers the static content and the Internet banking SPA")
 | 
						|
        ContainerDb(database, "Database", "SQL Database", "Stores user registration information, hashed auth credentials, access logs, etc.")
 | 
						|
        ContainerDb_Ext(backend_api, "API Application", "Java, Docker Container", "Provides Internet banking functionality via API")
 | 
						|
 | 
						|
    }
 | 
						|
 | 
						|
    System_Ext(banking_system, "Mainframe Banking System", "Stores all of the core banking information about customers, accounts, transactions, etc.")
 | 
						|
 | 
						|
    Rel(customer, web_app, "Uses", "HTTPS")
 | 
						|
    UpdateRelStyle(customer, web_app, $offsetY="60", $offsetX="90")     
 | 
						|
    Rel(customer, spa, "Uses", "HTTPS")
 | 
						|
    UpdateRelStyle(customer, spa, $offsetY="-40")    
 | 
						|
    Rel(customer, mobile_app, "Uses")
 | 
						|
    UpdateRelStyle(customer, mobile_app, $offsetY="-30") 
 | 
						|
 | 
						|
    Rel(web_app, spa, "Delivers")
 | 
						|
    UpdateRelStyle(web_app, spa, $offsetX="130") 
 | 
						|
    Rel(spa, backend_api, "Uses", "async, JSON/HTTPS")
 | 
						|
    Rel(mobile_app, backend_api, "Uses", "async, JSON/HTTPS")
 | 
						|
    Rel_Back(database, backend_api, "Reads from and writes to", "sync, JDBC")
 | 
						|
 | 
						|
    Rel(email_system, customer, "Sends e-mails to")
 | 
						|
    UpdateRelStyle(email_system, customer, $offsetX="-45")    
 | 
						|
    Rel(backend_api, email_system, "Sends e-mails using", "sync, SMTP")
 | 
						|
    UpdateRelStyle(backend_api, email_system, $offsetY="-60")    
 | 
						|
    Rel(backend_api, banking_system, "Uses", "sync/async, XML/HTTPS")
 | 
						|
    UpdateRelStyle(backend_api, banking_system, $offsetY="-50", $offsetX="-140")
 | 
						|
    </pre>
 | 
						|
 | 
						|
    <pre class="mermaid">
 | 
						|
    C4Component
 | 
						|
    title Component diagram for Internet Banking System - API Application
 | 
						|
 | 
						|
    Container(spa, "Single Page Application", "javascript and angular", "Provides all the internet banking functionality to customers via their web browser.")
 | 
						|
    Container(ma, "Mobile App", "Xamarin", "Provides a limited subset ot the internet banking functionality to customers via their mobile mobile device.")
 | 
						|
    ContainerDb(db, "Database", "Relational Database Schema", "Stores user registration information, hashed authentication credentials, access logs, etc.")
 | 
						|
    System_Ext(mbs, "Mainframe Banking System", "Stores all of the core banking information about customers, accounts, transactions, etc.")
 | 
						|
 | 
						|
    Container_Boundary(api, "API Application") {
 | 
						|
        Component(sign, "Sign In Controller", "MVC Rest Controller", "Allows users to sign in to the internet banking system")
 | 
						|
        Component(accounts, "Accounts Summary Controller", "MVC Rest Controller", "Provides customers with a summary of their bank accounts")
 | 
						|
        Component(security, "Security Component", "Spring Bean", "Provides functionality related to singing in, changing passwords, etc.")
 | 
						|
        Component(mbsfacade, "Mainframe Banking System Facade", "Spring Bean", "A facade onto the mainframe banking system.")
 | 
						|
 | 
						|
        Rel(sign, security, "Uses")
 | 
						|
        Rel(accounts, mbsfacade, "Uses")
 | 
						|
        Rel(security, db, "Read & write to", "JDBC")
 | 
						|
        Rel(mbsfacade, mbs, "Uses", "XML/HTTPS")
 | 
						|
    }
 | 
						|
 | 
						|
    Rel_Back(spa, sign, "Uses", "JSON/HTTPS")
 | 
						|
    Rel(spa, accounts, "Uses", "JSON/HTTPS")
 | 
						|
 | 
						|
    Rel(ma, sign, "Uses", "JSON/HTTPS")
 | 
						|
    Rel(ma, accounts, "Uses", "JSON/HTTPS")
 | 
						|
 | 
						|
    UpdateRelStyle(spa, sign, $offsetY="-40") 
 | 
						|
    UpdateRelStyle(spa, accounts, $offsetX="40", $offsetY="40")
 | 
						|
 | 
						|
    UpdateRelStyle(ma, sign, $offsetX="-90", $offsetY="40")
 | 
						|
    UpdateRelStyle(ma, accounts, $offsetY="-40")
 | 
						|
 | 
						|
        UpdateRelStyle(sign, security, $offsetX="-160", $offsetY="10")
 | 
						|
        UpdateRelStyle(accounts, mbsfacade, $offsetX="140", $offsetY="10")
 | 
						|
        UpdateRelStyle(security, db, $offsetY="-40")
 | 
						|
        UpdateRelStyle(mbsfacade, mbs, $offsetY="-40")
 | 
						|
    </pre>
 | 
						|
 | 
						|
    <pre class="mermaid">
 | 
						|
    C4Dynamic
 | 
						|
    title Dynamic diagram for Internet Banking System - API Application
 | 
						|
 | 
						|
    ContainerDb(c4, "Database", "Relational Database Schema", "Stores user registration information, hashed authentication credentials, access logs, etc.")
 | 
						|
    Container(c1, "Single-Page Application", "JavaScript and Angular", "Provides all of the Internet banking functionality to customers via their web browser.")
 | 
						|
    Container_Boundary(b, "API Application") {
 | 
						|
      Component(c3, "Security Component", "Spring Bean", "Provides functionality Related to signing in, changing passwords, etc.")
 | 
						|
      Component(c2, "Sign In Controller", "Spring MVC Rest Controller", "Allows users to sign in to the Internet Banking System.")
 | 
						|
    }
 | 
						|
    Rel(c1, c2, "Submits credentials to", "JSON/HTTPS")
 | 
						|
    Rel(c2, c3, "Calls isAuthenticated() on")
 | 
						|
    Rel(c3, c4, "select * from users where username = ?", "JDBC")
 | 
						|
 | 
						|
    UpdateRelStyle(c1, c2, $textColor="red", $offsetY="-40")
 | 
						|
    UpdateRelStyle(c2, c3, $textColor="red", $offsetX="-40", $offsetY="60")
 | 
						|
    UpdateRelStyle(c3, c4, $textColor="red", $offsetY="-40", $offsetX="10")
 | 
						|
    </pre>
 | 
						|
 | 
						|
    <pre class="mermaid">
 | 
						|
    C4Deployment
 | 
						|
    title Deployment Diagram for Internet Banking System - Live
 | 
						|
 | 
						|
    Deployment_Node(mob, "Customer's mobile device", "Apple IOS or Android"){
 | 
						|
        Container(mobile, "Mobile App", "Xamarin", "Provides a limited subset of the Internet Banking functionality to customers via their mobile device.")
 | 
						|
    }
 | 
						|
 | 
						|
    Deployment_Node(comp, "Customer's computer", "Mircosoft Windows or Apple macOS"){
 | 
						|
        Deployment_Node(browser, "Web Browser", "Google Chrome, Mozilla Firefox,<br/> Apple Safari or Microsoft Edge"){
 | 
						|
            Container(spa, "Single Page Application", "JavaScript and Angular", "Provides all of the Internet Banking functionality to customers via their web browser.")
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    Deployment_Node(plc, "Big Bank plc", "Big Bank plc data center"){
 | 
						|
        Deployment_Node(dn, "bigbank-api*** x8", "Ubuntu 16.04 LTS"){
 | 
						|
            Deployment_Node(apache, "Apache Tomcat", "Apache Tomcat 8.x"){
 | 
						|
                Container(api, "API Application", "Java and Spring MVC", "Provides Internet Banking functionality via a JSON/HTTPS API.")
 | 
						|
            }
 | 
						|
        }
 | 
						|
        Deployment_Node(bb2, "bigbank-web*** x4", "Ubuntu 16.04 LTS"){
 | 
						|
            Deployment_Node(apache2, "Apache Tomcat", "Apache Tomcat 8.x"){
 | 
						|
                Container(web, "Web Application", "Java and Spring MVC", "Delivers the static content and the Internet Banking single page application.")
 | 
						|
            }
 | 
						|
        }
 | 
						|
        Deployment_Node(bigbankdb01, "bigbank-db01", "Ubuntu 16.04 LTS"){
 | 
						|
            Deployment_Node(oracle, "Oracle - Primary", "Oracle 12c"){
 | 
						|
                ContainerDb(db, "Database", "Relational Database Schema", "Stores user registration information, hashed authentication credentials, access logs, etc.")
 | 
						|
            }
 | 
						|
        }
 | 
						|
        Deployment_Node(bigbankdb02, "bigbank-db02", "Ubuntu 16.04 LTS") {
 | 
						|
            Deployment_Node(oracle2, "Oracle - Secondary", "Oracle 12c") {
 | 
						|
                ContainerDb(db2, "Database", "Relational Database Schema", "Stores user registration information, hashed authentication credentials, access logs, etc.")
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    Rel(mobile, api, "Makes API calls to", "json/HTTPS")
 | 
						|
    Rel(spa, api, "Makes API calls to", "json/HTTPS")
 | 
						|
    Rel_U(web, spa, "Delivers to the customer's web browser")
 | 
						|
    Rel(api, db, "Reads from and writes to", "JDBC")
 | 
						|
    Rel(api, db2, "Reads from and writes to", "JDBC")
 | 
						|
    Rel_R(db, db2, "Replicates data to")
 | 
						|
 | 
						|
    UpdateRelStyle(spa, api, $offsetY="-40")
 | 
						|
    UpdateRelStyle(web, spa, $offsetY="-40")
 | 
						|
    UpdateRelStyle(api, db, $offsetY="-20", $offsetX="5")
 | 
						|
    UpdateRelStyle(api, db2, $offsetX="-40", $offsetY="-20")
 | 
						|
    UpdateRelStyle(db, db2, $offsetY="-10")
 | 
						|
     </pre>
 | 
						|
 | 
						|
    <hr />
 | 
						|
 | 
						|
    <pre class="mermaid">
 | 
						|
    pie
 | 
						|
      title Key elements in Product X
 | 
						|
      accDescription This is a pie chart showing the key elements in Product X.
 | 
						|
      "Calcium" : 42.96
 | 
						|
      "Potassium" : 50.05
 | 
						|
      "Magnesium" : 10.01
 | 
						|
      "Iron" :  5
 | 
						|
    </pre>
 | 
						|
 | 
						|
    <pre class="mermaid">
 | 
						|
    gantt
 | 
						|
      title Airworks roadmap
 | 
						|
      dateFormat YYYY-MM-DD
 | 
						|
      axisFormat %m-%d %a
 | 
						|
      excludes	weekends, 2021-10-01,2021-10-04,2021-10-05,2021-10-06,2021-10-07
 | 
						|
      includes 2021-10-09
 | 
						|
 | 
						|
      section Airworks 3.4.1
 | 
						|
      开发	:b, 2021-10-07, 5d
 | 
						|
      测试	:after b, 4d
 | 
						|
      OK  :milestore
 | 
						|
      section Airworks 3.4.2
 | 
						|
      开发	:a, 2021-10-09, 4d
 | 
						|
      测试	:after a, 4d
 | 
						|
    </pre>
 | 
						|
    <pre class="mermaid">
 | 
						|
    gantt
 | 
						|
    title Exclusive end dates (Manual date should end on 3d)
 | 
						|
    dateFormat YYYY-MM-DD
 | 
						|
    axisFormat %d
 | 
						|
    section Section1
 | 
						|
    2 Days: 1, 2019-01-01,2d
 | 
						|
    Manual Date: 2, 2019-01-01,2019-01-03
 | 
						|
    </pre>
 | 
						|
    <pre class="mermaid">
 | 
						|
    gantt
 | 
						|
    title Inclusive end dates (Manual date should end on 4th)
 | 
						|
    dateFormat YYYY-MM-DD
 | 
						|
    axisFormat %d
 | 
						|
    inclusiveEndDates
 | 
						|
    section Section1
 | 
						|
    2 Days: 1, 2019-01-01,2d
 | 
						|
    Manual Date: 2, 2019-01-01,2019-01-03
 | 
						|
    </pre>
 | 
						|
    <pre class="mermaid">
 | 
						|
    gantt
 | 
						|
    title Hide today marker (vertical line should not be visible)
 | 
						|
    dateFormat YYYY-MM-DD
 | 
						|
    axisFormat %d
 | 
						|
    todayMarker off
 | 
						|
    section Section1
 | 
						|
    Today: 1, -1h
 | 
						|
    </pre>
 | 
						|
    <pre class="mermaid">
 | 
						|
    gantt
 | 
						|
    title Style today marker (vertical line should be 5px wide and half-transparent blue)
 | 
						|
    dateFormat YYYY-MM-DD
 | 
						|
    axisFormat %d
 | 
						|
    todayMarker stroke-width:5px,stroke:#00f,opacity:0.5
 | 
						|
    section Section1
 | 
						|
    Today: 1, -1h
 | 
						|
    </pre>
 | 
						|
 | 
						|
    <hr />
 | 
						|
 | 
						|
    <pre class="mermaid">
 | 
						|
    graph LR
 | 
						|
    sid-B3655226-6C29-4D00-B685-3D5C734DC7E1["
 | 
						|
 | 
						|
    提交申请
 | 
						|
    熊大
 | 
						|
    "];
 | 
						|
    class sid-B3655226-6C29-4D00-B685-3D5C734DC7E1 node-executed;
 | 
						|
    sid-4DA958A0-26D9-4D47-93A7-70F39FD7D51A["
 | 
						|
    负责人审批
 | 
						|
    强子
 | 
						|
    "];
 | 
						|
    class sid-4DA958A0-26D9-4D47-93A7-70F39FD7D51A node-executed;
 | 
						|
    sid-E27C0367-E6D6-497F-9736-3CDC21FDE221["
 | 
						|
    DBA审批
 | 
						|
    强子
 | 
						|
    "];
 | 
						|
    class sid-E27C0367-E6D6-497F-9736-3CDC21FDE221 node-executed;
 | 
						|
    sid-BED98281-9585-4D1B-934E-BD1AC6AC0EFD["
 | 
						|
    SA审批
 | 
						|
    阿美
 | 
						|
    "];
 | 
						|
    class sid-BED98281-9585-4D1B-934E-BD1AC6AC0EFD node-executed;
 | 
						|
    sid-7CE72B24-E0C1-46D3-8132-8BA66BE05AA7["
 | 
						|
    主管审批
 | 
						|
    光头强
 | 
						|
    "];
 | 
						|
    class sid-7CE72B24-E0C1-46D3-8132-8BA66BE05AA7 node-executed;
 | 
						|
    sid-A1B3CD96-7697-4D7C-BEAA-73D187B1BE89["
 | 
						|
    DBA确认
 | 
						|
    强子
 | 
						|
    "];
 | 
						|
    class sid-A1B3CD96-7697-4D7C-BEAA-73D187B1BE89 node-executed;
 | 
						|
    sid-3E35A7FF-A2F4-4E07-9247-DBF884C81937["
 | 
						|
    SA确认
 | 
						|
    阿美
 | 
						|
    "];
 | 
						|
    class sid-3E35A7FF-A2F4-4E07-9247-DBF884C81937 node-executed;
 | 
						|
    sid-4FC27B48-A6F9-460A-A675-021F5854FE22["
 | 
						|
    结束
 | 
						|
    "];
 | 
						|
    class sid-4FC27B48-A6F9-460A-A675-021F5854FE22 node-executed;
 | 
						|
    sid-19DD9E9F-98C1-44EE-B604-842AFEE76F1E["
 | 
						|
    SA执行1
 | 
						|
    强子
 | 
						|
    "];
 | 
						|
    class sid-19DD9E9F-98C1-44EE-B604-842AFEE76F1E node-executed;
 | 
						|
    sid-6C2120F3-D940-4958-A067-0903DCE879C4["
 | 
						|
    SA执行2
 | 
						|
    强子
 | 
						|
    "];
 | 
						|
    class sid-6C2120F3-D940-4958-A067-0903DCE879C4 node-executed;
 | 
						|
    sid-9180E2A0-5C4B-435F-B42F-0D152470A338["
 | 
						|
    DBA执行1
 | 
						|
    强子
 | 
						|
    "];
 | 
						|
    class sid-9180E2A0-5C4B-435F-B42F-0D152470A338 node-executed;
 | 
						|
    sid-03A2C3AC-5337-48A5-B154-BB3FD0EC8DAD["
 | 
						|
    DBA执行3
 | 
						|
    强子
 | 
						|
    "];
 | 
						|
    class sid-03A2C3AC-5337-48A5-B154-BB3FD0EC8DAD node-executed;
 | 
						|
    sid-D5E1F2F4-306C-47A2-BF74-F66E3D769756["
 | 
						|
    DBA执行2
 | 
						|
    强子
 | 
						|
    "];
 | 
						|
    class sid-D5E1F2F4-306C-47A2-BF74-F66E3D769756 node-executed;
 | 
						|
    sid-8C3F2F1D-F014-4F99-B966-095DC1A2BD93["
 | 
						|
    DBA执行4
 | 
						|
    强子
 | 
						|
    "];
 | 
						|
    class sid-8C3F2F1D-F014-4F99-B966-095DC1A2BD93 node-executed;
 | 
						|
    sid-1897B30A-9C5C-4D5B-B80B-76A038785070["
 | 
						|
    负责人确认
 | 
						|
    梁静茹
 | 
						|
    "];
 | 
						|
    class sid-1897B30A-9C5C-4D5B-B80B-76A038785070 node-executed;
 | 
						|
    sid-B3655226-6C29-4D00-B685-3D5C734DC7E1-->sid-7CE72B24-E0C1-46D3-8132-8BA66BE05AA7;
 | 
						|
    sid-4DA958A0-26D9-4D47-93A7-70F39FD7D51A-->sid-1897B30A-9C5C-4D5B-B80B-76A038785070;
 | 
						|
    sid-E27C0367-E6D6-497F-9736-3CDC21FDE221-->sid-A1B3CD96-7697-4D7C-BEAA-73D187B1BE89;
 | 
						|
    sid-BED98281-9585-4D1B-934E-BD1AC6AC0EFD-->sid-3E35A7FF-A2F4-4E07-9247-DBF884C81937;
 | 
						|
    sid-19DD9E9F-98C1-44EE-B604-842AFEE76F1E-->sid-6C2120F3-D940-4958-A067-0903DCE879C4;
 | 
						|
    sid-9180E2A0-5C4B-435F-B42F-0D152470A338-->sid-D5E1F2F4-306C-47A2-BF74-F66E3D769756;
 | 
						|
    sid-03A2C3AC-5337-48A5-B154-BB3FD0EC8DAD-->sid-8C3F2F1D-F014-4F99-B966-095DC1A2BD93;
 | 
						|
    sid-6C2120F3-D940-4958-A067-0903DCE879C4-->sid-4DA958A0-26D9-4D47-93A7-70F39FD7D51A;
 | 
						|
    sid-1897B30A-9C5C-4D5B-B80B-76A038785070-->sid-4FC27B48-A6F9-460A-A675-021F5854FE22;
 | 
						|
    sid-3E35A7FF-A2F4-4E07-9247-DBF884C81937-->sid-19DD9E9F-98C1-44EE-B604-842AFEE76F1E;
 | 
						|
    sid-A1B3CD96-7697-4D7C-BEAA-73D187B1BE89-->sid-9180E2A0-5C4B-435F-B42F-0D152470A338;
 | 
						|
    sid-A1B3CD96-7697-4D7C-BEAA-73D187B1BE89-->sid-03A2C3AC-5337-48A5-B154-BB3FD0EC8DAD;
 | 
						|
    sid-D5E1F2F4-306C-47A2-BF74-F66E3D769756-->sid-4DA958A0-26D9-4D47-93A7-70F39FD7D51A;
 | 
						|
    sid-8C3F2F1D-F014-4F99-B966-095DC1A2BD93-->sid-4DA958A0-26D9-4D47-93A7-70F39FD7D51A;
 | 
						|
    sid-7CE72B24-E0C1-46D3-8132-8BA66BE05AA7-->sid-BED98281-9585-4D1B-934E-BD1AC6AC0EFD;
 | 
						|
    sid-7CE72B24-E0C1-46D3-8132-8BA66BE05AA7-->sid-E27C0367-E6D6-497F-9736-3CDC21FDE221;
 | 
						|
    sid-3E35A7FF-A2F4-4E07-9247-DBF884C81937-->sid-6C2120F3-D940-4958-A067-0903DCE879C4;
 | 
						|
    sid-7CE72B24-E0C1-46D3-8132-8BA66BE05AA7-->sid-4DA958A0-26D9-4D47-93A7-70F39FD7D51A;
 | 
						|
    sid-7CE72B24-E0C1-46D3-8132-8BA66BE05AA7-->sid-4FC27B48-A6F9-460A-A675-021F5854FE22;
 | 
						|
    </pre>
 | 
						|
    <pre class="mermaid">
 | 
						|
    graph TD
 | 
						|
    A[Christmas] -->|Get money| B(Go shopping)
 | 
						|
    B --> C{Let me thinksssssx<br />sssssssssssssssssssuuu<br />tttsssssssssssssssssssssss}
 | 
						|
    C -->|One| D[Laptop]
 | 
						|
    C -->|Two| E[iPhone]
 | 
						|
    C -->|Three| F[Car]
 | 
						|
    </pre>
 | 
						|
    <pre class="mermaid">
 | 
						|
    graph TD
 | 
						|
    A[/Christmas\]
 | 
						|
    A -->|Get money| B[\Go shopping/]
 | 
						|
    B --> C{Let me thinksssss<br />ssssssssssssssssssssss<br />sssssssssssssssssssssssssss}
 | 
						|
    C -->|One| D[/Laptop/]
 | 
						|
    C -->|Two| E[\iPhone\]
 | 
						|
    C -->|Three| F[Car]
 | 
						|
    </pre>
 | 
						|
    <pre class="mermaid">
 | 
						|
    graph LR
 | 
						|
    47(SAM.CommonFA.FMESummary)-->48(SAM.CommonFA.CommonFAFinanceBudget)
 | 
						|
    37(SAM.CommonFA.BudgetSubserviceLineVolume)-->48(SAM.CommonFA.CommonFAFinanceBudget)
 | 
						|
    35(SAM.CommonFA.PopulationFME)-->47(SAM.CommonFA.FMESummary)
 | 
						|
    41(SAM.CommonFA.MetricCost)-->47(SAM.CommonFA.FMESummary)
 | 
						|
    44(SAM.CommonFA.MetricOutliers)-->47(SAM.CommonFA.FMESummary)
 | 
						|
    46(SAM.CommonFA.MetricOpportunity)-->47(SAM.CommonFA.FMESummary)
 | 
						|
    40(SAM.CommonFA.OPVisits)-->47(SAM.CommonFA.FMESummary)
 | 
						|
    38(SAM.CommonFA.CommonFAFinanceRefund)-->47(SAM.CommonFA.FMESummary)
 | 
						|
    43(SAM.CommonFA.CommonFAFinancePicuDays)-->47(SAM.CommonFA.FMESummary)
 | 
						|
    42(SAM.CommonFA.CommonFAFinanceNurseryDays)-->47(SAM.CommonFA.FMESummary)
 | 
						|
    45(SAM.CommonFA.MetricPreOpportunity)-->46(SAM.CommonFA.MetricOpportunity)
 | 
						|
    35(SAM.CommonFA.PopulationFME)-->45(SAM.CommonFA.MetricPreOpportunity)
 | 
						|
    41(SAM.CommonFA.MetricCost)-->45(SAM.CommonFA.MetricPreOpportunity)
 | 
						|
    41(SAM.CommonFA.MetricCost)-->44(SAM.CommonFA.MetricOutliers)
 | 
						|
    39(SAM.CommonFA.ChargeDetails)-->43(SAM.CommonFA.CommonFAFinancePicuDays)
 | 
						|
    39(SAM.CommonFA.ChargeDetails)-->42(SAM.CommonFA.CommonFAFinanceNurseryDays)
 | 
						|
    39(SAM.CommonFA.ChargeDetails)-->41(SAM.CommonFA.MetricCost)
 | 
						|
    39(SAM.CommonFA.ChargeDetails)-->40(SAM.CommonFA.OPVisits)
 | 
						|
    35(SAM.CommonFA.PopulationFME)-->39(SAM.CommonFA.ChargeDetails)
 | 
						|
    36(SAM.CommonFA.PremetricCost)-->39(SAM.CommonFA.ChargeDetails)
 | 
						|
    </pre>
 | 
						|
    <pre class="mermaid">
 | 
						|
    graph TD
 | 
						|
    9e122290_1ec3_e711_8c5a_005056ad0002("fa:fa-creative-commons My System | Test Environment")
 | 
						|
    82072290_1ec3_e711_8c5a_005056ad0002("fa:fa-cogs Shared Business Logic Server:Service 1")
 | 
						|
    db052290_1ec3_e711_8c5a_005056ad0002("fa:fa-cogs Shared Business Logic Server:Service 2")
 | 
						|
    4e112290_1ec3_e711_8c5a_005056ad0002("fa:fa-cogs Shared Report Server:Service 1")
 | 
						|
    30122290_1ec3_e711_8c5a_005056ad0002("fa:fa-cogs Shared Report Server:Service 2")
 | 
						|
    5e112290_1ec3_e711_8c5a_005056ad0002("fa:fa-cogs Dedicated Test Business Logic Server:Service 1")
 | 
						|
    c1112290_1ec3_e711_8c5a_005056ad0002("fa:fa-cogs Dedicated Test Business Logic Server:Service 2")
 | 
						|
    b7042290_1ec3_e711_8c5a_005056ad0002("fa:fa-circle [DBServer\SharedDbInstance].[SupportDb]")
 | 
						|
    8f102290_1ec3_e711_8c5a_005056ad0002("fa:fa-circle [DBServer\SharedDbInstance].[DevelopmentDb]")
 | 
						|
    0e102290_1ec3_e711_8c5a_005056ad0002("fa:fa-circle [DBServer\SharedDbInstance].[TestDb]")
 | 
						|
    07132290_1ec3_e711_8c5a_005056ad0002("fa:fa-circle [DBServer\SharedDbInstance].[SharedReportingDb]")
 | 
						|
    c7072290_1ec3_e711_8c5a_005056ad0002("fa:fa-server Shared Business Logic Server")
 | 
						|
    ca122290_1ec3_e711_8c5a_005056ad0002("fa:fa-server Shared Report Server")
 | 
						|
    68102290_1ec3_e711_8c5a_005056ad0002("fa:fa-server Dedicated Test Business Logic Server")
 | 
						|
    f4112290_1ec3_e711_8c5a_005056ad0002("fa:fa-database [DBServer\SharedDbInstance]")
 | 
						|
    d6072290_1ec3_e711_8c5a_005056ad0002("fa:fa-server DBServer")
 | 
						|
    71082290_1ec3_e711_8c5a_005056ad0002("fa:fa-cogs DBServer\:MSSQLSERVER")
 | 
						|
    c0102290_1ec3_e711_8c5a_005056ad0002("fa:fa-cogs DBServer\:SQLAgent")
 | 
						|
    9a072290_1ec3_e711_8c5a_005056ad0002("fa:fa-cogs DBServer\:SQLBrowser")
 | 
						|
    1d0a2290_1ec3_e711_8c5a_005056ad0002("fa:fa-server VmHost1")
 | 
						|
    200a2290_1ec3_e711_8c5a_005056ad0002("fa:fa-server VmHost2")
 | 
						|
    1c0a2290_1ec3_e711_8c5a_005056ad0002("fa:fa-server VmHost3")
 | 
						|
    9e122290_1ec3_e711_8c5a_005056ad0002-->82072290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    9e122290_1ec3_e711_8c5a_005056ad0002-->db052290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    9e122290_1ec3_e711_8c5a_005056ad0002-->4e112290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    9e122290_1ec3_e711_8c5a_005056ad0002-->30122290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    9e122290_1ec3_e711_8c5a_005056ad0002-->5e112290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    9e122290_1ec3_e711_8c5a_005056ad0002-->c1112290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    82072290_1ec3_e711_8c5a_005056ad0002-->b7042290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    82072290_1ec3_e711_8c5a_005056ad0002-->8f102290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    82072290_1ec3_e711_8c5a_005056ad0002-->0e102290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    82072290_1ec3_e711_8c5a_005056ad0002-->c7072290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    db052290_1ec3_e711_8c5a_005056ad0002-->c7072290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    db052290_1ec3_e711_8c5a_005056ad0002-->82072290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    4e112290_1ec3_e711_8c5a_005056ad0002-->b7042290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    4e112290_1ec3_e711_8c5a_005056ad0002-->8f102290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    4e112290_1ec3_e711_8c5a_005056ad0002-->0e102290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    4e112290_1ec3_e711_8c5a_005056ad0002-->07132290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    4e112290_1ec3_e711_8c5a_005056ad0002-->ca122290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    30122290_1ec3_e711_8c5a_005056ad0002-->ca122290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    30122290_1ec3_e711_8c5a_005056ad0002-->4e112290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    5e112290_1ec3_e711_8c5a_005056ad0002-->8f102290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    5e112290_1ec3_e711_8c5a_005056ad0002-->68102290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    c1112290_1ec3_e711_8c5a_005056ad0002-->68102290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    c1112290_1ec3_e711_8c5a_005056ad0002-->5e112290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    b7042290_1ec3_e711_8c5a_005056ad0002-->f4112290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    8f102290_1ec3_e711_8c5a_005056ad0002-->f4112290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    0e102290_1ec3_e711_8c5a_005056ad0002-->f4112290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    07132290_1ec3_e711_8c5a_005056ad0002-->f4112290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    c7072290_1ec3_e711_8c5a_005056ad0002-->1d0a2290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    ca122290_1ec3_e711_8c5a_005056ad0002-->200a2290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    68102290_1ec3_e711_8c5a_005056ad0002-->1c0a2290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    f4112290_1ec3_e711_8c5a_005056ad0002-->d6072290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    f4112290_1ec3_e711_8c5a_005056ad0002-->71082290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    f4112290_1ec3_e711_8c5a_005056ad0002-->c0102290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    f4112290_1ec3_e711_8c5a_005056ad0002-->9a072290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    d6072290_1ec3_e711_8c5a_005056ad0002-->1c0a2290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    71082290_1ec3_e711_8c5a_005056ad0002-->d6072290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    c0102290_1ec3_e711_8c5a_005056ad0002-->d6072290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    c0102290_1ec3_e711_8c5a_005056ad0002-->71082290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    9a072290_1ec3_e711_8c5a_005056ad0002-->d6072290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    9a072290_1ec3_e711_8c5a_005056ad0002-->71082290_1ec3_e711_8c5a_005056ad0002
 | 
						|
    </pre>
 | 
						|
    <pre class="mermaid">
 | 
						|
    graph TB
 | 
						|
    subgraph One
 | 
						|
    a1-->a2
 | 
						|
    end
 | 
						|
    </pre>
 | 
						|
    <pre class="mermaid">
 | 
						|
    graph TB
 | 
						|
    A
 | 
						|
    B
 | 
						|
    subgraph foo[Foo SubGraph]
 | 
						|
    C
 | 
						|
    D
 | 
						|
    end
 | 
						|
    subgraph bar[Bar SubGraph]
 | 
						|
    E
 | 
						|
    F
 | 
						|
    end
 | 
						|
    G
 | 
						|
 | 
						|
    A-->B
 | 
						|
    B-->C
 | 
						|
    C-->D
 | 
						|
    B-->D
 | 
						|
    D-->E
 | 
						|
    E-->A
 | 
						|
    E-->F
 | 
						|
    F-->D
 | 
						|
    F-->G
 | 
						|
    B-->G
 | 
						|
    G-->D
 | 
						|
 | 
						|
    style foo fill:#F99,stroke-width:2px,stroke:#F0F,color:darkred
 | 
						|
    style bar fill:#999,stroke-width:10px,stroke:#0F0,color:blue
 | 
						|
    </pre>
 | 
						|
    <pre class="mermaid">
 | 
						|
    graph LR
 | 
						|
    456ac9b0d15a8b7f1e71073221059886[1051 AAA fa:fa-check]
 | 
						|
    f7f580e11d00a75814d2ded41fe8e8fe[1141 BBB fa:fa-check]
 | 
						|
    81dc9bdb52d04dc20036dbd8313ed055[1234 CCC fa:fa-check]
 | 
						|
    456ac9b0d15a8b7f1e71073221059886 -->|Node| f7f580e11d00a75814d2ded41fe8e8fe
 | 
						|
    f7f580e11d00a75814d2ded41fe8e8fe -->|Node| 81dc9bdb52d04dc20036dbd8313ed055
 | 
						|
    click 456ac9b0d15a8b7f1e71073221059886 "/admin/user/view?id=1051" "AAA
 | 
						|
    6000"
 | 
						|
    click f7f580e11d00a75814d2ded41fe8e8fe "/admin/user/view?id=1141" "BBB
 | 
						|
    600"
 | 
						|
    click 81dc9bdb52d04dc20036dbd8313ed055 "/admin/user/view?id=1234" "CCC
 | 
						|
    3000"
 | 
						|
    style 456ac9b0d15a8b7f1e71073221059886 fill:#f9f,stroke:#333,stroke-width:4px
 | 
						|
    </pre>
 | 
						|
    <pre class="mermaid">
 | 
						|
    graph TD
 | 
						|
    A[Christmas] -->|Get money| B(Go shopping)
 | 
						|
    B --> C{{Let me think...<br />Do I want something for work,<br />something to spend every free second with,<br />or something to get around?}}
 | 
						|
    C -->|One| D[Laptop]
 | 
						|
    C -->|Two| E[iPhone]
 | 
						|
    C -->|Three| F[Car]
 | 
						|
    click A "index.html#link-clicked" "link test"
 | 
						|
    click B testClick "click test"
 | 
						|
    classDef someclass fill:#f96;
 | 
						|
    class A someclass;
 | 
						|
    class C someclass;
 | 
						|
    </pre>
 | 
						|
    <pre class="mermaid">
 | 
						|
    graph TD
 | 
						|
    A([stadium shape test])
 | 
						|
    A -->|Get money| B([Go shopping])
 | 
						|
    B --> C([Let me think...<br />Do I want something for work,<br />something to spend every free second with,<br />or something to get around?])
 | 
						|
    C -->|One| D([Laptop])
 | 
						|
    C -->|Two| E([iPhone])
 | 
						|
    C -->|Three| F([Car<br />wroom wroom])
 | 
						|
    click A "index.html#link-clicked" "link test"
 | 
						|
    click B testClick "click test"
 | 
						|
    classDef someclass fill:#f96;
 | 
						|
    class A someclass;
 | 
						|
    class C someclass;
 | 
						|
    </pre>
 | 
						|
    <pre class="mermaid">
 | 
						|
    graph LR
 | 
						|
    A[[subroutine shape test]]
 | 
						|
    A -->|Get money| B[[Go shopping]]
 | 
						|
    B --> C[[Let me think...<br />Do I want something for work,<br />something to spend every free second with,<br />or something to get around?]]
 | 
						|
    C -->|One| D[[Laptop]]
 | 
						|
    C -->|Two| E[[iPhone]]
 | 
						|
    C -->|Three| F[[Car<br />wroom wroom]]
 | 
						|
    click A "index.html#link-clicked" "link test"
 | 
						|
    click B testClick "click test"
 | 
						|
    classDef someclass fill:#f96;
 | 
						|
    class A someclass;
 | 
						|
    class C someclass;
 | 
						|
    </pre>
 | 
						|
    <pre class="mermaid">
 | 
						|
    graph LR
 | 
						|
    A[(cylindrical<br />shape<br />test)]
 | 
						|
    A -->|Get money| B1[(Go shopping 1)]
 | 
						|
    A -->|Get money| B2[(Go shopping 2)]
 | 
						|
    A -->|Get money| B3[(Go shopping 3)]
 | 
						|
    C[(Let me think...<br />Do I want something for work,<br />something to spend every free second with,<br />or something to get around?)]
 | 
						|
    B1 --> C
 | 
						|
    B2 --> C
 | 
						|
    B3 --> C
 | 
						|
    C -->|One| D[(Laptop)]
 | 
						|
    C -->|Two| E[(iPhone)]
 | 
						|
    C -->|Three| F[(Car)]
 | 
						|
    click A "index.html#link-clicked" "link test"
 | 
						|
    click B testClick "click test"
 | 
						|
    classDef someclass fill:#f96;
 | 
						|
    class A someclass;
 | 
						|
    </pre>
 | 
						|
    <pre class="mermaid">
 | 
						|
    graph LR
 | 
						|
    A1[Multi<br>Line] -->|Multi<br>Line| B1(Multi<br>Line)
 | 
						|
    C1[Multi<br />Line] -->|Multi<br />Line| D1(Multi<br />Line)
 | 
						|
    E1[Multi<br />Line] -->|Multi<br />Line| F1(Multi<br />Line)
 | 
						|
    A2[Multi<br>Line] -->|Multi<br>Line| B2(Multi<br>Line)
 | 
						|
    C2[Multi<br />Line] -->|Multi<br />Line| D2(Multi<br />Line)
 | 
						|
    E2[Multi<br />Line] -->|Multi<br />Line| F2(Multi<br />Line)
 | 
						|
    linkStyle 0 stroke:DarkGray,stroke-width:2px
 | 
						|
    linkStyle 1 stroke:DarkGray,stroke-width:2px
 | 
						|
    linkStyle 2 stroke:DarkGray,stroke-width:2px
 | 
						|
    </pre>
 | 
						|
    <pre class="mermaid">
 | 
						|
    graph LR
 | 
						|
    A(( )) -->|step 1| B(( ))
 | 
						|
    B(( )) -->|step 2| C(( ))
 | 
						|
    C(( )) -->|step 3| D(( ))
 | 
						|
    linkStyle 1 stroke:greenyellow,stroke-width:2px
 | 
						|
    style C fill:greenyellow,stroke:green,stroke-width:4px
 | 
						|
    </pre>
 | 
						|
    <pre class="mermaid">
 | 
						|
    graph TB
 | 
						|
    TITLE["Link Click Events<br>(click the nodes below)"]
 | 
						|
    A["link test (open in same tab)"]
 | 
						|
    B["link test (open in new tab)"]
 | 
						|
    C[anchor test]
 | 
						|
    D[mailto test]
 | 
						|
    E[other protocol test]
 | 
						|
    F[script test]
 | 
						|
    TITLE --> A & B & C & D & E & F
 | 
						|
    click A "https://mermaid-js.github.io/mermaid/#/" "link test (open in same tab)"
 | 
						|
    click B "https://mermaid-js.github.io/mermaid/#/" "link test (open in new tab)" _blank
 | 
						|
    click C "#link-clicked"
 | 
						|
    click D "mailto:user@user.user" "mailto test"
 | 
						|
    click E "notes://do-your-thing/id" "other protocol test"
 | 
						|
    click F "javascript:alert('test')" "script test"
 | 
						|
    </pre>
 | 
						|
    <hr />
 | 
						|
    <pre class="mermaid">
 | 
						|
    graph LR
 | 
						|
    A[red<br>text] -->|red<br>text| B(blue<br>text)
 | 
						|
    C[/red<br />text/] -->|blue<br />text| D{blue<br />text}
 | 
						|
    E{{default<br />style}} -->|default<br />style| F([default<br />style])
 | 
						|
    linkStyle default color:Sienna;
 | 
						|
    linkStyle 0 color:red;
 | 
						|
    linkStyle 1 stroke:DarkGray,stroke-width:2px,color:#0000ff
 | 
						|
    style A color:red;
 | 
						|
    style B color:blue;
 | 
						|
    style C stroke:#ff0000,fill:#ffcccc,color:#ff0000
 | 
						|
    style D stroke:#0000ff,fill:#ccccff,color:#0000ff
 | 
						|
    click B "index.html#link-clicked" "link test"
 | 
						|
    click D testClick "click test"
 | 
						|
    </pre>
 | 
						|
    <pre class="mermaid">
 | 
						|
    graph TD
 | 
						|
    A[myClass1] --> B[default] & C[default]
 | 
						|
    B[default] & C[default] --> D[myClass2]
 | 
						|
    classDef default stroke-width:2px,fill:none,stroke:silver
 | 
						|
    classDef node color:red
 | 
						|
    classDef myClass1 color:#0000ff
 | 
						|
    classDef myClass2 stroke:#0000ff,fill:#ccccff
 | 
						|
    class A myClass1
 | 
						|
    class D myClass2
 | 
						|
    </pre>
 | 
						|
 | 
						|
    <hr />
 | 
						|
 | 
						|
    <pre class="mermaid">
 | 
						|
    sequenceDiagram
 | 
						|
    accDescription Hello friends
 | 
						|
    participant Alice
 | 
						|
    participant Bob
 | 
						|
    participant John as John<br />Second Line
 | 
						|
    rect rgb(200, 220, 100)
 | 
						|
    rect rgb(200, 255, 200)
 | 
						|
    Alice ->> Bob: Hello Bob, how are you?
 | 
						|
    Bob-->>John: How about you John?
 | 
						|
    end
 | 
						|
    Bob--x Alice: I am good thanks!
 | 
						|
    Bob-x John: I am good thanks!
 | 
						|
    Note right of John: John thinks a long<br />long time, so long<br />that the text does<br />not fit on a row.
 | 
						|
    Bob-->Alice: Checking with John...
 | 
						|
    Note over John:wrap: John looks like he's still thinking, so Bob prods him a bit.
 | 
						|
    Bob-x John: Hey John - we're still waiting to know<br />how you're doing
 | 
						|
    Note over John:nowrap: John's trying hard not to break his train of thought.
 | 
						|
    Bob-x John:wrap: John! Are you still debating about how you're doing? How long does it take??
 | 
						|
    Note over John: After a few more moments, John<br />finally snaps out of it.
 | 
						|
    end
 | 
						|
    alt either this
 | 
						|
    Alice->>John: Yes
 | 
						|
    else or this
 | 
						|
    Alice->>John: No
 | 
						|
    else or this will happen
 | 
						|
    Alice->John: Maybe
 | 
						|
    end
 | 
						|
    par this happens in parallel
 | 
						|
    Alice -->> Bob: Parallel message 1
 | 
						|
    and
 | 
						|
    Alice -->> John: Parallel message 2
 | 
						|
    end
 | 
						|
    </pre>
 | 
						|
    <pre class="mermaid">
 | 
						|
    sequenceDiagram
 | 
						|
    participant 1 as multiline<br>using #lt;br#gt;
 | 
						|
    participant 2 as multiline<br />using #lt;br/#gt;
 | 
						|
    participant 3 as multiline<br />using #lt;br /#gt;
 | 
						|
    participant 4 as multiline<br />using #lt;br /#gt;
 | 
						|
    1->>2: multiline<br>using #lt;br#gt;
 | 
						|
    note right of 2: multiline<br>using #lt;br#gt;
 | 
						|
    2->>3: multiline<br />using #lt;br/#gt;
 | 
						|
    note right of 3: multiline<br />using #lt;br/#gt;
 | 
						|
    3->>4: multiline<br />using #lt;br /#gt;
 | 
						|
    note right of 4: multiline<br />using #lt;br /#gt;
 | 
						|
    4->>1: multiline<br />using #lt;br /#gt;
 | 
						|
    note right of 1: multiline<br />using #lt;br /#gt;
 | 
						|
    </pre>
 | 
						|
    <pre class="mermaid">
 | 
						|
    sequenceDiagram
 | 
						|
    autonumber
 | 
						|
    Alice->>John: Hello John,<br>how are you?
 | 
						|
    autonumber 50 10
 | 
						|
    Alice->>John: John,<br />can you hear me?
 | 
						|
    John-->>Alice: Hi Alice,<br />I can hear you!
 | 
						|
    autonumber off
 | 
						|
    John-->>Alice: I feel great!
 | 
						|
    </pre>
 | 
						|
 | 
						|
    <hr />
 | 
						|
 | 
						|
    <pre class="mermaid">
 | 
						|
    gantt
 | 
						|
    dateFormat YYYY-MM-DD
 | 
						|
    axisFormat %d/%m
 | 
						|
    title Adding GANTT diagram to mermaid
 | 
						|
    excludes weekdays 2014-01-10
 | 
						|
 | 
						|
    section A section
 | 
						|
    Completed task :done, des1, 2014-01-06,2014-01-08
 | 
						|
    Active task :active, des2, 2014-01-09, 3d
 | 
						|
    Future task : des3, after des2, 5d
 | 
						|
    Future task2 : des4, after des3, 5d
 | 
						|
 | 
						|
    section Critical tasks
 | 
						|
    Completed task in the critical line :crit, done, 2014-01-06,24h
 | 
						|
    Implement parser and jison :crit, done, after des1, 2d
 | 
						|
    Create tests for parser :crit, active, 3d
 | 
						|
    Future task in critical line :crit, 5d
 | 
						|
    Create tests for renderer :2d
 | 
						|
    Add to mermaid :1d
 | 
						|
 | 
						|
    section Documentation
 | 
						|
    Describe gantt syntax :active, a1, after des1, 3d
 | 
						|
    Add gantt diagram to demo page :after a1 , 20h
 | 
						|
    Add another diagram to demo page :doc1, after a1 , 48h
 | 
						|
 | 
						|
    section Clickable
 | 
						|
    Visit mermaidjs :active, cl1, 2014-01-07,2014-01-10
 | 
						|
    Calling a Callback (look at the console log) :cl2, after cl1, 3d
 | 
						|
 | 
						|
    click cl1 href "https://mermaidjs.github.io/"
 | 
						|
    click cl2 call ganttTestClick("test", test, test)
 | 
						|
 | 
						|
    section Last section
 | 
						|
    Describe gantt syntax :after doc1, 3d
 | 
						|
    Add gantt diagram to demo page : 20h
 | 
						|
    Add another diagram to demo page : 48h
 | 
						|
    </pre>
 | 
						|
    <pre class="mermaid">
 | 
						|
    gantt
 | 
						|
    dateFormat YYYY-MM-DD
 | 
						|
    axisFormat %d/%m
 | 
						|
    title GANTT diagram with multiline section titles
 | 
						|
    excludes weekdays 2014-01-10
 | 
						|
 | 
						|
    section A section<br>multiline
 | 
						|
    Completed task : done, des1, 2014-01-06,2014-01-08
 | 
						|
    Active task : active, des2, 2014-01-09, 3d
 | 
						|
    Future task : des3, after des2, 5d
 | 
						|
    Future task2 : des4, after des3, 5d
 | 
						|
 | 
						|
    section Critical tasks<br />multiline
 | 
						|
    Completed task in the critical line : crit, done, 2014-01-06, 24h
 | 
						|
    Implement parser and jison : crit, done, after des1, 2d
 | 
						|
    Create tests for parser : crit, active, 3d
 | 
						|
    Future task in critical line : crit, 5d
 | 
						|
    Create tests for renderer : 2d
 | 
						|
    Add to mermaid : 1d
 | 
						|
 | 
						|
    section Documentation<br />multiline
 | 
						|
    Describe gantt syntax : active, a1, after des1, 3d
 | 
						|
    Add gantt diagram to demo page : after a1, 20h
 | 
						|
    Add another diagram to demo page : doc1, after a1, 48h
 | 
						|
 | 
						|
    section Last section<br />multiline
 | 
						|
    Describe gantt syntax : after doc1, 3d
 | 
						|
    Add gantt diagram to demo page : 20h
 | 
						|
    Add another diagram to demo page : 48h
 | 
						|
    </pre>
 | 
						|
 | 
						|
    <hr />
 | 
						|
 | 
						|
    <pre class="mermaid">
 | 
						|
    gitGraph:
 | 
						|
    options
 | 
						|
    {
 | 
						|
    "nodeSpacing": 50, 
 | 
						|
    "nodeRadius": 5
 | 
						|
    }
 | 
						|
    end
 | 
						|
    branch master
 | 
						|
    commit
 | 
						|
    branch newbranch
 | 
						|
    checkout newbranch
 | 
						|
    commit
 | 
						|
    commit
 | 
						|
    checkout master
 | 
						|
    commit
 | 
						|
    commit
 | 
						|
    merge newbranch
 | 
						|
    </pre>
 | 
						|
 | 
						|
    <hr />
 | 
						|
 | 
						|
    <pre class="mermaid">
 | 
						|
    classDiagram
 | 
						|
    Class01 <|-- AveryLongClass : Cool
 | 
						|
 | 
						|
    <<interface>> Class01
 | 
						|
    Class03 "0" *-- "0..n" Class04
 | 
						|
    Class05 "1" o-- "many" Class06
 | 
						|
    Class07 .. Class08
 | 
						|
    Class09 "many" --> "1" C2 : Where am i?
 | 
						|
    Class09 "0" --* "1..n" C3
 | 
						|
    Class09 --|> Class07
 | 
						|
    Class07 : equals()
 | 
						|
    Class07 : Object[] elementData
 | 
						|
    Class01 : #size()
 | 
						|
    Class01 : -int chimp
 | 
						|
    Class01 : +int gorilla
 | 
						|
    Class08 <--> C2: Cool label
 | 
						|
      class Class10 {
 | 
						|
      <<service>>
 | 
						|
      int id
 | 
						|
      size()
 | 
						|
      }
 | 
						|
    </pre>
 | 
						|
 | 
						|
    <pre class="mermaid">
 | 
						|
    classDiagram
 | 
						|
    class Class01~T~
 | 
						|
    Class01 : #size()
 | 
						|
    Class01 : -int chimp
 | 
						|
    Class01 : +int gorilla
 | 
						|
    class Class10~T~ {
 | 
						|
    <<service>>
 | 
						|
    int id
 | 
						|
    size()
 | 
						|
    }
 | 
						|
    </pre>
 | 
						|
 | 
						|
    <pre class="mermaid">
 | 
						|
    classDiagram
 | 
						|
    Class01~T~ <|-- AveryLongClass : Cool
 | 
						|
    <<interface>> Class01
 | 
						|
    Class03~T~ "0" *-- "0..n" Class04
 | 
						|
    Class05 "1" o-- "many" Class06
 | 
						|
    Class07~T~ .. Class08
 | 
						|
    Class09 "many" --> "1" C2 : Where am i?
 | 
						|
      Class09 "0" --* "1..n" C3
 | 
						|
      Class09 --|> Class07
 | 
						|
      Class07 : equals()
 | 
						|
      Class07 : Object[] elementData
 | 
						|
      Class01 : #size()
 | 
						|
      Class01 : -int chimp
 | 
						|
      Class01 : +int gorilla
 | 
						|
      Class08 <--> C2: Cool label
 | 
						|
        class Class10 {
 | 
						|
        <<service>>
 | 
						|
        int id
 | 
						|
        size()
 | 
						|
        }
 | 
						|
    </pre>
 | 
						|
 | 
						|
    <pre class="mermaid">
 | 
						|
    classDiagram
 | 
						|
    Interface1 ()-- Interface1Impl
 | 
						|
    </pre>
 | 
						|
 | 
						|
    <pre class="mermaid">
 | 
						|
    classDiagram 
 | 
						|
    direction LR
 | 
						|
    Animal ()-- Dog
 | 
						|
    Dog : bark()
 | 
						|
    Dog : species()
 | 
						|
    </pre>
 | 
						|
 | 
						|
    <pre class="mermaid">
 | 
						|
    classDiagram 
 | 
						|
    direction RL
 | 
						|
    Fruit ()-- Apple
 | 
						|
    Apple : color()
 | 
						|
    Apple : -int leafCount()
 | 
						|
    Fruit ()-- Pineapple
 | 
						|
    Pineapple : color()
 | 
						|
    Pineapple : -int leafCount()
 | 
						|
    Pineapple : -int spikeCount()
 | 
						|
    </pre>
 | 
						|
 | 
						|
    <pre class="mermaid">
 | 
						|
    stateDiagram
 | 
						|
    accDescription This is a state diagram showing one state
 | 
						|
    State1
 | 
						|
    </pre>
 | 
						|
 | 
						|
    <hr />
 | 
						|
 | 
						|
    <pre class="mermaid">
 | 
						|
    stateDiagram
 | 
						|
    [*] --> First
 | 
						|
    state First {
 | 
						|
    [*] --> second
 | 
						|
    second --> [*]
 | 
						|
    }
 | 
						|
    </pre>
 | 
						|
    <pre class="mermaid">
 | 
						|
    stateDiagram
 | 
						|
    State1: The state with a note
 | 
						|
    note right of State1
 | 
						|
    Important information! You can write
 | 
						|
    notes.
 | 
						|
    end note
 | 
						|
    State1 --> State2
 | 
						|
    note left of State2 : This is the note to the left.
 | 
						|
    </pre>
 | 
						|
    <pre class="mermaid">
 | 
						|
    stateDiagram
 | 
						|
    State1
 | 
						|
    note right of State1
 | 
						|
    Line1<br>Line2<br />Line3<br />Line4<br />Line5
 | 
						|
    end note
 | 
						|
    </pre>
 | 
						|
 | 
						|
    <hr />
 | 
						|
 | 
						|
    <pre class="mermaid">
 | 
						|
    requirementDiagram
 | 
						|
 | 
						|
    requirement An Example {
 | 
						|
    id: 1
 | 
						|
    text: the test text.
 | 
						|
    risk: high
 | 
						|
    verifymethod: test
 | 
						|
    }
 | 
						|
 | 
						|
    functionalRequirement Random Name {
 | 
						|
    id: 1.1
 | 
						|
    text: the second test text.
 | 
						|
    risk: low
 | 
						|
    verifymethod: inspection
 | 
						|
    }
 | 
						|
 | 
						|
    performanceRequirement Something Else {
 | 
						|
    id: 1.2
 | 
						|
    text: the third test text.
 | 
						|
    risk: medium
 | 
						|
    verifymethod: demonstration
 | 
						|
    }
 | 
						|
 | 
						|
    interfaceRequirement test_req4 {
 | 
						|
    id: 1.2.1
 | 
						|
    text: the fourth test text.
 | 
						|
    risk: medium
 | 
						|
    verifymethod: analysis
 | 
						|
    }
 | 
						|
 | 
						|
    physicalRequirement test_req5 {
 | 
						|
    id: 1.2.2
 | 
						|
    text: the fifth test text.
 | 
						|
    risk: medium
 | 
						|
    verifymethod: analysis
 | 
						|
    }
 | 
						|
 | 
						|
    designConstraint test_req6 {
 | 
						|
    id: 1.2.3
 | 
						|
    text: really long text to test overflow. really long text to test overflow. really long text to test overflow.
 | 
						|
    risk: medium
 | 
						|
    verifymethod: analysis
 | 
						|
    }
 | 
						|
 | 
						|
    element test_entity {
 | 
						|
    type: simulation
 | 
						|
    }
 | 
						|
 | 
						|
    element test_entity2 {
 | 
						|
    type: word doc
 | 
						|
    docRef: reqs/test_entity
 | 
						|
    }
 | 
						|
 | 
						|
    element test_entity3 {
 | 
						|
    type: "test suite"
 | 
						|
    docRef: github.com/all_the_tests
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    test_entity - satisfies -> Random Name
 | 
						|
    An Example - traces -> Random Name
 | 
						|
    An Example - contains -> Something Else
 | 
						|
    Something Else - contains -> test_req4
 | 
						|
    test_req4 - derives -> test_req5
 | 
						|
    test_req5 - refines -> test_req6
 | 
						|
    test_entity3 - verifies -> test_req5
 | 
						|
    An Example <- copies - test_entity2
 | 
						|
    </pre>
 | 
						|
 | 
						|
    <h1 id="link-clicked">Anchor for "link-clicked" test</h1>
 | 
						|
 | 
						|
    <script src="./mermaid.js"></script>
 | 
						|
    <script>
 | 
						|
      const ALLOWED_TAGS = [
 | 
						|
        'a',
 | 
						|
        'b',
 | 
						|
        'blockquote',
 | 
						|
        'br',
 | 
						|
        'dd',
 | 
						|
        'div',
 | 
						|
        'dl',
 | 
						|
        'dt',
 | 
						|
        'em',
 | 
						|
        'foreignObject',
 | 
						|
        'h1',
 | 
						|
        'h2',
 | 
						|
        'h3',
 | 
						|
        'h4',
 | 
						|
        'h5',
 | 
						|
        'h6',
 | 
						|
        'h7',
 | 
						|
        'h8',
 | 
						|
        'hr',
 | 
						|
        'i',
 | 
						|
        'li',
 | 
						|
        'ul',
 | 
						|
        'ol',
 | 
						|
        'p',
 | 
						|
        'pre',
 | 
						|
        'span',
 | 
						|
        'strike',
 | 
						|
        'strong',
 | 
						|
        'table',
 | 
						|
        'tbody',
 | 
						|
        'td',
 | 
						|
        'tfoot',
 | 
						|
        'th',
 | 
						|
        'thead',
 | 
						|
        'tr',
 | 
						|
      ];
 | 
						|
      mermaid.initialize({
 | 
						|
        theme: 'forest',
 | 
						|
        // themeCSS: '.node rect { fill: red; }',
 | 
						|
        logLevel: 3,
 | 
						|
        securityLevel: 'loose',
 | 
						|
        flowchart: { curve: 'basis' },
 | 
						|
        gantt: { axisFormat: '%m/%d/%Y' },
 | 
						|
        sequence: { actorMargin: 50 },
 | 
						|
        dompurifyConfig: {
 | 
						|
          USE_PROFILES: {
 | 
						|
            svg: true,
 | 
						|
          },
 | 
						|
          ADD_TAGS: ALLOWED_TAGS,
 | 
						|
          ADD_ATTR: ['transform-origin'],
 | 
						|
        },
 | 
						|
        // sequenceDiagram: { actorMargin: 300 } // deprecated
 | 
						|
      });
 | 
						|
    </script>
 | 
						|
    <script>
 | 
						|
      function ganttTestClick(a, b, c) {
 | 
						|
        console.log('a:', a);
 | 
						|
        console.log('b:', b);
 | 
						|
        console.log('c:', c);
 | 
						|
      }
 | 
						|
      function testClick(nodeId) {
 | 
						|
        console.log('clicked', nodeId);
 | 
						|
        var originalBgColor = document.querySelector('body').style.backgroundColor;
 | 
						|
        document.querySelector('body').style.backgroundColor = 'yellow';
 | 
						|
        setTimeout(function () {
 | 
						|
          document.querySelector('body').style.backgroundColor = originalBgColor;
 | 
						|
        }, 100);
 | 
						|
      }
 | 
						|
    </script>
 | 
						|
    <script>
 | 
						|
      const testLineEndings = (test, input) => {
 | 
						|
        try {
 | 
						|
          mermaid.render(test, input, () => {
 | 
						|
            //no-op
 | 
						|
          });
 | 
						|
        } catch (err) {
 | 
						|
          console.error('Error in %s:\n\n%s', test, err);
 | 
						|
        }
 | 
						|
      };
 | 
						|
 | 
						|
      testLineEndings('CR', 'graph LR\rsubgraph CR\rA --> B\rend');
 | 
						|
      testLineEndings('LF', 'graph LR\nsubgraph LF\nA --> B\nend');
 | 
						|
      testLineEndings('CRLF', 'graph LR\r\nsubgraph CRLF\r\nA --> B\r\nend');
 | 
						|
    </script>
 | 
						|
  </body>
 | 
						|
</html>
 |