@elliemae/pui-cli 8.62.3 → 8.62.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/docs/404.html +5 -5
- package/build/docs/api/functions/loadRoutes/index.html +10 -10
- package/build/docs/api/index.html +9 -9
- package/build/docs/api/type-aliases/LIB_NAME/index.html +6 -6
- package/build/docs/api/variables/babelConfig/index.html +29 -29
- package/build/docs/api/variables/commitlintConfig/index.html +9 -9
- package/build/docs/api/variables/eslintBaseConfig/index.html +119 -119
- package/build/docs/api/variables/eslintConfig/index.html +167 -167
- package/build/docs/api/variables/jestConfig/index.html +87 -87
- package/build/docs/api/variables/jestNodeConfig/index.html +87 -87
- package/build/docs/api/variables/lintStagedConfig/index.html +13 -13
- package/build/docs/api/variables/prettierConfig/index.html +19 -19
- package/build/docs/api/variables/stylelintConfig/index.html +19 -19
- package/build/docs/api/variables/vitestConfig/index.html +6 -6
- package/build/docs/assets/css/{styles.c76f0d12.css → styles.5e594f8e.css} +1 -1
- package/build/docs/assets/js/04ee7372.6701a521.js +1 -0
- package/build/docs/assets/js/1038.7eccbe83.js +1 -0
- package/build/docs/assets/js/1200.62fdfb17.js +1 -0
- package/build/docs/assets/js/1340.e320589e.js +1 -0
- package/build/docs/assets/js/1348.fdba76ee.js +1 -0
- package/build/docs/assets/js/1591.b2d5d84b.js +1 -0
- package/build/docs/assets/js/{16b7bc88.384bbfa6.js → 16b7bc88.98d0e7e1.js} +1 -1
- package/build/docs/assets/js/17896441.4a6e0d00.js +1 -0
- package/build/docs/assets/js/1912.edd5c016.js +1 -0
- package/build/docs/assets/js/{1b9df811.7c12d74c.js → 1b9df811.cbc3937e.js} +1 -1
- package/build/docs/assets/js/213.e69351b3.js +1 -0
- package/build/docs/assets/js/2154.9723abaf.js +1 -0
- package/build/docs/assets/js/2185.f2209249.js +1 -0
- package/build/docs/assets/js/2186.40926696.js +1 -0
- package/build/docs/assets/js/2327.22ae5940.js +1 -0
- package/build/docs/assets/js/234.83bc0029.js +1 -0
- package/build/docs/assets/js/2399.63cd96a9.js +1 -0
- package/build/docs/assets/js/2421.0a678e37.js +1 -0
- package/build/docs/assets/js/{7048.333735e8.js → 2534.dbf7919d.js} +1 -1
- package/build/docs/assets/js/2650.eb69c6a5.js +1 -0
- package/build/docs/assets/js/2652.3c5e01f6.js +1 -0
- package/build/docs/assets/js/2675.413b1881.js +1 -0
- package/build/docs/assets/js/2856.434d8532.js +1 -0
- package/build/docs/assets/js/3075.8eb78c50.js +1 -0
- package/build/docs/assets/js/3171.c208ec80.js +1 -0
- package/build/docs/assets/js/3186.4706e934.js +1 -0
- package/build/docs/assets/js/3242.80d2f573.js +1 -0
- package/build/docs/assets/js/3380.fa624efa.js +1 -0
- package/build/docs/assets/js/3720.8e7f36d4.js +2 -0
- package/build/docs/assets/js/3731.3625e619.js +1 -0
- package/build/docs/assets/js/3749.25d3a9dc.js +1 -0
- package/build/docs/assets/js/3753.ad43bbbf.js +1 -0
- package/build/docs/assets/js/{37d86055.a3793e79.js → 37d86055.ac328609.js} +1 -1
- package/build/docs/assets/js/386.82e1d440.js +2 -0
- package/build/docs/assets/js/386.82e1d440.js.LICENSE.txt +1 -0
- package/build/docs/assets/js/3938.381439b7.js +1 -0
- package/build/docs/assets/js/3995.9c7a08d7.js +1 -0
- package/build/docs/assets/js/4074.2d89387a.js +1 -0
- package/build/docs/assets/js/4567.40926696.js +1 -0
- package/build/docs/assets/js/4570.22eef064.js +1 -0
- package/build/docs/assets/js/4832.f41ebb6a.js +1 -0
- package/build/docs/assets/js/4944.20a6ae14.js +1 -0
- package/build/docs/assets/js/504.082248a2.js +1 -0
- package/build/docs/assets/js/5111.1b6768c7.js +1 -0
- package/build/docs/assets/js/5153.ccd7118e.js +1 -0
- package/build/docs/assets/js/5463.df303412.js +1 -0
- package/build/docs/assets/js/5529.a57e8e4a.js +1 -0
- package/build/docs/assets/js/5663.13fc2f9f.js +1 -0
- package/build/docs/assets/js/5818.62ee6d97.js +1 -0
- package/build/docs/assets/js/5850.e0052526.js +1 -0
- package/build/docs/assets/js/5973.50ffe932.js +1 -0
- package/build/docs/assets/js/{5d5f1db0.478d1366.js → 5d5f1db0.ee0a2786.js} +1 -1
- package/build/docs/assets/js/{5e8c322a.efde0b1b.js → 5e8c322a.03e5f869.js} +1 -1
- package/build/docs/assets/js/5e95c892.0b2807a1.js +1 -0
- package/build/docs/assets/js/{5fb3c522.a5641583.js → 5fb3c522.7fa934f6.js} +1 -1
- package/build/docs/assets/js/6001.475cf9bc.js +1 -0
- package/build/docs/assets/js/6216.81ed3f71.js +1 -0
- package/build/docs/assets/js/6286.1e2004df.js +1 -0
- package/build/docs/assets/js/6737.cba35710.js +1 -0
- package/build/docs/assets/js/6779.48fa5e85.js +1 -0
- package/build/docs/assets/js/6780.35d6b408.js +1 -0
- package/build/docs/assets/js/681.7048216c.js +1 -0
- package/build/docs/assets/js/{6bd11e52.8445697f.js → 6bd11e52.4a64999a.js} +1 -1
- package/build/docs/assets/js/6e96545e.82b3f634.js +1 -0
- package/build/docs/assets/js/7129.6a95a014.js +1 -0
- package/build/docs/assets/js/7173.3df1d101.js +1 -0
- package/build/docs/assets/js/{71f6d02b.46228c35.js → 71f6d02b.f4ef9e77.js} +1 -1
- package/build/docs/assets/js/7330.25c0f54a.js +1 -0
- package/build/docs/assets/js/777.6cc435d2.js +1 -0
- package/build/docs/assets/js/{80e87108.6b0a340e.js → 80e87108.fb514ef2.js} +1 -1
- package/build/docs/assets/js/{1206.d4327b16.js → 8335.7c94cd06.js} +1 -1
- package/build/docs/assets/js/8347.ba32afd0.js +1 -0
- package/build/docs/assets/js/8398.64ed21da.js +1 -0
- package/build/docs/assets/js/8585.38199cd1.js +1 -0
- package/build/docs/assets/js/8725.440f4f8c.js +1 -0
- package/build/docs/assets/js/918.44c83d98.js +1 -0
- package/build/docs/assets/js/9242.e3fb85ca.js +1 -0
- package/build/docs/assets/js/940.c104b973.js +1 -0
- package/build/docs/assets/js/9661.e5f9a8b1.js +1 -0
- package/build/docs/assets/js/9718.706df9d5.js +1 -0
- package/build/docs/assets/js/9737.81795237.js +1 -0
- package/build/docs/assets/js/9805.40926696.js +1 -0
- package/build/docs/assets/js/9998.2236d038.js +1 -0
- package/build/docs/assets/js/{a7bd4aaa.bbcaa6ab.js → a7bd4aaa.82b76b67.js} +1 -1
- package/build/docs/assets/js/a94703ab.8fd80ed9.js +1 -0
- package/build/docs/assets/js/{b8ac1d98.20b7f87c.js → b8ac1d98.eac62e10.js} +1 -1
- package/build/docs/assets/js/{bde5209a.7f232bf8.js → bde5209a.1f661437.js} +1 -1
- package/build/docs/assets/js/{c377a04b.0965a6f2.js → c377a04b.54071de3.js} +1 -1
- package/build/docs/assets/js/common.469f0e39.js +1 -0
- package/build/docs/assets/js/{e5f79924.1b7c8fd6.js → e5f79924.3b9434d6.js} +1 -1
- package/build/docs/assets/js/{f736c962.9ac135e1.js → f736c962.1745b6ff.js} +1 -1
- package/build/docs/assets/js/main.ceaf5a1d.js +2 -0
- package/build/docs/assets/js/runtime~main.2ef68500.js +1 -0
- package/build/docs/index.html +66 -66
- package/build/docs/ssl-certificate-setup/index.html +24 -24
- package/build/docs/usage-guide/index.html +85 -85
- package/dist/cjs/package.json +1 -4
- package/dist/esm/package.json +1 -4
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +17 -17
- package/build/docs/assets/js/04ee7372.b1dcd3d9.js +0 -1
- package/build/docs/assets/js/1128.9ff5d096.js +0 -1
- package/build/docs/assets/js/1262.d1c4c9bd.js +0 -1
- package/build/docs/assets/js/1316.2f619863.js +0 -2
- package/build/docs/assets/js/1316.2f619863.js.LICENSE.txt +0 -1
- package/build/docs/assets/js/1588.8a61195f.js +0 -1
- package/build/docs/assets/js/1783.8b385fce.js +0 -1
- package/build/docs/assets/js/17896441.aa99c4b5.js +0 -1
- package/build/docs/assets/js/1944.083a40da.js +0 -1
- package/build/docs/assets/js/2535.486788ef.js +0 -1
- package/build/docs/assets/js/2762.1f225b61.js +0 -1
- package/build/docs/assets/js/280.e6b3c363.js +0 -1
- package/build/docs/assets/js/2919.a0e90f28.js +0 -1
- package/build/docs/assets/js/2948.802fa79d.js +0 -1
- package/build/docs/assets/js/32.3e01a330.js +0 -1
- package/build/docs/assets/js/3241.57801946.js +0 -1
- package/build/docs/assets/js/338.eac1f210.js +0 -1
- package/build/docs/assets/js/3455.b04bcf73.js +0 -1
- package/build/docs/assets/js/365.7dfc1c9b.js +0 -1
- package/build/docs/assets/js/3715.6de9c72e.js +0 -1
- package/build/docs/assets/js/3807.315d3647.js +0 -1
- package/build/docs/assets/js/3956.6817c831.js +0 -1
- package/build/docs/assets/js/4179.8f624946.js +0 -1
- package/build/docs/assets/js/4250.1db07eb8.js +0 -1
- package/build/docs/assets/js/4273.55f1d480.js +0 -2
- package/build/docs/assets/js/4430.ceb8b97f.js +0 -1
- package/build/docs/assets/js/4986.88c0e4c4.js +0 -1
- package/build/docs/assets/js/5146.9c2d5a70.js +0 -1
- package/build/docs/assets/js/5256.9c97e6c5.js +0 -1
- package/build/docs/assets/js/5291.b3189179.js +0 -1
- package/build/docs/assets/js/5384.c08a8b31.js +0 -1
- package/build/docs/assets/js/5e95c892.d57b4057.js +0 -1
- package/build/docs/assets/js/61.73463c9d.js +0 -1
- package/build/docs/assets/js/6176.08e5ab11.js +0 -1
- package/build/docs/assets/js/6668.9ed55615.js +0 -1
- package/build/docs/assets/js/6870.af8f1a4f.js +0 -1
- package/build/docs/assets/js/6e96545e.237cb417.js +0 -1
- package/build/docs/assets/js/7311.638d1073.js +0 -1
- package/build/docs/assets/js/7617.0bb56b23.js +0 -1
- package/build/docs/assets/js/7803.74307e92.js +0 -1
- package/build/docs/assets/js/7897.2559cb99.js +0 -1
- package/build/docs/assets/js/7919.7f173626.js +0 -1
- package/build/docs/assets/js/8213.30ff6f0f.js +0 -1
- package/build/docs/assets/js/9016.ea955f0a.js +0 -1
- package/build/docs/assets/js/9018.0e3aeec5.js +0 -1
- package/build/docs/assets/js/9199.39e38dc8.js +0 -1
- package/build/docs/assets/js/9349.68c3fedb.js +0 -1
- package/build/docs/assets/js/9566.974ba8ff.js +0 -1
- package/build/docs/assets/js/9799.856d5e67.js +0 -1
- package/build/docs/assets/js/9822.c1ad99cd.js +0 -1
- package/build/docs/assets/js/9945.d801623d.js +0 -1
- package/build/docs/assets/js/a94703ab.e6576f9b.js +0 -1
- package/build/docs/assets/js/common.f9eba4a3.js +0 -1
- package/build/docs/assets/js/main.548fd04b.js +0 -2
- package/build/docs/assets/js/runtime~main.3504f0b1.js +0 -1
- /package/build/docs/assets/js/{4273.55f1d480.js.LICENSE.txt → 3720.8e7f36d4.js.LICENSE.txt} +0 -0
- /package/build/docs/assets/js/{main.548fd04b.js.LICENSE.txt → main.ceaf5a1d.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[5818],{5818(e,t,s){s.d(t,{diagram:()=>R});var i=s(9673),n=s(1355),r=s(1033),a=(s(9976),s(33),s(2679),s(735),s(6170),s(490),s(1538),s(3639)),l=s(4689),o=s(2371),c=s(8053),h=function(){var e=(0,c.K)(function(e,t,s,i){for(s=s||{},i=e.length;i--;s[e[i]]=t);return s},"o"),t=[1,3],s=[1,4],i=[1,5],n=[1,6],r=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],a=[1,22],l=[2,7],o=[1,26],h=[1,27],u=[1,28],y=[1,29],m=[1,33],d=[1,34],E=[1,35],p=[1,36],R=[1,37],_=[1,38],f=[1,24],g=[1,31],S=[1,32],I=[1,30],b=[1,39],T=[1,40],k=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],N=[1,61],q=[89,90],C=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],A=[27,29],L=[1,70],v=[1,71],$=[1,72],O=[1,73],x=[1,74],w=[1,75],D=[1,76],M=[1,83],F=[1,80],K=[1,84],P=[1,85],V=[1,86],U=[1,87],Y=[1,88],B=[1,89],Q=[1,90],H=[1,91],j=[1,92],W=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],z=[63,64],G=[1,101],X=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],J=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],Z=[1,110],ee=[1,106],te=[1,107],se=[1,108],ie=[1,109],ne=[1,111],re=[1,116],ae=[1,117],le=[1,114],oe=[1,115],ce={trace:(0,c.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:(0,c.K)(function(e,t,s,i,n,r,a){var l=r.length-1;switch(n){case 4:this.$=r[l].trim(),i.setAccTitle(this.$);break;case 5:case 6:this.$=r[l].trim(),i.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:i.setDirection("TB");break;case 18:i.setDirection("BT");break;case 19:i.setDirection("RL");break;case 20:i.setDirection("LR");break;case 21:i.addRequirement(r[l-3],r[l-4]);break;case 22:i.addRequirement(r[l-5],r[l-6]),i.setClass([r[l-5]],r[l-3]);break;case 23:i.setNewReqId(r[l-2]);break;case 24:i.setNewReqText(r[l-2]);break;case 25:i.setNewReqRisk(r[l-2]);break;case 26:i.setNewReqVerifyMethod(r[l-2]);break;case 29:this.$=i.RequirementType.REQUIREMENT;break;case 30:this.$=i.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=i.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=i.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=i.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=i.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=i.RiskLevel.LOW_RISK;break;case 36:this.$=i.RiskLevel.MED_RISK;break;case 37:this.$=i.RiskLevel.HIGH_RISK;break;case 38:this.$=i.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=i.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=i.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=i.VerifyType.VERIFY_TEST;break;case 42:i.addElement(r[l-3]);break;case 43:i.addElement(r[l-5]),i.setClass([r[l-5]],r[l-3]);break;case 44:i.setNewElementType(r[l-2]);break;case 45:i.setNewElementDocRef(r[l-2]);break;case 48:i.addRelationship(r[l-2],r[l],r[l-4]);break;case 49:i.addRelationship(r[l-2],r[l-4],r[l]);break;case 50:this.$=i.Relationships.CONTAINS;break;case 51:this.$=i.Relationships.COPIES;break;case 52:this.$=i.Relationships.DERIVES;break;case 53:this.$=i.Relationships.SATISFIES;break;case 54:this.$=i.Relationships.VERIFIES;break;case 55:this.$=i.Relationships.REFINES;break;case 56:this.$=i.Relationships.TRACES;break;case 57:this.$=r[l-2],i.defineClass(r[l-1],r[l]);break;case 58:i.setClass(r[l-1],r[l]);break;case 59:i.setClass([r[l-2]],r[l]);break;case 60:case 62:case 65:this.$=[r[l]];break;case 61:case 63:this.$=r[l-2].concat([r[l]]);break;case 64:this.$=r[l-2],i.setCssStyle(r[l-1],r[l]);break;case 66:r[l-2].push(r[l]),this.$=r[l-2];break;case 68:this.$=r[l-1]+r[l]}},"anonymous"),table:[{3:1,4:2,6:t,9:s,11:i,13:n},{1:[3]},{3:8,4:2,5:[1,7],6:t,9:s,11:i,13:n},{5:[1,9]},{10:[1,10]},{12:[1,11]},e(r,[2,6]),{3:12,4:2,6:t,9:s,11:i,13:n},{1:[2,2]},{4:17,5:a,7:13,8:l,9:s,11:i,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:h,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:_,54:f,72:g,74:S,77:I,89:b,90:T},e(r,[2,4]),e(r,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:a,7:42,8:l,9:s,11:i,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:h,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:_,54:f,72:g,74:S,77:I,89:b,90:T},{4:17,5:a,7:43,8:l,9:s,11:i,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:h,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:_,54:f,72:g,74:S,77:I,89:b,90:T},{4:17,5:a,7:44,8:l,9:s,11:i,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:h,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:_,54:f,72:g,74:S,77:I,89:b,90:T},{4:17,5:a,7:45,8:l,9:s,11:i,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:h,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:_,54:f,72:g,74:S,77:I,89:b,90:T},{4:17,5:a,7:46,8:l,9:s,11:i,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:h,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:_,54:f,72:g,74:S,77:I,89:b,90:T},{4:17,5:a,7:47,8:l,9:s,11:i,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:h,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:_,54:f,72:g,74:S,77:I,89:b,90:T},{4:17,5:a,7:48,8:l,9:s,11:i,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:h,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:_,54:f,72:g,74:S,77:I,89:b,90:T},{4:17,5:a,7:49,8:l,9:s,11:i,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:h,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:_,54:f,72:g,74:S,77:I,89:b,90:T},{4:17,5:a,7:50,8:l,9:s,11:i,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:o,22:h,23:u,24:y,25:23,33:25,41:m,42:d,43:E,44:p,45:R,46:_,54:f,72:g,74:S,77:I,89:b,90:T},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},e(k,[2,17]),e(k,[2,18]),e(k,[2,19]),e(k,[2,20]),{30:60,33:62,75:N,89:b,90:T},{30:63,33:62,75:N,89:b,90:T},{30:64,33:62,75:N,89:b,90:T},e(q,[2,29]),e(q,[2,30]),e(q,[2,31]),e(q,[2,32]),e(q,[2,33]),e(q,[2,34]),e(C,[2,81]),e(C,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},e(A,[2,79]),e(A,[2,80]),{27:[1,67],29:[1,68]},e(A,[2,85]),e(A,[2,86]),{62:69,65:L,66:v,67:$,68:O,69:x,70:w,71:D},{62:77,65:L,66:v,67:$,68:O,69:x,70:w,71:D},{30:78,33:62,75:N,89:b,90:T},{73:79,75:M,76:F,78:81,79:82,80:K,81:P,82:V,83:U,84:Y,85:B,86:Q,87:H,88:j},e(W,[2,60]),e(W,[2,62]),{73:93,75:M,76:F,78:81,79:82,80:K,81:P,82:V,83:U,84:Y,85:B,86:Q,87:H,88:j},{30:94,33:62,75:N,76:F,89:b,90:T},{5:[1,95]},{30:96,33:62,75:N,89:b,90:T},{5:[1,97]},{30:98,33:62,75:N,89:b,90:T},{63:[1,99]},e(z,[2,50]),e(z,[2,51]),e(z,[2,52]),e(z,[2,53]),e(z,[2,54]),e(z,[2,55]),e(z,[2,56]),{64:[1,100]},e(k,[2,59],{76:F}),e(k,[2,64],{76:G}),{33:103,75:[1,102],89:b,90:T},e(X,[2,65],{79:104,75:M,80:K,81:P,82:V,83:U,84:Y,85:B,86:Q,87:H,88:j}),e(J,[2,67]),e(J,[2,69]),e(J,[2,70]),e(J,[2,71]),e(J,[2,72]),e(J,[2,73]),e(J,[2,74]),e(J,[2,75]),e(J,[2,76]),e(J,[2,77]),e(J,[2,78]),e(k,[2,57],{76:G}),e(k,[2,58],{76:F}),{5:Z,28:105,31:ee,34:te,36:se,38:ie,40:ne},{27:[1,112],76:F},{5:re,40:ae,56:113,57:le,59:oe},{27:[1,118],76:F},{33:119,89:b,90:T},{33:120,89:b,90:T},{75:M,78:121,79:82,80:K,81:P,82:V,83:U,84:Y,85:B,86:Q,87:H,88:j},e(W,[2,61]),e(W,[2,63]),e(J,[2,68]),e(k,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:Z,28:126,31:ee,34:te,36:se,38:ie,40:ne},e(k,[2,28]),{5:[1,127]},e(k,[2,42]),{32:[1,128]},{32:[1,129]},{5:re,40:ae,56:130,57:le,59:oe},e(k,[2,47]),{5:[1,131]},e(k,[2,48]),e(k,[2,49]),e(X,[2,66],{79:104,75:M,80:K,81:P,82:V,83:U,84:Y,85:B,86:Q,87:H,88:j}),{33:132,89:b,90:T},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},e(k,[2,27]),{5:Z,28:145,31:ee,34:te,36:se,38:ie,40:ne},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},e(k,[2,46]),{5:re,40:ae,56:152,57:le,59:oe},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},e(k,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},e(k,[2,43]),{5:Z,28:159,31:ee,34:te,36:se,38:ie,40:ne},{5:Z,28:160,31:ee,34:te,36:se,38:ie,40:ne},{5:Z,28:161,31:ee,34:te,36:se,38:ie,40:ne},{5:Z,28:162,31:ee,34:te,36:se,38:ie,40:ne},{5:re,40:ae,56:163,57:le,59:oe},{5:re,40:ae,56:164,57:le,59:oe},e(k,[2,23]),e(k,[2,24]),e(k,[2,25]),e(k,[2,26]),e(k,[2,44]),e(k,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:(0,c.K)(function(e,t){if(!t.recoverable){var s=new Error(e);throw s.hash=t,s}this.trace(e)},"parseError"),parse:(0,c.K)(function(e){var t=this,s=[0],i=[],n=[null],r=[],a=this.table,l="",o=0,h=0,u=0,y=r.slice.call(arguments,1),m=Object.create(this.lexer),d={yy:{}};for(var E in this.yy)Object.prototype.hasOwnProperty.call(this.yy,E)&&(d.yy[E]=this.yy[E]);m.setInput(e,d.yy),d.yy.lexer=m,d.yy.parser=this,void 0===m.yylloc&&(m.yylloc={});var p=m.yylloc;r.push(p);var R=m.options&&m.options.ranges;function _(){var e;return"number"!=typeof(e=i.pop()||m.lex()||1)&&(e instanceof Array&&(e=(i=e).pop()),e=t.symbols_[e]||e),e}"function"==typeof d.yy.parseError?this.parseError=d.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,c.K)(function(e){s.length=s.length-2*e,n.length=n.length-e,r.length=r.length-e},"popStack"),(0,c.K)(_,"lex");for(var f,g,S,I,b,T,k,N,q,C={};;){if(S=s[s.length-1],this.defaultActions[S]?I=this.defaultActions[S]:(null==f&&(f=_()),I=a[S]&&a[S][f]),void 0===I||!I.length||!I[0]){var A="";for(T in q=[],a[S])this.terminals_[T]&&T>2&&q.push("'"+this.terminals_[T]+"'");A=m.showPosition?"Parse error on line "+(o+1)+":\n"+m.showPosition()+"\nExpecting "+q.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(A,{text:m.match,token:this.terminals_[f]||f,line:m.yylineno,loc:p,expected:q})}if(I[0]instanceof Array&&I.length>1)throw new Error("Parse Error: multiple actions possible at state: "+S+", token: "+f);switch(I[0]){case 1:s.push(f),n.push(m.yytext),r.push(m.yylloc),s.push(I[1]),f=null,g?(f=g,g=null):(h=m.yyleng,l=m.yytext,o=m.yylineno,p=m.yylloc,u>0&&u--);break;case 2:if(k=this.productions_[I[1]][1],C.$=n[n.length-k],C._$={first_line:r[r.length-(k||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(k||1)].first_column,last_column:r[r.length-1].last_column},R&&(C._$.range=[r[r.length-(k||1)].range[0],r[r.length-1].range[1]]),void 0!==(b=this.performAction.apply(C,[l,h,o,d.yy,I[1],n,r].concat(y))))return b;k&&(s=s.slice(0,-1*k*2),n=n.slice(0,-1*k),r=r.slice(0,-1*k)),s.push(this.productions_[I[1]][0]),n.push(C.$),r.push(C._$),N=a[s[s.length-2]][s[s.length-1]],s.push(N);break;case 3:return!0}}return!0},"parse")},he=function(){return{EOF:1,parseError:(0,c.K)(function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},"parseError"),setInput:(0,c.K)(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,c.K)(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:(0,c.K)(function(e){var t=e.length,s=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),s.length-1&&(this.yylineno-=s.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:s?(s.length===i.length?this.yylloc.first_column:0)+i[i.length-s.length].length-s[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:(0,c.K)(function(){return this._more=!0,this},"more"),reject:(0,c.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,c.K)(function(e){this.unput(this.match.slice(e))},"less"),pastInput:(0,c.K)(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,c.K)(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,c.K)(function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},"showPosition"),test_match:(0,c.K)(function(e,t){var s,i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],s=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack){for(var r in n)this[r]=n[r];return!1}return!1},"test_match"),next:(0,c.K)(function(){if(this.done)return this.EOF;var e,t,s,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),r=0;r<n.length;r++)if((s=this._input.match(this.rules[n[r]]))&&(!t||s[0].length>t[0].length)){if(t=s,i=r,this.options.backtrack_lexer){if(!1!==(e=this.test_match(s,n[r])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,n[i]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,c.K)(function(){var e=this.next();return e||this.lex()},"lex"),begin:(0,c.K)(function(e){this.conditionStack.push(e)},"begin"),popState:(0,c.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,c.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,c.K)(function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},"topState"),pushState:(0,c.K)(function(e){this.begin(e)},"pushState"),stateStackSize:(0,c.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,c.K)(function(e,t,s,i){switch(s){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:case 58:case 65:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 5;case 13:case 14:case 15:case 56:break;case 16:return 8;case 17:return 6;case 18:return 27;case 19:return 40;case 20:return 29;case 21:return 32;case 22:return 31;case 23:return 34;case 24:return 36;case 25:return 38;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 48;case 34:return 49;case 35:return 50;case 36:return 51;case 37:return 52;case 38:return 53;case 39:return 54;case 40:return 65;case 41:return 66;case 42:return 67;case 43:return 68;case 44:return 69;case 45:return 70;case 46:return 71;case 47:return 57;case 48:return 59;case 49:return this.begin("style"),77;case 50:case 68:return 75;case 51:return 81;case 52:return 88;case 53:return"PERCENT";case 54:return 86;case 55:return 84;case 57:case 64:this.begin("string");break;case 59:return this.begin("style"),72;case 60:return this.begin("style"),74;case 61:return 61;case 62:return 64;case 63:return 63;case 66:return"qString";case 67:return t.yytext=t.yytext.trim(),89;case 69:return 80;case 70:return 76}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::{3})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:style\b)/i,/^(?:\w+)/i,/^(?::)/i,/^(?:;)/i,/^(?:%)/i,/^(?:-)/i,/^(?:#)/i,/^(?: )/i,/^(?:["])/i,/^(?:\n)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i,/^(?:\w+)/i,/^(?:[0-9]+)/i,/^(?:,)/i],conditions:{acc_descr_multiline:{rules:[6,7,68,69,70],inclusive:!1},acc_descr:{rules:[4,68,69,70],inclusive:!1},acc_title:{rules:[2,68,69,70],inclusive:!1},style:{rules:[50,51,52,53,54,55,56,57,58,68,69,70],inclusive:!1},unqString:{rules:[68,69,70],inclusive:!1},token:{rules:[68,69,70],inclusive:!1},string:{rules:[65,66,68,69,70],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,59,60,61,62,63,64,67,68,69,70],inclusive:!0}}}}();function ue(){this.yy={}}return ce.lexer=he,(0,c.K)(ue,"Parser"),ue.prototype=ce,ce.Parser=ue,new ue}();h.parser=h;var u=h,y=class{constructor(){this.relations=[],this.latestRequirement=this.getInitialRequirement(),this.requirements=new Map,this.latestElement=this.getInitialElement(),this.elements=new Map,this.classes=new Map,this.direction="TB",this.RequirementType={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},this.RiskLevel={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},this.VerifyType={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},this.Relationships={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},this.setAccTitle=l.SV,this.getAccTitle=l.iN,this.setAccDescription=l.EI,this.getAccDescription=l.m7,this.setDiagramTitle=l.ke,this.getDiagramTitle=l.ab,this.getConfig=(0,c.K)(()=>(0,l.D7)().requirement,"getConfig"),this.clear(),this.setDirection=this.setDirection.bind(this),this.addRequirement=this.addRequirement.bind(this),this.setNewReqId=this.setNewReqId.bind(this),this.setNewReqRisk=this.setNewReqRisk.bind(this),this.setNewReqText=this.setNewReqText.bind(this),this.setNewReqVerifyMethod=this.setNewReqVerifyMethod.bind(this),this.addElement=this.addElement.bind(this),this.setNewElementType=this.setNewElementType.bind(this),this.setNewElementDocRef=this.setNewElementDocRef.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setCssStyle=this.setCssStyle.bind(this),this.setClass=this.setClass.bind(this),this.defineClass=this.defineClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}static{(0,c.K)(this,"RequirementDB")}getDirection(){return this.direction}setDirection(e){this.direction=e}resetLatestRequirement(){this.latestRequirement=this.getInitialRequirement()}resetLatestElement(){this.latestElement=this.getInitialElement()}getInitialRequirement(){return{requirementId:"",text:"",risk:"",verifyMethod:"",name:"",type:"",cssStyles:[],classes:["default"]}}getInitialElement(){return{name:"",type:"",docRef:"",cssStyles:[],classes:["default"]}}addRequirement(e,t){return this.requirements.has(e)||this.requirements.set(e,{name:e,type:t,requirementId:this.latestRequirement.requirementId,text:this.latestRequirement.text,risk:this.latestRequirement.risk,verifyMethod:this.latestRequirement.verifyMethod,cssStyles:[],classes:["default"]}),this.resetLatestRequirement(),this.requirements.get(e)}getRequirements(){return this.requirements}setNewReqId(e){void 0!==this.latestRequirement&&(this.latestRequirement.requirementId=e)}setNewReqText(e){void 0!==this.latestRequirement&&(this.latestRequirement.text=e)}setNewReqRisk(e){void 0!==this.latestRequirement&&(this.latestRequirement.risk=e)}setNewReqVerifyMethod(e){void 0!==this.latestRequirement&&(this.latestRequirement.verifyMethod=e)}addElement(e){return this.elements.has(e)||(this.elements.set(e,{name:e,type:this.latestElement.type,docRef:this.latestElement.docRef,cssStyles:[],classes:["default"]}),o.R.info("Added new element: ",e)),this.resetLatestElement(),this.elements.get(e)}getElements(){return this.elements}setNewElementType(e){void 0!==this.latestElement&&(this.latestElement.type=e)}setNewElementDocRef(e){void 0!==this.latestElement&&(this.latestElement.docRef=e)}addRelationship(e,t,s){this.relations.push({type:e,src:t,dst:s})}getRelationships(){return this.relations}clear(){this.relations=[],this.resetLatestRequirement(),this.requirements=new Map,this.resetLatestElement(),this.elements=new Map,this.classes=new Map,(0,l.IU)()}setCssStyle(e,t){for(const s of e){const e=this.requirements.get(s)??this.elements.get(s);if(!t||!e)return;for(const s of t)s.includes(",")?e.cssStyles.push(...s.split(",")):e.cssStyles.push(s)}}setClass(e,t){for(const s of e){const e=this.requirements.get(s)??this.elements.get(s);if(e)for(const s of t){e.classes.push(s);const t=this.classes.get(s)?.styles;t&&e.cssStyles.push(...t)}}}defineClass(e,t){for(const s of e){let e=this.classes.get(s);void 0===e&&(e={id:s,styles:[],textStyles:[]},this.classes.set(s,e)),t&&t.forEach(function(t){if(/color/.exec(t)){const s=t.replace("fill","bgFill");e.textStyles.push(s)}e.styles.push(t)}),this.requirements.forEach(e=>{e.classes.includes(s)&&e.cssStyles.push(...t.flatMap(e=>e.split(",")))}),this.elements.forEach(e=>{e.classes.includes(s)&&e.cssStyles.push(...t.flatMap(e=>e.split(",")))})}}getClasses(){return this.classes}getData(){const e=(0,l.D7)(),t=[],s=[];for(const i of this.requirements.values()){const s=i;s.id=i.name,s.cssStyles=i.cssStyles,s.cssClasses=i.classes.join(" "),s.shape="requirementBox",s.look=e.look,s.colorIndex=t.length,t.push(s)}for(const i of this.elements.values()){const s=i;s.shape="requirementBox",s.look=e.look,s.id=i.name,s.cssStyles=i.cssStyles,s.cssClasses=i.classes.join(" "),s.colorIndex=t.length,t.push(s)}for(const i of this.relations){let t=0;const n=i.type===this.Relationships.CONTAINS,r={id:`${i.src}-${i.dst}-${t}`,start:this.requirements.get(i.src)?.name??this.elements.get(i.src)?.name,end:this.requirements.get(i.dst)?.name??this.elements.get(i.dst)?.name,label:`<<${i.type}>>`,classes:"relationshipLine",style:["fill:none",n?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:n?"normal":"dashed",arrowTypeStart:n?"requirement_contains":"",arrowTypeEnd:n?"":"requirement_arrow",look:e.look,labelType:"markdown"};s.push(r),t++}return{nodes:t,edges:s,other:{},config:e,direction:this.getDirection()}}},m=(0,c.K)(e=>{const t=(0,l.zj)(),{themeVariables:s,look:i}=t,{bkgColorArray:n,borderColorArray:r}=s;if(!r?.length)return"";let a="";for(let l=0;l<e.THEME_COLOR_LIMIT;l++)a+=`\n\n [data-look="${i}"][data-color-id="color-${l}"].node path {\n stroke: ${r[l]};\n fill: ${n?.length?n[l]:""};\n }\n\n [data-look="${i}"][data-color-id="color-${l}"].node rect {\n stroke: ${r[l]};\n fill: ${n?.length?n[l]:""};\n }\n `;return a},"genColor"),d=(0,c.K)(e=>{const t=(0,l.zj)(),{look:s,themeVariables:i}=t,{requirementEdgeLabelBackground:n}=i;return`\n ${m(e)}\n marker {\n fill: ${e.relationColor};\n stroke: ${e.relationColor};\n }\n\n marker.cross {\n stroke: ${e.lineColor};\n }\n\n svg {\n font-family: ${e.fontFamily};\n font-size: ${e.fontSize};\n }\n\n .reqBox {\n fill: ${e.requirementBackground};\n fill-opacity: 1.0;\n stroke: ${e.requirementBorderColor};\n stroke-width: ${e.requirementBorderSize};\n }\n \n .reqTitle, .reqLabel{\n fill: ${e.requirementTextColor};\n }\n .reqLabelBox {\n fill: ${e.relationLabelBackground};\n fill-opacity: 1.0;\n }\n\n .req-title-line {\n stroke: ${e.requirementBorderColor};\n stroke-width: ${e.requirementBorderSize};\n }\n .relationshipLine {\n stroke: ${e.relationColor};\n stroke-width: ${"neo"===s?e.strokeWidth:"1px"};\n }\n .relationshipLabel {\n fill: ${e.relationLabelColor};\n }\n .edgeLabel {\n background-color: ${e.edgeLabelBackground};\n }\n .edgeLabel .label rect {\n fill: ${e.edgeLabelBackground};\n }\n .edgeLabel .label text {\n fill: ${e.relationLabelColor};\n }\n .divider {\n stroke: ${e.nodeBorder};\n stroke-width: 1;\n }\n .label {\n font-family: ${e.fontFamily};\n color: ${e.nodeTextColor||e.textColor};\n }\n .label text,span {\n fill: ${e.nodeTextColor||e.textColor};\n color: ${e.nodeTextColor||e.textColor};\n }\n .labelBkg {\n background-color: ${n??e.edgeLabelBackground};\n }\n\n`},"getStyles"),E={};(0,c.V)(E,{draw:()=>p});var p=(0,c.K)(async function(e,t,s,c){o.R.info("REF0:"),o.R.info("Drawing requirement diagram (unified)",t);const{securityLevel:h,state:u,layout:y,look:m}=(0,l.D7)(),d=c.db.getData(),E=(0,i.A)(t,h);d.type=c.type,d.layoutAlgorithm=(0,r.q7)(y),d.nodeSpacing=u?.nodeSpacing??50,d.rankSpacing=u?.rankSpacing??50,d.markers="neo"===m?["requirement_contains_neo","requirement_arrow_neo"]:["requirement_contains","requirement_arrow"],d.diagramId=t,await(0,r.XX)(d,E);a._K.insertTitle(E,"requirementDiagramTitleText",u?.titleTopMargin??25,c.db.getDiagramTitle()),(0,n.P)(E,8,"requirementDiagram",u?.useMaxWidth??!0)},"draw"),R={parser:u,get db(){return new y},renderer:E,styles:d}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[5850],{5850(t,e,a){a.d(e,{diagram:()=>y});var r=a(3492),i=a(4969),n=a(3639),o=a(4689),s=a(2371),l=a(8053),c=a(9183),d=o.UI.packet,h=class{constructor(){this.packet=[],this.setAccTitle=o.SV,this.getAccTitle=o.iN,this.setDiagramTitle=o.ke,this.getDiagramTitle=o.ab,this.getAccDescription=o.m7,this.setAccDescription=o.EI}static{(0,l.K)(this,"PacketDB")}getConfig(){const t=(0,n.$t)({...d,...(0,o.zj)().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){(0,o.IU)(),this.packet=[]}},b=(0,l.K)((t,e)=>{(0,r.S)(t,e);let a=-1,i=[],n=1;const{bitsPerRow:o}=e.getConfig();for(let{start:r,end:l,bits:c,label:d}of t.blocks){if(void 0!==r&&void 0!==l&&l<r)throw new Error(`Packet block ${r} - ${l} is invalid. End must be greater than start.`);if(r??=a+1,r!==a+1)throw new Error(`Packet block ${r} - ${l??r} is not contiguous. It should start from ${a+1}.`);if(0===c)throw new Error(`Packet block ${r} is invalid. Cannot have a zero bit field.`);for(l??=r+(c??1)-1,c??=l-r+1,a=l,s.R.debug(`Packet block ${r} - ${a} with label ${d}`);i.length<=o+1&&e.getPacket().length<1e4;){const[t,a]=p({start:r,end:l,bits:c,label:d},n,o);if(i.push(t),t.end+1===n*o&&(e.pushWord(i),i=[],n++),!a)break;({start:r,end:l,bits:c,label:d}=a)}}e.pushWord(i)},"populate"),p=(0,l.K)((t,e,a)=>{if(void 0===t.start)throw new Error("start should have been set during first phase");if(void 0===t.end)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*a)return[t,void 0];const r=e*a-1,i=e*a;return[{start:t.start,end:r,label:t.label,bits:r-t.start},{start:i,end:t.end,label:t.label,bits:t.end-i}]},"getNextFittingBlock"),k={parser:{yy:void 0},parse:(0,l.K)(async t=>{const e=await(0,c.qg)("packet",t),a=k.parser?.yy;if(!(a instanceof h))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");s.R.debug(e),b(e,a)},"parse")},g=(0,l.K)((t,e,a,r)=>{const n=r.db,s=n.getConfig(),{rowHeight:l,paddingY:c,bitWidth:d,bitsPerRow:h}=s,b=n.getPacket(),p=n.getDiagramTitle(),k=l+c,g=k*(b.length+1)-(p?0:l),f=d*h+2,w=(0,i.D)(e);w.attr("viewBox",`0 0 ${f} ${g}`),(0,o.a$)(w,g,f,s.useMaxWidth);for(const[i,o]of b.entries())u(w,o,i,s);w.append("text").text(p).attr("x",f/2).attr("y",g-k/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),u=(0,l.K)((t,e,a,{rowHeight:r,paddingX:i,paddingY:n,bitWidth:o,bitsPerRow:s,showBits:l})=>{const c=t.append("g"),d=a*(r+n)+n;for(const h of e){const t=h.start%s*o+1,e=(h.end-h.start+1)*o-i;if(c.append("rect").attr("x",t).attr("y",d).attr("width",e).attr("height",r).attr("class","packetBlock"),c.append("text").attr("x",t+e/2).attr("y",d+r/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(h.label),!l)continue;const a=h.end===h.start,n=d-2;c.append("text").attr("x",t+(a?e/2:0)).attr("y",n).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",a?"middle":"start").text(h.start),a||c.append("text").attr("x",t+e).attr("y",n).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(h.end)}},"drawWord"),f={draw:g},w={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},$=(0,l.K)(({packet:t}={})=>{const e=(0,n.$t)(w,t);return`\n\t.packetByte {\n\t\tfont-size: ${e.byteFontSize};\n\t}\n\t.packetByte.start {\n\t\tfill: ${e.startByteColor};\n\t}\n\t.packetByte.end {\n\t\tfill: ${e.endByteColor};\n\t}\n\t.packetLabel {\n\t\tfill: ${e.labelColor};\n\t\tfont-size: ${e.labelFontSize};\n\t}\n\t.packetTitle {\n\t\tfill: ${e.titleColor};\n\t\tfont-size: ${e.titleFontSize};\n\t}\n\t.packetBlock {\n\t\tstroke: ${e.blockStrokeColor};\n\t\tstroke-width: ${e.blockStrokeWidth};\n\t\tfill: ${e.blockFillColor};\n\t}\n\t`},"styles"),y={parser:k,get db(){return new h},renderer:f,styles:$}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[5973],{5973(t,e,n){n.d(e,{diagram:()=>Pt});var a=n(4247),i=n(3639),s=n(4689),r=n(2371),l=n(8053),o=n(7012),h=n(4674),d=function(){var t=(0,l.K)(function(t,e,n,a){for(n=n||{},a=t.length;a--;n[t[a]]=e);return n},"o"),e=[1,24],n=[1,25],a=[1,26],i=[1,27],s=[1,28],r=[1,63],o=[1,64],h=[1,65],d=[1,66],u=[1,67],p=[1,68],y=[1,69],g=[1,29],b=[1,30],f=[1,31],_=[1,32],x=[1,33],m=[1,34],E=[1,35],S=[1,36],A=[1,37],C=[1,38],w=[1,39],O=[1,40],k=[1,41],T=[1,42],v=[1,43],R=[1,44],D=[1,45],N=[1,46],P=[1,47],B=[1,48],j=[1,50],I=[1,51],M=[1,52],L=[1,53],Y=[1,54],K=[1,55],U=[1,56],F=[1,57],X=[1,58],z=[1,59],W=[1,60],Q=[14,42],$=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],H=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],V=[1,82],q=[1,83],G=[1,84],J=[1,85],Z=[12,14,42],tt=[12,14,33,42],et=[12,14,33,42,76,77,79,80],nt=[12,33],at=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],it={trace:(0,l.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:(0,l.K)(function(t,e,n,a,i,s,r){var l=s.length-1;switch(i){case 3:a.setDirection("TB");break;case 4:a.setDirection("BT");break;case 5:a.setDirection("RL");break;case 6:a.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:a.setC4Type(s[l-3]);break;case 19:a.setTitle(s[l].substring(6)),this.$=s[l].substring(6);break;case 20:a.setAccDescription(s[l].substring(15)),this.$=s[l].substring(15);break;case 21:this.$=s[l].trim(),a.setTitle(this.$);break;case 22:case 23:this.$=s[l].trim(),a.setAccDescription(this.$);break;case 28:s[l].splice(2,0,"ENTERPRISE"),a.addPersonOrSystemBoundary(...s[l]),this.$=s[l];break;case 29:s[l].splice(2,0,"SYSTEM"),a.addPersonOrSystemBoundary(...s[l]),this.$=s[l];break;case 30:a.addPersonOrSystemBoundary(...s[l]),this.$=s[l];break;case 31:s[l].splice(2,0,"CONTAINER"),a.addContainerBoundary(...s[l]),this.$=s[l];break;case 32:a.addDeploymentNode("node",...s[l]),this.$=s[l];break;case 33:a.addDeploymentNode("nodeL",...s[l]),this.$=s[l];break;case 34:a.addDeploymentNode("nodeR",...s[l]),this.$=s[l];break;case 35:a.popBoundaryParseStack();break;case 39:a.addPersonOrSystem("person",...s[l]),this.$=s[l];break;case 40:a.addPersonOrSystem("external_person",...s[l]),this.$=s[l];break;case 41:a.addPersonOrSystem("system",...s[l]),this.$=s[l];break;case 42:a.addPersonOrSystem("system_db",...s[l]),this.$=s[l];break;case 43:a.addPersonOrSystem("system_queue",...s[l]),this.$=s[l];break;case 44:a.addPersonOrSystem("external_system",...s[l]),this.$=s[l];break;case 45:a.addPersonOrSystem("external_system_db",...s[l]),this.$=s[l];break;case 46:a.addPersonOrSystem("external_system_queue",...s[l]),this.$=s[l];break;case 47:a.addContainer("container",...s[l]),this.$=s[l];break;case 48:a.addContainer("container_db",...s[l]),this.$=s[l];break;case 49:a.addContainer("container_queue",...s[l]),this.$=s[l];break;case 50:a.addContainer("external_container",...s[l]),this.$=s[l];break;case 51:a.addContainer("external_container_db",...s[l]),this.$=s[l];break;case 52:a.addContainer("external_container_queue",...s[l]),this.$=s[l];break;case 53:a.addComponent("component",...s[l]),this.$=s[l];break;case 54:a.addComponent("component_db",...s[l]),this.$=s[l];break;case 55:a.addComponent("component_queue",...s[l]),this.$=s[l];break;case 56:a.addComponent("external_component",...s[l]),this.$=s[l];break;case 57:a.addComponent("external_component_db",...s[l]),this.$=s[l];break;case 58:a.addComponent("external_component_queue",...s[l]),this.$=s[l];break;case 60:a.addRel("rel",...s[l]),this.$=s[l];break;case 61:a.addRel("birel",...s[l]),this.$=s[l];break;case 62:a.addRel("rel_u",...s[l]),this.$=s[l];break;case 63:a.addRel("rel_d",...s[l]),this.$=s[l];break;case 64:a.addRel("rel_l",...s[l]),this.$=s[l];break;case 65:a.addRel("rel_r",...s[l]),this.$=s[l];break;case 66:a.addRel("rel_b",...s[l]),this.$=s[l];break;case 67:s[l].splice(0,1),a.addRel("rel",...s[l]),this.$=s[l];break;case 68:a.updateElStyle("update_el_style",...s[l]),this.$=s[l];break;case 69:a.updateRelStyle("update_rel_style",...s[l]),this.$=s[l];break;case 70:a.updateLayoutConfig("update_layout_config",...s[l]),this.$=s[l];break;case 71:this.$=[s[l]];break;case 72:s[l].unshift(s[l-1]),this.$=s[l];break;case 73:case 75:this.$=s[l].trim();break;case 74:let t={};t[s[l-1].trim()]=s[l].trim(),this.$=t;break;case 76:this.$=""}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:n,24:a,26:i,28:s,29:49,30:61,32:62,34:r,36:o,37:h,38:d,39:u,40:p,41:y,43:23,44:g,45:b,46:f,47:_,48:x,49:m,50:E,51:S,52:A,53:C,54:w,55:O,56:k,57:T,58:v,59:R,60:D,61:N,62:P,63:B,64:j,65:I,66:M,67:L,68:Y,69:K,70:U,71:F,72:X,73:z,74:W},{13:70,19:20,20:21,21:22,22:e,23:n,24:a,26:i,28:s,29:49,30:61,32:62,34:r,36:o,37:h,38:d,39:u,40:p,41:y,43:23,44:g,45:b,46:f,47:_,48:x,49:m,50:E,51:S,52:A,53:C,54:w,55:O,56:k,57:T,58:v,59:R,60:D,61:N,62:P,63:B,64:j,65:I,66:M,67:L,68:Y,69:K,70:U,71:F,72:X,73:z,74:W},{13:71,19:20,20:21,21:22,22:e,23:n,24:a,26:i,28:s,29:49,30:61,32:62,34:r,36:o,37:h,38:d,39:u,40:p,41:y,43:23,44:g,45:b,46:f,47:_,48:x,49:m,50:E,51:S,52:A,53:C,54:w,55:O,56:k,57:T,58:v,59:R,60:D,61:N,62:P,63:B,64:j,65:I,66:M,67:L,68:Y,69:K,70:U,71:F,72:X,73:z,74:W},{13:72,19:20,20:21,21:22,22:e,23:n,24:a,26:i,28:s,29:49,30:61,32:62,34:r,36:o,37:h,38:d,39:u,40:p,41:y,43:23,44:g,45:b,46:f,47:_,48:x,49:m,50:E,51:S,52:A,53:C,54:w,55:O,56:k,57:T,58:v,59:R,60:D,61:N,62:P,63:B,64:j,65:I,66:M,67:L,68:Y,69:K,70:U,71:F,72:X,73:z,74:W},{13:73,19:20,20:21,21:22,22:e,23:n,24:a,26:i,28:s,29:49,30:61,32:62,34:r,36:o,37:h,38:d,39:u,40:p,41:y,43:23,44:g,45:b,46:f,47:_,48:x,49:m,50:E,51:S,52:A,53:C,54:w,55:O,56:k,57:T,58:v,59:R,60:D,61:N,62:P,63:B,64:j,65:I,66:M,67:L,68:Y,69:K,70:U,71:F,72:X,73:z,74:W},{14:[1,74]},t(Q,[2,13],{43:23,29:49,30:61,32:62,20:75,34:r,36:o,37:h,38:d,39:u,40:p,41:y,44:g,45:b,46:f,47:_,48:x,49:m,50:E,51:S,52:A,53:C,54:w,55:O,56:k,57:T,58:v,59:R,60:D,61:N,62:P,63:B,64:j,65:I,66:M,67:L,68:Y,69:K,70:U,71:F,72:X,73:z,74:W}),t(Q,[2,14]),t($,[2,16],{12:[1,76]}),t(Q,[2,36],{12:[1,77]}),t(H,[2,19]),t(H,[2,20]),{25:[1,78]},{27:[1,79]},t(H,[2,23]),{35:80,75:81,76:V,77:q,79:G,80:J},{35:86,75:81,76:V,77:q,79:G,80:J},{35:87,75:81,76:V,77:q,79:G,80:J},{35:88,75:81,76:V,77:q,79:G,80:J},{35:89,75:81,76:V,77:q,79:G,80:J},{35:90,75:81,76:V,77:q,79:G,80:J},{35:91,75:81,76:V,77:q,79:G,80:J},{35:92,75:81,76:V,77:q,79:G,80:J},{35:93,75:81,76:V,77:q,79:G,80:J},{35:94,75:81,76:V,77:q,79:G,80:J},{35:95,75:81,76:V,77:q,79:G,80:J},{35:96,75:81,76:V,77:q,79:G,80:J},{35:97,75:81,76:V,77:q,79:G,80:J},{35:98,75:81,76:V,77:q,79:G,80:J},{35:99,75:81,76:V,77:q,79:G,80:J},{35:100,75:81,76:V,77:q,79:G,80:J},{35:101,75:81,76:V,77:q,79:G,80:J},{35:102,75:81,76:V,77:q,79:G,80:J},{35:103,75:81,76:V,77:q,79:G,80:J},{35:104,75:81,76:V,77:q,79:G,80:J},t(Z,[2,59]),{35:105,75:81,76:V,77:q,79:G,80:J},{35:106,75:81,76:V,77:q,79:G,80:J},{35:107,75:81,76:V,77:q,79:G,80:J},{35:108,75:81,76:V,77:q,79:G,80:J},{35:109,75:81,76:V,77:q,79:G,80:J},{35:110,75:81,76:V,77:q,79:G,80:J},{35:111,75:81,76:V,77:q,79:G,80:J},{35:112,75:81,76:V,77:q,79:G,80:J},{35:113,75:81,76:V,77:q,79:G,80:J},{35:114,75:81,76:V,77:q,79:G,80:J},{35:115,75:81,76:V,77:q,79:G,80:J},{20:116,29:49,30:61,32:62,34:r,36:o,37:h,38:d,39:u,40:p,41:y,43:23,44:g,45:b,46:f,47:_,48:x,49:m,50:E,51:S,52:A,53:C,54:w,55:O,56:k,57:T,58:v,59:R,60:D,61:N,62:P,63:B,64:j,65:I,66:M,67:L,68:Y,69:K,70:U,71:F,72:X,73:z,74:W},{12:[1,118],33:[1,117]},{35:119,75:81,76:V,77:q,79:G,80:J},{35:120,75:81,76:V,77:q,79:G,80:J},{35:121,75:81,76:V,77:q,79:G,80:J},{35:122,75:81,76:V,77:q,79:G,80:J},{35:123,75:81,76:V,77:q,79:G,80:J},{35:124,75:81,76:V,77:q,79:G,80:J},{35:125,75:81,76:V,77:q,79:G,80:J},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(Q,[2,15]),t($,[2,17],{21:22,19:130,22:e,23:n,24:a,26:i,28:s}),t(Q,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:n,24:a,26:i,28:s,34:r,36:o,37:h,38:d,39:u,40:p,41:y,44:g,45:b,46:f,47:_,48:x,49:m,50:E,51:S,52:A,53:C,54:w,55:O,56:k,57:T,58:v,59:R,60:D,61:N,62:P,63:B,64:j,65:I,66:M,67:L,68:Y,69:K,70:U,71:F,72:X,73:z,74:W}),t(H,[2,21]),t(H,[2,22]),t(Z,[2,39]),t(tt,[2,71],{75:81,35:132,76:V,77:q,79:G,80:J}),t(et,[2,73]),{78:[1,133]},t(et,[2,75]),t(et,[2,76]),t(Z,[2,40]),t(Z,[2,41]),t(Z,[2,42]),t(Z,[2,43]),t(Z,[2,44]),t(Z,[2,45]),t(Z,[2,46]),t(Z,[2,47]),t(Z,[2,48]),t(Z,[2,49]),t(Z,[2,50]),t(Z,[2,51]),t(Z,[2,52]),t(Z,[2,53]),t(Z,[2,54]),t(Z,[2,55]),t(Z,[2,56]),t(Z,[2,57]),t(Z,[2,58]),t(Z,[2,60]),t(Z,[2,61]),t(Z,[2,62]),t(Z,[2,63]),t(Z,[2,64]),t(Z,[2,65]),t(Z,[2,66]),t(Z,[2,67]),t(Z,[2,68]),t(Z,[2,69]),t(Z,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(nt,[2,28]),t(nt,[2,29]),t(nt,[2,30]),t(nt,[2,31]),t(nt,[2,32]),t(nt,[2,33]),t(nt,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t($,[2,18]),t(Q,[2,38]),t(tt,[2,72]),t(et,[2,74]),t(Z,[2,24]),t(Z,[2,35]),t(at,[2,25]),t(at,[2,26],{12:[1,138]}),t(at,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:(0,l.K)(function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},"parseError"),parse:(0,l.K)(function(t){var e=this,n=[0],a=[],i=[null],s=[],r=this.table,o="",c=0,h=0,d=0,u=s.slice.call(arguments,1),p=Object.create(this.lexer),y={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(y.yy[g]=this.yy[g]);p.setInput(t,y.yy),y.yy.lexer=p,y.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var b=p.yylloc;s.push(b);var f=p.options&&p.options.ranges;function _(){var t;return"number"!=typeof(t=a.pop()||p.lex()||1)&&(t instanceof Array&&(t=(a=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,l.K)(function(t){n.length=n.length-2*t,i.length=i.length-t,s.length=s.length-t},"popStack"),(0,l.K)(_,"lex");for(var x,m,E,S,A,C,w,O,k,T={};;){if(E=n[n.length-1],this.defaultActions[E]?S=this.defaultActions[E]:(null==x&&(x=_()),S=r[E]&&r[E][x]),void 0===S||!S.length||!S[0]){var v="";for(C in k=[],r[E])this.terminals_[C]&&C>2&&k.push("'"+this.terminals_[C]+"'");v=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+k.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==x?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(v,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:b,expected:k})}if(S[0]instanceof Array&&S.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+x);switch(S[0]){case 1:n.push(x),i.push(p.yytext),s.push(p.yylloc),n.push(S[1]),x=null,m?(x=m,m=null):(h=p.yyleng,o=p.yytext,c=p.yylineno,b=p.yylloc,d>0&&d--);break;case 2:if(w=this.productions_[S[1]][1],T.$=i[i.length-w],T._$={first_line:s[s.length-(w||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(w||1)].first_column,last_column:s[s.length-1].last_column},f&&(T._$.range=[s[s.length-(w||1)].range[0],s[s.length-1].range[1]]),void 0!==(A=this.performAction.apply(T,[o,h,c,y.yy,S[1],i,s].concat(u))))return A;w&&(n=n.slice(0,-1*w*2),i=i.slice(0,-1*w),s=s.slice(0,-1*w)),n.push(this.productions_[S[1]][0]),i.push(T.$),s.push(T._$),O=r[n[n.length-2]][n[n.length-1]],n.push(O);break;case 3:return!0}}return!0},"parse")},st=function(){return{EOF:1,parseError:(0,l.K)(function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},"parseError"),setInput:(0,l.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,l.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,l.K)(function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var a=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===a.length?this.yylloc.first_column:0)+a[a.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,l.K)(function(){return this._more=!0,this},"more"),reject:(0,l.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,l.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,l.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,l.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,l.K)(function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,l.K)(function(t,e){var n,a,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(a=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},"test_match"),next:(0,l.K)(function(){if(this.done)return this.EOF;var t,e,n,a;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((n=this._input.match(this.rules[i[s]]))&&(!e||n[0].length>e[0].length)){if(e=n,a=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[a]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,l.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,l.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,l.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,l.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,l.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,l.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,l.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:(0,l.K)(function(t,e,n,a){switch(n){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 73:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:case 16:case 70:break;case 14:c;break;case 15:return 12;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:case 53:return this.begin("rel_u"),66;case 54:case 55:return this.begin("rel_d"),67;case 56:case 57:return this.begin("rel_l"),68;case 58:case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:case 79:this.popState(),this.popState();break;case 69:case 71:return 80;case 72:this.begin("string");break;case 74:case 80:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[65,66,67,68],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}}}();function rt(){this.yy={}}return it.lexer=st,(0,l.K)(rt,"Parser"),rt.prototype=it,it.Parser=rt,new rt}();d.parser=d;var u,p=d,y=[],g=[""],b="global",f="",_=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],x=[],m="",E=!1,S=4,A=2,C=(0,l.K)(function(){return u},"getC4Type"),w=(0,l.K)(function(t){let e=(0,s.jZ)(t,(0,s.D7)());u=e},"setC4Type"),O=(0,l.K)(function(t,e,n,a,i,s,r,l,o){if(null==t||null==e||null==n||null==a)return;let c={};const h=x.find(t=>t.from===e&&t.to===n);if(h?c=h:x.push(c),c.type=t,c.from=e,c.to=n,c.label={text:a},null==i)c.techn={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];c[t]={text:e}}else c.techn={text:i};if(null==s)c.descr={text:""};else if("object"==typeof s){let[t,e]=Object.entries(s)[0];c[t]={text:e}}else c.descr={text:s};if("object"==typeof r){let[t,e]=Object.entries(r)[0];c[t]=e}else c.sprite=r;if("object"==typeof l){let[t,e]=Object.entries(l)[0];c[t]=e}else c.tags=l;if("object"==typeof o){let[t,e]=Object.entries(o)[0];c[t]=e}else c.link=o;c.wrap=V()},"addRel"),k=(0,l.K)(function(t,e,n,a,i,s,r){if(null===e||null===n)return;let l={};const o=y.find(t=>t.alias===e);if(o&&e===o.alias?l=o:(l.alias=e,y.push(l)),l.label=null==n?{text:""}:{text:n},null==a)l.descr={text:""};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];l[t]={text:e}}else l.descr={text:a};if("object"==typeof i){let[t,e]=Object.entries(i)[0];l[t]=e}else l.sprite=i;if("object"==typeof s){let[t,e]=Object.entries(s)[0];l[t]=e}else l.tags=s;if("object"==typeof r){let[t,e]=Object.entries(r)[0];l[t]=e}else l.link=r;l.typeC4Shape={text:t},l.parentBoundary=b,l.wrap=V()},"addPersonOrSystem"),T=(0,l.K)(function(t,e,n,a,i,s,r,l){if(null===e||null===n)return;let o={};const c=y.find(t=>t.alias===e);if(c&&e===c.alias?o=c:(o.alias=e,y.push(o)),o.label=null==n?{text:""}:{text:n},null==a)o.techn={text:""};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];o[t]={text:e}}else o.techn={text:a};if(null==i)o.descr={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];o[t]={text:e}}else o.descr={text:i};if("object"==typeof s){let[t,e]=Object.entries(s)[0];o[t]=e}else o.sprite=s;if("object"==typeof r){let[t,e]=Object.entries(r)[0];o[t]=e}else o.tags=r;if("object"==typeof l){let[t,e]=Object.entries(l)[0];o[t]=e}else o.link=l;o.wrap=V(),o.typeC4Shape={text:t},o.parentBoundary=b},"addContainer"),v=(0,l.K)(function(t,e,n,a,i,s,r,l){if(null===e||null===n)return;let o={};const c=y.find(t=>t.alias===e);if(c&&e===c.alias?o=c:(o.alias=e,y.push(o)),o.label=null==n?{text:""}:{text:n},null==a)o.techn={text:""};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];o[t]={text:e}}else o.techn={text:a};if(null==i)o.descr={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];o[t]={text:e}}else o.descr={text:i};if("object"==typeof s){let[t,e]=Object.entries(s)[0];o[t]=e}else o.sprite=s;if("object"==typeof r){let[t,e]=Object.entries(r)[0];o[t]=e}else o.tags=r;if("object"==typeof l){let[t,e]=Object.entries(l)[0];o[t]=e}else o.link=l;o.wrap=V(),o.typeC4Shape={text:t},o.parentBoundary=b},"addComponent"),R=(0,l.K)(function(t,e,n,a,i){if(null===t||null===e)return;let s={};const r=_.find(e=>e.alias===t);if(r&&t===r.alias?s=r:(s.alias=t,_.push(s)),s.label=null==e?{text:""}:{text:e},null==n)s.type={text:"system"};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];s[t]={text:e}}else s.type={text:n};if("object"==typeof a){let[t,e]=Object.entries(a)[0];s[t]=e}else s.tags=a;if("object"==typeof i){let[t,e]=Object.entries(i)[0];s[t]=e}else s.link=i;s.parentBoundary=b,s.wrap=V(),f=b,b=t,g.push(f)},"addPersonOrSystemBoundary"),D=(0,l.K)(function(t,e,n,a,i){if(null===t||null===e)return;let s={};const r=_.find(e=>e.alias===t);if(r&&t===r.alias?s=r:(s.alias=t,_.push(s)),s.label=null==e?{text:""}:{text:e},null==n)s.type={text:"container"};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];s[t]={text:e}}else s.type={text:n};if("object"==typeof a){let[t,e]=Object.entries(a)[0];s[t]=e}else s.tags=a;if("object"==typeof i){let[t,e]=Object.entries(i)[0];s[t]=e}else s.link=i;s.parentBoundary=b,s.wrap=V(),f=b,b=t,g.push(f)},"addContainerBoundary"),N=(0,l.K)(function(t,e,n,a,i,s,r,l){if(null===e||null===n)return;let o={};const c=_.find(t=>t.alias===e);if(c&&e===c.alias?o=c:(o.alias=e,_.push(o)),o.label=null==n?{text:""}:{text:n},null==a)o.type={text:"node"};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];o[t]={text:e}}else o.type={text:a};if(null==i)o.descr={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];o[t]={text:e}}else o.descr={text:i};if("object"==typeof r){let[t,e]=Object.entries(r)[0];o[t]=e}else o.tags=r;if("object"==typeof l){let[t,e]=Object.entries(l)[0];o[t]=e}else o.link=l;o.nodeType=t,o.parentBoundary=b,o.wrap=V(),f=b,b=e,g.push(f)},"addDeploymentNode"),P=(0,l.K)(function(){b=f,g.pop(),f=g.pop(),g.push(f)},"popBoundaryParseStack"),B=(0,l.K)(function(t,e,n,a,i,s,r,l,o,c,h){let d=y.find(t=>t.alias===e);if(void 0!==d||(d=_.find(t=>t.alias===e),void 0!==d)){if(null!=n)if("object"==typeof n){let[t,e]=Object.entries(n)[0];d[t]=e}else d.bgColor=n;if(null!=a)if("object"==typeof a){let[t,e]=Object.entries(a)[0];d[t]=e}else d.fontColor=a;if(null!=i)if("object"==typeof i){let[t,e]=Object.entries(i)[0];d[t]=e}else d.borderColor=i;if(null!=s)if("object"==typeof s){let[t,e]=Object.entries(s)[0];d[t]=e}else d.shadowing=s;if(null!=r)if("object"==typeof r){let[t,e]=Object.entries(r)[0];d[t]=e}else d.shape=r;if(null!=l)if("object"==typeof l){let[t,e]=Object.entries(l)[0];d[t]=e}else d.sprite=l;if(null!=o)if("object"==typeof o){let[t,e]=Object.entries(o)[0];d[t]=e}else d.techn=o;if(null!=c)if("object"==typeof c){let[t,e]=Object.entries(c)[0];d[t]=e}else d.legendText=c;if(null!=h)if("object"==typeof h){let[t,e]=Object.entries(h)[0];d[t]=e}else d.legendSprite=h}},"updateElStyle"),j=(0,l.K)(function(t,e,n,a,i,s,r){const l=x.find(t=>t.from===e&&t.to===n);if(void 0!==l){if(null!=a)if("object"==typeof a){let[t,e]=Object.entries(a)[0];l[t]=e}else l.textColor=a;if(null!=i)if("object"==typeof i){let[t,e]=Object.entries(i)[0];l[t]=e}else l.lineColor=i;if(null!=s)if("object"==typeof s){let[t,e]=Object.entries(s)[0];l[t]=parseInt(e)}else l.offsetX=parseInt(s);if(null!=r)if("object"==typeof r){let[t,e]=Object.entries(r)[0];l[t]=parseInt(e)}else l.offsetY=parseInt(r)}},"updateRelStyle"),I=(0,l.K)(function(t,e,n){let a=S,i=A;if("object"==typeof e){const t=Object.values(e)[0];a=parseInt(t)}else a=parseInt(e);if("object"==typeof n){const t=Object.values(n)[0];i=parseInt(t)}else i=parseInt(n);a>=1&&(S=a),i>=1&&(A=i)},"updateLayoutConfig"),M=(0,l.K)(function(){return S},"getC4ShapeInRow"),L=(0,l.K)(function(){return A},"getC4BoundaryInRow"),Y=(0,l.K)(function(){return b},"getCurrentBoundaryParse"),K=(0,l.K)(function(){return f},"getParentBoundaryParse"),U=(0,l.K)(function(t){return null==t?y:y.filter(e=>e.parentBoundary===t)},"getC4ShapeArray"),F=(0,l.K)(function(t){return y.find(e=>e.alias===t)},"getC4Shape"),X=(0,l.K)(function(t){return Object.keys(U(t))},"getC4ShapeKeys"),z=(0,l.K)(function(t){return null==t?_:_.filter(e=>e.parentBoundary===t)},"getBoundaries"),W=z,Q=(0,l.K)(function(){return x},"getRels"),$=(0,l.K)(function(){return m},"getTitle"),H=(0,l.K)(function(t){E=t},"setWrap"),V=(0,l.K)(function(){return E},"autoWrap"),q=(0,l.K)(function(){y=[],_=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],f="",b="global",g=[""],x=[],g=[""],m="",E=!1,S=4,A=2},"clear"),G=(0,l.K)(function(t){let e=(0,s.jZ)(t,(0,s.D7)());m=e},"setTitle"),J={addPersonOrSystem:k,addPersonOrSystemBoundary:R,addContainer:T,addContainerBoundary:D,addComponent:v,addDeploymentNode:N,popBoundaryParseStack:P,addRel:O,updateElStyle:B,updateRelStyle:j,updateLayoutConfig:I,autoWrap:V,setWrap:H,getC4ShapeArray:U,getC4Shape:F,getC4ShapeKeys:X,getBoundaries:z,getBoundarys:W,getCurrentBoundaryParse:Y,getParentBoundaryParse:K,getRels:Q,getTitle:$,getC4Type:C,getC4ShapeInRow:M,getC4BoundaryInRow:L,setAccTitle:s.SV,getAccTitle:s.iN,getAccDescription:s.m7,setAccDescription:s.EI,getConfig:(0,l.K)(()=>(0,s.D7)().c4,"getConfig"),clear:q,LINETYPE:{SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},setTitle:G,setC4Type:w},Z=(0,l.K)(function(t,e){return(0,a.tk)(t,e)},"drawRect"),tt=(0,l.K)(function(t,e,n,a,i,s){const r=t.append("image");r.attr("width",e),r.attr("height",n),r.attr("x",a),r.attr("y",i);let l=s.startsWith("data:image/png;base64")?s:(0,h.J)(s);r.attr("xlink:href",l)},"drawImage"),et=(0,l.K)((t,e,n,a)=>{const i=t.append("g");let s=0;for(let r of e){let t=r.textColor?r.textColor:"#444444",e=r.lineColor?r.lineColor:"#444444",l=r.offsetX?parseInt(r.offsetX):0,o=r.offsetY?parseInt(r.offsetY):0,c="";if(0===s){let t=i.append("line");t.attr("x1",r.startPoint.x),t.attr("y1",r.startPoint.y),t.attr("x2",r.endPoint.x),t.attr("y2",r.endPoint.y),t.attr("stroke-width","1"),t.attr("stroke",e),t.style("fill","none"),"rel_b"!==r.type&&t.attr("marker-end","url("+c+"#"+a+"-arrowhead)"),"birel"!==r.type&&"rel_b"!==r.type||t.attr("marker-start","url("+c+"#"+a+"-arrowend)"),s=-1}else{let t=i.append("path");t.attr("fill","none").attr("stroke-width","1").attr("stroke",e).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",r.startPoint.x).replaceAll("starty",r.startPoint.y).replaceAll("controlx",r.startPoint.x+(r.endPoint.x-r.startPoint.x)/2-(r.endPoint.x-r.startPoint.x)/4).replaceAll("controly",r.startPoint.y+(r.endPoint.y-r.startPoint.y)/2).replaceAll("stopx",r.endPoint.x).replaceAll("stopy",r.endPoint.y)),"rel_b"!==r.type&&t.attr("marker-end","url("+c+"#"+a+"-arrowhead)"),"birel"!==r.type&&"rel_b"!==r.type||t.attr("marker-start","url("+c+"#"+a+"-arrowend)")}let h=n.messageFont();ut(n)(r.label.text,i,Math.min(r.startPoint.x,r.endPoint.x)+Math.abs(r.endPoint.x-r.startPoint.x)/2+l,Math.min(r.startPoint.y,r.endPoint.y)+Math.abs(r.endPoint.y-r.startPoint.y)/2+o,r.label.width,r.label.height,{fill:t},h),r.techn&&""!==r.techn.text&&(h=n.messageFont(),ut(n)("["+r.techn.text+"]",i,Math.min(r.startPoint.x,r.endPoint.x)+Math.abs(r.endPoint.x-r.startPoint.x)/2+l,Math.min(r.startPoint.y,r.endPoint.y)+Math.abs(r.endPoint.y-r.startPoint.y)/2+n.messageFontSize+5+o,Math.max(r.label.width,r.techn.width),r.techn.height,{fill:t,"font-style":"italic"},h))}},"drawRels"),nt=(0,l.K)(function(t,e,n){const a=t.append("g");let i=e.bgColor?e.bgColor:"none",s=e.borderColor?e.borderColor:"#444444",r=e.fontColor?e.fontColor:"black",l={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(l={"stroke-width":1});let o={x:e.x,y:e.y,fill:i,stroke:s,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:l};Z(a,o);let c=n.boundaryFont();c.fontWeight="bold",c.fontSize=c.fontSize+2,c.fontColor=r,ut(n)(e.label.text,a,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},c),e.type&&""!==e.type.text&&(c=n.boundaryFont(),c.fontColor=r,ut(n)(e.type.text,a,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},c)),e.descr&&""!==e.descr.text&&(c=n.boundaryFont(),c.fontSize=c.fontSize-2,c.fontColor=r,ut(n)(e.descr.text,a,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},c))},"drawBoundary"),at=(0,l.K)(function(t,e,n){let i=e.bgColor?e.bgColor:n[e.typeC4Shape.text+"_bg_color"],s=e.borderColor?e.borderColor:n[e.typeC4Shape.text+"_border_color"],r=e.fontColor?e.fontColor:"#FFFFFF",l="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(e.typeC4Shape.text){case"person":l="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":l="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII="}const o=t.append("g");o.attr("class","person-man");const c=(0,a.PB)();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":c.x=e.x,c.y=e.y,c.fill=i,c.width=e.width,c.height=e.height,c.stroke=s,c.rx=2.5,c.ry=2.5,c.attrs={"stroke-width":.5},Z(o,c);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":o.append("path").attr("fill",i).attr("stroke-width","0.5").attr("stroke",s).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2).replaceAll("height",e.height)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",s).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":o.append("path").attr("fill",i).attr("stroke-width","0.5").attr("stroke",s).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("width",e.width).replaceAll("half",e.height/2)),o.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",s).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",e.x+e.width).replaceAll("starty",e.y).replaceAll("half",e.height/2))}let h=dt(n,e.typeC4Shape.text);switch(o.append("text").attr("fill",r).attr("font-family",h.fontFamily).attr("font-size",h.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":tt(o,48,48,e.x+e.width/2-24,e.y+e.image.Y,l)}let d=n[e.typeC4Shape.text+"Font"]();return d.fontWeight="bold",d.fontSize=d.fontSize+2,d.fontColor=r,ut(n)(e.label.text,o,e.x,e.y+e.label.Y,e.width,e.height,{fill:r},d),d=n[e.typeC4Shape.text+"Font"](),d.fontColor=r,e.techn&&""!==e.techn?.text?ut(n)(e.techn.text,o,e.x,e.y+e.techn.Y,e.width,e.height,{fill:r,"font-style":"italic"},d):e.type&&""!==e.type.text&&ut(n)(e.type.text,o,e.x,e.y+e.type.Y,e.width,e.height,{fill:r,"font-style":"italic"},d),e.descr&&""!==e.descr.text&&(d=n.personFont(),d.fontColor=r,ut(n)(e.descr.text,o,e.x,e.y+e.descr.Y,e.width,e.height,{fill:r},d)),e.height},"drawC4Shape"),it=(0,l.K)(function(t,e){t.append("defs").append("symbol").attr("id",e+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),st=(0,l.K)(function(t,e){t.append("defs").append("symbol").attr("id",e+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),rt=(0,l.K)(function(t,e){t.append("defs").append("symbol").attr("id",e+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),lt=(0,l.K)(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),ot=(0,l.K)(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),ct=(0,l.K)(function(t,e){t.append("defs").append("marker").attr("id",e+"-filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),ht=(0,l.K)(function(t,e){const n=t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);n.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),n.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},"insertArrowCrossHead"),dt=(0,l.K)((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"getC4ShapeFont"),ut=function(){function t(t,e,n,i,s,r,l){a(e.append("text").attr("x",n+s/2).attr("y",i+r/2+5).style("text-anchor","middle").text(t),l)}function e(t,e,n,i,r,l,o,c){const{fontSize:h,fontFamily:d,fontWeight:u}=c,p=t.split(s.Y2.lineBreakRegex);for(let s=0;s<p.length;s++){const t=s*h-h*(p.length-1)/2,l=e.append("text").attr("x",n+r/2).attr("y",i).style("text-anchor","middle").attr("dominant-baseline","middle").style("font-size",h).style("font-weight",u).style("font-family",d);l.append("tspan").attr("dy",t).text(p[s]).attr("alignment-baseline","mathematical"),a(l,o)}}function n(t,n,i,s,r,l,o,c){const h=n.append("switch"),d=h.append("foreignObject").attr("x",i).attr("y",s).attr("width",r).attr("height",l).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");d.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,h,i,s,r,0,o,c),a(d,o)}function a(t,e){for(const n in e)e.hasOwnProperty(n)&&t.attr(n,e[n])}return(0,l.K)(t,"byText"),(0,l.K)(e,"byTspan"),(0,l.K)(n,"byFo"),(0,l.K)(a,"_setTextAttrs"),function(a){return"fo"===a.textPlacement?n:"old"===a.textPlacement?t:e}}(),pt={drawRect:Z,drawBoundary:nt,drawC4Shape:at,drawRels:et,drawImage:tt,insertArrowHead:lt,insertArrowEnd:ot,insertArrowFilledHead:ct,insertArrowCrossHead:ht,insertDatabaseIcon:it,insertComputerIcon:st,insertClockIcon:rt},yt=0,gt=0,bt=4,ft=2;d.yy=J;var _t={},xt=class{static{(0,l.K)(this,"Bounds")}constructor(t){this.name="",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,mt(t.db.getConfig())}setData(t,e,n,a){this.nextData.startx=this.data.startx=t,this.nextData.stopx=this.data.stopx=e,this.nextData.starty=this.data.starty=n,this.nextData.stopy=this.data.stopy=a}updateVal(t,e,n,a){void 0===t[e]?t[e]=n:t[e]=a(n,t[e])}insert(t){this.nextData.cnt=this.nextData.cnt+1;let e=this.nextData.startx===this.nextData.stopx?this.nextData.stopx+t.margin:this.nextData.stopx+2*t.margin,n=e+t.width,a=this.nextData.starty+2*t.margin,i=a+t.height;(e>=this.data.widthLimit||n>=this.data.widthLimit||this.nextData.cnt>bt)&&(e=this.nextData.startx+t.margin+_t.nextLinePaddingX,a=this.nextData.stopy+2*t.margin,this.nextData.stopx=n=e+t.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=i=a+t.height,this.nextData.cnt=1),t.x=e,t.y=a,this.updateVal(this.data,"startx",e,Math.min),this.updateVal(this.data,"starty",a,Math.min),this.updateVal(this.data,"stopx",n,Math.max),this.updateVal(this.data,"stopy",i,Math.max),this.updateVal(this.nextData,"startx",e,Math.min),this.updateVal(this.nextData,"starty",a,Math.min),this.updateVal(this.nextData,"stopx",n,Math.max),this.updateVal(this.nextData,"stopy",i,Math.max)}init(t){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},mt(t.db.getConfig())}bumpLastMargin(t){this.data.stopx+=t,this.data.stopy+=t}},mt=(0,l.K)(function(t){(0,s.hH)(_t,t),t.fontFamily&&(_t.personFontFamily=_t.systemFontFamily=_t.messageFontFamily=t.fontFamily),t.fontSize&&(_t.personFontSize=_t.systemFontSize=_t.messageFontSize=t.fontSize),t.fontWeight&&(_t.personFontWeight=_t.systemFontWeight=_t.messageFontWeight=t.fontWeight)},"setConf"),Et=(0,l.K)((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"c4ShapeFont"),St=(0,l.K)(t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),"boundaryFont"),At=(0,l.K)(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont");function Ct(t,e,n,a,r){if(!e[t].width)if(n)e[t].text=(0,i.bH)(e[t].text,r,a),e[t].textLines=e[t].text.split(s.Y2.lineBreakRegex).length,e[t].width=r,e[t].height=(0,i.ru)(e[t].text,a);else{let n=e[t].text.split(s.Y2.lineBreakRegex);e[t].textLines=n.length;let r=0;e[t].height=0,e[t].width=0;for(const s of n)e[t].width=Math.max((0,i.Un)(s,a),e[t].width),r=(0,i.ru)(s,a),e[t].height=e[t].height+r}}(0,l.K)(Ct,"calcC4ShapeTextWH");var wt=(0,l.K)(function(t,e,n){e.x=n.data.startx,e.y=n.data.starty,e.width=n.data.stopx-n.data.startx,e.height=n.data.stopy-n.data.starty,e.label.y=_t.c4ShapeMargin-35;let a=e.wrap&&_t.wrap,s=St(_t);s.fontSize=s.fontSize+2,s.fontWeight="bold",Ct("label",e,a,s,(0,i.Un)(e.label.text,s)),pt.drawBoundary(t,e,_t)},"drawBoundary"),Ot=(0,l.K)(function(t,e,n,a){let s=0;for(const r of a){s=0;const a=n[r];let l=Et(_t,a.typeC4Shape.text);switch(l.fontSize=l.fontSize-2,a.typeC4Shape.width=(0,i.Un)("\xab"+a.typeC4Shape.text+"\xbb",l),a.typeC4Shape.height=l.fontSize+2,a.typeC4Shape.Y=_t.c4ShapePadding,s=a.typeC4Shape.Y+a.typeC4Shape.height-4,a.image={width:0,height:0,Y:0},a.typeC4Shape.text){case"person":case"external_person":a.image.width=48,a.image.height=48,a.image.Y=s,s=a.image.Y+a.image.height}a.sprite&&(a.image.width=48,a.image.height=48,a.image.Y=s,s=a.image.Y+a.image.height);let o=a.wrap&&_t.wrap,c=_t.width-2*_t.c4ShapePadding,h=Et(_t,a.typeC4Shape.text);if(h.fontSize=h.fontSize+2,h.fontWeight="bold",Ct("label",a,o,h,c),a.label.Y=s+8,s=a.label.Y+a.label.height,a.type&&""!==a.type.text){a.type.text="["+a.type.text+"]",Ct("type",a,o,Et(_t,a.typeC4Shape.text),c),a.type.Y=s+5,s=a.type.Y+a.type.height}else if(a.techn&&""!==a.techn.text){a.techn.text="["+a.techn.text+"]",Ct("techn",a,o,Et(_t,a.techn.text),c),a.techn.Y=s+5,s=a.techn.Y+a.techn.height}let d=s,u=a.label.width;if(a.descr&&""!==a.descr.text){Ct("descr",a,o,Et(_t,a.typeC4Shape.text),c),a.descr.Y=s+20,s=a.descr.Y+a.descr.height,u=Math.max(a.label.width,a.descr.width),d=s-5*a.descr.textLines}u+=_t.c4ShapePadding,a.width=Math.max(a.width||_t.width,u,_t.width),a.height=Math.max(a.height||_t.height,d,_t.height),a.margin=a.margin||_t.c4ShapeMargin,t.insert(a),pt.drawC4Shape(e,a,_t)}t.bumpLastMargin(_t.c4ShapeMargin)},"drawC4ShapeArray"),kt=class{static{(0,l.K)(this,"Point")}constructor(t,e){this.x=t,this.y=e}},Tt=(0,l.K)(function(t,e){let n=t.x,a=t.y,i=e.x,s=e.y,r=n+t.width/2,l=a+t.height/2,o=Math.abs(n-i),c=Math.abs(a-s),h=c/o,d=t.height/t.width,u=null;return a==s&&n<i?u=new kt(n+t.width,l):a==s&&n>i?u=new kt(n,l):n==i&&a<s?u=new kt(r,a+t.height):n==i&&a>s&&(u=new kt(r,a)),n>i&&a<s?u=d>=h?new kt(n,l+h*t.width/2):new kt(r-o/c*t.height/2,a+t.height):n<i&&a<s?u=d>=h?new kt(n+t.width,l+h*t.width/2):new kt(r+o/c*t.height/2,a+t.height):n<i&&a>s?u=d>=h?new kt(n+t.width,l-h*t.width/2):new kt(r+t.height/2*o/c,a):n>i&&a>s&&(u=d>=h?new kt(n,l-t.width/2*h):new kt(r-t.height/2*o/c,a)),u},"getIntersectPoint"),vt=(0,l.K)(function(t,e){let n={x:0,y:0};n.x=e.x+e.width/2,n.y=e.y+e.height/2;let a=Tt(t,n);return n.x=t.x+t.width/2,n.y=t.y+t.height/2,{startPoint:a,endPoint:Tt(e,n)}},"getIntersectPoints"),Rt=(0,l.K)(function(t,e,n,a,s){let r=0;for(let l of e){r+=1;let t=l.wrap&&_t.wrap,e=At(_t);"C4Dynamic"===a.db.getC4Type()&&(l.label.text=r+": "+l.label.text);let s=(0,i.Un)(l.label.text,e);Ct("label",l,t,e,s),l.techn&&""!==l.techn.text&&(s=(0,i.Un)(l.techn.text,e),Ct("techn",l,t,e,s)),l.descr&&""!==l.descr.text&&(s=(0,i.Un)(l.descr.text,e),Ct("descr",l,t,e,s));let o=n(l.from),c=n(l.to),h=vt(o,c);l.startPoint=h.startPoint,l.endPoint=h.endPoint}pt.drawRels(t,e,_t,s)},"drawRels");function Dt(t,e,n,a,i){let s=new xt(i);s.data.widthLimit=n.data.widthLimit/Math.min(ft,a.length);for(let[r,l]of a.entries()){let a=0;l.image={width:0,height:0,Y:0},l.sprite&&(l.image.width=48,l.image.height=48,l.image.Y=a,a=l.image.Y+l.image.height);let o=l.wrap&&_t.wrap,c=St(_t);if(c.fontSize=c.fontSize+2,c.fontWeight="bold",Ct("label",l,o,c,s.data.widthLimit),l.label.Y=a+8,a=l.label.Y+l.label.height,l.type&&""!==l.type.text){l.type.text="["+l.type.text+"]",Ct("type",l,o,St(_t),s.data.widthLimit),l.type.Y=a+5,a=l.type.Y+l.type.height}if(l.descr&&""!==l.descr.text){let t=St(_t);t.fontSize=t.fontSize-2,Ct("descr",l,o,t,s.data.widthLimit),l.descr.Y=a+20,a=l.descr.Y+l.descr.height}if(0==r||r%ft===0){let t=n.data.startx+_t.diagramMarginX,e=n.data.stopy+_t.diagramMarginY+a;s.setData(t,t,e,e)}else{let t=s.data.stopx!==s.data.startx?s.data.stopx+_t.diagramMarginX:s.data.startx,e=s.data.starty;s.setData(t,t,e,e)}s.name=l.alias;let h=i.db.getC4ShapeArray(l.alias),d=i.db.getC4ShapeKeys(l.alias);d.length>0&&Ot(s,t,h,d),e=l.alias;let u=i.db.getBoundaries(e);u.length>0&&Dt(t,e,s,u,i),"global"!==l.alias&&wt(t,l,s),n.data.stopy=Math.max(s.data.stopy+_t.c4ShapeMargin,n.data.stopy),n.data.stopx=Math.max(s.data.stopx+_t.c4ShapeMargin,n.data.stopx),yt=Math.max(yt,n.data.stopx),gt=Math.max(gt,n.data.stopy)}}(0,l.K)(Dt,"drawInsideBoundary");var Nt={drawPersonOrSystemArray:Ot,drawBoundary:wt,setConf:mt,draw:(0,l.K)(function(t,e,n,a){_t=(0,s.D7)().c4;const i=(0,s.D7)().securityLevel;let l;"sandbox"===i&&(l=(0,o.Ltv)("#i"+e));const c="sandbox"===i?(0,o.Ltv)(l.nodes()[0].contentDocument.body):(0,o.Ltv)("body");let h=a.db;a.db.setWrap(_t.wrap),bt=h.getC4ShapeInRow(),ft=h.getC4BoundaryInRow(),r.R.debug(`C:${JSON.stringify(_t,null,2)}`);const d="sandbox"===i?c.select(`[id="${e}"]`):(0,o.Ltv)(`[id="${e}"]`);pt.insertComputerIcon(d,e),pt.insertDatabaseIcon(d,e),pt.insertClockIcon(d,e);let u=new xt(a);u.setData(_t.diagramMarginX,_t.diagramMarginX,_t.diagramMarginY,_t.diagramMarginY),u.data.widthLimit=screen.availWidth,yt=_t.diagramMarginX,gt=_t.diagramMarginY;const p=a.db.getTitle();Dt(d,"",u,a.db.getBoundaries(""),a),pt.insertArrowHead(d,e),pt.insertArrowEnd(d,e),pt.insertArrowCrossHead(d,e),pt.insertArrowFilledHead(d,e),Rt(d,a.db.getRels(),a.db.getC4Shape,a,e),u.data.stopx=yt,u.data.stopy=gt;const y=u.data;let g=y.stopy-y.starty+2*_t.diagramMarginY;const b=y.stopx-y.startx+2*_t.diagramMarginX;p&&d.append("text").text(p).attr("x",(y.stopx-y.startx)/2-4*_t.diagramMarginX).attr("y",y.starty+_t.diagramMarginY),(0,s.a$)(d,g,b,_t.useMaxWidth);const f=p?60:0;d.attr("viewBox",y.startx-_t.diagramMarginX+" -"+(_t.diagramMarginY+f)+" "+b+" "+(g+f)),r.R.debug("models:",y)},"draw")},Pt={parser:p,db:J,renderer:Nt,styles:(0,l.K)(t=>`.person {\n stroke: ${t.personBorder};\n fill: ${t.personBkg};\n }\n`,"getStyles"),init:(0,l.K)(({c4:t,wrap:e})=>{Nt.setConf(t),J.setWrap(e)},"init")}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[2960],{
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[2960],{7571(e,i,n){n.r(i),n.d(i,{assets:()=>d,contentTitle:()=>s,default:()=>h,frontMatter:()=>r,metadata:()=>a,toc:()=>o});const a=JSON.parse('{"id":"api/variables/prettierConfig","title":"prettierConfig","description":"Type Declaration","source":"@site/docs/api/variables/prettierConfig.md","sourceDirName":"api/variables","slug":"/api/variables/prettierConfig","permalink":"/cli/api/variables/prettierConfig","draft":false,"unlisted":false,"editUrl":"https://git.elliemae.io/platform-ui/pui-cli.git/docs/api/variables/prettierConfig.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docsSidebar","previous":{"title":"lintStagedConfig","permalink":"/cli/api/variables/lintStagedConfig"},"next":{"title":"stylelintConfig","permalink":"/cli/api/variables/stylelintConfig"}}');var l=n(6070),t=n(5676);const r={},s="prettierConfig",d={},o=[{value:"Type Declaration",id:"type-declaration",level:2},{value:"printWidth",id:"printwidth",level:3},{value:"semi",id:"semi",level:3},{value:"singleQuote",id:"singlequote",level:3},{value:"tabWidth",id:"tabwidth",level:3},{value:"trailingComma",id:"trailingcomma",level:3},{value:"useTabs",id:"usetabs",level:3}];function c(e){const i={code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",pre:"pre",...(0,t.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(i.header,{children:(0,l.jsx)(i.h1,{id:"prettierconfig",children:"prettierConfig"})}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-ts",children:"prettierConfig: {\n printWidth: number;\n semi: boolean;\n singleQuote: boolean;\n tabWidth: number;\n trailingComma: string;\n useTabs: boolean;\n};\n"})}),"\n",(0,l.jsx)(i.h2,{id:"type-declaration",children:"Type Declaration"}),"\n",(0,l.jsx)(i.h3,{id:"printwidth",children:"printWidth"}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-ts",children:"printWidth: number = 80;\n"})}),"\n",(0,l.jsx)(i.h3,{id:"semi",children:"semi"}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-ts",children:"semi: boolean = true;\n"})}),"\n",(0,l.jsx)(i.h3,{id:"singlequote",children:"singleQuote"}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-ts",children:"singleQuote: boolean = true;\n"})}),"\n",(0,l.jsx)(i.h3,{id:"tabwidth",children:"tabWidth"}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-ts",children:"tabWidth: number = 2;\n"})}),"\n",(0,l.jsx)(i.h3,{id:"trailingcomma",children:"trailingComma"}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-ts",children:"trailingComma: string = 'all';\n"})}),"\n",(0,l.jsx)(i.h3,{id:"usetabs",children:"useTabs"}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-ts",children:"useTabs: boolean = false;\n"})})]})}function h(e={}){const{wrapper:i}={...(0,t.R)(),...e.components};return i?(0,l.jsx)(i,{...e,children:(0,l.jsx)(c,{...e})}):c(e)}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[594],{
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[594],{9707(i,e,s){s.r(e),s.d(e,{assets:()=>a,contentTitle:()=>d,default:()=>j,frontMatter:()=>t,metadata:()=>l,toc:()=>c});const l=JSON.parse('{"id":"api/index","title":"Cli API","description":"Functions","source":"@site/docs/api/index.md","sourceDirName":"api","slug":"/api/","permalink":"/cli/api/","draft":false,"unlisted":false,"editUrl":"https://git.elliemae.io/platform-ui/pui-cli.git/docs/api/index.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docsSidebar","next":{"title":"loadRoutes()","permalink":"/cli/api/functions/loadRoutes"}}');var n=s(6070),r=s(5676);const t={},d="Cli API",a={},c=[{value:"Functions",id:"functions",level:2},{value:"Type Aliases",id:"type-aliases",level:2},{value:"Variables",id:"variables",level:2}];function h(i){const e={a:"a",h1:"h1",h2:"h2",header:"header",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...i.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.header,{children:(0,n.jsx)(e.h1,{id:"cli-api",children:"Cli API"})}),"\n",(0,n.jsx)(e.h2,{id:"functions",children:"Functions"}),"\n",(0,n.jsxs)(e.table,{children:[(0,n.jsx)(e.thead,{children:(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.th,{children:"Function"}),(0,n.jsx)(e.th,{children:"Description"})]})}),(0,n.jsx)(e.tbody,{children:(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/functions/loadRoutes",children:"loadRoutes"})}),(0,n.jsx)(e.td,{children:"-"})]})})]}),"\n",(0,n.jsx)(e.h2,{id:"type-aliases",children:"Type Aliases"}),"\n",(0,n.jsxs)(e.table,{children:[(0,n.jsx)(e.thead,{children:(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.th,{children:"Type Alias"}),(0,n.jsx)(e.th,{children:"Description"})]})}),(0,n.jsx)(e.tbody,{children:(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/type-aliases/LIB_NAME",children:"LIB_NAME"})}),(0,n.jsx)(e.td,{children:"-"})]})})]}),"\n",(0,n.jsx)(e.h2,{id:"variables",children:"Variables"}),"\n",(0,n.jsxs)(e.table,{children:[(0,n.jsx)(e.thead,{children:(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.th,{children:"Variable"}),(0,n.jsx)(e.th,{children:"Description"})]})}),(0,n.jsxs)(e.tbody,{children:[(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/babelConfig",children:"babelConfig"})}),(0,n.jsx)(e.td,{children:"-"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/commitlintConfig",children:"commitlintConfig"})}),(0,n.jsx)(e.td,{children:"-"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/eslintBaseConfig",children:"eslintBaseConfig"})}),(0,n.jsx)(e.td,{children:"-"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/eslintConfig",children:"eslintConfig"})}),(0,n.jsx)(e.td,{children:"-"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/jestConfig",children:"jestConfig"})}),(0,n.jsx)(e.td,{children:"-"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/jestNodeConfig",children:"jestNodeConfig"})}),(0,n.jsx)(e.td,{children:"-"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/lintStagedConfig",children:"lintStagedConfig"})}),(0,n.jsx)(e.td,{children:"-"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/prettierConfig",children:"prettierConfig"})}),(0,n.jsx)(e.td,{children:"-"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/stylelintConfig",children:"stylelintConfig"})}),(0,n.jsx)(e.td,{children:"-"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/vitestConfig",children:"vitestConfig"})}),(0,n.jsx)(e.td,{children:"-"})]})]})]})]})}function j(i={}){const{wrapper:e}={...(0,r.R)(),...i.components};return e?(0,n.jsx)(e,{...i,children:(0,n.jsx)(h,{...i})}):h(i)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[9647],{3250(e,l,a){a.r(l),a.d(l,{default:()=>n});a(758);var i=a(3526),s=a(5589),r=a(3626),u=a(1977),c=a(3159),h=a(6070);function n(e){return(0,h.jsx)(r.e3,{className:(0,i.A)(s.G.wrapper.docsPages),children:(0,h.jsx)(c.A,{children:(0,u.v)(e.route.routes)})})}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[1091],{1972(e,i,n){n.r(i),n.d(i,{assets:()=>o,contentTitle:()=>c,default:()=>a,frontMatter:()=>t,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"ssl-certificate-setup","title":"Trust SSL Certificate Guide","description":"This guide explains how to trust the self-signed CA certificate on different operating systems and browsers so your HTTPS connection works without warnings.","source":"@site/docs/ssl-certificate-setup.md","sourceDirName":".","slug":"/ssl-certificate-setup","permalink":"/cli/ssl-certificate-setup","draft":false,"unlisted":false,"editUrl":"https://git.elliemae.io/platform-ui/pui-cli.git/docs/ssl-certificate-setup.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docsSidebar","previous":{"title":"PUI CLI Documentation","permalink":"/cli/"},"next":{"title":"Usage Guide","permalink":"/cli/usage-guide"}}');var r=n(6070),l=n(5676);const t={},c="Trust SSL Certificate Guide",o={},d=[{value:"\ud83d\udccb Table of Contents",id:"-table-of-contents",level:2},{value:"\ud83c\udf4e macOS",id:"-macos",level:2},{value:"Via Keychain Access",id:"via-keychain-access",level:3},{value:"Remove Certificate from macOS",id:"remove-certificate-from-macos",level:3},{value:"\ud83e\ude9f Windows",id:"-windows",level:2},{value:"Via Certificate Manager",id:"via-certificate-manager",level:3},{value:"Remove Certificate from Windows",id:"remove-certificate-from-windows",level:3},{value:"\ud83e\udd8a Firefox (All Platforms)",id:"-firefox-all-platforms",level:2},{value:"Import Certificate to Firefox",id:"import-certificate-to-firefox",level:3},{value:"Remove Certificate from Firefox",id:"remove-certificate-from-firefox",level:3},{value:"Troubleshooting",id:"troubleshooting",level:2},{value:"Still seeing "Not Secure" warning?",id:"still-seeing-not-secure-warning",level:3},{value:"Browser not trusting certificate?",id:"browser-not-trusting-certificate",level:3},{value:"Certificate Details",id:"certificate-details",level:2},{value:"Security Notes",id:"security-notes",level:2},{value:"Regenerate Certificates",id:"regenerate-certificates",level:2}];function h(e){const i={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,l.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.header,{children:(0,r.jsx)(i.h1,{id:"trust-ssl-certificate-guide",children:"Trust SSL Certificate Guide"})}),"\n",(0,r.jsx)(i.p,{children:"This guide explains how to trust the self-signed CA certificate on different operating systems and browsers so your HTTPS connection works without warnings."}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h2,{id:"-table-of-contents",children:"\ud83d\udccb Table of Contents"}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:(0,r.jsx)(i.a,{href:"#-macos",children:"macOS"})}),"\n",(0,r.jsx)(i.li,{children:(0,r.jsx)(i.a,{href:"#-windows",children:"Windows"})}),"\n",(0,r.jsx)(i.li,{children:(0,r.jsx)(i.a,{href:"#-firefox-all-platforms",children:"Firefox (All Platforms)"})}),"\n"]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h2,{id:"-macos",children:"\ud83c\udf4e macOS"}),"\n",(0,r.jsx)(i.h3,{id:"via-keychain-access",children:"Via Keychain Access"}),"\n",(0,r.jsxs)(i.ol,{children:["\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Locate the certificate file:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Open Finder and navigate to the ",(0,r.jsx)(i.code,{children:"certs"})," folder"]}),"\n",(0,r.jsxs)(i.li,{children:["Find the file ",(0,r.jsx)(i.code,{children:"ca-cert.pem"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Import the certificate:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.strong,{children:"Double-click"})," ",(0,r.jsx)(i.code,{children:"ca-cert.pem"})]}),"\n",(0,r.jsxs)(i.li,{children:["In the popup dialog, select ",(0,r.jsx)(i.strong,{children:'"login"'})," keychain"]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Add"'})]}),"\n",(0,r.jsx)(i.li,{children:"Enter your macOS password if prompted"}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Trust the certificate:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Press ",(0,r.jsx)(i.code,{children:"Cmd + Space"})," and type ",(0,r.jsx)(i.strong,{children:'"Keychain Access"'})," to open the app"]}),"\n",(0,r.jsxs)(i.li,{children:["In the left sidebar, click ",(0,r.jsx)(i.strong,{children:'"login"'})," keychain"]}),"\n",(0,r.jsxs)(i.li,{children:["In the bottom-left category selector, choose ",(0,r.jsx)(i.strong,{children:'"Certificates"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Search for ",(0,r.jsx)(i.strong,{children:'"localhost"'})," in the search box (top right)"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Set trust level:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.strong,{children:"Double-click"}),' the "localhost" certificate']}),"\n",(0,r.jsxs)(i.li,{children:["Click the ",(0,r.jsx)(i.strong,{children:"\u25b6 triangle"})," next to ",(0,r.jsx)(i.strong,{children:'"Trust"'})," to expand the section"]}),"\n",(0,r.jsxs)(i.li,{children:["Change ",(0,r.jsx)(i.strong,{children:'"When using this certificate"'})," dropdown to ",(0,r.jsx)(i.strong,{children:'"Always Trust"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Optionally, set ",(0,r.jsx)(i.strong,{children:'"Secure Sockets Layer (SSL)"'})," to ",(0,r.jsx)(i.strong,{children:'"Always Trust"'})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Save changes:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"Close the certificate window"}),"\n",(0,r.jsx)(i.li,{children:"Enter your macOS password when prompted"}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"Restart your browser"})," (important!)"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"Test:"})," Visit ",(0,r.jsx)(i.code,{children:"https://localhost:8443"})," - should show secure! \ud83d\udd12"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(i.h3,{id:"remove-certificate-from-macos",children:"Remove Certificate from macOS"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Via Keychain Access:"})}),"\n",(0,r.jsxs)(i.ol,{children:["\n",(0,r.jsx)(i.li,{children:"Open Keychain Access"}),"\n",(0,r.jsx)(i.li,{children:'Find "localhost" certificate'}),"\n",(0,r.jsxs)(i.li,{children:["Right-click \u2192 ",(0,r.jsx)(i.strong,{children:'Delete "localhost"'})]}),"\n",(0,r.jsx)(i.li,{children:"Enter password"}),"\n"]}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Via Command Line:"})}),"\n",(0,r.jsx)(i.pre,{children:(0,r.jsx)(i.code,{className:"language-bash",children:'# From login keychain\nsecurity delete-certificate -c "localhost" ~/Library/Keychains/login.keychain-db\n'})}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h2,{id:"-windows",children:"\ud83e\ude9f Windows"}),"\n",(0,r.jsx)(i.h3,{id:"via-certificate-manager",children:"Via Certificate Manager"}),"\n",(0,r.jsxs)(i.ol,{children:["\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Open Certificate Manager:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Press ",(0,r.jsx)(i.code,{children:"Win + R"})," to open Run dialog"]}),"\n",(0,r.jsxs)(i.li,{children:["Type ",(0,r.jsx)(i.code,{children:"certmgr.msc"})," and press Enter"]}),"\n",(0,r.jsx)(i.li,{children:'Or search for "Manage user certificates" in Start menu'}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Import the certificate:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["In the left panel, expand ",(0,r.jsx)(i.strong,{children:'"Trusted Root Certification Authorities"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Right-click on ",(0,r.jsx)(i.strong,{children:'"Certificates"'})," folder"]}),"\n",(0,r.jsxs)(i.li,{children:["Select ",(0,r.jsx)(i.strong,{children:"Action"})," \u2192 ",(0,r.jsx)(i.strong,{children:"All Tasks"})," \u2192 ",(0,r.jsx)(i.strong,{children:"Import..."})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Certificate Import Wizard:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Next"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Browse..."'})," and navigate to your ",(0,r.jsx)(i.code,{children:"certs"})," folder"]}),"\n",(0,r.jsxs)(i.li,{children:["Change file type filter to ",(0,r.jsxs)(i.strong,{children:['"All Files (',(0,r.jsx)(i.em,{children:"."}),')"']})]}),"\n",(0,r.jsxs)(i.li,{children:["Select ",(0,r.jsx)(i.strong,{children:(0,r.jsx)(i.code,{children:"ca-cert.pem"})})]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Open"'})," then ",(0,r.jsx)(i.strong,{children:'"Next"'})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Choose certificate store:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Select ",(0,r.jsx)(i.strong,{children:'"Place all certificates in the following store"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Ensure it says ",(0,r.jsx)(i.strong,{children:'"Trusted Root Certification Authorities"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Next"'})," then ",(0,r.jsx)(i.strong,{children:'"Finish"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"OK"'})," on the success message"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Verify installation:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["In Certificate Manager, navigate to ",(0,r.jsx)(i.strong,{children:'"Trusted Root Certification Authorities"'})," \u2192 ",(0,r.jsx)(i.strong,{children:'"Certificates"'})]}),"\n",(0,r.jsx)(i.li,{children:'You should see "localhost" or "Development" in the list'}),"\n",(0,r.jsx)(i.li,{children:"Double-click to view details"}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"Restart your browser"})," (close all windows completely)"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"Test:"})," Visit ",(0,r.jsx)(i.code,{children:"https://localhost:8443"})," - should show secure! \ud83d\udd12"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(i.h3,{id:"remove-certificate-from-windows",children:"Remove Certificate from Windows"}),"\n",(0,r.jsxs)(i.ol,{children:["\n",(0,r.jsxs)(i.li,{children:["Open Certificate Manager (",(0,r.jsx)(i.code,{children:"certmgr.msc"}),")"]}),"\n",(0,r.jsxs)(i.li,{children:["Navigate to ",(0,r.jsx)(i.strong,{children:'"Trusted Root Certification Authorities"'})," \u2192 ",(0,r.jsx)(i.strong,{children:'"Certificates"'})]}),"\n",(0,r.jsx)(i.li,{children:'Find "localhost" certificate'}),"\n",(0,r.jsxs)(i.li,{children:["Right-click \u2192 ",(0,r.jsx)(i.strong,{children:"Delete"})]}),"\n",(0,r.jsx)(i.li,{children:"Confirm deletion"}),"\n"]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h2,{id:"-firefox-all-platforms",children:"\ud83e\udd8a Firefox (All Platforms)"}),"\n",(0,r.jsx)(i.p,{children:"Firefox uses its own certificate store, independent of the operating system."}),"\n",(0,r.jsx)(i.h3,{id:"import-certificate-to-firefox",children:"Import Certificate to Firefox"}),"\n",(0,r.jsxs)(i.ol,{children:["\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Open Firefox Settings:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Click menu (\u2630) \u2192 ",(0,r.jsx)(i.strong,{children:"Settings"})]}),"\n",(0,r.jsxs)(i.li,{children:["Or type ",(0,r.jsx)(i.code,{children:"about:preferences"})," in the address bar"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Navigate to Privacy & Security:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Privacy & Security"'})," in the left sidebar"]}),"\n",(0,r.jsxs)(i.li,{children:["Or go directly to ",(0,r.jsx)(i.code,{children:"about:preferences#privacy"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Access Certificates:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Scroll down to the ",(0,r.jsx)(i.strong,{children:'"Security"'})," section"]}),"\n",(0,r.jsxs)(i.li,{children:["Find ",(0,r.jsx)(i.strong,{children:'"Certificates"'})," heading"]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"View Certificates..."'})," button"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Import CA Certificate:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["In the Certificate Manager window, click the ",(0,r.jsx)(i.strong,{children:'"Authorities"'})," tab"]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Import..."'})," button"]}),"\n",(0,r.jsxs)(i.li,{children:["Navigate to your ",(0,r.jsx)(i.code,{children:"certs"})," folder"]}),"\n",(0,r.jsxs)(i.li,{children:["Select ",(0,r.jsx)(i.strong,{children:(0,r.jsx)(i.code,{children:"ca-cert.pem"})})]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Open"'})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Set trust options:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["In the popup dialog, check:","\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["\u2705 ",(0,r.jsx)(i.strong,{children:'"Trust this CA to identify websites"'})]}),"\n",(0,r.jsxs)(i.li,{children:["\u2705 ",(0,r.jsx)(i.strong,{children:'"Trust this CA to identify email users"'})," (optional)"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"OK"'})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Verify import:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["In the Authorities tab, look for ",(0,r.jsx)(i.strong,{children:'"Development"'})," or organization name"]}),"\n",(0,r.jsx)(i.li,{children:'Expand it to find "localhost"'}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Close and restart Firefox"})}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"Test:"})," Visit ",(0,r.jsx)(i.code,{children:"https://localhost:8443"})," - should show secure! \ud83d\udd12"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(i.h3,{id:"remove-certificate-from-firefox",children:"Remove Certificate from Firefox"}),"\n",(0,r.jsxs)(i.ol,{children:["\n",(0,r.jsxs)(i.li,{children:["Go to ",(0,r.jsx)(i.code,{children:"about:preferences#privacy"})]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"View Certificates"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Authorities"'})," tab"]}),"\n",(0,r.jsxs)(i.li,{children:["Find ",(0,r.jsx)(i.strong,{children:'"Development"'})," \u2192 ",(0,r.jsx)(i.strong,{children:'"localhost"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Select it and click ",(0,r.jsx)(i.strong,{children:'"Delete or Distrust..."'})]}),"\n",(0,r.jsx)(i.li,{children:"Confirm deletion"}),"\n"]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h2,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,r.jsx)(i.h3,{id:"still-seeing-not-secure-warning",children:'Still seeing "Not Secure" warning?'}),"\n",(0,r.jsxs)(i.ol,{children:["\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.strong,{children:"Restart your browser"})," - Browsers cache certificate trust settings"]}),"\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.strong,{children:"Check the certificate is in login keychain"})," - Look in Keychain Access"]}),"\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.strong,{children:"Verify trust settings"}),' - Must be set to "Always Trust"']}),"\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.strong,{children:"Clear browser cache"})," - Especially SSL state"]}),"\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.strong,{children:"Check hostname"})," - Must use ",(0,r.jsx)(i.code,{children:"localhost"}),", not ",(0,r.jsx)(i.code,{children:"127.0.0.1"})]}),"\n"]}),"\n",(0,r.jsx)(i.h3,{id:"browser-not-trusting-certificate",children:"Browser not trusting certificate?"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Chrome/Edge (Windows):"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"These browsers use the Windows certificate store"}),"\n",(0,r.jsx)(i.li,{children:'Make sure you imported to "Trusted Root Certification Authorities"'}),"\n",(0,r.jsx)(i.li,{children:"Restart the browser completely"}),"\n"]}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Chrome/Safari (macOS):"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"These browsers use the macOS Keychain"}),"\n",(0,r.jsx)(i.li,{children:'Make sure certificate is in "login" keychain'}),"\n",(0,r.jsx)(i.li,{children:'Trust must be set to "Always Trust"'}),"\n",(0,r.jsx)(i.li,{children:"Restart the browser completely"}),"\n"]}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Firefox (All Platforms):"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"Firefox has its own certificate store"}),"\n",(0,r.jsxs)(i.li,{children:["See ",(0,r.jsx)(i.a,{href:"#firefox-all-platforms",children:"Firefox section"})," above"]}),"\n",(0,r.jsx)(i.li,{children:"Must import the certificate directly into Firefox"}),"\n"]}),"\n",(0,r.jsx)(i.h2,{id:"certificate-details",children:"Certificate Details"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"CA Certificate (ca-cert.pem):"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"Type: Root CA Certificate"}),"\n",(0,r.jsx)(i.li,{children:"Validity: 5 years (1825 days)"}),"\n",(0,r.jsx)(i.li,{children:"Purpose: Sign server certificates"}),"\n",(0,r.jsx)(i.li,{children:"Trust: Add to system trust store"}),"\n"]}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Server Certificate (cert.pem):"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"Type: Server Certificate"}),"\n",(0,r.jsx)(i.li,{children:"Validity: 2+ years (825 days)"}),"\n",(0,r.jsx)(i.li,{children:"Signed by: Our CA"}),"\n",(0,r.jsx)(i.li,{children:"Hostnames: localhost, *.localhost, 127.0.0.1"}),"\n",(0,r.jsx)(i.li,{children:"Purpose: HTTPS server"}),"\n"]}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Private Keys:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.code,{children:"ca-key.pem"}),": CA private key (password protected)"]}),"\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.code,{children:"key.pem"}),": Server private key (no password for convenience)"]}),"\n"]}),"\n",(0,r.jsx)(i.h2,{id:"security-notes",children:"Security Notes"}),"\n",(0,r.jsxs)(i.p,{children:["\u26a0\ufe0f ",(0,r.jsx)(i.strong,{children:"These certificates are for local development only!"})]}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"Never use these certificates in production"}),"\n",(0,r.jsxs)(i.li,{children:["Keep ",(0,r.jsx)(i.code,{children:"ca-key.pem"})," secure (it can sign certificates)"]}),"\n",(0,r.jsxs)(i.li,{children:["The CA password is: ",(0,r.jsx)(i.code,{children:"uiplatform"})," (change if needed)"]}),"\n",(0,r.jsx)(i.li,{children:"Don't commit private keys to version control"}),"\n",(0,r.jsxs)(i.li,{children:["Add to ",(0,r.jsx)(i.code,{children:".gitignore"}),": ",(0,r.jsx)(i.code,{children:"*.pem"}),", ",(0,r.jsx)(i.code,{children:"*.key"})]}),"\n"]}),"\n",(0,r.jsx)(i.h2,{id:"regenerate-certificates",children:"Regenerate Certificates"}),"\n",(0,r.jsx)(i.p,{children:"If you need to regenerate the certificates:"}),"\n",(0,r.jsx)(i.pre,{children:(0,r.jsx)(i.code,{className:"language-bash",children:"cd ssl\n./generate-certs.sh\n"})}),"\n",(0,r.jsx)(i.p,{children:"Then re-trust the new CA certificate using the steps above."})]})}function a(e={}){const{wrapper:i}={...(0,l.R)(),...e.components};return i?(0,r.jsx)(i,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}}}]);
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[1091],{2797(e,i,n){n.r(i),n.d(i,{assets:()=>o,contentTitle:()=>c,default:()=>a,frontMatter:()=>t,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"ssl-certificate-setup","title":"Trust SSL Certificate Guide","description":"This guide explains how to trust the self-signed CA certificate on different operating systems and browsers so your HTTPS connection works without warnings.","source":"@site/docs/ssl-certificate-setup.md","sourceDirName":".","slug":"/ssl-certificate-setup","permalink":"/cli/ssl-certificate-setup","draft":false,"unlisted":false,"editUrl":"https://git.elliemae.io/platform-ui/pui-cli.git/docs/ssl-certificate-setup.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docsSidebar","previous":{"title":"PUI CLI Documentation","permalink":"/cli/"},"next":{"title":"Usage Guide","permalink":"/cli/usage-guide"}}');var r=n(6070),l=n(5676);const t={},c="Trust SSL Certificate Guide",o={},d=[{value:"\ud83d\udccb Table of Contents",id:"-table-of-contents",level:2},{value:"\ud83c\udf4e macOS",id:"-macos",level:2},{value:"Via Keychain Access",id:"via-keychain-access",level:3},{value:"Remove Certificate from macOS",id:"remove-certificate-from-macos",level:3},{value:"\ud83e\ude9f Windows",id:"-windows",level:2},{value:"Via Certificate Manager",id:"via-certificate-manager",level:3},{value:"Remove Certificate from Windows",id:"remove-certificate-from-windows",level:3},{value:"\ud83e\udd8a Firefox (All Platforms)",id:"-firefox-all-platforms",level:2},{value:"Import Certificate to Firefox",id:"import-certificate-to-firefox",level:3},{value:"Remove Certificate from Firefox",id:"remove-certificate-from-firefox",level:3},{value:"Troubleshooting",id:"troubleshooting",level:2},{value:"Still seeing "Not Secure" warning?",id:"still-seeing-not-secure-warning",level:3},{value:"Browser not trusting certificate?",id:"browser-not-trusting-certificate",level:3},{value:"Certificate Details",id:"certificate-details",level:2},{value:"Security Notes",id:"security-notes",level:2},{value:"Regenerate Certificates",id:"regenerate-certificates",level:2}];function h(e){const i={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,l.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.header,{children:(0,r.jsx)(i.h1,{id:"trust-ssl-certificate-guide",children:"Trust SSL Certificate Guide"})}),"\n",(0,r.jsx)(i.p,{children:"This guide explains how to trust the self-signed CA certificate on different operating systems and browsers so your HTTPS connection works without warnings."}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h2,{id:"-table-of-contents",children:"\ud83d\udccb Table of Contents"}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:(0,r.jsx)(i.a,{href:"#-macos",children:"macOS"})}),"\n",(0,r.jsx)(i.li,{children:(0,r.jsx)(i.a,{href:"#-windows",children:"Windows"})}),"\n",(0,r.jsx)(i.li,{children:(0,r.jsx)(i.a,{href:"#-firefox-all-platforms",children:"Firefox (All Platforms)"})}),"\n"]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h2,{id:"-macos",children:"\ud83c\udf4e macOS"}),"\n",(0,r.jsx)(i.h3,{id:"via-keychain-access",children:"Via Keychain Access"}),"\n",(0,r.jsxs)(i.ol,{children:["\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Locate the certificate file:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Open Finder and navigate to the ",(0,r.jsx)(i.code,{children:"certs"})," folder"]}),"\n",(0,r.jsxs)(i.li,{children:["Find the file ",(0,r.jsx)(i.code,{children:"ca-cert.pem"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Import the certificate:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.strong,{children:"Double-click"})," ",(0,r.jsx)(i.code,{children:"ca-cert.pem"})]}),"\n",(0,r.jsxs)(i.li,{children:["In the popup dialog, select ",(0,r.jsx)(i.strong,{children:'"login"'})," keychain"]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Add"'})]}),"\n",(0,r.jsx)(i.li,{children:"Enter your macOS password if prompted"}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Trust the certificate:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Press ",(0,r.jsx)(i.code,{children:"Cmd + Space"})," and type ",(0,r.jsx)(i.strong,{children:'"Keychain Access"'})," to open the app"]}),"\n",(0,r.jsxs)(i.li,{children:["In the left sidebar, click ",(0,r.jsx)(i.strong,{children:'"login"'})," keychain"]}),"\n",(0,r.jsxs)(i.li,{children:["In the bottom-left category selector, choose ",(0,r.jsx)(i.strong,{children:'"Certificates"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Search for ",(0,r.jsx)(i.strong,{children:'"localhost"'})," in the search box (top right)"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Set trust level:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.strong,{children:"Double-click"}),' the "localhost" certificate']}),"\n",(0,r.jsxs)(i.li,{children:["Click the ",(0,r.jsx)(i.strong,{children:"\u25b6 triangle"})," next to ",(0,r.jsx)(i.strong,{children:'"Trust"'})," to expand the section"]}),"\n",(0,r.jsxs)(i.li,{children:["Change ",(0,r.jsx)(i.strong,{children:'"When using this certificate"'})," dropdown to ",(0,r.jsx)(i.strong,{children:'"Always Trust"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Optionally, set ",(0,r.jsx)(i.strong,{children:'"Secure Sockets Layer (SSL)"'})," to ",(0,r.jsx)(i.strong,{children:'"Always Trust"'})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Save changes:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"Close the certificate window"}),"\n",(0,r.jsx)(i.li,{children:"Enter your macOS password when prompted"}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"Restart your browser"})," (important!)"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"Test:"})," Visit ",(0,r.jsx)(i.code,{children:"https://localhost:8443"})," - should show secure! \ud83d\udd12"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(i.h3,{id:"remove-certificate-from-macos",children:"Remove Certificate from macOS"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Via Keychain Access:"})}),"\n",(0,r.jsxs)(i.ol,{children:["\n",(0,r.jsx)(i.li,{children:"Open Keychain Access"}),"\n",(0,r.jsx)(i.li,{children:'Find "localhost" certificate'}),"\n",(0,r.jsxs)(i.li,{children:["Right-click \u2192 ",(0,r.jsx)(i.strong,{children:'Delete "localhost"'})]}),"\n",(0,r.jsx)(i.li,{children:"Enter password"}),"\n"]}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Via Command Line:"})}),"\n",(0,r.jsx)(i.pre,{children:(0,r.jsx)(i.code,{className:"language-bash",children:'# From login keychain\nsecurity delete-certificate -c "localhost" ~/Library/Keychains/login.keychain-db\n'})}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h2,{id:"-windows",children:"\ud83e\ude9f Windows"}),"\n",(0,r.jsx)(i.h3,{id:"via-certificate-manager",children:"Via Certificate Manager"}),"\n",(0,r.jsxs)(i.ol,{children:["\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Open Certificate Manager:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Press ",(0,r.jsx)(i.code,{children:"Win + R"})," to open Run dialog"]}),"\n",(0,r.jsxs)(i.li,{children:["Type ",(0,r.jsx)(i.code,{children:"certmgr.msc"})," and press Enter"]}),"\n",(0,r.jsx)(i.li,{children:'Or search for "Manage user certificates" in Start menu'}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Import the certificate:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["In the left panel, expand ",(0,r.jsx)(i.strong,{children:'"Trusted Root Certification Authorities"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Right-click on ",(0,r.jsx)(i.strong,{children:'"Certificates"'})," folder"]}),"\n",(0,r.jsxs)(i.li,{children:["Select ",(0,r.jsx)(i.strong,{children:"Action"})," \u2192 ",(0,r.jsx)(i.strong,{children:"All Tasks"})," \u2192 ",(0,r.jsx)(i.strong,{children:"Import..."})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Certificate Import Wizard:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Next"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Browse..."'})," and navigate to your ",(0,r.jsx)(i.code,{children:"certs"})," folder"]}),"\n",(0,r.jsxs)(i.li,{children:["Change file type filter to ",(0,r.jsxs)(i.strong,{children:['"All Files (',(0,r.jsx)(i.em,{children:"."}),')"']})]}),"\n",(0,r.jsxs)(i.li,{children:["Select ",(0,r.jsx)(i.strong,{children:(0,r.jsx)(i.code,{children:"ca-cert.pem"})})]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Open"'})," then ",(0,r.jsx)(i.strong,{children:'"Next"'})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Choose certificate store:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Select ",(0,r.jsx)(i.strong,{children:'"Place all certificates in the following store"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Ensure it says ",(0,r.jsx)(i.strong,{children:'"Trusted Root Certification Authorities"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Next"'})," then ",(0,r.jsx)(i.strong,{children:'"Finish"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"OK"'})," on the success message"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Verify installation:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["In Certificate Manager, navigate to ",(0,r.jsx)(i.strong,{children:'"Trusted Root Certification Authorities"'})," \u2192 ",(0,r.jsx)(i.strong,{children:'"Certificates"'})]}),"\n",(0,r.jsx)(i.li,{children:'You should see "localhost" or "Development" in the list'}),"\n",(0,r.jsx)(i.li,{children:"Double-click to view details"}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"Restart your browser"})," (close all windows completely)"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"Test:"})," Visit ",(0,r.jsx)(i.code,{children:"https://localhost:8443"})," - should show secure! \ud83d\udd12"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(i.h3,{id:"remove-certificate-from-windows",children:"Remove Certificate from Windows"}),"\n",(0,r.jsxs)(i.ol,{children:["\n",(0,r.jsxs)(i.li,{children:["Open Certificate Manager (",(0,r.jsx)(i.code,{children:"certmgr.msc"}),")"]}),"\n",(0,r.jsxs)(i.li,{children:["Navigate to ",(0,r.jsx)(i.strong,{children:'"Trusted Root Certification Authorities"'})," \u2192 ",(0,r.jsx)(i.strong,{children:'"Certificates"'})]}),"\n",(0,r.jsx)(i.li,{children:'Find "localhost" certificate'}),"\n",(0,r.jsxs)(i.li,{children:["Right-click \u2192 ",(0,r.jsx)(i.strong,{children:"Delete"})]}),"\n",(0,r.jsx)(i.li,{children:"Confirm deletion"}),"\n"]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h2,{id:"-firefox-all-platforms",children:"\ud83e\udd8a Firefox (All Platforms)"}),"\n",(0,r.jsx)(i.p,{children:"Firefox uses its own certificate store, independent of the operating system."}),"\n",(0,r.jsx)(i.h3,{id:"import-certificate-to-firefox",children:"Import Certificate to Firefox"}),"\n",(0,r.jsxs)(i.ol,{children:["\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Open Firefox Settings:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Click menu (\u2630) \u2192 ",(0,r.jsx)(i.strong,{children:"Settings"})]}),"\n",(0,r.jsxs)(i.li,{children:["Or type ",(0,r.jsx)(i.code,{children:"about:preferences"})," in the address bar"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Navigate to Privacy & Security:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Privacy & Security"'})," in the left sidebar"]}),"\n",(0,r.jsxs)(i.li,{children:["Or go directly to ",(0,r.jsx)(i.code,{children:"about:preferences#privacy"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Access Certificates:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Scroll down to the ",(0,r.jsx)(i.strong,{children:'"Security"'})," section"]}),"\n",(0,r.jsxs)(i.li,{children:["Find ",(0,r.jsx)(i.strong,{children:'"Certificates"'})," heading"]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"View Certificates..."'})," button"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Import CA Certificate:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["In the Certificate Manager window, click the ",(0,r.jsx)(i.strong,{children:'"Authorities"'})," tab"]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Import..."'})," button"]}),"\n",(0,r.jsxs)(i.li,{children:["Navigate to your ",(0,r.jsx)(i.code,{children:"certs"})," folder"]}),"\n",(0,r.jsxs)(i.li,{children:["Select ",(0,r.jsx)(i.strong,{children:(0,r.jsx)(i.code,{children:"ca-cert.pem"})})]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Open"'})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Set trust options:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["In the popup dialog, check:","\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["\u2705 ",(0,r.jsx)(i.strong,{children:'"Trust this CA to identify websites"'})]}),"\n",(0,r.jsxs)(i.li,{children:["\u2705 ",(0,r.jsx)(i.strong,{children:'"Trust this CA to identify email users"'})," (optional)"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"OK"'})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Verify import:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["In the Authorities tab, look for ",(0,r.jsx)(i.strong,{children:'"Development"'})," or organization name"]}),"\n",(0,r.jsx)(i.li,{children:'Expand it to find "localhost"'}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Close and restart Firefox"})}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"Test:"})," Visit ",(0,r.jsx)(i.code,{children:"https://localhost:8443"})," - should show secure! \ud83d\udd12"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(i.h3,{id:"remove-certificate-from-firefox",children:"Remove Certificate from Firefox"}),"\n",(0,r.jsxs)(i.ol,{children:["\n",(0,r.jsxs)(i.li,{children:["Go to ",(0,r.jsx)(i.code,{children:"about:preferences#privacy"})]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"View Certificates"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Authorities"'})," tab"]}),"\n",(0,r.jsxs)(i.li,{children:["Find ",(0,r.jsx)(i.strong,{children:'"Development"'})," \u2192 ",(0,r.jsx)(i.strong,{children:'"localhost"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Select it and click ",(0,r.jsx)(i.strong,{children:'"Delete or Distrust..."'})]}),"\n",(0,r.jsx)(i.li,{children:"Confirm deletion"}),"\n"]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h2,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,r.jsx)(i.h3,{id:"still-seeing-not-secure-warning",children:'Still seeing "Not Secure" warning?'}),"\n",(0,r.jsxs)(i.ol,{children:["\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.strong,{children:"Restart your browser"})," - Browsers cache certificate trust settings"]}),"\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.strong,{children:"Check the certificate is in login keychain"})," - Look in Keychain Access"]}),"\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.strong,{children:"Verify trust settings"}),' - Must be set to "Always Trust"']}),"\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.strong,{children:"Clear browser cache"})," - Especially SSL state"]}),"\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.strong,{children:"Check hostname"})," - Must use ",(0,r.jsx)(i.code,{children:"localhost"}),", not ",(0,r.jsx)(i.code,{children:"127.0.0.1"})]}),"\n"]}),"\n",(0,r.jsx)(i.h3,{id:"browser-not-trusting-certificate",children:"Browser not trusting certificate?"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Chrome/Edge (Windows):"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"These browsers use the Windows certificate store"}),"\n",(0,r.jsx)(i.li,{children:'Make sure you imported to "Trusted Root Certification Authorities"'}),"\n",(0,r.jsx)(i.li,{children:"Restart the browser completely"}),"\n"]}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Chrome/Safari (macOS):"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"These browsers use the macOS Keychain"}),"\n",(0,r.jsx)(i.li,{children:'Make sure certificate is in "login" keychain'}),"\n",(0,r.jsx)(i.li,{children:'Trust must be set to "Always Trust"'}),"\n",(0,r.jsx)(i.li,{children:"Restart the browser completely"}),"\n"]}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Firefox (All Platforms):"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"Firefox has its own certificate store"}),"\n",(0,r.jsxs)(i.li,{children:["See ",(0,r.jsx)(i.a,{href:"#firefox-all-platforms",children:"Firefox section"})," above"]}),"\n",(0,r.jsx)(i.li,{children:"Must import the certificate directly into Firefox"}),"\n"]}),"\n",(0,r.jsx)(i.h2,{id:"certificate-details",children:"Certificate Details"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"CA Certificate (ca-cert.pem):"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"Type: Root CA Certificate"}),"\n",(0,r.jsx)(i.li,{children:"Validity: 5 years (1825 days)"}),"\n",(0,r.jsx)(i.li,{children:"Purpose: Sign server certificates"}),"\n",(0,r.jsx)(i.li,{children:"Trust: Add to system trust store"}),"\n"]}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Server Certificate (cert.pem):"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"Type: Server Certificate"}),"\n",(0,r.jsx)(i.li,{children:"Validity: 2+ years (825 days)"}),"\n",(0,r.jsx)(i.li,{children:"Signed by: Our CA"}),"\n",(0,r.jsx)(i.li,{children:"Hostnames: localhost, *.localhost, 127.0.0.1"}),"\n",(0,r.jsx)(i.li,{children:"Purpose: HTTPS server"}),"\n"]}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Private Keys:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.code,{children:"ca-key.pem"}),": CA private key (password protected)"]}),"\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.code,{children:"key.pem"}),": Server private key (no password for convenience)"]}),"\n"]}),"\n",(0,r.jsx)(i.h2,{id:"security-notes",children:"Security Notes"}),"\n",(0,r.jsxs)(i.p,{children:["\u26a0\ufe0f ",(0,r.jsx)(i.strong,{children:"These certificates are for local development only!"})]}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"Never use these certificates in production"}),"\n",(0,r.jsxs)(i.li,{children:["Keep ",(0,r.jsx)(i.code,{children:"ca-key.pem"})," secure (it can sign certificates)"]}),"\n",(0,r.jsxs)(i.li,{children:["The CA password is: ",(0,r.jsx)(i.code,{children:"uiplatform"})," (change if needed)"]}),"\n",(0,r.jsx)(i.li,{children:"Don't commit private keys to version control"}),"\n",(0,r.jsxs)(i.li,{children:["Add to ",(0,r.jsx)(i.code,{children:".gitignore"}),": ",(0,r.jsx)(i.code,{children:"*.pem"}),", ",(0,r.jsx)(i.code,{children:"*.key"})]}),"\n"]}),"\n",(0,r.jsx)(i.h2,{id:"regenerate-certificates",children:"Regenerate Certificates"}),"\n",(0,r.jsx)(i.p,{children:"If you need to regenerate the certificates:"}),"\n",(0,r.jsx)(i.pre,{children:(0,r.jsx)(i.code,{className:"language-bash",children:"cd ssl\n./generate-certs.sh\n"})}),"\n",(0,r.jsx)(i.p,{children:"Then re-trust the new CA certificate using the steps above."})]})}function a(e={}){const{wrapper:i}={...(0,l.R)(),...e.components};return i?(0,r.jsx)(i,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[6001],{6001(t,e,a){a.d(e,{diagram:()=>T});var i,n=a(9242),r=(a(9673),a(1355),a(1033),a(4247),a(9976),a(33),a(2679),a(735),a(6170),a(490),a(1538),a(3639)),d=a(4689),s=a(2371),o=a(8053),g=a(7012),p=a(8585),h=a(2399),c=(0,o.K)(t=>t.append("circle").attr("class","start-state").attr("r",(0,d.D7)().state.sizeUnit).attr("cx",(0,d.D7)().state.padding+(0,d.D7)().state.sizeUnit).attr("cy",(0,d.D7)().state.padding+(0,d.D7)().state.sizeUnit),"drawStartState"),l=(0,o.K)(t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",(0,d.D7)().state.textHeight).attr("class","divider").attr("x2",2*(0,d.D7)().state.textHeight).attr("y1",0).attr("y2",0),"drawDivider"),x=(0,o.K)((t,e)=>{const a=t.append("text").attr("x",2*(0,d.D7)().state.padding).attr("y",(0,d.D7)().state.textHeight+2*(0,d.D7)().state.padding).attr("font-size",(0,d.D7)().state.fontSize).attr("class","state-title").text(e.id),i=a.node().getBBox();return t.insert("rect",":first-child").attr("x",(0,d.D7)().state.padding).attr("y",(0,d.D7)().state.padding).attr("width",i.width+2*(0,d.D7)().state.padding).attr("height",i.height+2*(0,d.D7)().state.padding).attr("rx",(0,d.D7)().state.radius),a},"drawSimpleState"),D=(0,o.K)((t,e)=>{const a=(0,o.K)(function(t,e,a){const i=t.append("tspan").attr("x",2*(0,d.D7)().state.padding).text(e);a||i.attr("dy",(0,d.D7)().state.textHeight)},"addTspan"),i=t.append("text").attr("x",2*(0,d.D7)().state.padding).attr("y",(0,d.D7)().state.textHeight+1.3*(0,d.D7)().state.padding).attr("font-size",(0,d.D7)().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),n=i.height,r=t.append("text").attr("x",(0,d.D7)().state.padding).attr("y",n+.4*(0,d.D7)().state.padding+(0,d.D7)().state.dividerMargin+(0,d.D7)().state.textHeight).attr("class","state-description");let s=!0,g=!0;e.descriptions.forEach(function(t){s||(a(r,t,g),g=!1),s=!1});const p=t.append("line").attr("x1",(0,d.D7)().state.padding).attr("y1",(0,d.D7)().state.padding+n+(0,d.D7)().state.dividerMargin/2).attr("y2",(0,d.D7)().state.padding+n+(0,d.D7)().state.dividerMargin/2).attr("class","descr-divider"),h=r.node().getBBox(),c=Math.max(h.width,i.width);return p.attr("x2",c+3*(0,d.D7)().state.padding),t.insert("rect",":first-child").attr("x",(0,d.D7)().state.padding).attr("y",(0,d.D7)().state.padding).attr("width",c+2*(0,d.D7)().state.padding).attr("height",h.height+n+2*(0,d.D7)().state.padding).attr("rx",(0,d.D7)().state.radius),t},"drawDescrState"),u=(0,o.K)((t,e,a)=>{const i=(0,d.D7)().state.padding,n=2*(0,d.D7)().state.padding,r=t.node().getBBox(),s=r.width,o=r.x,g=t.append("text").attr("x",0).attr("y",(0,d.D7)().state.titleShift).attr("font-size",(0,d.D7)().state.fontSize).attr("class","state-title").text(e.id),p=g.node().getBBox().width+n;let h,c=Math.max(p,s);c===s&&(c+=n);const l=t.node().getBBox();e.doc,h=o-i,p>s&&(h=(s-c)/2+i),Math.abs(o-l.x)<i&&p>s&&(h=o-(p-s)/2);const x=1-(0,d.D7)().state.textHeight;return t.insert("rect",":first-child").attr("x",h).attr("y",x).attr("class",a?"alt-composit":"composit").attr("width",c).attr("height",l.height+(0,d.D7)().state.textHeight+(0,d.D7)().state.titleShift+1).attr("rx","0"),g.attr("x",h+i),p<=s&&g.attr("x",o+(c-n)/2-p/2+i),t.insert("rect",":first-child").attr("x",h).attr("y",(0,d.D7)().state.titleShift-(0,d.D7)().state.textHeight-(0,d.D7)().state.padding).attr("width",c).attr("height",3*(0,d.D7)().state.textHeight).attr("rx",(0,d.D7)().state.radius),t.insert("rect",":first-child").attr("x",h).attr("y",(0,d.D7)().state.titleShift-(0,d.D7)().state.textHeight-(0,d.D7)().state.padding).attr("width",c).attr("height",l.height+3+2*(0,d.D7)().state.textHeight).attr("rx",(0,d.D7)().state.radius),t},"addTitleAndBox"),f=(0,o.K)(t=>(t.append("circle").attr("class","end-state-outer").attr("r",(0,d.D7)().state.sizeUnit+(0,d.D7)().state.miniPadding).attr("cx",(0,d.D7)().state.padding+(0,d.D7)().state.sizeUnit+(0,d.D7)().state.miniPadding).attr("cy",(0,d.D7)().state.padding+(0,d.D7)().state.sizeUnit+(0,d.D7)().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",(0,d.D7)().state.sizeUnit).attr("cx",(0,d.D7)().state.padding+(0,d.D7)().state.sizeUnit+2).attr("cy",(0,d.D7)().state.padding+(0,d.D7)().state.sizeUnit+2)),"drawEndState"),y=(0,o.K)((t,e)=>{let a=(0,d.D7)().state.forkWidth,i=(0,d.D7)().state.forkHeight;if(e.parentId){let t=a;a=i,i=t}return t.append("rect").style("stroke","black").style("fill","black").attr("width",a).attr("height",i).attr("x",(0,d.D7)().state.padding).attr("y",(0,d.D7)().state.padding)},"drawForkJoinState"),w=(0,o.K)((t,e,a,i)=>{let n=0;const r=i.append("text");r.style("text-anchor","start"),r.attr("class","noteText");let s=t.replace(/\r\n/g,"<br/>");s=s.replace(/\n/g,"<br/>");const o=s.split(d.Y2.lineBreakRegex);let g=1.25*(0,d.D7)().state.noteMargin;for(const p of o){const t=p.trim();if(t.length>0){const i=r.append("tspan");if(i.text(t),0===g){g+=i.node().getBBox().height}n+=g,i.attr("x",e+(0,d.D7)().state.noteMargin),i.attr("y",a+n+1.25*(0,d.D7)().state.noteMargin)}}return{textWidth:r.node().getBBox().width,textHeight:n}},"_drawLongText"),b=(0,o.K)((t,e)=>{e.attr("class","state-note");const a=e.append("rect").attr("x",0).attr("y",(0,d.D7)().state.padding),i=e.append("g"),{textWidth:n,textHeight:r}=w(t,0,0,i);return a.attr("height",r+2*(0,d.D7)().state.noteMargin),a.attr("width",n+2*(0,d.D7)().state.noteMargin),a},"drawNote"),m=(0,o.K)(function(t,e){const a=e.id,i={id:a,label:e.id,width:0,height:0},n=t.append("g").attr("id",a).attr("class","stateGroup");"start"===e.type&&c(n),"end"===e.type&&f(n),"fork"!==e.type&&"join"!==e.type||y(n,e),"note"===e.type&&b(e.note.text,n),"divider"===e.type&&l(n),"default"===e.type&&0===e.descriptions.length&&x(n,e),"default"===e.type&&e.descriptions.length>0&&D(n,e);const r=n.node().getBBox();return i.width=r.width+2*(0,d.D7)().state.padding,i.height=r.height+2*(0,d.D7)().state.padding,i},"drawState"),B=0,k=(0,o.K)(function(t,e,a){const i=(0,o.K)(function(t){switch(t){case n.u4.relationType.AGGREGATION:return"aggregation";case n.u4.relationType.EXTENSION:return"extension";case n.u4.relationType.COMPOSITION:return"composition";case n.u4.relationType.DEPENDENCY:return"dependency"}},"getRelationType");e.points=e.points.filter(t=>!Number.isNaN(t.y));const p=e.points,h=(0,g.n8j)().x(function(t){return t.x}).y(function(t){return t.y}).curve(g.qrM),c=t.append("path").attr("d",h(p)).attr("id","edge"+B).attr("class","transition");let l="";if((0,d.D7)().state.arrowMarkerAbsolute&&(l=(0,d.ID)(!0)),c.attr("marker-end","url("+l+"#"+i(n.u4.relationType.DEPENDENCY)+"End)"),void 0!==a.title){const i=t.append("g").attr("class","stateLabel"),{x:n,y:o}=r._K.calcLabelPosition(e.points),g=d.Y2.getRows(a.title);let p=0;const h=[];let c=0,l=0;for(let t=0;t<=g.length;t++){const e=i.append("text").attr("text-anchor","middle").text(g[t]).attr("x",n).attr("y",o+p),a=e.node().getBBox();if(c=Math.max(c,a.width),l=Math.min(l,a.x),s.R.info(a.x,n,o+p),0===p){const t=e.node().getBBox();p=t.height,s.R.info("Title height",p,o)}h.push(e)}let x=p*g.length;if(g.length>1){const t=(g.length-1)*p*.5;h.forEach((e,a)=>e.attr("y",o+a*p-t)),x=p*g.length}const D=i.node().getBBox();i.insert("rect",":first-child").attr("class","box").attr("x",n-c/2-(0,d.D7)().state.padding/2).attr("y",o-x/2-(0,d.D7)().state.padding/2-3.5).attr("width",c+(0,d.D7)().state.padding).attr("height",x+(0,d.D7)().state.padding),s.R.info(D)}B++},"drawEdge"),S={},N=(0,o.K)(function(){},"setConf"),E=(0,o.K)(function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),M=(0,o.K)(function(t,e,a,n){i=(0,d.D7)().state;const r=(0,d.D7)().securityLevel;let o;"sandbox"===r&&(o=(0,g.Ltv)("#i"+e));const p="sandbox"===r?(0,g.Ltv)(o.nodes()[0].contentDocument.body):(0,g.Ltv)("body"),h="sandbox"===r?o.nodes()[0].contentDocument:document;s.R.debug("Rendering diagram "+t);const c=p.select(`[id='${e}']`);E(c);const l=n.db.getRootDoc(),x=c.append("g").attr("id",e+"-root");K(l,x,void 0,!1,p,h,n);const D=i.padding,u=c.node().getBBox(),f=u.width+2*D,y=u.height+2*D,w=1.75*f;(0,d.a$)(c,y,w,i.useMaxWidth),c.attr("viewBox",`${u.x-i.padding} ${u.y-i.padding} `+f+" "+y)},"draw"),v=(0,o.K)(t=>t?t.length*i.fontSizeFactor:1,"getLabelWidth"),K=(0,o.K)((t,e,a,n,r,o,g)=>{const c=new h.T({compound:!0,multigraph:!0});let l,x=!0;for(l=0;l<t.length;l++)if("relation"===t[l].stmt){x=!1;break}a?c.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:x?1:i.edgeLengthFactor,nodeSep:x?1:50,isMultiGraph:!0}):c.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:x?1:i.edgeLengthFactor,nodeSep:x?1:50,ranker:"tight-tree",isMultiGraph:!0}),c.setDefaultEdgeLabel(function(){return{}});const D=g.db.getStates(),f=g.db.getRelations(),y=Object.keys(D);for(const d of y){const t=D[d];let s;if(a&&(t.parentId=a),t.doc){let a=e.append("g").attr("id",t.id).attr("class","stateGroup");s=K(t.doc,a,t.id,!n,r,o,g);{a=u(a,t,n);let e=a.node().getBBox();s.width=e.width,s.height=e.height+i.padding/2,S[t.id]={y:i.compositTitleSize}}}else s=m(e,t,c);if(t.note){const a={descriptions:[],id:t.id+"-note",note:t.note,type:"note"},i=m(e,a,c);"left of"===t.note.position?(c.setNode(s.id+"-note",i),c.setNode(s.id,s)):(c.setNode(s.id,s),c.setNode(s.id+"-note",i)),c.setParent(s.id,s.id+"-group"),c.setParent(s.id+"-note",s.id+"-group")}else c.setNode(s.id,s)}s.R.debug("Count=",c.nodeCount(),c);let w=0;f.forEach(function(t){w++,s.R.debug("Setting edge",t),c.setEdge(t.id1,t.id2,{relation:t,width:v(t.title),height:i.labelHeight*d.Y2.getRows(t.title).length,labelpos:"c"},"id"+w)}),(0,p.Zp)(c),s.R.debug("Graph after layout",c.nodes());const b=e.node();c.nodes().forEach(function(t){if(void 0!==t&&void 0!==c.node(t)){s.R.warn("Node "+t+": "+JSON.stringify(c.node(t))),r.select("#"+b.id+" #"+t).attr("transform","translate("+(c.node(t).x-c.node(t).width/2)+","+(c.node(t).y+(S[t]?S[t].y:0)-c.node(t).height/2)+" )"),r.select("#"+b.id+" #"+t).attr("data-x-shift",c.node(t).x-c.node(t).width/2);o.querySelectorAll("#"+b.id+" #"+t+" .divider").forEach(t=>{const e=t.parentElement;let a=0,i=0;e&&(e.parentElement&&(a=e.parentElement.getBBox().width),i=parseInt(e.getAttribute("data-x-shift"),10),Number.isNaN(i)&&(i=0)),t.setAttribute("x1",0-i+8),t.setAttribute("x2",a-i-8)})}else s.R.debug("No Node "+t+": "+JSON.stringify(c.node(t)))});let B=b.getBBox();c.edges().forEach(function(t){void 0!==t&&void 0!==c.edge(t)&&(s.R.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(c.edge(t))),k(e,c.edge(t),c.edge(t).relation))}),B=b.getBBox();const N={id:a||"root",label:a||"root",width:0,height:0};return N.width=B.width+2*i.padding,N.height=B.height+2*i.padding,s.R.debug("Doc rendered",N,c),N},"renderDoc"),R={setConf:N,draw:M},T={parser:n.Zk,get db(){return new n.u4(1)},renderer:R,styles:n.tM,init:(0,o.K)(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[6216],{5692(t,r,e){e.d(r,{m:()=>n});var o=e(8053),n=class{constructor(t){this.init=t,this.records=this.init()}static{(0,o.K)(this,"ImperativeState")}reset(){this.records=this.init()}}},6216(t,r,e){e.d(r,{diagram:()=>vt});var o=e(5692),n=e(3492),a=e(3639),i=e(4689),s=e(2371),c=e(8053),d=e(9183),h=e(7012),$={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},m=i.UI.gitGraph,l=(0,c.K)(()=>(0,a.$t)({...m,...(0,i.zj)().gitGraph}),"getConfig"),g=new o.m(()=>{const t=l(),r=t.mainBranchName,e=t.mainBranchOrder;return{mainBranchName:r,commits:new Map,head:null,branchConfig:new Map([[r,{name:r,order:e}]]),branches:new Map([[r,null]]),currBranch:r,direction:"LR",seq:0,options:{}}});function p(){return(0,a.yT)({length:7})}function y(t,r){const e=Object.create(null);return t.reduce((t,o)=>{const n=r(o);return e[n]||(e[n]=!0,t.push(o)),t},[])}(0,c.K)(p,"getID"),(0,c.K)(y,"uniqBy");var f=(0,c.K)(function(t){g.records.direction=t},"setDirection"),x=(0,c.K)(function(t){s.R.debug("options str",t),t=t?.trim(),t=t||"{}";try{g.records.options=JSON.parse(t)}catch(r){s.R.error("error while parsing gitGraph options",r.message)}},"setOptions"),u=(0,c.K)(function(){return g.records.options},"getOptions"),b=(0,c.K)(function(t){let r=t.msg,e=t.id;const o=t.type;let n=t.tags;s.R.info("commit",r,e,o,n),s.R.debug("Entering commit:",r,e,o,n);const a=l();e=i.Y2.sanitizeText(e,a),r=i.Y2.sanitizeText(r,a),n=n?.map(t=>i.Y2.sanitizeText(t,a));const c={id:e||g.records.seq+"-"+p(),message:r,seq:g.records.seq++,type:o??$.NORMAL,tags:n??[],parents:null==g.records.head?[]:[g.records.head.id],branch:g.records.currBranch};g.records.head=c,s.R.info("main branch",a.mainBranchName),g.records.commits.has(c.id)&&s.R.warn(`Commit ID ${c.id} already exists`),g.records.commits.set(c.id,c),g.records.branches.set(g.records.currBranch,c.id),s.R.debug("in pushCommit "+c.id)},"commit"),w=(0,c.K)(function(t){let r=t.name;const e=t.order;if(r=i.Y2.sanitizeText(r,l()),g.records.branches.has(r))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${r}")`);g.records.branches.set(r,null!=g.records.head?g.records.head.id:null),g.records.branchConfig.set(r,{name:r,order:e}),E(r),s.R.debug("in createBranch")},"branch"),k=(0,c.K)(t=>{let r=t.branch,e=t.id;const o=t.type,n=t.tags,a=l();r=i.Y2.sanitizeText(r,a),e&&(e=i.Y2.sanitizeText(e,a));const c=g.records.branches.get(g.records.currBranch),d=g.records.branches.get(r),h=c?g.records.commits.get(c):void 0,m=d?g.records.commits.get(d):void 0;if(h&&m&&h.branch===r)throw new Error(`Cannot merge branch '${r}' into itself.`);if(g.records.currBranch===r){const t=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw t.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},t}if(void 0===h||!h){const t=new Error(`Incorrect usage of "merge". Current branch (${g.records.currBranch})has no commits`);throw t.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["commit"]},t}if(!g.records.branches.has(r)){const t=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") does not exist");throw t.hash={text:`merge ${r}`,token:`merge ${r}`,expected:[`branch ${r}`]},t}if(void 0===m||!m){const t=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") has no commits");throw t.hash={text:`merge ${r}`,token:`merge ${r}`,expected:['"commit"']},t}if(h===m){const t=new Error('Incorrect usage of "merge". Both branches have same head');throw t.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},t}if(e&&g.records.commits.has(e)){const t=new Error('Incorrect usage of "merge". Commit with id:'+e+" already exists, use different custom id");throw t.hash={text:`merge ${r} ${e} ${o} ${n?.join(" ")}`,token:`merge ${r} ${e} ${o} ${n?.join(" ")}`,expected:[`merge ${r} ${e}_UNIQUE ${o} ${n?.join(" ")}`]},t}const y=d||"",f={id:e||`${g.records.seq}-${p()}`,message:`merged branch ${r} into ${g.records.currBranch}`,seq:g.records.seq++,parents:null==g.records.head?[]:[g.records.head.id,y],branch:g.records.currBranch,type:$.MERGE,customType:o,customId:!!e,tags:n??[]};g.records.head=f,g.records.commits.set(f.id,f),g.records.branches.set(g.records.currBranch,f.id),s.R.debug(g.records.branches),s.R.debug("in mergeBranch")},"merge"),B=(0,c.K)(function(t){let r=t.id,e=t.targetId,o=t.tags,n=t.parent;s.R.debug("Entering cherryPick:",r,e,o);const a=l();if(r=i.Y2.sanitizeText(r,a),e=i.Y2.sanitizeText(e,a),o=o?.map(t=>i.Y2.sanitizeText(t,a)),n=i.Y2.sanitizeText(n,a),!r||!g.records.commits.has(r)){const t=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw t.hash={text:`cherryPick ${r} ${e}`,token:`cherryPick ${r} ${e}`,expected:["cherry-pick abc"]},t}const c=g.records.commits.get(r);if(void 0===c||!c)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(n&&(!Array.isArray(c.parents)||!c.parents.includes(n))){throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.")}const d=c.branch;if(c.type===$.MERGE&&!n){throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.")}if(!e||!g.records.commits.has(e)){if(d===g.records.currBranch){const t=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw t.hash={text:`cherryPick ${r} ${e}`,token:`cherryPick ${r} ${e}`,expected:["cherry-pick abc"]},t}const t=g.records.branches.get(g.records.currBranch);if(void 0===t||!t){const t=new Error(`Incorrect usage of "cherry-pick". Current branch (${g.records.currBranch})has no commits`);throw t.hash={text:`cherryPick ${r} ${e}`,token:`cherryPick ${r} ${e}`,expected:["cherry-pick abc"]},t}const a=g.records.commits.get(t);if(void 0===a||!a){const t=new Error(`Incorrect usage of "cherry-pick". Current branch (${g.records.currBranch})has no commits`);throw t.hash={text:`cherryPick ${r} ${e}`,token:`cherryPick ${r} ${e}`,expected:["cherry-pick abc"]},t}const i={id:g.records.seq+"-"+p(),message:`cherry-picked ${c?.message} into ${g.records.currBranch}`,seq:g.records.seq++,parents:null==g.records.head?[]:[g.records.head.id,c.id],branch:g.records.currBranch,type:$.CHERRY_PICK,tags:o?o.filter(Boolean):[`cherry-pick:${c.id}${c.type===$.MERGE?`|parent:${n}`:""}`]};g.records.head=i,g.records.commits.set(i.id,i),g.records.branches.set(g.records.currBranch,i.id),s.R.debug(g.records.branches),s.R.debug("in cherryPick")}},"cherryPick"),E=(0,c.K)(function(t){if(t=i.Y2.sanitizeText(t,l()),!g.records.branches.has(t)){const r=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw r.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},r}{g.records.currBranch=t;const r=g.records.branches.get(g.records.currBranch);g.records.head=void 0!==r&&r?g.records.commits.get(r)??null:null}},"checkout");function C(t,r,e){const o=t.indexOf(r);-1===o?t.push(e):t.splice(o,1,e)}function L(t){const r=t.reduce((t,r)=>t.seq>r.seq?t:r,t[0]);let e="";t.forEach(function(t){e+=t===r?"\t*":"\t|"});const o=[e,r.id,r.seq];for(const n in g.records.branches)g.records.branches.get(n)===r.id&&o.push(n);if(s.R.debug(o.join(" ")),r.parents&&2==r.parents.length&&r.parents[0]&&r.parents[1]){const e=g.records.commits.get(r.parents[0]);C(t,r,e),r.parents[1]&&t.push(g.records.commits.get(r.parents[1]))}else{if(0==r.parents.length)return;if(r.parents[0]){const e=g.records.commits.get(r.parents[0]);C(t,r,e)}}L(t=y(t,t=>t.id))}(0,c.K)(C,"upsert"),(0,c.K)(L,"prettyPrintCommitHistory");var T=(0,c.K)(function(){s.R.debug(g.records.commits);L([I()[0]])},"prettyPrint"),K=(0,c.K)(function(){g.reset(),(0,i.IU)()},"clear"),M=(0,c.K)(function(){return[...g.records.branchConfig.values()].map((t,r)=>null!==t.order&&void 0!==t.order?t:{...t,order:parseFloat(`0.${r}`)}).sort((t,r)=>(t.order??0)-(r.order??0)).map(({name:t})=>({name:t}))},"getBranchesAsObjArray"),R=(0,c.K)(function(){return g.records.branches},"getBranches"),v=(0,c.K)(function(){return g.records.commits},"getCommits"),I=(0,c.K)(function(){const t=[...g.records.commits.values()];return t.forEach(function(t){s.R.debug(t.id)}),t.sort((t,r)=>t.seq-r.seq),t},"getCommitsArray"),P={commitType:$,getConfig:l,setDirection:f,setOptions:x,getOptions:u,commit:b,branch:w,merge:k,cherryPick:B,checkout:E,prettyPrint:T,clear:K,getBranchesAsObjArray:M,getBranches:R,getCommits:v,getCommitsArray:I,getCurrentBranch:(0,c.K)(function(){return g.records.currBranch},"getCurrentBranch"),getDirection:(0,c.K)(function(){return g.records.direction},"getDirection"),getHead:(0,c.K)(function(){return g.records.head},"getHead"),setAccTitle:i.SV,getAccTitle:i.iN,getAccDescription:i.m7,setAccDescription:i.EI,setDiagramTitle:i.ke,getDiagramTitle:i.ab},O=(0,c.K)((t,r)=>{(0,n.S)(t,r),t.dir&&r.setDirection(t.dir);for(const e of t.statements)A(e,r)},"populate"),A=(0,c.K)((t,r)=>{const e={Commit:(0,c.K)(t=>r.commit(G(t)),"Commit"),Branch:(0,c.K)(t=>r.branch(S(t)),"Branch"),Merge:(0,c.K)(t=>r.merge(H(t)),"Merge"),Checkout:(0,c.K)(t=>r.checkout(W(t)),"Checkout"),CherryPicking:(0,c.K)(t=>r.cherryPick(_(t)),"CherryPicking")}[t.$type];e?e(t):s.R.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),G=(0,c.K)(t=>({id:t.id,msg:t.message??"",type:void 0!==t.type?$[t.type]:$.NORMAL,tags:t.tags??void 0}),"parseCommit"),S=(0,c.K)(t=>({name:t.name,order:t.order??0}),"parseBranch"),H=(0,c.K)(t=>({branch:t.branch,id:t.id??"",type:void 0!==t.type?$[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),W=(0,c.K)(t=>t.branch,"parseCheckout"),_=(0,c.K)(t=>({id:t.id,targetId:"",tags:0===t.tags?.length?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),q={parse:(0,c.K)(async t=>{const r=await(0,d.qg)("gitGraph",t);s.R.debug(r),O(r,P)},"parse")};var z=10,D=40,Y=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),j=new Set(["redux-color","redux-dark-color"]),N=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),F=(0,c.K)((t,r,e=!1)=>e&&t>0?(t-1)%(r-1)+1:t%r,"calcColorIndex"),V=new Map,U=new Map,J=new Map,Q=[],X=0,Z="LR",tt=(0,c.K)(()=>{V.clear(),U.clear(),J.clear(),X=0,Q=[],Z="LR"},"clear"),rt=(0,c.K)(t=>{const r=document.createElementNS("http://www.w3.org/2000/svg","text");return("string"==typeof t?t.split(/\\n|\n|<br\s*\/?>/gi):t).forEach(t=>{const e=document.createElementNS("http://www.w3.org/2000/svg","tspan");e.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),e.setAttribute("dy","1em"),e.setAttribute("x","0"),e.setAttribute("class","row"),e.textContent=t.trim(),r.appendChild(e)}),r},"drawText"),et=(0,c.K)(t=>{let r,e,o;return"BT"===Z?(e=(0,c.K)((t,r)=>t<=r,"comparisonFunc"),o=1/0):(e=(0,c.K)((t,r)=>t>=r,"comparisonFunc"),o=0),t.forEach(t=>{const n="TB"===Z||"BT"==Z?U.get(t)?.y:U.get(t)?.x;void 0!==n&&e(n,o)&&(r=t,o=n)}),r},"findClosestParent"),ot=(0,c.K)(t=>{let r="",e=1/0;return t.forEach(t=>{const o=U.get(t).y;o<=e&&(r=t,e=o)}),r||void 0},"findClosestParentBT"),nt=(0,c.K)((t,r,e)=>{let o=e,n=e;const a=[];t.forEach(t=>{const e=r.get(t);if(!e)throw new Error(`Commit not found for key ${t}`);e.parents.length?(o=it(e),n=Math.max(o,n)):a.push(e),st(e,o)}),o=n,a.forEach(t=>{ct(t,o,e)}),t.forEach(t=>{const e=r.get(t);if(e?.parents.length){const t=ot(e.parents);o=U.get(t).y-D,o<=n&&(n=o);const r=V.get(e.branch).pos,a=o-z;U.set(e.id,{x:r,y:a})}})},"setParallelBTPos"),at=(0,c.K)(t=>{const r=et(t.parents.filter(t=>null!==t));if(!r)throw new Error(`Closest parent not found for commit ${t.id}`);const e=U.get(r)?.y;if(void 0===e)throw new Error(`Closest parent position not found for commit ${t.id}`);return e},"findClosestParentPos"),it=(0,c.K)(t=>at(t)+D,"calculateCommitPosition"),st=(0,c.K)((t,r)=>{const e=V.get(t.branch);if(!e)throw new Error(`Branch not found for commit ${t.id}`);const o=e.pos,n=r+z;return U.set(t.id,{x:o,y:n}),{x:o,y:n}},"setCommitPosition"),ct=(0,c.K)((t,r,e)=>{const o=V.get(t.branch);if(!o)throw new Error(`Branch not found for commit ${t.id}`);const n=r+e,a=o.pos;U.set(t.id,{x:a,y:n})},"setRootPosition"),dt=(0,c.K)((t,r,e,o,n,a)=>{const{theme:s}=(0,i.D7)(),c=Y.has(s??""),d=j.has(s??""),h=N.has(s??"");if(a===$.HIGHLIGHT)t.append("rect").attr("x",e.x-10+(c?3:0)).attr("y",e.y-10+(c?3:0)).attr("width",c?14:20).attr("height",c?14:20).attr("class",`commit ${r.id} commit-highlight${F(n,8,d)} ${o}-outer`),t.append("rect").attr("x",e.x-6+(c?2:0)).attr("y",e.y-6+(c?2:0)).attr("width",c?8:12).attr("height",c?8:12).attr("class",`commit ${r.id} commit${F(n,8,d)} ${o}-inner`);else if(a===$.CHERRY_PICK)t.append("circle").attr("cx",e.x).attr("cy",e.y).attr("r",c?7:10).attr("class",`commit ${r.id} ${o}`),t.append("circle").attr("cx",e.x-3).attr("cy",e.y+2).attr("r",c?2.5:2.75).attr("fill",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`),t.append("circle").attr("cx",e.x+3).attr("cy",e.y+2).attr("r",c?2.5:2.75).attr("fill",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`),t.append("line").attr("x1",e.x+3).attr("y1",e.y+1).attr("x2",e.x).attr("y2",e.y-5).attr("stroke",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`),t.append("line").attr("x1",e.x-3).attr("y1",e.y+1).attr("x2",e.x).attr("y2",e.y-5).attr("stroke",h?"#000000":"#fff").attr("class",`commit ${r.id} ${o}`);else{const i=t.append("circle");if(i.attr("cx",e.x),i.attr("cy",e.y),i.attr("r",c?7:10),i.attr("class",`commit ${r.id} commit${F(n,8,d)}`),a===$.MERGE){const a=t.append("circle");a.attr("cx",e.x),a.attr("cy",e.y),a.attr("r",c?5:6),a.attr("class",`commit ${o} ${r.id} commit${F(n,8,d)}`)}if(a===$.REVERSE){const a=c?4:5;t.append("path").attr("d",`M ${e.x-a},${e.y-a}L${e.x+a},${e.y+a}M${e.x-a},${e.y+a}L${e.x+a},${e.y-a}`).attr("class",`commit ${o} ${r.id} commit${F(n,8,d)}`)}}},"drawCommitBullet"),ht=(0,c.K)((t,r,e,o,n)=>{if(r.type!==$.CHERRY_PICK&&(r.customId&&r.type===$.MERGE||r.type!==$.MERGE)&&n.showCommitLabel){const a=t.append("g"),i=a.insert("rect").attr("class","commit-label-bkg"),s=a.append("text").attr("x",o).attr("y",e.y+25).attr("class","commit-label").text(r.id),c=s.node()?.getBBox();if(c&&(i.attr("x",e.posWithOffset-c.width/2-2).attr("y",e.y+13.5).attr("width",c.width+4).attr("height",c.height+4),"TB"===Z||"BT"===Z?(i.attr("x",e.x-(c.width+16+5)).attr("y",e.y-12),s.attr("x",e.x-(c.width+16)).attr("y",e.y+c.height-12)):s.attr("x",e.posWithOffset-c.width/2),n.rotateCommitLabel))if("TB"===Z||"BT"===Z)s.attr("transform","rotate(-45, "+e.x+", "+e.y+")"),i.attr("transform","rotate(-45, "+e.x+", "+e.y+")");else{const t=-7.5-(c.width+10)/25*9.5,r=10+c.width/25*8.5;a.attr("transform","translate("+t+", "+r+") rotate(-45, "+o+", "+e.y+")")}}},"drawCommitLabel"),$t=(0,c.K)((t,r,e,o)=>{if(r.tags.length>0){let n=0,a=0,i=0;const s=[];for(const o of r.tags.reverse()){const r=t.insert("polygon"),c=t.append("circle"),d=t.append("text").attr("y",e.y-16-n).attr("class","tag-label").text(o),h=d.node()?.getBBox();if(!h)throw new Error("Tag bbox not found");a=Math.max(a,h.width),i=Math.max(i,h.height),d.attr("x",e.posWithOffset-h.width/2),s.push({tag:d,hole:c,rect:r,yOffset:n}),n+=20}for(const{tag:t,hole:r,rect:c,yOffset:d}of s){const n=i/2,s=e.y-19.2-d;if(c.attr("class","tag-label-bkg").attr("points",`\n ${o-a/2-2},${s+2} \n ${o-a/2-2},${s-2}\n ${e.posWithOffset-a/2-4},${s-n-2}\n ${e.posWithOffset+a/2+4},${s-n-2}\n ${e.posWithOffset+a/2+4},${s+n+2}\n ${e.posWithOffset-a/2-4},${s+n+2}`),r.attr("cy",s).attr("cx",o-a/2+2).attr("r",1.5).attr("class","tag-hole"),"TB"===Z||"BT"===Z){const i=o+d;c.attr("class","tag-label-bkg").attr("points",`\n ${e.x},${i+2}\n ${e.x},${i-2}\n ${e.x+z},${i-n-2}\n ${e.x+z+a+4},${i-n-2}\n ${e.x+z+a+4},${i+n+2}\n ${e.x+z},${i+n+2}`).attr("transform","translate(12,12) rotate(45, "+e.x+","+o+")"),r.attr("cx",e.x+2).attr("cy",i).attr("transform","translate(12,12) rotate(45, "+e.x+","+o+")"),t.attr("x",e.x+5).attr("y",i+3).attr("transform","translate(14,14) rotate(45, "+e.x+","+o+")")}}}},"drawCommitTags"),mt=(0,c.K)(t=>{switch(t.customType??t.type){case $.NORMAL:return"commit-normal";case $.REVERSE:return"commit-reverse";case $.HIGHLIGHT:return"commit-highlight";case $.MERGE:return"commit-merge";case $.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),lt=(0,c.K)((t,r,e,o)=>{const n={x:0,y:0};if(!(t.parents.length>0)){if("TB"===r)return 30;if("BT"===r){return(o.get(t.id)??n).y-D}return 0}{const e=et(t.parents);if(e){const a=o.get(e)??n;if("TB"===r)return a.y+D;if("BT"===r){return(o.get(t.id)??n).y-D}return a.x+D}}return 0},"calculatePosition"),gt=(0,c.K)((t,r,e)=>{const o="BT"===Z&&e?r:r+z,n=V.get(t.branch)?.pos,a="TB"===Z||"BT"===Z?V.get(t.branch)?.pos:o;if(void 0===a||void 0===n)throw new Error(`Position were undefined for commit ${t.id}`);const s=Y.has((0,i.D7)().theme??"");return{x:a,y:"TB"===Z||"BT"===Z?o:n+(s?7:-2),posWithOffset:o}},"getCommitPosition"),pt=(0,c.K)((t,r,e,o)=>{const n=t.append("g").attr("class","commit-bullets"),a=t.append("g").attr("class","commit-labels");let i="TB"===Z||"BT"===Z?30:0;const s=[...r.keys()],d=o.parallelCommits??!1,h=(0,c.K)((t,e)=>{const o=r.get(t)?.seq,n=r.get(e)?.seq;return void 0!==o&&void 0!==n?o-n:0},"sortKeys");let $=s.sort(h);"BT"===Z&&(d&&nt($,r,i),$=$.reverse()),$.forEach(t=>{const s=r.get(t);if(!s)throw new Error(`Commit not found for key ${t}`);d&&(i=lt(s,Z,i,U));const c=gt(s,i,d);if(e){const t=mt(s),r=s.customType??s.type,e=V.get(s.branch)?.index??0;dt(n,s,c,t,e,r),ht(a,s,c,i,o),$t(a,s,c,i)}"TB"===Z||"BT"===Z?U.set(s.id,{x:c.x,y:c.posWithOffset}):U.set(s.id,{x:c.posWithOffset,y:c.y}),i="BT"===Z&&d?i+D:i+D+z,i>X&&(X=i)})},"drawCommits"),yt=(0,c.K)((t,r,e,o,n)=>{const a=("TB"===Z||"BT"===Z?e.x<o.x:e.y<o.y)?r.branch:t.branch,i=(0,c.K)(t=>t.branch===a,"isOnBranchToGetCurve"),s=(0,c.K)(e=>e.seq>t.seq&&e.seq<r.seq,"isBetweenCommits");return[...n.values()].some(t=>s(t)&&i(t))},"shouldRerouteArrow"),ft=(0,c.K)((t,r,e=0)=>{const o=t+Math.abs(t-r)/2;if(e>5)return o;if(Q.every(t=>Math.abs(t-o)>=10))return Q.push(o),o;const n=Math.abs(t-r);return ft(t,r-n/5,e+1)},"findLane"),xt=(0,c.K)((t,r,e,o)=>{const{theme:n}=(0,i.D7)(),a=j.has(n??""),s=U.get(r.id),c=U.get(e.id);if(void 0===s||void 0===c)throw new Error(`Commit positions not found for commits ${r.id} and ${e.id}`);const d=yt(r,e,s,c,o);let h,m="",l="",g=0,p=0,y=V.get(e.branch)?.index;if(e.type===$.MERGE&&r.id!==e.parents[0]&&(y=V.get(r.branch)?.index),d){m="A 10 10, 0, 0, 0,",l="A 10 10, 0, 0, 1,",g=10,p=10;const t=s.y<c.y?ft(s.y,c.y):ft(c.y,s.y),e=s.x<c.x?ft(s.x,c.x):ft(c.x,s.x);"TB"===Z?s.x<c.x?h=`M ${s.x} ${s.y} L ${e-g} ${s.y} ${l} ${e} ${s.y+p} L ${e} ${c.y-g} ${m} ${e+p} ${c.y} L ${c.x} ${c.y}`:(y=V.get(r.branch)?.index,h=`M ${s.x} ${s.y} L ${e+g} ${s.y} ${m} ${e} ${s.y+p} L ${e} ${c.y-g} ${l} ${e-p} ${c.y} L ${c.x} ${c.y}`):"BT"===Z?s.x<c.x?h=`M ${s.x} ${s.y} L ${e-g} ${s.y} ${m} ${e} ${s.y-p} L ${e} ${c.y+g} ${l} ${e+p} ${c.y} L ${c.x} ${c.y}`:(y=V.get(r.branch)?.index,h=`M ${s.x} ${s.y} L ${e+g} ${s.y} ${l} ${e} ${s.y-p} L ${e} ${c.y+g} ${m} ${e-p} ${c.y} L ${c.x} ${c.y}`):s.y<c.y?h=`M ${s.x} ${s.y} L ${s.x} ${t-g} ${m} ${s.x+p} ${t} L ${c.x-g} ${t} ${l} ${c.x} ${t+p} L ${c.x} ${c.y}`:(y=V.get(r.branch)?.index,h=`M ${s.x} ${s.y} L ${s.x} ${t+g} ${l} ${s.x+p} ${t} L ${c.x-g} ${t} ${m} ${c.x} ${t-p} L ${c.x} ${c.y}`)}else m="A 20 20, 0, 0, 0,",l="A 20 20, 0, 0, 1,",g=20,p=20,"TB"===Z?(s.x<c.x&&(h=e.type===$.MERGE&&r.id!==e.parents[0]?`M ${s.x} ${s.y} L ${s.x} ${c.y-g} ${m} ${s.x+p} ${c.y} L ${c.x} ${c.y}`:`M ${s.x} ${s.y} L ${c.x-g} ${s.y} ${l} ${c.x} ${s.y+p} L ${c.x} ${c.y}`),s.x>c.x&&(m="A 20 20, 0, 0, 0,",l="A 20 20, 0, 0, 1,",g=20,p=20,h=e.type===$.MERGE&&r.id!==e.parents[0]?`M ${s.x} ${s.y} L ${s.x} ${c.y-g} ${l} ${s.x-p} ${c.y} L ${c.x} ${c.y}`:`M ${s.x} ${s.y} L ${c.x+g} ${s.y} ${m} ${c.x} ${s.y+p} L ${c.x} ${c.y}`),s.x===c.x&&(h=`M ${s.x} ${s.y} L ${c.x} ${c.y}`)):"BT"===Z?(s.x<c.x&&(h=e.type===$.MERGE&&r.id!==e.parents[0]?`M ${s.x} ${s.y} L ${s.x} ${c.y+g} ${l} ${s.x+p} ${c.y} L ${c.x} ${c.y}`:`M ${s.x} ${s.y} L ${c.x-g} ${s.y} ${m} ${c.x} ${s.y-p} L ${c.x} ${c.y}`),s.x>c.x&&(m="A 20 20, 0, 0, 0,",l="A 20 20, 0, 0, 1,",g=20,p=20,h=e.type===$.MERGE&&r.id!==e.parents[0]?`M ${s.x} ${s.y} L ${s.x} ${c.y+g} ${m} ${s.x-p} ${c.y} L ${c.x} ${c.y}`:`M ${s.x} ${s.y} L ${c.x+g} ${s.y} ${l} ${c.x} ${s.y-p} L ${c.x} ${c.y}`),s.x===c.x&&(h=`M ${s.x} ${s.y} L ${c.x} ${c.y}`)):(s.y<c.y&&(h=e.type===$.MERGE&&r.id!==e.parents[0]?`M ${s.x} ${s.y} L ${c.x-g} ${s.y} ${l} ${c.x} ${s.y+p} L ${c.x} ${c.y}`:`M ${s.x} ${s.y} L ${s.x} ${c.y-g} ${m} ${s.x+p} ${c.y} L ${c.x} ${c.y}`),s.y>c.y&&(h=e.type===$.MERGE&&r.id!==e.parents[0]?`M ${s.x} ${s.y} L ${c.x-g} ${s.y} ${m} ${c.x} ${s.y-p} L ${c.x} ${c.y}`:`M ${s.x} ${s.y} L ${s.x} ${c.y+g} ${l} ${s.x+p} ${c.y} L ${c.x} ${c.y}`),s.y===c.y&&(h=`M ${s.x} ${s.y} L ${c.x} ${c.y}`));if(void 0===h)throw new Error("Line definition not found");t.append("path").attr("d",h).attr("class","arrow arrow"+F(y,8,a))},"drawArrow"),ut=(0,c.K)((t,r)=>{const e=t.append("g").attr("class","commit-arrows");[...r.keys()].forEach(t=>{const o=r.get(t);o.parents&&o.parents.length>0&&o.parents.forEach(t=>{xt(e,r.get(t),o,r)})})},"drawArrows"),bt=(0,c.K)((t,r,e,o)=>{const{look:n,theme:a,themeVariables:s}=(0,i.D7)(),{dropShadow:c,THEME_COLOR_LIMIT:d}=s,h=Y.has(a??""),$=j.has(a??""),m=t.append("g");r.forEach((t,r)=>{const a=F(r,h?d:8,$),i=V.get(t.name)?.pos;if(void 0===i)throw new Error(`Position not found for branch ${t.name}`);const s="TB"===Z||"BT"===Z?i:h?i+6+1:i-2,l=m.append("line");l.attr("x1",0),l.attr("y1",s),l.attr("x2",X),l.attr("y2",s),l.attr("class","branch branch"+a),"TB"===Z?(l.attr("y1",30),l.attr("x1",i),l.attr("y2",X),l.attr("x2",i)):"BT"===Z&&(l.attr("y1",X),l.attr("x1",i),l.attr("y2",30),l.attr("x2",i)),Q.push(s);const g=t.name,p=rt(g),y=m.insert("rect"),f=m.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+a);f.node().appendChild(p);const x=p.getBBox(),u=h?0:4,b=h?16:0,w=h?12:0;"neo"===n&&y.attr("data-look","neo"),y.attr("class","branchLabelBkg label"+a).attr("style","neo"===n?`filter:${h?`url(#${o}-drop-shadow)`:c}`:"").attr("rx",u).attr("ry",u).attr("x",-x.width-4-(!0===e.rotateCommitLabel?30:0)).attr("y",-x.height/2+10).attr("width",x.width+18+b).attr("height",x.height+4+w),f.attr("transform","translate("+(-x.width-14-(!0===e.rotateCommitLabel?30:0)+b/2)+", "+(s-x.height/2-2)+")"),"TB"===Z?(y.attr("x",i-x.width/2-10).attr("y",0),f.attr("transform","translate("+(i-x.width/2-5)+", 0)"),h&&(y.attr("transform",`translate(${-b/2-3}, ${-w-10})`),f.attr("transform","translate("+(i-x.width/2-5)+", "+(2*-w+7)+")"))):"BT"===Z?(y.attr("x",i-x.width/2-10).attr("y",X),f.attr("transform","translate("+(i-x.width/2-5)+", "+X+")"),h&&(y.attr("transform",`translate(${-b/2-3}, ${w+10})`),f.attr("transform","translate("+(i-x.width/2-5)+", "+(X+2*w+4)+")"))):y.attr("transform","translate(-19, "+(s-12-w/2)+")")})},"drawBranches"),wt=(0,c.K)(function(t,r,e,o,n){return V.set(t,{pos:r,index:e}),r+=50+(n?40:0)+("TB"===Z||"BT"===Z?o.width/2:0)},"setBranchPosition"),kt={draw:(0,c.K)(function(t,r,e,o){tt(),s.R.debug("in gitgraph renderer",t+"\n","id:",r,e);const n=o.db;if(!n.getConfig)return void s.R.error("getConfig method is not available on db");const c=n.getConfig(),d=c.rotateCommitLabel??!1;J=n.getCommits();const $=n.getBranchesAsObjArray();Z=n.getDirection();const m=(0,h.Ltv)(`[id="${r}"]`),{look:l,theme:g,themeVariables:p}=(0,i.D7)(),{useGradient:y,gradientStart:f,gradientStop:x,filterColor:u}=p;if(y){const t=m.append("defs").append("linearGradient").attr("id",r+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");t.append("stop").attr("offset","0%").attr("stop-color",f).attr("stop-opacity",1),t.append("stop").attr("offset","100%").attr("stop-color",x).attr("stop-opacity",1)}"neo"===l&&Y.has(g??"")&&m.append("defs").append("filter").attr("id",r+"-drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",u);let b=0;$.forEach((t,r)=>{const e=rt(t.name),o=m.append("g"),n=o.insert("g").attr("class","branchLabel"),a=n.insert("g").attr("class","label branch-label");a.node()?.appendChild(e);const i=e.getBBox();b=wt(t.name,b,r,i,d),a.remove(),n.remove(),o.remove()}),pt(m,J,!1,c),c.showBranches&&bt(m,$,c,r),ut(m,J),pt(m,J,!0,c),a._K.insertTitle(m,"gitTitleText",c.titleTopMargin??0,n.getDiagramTitle()),(0,i.mj)(void 0,m,c.diagramPadding,c.useMaxWidth)},"draw")};var Bt=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),Et=new Set(["redux-color","redux-dark-color"]),Ct=new Set(["neo","neo-dark"]),Lt=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),Tt=new Set(["redux","redux-dark","redux-color","redux-dark-color","neo","neo-dark"]),Kt=(0,c.K)(t=>{const{svgId:r}=t;let e="";if(t.useGradient&&r)for(let o=0;o<t.THEME_COLOR_LIMIT;o++)e+=`\n .label${o} { fill: ${t.mainBkg}; stroke: url(${r}-gradient); stroke-width: ${t.strokeWidth};}\n `;return e},"genGitGraphGradient"),Mt=(0,c.K)(t=>{const r=(0,i.zj)(),{theme:e,themeVariables:o}=r,{borderColorArray:n}=o,a=Bt.has(e);if(Ct.has(e)){let r="";for(let e=0;e<t.THEME_COLOR_LIMIT;e++)if(0===e)r+=`\n .branch-label${e} { fill: ${t.nodeBorder};}\n .commit${e} { stroke: ${t.nodeBorder}; }\n .commit-highlight${e} { stroke: ${t.nodeBorder}; fill: ${t.nodeBorder}; }\n .arrow${e} { stroke: ${t.nodeBorder}; }\n .commit-bullets { fill: ${t.nodeBorder}; }\n .commit-cherry-pick${e} { stroke: ${t.nodeBorder}; }\n ${Kt(t)}`;else{const o=e%8;r+=`\n .branch-label${e} { fill: ${t["gitBranchLabel"+o]}; }\n .commit${e} { stroke: ${t["git"+o]}; fill: ${t["git"+o]}; }\n .commit-highlight${e} { stroke: ${t["gitInv"+o]}; fill: ${t["gitInv"+o]}; }\n .arrow${e} { stroke: ${t["git"+o]}; }\n `}return r}if(Et.has(e)){let r="";for(let o=0;o<t.THEME_COLOR_LIMIT;o++)if(0===o)r+=`\n .branch-label${o} { fill: ${t.nodeBorder}; ${a?`font-weight:${t.noteFontWeight}`:""} }\n .commit${o} { stroke: ${t.nodeBorder}; }\n .commit-highlight${o} { stroke: ${t.nodeBorder}; fill: ${t.mainBkg}; }\n .label${o} { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; stroke-width: ${t.strokeWidth}; ${a?`font-weight:${t.noteFontWeight}`:""} }\n .arrow${o} { stroke: ${t.nodeBorder}; }\n .commit-bullets { fill: ${t.nodeBorder}; }\n `;else{const i=o%n.length;r+=`\n .branch-label${o} { fill: ${t.nodeBorder}; ${a?`font-weight:${t.noteFontWeight}`:""} }\n .commit${o} { stroke: ${n[i]}; fill: ${n[i]}; }\n .commit-highlight${o} { stroke: ${n[i]}; fill: ${n[i]}; }\n .label${o} { fill: ${Lt.has(e)?t.mainBkg:n[i]}; stroke: ${n[i]}; stroke-width: ${t.strokeWidth}; }\n .arrow${o} { stroke: ${n[i]}; }\n `}return r}{let r="";for(let e=0;e<t.THEME_COLOR_LIMIT;e++)r+=`\n .branch-label${e} { fill: ${t.nodeBorder}; ${a?`font-weight:${t.noteFontWeight}`:""} }\n .commit${e} { stroke: ${t.nodeBorder}; }\n .commit-highlight${e} { stroke: ${t.nodeBorder}; fill: ${t.nodeBorder}; }\n .label${e} { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; stroke-width: ${t.strokeWidth}; ${a?`font-weight:${t.noteFontWeight}`:""}}\n .arrow${e} { stroke: ${t.nodeBorder}; }\n .commit-bullets { fill: ${t.nodeBorder}; }\n .commit-cherry-pick${e} { stroke: ${t.nodeBorder}; }\n `;return r}},"genColor"),Rt=(0,c.K)(t=>`${Array.from({length:t.THEME_COLOR_LIMIT},(t,r)=>r).map(r=>{const e=r%8;return`\n .branch-label${r} { fill: ${t["gitBranchLabel"+e]}; }\n .commit${r} { stroke: ${t["git"+e]}; fill: ${t["git"+e]}; }\n .commit-highlight${r} { stroke: ${t["gitInv"+e]}; fill: ${t["gitInv"+e]}; }\n .label${r} { fill: ${t["git"+e]}; }\n .arrow${r} { stroke: ${t["git"+e]}; }\n `}).join("\n")}`,"normalTheme"),vt={parser:q,db:P,renderer:kt,styles:(0,c.K)(t=>{const r=(0,i.zj)(),{theme:e}=r,o=Tt.has(e);return`\n .commit-id,\n .commit-msg,\n .branch-label {\n fill: lightgrey;\n color: lightgrey;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n \n ${o?Mt(t):Rt(t)}\n\n .branch {\n stroke-width: ${t.strokeWidth};\n stroke: ${t.commitLineColor??t.lineColor};\n stroke-dasharray: ${o?"4 2":"2"};\n }\n .commit-label { font-size: ${t.commitLabelFontSize}; fill: ${o?t.nodeBorder:t.commitLabelColor}; ${o?`font-weight:${t.noteFontWeight};`:""}}\n .commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${o?"transparent":t.commitLabelBackground}; opacity: ${o?"":.5}; }\n .tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};}\n .tag-label-bkg { fill: ${o?t.mainBkg:t.tagLabelBackground}; stroke: ${o?t.nodeBorder:t.tagLabelBorder}; ${o?`filter:${t.dropShadow}`:""} }\n .tag-hole { fill: ${t.textColor}; }\n\n .commit-merge {\n stroke: ${o?t.mainBkg:t.primaryColor};\n fill: ${o?t.mainBkg:t.primaryColor};\n }\n .commit-reverse {\n stroke: ${o?t.mainBkg:t.primaryColor};\n fill: ${o?t.mainBkg:t.primaryColor};\n stroke-width: ${o?t.strokeWidth:3};\n }\n .commit-highlight-outer {\n }\n .commit-highlight-inner {\n stroke: ${o?t.mainBkg:t.primaryColor};\n fill: ${o?t.mainBkg:t.primaryColor};\n }\n\n .arrow {\n /* Intentional: neo themes keep the bold 8px arrow (like classic themes); only redux-geometry themes use the thinner options.strokeWidth. */\n stroke-width: ${Bt.has(e)?t.strokeWidth:8};\n stroke-linecap: round;\n fill: none\n }\n .gitTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n }\n`},"getStyles")}}}]);
|