summaryrefslogtreecommitdiff
path: root/docs/src/gettingstarted/debugging/fsm_example.svg
blob: 134b0fbdfdb98dd4fbf4fb8ed398a9947c46226b (plain)
1
<svg id="mermaid-1652441732449" width="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" height="796" style="max-width: 1351.44px; background-color: white;" viewBox="0 0 1351.4375 796"><style>#mermaid-1652441732449 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-1652441732449 .error-icon{fill:#552222;}#mermaid-1652441732449 .error-text{fill:#552222;stroke:#552222;}#mermaid-1652441732449 .edge-thickness-normal{stroke-width:2px;}#mermaid-1652441732449 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-1652441732449 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-1652441732449 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-1652441732449 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-1652441732449 .marker{fill:#333333;stroke:#333333;}#mermaid-1652441732449 .marker.cross{stroke:#333333;}#mermaid-1652441732449 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-1652441732449 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-1652441732449 .cluster-label text{fill:#333;}#mermaid-1652441732449 .cluster-label span{color:#333;}#mermaid-1652441732449 .label text,#mermaid-1652441732449 span{fill:#333;color:#333;}#mermaid-1652441732449 .node rect,#mermaid-1652441732449 .node circle,#mermaid-1652441732449 .node ellipse,#mermaid-1652441732449 .node polygon,#mermaid-1652441732449 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-1652441732449 .node .label{text-align:center;}#mermaid-1652441732449 .node.clickable{cursor:pointer;}#mermaid-1652441732449 .arrowheadPath{fill:#333333;}#mermaid-1652441732449 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-1652441732449 .flowchart-link{stroke:#333333;fill:none;}#mermaid-1652441732449 .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-1652441732449 .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-1652441732449 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-1652441732449 .cluster text{fill:#333;}#mermaid-1652441732449 .cluster span{color:#333;}#mermaid-1652441732449 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-1652441732449 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><g class="output"><g class="clusters"></g><g class="edgePaths"><g class="edgePath LS-Deregistered LE-No_Server" id="L-Deregistered-No_Server" style="opacity: 1;"><path class="path" d="M855.8828125,46L855.8828125,51.666666666666664C855.8828125,57.333333333333336,855.8828125,68.66666666666667,855.8828125,80C855.8828125,91.33333333333333,855.8828125,102.66666666666667,855.8828125,108.33333333333333L855.8828125,114" marker-end="url(#arrowhead109)" style="fill:none"></path><defs><marker id="arrowhead109" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath LS-No_Server LE-Chosen_Server" id="L-No_Server-Chosen_Server" style="opacity: 1;"><path class="path" d="M807.640625,136.6325343663113L698.369140625,144.86044530525942C589.09765625,153.08835624420752,370.5546875,169.54417812210377,261.283203125,183.43875572771856C152.01171875,197.33333333333334,152.01171875,208.66666666666666,152.01171875,214.33333333333334L152.01171875,220" marker-end="url(#arrowhead110)" style="fill:none"></path><defs><marker id="arrowhead110" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath LS-Chosen_Server LE-Authorized" id="L-Chosen_Server-Authorized" style="opacity: 1;"><path class="path" d="M209.98076356132077,258L227.26977692610066,263.6666666666667C244.55879029088052,269.3333333333333,279.1368170204403,280.6666666666667,296.42583038522014,292C313.71484375,303.3333333333333,313.71484375,314.6666666666667,313.71484375,320.3333333333333L313.71484375,326" marker-end="url(#arrowhead111)" style="fill:none"></path><defs><marker id="arrowhead111" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath LS-Chosen_Server LE-OAuth_Started" id="L-Chosen_Server-OAuth_Started" style="opacity: 1;"><path class="path" d="M132.74985259433961,258L127.00508549528301,263.6666666666667C121.26031839622641,269.3333333333333,109.77078419811319,280.6666666666667,104.0260170990566,295.1666666666667C98.28125,309.6666666666667,98.28125,327.3333333333333,98.28125,345C98.28125,362.6666666666667,98.28125,380.3333333333333,98.28125,398C98.28125,415.6666666666667,98.28125,433.3333333333333,98.28125,451C98.28125,468.6666666666667,98.28125,486.3333333333333,119.537109375,501.081704507387C140.79296875,515.8300756814406,183.3046875,527.6601513628813,204.560546875,533.5751892036016L225.81640625,539.4902270443218" marker-end="url(#arrowhead112)" style="fill:none"></path><defs><marker id="arrowhead112" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath LS-OAuth_Started LE-Authorized" id="L-OAuth_Started-Authorized" style="opacity: 1;"><path class="path" d="M335.38826650943395,538L349.3014200078616,532.3333333333334C363.2145735062893,526.6666666666666,391.0408805031446,515.3333333333334,404.9540340015723,500.8333333333333C418.8671875,486.3333333333333,418.8671875,468.6666666666667,418.8671875,451C418.8671875,433.3333333333333,418.8671875,415.6666666666667,407.6244840801887,401.1666666666667C396.3817806603774,386.6666666666667,373.8963738207547,375.3333333333333,362.65367040094344,369.6666666666667L351.4109669811321,364" marker-end="url(#arrowhead113)" style="fill:none"></path><defs><marker id="arrowhead113" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath LS-OAuth_Started LE-No_Server" id="L-OAuth_Started-No_Server" style="opacity: 1;"><path class="path" d="M351.66015625,544.1957405324334L384.5813802083333,537.4964504436945C417.5026041666667,530.7971603549556,483.3450520833333,517.3985801774778,516.2662760416666,501.86595675540553C549.1875,486.3333333333333,549.1875,468.6666666666667,549.1875,451C549.1875,433.3333333333333,549.1875,415.6666666666667,549.1875,398C549.1875,380.3333333333333,549.1875,362.6666666666667,549.1875,345C549.1875,327.3333333333333,549.1875,309.6666666666667,549.1875,292C549.1875,274.3333333333333,549.1875,256.6666666666667,549.1875,239C549.1875,221.33333333333334,549.1875,203.66666666666666,592.2630208333334,187.3894549592005C635.3385416666666,171.1122432517343,721.4895833333334,156.2244865034686,764.5651041666666,148.78060812933575L807.640625,141.3367297552029" marker-end="url(#arrowhead114)" style="fill:none"></path><defs><marker id="arrowhead114" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath LS-Authorized LE-OAuth_Started" id="L-Authorized-OAuth_Started" style="opacity: 1;"><path class="path" d="M276.0187205188679,364L264.77601709905656,369.6666666666667C253.53331367924525,375.3333333333333,231.04790683962264,386.6666666666667,219.8052034198113,401.1666666666667C208.5625,415.6666666666667,208.5625,433.3333333333333,208.5625,451C208.5625,468.6666666666667,208.5625,486.3333333333333,217.13475334119497,500.8333333333333C225.70700668238996,515.3333333333334,242.85151336477986,526.6666666666666,251.42376670597483,532.3333333333334L259.9960200471698,538" marker-end="url(#arrowhead115)" style="fill:none"></path><defs><marker id="arrowhead115" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath LS-Authorized LE-Request_Config" id="L-Authorized-Request_Config" style="opacity: 1;"><path class="path" d="M361.96484375,352.5418591523335L410.435546875,360.1182159602779C458.90625,367.6945727682223,555.84765625,382.84728638411116,610.6236119300314,396.09030985872226C665.399567610063,409.3333333333333,678.0100727201258,420.6666666666667,684.3153252751572,426.3333333333333L690.6205778301887,432" marker-end="url(#arrowhead116)" style="fill:none"></path><defs><marker id="arrowhead116" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath LS-Request_Config LE-Ask_Profile" id="L-Request_Config-Ask_Profile" style="opacity: 1;"><path class="path" d="M750.6537441037735,470L762.2531200864779,475.6666666666667C773.8524960691824,481.3333333333333,797.0512480345911,492.6666666666667,818.85546875,504C840.6596894654089,515.3333333333334,861.0693789308176,526.6666666666666,871.2742236635221,532.3333333333334L881.4790683962265,538" marker-end="url(#arrowhead117)" style="fill:none"></path><defs><marker id="arrowhead117" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath LS-Request_Config LE-Has_Config" id="L-Request_Config-Has_Config" style="opacity: 1;"><path class="path" d="M677.5454746462265,470L667.3406299135221,475.6666666666667C657.1357851808176,481.3333333333333,636.7260957154089,492.6666666666667,626.5212509827044,507.1666666666667C616.31640625,521.6666666666666,616.31640625,539.3333333333334,616.31640625,557C616.31640625,574.6666666666666,616.31640625,592.3333333333334,671.5462239583334,608.8057733149838C726.7760416666666,625.2782132966341,837.2356770833334,640.5564265932684,892.4654947916666,648.1955332415855L947.6953125,655.8346398899026" marker-end="url(#arrowhead118)" style="fill:none"></path><defs><marker id="arrowhead118" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath LS-Request_Config LE-No_Server" id="L-Request_Config-No_Server" style="opacity: 1;"><path class="path" d="M760.8567216981132,432L775.4990909984277,426.3333333333333C790.1414602987421,420.6666666666667,819.4261988993711,409.3333333333333,834.0685681996856,394.8333333333333C848.7109375,380.3333333333333,848.7109375,362.6666666666667,848.7109375,345C848.7109375,327.3333333333333,848.7109375,309.6666666666667,848.7109375,292C848.7109375,274.3333333333333,848.7109375,256.6666666666667,848.7109375,239C848.7109375,221.33333333333334,848.7109375,203.66666666666666,849.477741745283,189.16666666666666C850.244545990566,174.66666666666666,851.778154481132,163.33333333333334,852.5449587264151,157.66666666666666L853.3117629716982,152" marker-end="url(#arrowhead119)" style="fill:none"></path><defs><marker id="arrowhead119" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath LS-Request_Config LE-OAuth_Started" id="L-Request_Config-OAuth_Started" style="opacity: 1;"><path class="path" d="M644.38671875,459.9709911678116L589.2747395833334,467.3091593065096C534.1627604166666,474.64732744520774,423.9388020833333,489.32366372260384,366.15637283805034,502.3284985279686C308.3739435927673,515.3333333333334,303.0330434355346,526.6666666666666,300.36259335691824,532.3333333333334L297.6921432783019,538" marker-end="url(#arrowhead120)" style="fill:none"></path><defs><marker id="arrowhead120" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath LS-Has_Config LE-Connected" id="L-Has_Config-Connected" style="opacity: 1;"><path class="path" d="M966.1841833726415,682L956.2478871855346,687.6666666666666C946.3115909984277,693.3333333333334,926.4389986242139,704.6666666666666,926.4389986242137,716C926.4389986242139,727.3333333333334,946.3115909984277,738.6666666666666,956.2478871855346,744.3333333333334L966.1841833726415,750" marker-end="url(#arrowhead121)" style="fill:none"></path><defs><marker id="arrowhead121" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath LS-Has_Config LE-Request_Config" id="L-Has_Config-Request_Config" style="opacity: 1;"><path class="path" d="M1036.245283018868,644L1047.2044025157231,638.3333333333334C1058.1635220125786,632.6666666666666,1080.0817610062893,621.3333333333334,1091.0408805031445,606.8333333333334C1102,592.3333333333334,1102,574.6666666666666,1102,557C1102,539.3333333333334,1102,521.6666666666666,1048.189453125,505.52508316566735C994.37890625,489.383499664668,886.7578125,474.766999329336,832.947265625,467.45874916167L779.13671875,460.15049899400407" marker-end="url(#arrowhead122)" style="fill:none"></path><defs><marker id="arrowhead122" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath LS-Has_Config LE-No_Server" id="L-Has_Config-No_Server" style="opacity: 1;"><path class="path" d="M1051.3046875,650.4623452606044L1079.1692708333333,643.7186210505037C1107.0338541666667,636.974896840403,1162.7630208333333,623.4874484202014,1190.6276041666667,607.9103908767673C1218.4921875,592.3333333333334,1218.4921875,574.6666666666666,1218.4921875,557C1218.4921875,539.3333333333334,1218.4921875,521.6666666666666,1218.4921875,504C1218.4921875,486.3333333333333,1218.4921875,468.6666666666667,1218.4921875,451C1218.4921875,433.3333333333333,1218.4921875,415.6666666666667,1218.4921875,398C1218.4921875,380.3333333333333,1218.4921875,362.6666666666667,1218.4921875,345C1218.4921875,327.3333333333333,1218.4921875,309.6666666666667,1218.4921875,292C1218.4921875,274.3333333333333,1218.4921875,256.6666666666667,1218.4921875,239C1218.4921875,221.33333333333334,1218.4921875,203.66666666666666,1166.09765625,187.17520216601312C1113.703125,170.6837376653596,1008.9140625,155.36747533071917,956.51953125,147.70934416339898L904.125,140.05121299607876" marker-end="url(#arrowhead123)" style="fill:none"></path><defs><marker id="arrowhead123" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath LS-Ask_Profile LE-Has_Config" id="L-Ask_Profile-Has_Config" style="opacity: 1;"><path class="path" d="M915.6953125,576L915.6953125,581.6666666666666C915.6953125,587.3333333333334,915.6953125,598.6666666666666,924.6555621069183,610C933.6158117138365,621.3333333333334,951.5363109276728,632.6666666666666,960.4965605345911,638.3333333333334L969.4568101415094,644" marker-end="url(#arrowhead124)" style="fill:none"></path><defs><marker id="arrowhead124" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath LS-Ask_Profile LE-No_Server" id="L-Ask_Profile-No_Server" style="opacity: 1;"><path class="path" d="M944.7694575471698,538L953.4406937893082,532.3333333333334C962.1119300314466,526.6666666666666,979.4544025157232,515.3333333333334,988.1256387578616,500.8333333333333C996.796875,486.3333333333333,996.796875,468.6666666666667,996.796875,451C996.796875,433.3333333333333,996.796875,415.6666666666667,996.796875,398C996.796875,380.3333333333333,996.796875,362.6666666666667,996.796875,345C996.796875,327.3333333333333,996.796875,309.6666666666667,996.796875,292C996.796875,274.3333333333333,996.796875,256.6666666666667,996.796875,239C996.796875,221.33333333333334,996.796875,203.66666666666666,981.3515625,189.0241078523775C965.90625,174.38154903808837,935.015625,162.76309807617676,919.5703125,156.95387259522093L904.125,151.14464711426513" marker-end="url(#arrowhead125)" style="fill:none"></path><defs><marker id="arrowhead125" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g><g class="edgePath LS-Connected LE-Has_Config" id="L-Connected-Has_Config" style="opacity: 1;"><path class="path" d="M1032.8158166273586,750L1042.7521128144656,744.3333333333334C1052.6884090015724,738.6666666666666,1072.5610013757862,727.3333333333334,1072.5610013757862,716C1072.5610013757862,704.6666666666666,1052.6884090015724,693.3333333333334,1042.7521128144656,687.6666666666666L1032.8158166273586,682" marker-end="url(#arrowhead126)" style="fill:none"></path><defs><marker id="arrowhead126" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker></defs></g></g><g class="edgeLabels"><g class="edgeLabel" transform="translate(855.8828125,80)" style="opacity: 1;"><g transform="translate(-53.3515625,-9)" class="label"><rect rx="0" ry="0" width="106.703125" height="18"></rect><foreignObject width="106.703125" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-Deregistered-No_Server" class="edgeLabel L-LS-Deregistered' L-LE-No_Server">Client registers</span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(152.01171875,186)" style="opacity: 1;"><g transform="translate(-80.03125,-9)" class="label"><rect rx="0" ry="0" width="160.0625" height="18"></rect><foreignObject width="160.0625" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-No_Server-Chosen_Server" class="edgeLabel L-LS-No_Server' L-LE-Chosen_Server">User chooses a server</span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(313.71484375,292)" style="opacity: 1;"><g transform="translate(-80.5,-9)" class="label"><rect rx="0" ry="0" width="161" height="18"></rect><foreignObject width="161" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-Chosen_Server-Authorized" class="edgeLabel L-LS-Chosen_Server' L-LE-Authorized">Found tokens in config</span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(98.28125,398)" style="opacity: 1;"><g transform="translate(-90.28125,-9)" class="label"><rect rx="0" ry="0" width="180.5625" height="18"></rect><foreignObject width="180.5625" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-Chosen_Server-OAuth_Started" class="edgeLabel L-LS-Chosen_Server' L-LE-OAuth_Started">No tokens found in config</span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(418.8671875,451)" style="opacity: 1;"><g transform="translate(-103.1484375,-9)" class="label"><rect rx="0" ry="0" width="206.296875" height="18"></rect><foreignObject width="206.296875" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-OAuth_Started-Authorized" class="edgeLabel L-LS-OAuth_Started' L-LE-Authorized">User authorizes with browser</span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(549.1875,345)" style="opacity: 1;"><g transform="translate(-54.2421875,-9)" class="label"><rect rx="0" ry="0" width="108.484375" height="18"></rect><foreignObject width="108.484375" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-OAuth_Started-No_Server" class="edgeLabel L-LS-OAuth_Started' L-LE-No_Server">Cancel or Error</span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(208.5625,451)" style="opacity: 1;"><g transform="translate(-87.15625,-9)" class="label"><rect rx="0" ry="0" width="174.3125" height="18"></rect><foreignObject width="174.3125" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-Authorized-OAuth_Started" class="edgeLabel L-LS-Authorized' L-LE-OAuth_Started">Re-authorize with OAuth</span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(652.7890625,398)" style="opacity: 1;"><g transform="translate(-83.6015625,-9)" class="label"><rect rx="0" ry="0" width="167.203125" height="18"></rect><foreignObject width="167.203125" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-Authorized-Request_Config" class="edgeLabel L-LS-Authorized' L-LE-Request_Config">Client requests a config</span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(820.25,504)" style="opacity: 1;"><g transform="translate(-156.546875,-9)" class="label"><rect rx="0" ry="0" width="313.09375" height="18"></rect><foreignObject width="313.09375" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-Request_Config-Ask_Profile" class="edgeLabel L-LS-Request_Config' L-LE-Ask_Profile">Multiple profiles found and no profile chosen</span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(616.31640625,557)" style="opacity: 1;"><g transform="translate(-145.859375,-9)" class="label"><rect rx="0" ry="0" width="291.71875" height="18"></rect><foreignObject width="291.71875" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-Request_Config-Has_Config" class="edgeLabel L-LS-Request_Config' L-LE-Has_Config">Only one profile or profile already chosen</span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(848.7109375,292)" style="opacity: 1;"><g transform="translate(-54.2421875,-9)" class="label"><rect rx="0" ry="0" width="108.484375" height="18"></rect><foreignObject width="108.484375" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-Request_Config-No_Server" class="edgeLabel L-LS-Request_Config' L-LE-No_Server">Cancel or Error</span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(313.71484375,504)" style="opacity: 1;"><g transform="translate(-45.8046875,-9)" class="label"><rect rx="0" ry="0" width="91.609375" height="18"></rect><foreignObject width="91.609375" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-Request_Config-OAuth_Started" class="edgeLabel L-LS-Request_Config' L-LE-OAuth_Started">Re-authorize</span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(906.56640625,716)" style="opacity: 1;"><g transform="translate(-77.8203125,-9)" class="label"><rect rx="0" ry="0" width="155.640625" height="18"></rect><foreignObject width="155.640625" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-Has_Config-Connected" class="edgeLabel L-LS-Has_Config' L-LE-Connected">OS reports connected</span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(1102,557)" style="opacity: 1;"><g transform="translate(-96.4921875,-9)" class="label"><rect rx="0" ry="0" width="192.984375" height="18"></rect><foreignObject width="192.984375" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-Has_Config-Request_Config" class="edgeLabel L-LS-Has_Config' L-LE-Request_Config">User chooses a new profile</span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(1218.4921875,398)" style="opacity: 1;"><g transform="translate(-124.9453125,-9)" class="label"><rect rx="0" ry="0" width="249.890625" height="18"></rect><foreignObject width="249.890625" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-Has_Config-No_Server" class="edgeLabel L-LS-Has_Config' L-LE-No_Server">User wants to choose a new server</span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(915.6953125,610)" style="opacity: 1;"><g transform="translate(-72.921875,-9)" class="label"><rect rx="0" ry="0" width="145.84375" height="18"></rect><foreignObject width="145.84375" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-Ask_Profile-Has_Config" class="edgeLabel L-LS-Ask_Profile' L-LE-Has_Config">User chooses profile</span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(996.796875,345)" style="opacity: 1;"><g transform="translate(-99.625,-9)" class="label"><rect rx="0" ry="0" width="199.25" height="18"></rect><foreignObject width="199.25" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-Ask_Profile-No_Server" class="edgeLabel L-LS-Ask_Profile' L-LE-No_Server">Done but no profile selected</span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(1092.43359375,716)" style="opacity: 1;"><g transform="translate(-88.046875,-9)" class="label"><rect rx="0" ry="0" width="176.09375" height="18"></rect><foreignObject width="176.09375" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-Connected-Has_Config" class="edgeLabel L-LS-Connected' L-LE-Has_Config">OS reports disconnected</span></div></foreignObject></g></g></g><g class="nodes"><g class="node default" id="flowchart-Deregistered-54" transform="translate(855.8828125,27)" style="opacity: 1;"><rect rx="5" ry="5" x="-55.8046875" y="-19" width="111.609375" height="38" class="label-container" style="fill:white;"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-45.8046875,-9)"><foreignObject width="91.609375" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Deregistered</div></foreignObject></g></g></g><g class="node default" id="flowchart-No_Server-56" transform="translate(855.8828125,133)" style="opacity: 1;"><rect rx="5" ry="5" x="-48.2421875" y="-19" width="96.484375" height="38" class="label-container" style="fill:white;"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-38.2421875,-9)"><foreignObject width="76.484375" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">No_Server</div></foreignObject></g></g></g><g class="node default" id="flowchart-Chosen_Server-59" transform="translate(152.01171875,239)" style="opacity: 1;"><rect rx="5" ry="5" x="-65.5859375" y="-19" width="131.171875" height="38" class="label-container" style="fill:white;fill:white;"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-55.5859375,-9)"><foreignObject width="111.171875" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Chosen_Server</div></foreignObject></g></g></g><g class="node default" id="flowchart-Authorized-62" transform="translate(313.71484375,345)" style="opacity: 1;"><rect rx="5" ry="5" x="-48.25" y="-19" width="96.5" height="38" class="label-container" style="fill:white;fill:white;"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-38.25,-9)"><foreignObject width="76.5" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Authorized</div></foreignObject></g></g></g><g class="node default" id="flowchart-OAuth_Started-65" transform="translate(288.73828125,557)" style="opacity: 1;"><rect rx="5" ry="5" x="-62.921875" y="-19" width="125.84375" height="38" class="label-container" style="fill:white;fill:white;"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-52.921875,-9)"><foreignObject width="105.84375" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">OAuth_Started</div></foreignObject></g></g></g><g class="node default" id="flowchart-Request_Config-77" transform="translate(711.76171875,451)" style="opacity: 1;"><rect rx="5" ry="5" x="-67.375" y="-19" width="134.75" height="38" class="label-container" style="fill:white;fill:white;fill:white;fill:white;"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-57.375,-9)"><foreignObject width="114.75" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Request_Config</div></foreignObject></g></g></g><g class="node default" id="flowchart-Ask_Profile-80" transform="translate(915.6953125,557)" style="opacity: 1;"><rect rx="5" ry="5" x="-50.4609375" y="-19" width="100.921875" height="38" class="label-container" style="fill:white;fill:white;"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-40.4609375,-9)"><foreignObject width="80.921875" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Ask_Profile</div></foreignObject></g></g></g><g class="node default" id="flowchart-Has_Config-83" transform="translate(999.5,663)" style="opacity: 1;"><rect rx="5" ry="5" x="-51.8046875" y="-19" width="103.609375" height="38" class="label-container" style="fill:cyan;fill:cyan;fill:cyan;"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-41.8046875,-9)"><foreignObject width="83.609375" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Has_Config</div></foreignObject></g></g></g><g class="node default" id="flowchart-Connected-92" transform="translate(999.5,769)" style="opacity: 1;"><rect rx="5" ry="5" x="-48.6953125" y="-19" width="97.390625" height="38" class="label-container" style="fill:white;"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-38.6953125,-9)"><foreignObject width="77.390625" height="18"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Connected</div></foreignObject></g></g></g></g></g></g></svg>