diff --git a/404.html b/404.html new file mode 100644 index 0000000..ee8a9bc --- /dev/null +++ b/404.html @@ -0,0 +1,23 @@ + + + + + + 404 | Visual-DDD + + + + + + + + + + + + +
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.
+ + + + \ No newline at end of file diff --git a/api/index.html b/api/index.html new file mode 100644 index 0000000..1b1a25f --- /dev/null +++ b/api/index.html @@ -0,0 +1,26 @@ + + + + + + TODO | Visual-DDD + + + + + + + + + + + + + + + +
Skip to content
On this page

Last updated:

+ + + + \ No newline at end of file diff --git a/assets/054e7e0b.f2feadbb.png b/assets/054e7e0b.f2feadbb.png new file mode 100644 index 0000000..e1118fd Binary files /dev/null and b/assets/054e7e0b.f2feadbb.png differ diff --git a/assets/068d7ccb.c0586762.png b/assets/068d7ccb.c0586762.png new file mode 100644 index 0000000..6c7f543 Binary files /dev/null and b/assets/068d7ccb.c0586762.png differ diff --git a/assets/07b042d9.64e76cd3.png b/assets/07b042d9.64e76cd3.png new file mode 100644 index 0000000..1dfe33c Binary files /dev/null and b/assets/07b042d9.64e76cd3.png differ diff --git a/assets/0a7ebfd4.95e34a20.png b/assets/0a7ebfd4.95e34a20.png new file mode 100644 index 0000000..767fdd7 Binary files /dev/null and b/assets/0a7ebfd4.95e34a20.png differ diff --git a/assets/0c222ae9.49f16e11.png b/assets/0c222ae9.49f16e11.png new file mode 100644 index 0000000..9478102 Binary files /dev/null and b/assets/0c222ae9.49f16e11.png differ diff --git a/assets/0ea1ff14.16f10f3a.png b/assets/0ea1ff14.16f10f3a.png new file mode 100644 index 0000000..321a4f8 Binary files /dev/null and b/assets/0ea1ff14.16f10f3a.png differ diff --git a/assets/1.db0ef1c6.jpg b/assets/1.db0ef1c6.jpg new file mode 100644 index 0000000..1558d47 Binary files /dev/null and b/assets/1.db0ef1c6.jpg differ diff --git a/assets/14e4b727.2ddc5158.png b/assets/14e4b727.2ddc5158.png new file mode 100644 index 0000000..2112a22 Binary files /dev/null and b/assets/14e4b727.2ddc5158.png differ diff --git a/assets/1533d412.170094cd.png b/assets/1533d412.170094cd.png new file mode 100644 index 0000000..bbdd368 Binary files /dev/null and b/assets/1533d412.170094cd.png differ diff --git a/assets/1701503016545.a8a0ada9.png b/assets/1701503016545.a8a0ada9.png new file mode 100644 index 0000000..8ac2abb Binary files /dev/null and b/assets/1701503016545.a8a0ada9.png differ diff --git a/assets/1702032756764.5c4017df.png b/assets/1702032756764.5c4017df.png new file mode 100644 index 0000000..583a72b Binary files /dev/null and b/assets/1702032756764.5c4017df.png differ diff --git a/assets/1702032992385.181a7a3e.png b/assets/1702032992385.181a7a3e.png new file mode 100644 index 0000000..bd237b8 Binary files /dev/null and b/assets/1702032992385.181a7a3e.png differ diff --git a/assets/1702033017237.cb487e9d.png b/assets/1702033017237.cb487e9d.png new file mode 100644 index 0000000..223094e Binary files /dev/null and b/assets/1702033017237.cb487e9d.png differ diff --git a/assets/1702033105033.05a036a9.png b/assets/1702033105033.05a036a9.png new file mode 100644 index 0000000..225b24e Binary files /dev/null and b/assets/1702033105033.05a036a9.png differ diff --git a/assets/1702195881969.e4bfead5.png b/assets/1702195881969.e4bfead5.png new file mode 100644 index 0000000..f12208d Binary files /dev/null and b/assets/1702195881969.e4bfead5.png differ diff --git a/assets/1702196639416.da3452ff.png b/assets/1702196639416.da3452ff.png new file mode 100644 index 0000000..63176ec Binary files /dev/null and b/assets/1702196639416.da3452ff.png differ diff --git a/assets/1702196821541.95595caf.png b/assets/1702196821541.95595caf.png new file mode 100644 index 0000000..b2654af Binary files /dev/null and b/assets/1702196821541.95595caf.png differ diff --git a/assets/1702196859880.6c46dd83.png b/assets/1702196859880.6c46dd83.png new file mode 100644 index 0000000..f05a7e5 Binary files /dev/null and b/assets/1702196859880.6c46dd83.png differ diff --git a/assets/1702199265314.7239bdc6.png b/assets/1702199265314.7239bdc6.png new file mode 100644 index 0000000..55da3d8 Binary files /dev/null and b/assets/1702199265314.7239bdc6.png differ diff --git a/assets/1702199299683.bf0f85c3.png b/assets/1702199299683.bf0f85c3.png new file mode 100644 index 0000000..16d02aa Binary files /dev/null and b/assets/1702199299683.bf0f85c3.png differ diff --git a/assets/1702199320462.006dba36.png b/assets/1702199320462.006dba36.png new file mode 100644 index 0000000..b5863c6 Binary files /dev/null and b/assets/1702199320462.006dba36.png differ diff --git a/assets/1702199778632.c5673622.png b/assets/1702199778632.c5673622.png new file mode 100644 index 0000000..fac8365 Binary files /dev/null and b/assets/1702199778632.c5673622.png differ diff --git a/assets/1702199811877.59362419.png b/assets/1702199811877.59362419.png new file mode 100644 index 0000000..1293704 Binary files /dev/null and b/assets/1702199811877.59362419.png differ diff --git a/assets/1702199819784.35193afc.png b/assets/1702199819784.35193afc.png new file mode 100644 index 0000000..55b60c5 Binary files /dev/null and b/assets/1702199819784.35193afc.png differ diff --git a/assets/1702199955797.527c8749.png b/assets/1702199955797.527c8749.png new file mode 100644 index 0000000..9bdaee2 Binary files /dev/null and b/assets/1702199955797.527c8749.png differ diff --git a/assets/1702199968098.6e53b29f.png b/assets/1702199968098.6e53b29f.png new file mode 100644 index 0000000..199d69f Binary files /dev/null and b/assets/1702199968098.6e53b29f.png differ diff --git a/assets/1702199989242.8bcaf9d6.png b/assets/1702199989242.8bcaf9d6.png new file mode 100644 index 0000000..1c82932 Binary files /dev/null and b/assets/1702199989242.8bcaf9d6.png differ diff --git a/assets/1702200100855.7cd6ea51.png b/assets/1702200100855.7cd6ea51.png new file mode 100644 index 0000000..2bdc42c Binary files /dev/null and b/assets/1702200100855.7cd6ea51.png differ diff --git a/assets/1702200573002.a37297f7.png b/assets/1702200573002.a37297f7.png new file mode 100644 index 0000000..2be5b5c Binary files /dev/null and b/assets/1702200573002.a37297f7.png differ diff --git a/assets/1702200839889.87fd4cc0.png b/assets/1702200839889.87fd4cc0.png new file mode 100644 index 0000000..3538a5c Binary files /dev/null and b/assets/1702200839889.87fd4cc0.png differ diff --git a/assets/1702200927644.d3ec7ab3.png b/assets/1702200927644.d3ec7ab3.png new file mode 100644 index 0000000..80ca9dd Binary files /dev/null and b/assets/1702200927644.d3ec7ab3.png differ diff --git a/assets/1702201007093.1ce716bc.png b/assets/1702201007093.1ce716bc.png new file mode 100644 index 0000000..9b553ef Binary files /dev/null and b/assets/1702201007093.1ce716bc.png differ diff --git a/assets/1702201220196.9617e5fa.png b/assets/1702201220196.9617e5fa.png new file mode 100644 index 0000000..10ff388 Binary files /dev/null and b/assets/1702201220196.9617e5fa.png differ diff --git a/assets/1702201237305.0b0bc858.png b/assets/1702201237305.0b0bc858.png new file mode 100644 index 0000000..9d12d0a Binary files /dev/null and b/assets/1702201237305.0b0bc858.png differ diff --git a/assets/1702202102986.e338ffd4.png b/assets/1702202102986.e338ffd4.png new file mode 100644 index 0000000..507c301 Binary files /dev/null and b/assets/1702202102986.e338ffd4.png differ diff --git a/assets/1702202136736.2857bc82.png b/assets/1702202136736.2857bc82.png new file mode 100644 index 0000000..d47cf60 Binary files /dev/null and b/assets/1702202136736.2857bc82.png differ diff --git a/assets/1702202185998.f9c228a7.png b/assets/1702202185998.f9c228a7.png new file mode 100644 index 0000000..75d4784 Binary files /dev/null and b/assets/1702202185998.f9c228a7.png differ diff --git a/assets/1702202251348.f7e91949.png b/assets/1702202251348.f7e91949.png new file mode 100644 index 0000000..104cd64 Binary files /dev/null and b/assets/1702202251348.f7e91949.png differ diff --git a/assets/1702202353571.9a93f607.png b/assets/1702202353571.9a93f607.png new file mode 100644 index 0000000..c0c235b Binary files /dev/null and b/assets/1702202353571.9a93f607.png differ diff --git a/assets/1702202372380.6d3647e7.png b/assets/1702202372380.6d3647e7.png new file mode 100644 index 0000000..e384f4c Binary files /dev/null and b/assets/1702202372380.6d3647e7.png differ diff --git a/assets/1702202511502.c0b06b0b.png b/assets/1702202511502.c0b06b0b.png new file mode 100644 index 0000000..bd55895 Binary files /dev/null and b/assets/1702202511502.c0b06b0b.png differ diff --git a/assets/1702202540222.003a739a.png b/assets/1702202540222.003a739a.png new file mode 100644 index 0000000..cf8f5ab Binary files /dev/null and b/assets/1702202540222.003a739a.png differ diff --git a/assets/1702203283390.4c046c71.png b/assets/1702203283390.4c046c71.png new file mode 100644 index 0000000..0365c40 Binary files /dev/null and b/assets/1702203283390.4c046c71.png differ diff --git a/assets/1702203369383.7eaab9b0.png b/assets/1702203369383.7eaab9b0.png new file mode 100644 index 0000000..0dab719 Binary files /dev/null and b/assets/1702203369383.7eaab9b0.png differ diff --git a/assets/1702203421595.95f22c78.png b/assets/1702203421595.95f22c78.png new file mode 100644 index 0000000..159ca12 Binary files /dev/null and b/assets/1702203421595.95f22c78.png differ diff --git a/assets/1702203465353.e0bcd17b.png b/assets/1702203465353.e0bcd17b.png new file mode 100644 index 0000000..45acdc9 Binary files /dev/null and b/assets/1702203465353.e0bcd17b.png differ diff --git a/assets/1702203558984.bbabcd05.png b/assets/1702203558984.bbabcd05.png new file mode 100644 index 0000000..bcfdfed Binary files /dev/null and b/assets/1702203558984.bbabcd05.png differ diff --git a/assets/1702203675764.041ae05a.png b/assets/1702203675764.041ae05a.png new file mode 100644 index 0000000..9543e36 Binary files /dev/null and b/assets/1702203675764.041ae05a.png differ diff --git a/assets/1702203692092.772c75aa.png b/assets/1702203692092.772c75aa.png new file mode 100644 index 0000000..89110b0 Binary files /dev/null and b/assets/1702203692092.772c75aa.png differ diff --git a/assets/1702203775583.996a9ff0.png b/assets/1702203775583.996a9ff0.png new file mode 100644 index 0000000..e32d6b0 Binary files /dev/null and b/assets/1702203775583.996a9ff0.png differ diff --git a/assets/1702203808499.13cb0e47.png b/assets/1702203808499.13cb0e47.png new file mode 100644 index 0000000..edad97d Binary files /dev/null and b/assets/1702203808499.13cb0e47.png differ diff --git a/assets/1702262211025.d69b25af.png b/assets/1702262211025.d69b25af.png new file mode 100644 index 0000000..51f7f9f Binary files /dev/null and b/assets/1702262211025.d69b25af.png differ diff --git a/assets/1703833467613.6410c7cb.png b/assets/1703833467613.6410c7cb.png new file mode 100644 index 0000000..3976bf4 Binary files /dev/null and b/assets/1703833467613.6410c7cb.png differ diff --git a/assets/1a6761f2.c787395e.png b/assets/1a6761f2.c787395e.png new file mode 100644 index 0000000..c3d285e Binary files /dev/null and b/assets/1a6761f2.c787395e.png differ diff --git a/assets/1c93c013.25d14ca6.png b/assets/1c93c013.25d14ca6.png new file mode 100644 index 0000000..261f7c9 Binary files /dev/null and b/assets/1c93c013.25d14ca6.png differ diff --git a/assets/1ecd0e9a.8dc657fe.png b/assets/1ecd0e9a.8dc657fe.png new file mode 100644 index 0000000..6f72b0a Binary files /dev/null and b/assets/1ecd0e9a.8dc657fe.png differ diff --git a/assets/2.fe39af32.jpg b/assets/2.fe39af32.jpg new file mode 100644 index 0000000..0e30b2a Binary files /dev/null and b/assets/2.fe39af32.jpg differ diff --git a/assets/20230918_1452166515.70bc440a.png b/assets/20230918_1452166515.70bc440a.png new file mode 100644 index 0000000..2e8d489 Binary files /dev/null and b/assets/20230918_1452166515.70bc440a.png differ diff --git a/assets/20230918_1452174439.7b9605c8.png b/assets/20230918_1452174439.7b9605c8.png new file mode 100644 index 0000000..90b7213 Binary files /dev/null and b/assets/20230918_1452174439.7b9605c8.png differ diff --git a/assets/20230918_1452186949.ebcfc3cf.png b/assets/20230918_1452186949.ebcfc3cf.png new file mode 100644 index 0000000..f95cc35 Binary files /dev/null and b/assets/20230918_1452186949.ebcfc3cf.png differ diff --git a/assets/20230918_1452198268.09c39a3a.png b/assets/20230918_1452198268.09c39a3a.png new file mode 100644 index 0000000..ca402a5 Binary files /dev/null and b/assets/20230918_1452198268.09c39a3a.png differ diff --git a/assets/20230918_1452199646.39e1f015.png b/assets/20230918_1452199646.39e1f015.png new file mode 100644 index 0000000..d8d35aa Binary files /dev/null and b/assets/20230918_1452199646.39e1f015.png differ diff --git a/assets/20230918_1452217163.1317c5df.png b/assets/20230918_1452217163.1317c5df.png new file mode 100644 index 0000000..d693d89 Binary files /dev/null and b/assets/20230918_1452217163.1317c5df.png differ diff --git a/assets/20230918_1452218628.9c44da72.png b/assets/20230918_1452218628.9c44da72.png new file mode 100644 index 0000000..36c77a8 Binary files /dev/null and b/assets/20230918_1452218628.9c44da72.png differ diff --git a/assets/20230918_1452223788.0cf80bce.png b/assets/20230918_1452223788.0cf80bce.png new file mode 100644 index 0000000..aa62e00 Binary files /dev/null and b/assets/20230918_1452223788.0cf80bce.png differ diff --git a/assets/20230918_1452223940.041ef4b6.png b/assets/20230918_1452223940.041ef4b6.png new file mode 100644 index 0000000..5f7566e Binary files /dev/null and b/assets/20230918_1452223940.041ef4b6.png differ diff --git a/assets/20230918_1452232431.a17467bc.png b/assets/20230918_1452232431.a17467bc.png new file mode 100644 index 0000000..4e9ebf5 Binary files /dev/null and b/assets/20230918_1452232431.a17467bc.png differ diff --git a/assets/20230918_1452235725.08101814.png b/assets/20230918_1452235725.08101814.png new file mode 100644 index 0000000..a7caa50 Binary files /dev/null and b/assets/20230918_1452235725.08101814.png differ diff --git a/assets/20230918_1452245746.802aea99.png b/assets/20230918_1452245746.802aea99.png new file mode 100644 index 0000000..7587f3d Binary files /dev/null and b/assets/20230918_1452245746.802aea99.png differ diff --git a/assets/20230918_1452267377.84229ffe.png b/assets/20230918_1452267377.84229ffe.png new file mode 100644 index 0000000..bc53449 Binary files /dev/null and b/assets/20230918_1452267377.84229ffe.png differ diff --git a/assets/20230918_1452285699.02228dc7.png b/assets/20230918_1452285699.02228dc7.png new file mode 100644 index 0000000..445332d Binary files /dev/null and b/assets/20230918_1452285699.02228dc7.png differ diff --git a/assets/20230918_1452293699.f0aba6f2.png b/assets/20230918_1452293699.f0aba6f2.png new file mode 100644 index 0000000..73e6d30 Binary files /dev/null and b/assets/20230918_1452293699.f0aba6f2.png differ diff --git a/assets/20230918_1452296549.78ce27db.png b/assets/20230918_1452296549.78ce27db.png new file mode 100644 index 0000000..7619c22 Binary files /dev/null and b/assets/20230918_1452296549.78ce27db.png differ diff --git a/assets/20230918_1452309130.d0986791.png b/assets/20230918_1452309130.d0986791.png new file mode 100644 index 0000000..a1d9a02 Binary files /dev/null and b/assets/20230918_1452309130.d0986791.png differ diff --git a/assets/20230918_1452314855.2b4051a8.png b/assets/20230918_1452314855.2b4051a8.png new file mode 100644 index 0000000..d518e24 Binary files /dev/null and b/assets/20230918_1452314855.2b4051a8.png differ diff --git a/assets/21ba715c.ee56f860.png b/assets/21ba715c.ee56f860.png new file mode 100644 index 0000000..73ebe7b Binary files /dev/null and b/assets/21ba715c.ee56f860.png differ diff --git a/assets/2339cb98.9f405ffb.png b/assets/2339cb98.9f405ffb.png new file mode 100644 index 0000000..ef1cd13 Binary files /dev/null and b/assets/2339cb98.9f405ffb.png differ diff --git a/assets/2475b32b.bb531441.png b/assets/2475b32b.bb531441.png new file mode 100644 index 0000000..06c9e5b Binary files /dev/null and b/assets/2475b32b.bb531441.png differ diff --git a/assets/29be8170.b86d5f34.png b/assets/29be8170.b86d5f34.png new file mode 100644 index 0000000..4d854a1 Binary files /dev/null and b/assets/29be8170.b86d5f34.png differ diff --git a/assets/2d716251.e8b18f26.png b/assets/2d716251.e8b18f26.png new file mode 100644 index 0000000..a431aad Binary files /dev/null and b/assets/2d716251.e8b18f26.png differ diff --git a/assets/3.1f8b36ed.jpg b/assets/3.1f8b36ed.jpg new file mode 100644 index 0000000..e19393a Binary files /dev/null and b/assets/3.1f8b36ed.jpg differ diff --git a/assets/31b89342.11bdc260.png b/assets/31b89342.11bdc260.png new file mode 100644 index 0000000..6a2e70b Binary files /dev/null and b/assets/31b89342.11bdc260.png differ diff --git a/assets/351c9dab.2c391c4f.png b/assets/351c9dab.2c391c4f.png new file mode 100644 index 0000000..42249f9 Binary files /dev/null and b/assets/351c9dab.2c391c4f.png differ diff --git a/assets/36204e77.26e9e559.png b/assets/36204e77.26e9e559.png new file mode 100644 index 0000000..c68e504 Binary files /dev/null and b/assets/36204e77.26e9e559.png differ diff --git a/assets/3760ae3e.83207edd.png b/assets/3760ae3e.83207edd.png new file mode 100644 index 0000000..bf0e981 Binary files /dev/null and b/assets/3760ae3e.83207edd.png differ diff --git a/assets/37e817bb.e1603487.png b/assets/37e817bb.e1603487.png new file mode 100644 index 0000000..40c2850 Binary files /dev/null and b/assets/37e817bb.e1603487.png differ diff --git a/assets/3c1ea2f8.86b3ac5f.png b/assets/3c1ea2f8.86b3ac5f.png new file mode 100644 index 0000000..03cebb3 Binary files /dev/null and b/assets/3c1ea2f8.86b3ac5f.png differ diff --git a/assets/3c54e4c5.7f3df4c9.png b/assets/3c54e4c5.7f3df4c9.png new file mode 100644 index 0000000..3621dd3 Binary files /dev/null and b/assets/3c54e4c5.7f3df4c9.png differ diff --git a/assets/3d922f12.f88bf460.png b/assets/3d922f12.f88bf460.png new file mode 100644 index 0000000..e095481 Binary files /dev/null and b/assets/3d922f12.f88bf460.png differ diff --git a/assets/3e3c0e2c.d5ea7180.png b/assets/3e3c0e2c.d5ea7180.png new file mode 100644 index 0000000..b34b543 Binary files /dev/null and b/assets/3e3c0e2c.d5ea7180.png differ diff --git a/assets/3f3ecdc0.16488fb9.png b/assets/3f3ecdc0.16488fb9.png new file mode 100644 index 0000000..d759e35 Binary files /dev/null and b/assets/3f3ecdc0.16488fb9.png differ diff --git a/assets/4.186ab455.jpg b/assets/4.186ab455.jpg new file mode 100644 index 0000000..050f81a Binary files /dev/null and b/assets/4.186ab455.jpg differ diff --git a/assets/424f5942.76c8768d.png b/assets/424f5942.76c8768d.png new file mode 100644 index 0000000..7b000a5 Binary files /dev/null and b/assets/424f5942.76c8768d.png differ diff --git a/assets/42d815f4.76bd3e0c.png b/assets/42d815f4.76bd3e0c.png new file mode 100644 index 0000000..978fc07 Binary files /dev/null and b/assets/42d815f4.76bd3e0c.png differ diff --git a/assets/4988f0ab.5e3cbad0.png b/assets/4988f0ab.5e3cbad0.png new file mode 100644 index 0000000..a2cf4d3 Binary files /dev/null and b/assets/4988f0ab.5e3cbad0.png differ diff --git a/assets/4b36522d.7dbdefc6.png b/assets/4b36522d.7dbdefc6.png new file mode 100644 index 0000000..791e1ba Binary files /dev/null and b/assets/4b36522d.7dbdefc6.png differ diff --git a/assets/4fe2bd9d.7f593e90.png b/assets/4fe2bd9d.7f593e90.png new file mode 100644 index 0000000..6f1e9af Binary files /dev/null and b/assets/4fe2bd9d.7f593e90.png differ diff --git a/assets/513402b3.c7fbe0e6.png b/assets/513402b3.c7fbe0e6.png new file mode 100644 index 0000000..57f85c9 Binary files /dev/null and b/assets/513402b3.c7fbe0e6.png differ diff --git a/assets/52e14f2c.22fd7a78.png b/assets/52e14f2c.22fd7a78.png new file mode 100644 index 0000000..7c54821 Binary files /dev/null and b/assets/52e14f2c.22fd7a78.png differ diff --git a/assets/5b60fae0.dc61e5df.png b/assets/5b60fae0.dc61e5df.png new file mode 100644 index 0000000..7bb1178 Binary files /dev/null and b/assets/5b60fae0.dc61e5df.png differ diff --git a/assets/5c040059.293bf6a2.png b/assets/5c040059.293bf6a2.png new file mode 100644 index 0000000..fb4f685 Binary files /dev/null and b/assets/5c040059.293bf6a2.png differ diff --git a/assets/5cfb26c7.1166c501.png b/assets/5cfb26c7.1166c501.png new file mode 100644 index 0000000..50a2ff3 Binary files /dev/null and b/assets/5cfb26c7.1166c501.png differ diff --git a/assets/5d15cabb.89da50ca.png b/assets/5d15cabb.89da50ca.png new file mode 100644 index 0000000..69072c4 Binary files /dev/null and b/assets/5d15cabb.89da50ca.png differ diff --git a/assets/5d1b68a3.36b5daf3.png b/assets/5d1b68a3.36b5daf3.png new file mode 100644 index 0000000..2c9f11b Binary files /dev/null and b/assets/5d1b68a3.36b5daf3.png differ diff --git a/assets/5d606b7a.265055d7.png b/assets/5d606b7a.265055d7.png new file mode 100644 index 0000000..9274958 Binary files /dev/null and b/assets/5d606b7a.265055d7.png differ diff --git a/assets/630dc00d.5208db46.png b/assets/630dc00d.5208db46.png new file mode 100644 index 0000000..26e708c Binary files /dev/null and b/assets/630dc00d.5208db46.png differ diff --git a/assets/678a19f2.204171a6.png b/assets/678a19f2.204171a6.png new file mode 100644 index 0000000..1eee016 Binary files /dev/null and b/assets/678a19f2.204171a6.png differ diff --git a/assets/68b0e0f3.f9612ae3.png b/assets/68b0e0f3.f9612ae3.png new file mode 100644 index 0000000..1eb1326 Binary files /dev/null and b/assets/68b0e0f3.f9612ae3.png differ diff --git a/assets/6a13c605.aa4f5236.png b/assets/6a13c605.aa4f5236.png new file mode 100644 index 0000000..c5f0354 Binary files /dev/null and b/assets/6a13c605.aa4f5236.png differ diff --git a/assets/6d03aa3b.fff4f913.png b/assets/6d03aa3b.fff4f913.png new file mode 100644 index 0000000..ffac115 Binary files /dev/null and b/assets/6d03aa3b.fff4f913.png differ diff --git a/assets/6f3f3935.ee9261ba.png b/assets/6f3f3935.ee9261ba.png new file mode 100644 index 0000000..fa6d767 Binary files /dev/null and b/assets/6f3f3935.ee9261ba.png differ diff --git a/assets/7056dcb6.6be11e5a.png b/assets/7056dcb6.6be11e5a.png new file mode 100644 index 0000000..fba03a6 Binary files /dev/null and b/assets/7056dcb6.6be11e5a.png differ diff --git a/assets/70cbe19c.5f33d395.png b/assets/70cbe19c.5f33d395.png new file mode 100644 index 0000000..7e61595 Binary files /dev/null and b/assets/70cbe19c.5f33d395.png differ diff --git a/assets/73af8b51.59dee18e.png b/assets/73af8b51.59dee18e.png new file mode 100644 index 0000000..6086a6c Binary files /dev/null and b/assets/73af8b51.59dee18e.png differ diff --git a/assets/74534804.4cdd1656.png b/assets/74534804.4cdd1656.png new file mode 100644 index 0000000..980c3f8 Binary files /dev/null and b/assets/74534804.4cdd1656.png differ diff --git a/assets/76a4fea0.24375244.png b/assets/76a4fea0.24375244.png new file mode 100644 index 0000000..59fe637 Binary files /dev/null and b/assets/76a4fea0.24375244.png differ diff --git a/assets/7dad6467.2ddfcb05.png b/assets/7dad6467.2ddfcb05.png new file mode 100644 index 0000000..2d0f97e Binary files /dev/null and b/assets/7dad6467.2ddfcb05.png differ diff --git a/assets/7fdc514a.4157c66c.png b/assets/7fdc514a.4157c66c.png new file mode 100644 index 0000000..56a9fdf Binary files /dev/null and b/assets/7fdc514a.4157c66c.png differ diff --git a/assets/8119c502.27580f82.png b/assets/8119c502.27580f82.png new file mode 100644 index 0000000..96cc4a1 Binary files /dev/null and b/assets/8119c502.27580f82.png differ diff --git a/assets/8294bc57.c90de065.png b/assets/8294bc57.c90de065.png new file mode 100644 index 0000000..986142a Binary files /dev/null and b/assets/8294bc57.c90de065.png differ diff --git a/assets/85cbdab8.12cec2a9.png b/assets/85cbdab8.12cec2a9.png new file mode 100644 index 0000000..4982a2d Binary files /dev/null and b/assets/85cbdab8.12cec2a9.png differ diff --git a/assets/869f4ace.a262d780.png b/assets/869f4ace.a262d780.png new file mode 100644 index 0000000..19e2f10 Binary files /dev/null and b/assets/869f4ace.a262d780.png differ diff --git a/assets/8811c93c.37e0ddaa.png b/assets/8811c93c.37e0ddaa.png new file mode 100644 index 0000000..4a078b8 Binary files /dev/null and b/assets/8811c93c.37e0ddaa.png differ diff --git a/assets/898c4434.b77e1312.png b/assets/898c4434.b77e1312.png new file mode 100644 index 0000000..6aef861 Binary files /dev/null and b/assets/898c4434.b77e1312.png differ diff --git a/assets/8aeda06b.5fdd0d9f.png b/assets/8aeda06b.5fdd0d9f.png new file mode 100644 index 0000000..5281123 Binary files /dev/null and b/assets/8aeda06b.5fdd0d9f.png differ diff --git a/assets/8b95f397.47679a50.png b/assets/8b95f397.47679a50.png new file mode 100644 index 0000000..122417a Binary files /dev/null and b/assets/8b95f397.47679a50.png differ diff --git a/assets/8c339a19.d4af98ea.png b/assets/8c339a19.d4af98ea.png new file mode 100644 index 0000000..60094a8 Binary files /dev/null and b/assets/8c339a19.d4af98ea.png differ diff --git a/assets/8d09f605.c419a273.png b/assets/8d09f605.c419a273.png new file mode 100644 index 0000000..2d8ca12 Binary files /dev/null and b/assets/8d09f605.c419a273.png differ diff --git a/assets/91fd263b.2cf8b87f.png b/assets/91fd263b.2cf8b87f.png new file mode 100644 index 0000000..c0d14ec Binary files /dev/null and b/assets/91fd263b.2cf8b87f.png differ diff --git a/assets/9256046f.c7d23cae.png b/assets/9256046f.c7d23cae.png new file mode 100644 index 0000000..de6b44b Binary files /dev/null and b/assets/9256046f.c7d23cae.png differ diff --git a/assets/9d5b5b68.ea23a761.png b/assets/9d5b5b68.ea23a761.png new file mode 100644 index 0000000..0c271b9 Binary files /dev/null and b/assets/9d5b5b68.ea23a761.png differ diff --git a/assets/9fb36522.74c6f698.png b/assets/9fb36522.74c6f698.png new file mode 100644 index 0000000..9de42c9 Binary files /dev/null and b/assets/9fb36522.74c6f698.png differ diff --git a/assets/a2c32796.1a6809db.png b/assets/a2c32796.1a6809db.png new file mode 100644 index 0000000..24a950b Binary files /dev/null and b/assets/a2c32796.1a6809db.png differ diff --git a/assets/a7b42838.41b8ce2c.png b/assets/a7b42838.41b8ce2c.png new file mode 100644 index 0000000..28725f4 Binary files /dev/null and b/assets/a7b42838.41b8ce2c.png differ diff --git a/assets/ab0b86b7.9e09678f.png b/assets/ab0b86b7.9e09678f.png new file mode 100644 index 0000000..65d826d Binary files /dev/null and b/assets/ab0b86b7.9e09678f.png differ diff --git a/assets/aff7746d.76bfa8b1.png b/assets/aff7746d.76bfa8b1.png new file mode 100644 index 0000000..5f20823 Binary files /dev/null and b/assets/aff7746d.76bfa8b1.png differ diff --git a/assets/api_index.md.faa96ba9.js b/assets/api_index.md.faa96ba9.js new file mode 100644 index 0000000..d54388c --- /dev/null +++ b/assets/api_index.md.faa96ba9.js @@ -0,0 +1 @@ +import{_ as a,o as t,c as o,k as e,a as s}from"./chunks/framework.a3dd33a8.js";const x=JSON.parse('{"title":"TODO","description":"","frontmatter":{},"headers":[],"relativePath":"api/index.md","filePath":"api/index.md","lastUpdated":1705031091000}'),d={name:"api/index.md"},n=e("h1",{id:"todo",tabindex:"-1"},[s("TODO "),e("a",{class:"header-anchor",href:"#todo","aria-label":'Permalink to "TODO"'},"​")],-1),r=[n];function i(c,p,_,l,h,m){return t(),o("div",null,r)}const O=a(d,[["render",i]]);export{x as __pageData,O as default}; diff --git a/assets/api_index.md.faa96ba9.lean.js b/assets/api_index.md.faa96ba9.lean.js new file mode 100644 index 0000000..d54388c --- /dev/null +++ b/assets/api_index.md.faa96ba9.lean.js @@ -0,0 +1 @@ +import{_ as a,o as t,c as o,k as e,a as s}from"./chunks/framework.a3dd33a8.js";const x=JSON.parse('{"title":"TODO","description":"","frontmatter":{},"headers":[],"relativePath":"api/index.md","filePath":"api/index.md","lastUpdated":1705031091000}'),d={name:"api/index.md"},n=e("h1",{id:"todo",tabindex:"-1"},[s("TODO "),e("a",{class:"header-anchor",href:"#todo","aria-label":'Permalink to "TODO"'},"​")],-1),r=[n];function i(c,p,_,l,h,m){return t(),o("div",null,r)}const O=a(d,[["render",i]]);export{x as __pageData,O as default}; diff --git a/assets/app.0899e3d7.js b/assets/app.0899e3d7.js new file mode 100644 index 0000000..9c76422 --- /dev/null +++ b/assets/app.0899e3d7.js @@ -0,0 +1 @@ +import{q as ct,s as ft,l as a,y as re,j as ae,R as dt,v as H,h as E,a0 as ve,o as P,c as j,k as V,a1 as xe,a2 as Ie,a3 as vt,a4 as pt,a5 as ie,a6 as ce,O as He,g as R,H as We,d as W,r as pe,N as mt,a7 as gt,W as ht,b as Oe,w as D,a8 as Z,n as M,Z as K,J as F,a9 as ee,T as Ce,e as J,Q as ze,F as De,G as Fe,t as _t,aa as yt,B as bt,_ as wt,ab as fe,A as de,ac as It,ad as Ot,ae as Ct,af as $t,ag as Tt,ah as St,ai as Et,aj as Nt,ak as Pt,al as At,am as jt,u as kt,x as Lt,an as Rt,ao as Bt,ap as Mt}from"./chunks/framework.a3dd33a8.js";import{t as $e}from"./chunks/theme.c66e38de.js";var Te;const Ue=typeof window<"u";Ue&&((Te=window==null?void 0:window.navigator)!=null&&Te.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function Vt(e){return typeof e=="function"?e():a(e)}function xt(e){return e}function Ht(e){return ct()?(ft(e),!0):!1}function Wt(e,n=!0){re()?ae(e):n?e():dt(e)}function zt(e){var n;const t=Vt(e);return(n=t==null?void 0:t.$el)!=null?n:t}const Dt=Ue?window:void 0;function Ft(e,n=!1){const t=E(),r=()=>t.value=!!e();return r(),Wt(r,n),t}const Se=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Ee="__vueuse_ssr_handlers__";Se[Ee]=Se[Ee]||{};var Ne=Object.getOwnPropertySymbols,Ut=Object.prototype.hasOwnProperty,Qt=Object.prototype.propertyIsEnumerable,Gt=(e,n)=>{var t={};for(var r in e)Ut.call(e,r)&&n.indexOf(r)<0&&(t[r]=e[r]);if(e!=null&&Ne)for(var r of Ne(e))n.indexOf(r)<0&&Qt.call(e,r)&&(t[r]=e[r]);return t};function Kt(e,n,t={}){const r=t,{window:s=Dt}=r,i=Gt(r,["window"]);let o;const d=Ft(()=>s&&"ResizeObserver"in s),m=()=>{o&&(o.disconnect(),o=void 0)},y=H(()=>zt(e),b=>{m(),d.value&&s&&b&&(o=new ResizeObserver(n),o.observe(b,i))},{immediate:!0,flush:"post"}),_=()=>{m(),y()};return Ht(_),{isSupported:d,stop:_}}var Pe;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(Pe||(Pe={}));var qt=Object.defineProperty,Ae=Object.getOwnPropertySymbols,Jt=Object.prototype.hasOwnProperty,Xt=Object.prototype.propertyIsEnumerable,je=(e,n,t)=>n in e?qt(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,Yt=(e,n)=>{for(var t in n||(n={}))Jt.call(n,t)&&je(e,t,n[t]);if(Ae)for(var t of Ae(n))Xt.call(n,t)&&je(e,t,n[t]);return e};const Zt={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]};Yt({linear:xt},Zt);var en=typeof global=="object"&&global&&global.Object===Object&&global;const tn=en;var nn=typeof self=="object"&&self&&self.Object===Object&&self,rn=tn||nn||Function("return this")();const Qe=rn;var an=Qe.Symbol;const te=an;var Ge=Object.prototype,sn=Ge.hasOwnProperty,on=Ge.toString,q=te?te.toStringTag:void 0;function ln(e){var n=sn.call(e,q),t=e[q];try{e[q]=void 0;var r=!0}catch{}var s=on.call(e);return r&&(n?e[q]=t:delete e[q]),s}var un=Object.prototype,cn=un.toString;function fn(e){return cn.call(e)}var dn="[object Null]",vn="[object Undefined]",ke=te?te.toStringTag:void 0;function pn(e){return e==null?e===void 0?vn:dn:ke&&ke in Object(e)?ln(e):fn(e)}function mn(e){return e!=null&&typeof e=="object"}var gn="[object Symbol]";function hn(e){return typeof e=="symbol"||mn(e)&&pn(e)==gn}var _n=/\s/;function yn(e){for(var n=e.length;n--&&_n.test(e.charAt(n)););return n}var bn=/^\s+/;function wn(e){return e&&e.slice(0,yn(e)+1).replace(bn,"")}function ne(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}var Le=0/0,In=/^[-+]0x[0-9a-f]+$/i,On=/^0b[01]+$/i,Cn=/^0o[0-7]+$/i,$n=parseInt;function Re(e){if(typeof e=="number")return e;if(hn(e))return Le;if(ne(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=ne(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=wn(e);var t=On.test(e);return t||Cn.test(e)?$n(e.slice(2),t?2:8):In.test(e)?Le:+e}var Tn=function(){return Qe.Date.now()};const le=Tn;var Sn="Expected a function",En=Math.max,Nn=Math.min;function Pn(e,n,t){var r,s,i,o,d,m,y=0,_=!1,b=!1,S=!0;if(typeof e!="function")throw new TypeError(Sn);n=Re(n)||0,ne(t)&&(_=!!t.leading,b="maxWait"in t,i=b?En(Re(t.maxWait)||0,n):i,S="trailing"in t?!!t.trailing:S);function O(c){var u=r,$=s;return r=s=void 0,y=c,o=e.apply($,u),o}function C(c){return y=c,d=setTimeout(g,n),_?O(c):o}function l(c){var u=c-m,$=c-y,k=n-u;return b?Nn(k,i-$):k}function v(c){var u=c-m,$=c-y;return m===void 0||u>=n||u<0||b&&$>=i}function g(){var c=le();if(v(c))return A(c);d=setTimeout(g,l(c))}function A(c){return d=void 0,S&&r?O(c):(r=s=void 0,o)}function L(){d!==void 0&&clearTimeout(d),y=0,r=m=s=d=void 0}function h(){return d===void 0?o:A(le())}function p(){var c=le(),u=v(c);if(r=arguments,s=this,m=c,u){if(d===void 0)return C(m);if(b)return clearTimeout(d),d=setTimeout(g,n),O(m)}return d===void 0&&(d=setTimeout(g,n)),o}return p.cancel=L,p.flush=h,p}function An(e){for(var n=-1,t=e==null?0:e.length,r={};++ne===void 0,qe=e=>typeof e=="number",kn=e=>ve(e)?!Number.isNaN(Number(e)):!1;function Ln(e,n="px"){if(!e)return"";if(qe(e)||kn(e))return`${e}${n}`;if(ve(e))return e}/*! Element Plus Icons Vue v2.1.0 */var Je=(e,n)=>{let t=e.__vccOpts||e;for(let[r,s]of n)t[r]=s;return t},Rn={name:"ArrowLeft"},Bn={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},Mn=V("path",{fill:"currentColor",d:"M609.408 149.376 277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.592 30.592 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.592 30.592 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0z"},null,-1),Vn=[Mn];function xn(e,n,t,r,s,i){return P(),j("svg",Bn,Vn)}var Hn=Je(Rn,[["render",xn],["__file","arrow-left.vue"]]),Wn={name:"ArrowRight"},zn={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},Dn=V("path",{fill:"currentColor",d:"M340.864 149.312a30.592 30.592 0 0 0 0 42.752L652.736 512 340.864 831.872a30.592 30.592 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"},null,-1),Fn=[Dn];function Un(e,n,t,r,s,i){return P(),j("svg",zn,Fn)}var Qn=Je(Wn,[["render",Un],["__file","arrow-right.vue"]]);const Xe="__epPropKey",Gn=e=>e,Kn=e=>xe(e)&&!!e[Xe],qn=(e,n)=>{if(!xe(e)||Kn(e))return e;const{values:t,required:r,default:s,type:i,validator:o}=e,m={type:i,required:!!r,validator:t||o?y=>{let _=!1,b=[];if(t&&(b=Array.from(t),Ie(e,"default")&&b.push(s),_||(_=b.includes(y))),o&&(_||(_=o(y))),!_&&b.length>0){const S=[...new Set(b)].map(O=>JSON.stringify(O)).join(", ");vt(`Invalid prop: validation failed${n?` for prop "${n}"`:""}. Expected one of [${S}], got value ${JSON.stringify(y)}.`)}return _}:void 0,[Xe]:!0};return Ie(e,"default")&&(m.default=s),m},me=e=>An(Object.entries(e).map(([n,t])=>[n,qn(t,n)])),Ye=(e,n)=>{if(e.install=t=>{for(const r of[e,...Object.values(n??{})])t.component(r.name,r)},n)for(const[t,r]of Object.entries(n))e[t]=r;return e},Jn=e=>(e.install=pt,e),Y=e=>{const n=ie(e)?e:[e],t=[];return n.forEach(r=>{var s;ie(r)?t.push(...Y(r)):ce(r)&&ie(r.children)?t.push(...Y(r.children)):(t.push(r),ce(r)&&((s=r.component)!=null&&s.subTree)&&t.push(...Y(r.component.subTree)))}),t},ue="el",Xn="is-",x=(e,n,t,r,s)=>{let i=`${e}-${n}`;return t&&(i+=`-${t}`),r&&(i+=`__${r}`),s&&(i+=`--${s}`),i},Yn=Symbol("namespaceContextKey"),Zn=e=>{const n=e||(re()?He(Yn,E(ue)):E(ue));return R(()=>a(n)||ue)},ge=(e,n)=>{const t=Zn(n);return{namespace:t,b:(l="")=>x(t.value,e,l,"",""),e:l=>l?x(t.value,e,"",l,""):"",m:l=>l?x(t.value,e,"","",l):"",be:(l,v)=>l&&v?x(t.value,e,l,v,""):"",em:(l,v)=>l&&v?x(t.value,e,"",l,v):"",bm:(l,v)=>l&&v?x(t.value,e,l,"",v):"",bem:(l,v,g)=>l&&v&&g?x(t.value,e,l,v,g):"",is:(l,...v)=>{const g=v.length>=1?v[0]:!0;return l&&g?`${Xn}${l}`:""},cssVar:l=>{const v={};for(const g in l)l[g]&&(v[`--${t.value}-${g}`]=l[g]);return v},cssVarName:l=>`--${t.value}-${l}`,cssVarBlock:l=>{const v={};for(const g in l)l[g]&&(v[`--${t.value}-${e}-${g}`]=l[g]);return v},cssVarBlockName:l=>`--${t.value}-${e}-${l}`}},er=(e,n,t)=>Y(e.subTree).filter(i=>{var o;return ce(i)&&((o=i.type)==null?void 0:o.name)===n&&!!i.component}).map(i=>i.component.uid).map(i=>t[i]).filter(i=>!!i),tr=(e,n)=>{const t={},r=We([]);return{children:r,addChild:o=>{t[o.uid]=o,r.value=er(e,n,t)},removeChild:o=>{delete t[o],r.value=r.value.filter(d=>d.uid!==o)}}};var he=(e,n)=>{const t=e.__vccOpts||e;for(const[r,s]of n)t[r]=s;return t};const nr=me({size:{type:Gn([Number,String])},color:{type:String}}),rr=W({name:"ElIcon",inheritAttrs:!1}),ar=W({...rr,props:nr,setup(e){const n=e,t=ge("icon"),r=R(()=>{const{size:s,color:i}=n;return!s&&!i?{}:{fontSize:Ke(s)?void 0:Ln(s),"--color":i}});return(s,i)=>(P(),j("i",mt({class:a(t).b(),style:a(r)},s.$attrs),[pe(s.$slots,"default")],16))}});var sr=he(ar,[["__file","/home/runner/work/element-plus/element-plus/packages/components/icon/src/icon.vue"]]);const Me=Ye(sr),or=me({initialIndex:{type:Number,default:0},height:{type:String,default:""},trigger:{type:String,values:["hover","click"],default:"hover"},autoplay:{type:Boolean,default:!0},interval:{type:Number,default:3e3},indicatorPosition:{type:String,values:["","none","outside"],default:""},arrow:{type:String,values:["always","hover","never"],default:"hover"},type:{type:String,values:["","card"],default:""},loop:{type:Boolean,default:!0},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},pauseOnHover:{type:Boolean,default:!0}}),ir={change:(e,n)=>[e,n].every(qe)},Ze=Symbol("carouselContextKey"),Ve=300,lr=(e,n,t)=>{const{children:r,addChild:s,removeChild:i}=tr(re(),"ElCarouselItem"),o=E(-1),d=E(null),m=E(!1),y=E(),_=E(0),b=R(()=>e.arrow!=="never"&&!a(C)),S=R(()=>r.value.some(f=>f.props.label.toString().length>0)),O=R(()=>e.type==="card"),C=R(()=>e.direction==="vertical"),l=R(()=>e.height!=="auto"?{height:e.height}:{height:`${_.value}px`,overflow:"hidden"}),v=Be(f=>{p(f)},Ve,{trailing:!0}),g=Be(f=>{z(f)},Ve);function A(){d.value&&(clearInterval(d.value),d.value=null)}function L(){e.interval<=0||!e.autoplay||d.value||(d.value=setInterval(()=>h(),e.interval))}const h=()=>{o.valueX.props.name===f);Q.length>0&&(f=r.value.indexOf(Q[0]))}if(f=Number(f),Number.isNaN(f)||f!==Math.floor(f))return;const T=r.value.length,B=o.value;f<0?o.value=e.loop?T-1:0:f>=T?o.value=e.loop?0:T-1:o.value=f,B===o.value&&c(B),_e()}function c(f){r.value.forEach((T,B)=>{T.translateItem(B,o.value,f)})}function u(f,T){var B,Q,X,ye;const G=a(r),be=G.length;if(be===0||!f.states.inStage)return!1;const at=T+1,st=T-1,we=be-1,ot=G[we].states.active,it=G[0].states.active,lt=(Q=(B=G[at])==null?void 0:B.states)==null?void 0:Q.active,ut=(ye=(X=G[st])==null?void 0:X.states)==null?void 0:ye.active;return T===we&&it||lt?"left":T===0&&ot||ut?"right":!1}function $(){m.value=!0,e.pauseOnHover&&A()}function k(){m.value=!1,L()}function w(f){a(C)||r.value.forEach((T,B)=>{f===u(T,B)&&(T.states.hover=!0)})}function I(){a(C)||r.value.forEach(f=>{f.states.hover=!1})}function N(f){o.value=f}function z(f){e.trigger==="hover"&&f!==o.value&&(o.value=f)}function se(){p(o.value-1)}function nt(){p(o.value+1)}function _e(){A(),L()}function rt(f){e.height==="auto"&&(_.value=f)}H(()=>o.value,(f,T)=>{c(T),T>-1&&n("change",f,T)}),H(()=>e.autoplay,f=>{f?L():A()}),H(()=>e.loop,()=>{p(o.value)}),H(()=>e.interval,()=>{_e()}),H(()=>r.value,()=>{r.value.length>0&&p(e.initialIndex)});const oe=We();return ae(()=>{oe.value=Kt(y.value,()=>{c()}),L()}),gt(()=>{A(),y.value&&oe.value&&oe.value.stop()}),ht(Ze,{root:y,isCardType:O,isVertical:C,items:r,loop:e.loop,addItem:s,removeItem:i,setActiveItem:p,setContainerHeight:rt}),{root:y,activeIndex:o,arrowDisplay:b,hasLabel:S,hover:m,isCardType:O,items:r,isVertical:C,containerStyle:l,handleButtonEnter:w,handleButtonLeave:I,handleIndicatorClick:N,handleMouseEnter:$,handleMouseLeave:k,setActiveItem:p,prev:se,next:nt,throttledArrowClick:v,throttledIndicatorHover:g}},ur=["onMouseenter","onClick"],cr={key:0},fr="ElCarousel",dr=W({name:fr}),vr=W({...dr,props:or,emits:ir,setup(e,{expose:n,emit:t}){const r=e,{root:s,activeIndex:i,arrowDisplay:o,hasLabel:d,hover:m,isCardType:y,items:_,isVertical:b,containerStyle:S,handleButtonEnter:O,handleButtonLeave:C,handleIndicatorClick:l,handleMouseEnter:v,handleMouseLeave:g,setActiveItem:A,prev:L,next:h,throttledArrowClick:p,throttledIndicatorHover:c}=lr(r,t),u=ge("carousel"),$=R(()=>{const w=[u.b(),u.m(r.direction)];return a(y)&&w.push(u.m("card")),w}),k=R(()=>{const w=[u.e("indicators"),u.em("indicators",r.direction)];return a(d)&&w.push(u.em("indicators","labels")),r.indicatorPosition==="outside"&&w.push(u.em("indicators","outside")),a(b)&&w.push(u.em("indicators","right")),w});return n({setActiveItem:A,prev:L,next:h}),(w,I)=>(P(),j("div",{ref_key:"root",ref:s,class:M(a($)),onMouseenter:I[6]||(I[6]=K((...N)=>a(v)&&a(v)(...N),["stop"])),onMouseleave:I[7]||(I[7]=K((...N)=>a(g)&&a(g)(...N),["stop"]))},[V("div",{class:M(a(u).e("container")),style:ze(a(S))},[a(o)?(P(),Oe(Ce,{key:0,name:"carousel-arrow-left",persisted:""},{default:D(()=>[Z(V("button",{type:"button",class:M([a(u).e("arrow"),a(u).em("arrow","left")]),onMouseenter:I[0]||(I[0]=N=>a(O)("left")),onMouseleave:I[1]||(I[1]=(...N)=>a(C)&&a(C)(...N)),onClick:I[2]||(I[2]=K(N=>a(p)(a(i)-1),["stop"]))},[F(a(Me),null,{default:D(()=>[F(a(Hn))]),_:1})],34),[[ee,(w.arrow==="always"||a(m))&&(r.loop||a(i)>0)]])]),_:1})):J("v-if",!0),a(o)?(P(),Oe(Ce,{key:1,name:"carousel-arrow-right",persisted:""},{default:D(()=>[Z(V("button",{type:"button",class:M([a(u).e("arrow"),a(u).em("arrow","right")]),onMouseenter:I[3]||(I[3]=N=>a(O)("right")),onMouseleave:I[4]||(I[4]=(...N)=>a(C)&&a(C)(...N)),onClick:I[5]||(I[5]=K(N=>a(p)(a(i)+1),["stop"]))},[F(a(Me),null,{default:D(()=>[F(a(Qn))]),_:1})],34),[[ee,(w.arrow==="always"||a(m))&&(r.loop||a(i)(P(),j("li",{key:z,class:M([a(u).e("indicator"),a(u).em("indicator",w.direction),a(u).is("active",z===a(i))]),onMouseenter:se=>a(c)(z),onClick:K(se=>a(l)(z),["stop"])},[V("button",{class:M(a(u).e("button"))},[a(d)?(P(),j("span",cr,_t(N.props.label),1)):J("v-if",!0)],2)],42,ur))),128))],2)):J("v-if",!0)],34))}});var pr=he(vr,[["__file","/home/runner/work/element-plus/element-plus/packages/components/carousel/src/carousel.vue"]]);const mr=me({name:{type:String,default:""},label:{type:[String,Number],default:""}}),gr=(e,n)=>{const t=He(Ze),r=re(),s=.83,i=E(),o=E(!1),d=E(0),m=E(1),y=E(!1),_=E(!1),b=E(!1),S=E(!1),{isCardType:O,isVertical:C}=t;function l(h,p,c){const u=c-1,$=p-1,k=p+1,w=c/2;return p===0&&h===u?-1:p===u&&h===0?c:h<$&&p-h>=w?c+1:h>k&&h-p>=w?-2:h}function v(h,p){var c,u;const $=a(C)?((c=t.root.value)==null?void 0:c.offsetHeight)||0:((u=t.root.value)==null?void 0:u.offsetWidth)||0;return b.value?$*((2-s)*(h-p)+1)/4:h{var u;const $=a(O),k=(u=t.items.value.length)!=null?u:Number.NaN,w=h===p;!$&&!Ke(c)&&(S.value=w||h===c),!w&&k>2&&t.loop&&(h=l(h,p,k));const I=a(C);y.value=w,$?(b.value=Math.round(Math.abs(h-p))<=1,d.value=v(h,p),m.value=a(y)?1:s):d.value=g(h,p,I),_.value=!0,w&&i.value&&t.setContainerHeight(i.value.offsetHeight)};function L(){if(t&&a(O)){const h=t.items.value.findIndex(({uid:p})=>p===r.uid);t.setActiveItem(h)}}return ae(()=>{t.addItem({props:e,states:yt({hover:o,translate:d,scale:m,active:y,ready:_,inStage:b,animating:S}),uid:r.uid,translateItem:A})}),bt(()=>{t.removeItem(r.uid)}),{carouselItemRef:i,active:y,animating:S,hover:o,inStage:b,isVertical:C,translate:d,isCardType:O,scale:m,ready:_,handleItemClick:L}},hr=W({name:"ElCarouselItem"}),_r=W({...hr,props:mr,setup(e){const n=e,t=ge("carousel"),{carouselItemRef:r,active:s,animating:i,hover:o,inStage:d,isVertical:m,translate:y,isCardType:_,scale:b,ready:S,handleItemClick:O}=gr(n),C=R(()=>{const v=`${`translate${a(m)?"Y":"X"}`}(${a(y)}px)`,g=`scale(${a(b)})`;return{transform:[v,g].join(" ")}});return(l,v)=>Z((P(),j("div",{ref_key:"carouselItemRef",ref:r,class:M([a(t).e("item"),a(t).is("active",a(s)),a(t).is("in-stage",a(d)),a(t).is("hover",a(o)),a(t).is("animating",a(i)),{[a(t).em("item","card")]:a(_),[a(t).em("item","card-vertical")]:a(_)&&a(m)}]),style:ze(a(C)),onClick:v[0]||(v[0]=(...g)=>a(O)&&a(O)(...g))},[a(_)?Z((P(),j("div",{key:0,class:M(a(t).e("mask"))},null,2)),[[ee,!a(s)]]):J("v-if",!0),pe(l.$slots,"default")],6)),[[ee,a(S)]])}});var et=he(_r,[["__file","/home/runner/work/element-plus/element-plus/packages/components/carousel/src/carousel-item.vue"]]);const yr=Ye(pr,{CarouselItem:et}),br=Jn(et),wr="/doc/assets/1.db0ef1c6.jpg",Ir="/doc/assets/2.fe39af32.jpg",Or="/doc/assets/3.1f8b36ed.jpg",Cr="/doc/assets/4.186ab455.jpg";const $r={class:"preview-wrapper"},Tr={class:"preview-img-wrapper"},Sr=["src"],Er={__name:"AppPreview",setup(e){const n=[wr,Ir,Or,Cr];return(t,r)=>(P(),j("div",$r,[F(a(yr),{height:"330px",interval:6e3},{default:D(()=>[(P(),j(De,null,Fe(n,s=>F(a(br),null,{default:D(()=>[V("picture",Tr,[V("img",{src:s},null,8,Sr)])]),_:2},1024)),64))]),_:1})]))}},Nr=wt(Er,[["__scopeId","data-v-4d65d606"]]),Pr={...$e,Layout:()=>fe($e.Layout,null,{"home-hero-after":()=>fe(Nr)}),enhanceApp({router:e}){if(typeof window<"u"){let n;const t=()=>{const r=document.querySelector(".vp-doc");r!=null?n?n.update():n=new Viewer(r,{toolbar:!1,navbar:!1}):n&&(n.destroy(),n=void 0)};H(()=>e.route,()=>{setTimeout(()=>{t()},1e3)},{immediate:!0,deep:!0})}}};function tt(e){if(e.extends){const n=tt(e.extends);return{...n,...e,async enhanceApp(t){n.enhanceApp&&await n.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const U=tt(Pr),Ar=W({name:"VitePressApp",setup(){const{site:e}=kt();return ae(()=>{Lt(()=>{document.documentElement.lang=e.value.lang,document.documentElement.dir=e.value.dir})}),Rt(),Bt(),Mt(),U.setup&&U.setup(),()=>fe(U.Layout)}});async function jr(){const e=Lr(),n=kr();n.provide(Ot,e);const t=Ct(e.route);return n.provide($t,t),n.component("Content",Tt),n.component("ClientOnly",St),Object.defineProperties(n.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),U.enhanceApp&&await U.enhanceApp({app:n,router:e,siteData:Et}),{app:n,router:e,data:t}}function kr(){return Nt(Ar)}function Lr(){let e=de,n;return Pt(t=>{let r=At(t);return r?(e&&(n=r),(e||n===r)&&(r=r.replace(/\.js$/,".lean.js")),de&&(e=!1),jt(()=>import(r),[])):null},U.NotFound)}de&&jr().then(({app:e,router:n,data:t})=>{n.go().then(()=>{It(n.route,t.site),e.mount("#app")})});export{jr as createApp}; diff --git a/assets/b0a50304.46a140ad.png b/assets/b0a50304.46a140ad.png new file mode 100644 index 0000000..2f00872 Binary files /dev/null and b/assets/b0a50304.46a140ad.png differ diff --git a/assets/b2fa4ad4.57f97127.png b/assets/b2fa4ad4.57f97127.png new file mode 100644 index 0000000..5ac4ffb Binary files /dev/null and b/assets/b2fa4ad4.57f97127.png differ diff --git a/assets/base_change-log.md.2daafce1.js b/assets/base_change-log.md.2daafce1.js new file mode 100644 index 0000000..e8a6732 --- /dev/null +++ b/assets/base_change-log.md.2daafce1.js @@ -0,0 +1 @@ +import{_ as e,o as a,c as t}from"./chunks/framework.a3dd33a8.js";const i=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"base/change-log.md","filePath":"base/change-log.md","lastUpdated":1705031091000}'),o={name:"base/change-log.md"};function s(c,n,r,d,p,l){return a(),t("div")}const g=e(o,[["render",s]]);export{i as __pageData,g as default}; diff --git a/assets/base_change-log.md.2daafce1.lean.js b/assets/base_change-log.md.2daafce1.lean.js new file mode 100644 index 0000000..e8a6732 --- /dev/null +++ b/assets/base_change-log.md.2daafce1.lean.js @@ -0,0 +1 @@ +import{_ as e,o as a,c as t}from"./chunks/framework.a3dd33a8.js";const i=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"base/change-log.md","filePath":"base/change-log.md","lastUpdated":1705031091000}'),o={name:"base/change-log.md"};function s(c,n,r,d,p,l){return a(),t("div")}const g=e(o,[["render",s]]);export{i as __pageData,g as default}; diff --git a/assets/base_install.md.ad3328cb.js b/assets/base_install.md.ad3328cb.js new file mode 100644 index 0000000..049ba7a --- /dev/null +++ b/assets/base_install.md.ad3328cb.js @@ -0,0 +1 @@ +import{_ as a,o as t,c as s,k as e,a as o}from"./chunks/framework.a3dd33a8.js";const O=JSON.parse('{"title":"TODO","description":"","frontmatter":{},"headers":[],"relativePath":"base/install.md","filePath":"base/install.md","lastUpdated":1705031091000}'),n={name:"base/install.md"},r=e("h1",{id:"todo",tabindex:"-1"},[o("TODO "),e("a",{class:"header-anchor",href:"#todo","aria-label":'Permalink to "TODO"'},"​")],-1),l=[r];function c(d,i,_,p,h,m){return t(),s("div",null,l)}const b=a(n,[["render",c]]);export{O as __pageData,b as default}; diff --git a/assets/base_install.md.ad3328cb.lean.js b/assets/base_install.md.ad3328cb.lean.js new file mode 100644 index 0000000..049ba7a --- /dev/null +++ b/assets/base_install.md.ad3328cb.lean.js @@ -0,0 +1 @@ +import{_ as a,o as t,c as s,k as e,a as o}from"./chunks/framework.a3dd33a8.js";const O=JSON.parse('{"title":"TODO","description":"","frontmatter":{},"headers":[],"relativePath":"base/install.md","filePath":"base/install.md","lastUpdated":1705031091000}'),n={name:"base/install.md"},r=e("h1",{id:"todo",tabindex:"-1"},[o("TODO "),e("a",{class:"header-anchor",href:"#todo","aria-label":'Permalink to "TODO"'},"​")],-1),l=[r];function c(d,i,_,p,h,m){return t(),s("div",null,l)}const b=a(n,[["render",c]]);export{O as __pageData,b as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243.md.b84602a7.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243.md.b84602a7.js" new file mode 100644 index 0000000..347da99 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243.md.b84602a7.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as _}from"./chunks/framework.a3dd33a8.js";const m=JSON.parse('{"title":"DDD可视化开发平台文档","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档.md","filePath":"base/product/DDD可视化开发平台文档.md","lastUpdated":1705031091000}'),D={name:"base/product/DDD可视化开发平台文档.md"},r=_('

DDD可视化开发平台文档

产品概述

快速入门

操作指南

最佳实践

',5),o=[r];function d(s,c,p,n,h,l){return e(),t("div",null,o)}const f=a(D,[["render",d]]);export{m as __pageData,f as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243.md.b84602a7.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243.md.b84602a7.lean.js" new file mode 100644 index 0000000..4ae0b69 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243.md.b84602a7.lean.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as _}from"./chunks/framework.a3dd33a8.js";const m=JSON.parse('{"title":"DDD可视化开发平台文档","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档.md","filePath":"base/product/DDD可视化开发平台文档.md","lastUpdated":1705031091000}'),D={name:"base/product/DDD可视化开发平台文档.md"},r=_("",5),o=[r];function d(s,c,p,n,h,l){return e(),t("div",null,o)}const f=a(D,[["render",d]]);export{m as __pageData,f as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260.md.2bbd14f6.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260.md.2bbd14f6.js" new file mode 100644 index 0000000..7f11809 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260.md.2bbd14f6.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as r}from"./chunks/framework.a3dd33a8.js";const m=JSON.parse('{"title":"产品概述","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/产品概述.md","filePath":"base/product/DDD可视化开发平台文档/产品概述.md","lastUpdated":1705031091000}'),_={name:"base/product/DDD可视化开发平台文档/产品概述.md"},o=r('

产品概述

产品简介

平台基础概念

最新动态

欢迎使用Visual-DDD

',5),s=[o];function c(p,d,n,l,h,i){return e(),t("div",null,s)}const f=a(_,[["render",c]]);export{m as __pageData,f as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260.md.2bbd14f6.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260.md.2bbd14f6.lean.js" new file mode 100644 index 0000000..6149301 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260.md.2bbd14f6.lean.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as r}from"./chunks/framework.a3dd33a8.js";const m=JSON.parse('{"title":"产品概述","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/产品概述.md","filePath":"base/product/DDD可视化开发平台文档/产品概述.md","lastUpdated":1705031091000}'),_={name:"base/product/DDD可视化开发平台文档/产品概述.md"},o=r("",5),s=[o];function c(p,d,n,l,h,i){return e(),t("div",null,s)}const f=a(_,[["render",c]]);export{m as __pageData,f as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\344\272\247\345\223\201\345\205\254\345\221\212_\345\212\237\350\203\275\345\217\221\345\270\203\350\256\260\345\275\225.md.9cdc92c4.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\344\272\247\345\223\201\345\205\254\345\221\212_\345\212\237\350\203\275\345\217\221\345\270\203\350\256\260\345\275\225.md.9cdc92c4.js" new file mode 100644 index 0000000..408fa80 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\344\272\247\345\223\201\345\205\254\345\221\212_\345\212\237\350\203\275\345\217\221\345\270\203\350\256\260\345\275\225.md.9cdc92c4.js" @@ -0,0 +1 @@ +import{_ as a,o as t,c as s,k as e,a as o}from"./chunks/framework.a3dd33a8.js";const f=JSON.parse('{"title":"功能发布记录","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/产品概述/产品公告/功能发布记录.md","filePath":"base/product/DDD可视化开发平台文档/产品概述/产品公告/功能发布记录.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/产品概述/产品公告/功能发布记录.md"},c=e("h1",{id:"功能发布记录",tabindex:"-1"},[o("功能发布记录 "),e("a",{class:"header-anchor",href:"#功能发布记录","aria-label":'Permalink to "功能发布记录"'},"​")],-1),d=[c];function n(_,i,p,l,h,m){return t(),s("div",null,d)}const u=a(r,[["render",n]]);export{f as __pageData,u as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\344\272\247\345\223\201\345\205\254\345\221\212_\345\212\237\350\203\275\345\217\221\345\270\203\350\256\260\345\275\225.md.9cdc92c4.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\344\272\247\345\223\201\345\205\254\345\221\212_\345\212\237\350\203\275\345\217\221\345\270\203\350\256\260\345\275\225.md.9cdc92c4.lean.js" new file mode 100644 index 0000000..408fa80 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\344\272\247\345\223\201\345\205\254\345\221\212_\345\212\237\350\203\275\345\217\221\345\270\203\350\256\260\345\275\225.md.9cdc92c4.lean.js" @@ -0,0 +1 @@ +import{_ as a,o as t,c as s,k as e,a as o}from"./chunks/framework.a3dd33a8.js";const f=JSON.parse('{"title":"功能发布记录","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/产品概述/产品公告/功能发布记录.md","filePath":"base/product/DDD可视化开发平台文档/产品概述/产品公告/功能发布记录.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/产品概述/产品公告/功能发布记录.md"},c=e("h1",{id:"功能发布记录",tabindex:"-1"},[o("功能发布记录 "),e("a",{class:"header-anchor",href:"#功能发布记录","aria-label":'Permalink to "功能发布记录"'},"​")],-1),d=[c];function n(_,i,p,l,h,m){return t(),s("div",null,d)}const u=a(r,[["render",n]]);export{f as __pageData,u as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\344\272\247\345\223\201\347\256\200\344\273\213.md.f716f26c.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\344\272\247\345\223\201\347\256\200\344\273\213.md.f716f26c.js" new file mode 100644 index 0000000..944aae5 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\344\272\247\345\223\201\347\256\200\344\273\213.md.f716f26c.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as o}from"./chunks/framework.a3dd33a8.js";const s="/doc/assets/3f3ecdc0.16488fb9.png",r="/doc/assets/36204e77.26e9e559.png",c="/doc/assets/b2fa4ad4.57f97127.png",i="/doc/assets/d1646f40.0b81eade.png",q=JSON.parse('{"title":"产品简介","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/产品概述/产品简介.md","filePath":"base/product/DDD可视化开发平台文档/产品概述/产品简介.md","lastUpdated":1705031091000}'),_={name:"base/product/DDD可视化开发平台文档/产品概述/产品简介.md"},d=o('

产品简介

1、系统介绍

DDD可视化开发平台是一款基于领域驱动设计思想的可视化开发工具,支持多种领域模型设计方式, 提供丰富的可视化工具和组件,支持自动生成代码,支持多种编程语言、数据库和开发框架, 可以帮助开发者快速构建高质量的软件系统。

应用场景如下:

2、产品蓝图

3、名词概念

组织: 组织可以对应租户、企业的概念,在组织下面可以挂靠多个团队。

团队:每个团队是单一职责的,通常负责独立子领域的开发工作。

业务域:可以理解为 DDD 中 ‘子域’ 的概念。也可以是业务模块,表示特定范围内的业务问题。在我们的开发平台中,一个业务域就是一个领域建模结果。

业务场景:主要表现形式就是一个业务流程图,用于表示特定业务场景下,各个角色的交互行为。

应用:应用可以理解为微服务、限界上下文之类的概念,这是程序运行、脚手架生成、代码同步的基本单位。由多个业务域聚合而成。

方法论提炼

价值衡量指标

',16),n=[d];function p(l,h,m,u,f,b){return e(),t("div",null,n)}const P=a(_,[["render",p]]);export{q as __pageData,P as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\344\272\247\345\223\201\347\256\200\344\273\213.md.f716f26c.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\344\272\247\345\223\201\347\256\200\344\273\213.md.f716f26c.lean.js" new file mode 100644 index 0000000..131856e --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\344\272\247\345\223\201\347\256\200\344\273\213.md.f716f26c.lean.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as o}from"./chunks/framework.a3dd33a8.js";const s="/doc/assets/3f3ecdc0.16488fb9.png",r="/doc/assets/36204e77.26e9e559.png",c="/doc/assets/b2fa4ad4.57f97127.png",i="/doc/assets/d1646f40.0b81eade.png",q=JSON.parse('{"title":"产品简介","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/产品概述/产品简介.md","filePath":"base/product/DDD可视化开发平台文档/产品概述/产品简介.md","lastUpdated":1705031091000}'),_={name:"base/product/DDD可视化开发平台文档/产品概述/产品简介.md"},d=o("",16),n=[d];function p(l,h,m,u,f,b){return e(),t("div",null,n)}const P=a(_,[["render",p]]);export{q as __pageData,P as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\345\271\263\345\217\260\345\237\272\347\241\200\346\246\202\345\277\265.md.a440e176.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\345\271\263\345\217\260\345\237\272\347\241\200\346\246\202\345\277\265.md.a440e176.js" new file mode 100644 index 0000000..fe64e47 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\345\271\263\345\217\260\345\237\272\347\241\200\346\246\202\345\277\265.md.a440e176.js" @@ -0,0 +1 @@ +import{_ as t,o as d,c as r,S as e}from"./chunks/framework.a3dd33a8.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/产品概述/平台基础概念.md","filePath":"base/product/DDD可视化开发平台文档/产品概述/平台基础概念.md","lastUpdated":1705031091000}'),o={name:"base/product/DDD可视化开发平台文档/产品概述/平台基础概念.md"},_=e("

本文介绍当您在使用DDD可视化开发平台时遇到的常用名词的基本概念。

名词定义示例
统一语言在领域驱动设计中,统一语言指的是团队成员之间使用的共同语言,它用于描述和交流领域的概念和规则。通过使用统一语言,团队成员可以避免产生误解和混淆。团队中统一使用的词汇,如“订单”、“支付”、“客户”等。
业务流程业务流程是指在特定的业务场景下,按照规定的步骤和顺序对业务活动进行处理或操作的过程。用户下单的流程、商品配送的流程等。
服务模型服务模型是一种抽象的概念,它表示在某个领域中提供的具体功能和服务。用户认证服务、订单管理服务等。
业务域业务域是指在一个特定领域中,具有相似业务功能和规则的相关对象的集合。电商系统中的订单域、用户域、商品域等。
领域模型领域模型是一种用于描述领域对象、行为和关系的抽象模型。它通过领域专家的知识和需要来定义,用于解决特定领域中的复杂问题。订单模型、用户模型、商品模型等。
数据模型数据模型是根据特定的业务需求和规则,将实际业务数据抽象成逻辑结构的方式。用户数据模型、订单数据模型等。
查询模型查询模型是一种用于封装查询请求和查询结果的对象模型。用户查询模型、订单查询模型等。
对象映射关系对象映射关系是用于将不同模型对象之间的转换和映射关系的技术,包含领域对象与数据对象、数据对象与查询对象的映射。将数据库中存储的订单数据映射为领域模型对象。
应用应用是指实现业务逻辑和业务流程的运行模块。订单管理应用、用户管理应用等。
",2),a=[_];function s(n,c,p,h,D,i){return d(),r("div",null,a)}const f=t(o,[["render",s]]);export{m as __pageData,f as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\345\271\263\345\217\260\345\237\272\347\241\200\346\246\202\345\277\265.md.a440e176.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\345\271\263\345\217\260\345\237\272\347\241\200\346\246\202\345\277\265.md.a440e176.lean.js" new file mode 100644 index 0000000..320de9f --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\345\271\263\345\217\260\345\237\272\347\241\200\346\246\202\345\277\265.md.a440e176.lean.js" @@ -0,0 +1 @@ +import{_ as t,o as d,c as r,S as e}from"./chunks/framework.a3dd33a8.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/产品概述/平台基础概念.md","filePath":"base/product/DDD可视化开发平台文档/产品概述/平台基础概念.md","lastUpdated":1705031091000}'),o={name:"base/product/DDD可视化开发平台文档/产品概述/平台基础概念.md"},_=e("",2),a=[_];function s(n,c,p,h,D,i){return d(),r("div",null,a)}const f=t(o,[["render",s]]);export{m as __pageData,f as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\346\234\200\346\226\260\345\212\250\346\200\201.md.0919f3f2.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\346\234\200\346\226\260\345\212\250\346\200\201.md.0919f3f2.js" new file mode 100644 index 0000000..8d67cce --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\346\234\200\346\226\260\345\212\250\346\200\201.md.0919f3f2.js" @@ -0,0 +1 @@ +import{_ as t,o as a,c as s,k as e,a as o}from"./chunks/framework.a3dd33a8.js";const u=JSON.parse('{"title":"产品公告","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/产品概述/最新动态.md","filePath":"base/product/DDD可视化开发平台文档/产品概述/最新动态.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/产品概述/最新动态.md"},c=e("h1",{id:"产品公告",tabindex:"-1"},[o("产品公告 "),e("a",{class:"header-anchor",href:"#产品公告","aria-label":'Permalink to "产品公告"'},"​")],-1),d=e("p",null,[e("a",{href:"./产品公告/功能发布记录.html"},"功能发布记录")],-1),n=[c,d];function _(i,l,p,h,m,f){return a(),s("div",null,n)}const b=t(r,[["render",_]]);export{u as __pageData,b as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\346\234\200\346\226\260\345\212\250\346\200\201.md.0919f3f2.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\346\234\200\346\226\260\345\212\250\346\200\201.md.0919f3f2.lean.js" new file mode 100644 index 0000000..8d67cce --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\346\234\200\346\226\260\345\212\250\346\200\201.md.0919f3f2.lean.js" @@ -0,0 +1 @@ +import{_ as t,o as a,c as s,k as e,a as o}from"./chunks/framework.a3dd33a8.js";const u=JSON.parse('{"title":"产品公告","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/产品概述/最新动态.md","filePath":"base/product/DDD可视化开发平台文档/产品概述/最新动态.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/产品概述/最新动态.md"},c=e("h1",{id:"产品公告",tabindex:"-1"},[o("产品公告 "),e("a",{class:"header-anchor",href:"#产品公告","aria-label":'Permalink to "产品公告"'},"​")],-1),d=e("p",null,[e("a",{href:"./产品公告/功能发布记录.html"},"功能发布记录")],-1),n=[c,d];function _(i,l,p,h,m,f){return a(),s("div",null,n)}const b=t(r,[["render",_]]);export{u as __pageData,b as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\346\254\242\350\277\216\344\275\277\347\224\250Visal-DDD.md.f2cab215.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\346\254\242\350\277\216\344\275\277\347\224\250Visal-DDD.md.f2cab215.js" new file mode 100644 index 0000000..a6e837a --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\346\254\242\350\277\216\344\275\277\347\224\250Visal-DDD.md.f2cab215.js" @@ -0,0 +1 @@ +import{_ as s,o as t,c as l,S as D}from"./chunks/framework.a3dd33a8.js";const d=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/产品概述/欢迎使用Visal-DDD.md","filePath":"base/product/DDD可视化开发平台文档/产品概述/欢迎使用Visal-DDD.md","lastUpdated":1705031091000}'),o={name:"base/product/DDD可视化开发平台文档/产品概述/欢迎使用Visal-DDD.md"},i=D("

欢迎探索 Visual DDD:AI助力下的领域驱动设计革命

“我们塑造了工具,然后工具再塑造我们。” ——马歇尔·麦克卢汉

在飞速发展的软件时代,你是否感到压力,渴望快速而又质量上乘的开发?Visual DDD,结合了GPT-4等前沿AI技术,为你揭示了一个全新的软件设计宇宙。

想象一下:

  • 🚀无需编码即可创造领域模型:仅通过直观的拖放,又或是与你的AI助手交谈,就可以在几分钟内构建你的领域模型。
  • 🤖AI不只是一个工具:它是你的伙伴,能够理解你的需求,为你的设计提供实时建议,并帮助你持续优化。
  • 🌟始终保持团队同步:无论是设计还是实现,AI驱动的自动同步将确保每个人都在同一页上,大大提高团队的协同效率。
  • 💡高效的不仅仅是速度:设计即编码,利用AI的深度分析,Visual DDD将为你的软件质量和稳定性注入强大的动力。
  • 🎓领域驱动设计从未如此简单:即使你是初学者,Visual DDD都能让你如鱼得水,轻松驾驭。

这一刻,让我们一起跨入未来:拥抱AI,释放你的创造力,用Visual DDD为你的软件设计注入无限可能!

迈出第一步:

  • 🌐探索由 Visual DDD 打造的引人入胜的领域模型示例。
  • 💡在线亲身体验设计的魅力。
  • 📥一键安装,邀请团队一同开启这场设计之旅。

Visual DDD不仅仅是一个工具,它是你走向卓越设计的助推器。每一次反馈,都是我们前进的动力。请随时在我们的 GitHub 上与我们分享你的灵感与建议。

Q&A:

  • Q: Visual DDD 适用于哪些领域?

    A: 无论是零售,地产、金融、医疗还是娱乐,只要你有软件的需求,Visual DDD都能助你一臂之力。

  • Q: 如何简单地与团队分享我的设计成果?

    A: 利用Visual DDD的在线云同步功能,让团队合作变得前所未有的简单高效。

  • Q: 如何最大化利用AI优化我的设计?

    A: 只需向AI描述你的需求,然后看着它为你揭示最佳设计方案。

  • Q: Visual DDD支持哪些语言?

    A: 目前我们全面支持java,而更多的语言版本也即将到来!

",11),p=[i];function r(a,n,e,_,u,g){return t(),l("div",null,p)}const V=s(o,[["render",r]]);export{d as __pageData,V as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\346\254\242\350\277\216\344\275\277\347\224\250Visal-DDD.md.f2cab215.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\346\254\242\350\277\216\344\275\277\347\224\250Visal-DDD.md.f2cab215.lean.js" new file mode 100644 index 0000000..97e08d2 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\346\254\242\350\277\216\344\275\277\347\224\250Visal-DDD.md.f2cab215.lean.js" @@ -0,0 +1 @@ +import{_ as s,o as t,c as l,S as D}from"./chunks/framework.a3dd33a8.js";const d=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/产品概述/欢迎使用Visal-DDD.md","filePath":"base/product/DDD可视化开发平台文档/产品概述/欢迎使用Visal-DDD.md","lastUpdated":1705031091000}'),o={name:"base/product/DDD可视化开发平台文档/产品概述/欢迎使用Visal-DDD.md"},i=D("",11),p=[i];function r(a,n,e,_,u,g){return t(),l("div",null,p)}const V=s(o,[["render",r]]);export{d as __pageData,V as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\346\254\242\350\277\216\344\275\277\347\224\250Visual-DDD.md.cdf58917.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\346\254\242\350\277\216\344\275\277\347\224\250Visual-DDD.md.cdf58917.js" new file mode 100644 index 0000000..404920d --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\346\254\242\350\277\216\344\275\277\347\224\250Visual-DDD.md.cdf58917.js" @@ -0,0 +1 @@ +import{_ as l,o as a,c as o,a as s,S as r,k as t}from"./chunks/framework.a3dd33a8.js";const i="/doc/assets/pluginIcon.9681df56.svg",e="/doc/assets/1703833467613.6410c7cb.png",T=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/产品概述/欢迎使用Visual-DDD.md","filePath":"base/product/DDD可视化开发平台文档/产品概述/欢迎使用Visual-DDD.md","lastUpdated":1705031091000}'),n={name:"base/product/DDD可视化开发平台文档/产品概述/欢迎使用Visual-DDD.md"},D=r('


plugin-icon

Visual DDD

欢迎探索 Visual DDD:AI助力下的领域驱动设计革命

',3),p=t("blockquote",null,[t("p",null,"“我们塑造了工具,然后工具再塑造我们。”    ——马歇尔·麦克卢汉")],-1),_=t("br",null,null,-1),c=r('

想象一下:

  • 🚀 无需编码即可创造领域模型:仅通过直观的拖放,又或是与你的AI助手交谈,就可以在几分钟内构建你的领域模型。
  • 🤖 AI不只是一个工具:它是你的伙伴,能够理解你的需求,为你的设计提供实时建议,并帮助你持续优化。
  • 🌟 始终保持团队同步:无论是设计还是实现,AI驱动的自动同步将确保每个人都在同一页上,大大提高团队的协同效率。
  • 💡 高效的不仅仅是速度:利用AI的深度分析,Visual DDD将为你的软件质量和稳定性注入强大的动力。
  • 🎓 领域驱动设计从未如此简单:即使你是初学者,Visual DDD都能让你如鱼得水,轻松驾驭。

这一刻,让我们一起跨入未来:拥抱AI,释放你的创造力,用Visual DDD为你的软件设计注入无限可能!

迈出第一步:

  • 🌐 探索由 Visual DDD 打造的引人入胜的领域模型示例。
  • 💡 在线亲身体验设计的魅力开始体验
  • 📥 一键安装,邀请团队一同开启这场设计之旅。

Visual DDD不仅仅是一个工具,它是你走向卓越设计的助推器。每一次反馈,都是我们前进的动力。请随时在我们的 GitHub 上与我们分享你的灵感与建议。




Q&A:

  • Q: Visual DDD 适用于哪些领域?

    A: 无论是零售,地产、金融、医疗还是娱乐,只要你有软件的需求,Visual DDD都能助你一臂之力。

  • Q: 如何简单地与团队分享我的设计成果?

    A: 利用Visual DDD的在线云同步功能,让团队合作变得前所未有的简单高效。

  • Q: 如何最大化利用AI优化我的设计?

    A: 只需向AI描述你的需求,然后看着它为你揭示最佳设计方案。

  • Q: Visual DDD支持哪些语言?

    A: 目前我们全面支持java,而更多的语言版本也即将到来!



欢迎加入我们1703833467613

',14);function u(g,d,V,A,m,b){return a(),o("div",null,[D,s(" **** "),p,_,s("   在飞速发展的软件时代,你是否感到压力,渴望快速而又质量上乘的开发?Visual DDD,结合了GPT-4等前沿AI技术,为你揭示了一个全新的软件设计宇宙。 "),c])}const I=l(n,[["render",u]]);export{T as __pageData,I as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\346\254\242\350\277\216\344\275\277\347\224\250Visual-DDD.md.cdf58917.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\346\254\242\350\277\216\344\275\277\347\224\250Visual-DDD.md.cdf58917.lean.js" new file mode 100644 index 0000000..9a0e8bf --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\344\272\247\345\223\201\346\246\202\350\277\260_\346\254\242\350\277\216\344\275\277\347\224\250Visual-DDD.md.cdf58917.lean.js" @@ -0,0 +1 @@ +import{_ as l,o as a,c as o,a as s,S as r,k as t}from"./chunks/framework.a3dd33a8.js";const i="/doc/assets/pluginIcon.9681df56.svg",e="/doc/assets/1703833467613.6410c7cb.png",T=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/产品概述/欢迎使用Visual-DDD.md","filePath":"base/product/DDD可视化开发平台文档/产品概述/欢迎使用Visual-DDD.md","lastUpdated":1705031091000}'),n={name:"base/product/DDD可视化开发平台文档/产品概述/欢迎使用Visual-DDD.md"},D=r("",3),p=t("blockquote",null,[t("p",null,"“我们塑造了工具,然后工具再塑造我们。”    ——马歇尔·麦克卢汉")],-1),_=t("br",null,null,-1),c=r("",14);function u(g,d,V,A,m,b){return a(),o("div",null,[D,s(" **** "),p,_,s("   在飞速发展的软件时代,你是否感到压力,渴望快速而又质量上乘的开发?Visual DDD,结合了GPT-4等前沿AI技术,为你揭示了一个全新的软件设计宇宙。 "),c])}const I=l(n,[["render",u]]);export{T as __pageData,I as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250.md.3137ecb2.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250.md.3137ecb2.js" new file mode 100644 index 0000000..33b361a --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250.md.3137ecb2.js" @@ -0,0 +1 @@ +import{_ as t,o as a,c as s,k as e,a as o}from"./chunks/framework.a3dd33a8.js";const u=JSON.parse('{"title":"快速入门","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/快速入门.md","filePath":"base/product/DDD可视化开发平台文档/快速入门.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/快速入门.md"},c=e("h1",{id:"快速入门",tabindex:"-1"},[o("快速入门 "),e("a",{class:"header-anchor",href:"#快速入门","aria-label":'Permalink to "快速入门"'},"​")],-1),d=e("p",null,[e("a",{href:"./快速入门/部署文档.html"},"部署文档")],-1),n=[c,d];function _(i,l,p,h,m,f){return a(),s("div",null,n)}const b=t(r,[["render",_]]);export{u as __pageData,b as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250.md.3137ecb2.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250.md.3137ecb2.lean.js" new file mode 100644 index 0000000..33b361a --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250.md.3137ecb2.lean.js" @@ -0,0 +1 @@ +import{_ as t,o as a,c as s,k as e,a as o}from"./chunks/framework.a3dd33a8.js";const u=JSON.parse('{"title":"快速入门","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/快速入门.md","filePath":"base/product/DDD可视化开发平台文档/快速入门.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/快速入门.md"},c=e("h1",{id:"快速入门",tabindex:"-1"},[o("快速入门 "),e("a",{class:"header-anchor",href:"#快速入门","aria-label":'Permalink to "快速入门"'},"​")],-1),d=e("p",null,[e("a",{href:"./快速入门/部署文档.html"},"部署文档")],-1),n=[c,d];function _(i,l,p,h,m,f){return a(),s("div",null,n)}const b=t(r,[["render",_]]);export{u as __pageData,b as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\345\277\253\351\200\237\345\205\245\351\227\250\346\246\202\350\277\260.md.67e16f27.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\345\277\253\351\200\237\345\205\245\351\227\250\346\246\202\350\277\260.md.67e16f27.js" new file mode 100644 index 0000000..49b52b5 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\345\277\253\351\200\237\345\205\245\351\227\250\346\246\202\350\277\260.md.67e16f27.js" @@ -0,0 +1 @@ +import{_ as a,o as l,c as t,S as e}from"./chunks/framework.a3dd33a8.js";const i="/doc/assets/1701503016545.a8a0ada9.png",f=JSON.parse('{"title":"快速入门概述","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/快速入门/快速入门概述.md","filePath":"base/product/DDD可视化开发平台文档/快速入门/快速入门概述.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/快速入门/快速入门概述.md"},_=e('

快速入门概述

本文指引企业不同角色的人员使用 DDD可视化开发平台。

为快速了解如何使用 DDD可视化开发平台 进行云原生应用建设,您可以通过示例项目和参考帮助文档进行实验,了解业务场景分析,架构设计、DDD编码,AI辅助拜尼马主要过程。关于示例项目的内容,请参见 示例项目简介示例项目的使用限制说明等。

1701503016545

',5),s=[_];function o(h,p,c,d,n,m){return l(),t("div",null,s)}const u=a(r,[["render",o]]);export{f as __pageData,u as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\345\277\253\351\200\237\345\205\245\351\227\250\346\246\202\350\277\260.md.67e16f27.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\345\277\253\351\200\237\345\205\245\351\227\250\346\246\202\350\277\260.md.67e16f27.lean.js" new file mode 100644 index 0000000..8323b41 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\345\277\253\351\200\237\345\205\245\351\227\250\346\246\202\350\277\260.md.67e16f27.lean.js" @@ -0,0 +1 @@ +import{_ as a,o as l,c as t,S as e}from"./chunks/framework.a3dd33a8.js";const i="/doc/assets/1701503016545.a8a0ada9.png",f=JSON.parse('{"title":"快速入门概述","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/快速入门/快速入门概述.md","filePath":"base/product/DDD可视化开发平台文档/快速入门/快速入门概述.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/快速入门/快速入门概述.md"},_=e("",5),s=[_];function o(h,p,c,d,n,m){return l(),t("div",null,s)}const u=a(r,[["render",o]]);export{f as __pageData,u as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\344\270\200\357\274\232\344\270\232\345\212\241\345\234\272\346\231\257\345\210\206\346\236\220.md.fabceb25.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\344\270\200\357\274\232\344\270\232\345\212\241\345\234\272\346\231\257\345\210\206\346\236\220.md.fabceb25.js" new file mode 100644 index 0000000..4ace02a --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\344\270\200\357\274\232\344\270\232\345\212\241\345\234\272\346\231\257\345\210\206\346\236\220.md.fabceb25.js" @@ -0,0 +1 @@ +import{_ as a,o as t,c as e,S as l}from"./chunks/framework.a3dd33a8.js";const r="/doc/assets/ef218e23ea2a8dc756af885ae06e61b2-1702032414862.6757ff53.jpg",o="/doc/assets/1702033105033.05a036a9.png",i="/doc/assets/1702032756764.5c4017df.png",s="/doc/assets/1702032992385.181a7a3e.png",n="/doc/assets/1702033017237.cb487e9d.png",P=JSON.parse('{"title":"业务场景分析","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤一:业务场景分析.md","filePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤一:业务场景分析.md","lastUpdated":1705031091000}'),p={name:"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤一:业务场景分析.md"},c=l('

业务场景分析

本文介绍通过理解和定义业务问题。目标是识别关键的业务需求和约束,以及确定软件解决方案应如何帮助业务达成其目标,为达成这个目标,需要的操作流程,以及各角色之间的协同关系

操作步骤

  • 与业务专家合作,理解业务目标和挑战。

  • 确定关键业务流程和操作。

  • 收集和分析业务规则、术语和数据。

与业务专家合作,理解业务目标和挑战

产品愿景:是对产品顶层价值设计,对产品目标用户、核心价值、差异化竞争点等信息达成一致,避免产品偏离方向

基于以上的规则,请假系统的产品愿景为:

img

​ 为了满足内外部人员,他们的在线请假、自动考勤统计和外部人员管理的需求,我们建设这个在线请假考勤系统,它是一个在线请假平台,可以自动考勤统计。它可以同时支持内外网请假,同时管理内外部人员请假和定期考勤分析,而不像 HR 系统,只管理内部人员,且只能内网使用。我们的产品内外网皆可使用,可实现内外部人员无差异管理

确定关键业务流程和操作

第一个场景:请假

用户:请假人

请假人登录系统:从权限微服务获取请假人信息和权限数据,完成登录认证。

创建请假单:打开请假页面,选择请假类型和起始时间,录入请假信息。保存并创建请假单,提交请假审批。

修改请假单:查询请假单,打开请假页面,修改请假单,提交请假审批。

提交审批:获取审批规则,根据审批规则,从人员组织关系中获取审批人,给请假单分配审批人。

第二个场景:审批

用户:审批人

审批人登录系统:从权限微服务获取审批人信息和权限数据,完成登录认证。

获取请假单:获取审批人名下请假单,选择请假单。

审批:填写审批意见。

逐级审批:如果还需要上级审批,根据审批规则,从人员组织关系中获取审批人,给请假单分配审批人。重复以上 4 步。

最后审批人完成审批。

在DDD 可视化平台中的操作步骤为:

1. 创建业务场景

1702033105033

  • 填写业务场景的关键信息
  • 名称: 场景名称
  • 标识符: 业务场景的唯一标识符,可作用代码中
  • 描述: 描述场景的核心目标,流程,以及规则

1702032756764

2 业务场景的设计

  • 起始
    • 场景的开始节点
  • 结束
    • 场景都结束节点
  • 活动
    • 关键活动节点的抽象
  • 决策
    • 决策点,可以分为很多个分支
  • 注释
    • 对某一个节点的注释

请假的业务场景:

1702032992385

审批的业务场景:

1702033017237

收集和分析业务规则、术语和数据

收集请假类型(比如病假、年假、事假等)、审批规则和企业政策。 构建统一语言

',36),h=[c];function d(_,u,g,m,b,f){return t(),e("div",null,h)}const x=a(p,[["render",d]]);export{P as __pageData,x as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\344\270\200\357\274\232\344\270\232\345\212\241\345\234\272\346\231\257\345\210\206\346\236\220.md.fabceb25.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\344\270\200\357\274\232\344\270\232\345\212\241\345\234\272\346\231\257\345\210\206\346\236\220.md.fabceb25.lean.js" new file mode 100644 index 0000000..c64ea5a --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\344\270\200\357\274\232\344\270\232\345\212\241\345\234\272\346\231\257\345\210\206\346\236\220.md.fabceb25.lean.js" @@ -0,0 +1 @@ +import{_ as a,o as t,c as e,S as l}from"./chunks/framework.a3dd33a8.js";const r="/doc/assets/ef218e23ea2a8dc756af885ae06e61b2-1702032414862.6757ff53.jpg",o="/doc/assets/1702033105033.05a036a9.png",i="/doc/assets/1702032756764.5c4017df.png",s="/doc/assets/1702032992385.181a7a3e.png",n="/doc/assets/1702033017237.cb487e9d.png",P=JSON.parse('{"title":"业务场景分析","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤一:业务场景分析.md","filePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤一:业务场景分析.md","lastUpdated":1705031091000}'),p={name:"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤一:业务场景分析.md"},c=l("",36),h=[c];function d(_,u,g,m,b,f){return t(),e("div",null,h)}const x=a(p,[["render",d]]);export{P as __pageData,x as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\344\270\211\357\274\232\351\242\206\345\237\237\345\273\272\346\250\241.md.d9f65097.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\344\270\211\357\274\232\351\242\206\345\237\237\345\273\272\346\250\241.md.d9f65097.js" new file mode 100644 index 0000000..6325368 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\344\270\211\357\274\232\351\242\206\345\237\237\345\273\272\346\250\241.md.d9f65097.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as o}from"./chunks/framework.a3dd33a8.js";const l="/doc/assets/1702199265314.7239bdc6.png",i="/doc/assets/1702199299683.bf0f85c3.png",r="/doc/assets/1702199320462.006dba36.png",s="/doc/assets/1702199955797.527c8749.png",c="/doc/assets/1702199968098.6e53b29f.png",n="/doc/assets/1702199989242.8bcaf9d6.png",h="/doc/assets/1702200100855.7cd6ea51.png",p="/doc/assets/1702199778632.c5673622.png",d="/doc/assets/1702199811877.59362419.png",u="/doc/assets/1702199819784.35193afc.png",T=JSON.parse('{"title":"领域建模","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤三:领域建模.md","filePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤三:领域建模.md","lastUpdated":1705031091000}'),_={name:"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤三:领域建模.md"},b=o('

领域建模

本文描述系统架构师创建反映业务领域的概念模型,与领域专家合作以确保模型准确反映业务实体和关系,如何构建领域模型,对具体的业务场景进行架构设计

操作步骤

  • 需求资料分析与记录
  • 产品愿景
  • 统一语言
  • 领域模型
  • 查询模型
  • 数据模型
  • 对象结构映射

需求资料分析与记录

描述:收集、整理、记录用户需求和系统功能需求的文档,它对于软件开发过程起着指导、衡量和验证作用,以及软件设计的思路,解决方案等信息

详情请参见:需求资料

具体信息的记录,按实际情况而定, 如请假系统中,记录了请假的用户故事的用例分析

1702199265314

产品愿景

描述:产品愿景是对于产品发展方向和目标的总体概述,它阐述了产品应该是什么、为什么存在、为谁服务、带来什么价值。

1702199299683

统一语言

描述:为了协调团队成员(包括开发人员、客户、领域专家等)对于业务领域的理解而共同制定的该领域内的术语和表达方式;

1702199320462

领域模型

描述:为了协调团队成员(包括开发人员、测试、领域专家等)对于业务领域的理解而共同制定的该领域内的模型; 它描述了当前业务领域提供哪些业务原子能力;

详细步骤如:

  • 分析场景过程的全生命周期流程, 列出关键节点,作为命令的方式显示(抽象能力接口)
  • 对每一个关键节点进行分析,分析规则以及约束点
  • 基于以上的规则和约束, 推断出 需要输入的参数,作为命令的参数
  • 推断需要实现以上的规则和约束,需要什么样的数据结构和服务
  • 设计承载以上数据结构的聚合根
  • 拆分实体和值对象,枚举

分析场景过程的全生命周期流程, 列出关键节点,作为命令的方式显示(抽象能力接口)

1702199955797

对每一个关键节点进行分析,分析规则以及约束点

1702199968098

基于以上的规则和约束, 推断出 需要输入的参数,作为命令的参数

1702199989242

推断需要实现以上的规则和约束,需要什么样的数据结构和服务

设计承载以上数据结构的聚合根

拆分实体和值对象,枚举

1702200100855

查询模型

描述:描述当前业务领域下包含的查询原子能力,对应一个查询器;

查询器,可应用于,对外接口的展示,UI 的显示等

1702199778632

数据模型

描述:数据模型即数据存储模型,是数据的最终存储结构;提高系统的数据质量、性能和可维护性;

1702199811877

对象结构映射

描述:描述当前业务领域下实体对象之间的字段映射关系;对应代码中的Convert转换器;

1702199819784

',39),m=[b];function q(k,f,g,P,x,D){return e(),t("div",null,m)}const $=a(_,[["render",q]]);export{T as __pageData,$ as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\344\270\211\357\274\232\351\242\206\345\237\237\345\273\272\346\250\241.md.d9f65097.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\344\270\211\357\274\232\351\242\206\345\237\237\345\273\272\346\250\241.md.d9f65097.lean.js" new file mode 100644 index 0000000..08f6262 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\344\270\211\357\274\232\351\242\206\345\237\237\345\273\272\346\250\241.md.d9f65097.lean.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as o}from"./chunks/framework.a3dd33a8.js";const l="/doc/assets/1702199265314.7239bdc6.png",i="/doc/assets/1702199299683.bf0f85c3.png",r="/doc/assets/1702199320462.006dba36.png",s="/doc/assets/1702199955797.527c8749.png",c="/doc/assets/1702199968098.6e53b29f.png",n="/doc/assets/1702199989242.8bcaf9d6.png",h="/doc/assets/1702200100855.7cd6ea51.png",p="/doc/assets/1702199778632.c5673622.png",d="/doc/assets/1702199811877.59362419.png",u="/doc/assets/1702199819784.35193afc.png",T=JSON.parse('{"title":"领域建模","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤三:领域建模.md","filePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤三:领域建模.md","lastUpdated":1705031091000}'),_={name:"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤三:领域建模.md"},b=o("",39),m=[b];function q(k,f,g,P,x,D){return e(),t("div",null,m)}const $=a(_,[["render",q]]);export{T as __pageData,$ as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\344\272\214\357\274\232\345\234\272\346\231\257\350\277\207\347\250\213\345\210\206\346\236\220.md.ec7db98d.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\344\272\214\357\274\232\345\234\272\346\231\257\350\277\207\347\250\213\345\210\206\346\236\220.md.ec7db98d.js" new file mode 100644 index 0000000..6352fe8 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\344\272\214\357\274\232\345\234\272\346\231\257\350\277\207\347\250\213\345\210\206\346\236\220.md.ec7db98d.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as l}from"./chunks/framework.a3dd33a8.js";const i="/doc/assets/1702195881969.e4bfead5.png",r="/doc/assets/1702196639416.da3452ff.png",o="/doc/assets/1702196821541.95595caf.png",s="/doc/assets/1702196859880.6c46dd83.png",P=JSON.parse('{"title":"场景过程分析","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤二:场景过程分析.md","filePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤二:场景过程分析.md","lastUpdated":1705031091000}'),c={name:"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤二:场景过程分析.md"},d=l('

场景过程分析

本文介绍,作为产品和架构师深入入分析特定的业务场景和流程,以便更好地了解业务操作的具体细节。通过这种方式,可以识别出关键业务流程,以便于拆分关键的业务模块 。

操作步骤

  • 描述业务流程的详细步骤。
  • 识别和分析业务流程中的决策点。
  • 映射流程中的数据流和信息交换。
  • 评估流程中的异常情况和潜在风险。

描述业务流程的详细步骤

  • 描述员工提交请假申请到审批结束的整个流程。

1702195881969

识别和分析业务流程中的决策点

分析审批流程中的决策点,如直接主管审批、高级审批、自动审批等。

  • 需要根据审批规则进行构建,以此推断出需要构建一个审批规则的流程

    1702196639416

映射流程中的数据流和信息交换

映射数据流,如申请信息从员工到经理,再到人事部门

评估流程中的异常情况和潜在风险

考虑异常情况,比如申请撤回、审批拒绝、审批超时等

根据请假的过程分析, 来进行业务模块的拆分, 以此得出两个模块

  • 请假模块

  • 审批规则模块

创建业务域

  • 选择业务域进行创建

1702196821541

  • 填充业务域的信息

1702196859880

',21),n=[d];function h(p,_,u,m,b,f){return e(),t("div",null,n)}const x=a(c,[["render",h]]);export{P as __pageData,x as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\344\272\214\357\274\232\345\234\272\346\231\257\350\277\207\347\250\213\345\210\206\346\236\220.md.ec7db98d.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\344\272\214\357\274\232\345\234\272\346\231\257\350\277\207\347\250\213\345\210\206\346\236\220.md.ec7db98d.lean.js" new file mode 100644 index 0000000..4491df0 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\344\272\214\357\274\232\345\234\272\346\231\257\350\277\207\347\250\213\345\210\206\346\236\220.md.ec7db98d.lean.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as l}from"./chunks/framework.a3dd33a8.js";const i="/doc/assets/1702195881969.e4bfead5.png",r="/doc/assets/1702196639416.da3452ff.png",o="/doc/assets/1702196821541.95595caf.png",s="/doc/assets/1702196859880.6c46dd83.png",P=JSON.parse('{"title":"场景过程分析","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤二:场景过程分析.md","filePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤二:场景过程分析.md","lastUpdated":1705031091000}'),c={name:"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤二:场景过程分析.md"},d=l("",21),n=[d];function h(p,_,u,m,b,f){return e(),t("div",null,n)}const x=a(c,[["render",h]]);export{P as __pageData,x as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\344\272\224\357\274\232\346\250\241\345\236\213\345\215\263\344\273\243\347\240\201.md.5878d30e.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\344\272\224\357\274\232\346\250\241\345\236\213\345\215\263\344\273\243\347\240\201.md.5878d30e.js" new file mode 100644 index 0000000..1e91a1a --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\344\272\224\357\274\232\346\250\241\345\236\213\345\215\263\344\273\243\347\240\201.md.5878d30e.js" @@ -0,0 +1 @@ +import{_ as t,o as a,c as o,S as e}from"./chunks/framework.a3dd33a8.js";const l="/doc/assets/1702262211025.d69b25af.png",s="/doc/assets/1702202102986.e338ffd4.png",r="/doc/assets/1702202136736.2857bc82.png",i="/doc/assets/1702202185998.f9c228a7.png",p="/doc/assets/1702202251348.f7e91949.png",c="/doc/assets/1702202353571.9a93f607.png",n="/doc/assets/1702202372380.6d3647e7.png",d="/doc/assets/1702202511502.c0b06b0b.png",u="/doc/assets/1702202540222.003a739a.png",A=JSON.parse('{"title":"模型即代码","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤五:模型即代码.md","filePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤五:模型即代码.md","lastUpdated":1705031091000}'),_={name:"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤五:模型即代码.md"},g=e('

模型即代码

本文描述如何通过模型转换成为代码,直接生成即可运行,可以直接与前端进行联调,只要直接部署到开发环境即可。

操作步骤

  • 使用idea插件生成代码
  • 代码的结构
  • swagger 测试

使用idea插件生成代码

代码的架构

  • cola 架构

    1702262211025

  • adapter

    • 按业务域进行分包

    • 按业务场景进行分包

    • controller的api接口

适配层(Adapter Layer):负责对前端展示(web,wireless,wap)的路由和适配,对于传统B/S系统而言,adapter就相当于MVC中的controller;

按业务域进行分包

  • 请假
  • 审批规则

1702202102986

按业务场景进行分包

  • 请假场景
  • 审批场景

1702202136736

controller的api接口

controller标准化代码生成

1702202185998

  • app

    • 业务场景的应用服务
    • 业务域的应用服务

    应用层(Application Layer):主要负责获取输入,组装上下文,参数校验,调用领域层做业务处理,如果需要的话,发送消息通知等。层次是开放的,应用层也可以绕过领域层,直接访问基础实施层

    业务场景的应用服务

    1702202251348

    业务域的应用服务

    1702202353571

  • client

    Client模块(Client Module):包含的代码应该是常见的服务接口Facade和DTO数据传输对象,如API、DTO、领域事件、Command和Query对象等等

1702202372380

  • domain

    领域层(Domain Layer):主要是封装了核心业务逻辑,并通过领域服务(Domain Service)和领域对象(Domain Entity)的方法对App层提供业务实体和业务逻辑计算。领域是应用的核心,不依赖任何其他层次;

1702202511502

  • infrastructure

    基础实施层(Infrastructure Layer):主要负责技术细节问题的处理,比如数据库的CRUD、搜索引擎、文件系统、分布式服务的RPC等。此外,领域防腐的重任也落在这里,外部依赖需要通过gateway的转义处理,才能被上面的App层和Domain层使用。

1702202540222

swagger 测试

运行即显示swagger 地址进行测试。可直接链接数据库

',26),m=[g];function h(b,f,q,D,k,P){return a(),o("div",null,m)}const x=t(_,[["render",h]]);export{A as __pageData,x as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\344\272\224\357\274\232\346\250\241\345\236\213\345\215\263\344\273\243\347\240\201.md.5878d30e.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\344\272\224\357\274\232\346\250\241\345\236\213\345\215\263\344\273\243\347\240\201.md.5878d30e.lean.js" new file mode 100644 index 0000000..fc0ffbc --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\344\272\224\357\274\232\346\250\241\345\236\213\345\215\263\344\273\243\347\240\201.md.5878d30e.lean.js" @@ -0,0 +1 @@ +import{_ as t,o as a,c as o,S as e}from"./chunks/framework.a3dd33a8.js";const l="/doc/assets/1702262211025.d69b25af.png",s="/doc/assets/1702202102986.e338ffd4.png",r="/doc/assets/1702202136736.2857bc82.png",i="/doc/assets/1702202185998.f9c228a7.png",p="/doc/assets/1702202251348.f7e91949.png",c="/doc/assets/1702202353571.9a93f607.png",n="/doc/assets/1702202372380.6d3647e7.png",d="/doc/assets/1702202511502.c0b06b0b.png",u="/doc/assets/1702202540222.003a739a.png",A=JSON.parse('{"title":"模型即代码","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤五:模型即代码.md","filePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤五:模型即代码.md","lastUpdated":1705031091000}'),_={name:"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤五:模型即代码.md"},g=e("",26),m=[g];function h(b,f,q,D,k,P){return a(),o("div",null,m)}const x=t(_,[["render",h]]);export{A as __pageData,x as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\345\205\255\357\274\232AI\350\276\205\345\212\251\347\274\226\347\240\201.md.4d0d7f45.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\345\205\255\357\274\232AI\350\276\205\345\212\251\347\274\226\347\240\201.md.4d0d7f45.js" new file mode 100644 index 0000000..8c0bdd9 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\345\205\255\357\274\232AI\350\276\205\345\212\251\347\274\226\347\240\201.md.4d0d7f45.js" @@ -0,0 +1 @@ +import{_ as a,o as t,c as o,S as e}from"./chunks/framework.a3dd33a8.js";const s="/doc/assets/1702203283390.4c046c71.png",i="/doc/assets/1702203369383.7eaab9b0.png",l="/doc/assets/1702203558984.bbabcd05.png",c="/doc/assets/1702203421595.95f22c78.png",r="/doc/assets/1702203465353.e0bcd17b.png",p="/doc/assets/1702203692092.772c75aa.png",n="/doc/assets/1702203675764.041ae05a.png",_="/doc/assets/1702203775583.996a9ff0.png",d="/doc/assets/1702203808499.13cb0e47.png",P=JSON.parse('{"title":"AI辅助编码","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤六:AI辅助编码.md","filePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤六:AI辅助编码.md","lastUpdated":1705031091000}'),h={name:"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤六:AI辅助编码.md"},u=e('

AI辅助编码

本文介绍,在使用 模型即代码 生成结构性代码之后,在基于此通过AI辅助编码, 让开发人员具有更高的效率和质量

操作步骤

  • 下载chatbot 插件
  • 生成单元测试
  • AI 读代码
  • AI 代码审核
  • chatbot 的应用

下载chatbot 插件

  • 在插件市场寻找到插件

1702203283390

生成单元测试

  • 方式一: 选择要生成的单元测试的类,右键:

    1702203369383

    • ·生成结果:

1702203558984

  • 选中代码-右键单元测试,则生成指定代码的单元测试

    1702203421595

    • 生成的结果

1702203465353

AI 读代码

经常应用与对源代码的阅读,对复杂代码阅读

  • 启动,右键选择要读的代码

    1702203692092

  • 输出结果

    1702203675764

AI 代码审核

1702203775583

chatbot 的应用

  • 算法,以及规则性代码

    1702203808499

',19),b=[u];function m(g,f,A,q,I,k){return t(),o("div",null,b)}const x=a(h,[["render",m]]);export{P as __pageData,x as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\345\205\255\357\274\232AI\350\276\205\345\212\251\347\274\226\347\240\201.md.4d0d7f45.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\345\205\255\357\274\232AI\350\276\205\345\212\251\347\274\226\347\240\201.md.4d0d7f45.lean.js" new file mode 100644 index 0000000..e8530b3 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\345\205\255\357\274\232AI\350\276\205\345\212\251\347\274\226\347\240\201.md.4d0d7f45.lean.js" @@ -0,0 +1 @@ +import{_ as a,o as t,c as o,S as e}from"./chunks/framework.a3dd33a8.js";const s="/doc/assets/1702203283390.4c046c71.png",i="/doc/assets/1702203369383.7eaab9b0.png",l="/doc/assets/1702203558984.bbabcd05.png",c="/doc/assets/1702203421595.95f22c78.png",r="/doc/assets/1702203465353.e0bcd17b.png",p="/doc/assets/1702203692092.772c75aa.png",n="/doc/assets/1702203675764.041ae05a.png",_="/doc/assets/1702203775583.996a9ff0.png",d="/doc/assets/1702203808499.13cb0e47.png",P=JSON.parse('{"title":"AI辅助编码","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤六:AI辅助编码.md","filePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤六:AI辅助编码.md","lastUpdated":1705031091000}'),h={name:"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤六:AI辅助编码.md"},u=e("",19),b=[u];function m(g,f,A,q,I,k){return t(),o("div",null,b)}const x=a(h,[["render",m]]);export{P as __pageData,x as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\345\233\233\357\274\232\350\256\276\350\256\241\350\257\204\345\256\241\344\270\216\346\240\241\351\252\214.md.dfe47316.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\345\233\233\357\274\232\350\256\276\350\256\241\350\257\204\345\256\241\344\270\216\346\240\241\351\252\214.md.dfe47316.js" new file mode 100644 index 0000000..e57c6a9 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\345\233\233\357\274\232\350\256\276\350\256\241\350\257\204\345\256\241\344\270\216\346\240\241\351\252\214.md.dfe47316.js" @@ -0,0 +1 @@ +import{_ as a,o as t,c as e,S as l}from"./chunks/framework.a3dd33a8.js";const o="/doc/assets/1702200573002.a37297f7.png",s="/doc/assets/1702200839889.87fd4cc0.png",i="/doc/assets/1702200927644.d3ec7ab3.png",c="/doc/assets/1702201007093.1ce716bc.png",r="/doc/assets/1702201220196.9617e5fa.png",p="/doc/assets/1702201237305.0b0bc858.png",D=JSON.parse('{"title":"设计评审与校验","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤四:设计评审与校验.md","filePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤四:设计评审与校验.md","lastUpdated":1705031091000}'),_={name:"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤四:设计评审与校验.md"},n=l('

设计评审与校验

本文描述 在领域模型设计完成之后,在项目的概关键角色人员对,设计的进行回顾评审与校验,以便于确认大家都对需求,设计都达成一致

操作步骤

  • 业务场景的文档评审

  • 领域模型文档的评审

  • 业务域设计文档的评审

  • 应用的文档评审

业务场景的文档评审

在业务场景层面达成一致, 关联人员: 业务,产品, 架构师, 开发人员, 测试

  • 概览图
    • 表示与内部系统,与外部系统的链接
  • 流程图
    • 表示内部业务节点与角色之间的协同关系

1702200573002

领域模型文档的评审

包含了,查询模型, 数据模型, 聚合 之间的关系的检查与补充-

  • 识别有多少个领域对象, 以及领域对象之间的关系

    1702200839889

业务域设计文档的评审

包含了,对这个业务模块的整体的设计思路,目标愿景, 模型图,接口 等的评审

  • 打开文档

    1702200927644

  • 文档明细

1702201007093

应用的文档评审

应用文档是针对于多个业务文档和业务场景文档的集合,一个应用一般等于一个限界上下文

1702201220196

文档明细

1702201237305

',21),d=[n];function u(h,b,m,q,f,k){return t(),e("div",null,d)}const P=a(_,[["render",u]]);export{D as __pageData,P as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\345\233\233\357\274\232\350\256\276\350\256\241\350\257\204\345\256\241\344\270\216\346\240\241\351\252\214.md.dfe47316.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\345\233\233\357\274\232\350\256\276\350\256\241\350\257\204\345\256\241\344\270\216\346\240\241\351\252\214.md.dfe47316.lean.js" new file mode 100644 index 0000000..b179cf9 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\346\255\245\351\252\244\345\233\233\357\274\232\350\256\276\350\256\241\350\257\204\345\256\241\344\270\216\346\240\241\351\252\214.md.dfe47316.lean.js" @@ -0,0 +1 @@ +import{_ as a,o as t,c as e,S as l}from"./chunks/framework.a3dd33a8.js";const o="/doc/assets/1702200573002.a37297f7.png",s="/doc/assets/1702200839889.87fd4cc0.png",i="/doc/assets/1702200927644.d3ec7ab3.png",c="/doc/assets/1702201007093.1ce716bc.png",r="/doc/assets/1702201220196.9617e5fa.png",p="/doc/assets/1702201237305.0b0bc858.png",D=JSON.parse('{"title":"设计评审与校验","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤四:设计评审与校验.md","filePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤四:设计评审与校验.md","lastUpdated":1705031091000}'),_={name:"base/product/DDD可视化开发平台文档/快速入门/示例项目/步骤四:设计评审与校验.md"},n=l("",21),d=[n];function u(h,b,m,q,f,k){return t(),e("div",null,d)}const P=a(_,[["render",u]]);export{D as __pageData,P as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\347\244\272\344\276\213\351\241\271\347\233\256\347\256\200\344\273\213.md.f0d2b9da.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\347\244\272\344\276\213\351\241\271\347\233\256\347\256\200\344\273\213.md.f0d2b9da.js" new file mode 100644 index 0000000..0d07b4d --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\347\244\272\344\276\213\351\241\271\347\233\256\347\256\200\344\273\213.md.f0d2b9da.js" @@ -0,0 +1 @@ +import{_ as t,o as e,c as a,S as r}from"./chunks/framework.a3dd33a8.js";const f=JSON.parse('{"title":"示例项目简介","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/示例项目简介.md","filePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/示例项目简介.md","lastUpdated":1705031091000}'),l={name:"base/product/DDD可视化开发平台文档/快速入门/示例项目/示例项目简介.md"},n=r('

示例项目简介

本文介绍使用示例项目的前提条件,以及示例项目的背景信息、使用限制和其全流程操作步骤简介。

前提条件

已开通DDD可视化平台 公有云版本服务。

背景信息

在DDD 启蒙阶段, 很多人最开始的熟悉阶段为 欧创新 在极客时间中的课程 DDD实战 为案例,若对这个课程感兴趣可以按此链接查看 在案例中主要讲了一个案例,为请假系统:

项目的目标是实现在线请假和考勤管理。

功能描述如下:

  • 请假人填写请假单提交审批,根据请假人身份、请假类型和请假天数进行校验,根据审批规则逐级递交上级审批,逐级核批通过则完成审批,否则审批不通过退回申请人。
  • 根据考勤规则,核销请假数据后,对考勤数据进行校验,输出考勤统计。

示例项目全流程操作步骤简介

通过以下六个操作步骤,您可以了解DDD可视化平台的主线流程。

步骤说明相关文档
一、业务场景分析您将产品/业务人员,理解和定义业务问题。目标是识别关键的业务需求和约束,以及确定软件解决方案应如何帮助业务达成其目标,为达成这个目标,需要的操作流程,以及各角色之间的协同关系步骤一:业务场景分析
二、场景过程分析作为产品和架构师深入入分析特定的业务场景和流程,以便更好地了解业务操作的具体细节。通过这种方式,可以识别出关键业务流程,以便于拆分关键的业务模块步骤二:场景过程分析
三、领域建模系统架构师创建反映业务领域的概念模型,与领域专家合作以确保模型准确反映业务实体和关系步骤三:领域建模
四、文档==代码您作为开发人员软件开发人员编写代码的同时更新文档,确保文档的准确性和可读性,基于文档生成代码之后,确保文档与代码保持一致步骤四:文档==代码
五、设计评审与校验团队成员参与评审领域模型和设计方案,确保它们满足业务需求并具有实现可能性步骤五:设计评审与校验
六、AI辅助编码作为开发人员你将使用AI,预生成的方式来辅助编码,以提高编码的效率和编码的质量,包括:单元测试, 代码优化,代码生成,代码修复, 代码审核。步骤六:AI辅助编码
',12),s=[n];function d(o,i,h,g,_,m){return e(),a("div",null,s)}const p=t(l,[["render",d]]);export{f as __pageData,p as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\347\244\272\344\276\213\351\241\271\347\233\256\347\256\200\344\273\213.md.f0d2b9da.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\347\244\272\344\276\213\351\241\271\347\233\256\347\256\200\344\273\213.md.f0d2b9da.lean.js" new file mode 100644 index 0000000..24aa1f2 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\347\244\272\344\276\213\351\241\271\347\233\256\347\256\200\344\273\213.md.f0d2b9da.lean.js" @@ -0,0 +1 @@ +import{_ as t,o as e,c as a,S as r}from"./chunks/framework.a3dd33a8.js";const f=JSON.parse('{"title":"示例项目简介","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/示例项目简介.md","filePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/示例项目简介.md","lastUpdated":1705031091000}'),l={name:"base/product/DDD可视化开发平台文档/快速入门/示例项目/示例项目简介.md"},n=r("",12),s=[n];function d(o,i,h,g,_,m){return e(),a("div",null,s)}const p=t(l,[["render",d]]);export{f as __pageData,p as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\347\244\272\344\276\213\351\241\271\347\233\256\351\231\220\345\210\266\350\257\264\346\230\216.md.2aac1bc5.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\347\244\272\344\276\213\351\241\271\347\233\256\351\231\220\345\210\266\350\257\264\346\230\216.md.2aac1bc5.js" new file mode 100644 index 0000000..84cbd90 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\347\244\272\344\276\213\351\241\271\347\233\256\351\231\220\345\210\266\350\257\264\346\230\216.md.2aac1bc5.js" @@ -0,0 +1 @@ +import{_ as a,o as t,c as s,k as e,a as o}from"./chunks/framework.a3dd33a8.js";const f=JSON.parse('{"title":"示例项目的使用限制说明","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/示例项目限制说明.md","filePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/示例项目限制说明.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/快速入门/示例项目/示例项目限制说明.md"},c=e("h1",{id:"示例项目的使用限制说明",tabindex:"-1"},[o("示例项目的使用限制说明 "),e("a",{class:"header-anchor",href:"#示例项目的使用限制说明","aria-label":'Permalink to "示例项目的使用限制说明"'},"​")],-1),_=[c];function d(n,i,p,l,h,m){return t(),s("div",null,_)}const u=a(r,[["render",d]]);export{f as __pageData,u as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\347\244\272\344\276\213\351\241\271\347\233\256\351\231\220\345\210\266\350\257\264\346\230\216.md.2aac1bc5.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\347\244\272\344\276\213\351\241\271\347\233\256\351\231\220\345\210\266\350\257\264\346\230\216.md.2aac1bc5.lean.js" new file mode 100644 index 0000000..84cbd90 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\347\244\272\344\276\213\351\241\271\347\233\256_\347\244\272\344\276\213\351\241\271\347\233\256\351\231\220\345\210\266\350\257\264\346\230\216.md.2aac1bc5.lean.js" @@ -0,0 +1 @@ +import{_ as a,o as t,c as s,k as e,a as o}from"./chunks/framework.a3dd33a8.js";const f=JSON.parse('{"title":"示例项目的使用限制说明","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/示例项目限制说明.md","filePath":"base/product/DDD可视化开发平台文档/快速入门/示例项目/示例项目限制说明.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/快速入门/示例项目/示例项目限制说明.md"},c=e("h1",{id:"示例项目的使用限制说明",tabindex:"-1"},[o("示例项目的使用限制说明 "),e("a",{class:"header-anchor",href:"#示例项目的使用限制说明","aria-label":'Permalink to "示例项目的使用限制说明"'},"​")],-1),_=[c];function d(n,i,p,l,h,m){return t(),s("div",null,_)}const u=a(r,[["render",d]]);export{f as __pageData,u as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\351\203\250\347\275\262\346\226\207\346\241\243.md.9818859c.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\351\203\250\347\275\262\346\226\207\346\241\243.md.9818859c.js" new file mode 100644 index 0000000..40be528 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\351\203\250\347\275\262\346\226\207\346\241\243.md.9818859c.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as o,S as l}from"./chunks/framework.a3dd33a8.js";const k=JSON.parse('{"title":"visual-ddd-docker","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/快速入门/部署文档.md","filePath":"base/product/DDD可视化开发平台文档/快速入门/部署文档.md","lastUpdated":1705031091000}'),s={name:"base/product/DDD可视化开发平台文档/快速入门/部署文档.md"},t=l('

visual-ddd-docker

GitHub地址:Docker部署DDD可视化开发者平台

准备工作

在开始部署之前,请确保已完成以下准备工作:

  1. 安装Docker和Docker Compose:确保你的服务器已安装了Docker和Docker Compose。如果尚未安装,请按照官方文档进行安装。

  2. 拉取项目:通过git拉取本项目到部署环境下。

部署步骤

  1. 进入项目目录:使用命令行工具进入项目所在的目录。

  2. 请根据项目的要求进行相应的修改,例如修改端口号、添加环境变量等。

  3. 构建和启动容器:运行以下命令来构建和启动项目容器:

docker-compose up -d
  1. 验证部署:等待一段时间后,可以通过访问服务器的IP地址或域名来验证项目是否成功部署。如果一切正常,应该能够看到项目的首页或相关页面。

  2. 停止和清理容器:如果需要停止和清理容器,可以运行以下命令:

docker-compose down

注意事项

  • 请确保服务器的防火墙已经打开了所需的端口,以便能够从外部访问项目。

  • 如果项目需要使用数据库等外部服务,请确保这些服务已经正确地配置,并能够在项目容器中访问到。

  • 如果项目有特殊的依赖项或配置要求,请根据实际情况进行相应的调整。

  • 在部署过程中,如果出现任何错误或问题,请参考Docker和Docker Compose的官方文档进行故障排除。

希望以上部署说明对你有帮助!如有任何疑问,请随时向我提问。

',13),i=[t];function d(r,p,c,n,h,u){return e(),o("div",null,i)}const m=a(s,[["render",d]]);export{k as __pageData,m as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\351\203\250\347\275\262\346\226\207\346\241\243.md.9818859c.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\351\203\250\347\275\262\346\226\207\346\241\243.md.9818859c.lean.js" new file mode 100644 index 0000000..ce2ed1a --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\345\277\253\351\200\237\345\205\245\351\227\250_\351\203\250\347\275\262\346\226\207\346\241\243.md.9818859c.lean.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as o,S as l}from"./chunks/framework.a3dd33a8.js";const k=JSON.parse('{"title":"visual-ddd-docker","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/快速入门/部署文档.md","filePath":"base/product/DDD可视化开发平台文档/快速入门/部署文档.md","lastUpdated":1705031091000}'),s={name:"base/product/DDD可视化开发平台文档/快速入门/部署文档.md"},t=l("",13),i=[t];function d(r,p,c,n,h,u){return e(),o("div",null,i)}const m=a(s,[["render",d]]);export{k as __pageData,m as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227.md.72d996db.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227.md.72d996db.js" new file mode 100644 index 0000000..9d1a3c2 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227.md.72d996db.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as o}from"./chunks/framework.a3dd33a8.js";const m=JSON.parse('{"title":"操作指南","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南.md","filePath":"base/product/DDD可视化开发平台文档/操作指南.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/操作指南.md"},c=o('

操作指南

用户权限说明

用户根据不同权限可以分为系统管理员、组织管理员、团队管理员和团队成员:

系统管理员:系统管理者,拥有账号管理、组织创建的权限;

组织管理员:组织管理者,由系统管理员分配,拥有所属组织的管理权限;同时拥有组织下创建和关联团队的权限;

团队管理员:团队管理者,由组织管理员分配,拥有所属团队的管理权限;同时拥有团队下添加团队成员的权限;

团队成员:团队中的成员,由团队管理员分配,拥有所属团队的空间访问权限,可以进入对应团队空间进行开发;

普通用户:暂未加入任何团队的用户,拥有Chat聊天窗口的访问权限及初始化的个人空间;

平台和项目管理

描述:平台和项目管理模块提供了系统管理、组织团队管理和项目应用管理等子模块, 帮助管理员管理系统配置、组织以及项目的需求设计和代码开发等功能支持。

业务建模平台

描述:业务建模平台是一种帮助团队成员理解和描述业务流程、决策点以及各部门之间沟通和协作的工具。

应用开发平台

',7),l=[c];function d(h,p,s,_,n,i){return e(),t("div",null,l)}const b=a(r,[["render",d]]);export{m as __pageData,b as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227.md.72d996db.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227.md.72d996db.lean.js" new file mode 100644 index 0000000..feb17ed --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227.md.72d996db.lean.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as o}from"./chunks/framework.a3dd33a8.js";const m=JSON.parse('{"title":"操作指南","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南.md","filePath":"base/product/DDD可视化开发平台文档/操作指南.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/操作指南.md"},c=o("",7),l=[c];function d(h,p,s,_,n,i){return e(),t("div",null,l)}const b=a(r,[["render",d]]);export{m as __pageData,b as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260.md.04314c6d.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260.md.04314c6d.js" new file mode 100644 index 0000000..c9cd3c5 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260.md.04314c6d.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as o}from"./chunks/framework.a3dd33a8.js";const m=JSON.parse('{"title":"业务建模平台","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/操作指南/业务建模平台.md"},_=o('

业务建模平台

描述:业务建模平台是一种帮助团队成员理解和描述业务流程、决策点以及各部门之间沟通和协作的工具。

业务建模平台概述

3.6 业务场景建模

描述:用来描述一个或多个业务流程,帮助团队成员更好地了解业务流程、流程决策点和各个部门之间的沟通和协作。

3.7 业务域建模

描述:负责业务域的设计

',7),c=[_];function l(s,d,h,n,i,p){return e(),t("div",null,c)}const b=a(r,[["render",l]]);export{m as __pageData,b as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260.md.04314c6d.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260.md.04314c6d.lean.js" new file mode 100644 index 0000000..48de315 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260.md.04314c6d.lean.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as o}from"./chunks/framework.a3dd33a8.js";const m=JSON.parse('{"title":"业务建模平台","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/操作指南/业务建模平台.md"},_=o("",7),c=[_];function l(s,d,h,n,i,p){return e(),t("div",null,c)}const b=a(r,[["render",l]]);export{m as __pageData,b as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\234\272\346\231\257\345\273\272\346\250\241.md.af27bdde.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\234\272\346\231\257\345\273\272\346\250\241.md.af27bdde.js" new file mode 100644 index 0000000..02fc4ef --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\234\272\346\231\257\345\273\272\346\250\241.md.af27bdde.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as o}from"./chunks/framework.a3dd33a8.js";const m=JSON.parse('{"title":"业务场景建模","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务场景建模.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务场景建模.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务场景建模.md"},_=o('

业务场景建模

描述:用来描述一个或多个业务流程,帮助团队成员更好地了解业务流程、流程决策点和各个部门之间的沟通和协作。

3.6.1 业务流程

描述:业务流程图是一种图形化的表示方式,用于描述和展示业务流程的各个步骤、活动和决策点, 以及它们之间的关联和顺序。通过使用符号和箭头来表示不同的活动和流程之间的流转关系, 业务流程图可以帮助人们更好地理解和分析业务流程,从而提高业务流程的效率和质量。

3.6.2 服务模型

描述:在DDD可视化平台中,服务模型是通过可视化工具来设计和定义系统中的服务及其之间的关系和交互, 以提高开发效率和支持领域驱动设计。

',6),c=[_];function s(l,d,n,h,i,p){return e(),t("div",null,c)}const b=a(r,[["render",s]]);export{m as __pageData,b as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\234\272\346\231\257\345\273\272\346\250\241.md.af27bdde.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\234\272\346\231\257\345\273\272\346\250\241.md.af27bdde.lean.js" new file mode 100644 index 0000000..5a60120 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\234\272\346\231\257\345\273\272\346\250\241.md.af27bdde.lean.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as o}from"./chunks/framework.a3dd33a8.js";const m=JSON.parse('{"title":"业务场景建模","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务场景建模.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务场景建模.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务场景建模.md"},_=o("",6),c=[_];function s(l,d,n,h,i,p){return e(),t("div",null,c)}const b=a(r,[["render",s]]);export{m as __pageData,b as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\234\272\346\231\257\345\273\272\346\250\241_\344\270\232\345\212\241\346\265\201\347\250\213\345\233\276.md.dd6d10ce.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\234\272\346\231\257\345\273\272\346\250\241_\344\270\232\345\212\241\346\265\201\347\250\213\345\233\276.md.dd6d10ce.js" new file mode 100644 index 0000000..8e0afff --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\234\272\346\231\257\345\273\272\346\250\241_\344\270\232\345\212\241\346\265\201\347\250\213\345\233\276.md.dd6d10ce.js" @@ -0,0 +1 @@ +import{_ as t,o as e,c as a,S as o}from"./chunks/framework.a3dd33a8.js";const s="/doc/assets/2475b32b.bb531441.png",p="/doc/assets/8811c93c.37e0ddaa.png",D=JSON.parse('{"title":"业务流程图","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务场景建模/业务流程图.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务场景建模/业务流程图.md","lastUpdated":1705031091000}'),_={name:"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务场景建模/业务流程图.md"},c=o('

业务流程图

描述:业务流程图是一种图形化的表示方式,用于描述和展示业务流程的各个步骤、活动和决策点, 以及它们之间的关联和顺序。通过使用符号和箭头来表示不同的活动和流程之间的流转关系, 业务流程图可以帮助人们更好地理解和分析业务流程,从而提高业务流程的效率和质量。

(1)拖出左侧组件,绘制业务流程图

(2)点击活动节点,关联服务实现的接口

可关联的选项如下:

业务场景服务:对应业务场景-服务模型中设计的 服务接口;

业务域服务:对应业务域中的命令和查询接口;

外部服务:外部服务接口依赖,用来补充描述外部接口引入;

',10),r=[c];function d(n,i,l,m,h,u){return e(),a("div",null,r)}const f=t(_,[["render",d]]);export{D as __pageData,f as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\234\272\346\231\257\345\273\272\346\250\241_\344\270\232\345\212\241\346\265\201\347\250\213\345\233\276.md.dd6d10ce.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\234\272\346\231\257\345\273\272\346\250\241_\344\270\232\345\212\241\346\265\201\347\250\213\345\233\276.md.dd6d10ce.lean.js" new file mode 100644 index 0000000..f659865 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\234\272\346\231\257\345\273\272\346\250\241_\344\270\232\345\212\241\346\265\201\347\250\213\345\233\276.md.dd6d10ce.lean.js" @@ -0,0 +1 @@ +import{_ as t,o as e,c as a,S as o}from"./chunks/framework.a3dd33a8.js";const s="/doc/assets/2475b32b.bb531441.png",p="/doc/assets/8811c93c.37e0ddaa.png",D=JSON.parse('{"title":"业务流程图","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务场景建模/业务流程图.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务场景建模/业务流程图.md","lastUpdated":1705031091000}'),_={name:"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务场景建模/业务流程图.md"},c=o("",10),r=[c];function d(n,i,l,m,h,u){return e(),a("div",null,r)}const f=t(_,[["render",d]]);export{D as __pageData,f as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\234\272\346\231\257\345\273\272\346\250\241_\346\234\215\345\212\241\346\250\241\345\236\213.md.15076b65.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\234\272\346\231\257\345\273\272\346\250\241_\346\234\215\345\212\241\346\250\241\345\236\213.md.15076b65.js" new file mode 100644 index 0000000..08a2b5e --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\234\272\346\231\257\345\273\272\346\250\241_\346\234\215\345\212\241\346\250\241\345\236\213.md.15076b65.js" @@ -0,0 +1 @@ +import{_ as t,o as d,c as e,S as a}from"./chunks/framework.a3dd33a8.js";const r="/doc/assets/9256046f.c7d23cae.png",o="/doc/assets/3760ae3e.83207edd.png",s="/doc/assets/5d15cabb.89da50ca.png",c="/doc/assets/d6a1c63e.9048c2a0.png",g=JSON.parse('{"title":"服务模型","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务场景建模/服务模型.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务场景建模/服务模型.md","lastUpdated":1705031091000}'),p={name:"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务场景建模/服务模型.md"},h=a('

服务模型

描述:在DDD可视化平台中,服务模型是通过可视化工具来设计和定义系统中的服务及其之间的关系和交互, 以提高开发效率和支持领域驱动设计。

作用:

  1. 定义业务逻辑和规则。
  2. 解耦复杂性,拆分系统为独立的服务模型。
  3. 支持领域驱动设计,结合领域模型和业务逻辑。
  4. 提高开发效率,通过可视化界面定义和配置服务模型。

(1)拖出“业务活动”组件,创建一个活动描述,例如:账号登录

(2)拖出“查询”组件,对应接口的请求对象(对象名称、入参),填写相应的信息

配置项说明约束举例
标题中文简称账号信息
标识符英文名,以驼峰命名标识符唯一AccountDTO
描述描述信息
属性对应接口的出参列表userName

(3)拖出“DTO”组件,对应接口的返回值对象(返回对象名称、出参),填写相应的信息

配置项说明约束举例
标题中文简称验证码校验
标识符英文名,以驼峰命名标识符唯一CheckCodeDue
描述描述信息校验验证码是否正确
关联需要关联的接口对象只能关联一个接口对象关联AccountRegister接口对象

(4)拖出“规则”组件,描述业务活动包含的规则,填写信息

配置项说明约束举例
名称中文简称DDD可视化开发平台
标识符英文名,以驼峰命名团队的应用中标识符唯一WdVisualDDD
起始版本号第一个版本号符合语义化版本的标准0.0.1、0.0.1-SNAPSHOT
描述描述信息DDD可视化开发平台
',15),_=[h];function l(i,n,D,b,m,u){return d(),e("div",null,_)}const T=t(p,[["render",l]]);export{g as __pageData,T as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\234\272\346\231\257\345\273\272\346\250\241_\346\234\215\345\212\241\346\250\241\345\236\213.md.15076b65.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\234\272\346\231\257\345\273\272\346\250\241_\346\234\215\345\212\241\346\250\241\345\236\213.md.15076b65.lean.js" new file mode 100644 index 0000000..9a0f8a3 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\234\272\346\231\257\345\273\272\346\250\241_\346\234\215\345\212\241\346\250\241\345\236\213.md.15076b65.lean.js" @@ -0,0 +1 @@ +import{_ as t,o as d,c as e,S as a}from"./chunks/framework.a3dd33a8.js";const r="/doc/assets/9256046f.c7d23cae.png",o="/doc/assets/3760ae3e.83207edd.png",s="/doc/assets/5d15cabb.89da50ca.png",c="/doc/assets/d6a1c63e.9048c2a0.png",g=JSON.parse('{"title":"服务模型","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务场景建模/服务模型.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务场景建模/服务模型.md","lastUpdated":1705031091000}'),p={name:"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务场景建模/服务模型.md"},h=a("",15),_=[h];function l(i,n,D,b,m,u){return d(),e("div",null,_)}const T=t(p,[["render",l]]);export{g as __pageData,T as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241.md.4c63a8a3.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241.md.4c63a8a3.js" new file mode 100644 index 0000000..b36e30e --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241.md.4c63a8a3.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as o}from"./chunks/framework.a3dd33a8.js";const q=JSON.parse('{"title":"业务域建模","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模.md"},l=o('

业务域建模

描述:负责业务域的设计

3.4.1 需求文档

描述:收集、整理、记录用户需求和系统功能需求的文档,它对于软件开发过程起着指导、衡量和验证作用;

3.4.2 产品愿景

描述:产品愿景是对于产品发展方向和目标的总体概述,它阐述了产品应该是什么、为什么存在、为谁服务、带来什么价值。

3.4.3统一语言

描述:为了协调团队成员(包括开发人员、客户、领域专家等)对于业务领域的理解而共同制定的该领域内的术语和表达方式;

3.4.4领域模型

描述:为了协调团队成员(包括开发人员、测试、领域专家等)对于业务领域的理解而共同制定的该领域内的模型; 它描述了当前业务领域提供哪些业务原子能力;

3.4.5查询模型

描述:描述当前业务领域下包含的查询原子能力,对应一个查询器;

3.4.6数据模型

描述:数据模型即数据存储模型,是数据的最终存储结构;提高系统的数据质量、性能和可维护性;

3.4.7对象映射关系模型

描述:描述当前业务领域下实体对象之间的字段映射关系;对应代码中的Convert转换器;

',16),h=[l];function c(d,_,i,n,s,u){return e(),t("div",null,h)}const m=a(r,[["render",c]]);export{q as __pageData,m as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241.md.4c63a8a3.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241.md.4c63a8a3.lean.js" new file mode 100644 index 0000000..0d0da36 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241.md.4c63a8a3.lean.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as o}from"./chunks/framework.a3dd33a8.js";const q=JSON.parse('{"title":"业务域建模","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模.md"},l=o("",16),h=[l];function c(d,_,i,n,s,u){return e(),t("div",null,h)}const m=a(r,[["render",c]]);export{q as __pageData,m as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\344\272\247\345\223\201\346\204\277\346\231\257.md.2e975996.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\344\272\247\345\223\201\346\204\277\346\231\257.md.2e975996.js" new file mode 100644 index 0000000..f3d63ca --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\344\272\247\345\223\201\346\204\277\346\231\257.md.2e975996.js" @@ -0,0 +1 @@ +import{_ as t,o as a,c as s,k as e,a as o}from"./chunks/framework.a3dd33a8.js";const c="/doc/assets/d836170a.963fa574.png",x=JSON.parse('{"title":"产品愿景","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/产品愿景.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/产品愿景.md","lastUpdated":1705031091000}'),n={name:"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/产品愿景.md"},r=e("h1",{id:"产品愿景",tabindex:"-1"},[o("产品愿景 "),e("a",{class:"header-anchor",href:"#产品愿景","aria-label":'Permalink to "产品愿景"'},"​")],-1),d=e("blockquote",null,[e("p",null,"描述:产品愿景是对于产品发展方向和目标的总体概述,它阐述了产品应该是什么、为什么存在、为谁服务、带来什么价值。")],-1),_=e("p",null,"因此,产品团队应该将产品愿景视为产品开发和推广过程的指南和灯塔,以此确保产品处于正确的轨道上,增加成功的机会。",-1),l=e("p",null,[e("img",{src:c,alt:""})],-1),i=[r,d,_,l];function p(h,u,m,f,D,b){return a(),s("div",null,i)}const $=t(n,[["render",p]]);export{x as __pageData,$ as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\344\272\247\345\223\201\346\204\277\346\231\257.md.2e975996.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\344\272\247\345\223\201\346\204\277\346\231\257.md.2e975996.lean.js" new file mode 100644 index 0000000..f3d63ca --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\344\272\247\345\223\201\346\204\277\346\231\257.md.2e975996.lean.js" @@ -0,0 +1 @@ +import{_ as t,o as a,c as s,k as e,a as o}from"./chunks/framework.a3dd33a8.js";const c="/doc/assets/d836170a.963fa574.png",x=JSON.parse('{"title":"产品愿景","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/产品愿景.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/产品愿景.md","lastUpdated":1705031091000}'),n={name:"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/产品愿景.md"},r=e("h1",{id:"产品愿景",tabindex:"-1"},[o("产品愿景 "),e("a",{class:"header-anchor",href:"#产品愿景","aria-label":'Permalink to "产品愿景"'},"​")],-1),d=e("blockquote",null,[e("p",null,"描述:产品愿景是对于产品发展方向和目标的总体概述,它阐述了产品应该是什么、为什么存在、为谁服务、带来什么价值。")],-1),_=e("p",null,"因此,产品团队应该将产品愿景视为产品开发和推广过程的指南和灯塔,以此确保产品处于正确的轨道上,增加成功的机会。",-1),l=e("p",null,[e("img",{src:c,alt:""})],-1),i=[r,d,_,l];function p(h,u,m,f,D,b){return a(),s("div",null,i)}const $=t(n,[["render",p]]);export{x as __pageData,$ as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\345\257\271\350\261\241\346\230\240\345\260\204\345\205\263\347\263\273\346\250\241\345\236\213.md.5d10dd63.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\345\257\271\350\261\241\346\230\240\345\260\204\345\205\263\347\263\273\346\250\241\345\236\213.md.5d10dd63.js" new file mode 100644 index 0000000..2dcc8ab --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\345\257\271\350\261\241\346\230\240\345\260\204\345\205\263\347\263\273\346\250\241\345\236\213.md.5d10dd63.js" @@ -0,0 +1 @@ +import{_ as e,o as s,c as o,k as t,a}from"./chunks/framework.a3dd33a8.js";const n="/doc/assets/91fd263b.2cf8b87f.png",$=JSON.parse('{"title":"对象映射关系模型","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/对象映射关系模型.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/对象映射关系模型.md","lastUpdated":1705031091000}'),_={name:"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/对象映射关系模型.md"},c=t("h1",{id:"对象映射关系模型",tabindex:"-1"},[a("对象映射关系模型 "),t("a",{class:"header-anchor",href:"#对象映射关系模型","aria-label":'Permalink to "对象映射关系模型"'},"​")],-1),r=t("blockquote",null,[t("p",null,"描述:描述当前业务领域下实体对象之间的字段映射关系;对应代码中的Convert转换器;")],-1),d=t("p",null,"分为以下两种映射类型:",-1),l=t("p",null,"Entity → DO:领域模型对象(聚合根、实体和值对象)与数据模型对象之间的转换",-1),i=t("p",null,"DTO → DO:返回结果对象(DTO)与数据模型对象之间的转换",-1),p=t("p",null,[t("img",{src:n,alt:""})],-1),h=[c,r,d,l,i,p];function u(D,f,m,b,k,x){return s(),o("div",null,h)}const g=e(_,[["render",u]]);export{$ as __pageData,g as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\345\257\271\350\261\241\346\230\240\345\260\204\345\205\263\347\263\273\346\250\241\345\236\213.md.5d10dd63.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\345\257\271\350\261\241\346\230\240\345\260\204\345\205\263\347\263\273\346\250\241\345\236\213.md.5d10dd63.lean.js" new file mode 100644 index 0000000..2dcc8ab --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\345\257\271\350\261\241\346\230\240\345\260\204\345\205\263\347\263\273\346\250\241\345\236\213.md.5d10dd63.lean.js" @@ -0,0 +1 @@ +import{_ as e,o as s,c as o,k as t,a}from"./chunks/framework.a3dd33a8.js";const n="/doc/assets/91fd263b.2cf8b87f.png",$=JSON.parse('{"title":"对象映射关系模型","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/对象映射关系模型.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/对象映射关系模型.md","lastUpdated":1705031091000}'),_={name:"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/对象映射关系模型.md"},c=t("h1",{id:"对象映射关系模型",tabindex:"-1"},[a("对象映射关系模型 "),t("a",{class:"header-anchor",href:"#对象映射关系模型","aria-label":'Permalink to "对象映射关系模型"'},"​")],-1),r=t("blockquote",null,[t("p",null,"描述:描述当前业务领域下实体对象之间的字段映射关系;对应代码中的Convert转换器;")],-1),d=t("p",null,"分为以下两种映射类型:",-1),l=t("p",null,"Entity → DO:领域模型对象(聚合根、实体和值对象)与数据模型对象之间的转换",-1),i=t("p",null,"DTO → DO:返回结果对象(DTO)与数据模型对象之间的转换",-1),p=t("p",null,[t("img",{src:n,alt:""})],-1),h=[c,r,d,l,i,p];function u(D,f,m,b,k,x){return s(),o("div",null,h)}const g=e(_,[["render",u]]);export{$ as __pageData,g as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\346\225\260\346\215\256\346\250\241\345\236\213.md.f36116b0.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\346\225\260\346\215\256\346\250\241\345\236\213.md.f36116b0.js" new file mode 100644 index 0000000..7b09161 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\346\225\260\346\215\256\346\250\241\345\236\213.md.f36116b0.js" @@ -0,0 +1 @@ +import{_ as t,o as a,c as s,k as e,a as o}from"./chunks/framework.a3dd33a8.js";const c="/doc/assets/d8d6ab71.1183cf5e.png",k=JSON.parse('{"title":"数据模型","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/数据模型.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/数据模型.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/数据模型.md"},n=e("h1",{id:"数据模型",tabindex:"-1"},[o("数据模型 "),e("a",{class:"header-anchor",href:"#数据模型","aria-label":'Permalink to "数据模型"'},"​")],-1),d=e("blockquote",null,[e("p",null,"描述:数据模型即数据存储模型,是数据的最终存储结构;提高系统的数据质量、性能和可维护性;")],-1),_=e("p",null,[e("img",{src:c,alt:""})],-1),l=[n,d,_];function i(p,h,m,u,f,D){return a(),s("div",null,l)}const x=t(r,[["render",i]]);export{k as __pageData,x as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\346\225\260\346\215\256\346\250\241\345\236\213.md.f36116b0.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\346\225\260\346\215\256\346\250\241\345\236\213.md.f36116b0.lean.js" new file mode 100644 index 0000000..7b09161 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\346\225\260\346\215\256\346\250\241\345\236\213.md.f36116b0.lean.js" @@ -0,0 +1 @@ +import{_ as t,o as a,c as s,k as e,a as o}from"./chunks/framework.a3dd33a8.js";const c="/doc/assets/d8d6ab71.1183cf5e.png",k=JSON.parse('{"title":"数据模型","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/数据模型.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/数据模型.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/数据模型.md"},n=e("h1",{id:"数据模型",tabindex:"-1"},[o("数据模型 "),e("a",{class:"header-anchor",href:"#数据模型","aria-label":'Permalink to "数据模型"'},"​")],-1),d=e("blockquote",null,[e("p",null,"描述:数据模型即数据存储模型,是数据的最终存储结构;提高系统的数据质量、性能和可维护性;")],-1),_=e("p",null,[e("img",{src:c,alt:""})],-1),l=[n,d,_];function i(p,h,m,u,f,D){return a(),s("div",null,l)}const x=t(r,[["render",i]]);export{k as __pageData,x as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\346\237\245\350\257\242\346\250\241\345\236\213.md.a6248a04.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\346\237\245\350\257\242\346\250\241\345\236\213.md.a6248a04.js" new file mode 100644 index 0000000..489e4f0 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\346\237\245\350\257\242\346\250\241\345\236\213.md.a6248a04.js" @@ -0,0 +1 @@ +import{_ as t,o as d,c as e,S as o}from"./chunks/framework.a3dd33a8.js";const r="/doc/assets/f9113887.4d278038.png",a="/doc/assets/cec0a7fc.3c2b3464.png",D=JSON.parse('{"title":"查询模型","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/查询模型.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/查询模型.md","lastUpdated":1705031091000}'),c={name:"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/查询模型.md"},s=o('

查询模型

描述:描述当前业务领域下包含的查询原子能力,对应一个查询器;

3.4.5.1 查询条件

描述:查询条件对象,即请求对象;用于描述单个查询请求的入参;

配置项说明约束举例
标题中文简称用户详情查询对象
标识符英文名,以驼峰命名标识符唯一AccountLogin
描述描述信息查询用户详情
触发来源当前接口由谁触发执行HTTP、RPCHTTP、RPC
返回值接口的返回类型基本数据类型、自定义DTO引用自定义的UserDTO
分页返回值是否为分页查询接口是/否开启标识当前为分页查询
规则关联接口包含的业务规则支持多选关联自定义的规则
属性对应接口的入参列表id

3.4.5.1 查询返回值

描述:查询结果返回对象,供查询条件的返回值引用;用于描述单个查询请求的出参;

',9),_=[s];function p(n,l,i,h,u,b){return d(),e("div",null,_)}const T=t(c,[["render",p]]);export{D as __pageData,T as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\346\237\245\350\257\242\346\250\241\345\236\213.md.a6248a04.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\346\237\245\350\257\242\346\250\241\345\236\213.md.a6248a04.lean.js" new file mode 100644 index 0000000..52e0167 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\346\237\245\350\257\242\346\250\241\345\236\213.md.a6248a04.lean.js" @@ -0,0 +1 @@ +import{_ as t,o as d,c as e,S as o}from"./chunks/framework.a3dd33a8.js";const r="/doc/assets/f9113887.4d278038.png",a="/doc/assets/cec0a7fc.3c2b3464.png",D=JSON.parse('{"title":"查询模型","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/查询模型.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/查询模型.md","lastUpdated":1705031091000}'),c={name:"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/查询模型.md"},s=o("",9),_=[s];function p(n,l,i,h,u,b){return d(),e("div",null,_)}const T=t(c,[["render",p]]);export{D as __pageData,T as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\347\273\237\344\270\200\350\257\255\350\250\200.md.cfae5377.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\347\273\237\344\270\200\350\257\255\350\250\200.md.cfae5377.js" new file mode 100644 index 0000000..bf1ce12 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\347\273\237\344\270\200\350\257\255\350\250\200.md.cfae5377.js" @@ -0,0 +1 @@ +import{_ as t,o as a,c as s,k as e,a as o}from"./chunks/framework.a3dd33a8.js";const c="/doc/assets/70cbe19c.5f33d395.png",x=JSON.parse('{"title":"统一语言","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/统一语言.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/统一语言.md","lastUpdated":1705031091000}'),n={name:"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/统一语言.md"},r=e("h1",{id:"统一语言",tabindex:"-1"},[o("统一语言 "),e("a",{class:"header-anchor",href:"#统一语言","aria-label":'Permalink to "统一语言"'},"​")],-1),d=e("blockquote",null,[e("p",null,"描述:为了协调团队成员(包括开发人员、客户、领域专家等)对于业务领域的理解而共同制定的该领域内的术语和表达方式;")],-1),_=e("p",null,"因此,统一语言作为软件开发过程中的重要一环,对于团队的协调、开发效率和业务需求的理解都具有至关重要的作用。",-1),l=e("p",null,[e("img",{src:c,alt:""})],-1),i=[r,d,_,l];function p(h,u,m,f,D,b){return a(),s("div",null,i)}const $=t(n,[["render",p]]);export{x as __pageData,$ as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\347\273\237\344\270\200\350\257\255\350\250\200.md.cfae5377.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\347\273\237\344\270\200\350\257\255\350\250\200.md.cfae5377.lean.js" new file mode 100644 index 0000000..bf1ce12 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\347\273\237\344\270\200\350\257\255\350\250\200.md.cfae5377.lean.js" @@ -0,0 +1 @@ +import{_ as t,o as a,c as s,k as e,a as o}from"./chunks/framework.a3dd33a8.js";const c="/doc/assets/70cbe19c.5f33d395.png",x=JSON.parse('{"title":"统一语言","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/统一语言.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/统一语言.md","lastUpdated":1705031091000}'),n={name:"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/统一语言.md"},r=e("h1",{id:"统一语言",tabindex:"-1"},[o("统一语言 "),e("a",{class:"header-anchor",href:"#统一语言","aria-label":'Permalink to "统一语言"'},"​")],-1),d=e("blockquote",null,[e("p",null,"描述:为了协调团队成员(包括开发人员、客户、领域专家等)对于业务领域的理解而共同制定的该领域内的术语和表达方式;")],-1),_=e("p",null,"因此,统一语言作为软件开发过程中的重要一环,对于团队的协调、开发效率和业务需求的理解都具有至关重要的作用。",-1),l=e("p",null,[e("img",{src:c,alt:""})],-1),i=[r,d,_,l];function p(h,u,m,f,D,b){return a(),s("div",null,i)}const $=t(n,[["render",p]]);export{x as __pageData,$ as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\351\234\200\346\261\202\346\226\207\346\241\243.md.cfff6251.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\351\234\200\346\261\202\346\226\207\346\241\243.md.cfff6251.js" new file mode 100644 index 0000000..d5b115c --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\351\234\200\346\261\202\346\226\207\346\241\243.md.cfff6251.js" @@ -0,0 +1 @@ +import{_ as t,o as a,c as s,k as e,a as o}from"./chunks/framework.a3dd33a8.js";const c="/doc/assets/1533d412.170094cd.png",x=JSON.parse('{"title":"需求文档","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/需求文档.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/需求文档.md","lastUpdated":1705031091000}'),n={name:"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/需求文档.md"},r=e("h1",{id:"需求文档",tabindex:"-1"},[o("需求文档 "),e("a",{class:"header-anchor",href:"#需求文档","aria-label":'Permalink to "需求文档"'},"​")],-1),d=e("blockquote",null,[e("p",null,"描述:收集、整理、记录用户需求和系统功能需求的文档,它对于软件开发过程起着指导、衡量和验证作用;")],-1),_=e("p",null,"因此,保证需求资料的准确性、完整性、规范性和可追溯性都非常重要!",-1),l=e("p",null,[e("img",{src:c,alt:""})],-1),i=[r,d,_,l];function p(h,u,m,D,f,b){return a(),s("div",null,i)}const $=t(n,[["render",p]]);export{x as __pageData,$ as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\351\234\200\346\261\202\346\226\207\346\241\243.md.cfff6251.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\351\234\200\346\261\202\346\226\207\346\241\243.md.cfff6251.lean.js" new file mode 100644 index 0000000..d5b115c --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\351\234\200\346\261\202\346\226\207\346\241\243.md.cfff6251.lean.js" @@ -0,0 +1 @@ +import{_ as t,o as a,c as s,k as e,a as o}from"./chunks/framework.a3dd33a8.js";const c="/doc/assets/1533d412.170094cd.png",x=JSON.parse('{"title":"需求文档","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/需求文档.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/需求文档.md","lastUpdated":1705031091000}'),n={name:"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/需求文档.md"},r=e("h1",{id:"需求文档",tabindex:"-1"},[o("需求文档 "),e("a",{class:"header-anchor",href:"#需求文档","aria-label":'Permalink to "需求文档"'},"​")],-1),d=e("blockquote",null,[e("p",null,"描述:收集、整理、记录用户需求和系统功能需求的文档,它对于软件开发过程起着指导、衡量和验证作用;")],-1),_=e("p",null,"因此,保证需求资料的准确性、完整性、规范性和可追溯性都非常重要!",-1),l=e("p",null,[e("img",{src:c,alt:""})],-1),i=[r,d,_,l];function p(h,u,m,D,f,b){return a(),s("div",null,i)}const $=t(n,[["render",p]]);export{x as __pageData,$ as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\351\242\206\345\237\237\346\250\241\345\236\213.md.a3ec6303.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\351\242\206\345\237\237\346\250\241\345\236\213.md.a3ec6303.js" new file mode 100644 index 0000000..f6f7a81 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\351\242\206\345\237\237\346\250\241\345\236\213.md.a3ec6303.js" @@ -0,0 +1 @@ +import{_ as t,o,c as e,S as p}from"./chunks/framework.a3dd33a8.js";const c="/doc/assets/c9d657f5.24f49956.png",s="/doc/assets/cb8694b8.6d8e91e4.png",a="/doc/assets/31b89342.11bdc260.png",_="/doc/assets/cea64384.df17d993.png",r="/doc/assets/3e3c0e2c.d5ea7180.png",h=JSON.parse('{"title":"领域模型","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/领域模型.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/领域模型.md","lastUpdated":1705031091000}'),n={name:"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/领域模型.md"},d=p('

领域模型

描述:为了协调团队成员(包括开发人员、测试、领域专家等)对于业务领域的理解而共同制定的该领域内的模型; 它描述了当前业务领域提供哪些业务原子能力;

3.4.4.1 命令

描述:当前业务域下提供的原子操作(增删改);

3.4.4.2 聚合

描述:聚合是领域驱动设计中的一个重要设计原则,其内部具有清晰的关联关系和行为,有利于业务实现和领域模型的理解和设计,同时也有助于实现数据的一致性和完整性。

3.4.4.3 实体 & 聚合根

描述:

实体(Entity)指具有唯一身份的对象或概念;

聚合根(Aggregate Root)是一种特殊类型的实体,它是聚合内部其他实体的入口点和入口操作;

3.4.4.4 值对象

描述:值对象是一种表示不可变的、没有身份标识并且具有值语义的对象。与实体(Entity)不同,值对象不需要唯一标识符,它的价值在于它的属性,而不是它的标识符。

3.4.4.5 枚举

描述:枚举类型表示具有固定数量的值的数据类型,其中的每个值都代表了一种特定的状态。

',19),l=[d];function i(u,b,m,k,g,q){return o(),e("div",null,l)}const D=t(n,[["render",i]]);export{h as __pageData,D as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\351\242\206\345\237\237\346\250\241\345\236\213.md.a3ec6303.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\351\242\206\345\237\237\346\250\241\345\236\213.md.a3ec6303.lean.js" new file mode 100644 index 0000000..6208c03 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241_\351\242\206\345\237\237\346\250\241\345\236\213.md.a3ec6303.lean.js" @@ -0,0 +1 @@ +import{_ as t,o,c as e,S as p}from"./chunks/framework.a3dd33a8.js";const c="/doc/assets/c9d657f5.24f49956.png",s="/doc/assets/cb8694b8.6d8e91e4.png",a="/doc/assets/31b89342.11bdc260.png",_="/doc/assets/cea64384.df17d993.png",r="/doc/assets/3e3c0e2c.d5ea7180.png",h=JSON.parse('{"title":"领域模型","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/领域模型.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/领域模型.md","lastUpdated":1705031091000}'),n={name:"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务域建模/领域模型.md"},d=p("",19),l=[d];function i(u,b,m,k,g,q){return o(),e("div",null,l)}const D=t(n,[["render",i]]);export{h as __pageData,D as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260\346\246\202\350\277\260.md.eb222f04.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260\346\246\202\350\277\260.md.eb222f04.js" new file mode 100644 index 0000000..86743a6 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260\346\246\202\350\277\260.md.eb222f04.js" @@ -0,0 +1 @@ +import{_ as t,o as a,c as s,k as e,a as o}from"./chunks/framework.a3dd33a8.js";const k=JSON.parse('{"title":"业务建模概述","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务建模平台概述.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务建模平台概述.md","lastUpdated":1705031091000}'),_={name:"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务建模平台概述.md"},n=e("h1",{id:"业务建模概述",tabindex:"-1"},[o("业务建模概述 "),e("a",{class:"header-anchor",href:"#业务建模概述","aria-label":'Permalink to "业务建模概述"'},"​")],-1),c=e("p",null,"业务建模平台是一种用于支持业务建模和设计的工具,旨在帮助团队成员更好地理解和描述业务流程、决策点和各个部门之间的沟通和协作。平台提供了业务场景建模和业务域建模两个主要功能。",-1),r=e("p",null,"业务场景建模用于描述一个或多个业务流程,通过可视化的方式展示流程的步骤、活动和决策点,以及不同部门之间的协作关系。这有助于团队成员更好地理解业务流程,发现问题和改进机会,并提供一个共享的视图,以促进沟通和协作。",-1),d=e("p",null,"业务域建模则专注于业务领域的设计。它通过定义业务领域的概念、规则、关系和行为,帮助团队成员理清业务领域的复杂性,并提供一个可视化的模型来指导软件开发和系统设计。业务域建模有助于确保开发人员和业务人员之间的共同理解,并支持领域驱动设计的实践。",-1),l=e("p",null,"通过使用业务建模平台,团队可以更加系统和结构地分析和设计业务,减少沟通误差,提高开发效率,并为系统的演化和扩展打下坚实的基础。",-1),i=[n,c,r,d,l];function p(h,u,m,D,f,b){return a(),s("div",null,i)}const $=t(_,[["render",p]]);export{k as __pageData,$ as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260\346\246\202\350\277\260.md.eb222f04.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260\346\246\202\350\277\260.md.eb222f04.lean.js" new file mode 100644 index 0000000..86743a6 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260_\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260\346\246\202\350\277\260.md.eb222f04.lean.js" @@ -0,0 +1 @@ +import{_ as t,o as a,c as s,k as e,a as o}from"./chunks/framework.a3dd33a8.js";const k=JSON.parse('{"title":"业务建模概述","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务建模平台概述.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务建模平台概述.md","lastUpdated":1705031091000}'),_={name:"base/product/DDD可视化开发平台文档/操作指南/业务建模平台/业务建模平台概述.md"},n=e("h1",{id:"业务建模概述",tabindex:"-1"},[o("业务建模概述 "),e("a",{class:"header-anchor",href:"#业务建模概述","aria-label":'Permalink to "业务建模概述"'},"​")],-1),c=e("p",null,"业务建模平台是一种用于支持业务建模和设计的工具,旨在帮助团队成员更好地理解和描述业务流程、决策点和各个部门之间的沟通和协作。平台提供了业务场景建模和业务域建模两个主要功能。",-1),r=e("p",null,"业务场景建模用于描述一个或多个业务流程,通过可视化的方式展示流程的步骤、活动和决策点,以及不同部门之间的协作关系。这有助于团队成员更好地理解业务流程,发现问题和改进机会,并提供一个共享的视图,以促进沟通和协作。",-1),d=e("p",null,"业务域建模则专注于业务领域的设计。它通过定义业务领域的概念、规则、关系和行为,帮助团队成员理清业务领域的复杂性,并提供一个可视化的模型来指导软件开发和系统设计。业务域建模有助于确保开发人员和业务人员之间的共同理解,并支持领域驱动设计的实践。",-1),l=e("p",null,"通过使用业务建模平台,团队可以更加系统和结构地分析和设计业务,减少沟通误差,提高开发效率,并为系统的演化和扩展打下坚实的基础。",-1),i=[n,c,r,d,l];function p(h,u,m,D,f,b){return a(),s("div",null,i)}const $=t(_,[["render",p]]);export{k as __pageData,$ as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206.md.b72baaae.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206.md.b72baaae.js" new file mode 100644 index 0000000..3b98ffa --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206.md.b72baaae.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as o}from"./chunks/framework.a3dd33a8.js";const b=JSON.parse('{"title":"平台和项目管理","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理.md"},_=o('

平台和项目管理

描述:平台和项目管理模块提供了系统管理、组织团队管理和项目应用管理等子模块,帮助管理员管理系统配置、组织以及项目的需求设计和代码开发等功能支持。

1. 系统管理

描述:本模块为 系统管理员 提供了组织管理,用户管理等子模块,帮助其管理系统配置

2. 组织团队管理

描述:本模块为 组织管理员 提供了组织管理的子模块,帮助其管理自己的组织

3. 项目应用管理

描述:提供从需求设计到代码开发的功能支持

',8),c=[_];function l(s,d,h,n,i,u){return e(),t("div",null,c)}const m=a(r,[["render",l]]);export{b as __pageData,m as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206.md.b72baaae.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206.md.b72baaae.lean.js" new file mode 100644 index 0000000..d9bf3e6 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206.md.b72baaae.lean.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as o}from"./chunks/framework.a3dd33a8.js";const b=JSON.parse('{"title":"平台和项目管理","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理.md"},_=o("",8),c=[_];function l(s,d,h,n,i,u){return e(),t("div",null,c)}const m=a(r,[["render",l]]);export{b as __pageData,m as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206.md.e1724243.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206.md.e1724243.js" new file mode 100644 index 0000000..7d0c9fd --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206.md.e1724243.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as o}from"./chunks/framework.a3dd33a8.js";const r="/doc/assets/8119c502.27580f82.png",m=JSON.parse('{"title":"团队应用管理","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理.md","lastUpdated":1705031091000}'),l={name:"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理.md"},c=o('

团队应用管理

描述:提供从需求设计到代码开发的功能支持

3.1 团队概览

描述:展示团队的概览信息,包含业务域、业务场景、应用等信息


3.2 统一语言

描述:负责管理和维护组织和团队的统一语言;通过查看统一语言快速了解组织和团队的专业术语(统一语言) 需要注意的是,组织统一语言是组织内共享的,团队统一语言是团队内共享的

3.3 业务场景管理

描述:负责业务场景的管理及版本的维护

3.4 业务域管理

描述:负责业务域的管理及版本的维护

3.5 应用管理

描述:负责应用的管理及版本的维护

',13),_=[c];function h(s,d,i,n,u,p){return e(),t("div",null,_)}const q=a(l,[["render",h]]);export{m as __pageData,q as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206.md.e1724243.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206.md.e1724243.lean.js" new file mode 100644 index 0000000..fe5b711 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206.md.e1724243.lean.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as o}from"./chunks/framework.a3dd33a8.js";const r="/doc/assets/8119c502.27580f82.png",m=JSON.parse('{"title":"团队应用管理","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理.md","lastUpdated":1705031091000}'),l={name:"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理.md"},c=o("",13),_=[c];function h(s,d,i,n,u,p){return e(),t("div",null,_)}const q=a(l,[["render",h]]);export{m as __pageData,q as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206_\344\270\232\345\212\241\345\234\272\346\231\257\347\256\241\347\220\206.md.0a814c1c.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206_\344\270\232\345\212\241\345\234\272\346\231\257\347\256\241\347\220\206.md.0a814c1c.js" new file mode 100644 index 0000000..56992d9 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206_\344\270\232\345\212\241\345\234\272\346\231\257\347\256\241\347\220\206.md.0a814c1c.js" @@ -0,0 +1 @@ +import{_ as a,o as t,c as e,S as o}from"./chunks/framework.a3dd33a8.js";const s="/doc/assets/898c4434.b77e1312.png",r="/doc/assets/37e817bb.e1603487.png",p="/doc/assets/a2c32796.1a6809db.png",c="/doc/assets/2d716251.e8b18f26.png",i="/doc/assets/f304b5f2.5f0f6b2a.png",_="/doc/assets/6f3f3935.ee9261ba.png",n="/doc/assets/29be8170.b86d5f34.png",l="/doc/assets/a7b42838.41b8ce2c.png",d="/doc/assets/0ea1ff14.16f10f3a.png",b="/doc/assets/f4d4ce32.af975e12.png",h="/doc/assets/0a7ebfd4.95e34a20.png",m="/doc/assets/76a4fea0.24375244.png",A=JSON.parse('{"title":"业务场景管理","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理/业务场景管理.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理/业务场景管理.md","lastUpdated":1705031091000}'),f={name:"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理/业务场景管理.md"},u=o('

业务场景管理

描述:负责业务场景的管理及版本的维护

3.5.1 业务场景创建

(1)点击“创建业务场景”按钮


(2)填写业务场景的基本信息,点击确定;


3.5.2 业务场景编辑

(1)点击“设置”按钮


(2)编辑业务场景信息

约束:标识符不能修改


3.5.3 业务场景删除

暂不支持删除业务场景

3.5.4 业务场景概览

描述:用于展示业务场景的简介及概览图等信息


3.5.5 业务场景版本创建(Fork)

(1)点击“Fork版本”按钮


(2)填写新版本信息

约束:新版本号必须大于旧版本


3.5.6 业务场景版本跳转

(1)点击“查看历史版本”按钮


(2)点击“跳转”按钮,即可跳转到对应版本界面


3.5.7 业务场景版本删除

为核心数据,暂不支持版本删除功能

3.5.8 业务场景版本发布

(1)点击“发布”按钮


(2)填写发布信息,点击确定


(3)查看版本状态为“已发布”


',38),q=[u];function g(k,P,x,D,S,T){return t(),e("div",null,q)}const F=a(f,[["render",g]]);export{A as __pageData,F as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206_\344\270\232\345\212\241\345\234\272\346\231\257\347\256\241\347\220\206.md.0a814c1c.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206_\344\270\232\345\212\241\345\234\272\346\231\257\347\256\241\347\220\206.md.0a814c1c.lean.js" new file mode 100644 index 0000000..90af53e --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206_\344\270\232\345\212\241\345\234\272\346\231\257\347\256\241\347\220\206.md.0a814c1c.lean.js" @@ -0,0 +1 @@ +import{_ as a,o as t,c as e,S as o}from"./chunks/framework.a3dd33a8.js";const s="/doc/assets/898c4434.b77e1312.png",r="/doc/assets/37e817bb.e1603487.png",p="/doc/assets/a2c32796.1a6809db.png",c="/doc/assets/2d716251.e8b18f26.png",i="/doc/assets/f304b5f2.5f0f6b2a.png",_="/doc/assets/6f3f3935.ee9261ba.png",n="/doc/assets/29be8170.b86d5f34.png",l="/doc/assets/a7b42838.41b8ce2c.png",d="/doc/assets/0ea1ff14.16f10f3a.png",b="/doc/assets/f4d4ce32.af975e12.png",h="/doc/assets/0a7ebfd4.95e34a20.png",m="/doc/assets/76a4fea0.24375244.png",A=JSON.parse('{"title":"业务场景管理","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理/业务场景管理.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理/业务场景管理.md","lastUpdated":1705031091000}'),f={name:"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理/业务场景管理.md"},u=o("",38),q=[u];function g(k,P,x,D,S,T){return t(),e("div",null,q)}const F=a(f,[["render",g]]);export{A as __pageData,F as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206_\344\270\232\345\212\241\345\237\237\347\256\241\347\220\206.md.140597ca.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206_\344\270\232\345\212\241\345\237\237\347\256\241\347\220\206.md.140597ca.js" new file mode 100644 index 0000000..23d3217 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206_\344\270\232\345\212\241\345\237\237\347\256\241\347\220\206.md.140597ca.js" @@ -0,0 +1 @@ +import{_ as a,o as t,c as s,S as e}from"./chunks/framework.a3dd33a8.js";const o="/doc/assets/8aeda06b.5fdd0d9f.png",r="/doc/assets/068d7ccb.c0586762.png",p="/doc/assets/6d03aa3b.fff4f913.png",c="/doc/assets/ed108543.a75706e0.png",d="/doc/assets/7fdc514a.4157c66c.png",i="/doc/assets/8d09f605.c419a273.png",_="/doc/assets/29be8170.b86d5f34.png",n="/doc/assets/74534804.4cdd1656.png",l="/doc/assets/0ea1ff14.16f10f3a.png",h="/doc/assets/7056dcb6.6be11e5a.png",b="/doc/assets/0a7ebfd4.95e34a20.png",m="/doc/assets/7dad6467.2ddfcb05.png",A=JSON.parse('{"title":"业务域管理","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理/业务域管理.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理/业务域管理.md","lastUpdated":1705031091000}'),f={name:"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理/业务域管理.md"},u=e('

业务域管理

描述:负责业务域的管理及版本的维护;

3.3.1 业务域创建

(1)点击“创建业务域”按钮


(2)填写业务域的基本信息,点击确定;


3.3.2 业务域编辑

标识符不能修改


3.3.3 业务域删除

暂不支持删除业务域


3.3.4 业务域概览

描述:用于展示业务域的简介及概览图等信息


3.3.5 业务域版本创建(Fork)

(1)点击“Fork版本”按钮


(2)填写新版本信息

约束:新版本号必须大于旧版本


3.3.6 业务域版本跳转

(1)点击“查看历史版本”按钮


(2)点击“跳转”按钮,即可跳转到对应版本界面

3.3.7 业务域版本删除

为核心数据,暂不支持版本删除功能

3.3.8 业务域版本发布

(1)点击“发布”按钮


(2)填写发布信息,点击确定


(3)查看版本状态为“已发布”


',35),g=[u];function q(k,P,x,D,S,T){return t(),s("div",null,g)}const F=a(f,[["render",q]]);export{A as __pageData,F as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206_\344\270\232\345\212\241\345\237\237\347\256\241\347\220\206.md.140597ca.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206_\344\270\232\345\212\241\345\237\237\347\256\241\347\220\206.md.140597ca.lean.js" new file mode 100644 index 0000000..6ee397a --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206_\344\270\232\345\212\241\345\237\237\347\256\241\347\220\206.md.140597ca.lean.js" @@ -0,0 +1 @@ +import{_ as a,o as t,c as s,S as e}from"./chunks/framework.a3dd33a8.js";const o="/doc/assets/8aeda06b.5fdd0d9f.png",r="/doc/assets/068d7ccb.c0586762.png",p="/doc/assets/6d03aa3b.fff4f913.png",c="/doc/assets/ed108543.a75706e0.png",d="/doc/assets/7fdc514a.4157c66c.png",i="/doc/assets/8d09f605.c419a273.png",_="/doc/assets/29be8170.b86d5f34.png",n="/doc/assets/74534804.4cdd1656.png",l="/doc/assets/0ea1ff14.16f10f3a.png",h="/doc/assets/7056dcb6.6be11e5a.png",b="/doc/assets/0a7ebfd4.95e34a20.png",m="/doc/assets/7dad6467.2ddfcb05.png",A=JSON.parse('{"title":"业务域管理","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理/业务域管理.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理/业务域管理.md","lastUpdated":1705031091000}'),f={name:"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理/业务域管理.md"},u=e("",35),g=[u];function q(k,P,x,D,S,T){return t(),s("div",null,g)}const F=a(f,[["render",q]]);export{A as __pageData,F as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206_\345\272\224\347\224\250\347\256\241\347\220\206.md.26268754.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206_\345\272\224\347\224\250\347\256\241\347\220\206.md.26268754.js" new file mode 100644 index 0000000..9c188bb --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206_\345\272\224\347\224\250\347\256\241\347\220\206.md.26268754.js" @@ -0,0 +1 @@ +import{_ as t,o as a,c as e,S as s}from"./chunks/framework.a3dd33a8.js";const o="/doc/assets/5b60fae0.dc61e5df.png",r="/doc/assets/07b042d9.64e76cd3.png",d="/doc/assets/8294bc57.c90de065.png",p="/doc/assets/3c54e4c5.7f3df4c9.png",c="/doc/assets/8b95f397.47679a50.png",i="/doc/assets/5d606b7a.265055d7.png",n="/doc/assets/29be8170.b86d5f34.png",_="/doc/assets/c015d8e5.5dbebbca.png",l="/doc/assets/0ea1ff14.16f10f3a.png",h="/doc/assets/1ecd0e9a.8dc657fe.png",m="/doc/assets/db0071c7.d9cfd7e7.png",b="/doc/assets/9d5b5b68.ea23a761.png",f="/doc/assets/fc2b4545.e09b43bd.png",u="/doc/assets/0c222ae9.49f16e11.png",g="/doc/assets/0a7ebfd4.95e34a20.png",q="/doc/assets/678a19f2.204171a6.png",v=JSON.parse('{"title":"应用管理","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理/应用管理.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理/应用管理.md","lastUpdated":1705031091000}'),k={name:"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理/应用管理.md"},D=s('

应用管理

描述:负责应用的管理及版本的维护

3.7.1 应用创建

(1)点击“创建应用”按钮

(2)填写应用的基本信息,点击确定;

配置项说明约束举例
名称中文简称DDD可视化开发平台
标识符英文名,以驼峰命名团队的应用中标识符唯一WdVisualDDD
起始版本号第一个版本号符合语义化版本的标准0.0.1、0.0.1-SNAPSHOT
描述描述信息DDD可视化开发平台

3.7.2 应用编辑

(1)点击“设置”按钮

(2)编辑应用信息,点击确定

约束:标识符不能修改

3.7.3 应用删除

暂不支持删除应用

3.7.4 应用概览

描述:用于展示应用的简介及概览图等信息

3.7.5 应用版本创建(Fork)

(1)点击“Fork版本”按钮

(2)填写新版本信息

约束:新版本号必须大于旧版本

3.7.6 应用版本跳转

(1)点击“查看历史版本”按钮

(2)点击“跳转”按钮,即可跳转到对应版本界面

3.7.7 应用版本删除

为核心数据,暂不支持版本删除功能

3.7.8 关联业务域

(1)点击“关联业务域”按钮

(2)选择需要关联的业务域版本

3.7.8 关联业务场景

(1)点击“关联业务域”按钮

(2)选择需要关联的业务域版本

3.7.9应用版本发布

约束:需要先发布关联的业务域和业务场景

(1)点击“发布”按钮

(2)填写发布信息,点击确定

(3)查看版本状态为“已发布”

',50),P=[D];function x(S,T,A,N,V,$){return a(),e("div",null,P)}const y=t(k,[["render",x]]);export{v as __pageData,y as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206_\345\272\224\347\224\250\347\256\241\347\220\206.md.26268754.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206_\345\272\224\347\224\250\347\256\241\347\220\206.md.26268754.lean.js" new file mode 100644 index 0000000..eb7c367 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206_\345\272\224\347\224\250\347\256\241\347\220\206.md.26268754.lean.js" @@ -0,0 +1 @@ +import{_ as t,o as a,c as e,S as s}from"./chunks/framework.a3dd33a8.js";const o="/doc/assets/5b60fae0.dc61e5df.png",r="/doc/assets/07b042d9.64e76cd3.png",d="/doc/assets/8294bc57.c90de065.png",p="/doc/assets/3c54e4c5.7f3df4c9.png",c="/doc/assets/8b95f397.47679a50.png",i="/doc/assets/5d606b7a.265055d7.png",n="/doc/assets/29be8170.b86d5f34.png",_="/doc/assets/c015d8e5.5dbebbca.png",l="/doc/assets/0ea1ff14.16f10f3a.png",h="/doc/assets/1ecd0e9a.8dc657fe.png",m="/doc/assets/db0071c7.d9cfd7e7.png",b="/doc/assets/9d5b5b68.ea23a761.png",f="/doc/assets/fc2b4545.e09b43bd.png",u="/doc/assets/0c222ae9.49f16e11.png",g="/doc/assets/0a7ebfd4.95e34a20.png",q="/doc/assets/678a19f2.204171a6.png",v=JSON.parse('{"title":"应用管理","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理/应用管理.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理/应用管理.md","lastUpdated":1705031091000}'),k={name:"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理/应用管理.md"},D=s("",50),P=[D];function x(S,T,A,N,V,$){return a(),e("div",null,P)}const y=t(k,[["render",x]]);export{v as __pageData,y as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206_\347\273\237\344\270\200\350\257\255\350\250\200.md.b1fe716e.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206_\347\273\237\344\270\200\350\257\255\350\250\200.md.b1fe716e.js" new file mode 100644 index 0000000..2406f9e --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206_\347\273\237\344\270\200\350\257\255\350\250\200.md.b1fe716e.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as s}from"./chunks/framework.a3dd33a8.js";const c="/doc/assets/73af8b51.59dee18e.png",o="/doc/assets/5d1b68a3.36b5daf3.png",r="/doc/assets/da391d3e.3252c722.png",p="/doc/assets/1c93c013.25d14ca6.png",i="/doc/assets/14e4b727.2ddc5158.png",l="/doc/assets/424f5942.76c8768d.png",_="/doc/assets/8c339a19.d4af98ea.png",d="/doc/assets/aff7746d.76bfa8b1.png",n="/doc/assets/5c040059.293bf6a2.png",b="/doc/assets/42d815f4.76bd3e0c.png",h="/doc/assets/5cfb26c7.1166c501.png",m="/doc/assets/85cbdab8.12cec2a9.png",S=JSON.parse('{"title":"统一语言","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理/统一语言.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理/统一语言.md","lastUpdated":1705031091000}'),u={name:"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理/统一语言.md"},f=s('

统一语言

描述:负责管理和维护组织和团队的统一语言;通过查看统一语言快速了解组织和团队的专业术语(统一语言) 需要注意的是,组织统一语言是组织内共享的,团队统一语言是团队内共享的。

3.2.1 统一语言新增

点击“新增一行”按钮,新增一条统一语言


3.2.2 统一语言更新

选中需要编辑的统一语言,更新对应的内容


3.2.3 统一语言删除

(1)点击统一语言管理模块,选择要删除的统一语言;

(2)在统一语言详情中点击“删除”按钮,系统会弹出确认框进行二次确认;

(3)点击确认后,该组织将被标记为删除状态并移除统一语言列表。

需要注意的是,在进行统一语言删除操作时,需要进行二次确认,以防止误删;统一语言删除成功后,将无法恢复已删除的统一语言信息,请谨慎操作。


3.2.4 统一语言搜索

(1)在查询页面中输入关键词,例如“昆仑”;

(2)点击“查询”按钮,系统将返回与输入关键词匹配的统一语言列表,用户可以选择查看所需统一语言信息。

需要注意的是,在进行统一语言查询操作时,可以使用关键词搜索来缩减查询的范围,便于快速查找所需统一语言信息。


3.2.5 统一语言导入Excel

(1)点击“导入Excel”按钮


(2)点击“下载模版”按钮,下载统一语言导入模版文件并编辑


(3)将需要导入的Excel文件拖入对话框中


3.2.6 统一语言导出Excel

(1)点击“导出Excel”按钮


(2)下载Excel文件


3.2.7 AI 导入统一语言(辅助)

描述:通过AI快速提取文本中的统一语言,并生成对应的英文名、描述等信息

(1)点击“AI导入”按钮


(2)在文本框中粘贴需要分析的文本,点击“开始分析”按钮


(3)对分析的结果进行筛选后,点击“开始导入”按钮


',34),g=[f];function x(q,k,P,D,E,A){return e(),t("div",null,g)}const T=a(u,[["render",x]]);export{S as __pageData,T as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206_\347\273\237\344\270\200\350\257\255\350\250\200.md.b1fe716e.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206_\347\273\237\344\270\200\350\257\255\350\250\200.md.b1fe716e.lean.js" new file mode 100644 index 0000000..abc3d4a --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206_\347\273\237\344\270\200\350\257\255\350\250\200.md.b1fe716e.lean.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as s}from"./chunks/framework.a3dd33a8.js";const c="/doc/assets/73af8b51.59dee18e.png",o="/doc/assets/5d1b68a3.36b5daf3.png",r="/doc/assets/da391d3e.3252c722.png",p="/doc/assets/1c93c013.25d14ca6.png",i="/doc/assets/14e4b727.2ddc5158.png",l="/doc/assets/424f5942.76c8768d.png",_="/doc/assets/8c339a19.d4af98ea.png",d="/doc/assets/aff7746d.76bfa8b1.png",n="/doc/assets/5c040059.293bf6a2.png",b="/doc/assets/42d815f4.76bd3e0c.png",h="/doc/assets/5cfb26c7.1166c501.png",m="/doc/assets/85cbdab8.12cec2a9.png",S=JSON.parse('{"title":"统一语言","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理/统一语言.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理/统一语言.md","lastUpdated":1705031091000}'),u={name:"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/团队应用管理/统一语言.md"},f=s("",34),g=[f];function x(q,k,P,D,E,A){return e(),t("div",null,g)}const T=a(u,[["render",x]]);export{S as __pageData,T as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\263\273\347\273\237\347\256\241\347\220\206.md.b4210595.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\263\273\347\273\237\347\256\241\347\220\206.md.b4210595.js" new file mode 100644 index 0000000..8dcc792 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\263\273\347\273\237\347\256\241\347\220\206.md.b4210595.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as o}from"./chunks/framework.a3dd33a8.js";const m=JSON.parse('{"title":"系统管理","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/系统管理.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/系统管理.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/系统管理.md"},_=o('

系统管理

描述:本模块为 系统管理员 提供了组织管理,用户管理等子模块,帮助其管理系统配置

1.1 组织管理

描述:负责维护平台的组织体系和角色权限

1.2 用户管理

描述:对系统的用户信息进行管理和维护

',6),c=[_];function s(l,d,n,h,i,p){return e(),t("div",null,c)}const b=a(r,[["render",s]]);export{m as __pageData,b as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\263\273\347\273\237\347\256\241\347\220\206.md.b4210595.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\263\273\347\273\237\347\256\241\347\220\206.md.b4210595.lean.js" new file mode 100644 index 0000000..a997505 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\263\273\347\273\237\347\256\241\347\220\206.md.b4210595.lean.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as o}from"./chunks/framework.a3dd33a8.js";const m=JSON.parse('{"title":"系统管理","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/系统管理.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/系统管理.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/系统管理.md"},_=o("",6),c=[_];function s(l,d,n,h,i,p){return e(),t("div",null,c)}const b=a(r,[["render",s]]);export{m as __pageData,b as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\263\273\347\273\237\347\256\241\347\220\206_\347\224\250\346\210\267\347\256\241\347\220\206.md.00c0e18a.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\263\273\347\273\237\347\256\241\347\220\206_\347\224\250\346\210\267\347\256\241\347\220\206.md.00c0e18a.js" new file mode 100644 index 0000000..1a99a7c --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\263\273\347\273\237\347\256\241\347\220\206_\347\224\250\346\210\267\347\256\241\347\220\206.md.00c0e18a.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as p}from"./chunks/framework.a3dd33a8.js";const o="/doc/assets/3c1ea2f8.86b3ac5f.png",r="/doc/assets/054e7e0b.f2feadbb.png",s="/doc/assets/9fb36522.74c6f698.png",c="/doc/assets/4b36522d.7dbdefc6.png",q=JSON.parse('{"title":"用户管理","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/系统管理/用户管理.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/系统管理/用户管理.md","lastUpdated":1705031091000}'),_={name:"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/系统管理/用户管理.md"},d=p('

用户管理

描述:对系统的用户信息进行管理和维护

1.2.1 用户创建

(1)进入用户管理模块,选择“添加用户”功能;

(2)在弹出的页面中填入用户相关信息,如用户姓名、密码、邮箱等;

(3)点击“保存”按钮,系统将自动创建该用户并分配唯一的用户ID。

需要注意的是,在进行用户创建操作时,必要的信息不能为空,而且用户账号和密码需要真实有效;系统分配的唯一用户ID便于后续的用户管理。


1.2.2 用户更新

(1)进入用户管理模块,选择要编辑的用户;

(2)在用户详情页面中点击“编辑”按钮,进入编辑页面;

(3)在各栏中更新用户相关信息,如用户姓名、密码、邮箱等;

(4)完成修改后,点击“保存”按钮,用户信息更新成功并返回用户详情页。


1.2.3 用户删除

(1)进入用户管理模块,选择要删除的用户;

(2)在用户详情页面中点击“删除”按钮,系统会弹出确认框进行二次确认;

(3)点击确认后,该用户将被标记为删除状态并移除用户列表。

需要注意的是,在进行用户删除操作时,需要进行二次确认,以防止误删;用户删除成功后,将无法恢复已删除的用户信息,请谨慎操作。


1.2.4 用户查询

(1)点击用户管理模块,选择“查询用户”功能;

(2)在弹出的查询页面中输入关键词,例如“张三”;

(3)点击“查询”按钮,系统将返回与输入关键词匹配的用户列表,用户可以选择查看所需用户信息。

需要注意的是,在进行用户查询操作时,可以使用关键词搜索来缩减查询的范围,便于快速查找所需用户信息。


',26),i=[d];function n(l,h,b,m,f,u){return e(),t("div",null,i)}const g=a(_,[["render",n]]);export{q as __pageData,g as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\263\273\347\273\237\347\256\241\347\220\206_\347\224\250\346\210\267\347\256\241\347\220\206.md.00c0e18a.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\263\273\347\273\237\347\256\241\347\220\206_\347\224\250\346\210\267\347\256\241\347\220\206.md.00c0e18a.lean.js" new file mode 100644 index 0000000..e7b3496 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\263\273\347\273\237\347\256\241\347\220\206_\347\224\250\346\210\267\347\256\241\347\220\206.md.00c0e18a.lean.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as p}from"./chunks/framework.a3dd33a8.js";const o="/doc/assets/3c1ea2f8.86b3ac5f.png",r="/doc/assets/054e7e0b.f2feadbb.png",s="/doc/assets/9fb36522.74c6f698.png",c="/doc/assets/4b36522d.7dbdefc6.png",q=JSON.parse('{"title":"用户管理","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/系统管理/用户管理.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/系统管理/用户管理.md","lastUpdated":1705031091000}'),_={name:"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/系统管理/用户管理.md"},d=p("",26),i=[d];function n(l,h,b,m,f,u){return e(),t("div",null,i)}const g=a(_,[["render",n]]);export{q as __pageData,g as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\263\273\347\273\237\347\256\241\347\220\206_\347\273\204\347\273\207\347\256\241\347\220\206.md.602ade41.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\263\273\347\273\237\347\256\241\347\220\206_\347\273\204\347\273\207\347\256\241\347\220\206.md.602ade41.js" new file mode 100644 index 0000000..eece892 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\263\273\347\273\237\347\256\241\347\220\206_\347\273\204\347\273\207\347\256\241\347\220\206.md.602ade41.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as p}from"./chunks/framework.a3dd33a8.js";const s="/doc/assets/52e14f2c.22fd7a78.png",o="/doc/assets/4fe2bd9d.7f593e90.png",r="/doc/assets/4988f0ab.5e3cbad0.png",c="/doc/assets/1a6761f2.c787395e.png",_="/doc/assets/68b0e0f3.f9612ae3.png",d="/doc/assets/dd31e24a.a990cfdd.png",k=JSON.parse('{"title":"组织管理","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/系统管理/组织管理.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/系统管理/组织管理.md","lastUpdated":1705031091000}'),i={name:"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/系统管理/组织管理.md"},n=p('

组织管理

描述:负责维护平台的组织体系和角色权限

1.1.1 组织创建

(1)点击组织管理模块,选择“添加组织”功能;

(2)在弹出的页面“组织名称”栏中输入组织名称,例如“昆仑云”;

(4)在“描述”栏中输入该部门的描述信息;

(4)在“管理员”栏中选择用户作为该部门的管理员;

(5)点击“保存”按钮,系统将自动创建该部门并分配唯一的组织ID。


1.1.2 组织更新

(1)进入组织管理模块,选择要编辑的组织;

(2)在组织详情中点击“编辑”按钮,进入编辑页面;

(3)在各栏中更新组织相关信息, 如组织名称、描述、关联管理员等;

(4)完成修改后,点击“保存”按钮,组织信息更新成功并返回组织详情页。


1.1.3 组织删除

(1)点击组织管理模块,选择要删除的组织;

(2)在组织详情中点击“删除”按钮,系统会弹出确认框进行二次确认;

(3)点击确认后,该组织将被标记为删除状态并移除组织列表。

需要注意的是,在进行组织删除操作时,需要进行二次确认,以防止误删;组织删除成功后,将无法恢复已删除的组织信息,请谨慎操作。


1.1.4 组织查询

(1)点击组织管理模块,选择“查询组织”功能;

(2)在弹出的查询页面中输入关键词,例如“昆仑云”;

(3)点击“查询”按钮,系统将返回与输入关键词匹配的组织列表,用户可以选择查看所需部门信息。

需要注意的是,在进行组织查询操作时,可以使用关键词搜索来缩减查询的范围,便于快速查找所需部门信息。


1.1.5 组织跳转

(1)点击组织管理模块,选择“进入空间”功能,即可快速跳转到对应组织管理界面;


(2)进入组织对应的团队管理界面


',32),l=[n];function h(b,m,f,u,q,g){return e(),t("div",null,l)}const P=a(i,[["render",h]]);export{k as __pageData,P as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\263\273\347\273\237\347\256\241\347\220\206_\347\273\204\347\273\207\347\256\241\347\220\206.md.602ade41.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\263\273\347\273\237\347\256\241\347\220\206_\347\273\204\347\273\207\347\256\241\347\220\206.md.602ade41.lean.js" new file mode 100644 index 0000000..401d0d0 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\263\273\347\273\237\347\256\241\347\220\206_\347\273\204\347\273\207\347\256\241\347\220\206.md.602ade41.lean.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as p}from"./chunks/framework.a3dd33a8.js";const s="/doc/assets/52e14f2c.22fd7a78.png",o="/doc/assets/4fe2bd9d.7f593e90.png",r="/doc/assets/4988f0ab.5e3cbad0.png",c="/doc/assets/1a6761f2.c787395e.png",_="/doc/assets/68b0e0f3.f9612ae3.png",d="/doc/assets/dd31e24a.a990cfdd.png",k=JSON.parse('{"title":"组织管理","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/系统管理/组织管理.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/系统管理/组织管理.md","lastUpdated":1705031091000}'),i={name:"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/系统管理/组织管理.md"},n=p("",32),l=[n];function h(b,m,f,u,q,g){return e(),t("div",null,l)}const P=a(i,[["render",h]]);export{k as __pageData,P as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\273\204\347\273\207\345\233\242\351\230\237\347\256\241\347\220\206.md.24c6d5c1.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\273\204\347\273\207\345\233\242\351\230\237\347\256\241\347\220\206.md.24c6d5c1.js" new file mode 100644 index 0000000..55e9de6 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\273\204\347\273\207\345\233\242\351\230\237\347\256\241\347\220\206.md.24c6d5c1.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as o}from"./chunks/framework.a3dd33a8.js";const r="/doc/assets/630dc00d.5208db46.png",c="/doc/assets/c7870c19.d7081473.png",q=JSON.parse('{"title":"组织团队管理","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/组织团队管理.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/组织团队管理.md","lastUpdated":1705031091000}'),s={name:"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/组织团队管理.md"},_=o('

组织团队管理

描述:本模块为 组织管理员 提供了组织管理的子模块,帮助其管理自己的组织

2.1 进入组织

描述:进入当前账号管理的组织

(1)当系统管理员将当前账号关联到组织后(1.1.1),可以在选择空间中看到自己管理的组织列表;


(2)点击进入组织后,可以对当前组织下的团队进行管理

2.2 团队管理

描述:对当前组织下的团队进行管理和维护

2.3 团队成员管理

描述:负责管理团队下的成员信息,授权团队的访问权限;

',11),d=[_];function l(n,i,p,h,u,b){return e(),t("div",null,d)}const f=a(s,[["render",l]]);export{q as __pageData,f as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\273\204\347\273\207\345\233\242\351\230\237\347\256\241\347\220\206.md.24c6d5c1.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\273\204\347\273\207\345\233\242\351\230\237\347\256\241\347\220\206.md.24c6d5c1.lean.js" new file mode 100644 index 0000000..2e8b04d --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\273\204\347\273\207\345\233\242\351\230\237\347\256\241\347\220\206.md.24c6d5c1.lean.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as o}from"./chunks/framework.a3dd33a8.js";const r="/doc/assets/630dc00d.5208db46.png",c="/doc/assets/c7870c19.d7081473.png",q=JSON.parse('{"title":"组织团队管理","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/组织团队管理.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/组织团队管理.md","lastUpdated":1705031091000}'),s={name:"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/组织团队管理.md"},_=o("",11),d=[_];function l(n,i,p,h,u,b){return e(),t("div",null,d)}const f=a(s,[["render",l]]);export{q as __pageData,f as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\273\204\347\273\207\345\233\242\351\230\237\347\256\241\347\220\206_\345\233\242\351\230\237\346\210\220\345\221\230\347\256\241\347\220\206.md.9abc13cf.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\273\204\347\273\207\345\233\242\351\230\237\347\256\241\347\220\206_\345\233\242\351\230\237\346\210\220\345\221\230\347\256\241\347\220\206.md.9abc13cf.js" new file mode 100644 index 0000000..fa5e2bf --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\273\204\347\273\207\345\233\242\351\230\237\347\256\241\347\220\206_\345\233\242\351\230\237\346\210\220\345\221\230\347\256\241\347\220\206.md.9abc13cf.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as o}from"./chunks/framework.a3dd33a8.js";const r="/doc/assets/3d922f12.f88bf460.png",s="/doc/assets/bd36e47c.1aef0fac.png",_="/doc/assets/ab0b86b7.9e09678f.png",D=JSON.parse('{"title":"团队成员管理","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/组织团队管理/团队成员管理.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/组织团队管理/团队成员管理.md","lastUpdated":1705031091000}'),c={name:"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/组织团队管理/团队成员管理.md"},p=o('

团队成员管理

描述:负责管理团队下的成员信息,授权团队的访问权限;

2.3.1 团队成员绑定

(1)点击团队成员管理模块,选择“添加团队成员”功能;

(2)在页面“成员名称”栏中搜索团队名称,例如“张三”;

(3)点击“添加”按钮,系统将自动关联该团队成员。

需要注意的是,在进行用户查询操作时,除了使用名称搜索,也可以使用邮箱搜索来缩减查询的范围,便于快速查找所需用户。

2.3.2 团队成员更新角色

(1)点击团队成员管理模块,找到需要更新角色的用户;

(2)在页面“成员角色”栏中选择角色,例如“开发者”;

2.3.3 团队成员解绑

(1)点击团队成员管理模块,选择要删除的团队成员;

(2)在团队成员详情中点击“删除”按钮,该成员将被移除成员列表。

',13),n=[p];function d(i,l,h,b,m,f){return e(),t("div",null,n)}const q=a(c,[["render",d]]);export{D as __pageData,q as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\273\204\347\273\207\345\233\242\351\230\237\347\256\241\347\220\206_\345\233\242\351\230\237\346\210\220\345\221\230\347\256\241\347\220\206.md.9abc13cf.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\273\204\347\273\207\345\233\242\351\230\237\347\256\241\347\220\206_\345\233\242\351\230\237\346\210\220\345\221\230\347\256\241\347\220\206.md.9abc13cf.lean.js" new file mode 100644 index 0000000..28f6b7c --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\273\204\347\273\207\345\233\242\351\230\237\347\256\241\347\220\206_\345\233\242\351\230\237\346\210\220\345\221\230\347\256\241\347\220\206.md.9abc13cf.lean.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as o}from"./chunks/framework.a3dd33a8.js";const r="/doc/assets/3d922f12.f88bf460.png",s="/doc/assets/bd36e47c.1aef0fac.png",_="/doc/assets/ab0b86b7.9e09678f.png",D=JSON.parse('{"title":"团队成员管理","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/组织团队管理/团队成员管理.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/组织团队管理/团队成员管理.md","lastUpdated":1705031091000}'),c={name:"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/组织团队管理/团队成员管理.md"},p=o("",13),n=[p];function d(i,l,h,b,m,f){return e(),t("div",null,n)}const q=a(c,[["render",d]]);export{D as __pageData,q as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\273\204\347\273\207\345\233\242\351\230\237\347\256\241\347\220\206_\345\233\242\351\230\237\347\256\241\347\220\206.md.dcf5f580.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\273\204\347\273\207\345\233\242\351\230\237\347\256\241\347\220\206_\345\233\242\351\230\237\347\256\241\347\220\206.md.dcf5f580.js" new file mode 100644 index 0000000..bdcb481 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\273\204\347\273\207\345\233\242\351\230\237\347\256\241\347\220\206_\345\233\242\351\230\237\347\256\241\347\220\206.md.dcf5f580.js" @@ -0,0 +1 @@ +import{_ as a,o as t,c as e,S as s}from"./chunks/framework.a3dd33a8.js";const o="/doc/assets/2339cb98.9f405ffb.png",r="/doc/assets/351c9dab.2c391c4f.png",p="/doc/assets/21ba715c.ee56f860.png",c="/doc/assets/bf026dca.cee38d94.png",_="/doc/assets/b0a50304.46a140ad.png",i="/doc/assets/869f4ace.a262d780.png",k=JSON.parse('{"title":"团队管理","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/组织团队管理/团队管理.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/组织团队管理/团队管理.md","lastUpdated":1705031091000}'),n={name:"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/组织团队管理/团队管理.md"},d=s('

团队管理

描述:对当前组织下的团队进行管理和维护

2.2.1 团队创建

(1)点击团队管理模块,选择“添加团队”功能;

(2)在弹出的页面“团队名称”栏中输入团队名称,例如“开发云”;

(4)在“描述”栏中输入该团队的描述信息;

(4)在“管理员”栏中选择用户作为该团队的管理员;

(5)点击“保存”按钮,系统将自动创建该团队并分配唯一的组织ID。

2.2.2 团队更新

(1)进入团队管理模块,选择要编辑的团队;

(2)在团队详情中点击“编辑”按钮,进入编辑页面;

(3)在各栏中更新团队相关信息, 如组织名称、描述、关联管理员等;

(4)完成修改后,点击“保存”按钮,团队信息更新成功并返回团队详情页。

2.2.3 团队删除

(1)点击团队管理模块,选择要删除的团队;

(2)在团队详情中点击“删除”按钮,系统会弹出确认框进行二次确认;

(3)点击确认后,该组织将被标记为删除状态并移除团队列表。

需要注意的是,在进行团队删除操作时,需要进行二次确认,以防止误删;团队删除成功后,将无法恢复已删除的团队信息,请谨慎操作。

2.2.4 团队查询

(1)点击团队管理模块,选择“查询团队”功能;

(2)在弹出的查询页面中输入关键词,例如“开发云”;

(3)点击“查询”按钮,系统将返回与输入关键词匹配的团队列表,用户可以选择查看所需团队信息。

需要注意的是,在进行团队查询操作时,可以使用关键词搜索来缩减查询的范围,便于快速查找所需团队信息。

2.2.5 团队跳转

(1)点击团队管理模块,选择“进入空间”功能,即可快速跳转到对应团队管理界面;

(2)进入团队对应的团队首页

',26),l=[d];function h(b,m,u,f,q,g){return t(),e("div",null,l)}const P=a(n,[["render",h]]);export{k as __pageData,P as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\273\204\347\273\207\345\233\242\351\230\237\347\256\241\347\220\206_\345\233\242\351\230\237\347\256\241\347\220\206.md.dcf5f580.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\273\204\347\273\207\345\233\242\351\230\237\347\256\241\347\220\206_\345\233\242\351\230\237\347\256\241\347\220\206.md.dcf5f580.lean.js" new file mode 100644 index 0000000..c1f9059 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206_\347\273\204\347\273\207\345\233\242\351\230\237\347\256\241\347\220\206_\345\233\242\351\230\237\347\256\241\347\220\206.md.dcf5f580.lean.js" @@ -0,0 +1 @@ +import{_ as a,o as t,c as e,S as s}from"./chunks/framework.a3dd33a8.js";const o="/doc/assets/2339cb98.9f405ffb.png",r="/doc/assets/351c9dab.2c391c4f.png",p="/doc/assets/21ba715c.ee56f860.png",c="/doc/assets/bf026dca.cee38d94.png",_="/doc/assets/b0a50304.46a140ad.png",i="/doc/assets/869f4ace.a262d780.png",k=JSON.parse('{"title":"团队管理","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/组织团队管理/团队管理.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/组织团队管理/团队管理.md","lastUpdated":1705031091000}'),n={name:"base/product/DDD可视化开发平台文档/操作指南/平台和项目管理/组织团队管理/团队管理.md"},d=s("",26),l=[d];function h(b,m,u,f,q,g){return t(),e("div",null,l)}const P=a(n,[["render",h]]);export{k as __pageData,P as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260.md.4980bf0a.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260.md.4980bf0a.js" new file mode 100644 index 0000000..0041786 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260.md.4980bf0a.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as o}from"./chunks/framework.a3dd33a8.js";const u=JSON.parse('{"title":"应用开发平台","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/应用开发平台.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/应用开发平台.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/操作指南/应用开发平台.md"},_=o('

应用开发平台

描述:应用开发平台是DDD可视化开发平台中的工具集,通过IDEA插件集成, 帮助开发人员根据可视化设计的领域模型生成应用代码,提高开发效率和代码质量。

应用开发平台概述

IDEA插件集成

描述:VisualDDD(DDD可视化开发平台)插件可以通过关联项目和业务域、业务场景,快速生成代码, 并支持自定义项目信息和输出路径,以及生成项目框架。

',5),c=[_];function s(d,l,D,i,n,p){return e(),t("div",null,c)}const m=a(r,[["render",s]]);export{u as __pageData,m as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260.md.4980bf0a.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260.md.4980bf0a.lean.js" new file mode 100644 index 0000000..371f443 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260.md.4980bf0a.lean.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as o}from"./chunks/framework.a3dd33a8.js";const u=JSON.parse('{"title":"应用开发平台","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/应用开发平台.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/应用开发平台.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/操作指南/应用开发平台.md"},_=o("",5),c=[_];function s(d,l,D,i,n,p){return e(),t("div",null,c)}const m=a(r,[["render",s]]);export{u as __pageData,m as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260_IDEA\346\217\222\344\273\266\351\233\206\346\210\220.md.a1d3b2cf.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260_IDEA\346\217\222\344\273\266\351\233\206\346\210\220.md.a1d3b2cf.js" new file mode 100644 index 0000000..9dc1a71 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260_IDEA\346\217\222\344\273\266\351\233\206\346\210\220.md.a1d3b2cf.js" @@ -0,0 +1 @@ +import{_ as t,o as l,c as a,S as e}from"./chunks/framework.a3dd33a8.js";const o="/doc/assets/fbbdc4e1.a5afeb47.png",i="/doc/assets/513402b3.c7fbe0e6.png",s="/doc/assets/6a13c605.aa4f5236.png",f=JSON.parse('{"title":"VisualDDD(DDD可视化开发平台)","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/应用开发平台/IDEA插件集成.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/应用开发平台/IDEA插件集成.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/操作指南/应用开发平台/IDEA插件集成.md"},D=e('

VisualDDD(DDD可视化开发平台)

描述:VisualDDD(DDD可视化开发平台)插件可以通过关联项目和业务域、业务场景,快速生成代码, 并支持自定义项目信息和输出路径,以及生成项目框架。

环境准备

进入 DDD可视化开发平台 创建项目,关联需要的业务域、业务场景

快速开始

一、 安装VisualDDD(DDD可视化开发平台)插件

  1. 设置私服地址(推荐)

  • 添加插件私服地址

http://172.26.63.193/updatePlugins.xml

  • 搜索插件VisualDDD

二、 登录平台账号

tips: 同平台账号

三、 关联平台配置

将当前项目同平台应用进行关联绑定

四、 生成代码

  • 点击刷新,拉取最新的应用信息、关联业务域和业务场景信息
  • 支持自定义项目信息(不影响平台数据,只对代码生成有效)
    • 唯一标识 -- 默认应用标识,可重写为项目名称
    • 包路径 -- 默认应用包路径,可重写为项目包结构
    • 版本号 -- 默认应用版本号,可重写为项目版本号
  • 支持勾选需要生成的业务域、业务场景
  • 支持自定义输出路径
    • 默认生成到当前项目下
    • 如果要将生成代码加入当前项目,则可以输出到当前项目的上一级目录下
  • 支持生成项目框架

',19),p=[D];function c(d,n,u,_,h,b){return l(),a("div",null,p)}const g=t(r,[["render",c]]);export{f as __pageData,g as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260_IDEA\346\217\222\344\273\266\351\233\206\346\210\220.md.a1d3b2cf.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260_IDEA\346\217\222\344\273\266\351\233\206\346\210\220.md.a1d3b2cf.lean.js" new file mode 100644 index 0000000..d51e444 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260_IDEA\346\217\222\344\273\266\351\233\206\346\210\220.md.a1d3b2cf.lean.js" @@ -0,0 +1 @@ +import{_ as t,o as l,c as a,S as e}from"./chunks/framework.a3dd33a8.js";const o="/doc/assets/fbbdc4e1.a5afeb47.png",i="/doc/assets/513402b3.c7fbe0e6.png",s="/doc/assets/6a13c605.aa4f5236.png",f=JSON.parse('{"title":"VisualDDD(DDD可视化开发平台)","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/应用开发平台/IDEA插件集成.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/应用开发平台/IDEA插件集成.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/操作指南/应用开发平台/IDEA插件集成.md"},D=e("",19),p=[D];function c(d,n,u,_,h,b){return l(),a("div",null,p)}const g=t(r,[["render",c]]);export{f as __pageData,g as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260_\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260\346\246\202\350\277\260.md.f6e1a4f1.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260_\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260\346\246\202\350\277\260.md.f6e1a4f1.js" new file mode 100644 index 0000000..13cf920 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260_\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260\346\246\202\350\277\260.md.f6e1a4f1.js" @@ -0,0 +1 @@ +import{_ as t,o as a,c as s,k as e,a as o}from"./chunks/framework.a3dd33a8.js";const x=JSON.parse('{"title":"应用开发平台概述","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/应用开发平台/应用开发平台概述.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/应用开发平台/应用开发平台概述.md","lastUpdated":1705031091000}'),_={name:"base/product/DDD可视化开发平台文档/操作指南/应用开发平台/应用开发平台概述.md"},r=e("h1",{id:"应用开发平台概述",tabindex:"-1"},[o("应用开发平台概述 "),e("a",{class:"header-anchor",href:"#应用开发平台概述","aria-label":'Permalink to "应用开发平台概述"'},"​")],-1),c=e("p",null,"应用开发平台是DDD可视化开发平台中的一个重要组成部分,它提供了一套工具集,用于根据可视化设计的领域模型生成应用代码。通过应用开发平台,开发人员可以在IDEA中使用相应的插件集成,以便更高效地进行应用开发。",-1),n=e("p",null,"IDEA插件集成模块是应用开发平台的核心组件,它为开发人员提供了丰富的功能和工具,以支持代码的自动生成和维护。通过可视化设计的领域模型,开发人员可以使用IDEA插件生成与模型相匹配的领域对象、聚合根、实体、值对象等核心代码。这样可以大大减少手动编写代码的工作量,并保证生成的代码与模型的一致性。",-1),d=e("p",null,"综上所述,应用开发平台是基于DDD可视化平台的模型生成代码的工具集,通过IDEA插件集成,帮助开发人员更高效地进行应用开发,减少手动编写代码的工作量,并保证代码与模型的一致性。",-1),l=[r,c,n,d];function D(i,p,h,u,m,f){return a(),s("div",null,l)}const E=t(_,[["render",D]]);export{x as __pageData,E as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260_\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260\346\246\202\350\277\260.md.f6e1a4f1.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260_\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260\346\246\202\350\277\260.md.f6e1a4f1.lean.js" new file mode 100644 index 0000000..13cf920 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\223\215\344\275\234\346\214\207\345\215\227_\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260_\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260\346\246\202\350\277\260.md.f6e1a4f1.lean.js" @@ -0,0 +1 @@ +import{_ as t,o as a,c as s,k as e,a as o}from"./chunks/framework.a3dd33a8.js";const x=JSON.parse('{"title":"应用开发平台概述","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/操作指南/应用开发平台/应用开发平台概述.md","filePath":"base/product/DDD可视化开发平台文档/操作指南/应用开发平台/应用开发平台概述.md","lastUpdated":1705031091000}'),_={name:"base/product/DDD可视化开发平台文档/操作指南/应用开发平台/应用开发平台概述.md"},r=e("h1",{id:"应用开发平台概述",tabindex:"-1"},[o("应用开发平台概述 "),e("a",{class:"header-anchor",href:"#应用开发平台概述","aria-label":'Permalink to "应用开发平台概述"'},"​")],-1),c=e("p",null,"应用开发平台是DDD可视化开发平台中的一个重要组成部分,它提供了一套工具集,用于根据可视化设计的领域模型生成应用代码。通过应用开发平台,开发人员可以在IDEA中使用相应的插件集成,以便更高效地进行应用开发。",-1),n=e("p",null,"IDEA插件集成模块是应用开发平台的核心组件,它为开发人员提供了丰富的功能和工具,以支持代码的自动生成和维护。通过可视化设计的领域模型,开发人员可以使用IDEA插件生成与模型相匹配的领域对象、聚合根、实体、值对象等核心代码。这样可以大大减少手动编写代码的工作量,并保证生成的代码与模型的一致性。",-1),d=e("p",null,"综上所述,应用开发平台是基于DDD可视化平台的模型生成代码的工具集,通过IDEA插件集成,帮助开发人员更高效地进行应用开发,减少手动编写代码的工作量,并保证代码与模型的一致性。",-1),l=[r,c,n,d];function D(i,p,h,u,m,f){return a(),s("div",null,l)}const E=t(_,[["render",D]]);export{x as __pageData,E as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\234\200\344\275\263\345\256\236\350\267\265.md.a4231724.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\234\200\344\275\263\345\256\236\350\267\265.md.a4231724.js" new file mode 100644 index 0000000..c6c12d7 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\234\200\344\275\263\345\256\236\350\267\265.md.a4231724.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as _}from"./chunks/framework.a3dd33a8.js";const m=JSON.parse('{"title":"最佳实践","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/最佳实践.md","filePath":"base/product/DDD可视化开发平台文档/最佳实践.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/最佳实践.md"},o=_('

最佳实践

DDD 产物规范

DDD可视化平台的DSL设计

代码生成模块最佳实践

',4),s=[o];function D(c,d,n,p,h,i){return e(),t("div",null,s)}const f=a(r,[["render",D]]);export{m as __pageData,f as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\234\200\344\275\263\345\256\236\350\267\265.md.a4231724.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\234\200\344\275\263\345\256\236\350\267\265.md.a4231724.lean.js" new file mode 100644 index 0000000..6d0b2e3 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\234\200\344\275\263\345\256\236\350\267\265.md.a4231724.lean.js" @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,S as _}from"./chunks/framework.a3dd33a8.js";const m=JSON.parse('{"title":"最佳实践","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/最佳实践.md","filePath":"base/product/DDD可视化开发平台文档/最佳实践.md","lastUpdated":1705031091000}'),r={name:"base/product/DDD可视化开发平台文档/最佳实践.md"},o=_("",4),s=[o];function D(c,d,n,p,h,i){return e(),t("div",null,s)}const f=a(r,[["render",D]]);export{m as __pageData,f as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\234\200\344\275\263\345\256\236\350\267\265_DDD\344\272\247\347\211\251\350\247\204\350\214\203.md.b6471fbb.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\234\200\344\275\263\345\256\236\350\267\265_DDD\344\272\247\347\211\251\350\247\204\350\214\203.md.b6471fbb.js" new file mode 100644 index 0000000..c2c16ae --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\234\200\344\275\263\345\256\236\350\267\265_DDD\344\272\247\347\211\251\350\247\204\350\214\203.md.b6471fbb.js" @@ -0,0 +1 @@ +import{_ as t,o as l,c as r,S as a}from"./chunks/framework.a3dd33a8.js";const o="/doc/assets/20230918_1452235725.08101814.png",i="/doc/assets/20230918_1452245746.802aea99.png",s="/doc/assets/20230918_1452267377.84229ffe.png",n="/doc/assets/20230918_1452285699.02228dc7.png",e="/doc/assets/20230918_1452293699.f0aba6f2.png",g="/doc/assets/20230918_1452296549.78ce27db.png",p="/doc/assets/20230918_1452309130.d0986791.png",d="/doc/assets/20230918_1452314855.2b4051a8.png",x=JSON.parse('{"title":"考虑的维度","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/最佳实践/DDD产物规范.md","filePath":"base/product/DDD可视化开发平台文档/最佳实践/DDD产物规范.md","lastUpdated":1705031091000}'),u={name:"base/product/DDD可视化开发平台文档/最佳实践/DDD产物规范.md"},h=a('

考虑的维度

  • 使用便利性维度 -> 人,灵活、 -> 二义性、歧义 -> 易用性
  • 标准、管理、约束维度 -> 机器, 通过形式化 -> 过程、结果标准化,

概览


业务场景

定义:主要表现形式就是一个业务流程图,用于表示业务场景下,各个角色的交互行为 输入角色:产品 关联角色:产品,架构师,开发 包含内容: 开始,业务活动,决策节点,注释节点,结束,版本号管理 规则

  • 在领域模型图完成之后,架构师可以对业务场景中的业务活动绑定业务域中提供的能力,
  • 若一个业务活动绑定的多个领域的能力,则需要考虑是否需要拆分多个业务活动
  • 一个业务活动可以绑定同一个领域的多个能力
  • 一个业务域在同一个场景下版本号是一致的

输入时机

  • 领域建模之前,产品输入

应用场景

  • 产品:应用于梳理产品的业务逻辑
  • 架构师:在领域模型图构建前的必要知识,作为场景分析的主线流程的输入
  • 应用概览图:构建领域,应用上下文依赖关系的依据
  • 对专业领域业务知识的沉淀

**表现形式 **:image.png

场景分析

定义:基于产品业务流程的输入,分析业务流的完整性,业务流节点产生的业务规则 输入角色:产品,架构师,开发者 关联角色:产品,架构师,开发,测试,业务,项目经理 包含内容:指令,事件,业务流, 规则 规则

  • 通过分析产品的愿景,核心价值驱动,带入角色分析业务场景的完整性
  • 业务规则:执行业务流节点是他的约束是什么, 执行业务流节点后他产生的影响是什么

输入时机

  • 在领域建模前期

应用场景

  • 作为沟通的桥梁,统一了业务与技术对业务的表达方式
  • 指导开发人员编写代码, 指导测试人员写测试用例,指导产品检测验收标准

表现形式

image.png

统一语言

定义:统一语言(Ubiquitous Language)是一种业务方与技术方共同使用的共同语言(Common Language),业务方与技术方通过共同语言描述业务规则与需求变动,并且与团队达成一致 输入角色:产品,架构师,开发者 关联角色:产品,架构师,开发,测试,业务,项目经理 包含内容:统一的领域术语, 领域行为的描述 范围:团队, 应用,业务域 规则

  • 在领域建模过程中,我们往往需要在文档中建立一个大家一致认可的术语表。
  • 统一语言贯穿了产品需求,架构设计,代码编写,测试, 验收的全流程。
  • 统一语言在同一个范围内则不能存在二义性
  • 在维护领域术语表时,一定需要给出对应的英文术语,否则可能直接影响到代码实现
  • 为难以理解的术语提供具体的案例。

输入时机

  • 贯穿整个领域建模的设计,产品,架构师,开发者

应用场景

  • 在需求分析,领域建模,详细设计过程中作为沟通的桥梁,统一了业务与技术的表达方式
  • 在统一语言达成共识之后, 最终还会体现在代码上
  • 构建领域,应用上下文依赖关系的依据
  • 后期业务知识的沉淀
  • 领域建模中类名,方法名,属性等字段的自动补全,代码的拼写检查

表现形式

概念英文定义约束举例范围
资源ResourceBD进行销售活动的对象POI全局
公海PublicSea业务目标限定的模拟资源全集也业务目标对应,比如交易公海是为了做交易,推广公海是为了推广业务目标是团购买单合作,限定POI为到餐全国和综合58同城的SCRM

统一语言哪里来

  • 如果我们长期处于某个领域的话,肯定会有一些俗语,俗话,术语,常用语,技术用语,活动概念。如果在领域专家和开发人员之间也能建立一种语言,是不是就可以让他们使用这种语言进行交流,进而解决沟通不顺畅的问题。

产品愿景

定义:产品愿景是对产品顶层价值设计,对产品目标用户、核心价值、差异化竞争点等信息达成一致,避免产品偏离方向 角色:产品 关联角色:产品,架构师,开发 包含内容:产品目标用户、核心价值、差异化竞争点 规则

  • 尽可能使用一句话描述清楚

应用场景

  • 明确系统建设重点,统一团队建设目标和建立通用语言

示例

  • 为了满足内外部人员,他们的在线请假、自动考勤统计和外部人员管理的需求,我们建设这个在线请假考勤系统,它是一个在线请假平台,可以自动考勤统计。它可以同时支持内外网请假,同时管理内外部人员请假和定期考勤分析,而不像 HR 系统,只管理内部人员,且只能内网使用。我们的产品内外网皆可使用,可实现内外部人员无差异管理

image.png

领域模型图

定义:描述业务领域内的业务实体,业务行为,以及实体之间的关系 角色:产品 关联角色:产品,架构师,开发 包含内容: 指令(支持配置定时任务、事件、Web RPC等来源),事件,领域对象(聚合根,实体, 值对象, 仓储)领域服务,视图 规则:在领域模型图完成之后,架构师可以对业务场景中的业务活动绑定业务域中提供的能力 应用场景:

  • 产品:产品做过程验收时,能实时的看到开发设计的变化
  • 架构师:描述业务流程,以及业务的规则的体现
  • 开发者:可以按照模型图指导进行编码

表现形式: image.png
领域模型图在代码生成脚手架生成时,会映射到controller, rpc 的接口实现。 在后续做双向同步时则只修改属性,方法签名,以及类的名字即可。

业务概览图

定义:业务域的总览图,可以 映射定位到业务域的各个环节 角色:产品 关联角色:产品,架构师,开发 包含内容: ER图统计数据, 统一语言统计量,领域模对象的统计,接口数量统计,产品愿景,版本记录,领域的能力图谱(提供的api,提供的事件,消费的事件,定时任务) 规则:全局的描述了应用的信息, 会显示更新日志 应用场景:

  • 产品:产品做过程验收时,能实时的看到开发设计的变化
  • 架构师:在各个维度对架构的描述,关系等, 更有益于架构的设计
  • 开发者:在做二开的时候,更方面的收集资料

表现形式:

应用概览图

定义:应用的总览图,可以 映射定位到应用的各个环节 角色:产品,架构师 关联角色:产品,架构师,开发 包含内容: 应用基本信息, ER图统计数据, 统一语言统计量,领域模对象的统计,接口数量统计,产品愿景,版本记录,业务场景图,产品愿景,应用的能力图谱(提供的api,提供的事件,消费的事件,消费的api),上下文映射图(关联了哪些应用、业务域),版本号的统计数据 规则:全局的描述了应用的信息, 会显示更新日志 应用场景:

  • 产品:产品做过程验收时,能实时的看到开发设计的变化
  • 架构师:在各个维度对架构的描述,关系等, 更有益于架构的设计
  • 开发者:在做二开的时候,更方面的收集资料

表现形式: image.png

ER 图

定义:描述产品需要达成的目标 角色:产品 关联角色:产品,架构师,开发 包含内容: 实体,属性,关系 规则

  • 业务聚合类的数据表, 尽可能简单
  • 查询类的数据表,针对存在条件查询的,尽可能多一些冗余

应用场景:

  • 业务数据存储
  • 视图数据的存储

表现形式

  • 数据表的列表

image.png

  • ER 关系图

image.png

附录

18 | 知识点串讲:基于DDD的微服务设计实例-极客时间

',64),c=[h];function _(m,b,D,f,q,P){return l(),r("div",null,c)}const R=t(u,[["render",_]]);export{x as __pageData,R as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\234\200\344\275\263\345\256\236\350\267\265_DDD\344\272\247\347\211\251\350\247\204\350\214\203.md.b6471fbb.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\234\200\344\275\263\345\256\236\350\267\265_DDD\344\272\247\347\211\251\350\247\204\350\214\203.md.b6471fbb.lean.js" new file mode 100644 index 0000000..58ae785 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\234\200\344\275\263\345\256\236\350\267\265_DDD\344\272\247\347\211\251\350\247\204\350\214\203.md.b6471fbb.lean.js" @@ -0,0 +1 @@ +import{_ as t,o as l,c as r,S as a}from"./chunks/framework.a3dd33a8.js";const o="/doc/assets/20230918_1452235725.08101814.png",i="/doc/assets/20230918_1452245746.802aea99.png",s="/doc/assets/20230918_1452267377.84229ffe.png",n="/doc/assets/20230918_1452285699.02228dc7.png",e="/doc/assets/20230918_1452293699.f0aba6f2.png",g="/doc/assets/20230918_1452296549.78ce27db.png",p="/doc/assets/20230918_1452309130.d0986791.png",d="/doc/assets/20230918_1452314855.2b4051a8.png",x=JSON.parse('{"title":"考虑的维度","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/最佳实践/DDD产物规范.md","filePath":"base/product/DDD可视化开发平台文档/最佳实践/DDD产物规范.md","lastUpdated":1705031091000}'),u={name:"base/product/DDD可视化开发平台文档/最佳实践/DDD产物规范.md"},h=a("",64),c=[h];function _(m,b,D,f,q,P){return l(),r("div",null,c)}const R=t(u,[["render",_]]);export{x as __pageData,R as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\234\200\344\275\263\345\256\236\350\267\265_DDD\345\217\257\350\247\206\345\214\226\345\271\263\345\217\260\347\232\204DSL\350\256\276\350\256\241.md.74ccc11e.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\234\200\344\275\263\345\256\236\350\267\265_DDD\345\217\257\350\247\206\345\214\226\345\271\263\345\217\260\347\232\204DSL\350\256\276\350\256\241.md.74ccc11e.js" new file mode 100644 index 0000000..d1349ca --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\234\200\344\275\263\345\256\236\350\267\265_DDD\345\217\257\350\247\206\345\214\226\345\271\263\345\217\260\347\232\204DSL\350\256\276\350\256\241.md.74ccc11e.js" @@ -0,0 +1,402 @@ +import{_ as s,o as n,c as a,S as l}from"./chunks/framework.a3dd33a8.js";const p="/doc/assets/20230918_1452166515.70bc440a.png",o="/doc/assets/20230918_1452174439.7b9605c8.png",e="/doc/assets/20230918_1452186949.ebcfc3cf.png",C=JSON.parse('{"title":"我们想要一个什么样子的DSL","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/最佳实践/DDD可视化平台的DSL设计.md","filePath":"base/product/DDD可视化开发平台文档/最佳实践/DDD可视化平台的DSL设计.md","lastUpdated":1705031091000}'),t={name:"base/product/DDD可视化开发平台文档/最佳实践/DDD可视化平台的DSL设计.md"},c=l('


我们想要一个什么样子的DSL

  • 我们想要一个DSL,它能够描述DDD风格的领域模型
  • 这个DSL允许我们在一个地方集中记录和展示领域模型中的关键元素
  • 这个DSL应该能在概念层面描述领域模型,也允许我们在其中添加领域模型在实现层面需要的细节。
  • 这个DSL 应该能描述各个应用,业务域,团队,组织之间的关系是什么?
  • 我们希望它能够支持代码生成工具以产生与领域模型之间具备亲密映射关系的软件代码
  • 我们希望软件的文档——包括使用Swagger/OpenAPI、RAML描述的RESTful API文档
  • 定义数据库Schema的DDL代码,领域模型中关键状态的状态机图等——都尽可能自动化地产生。
  • 我们希望生成所谓的Client SDK,我们甚至希望能直接生成有UI的客户端应用
  • 至少生成一些程序员在实现客户端应用的UI/UE(用户体验)时可以使用的脚手架代码
  • 希望基于这个DSL可以制造一个工具链,最终形成一个跨语言 的、可以支持大型业务软件开发的平台(PaaS)。这个开发平台对开发人员应该提供足够的约束,让他们少干傻事,少干超出自己能力范围的事情

原则

  • 不同层面的 DSL 关注点不同,但最终的目的都是完整的表示 DDD 领域建模的结果
  • DSL 是可读的
  • DSL 是可以序列化的
  • DSL 是形式化的,不应该存在歧义。也就是说 DSL 是机器可以解析的。
  • DSL 不存储计算结果,它是声明过程
  • DSL 会参与版本化

概览


应用DSL

概念定义:描述一个应用[微服务-限界上下文]的特定语言,描述部分有 使用对象: 领域专家,架构师,产品,开发 核心价值

  • 划定边界
typescript
type Versionable = {
+    // 版本号
+    version: string
+}
+
+type Name = {
+    title?: string           // 中文名称
+    name: string             // 唯一英文标识符
+    description?string     // 详细描述信息,默认为空字符串
+    // 元数据,由开发者自行扩展,  DSL 本身不会关心其内容,DSL 消费者会关心
+    meta?: { [key: string]: string }
+}
+
+
+type Application = Name & Versionable & {
+    package: string                                  // 包名
+    businessDomains: BusinessDomain []               // 业务域
+    businessScenarios: BusinessScenario []            // 业务场景
+}

业务域DSL

概念定义:描述一个完整业务提供的原子能力,以及实现细节 使用对象: 领域专家,架构师,产品,开发 核心价值

  • 业务能力抽象
  • 业务实现细节
typescript
type BusinessDomain = Name & Versionable & {
+    domainModel: DomainModel             // 领域模型
+    dataModel: ERModel                   // 数据模型
+    queryModel: QueryModel						  	// 查询模型
+    objectMapper: ObjectMapperModel			  // 结构化对象映射
+    vision: string                         // 产品愿景
+    document: string                      // 需求资料
+}
+
+
+// 查询模型
+type QueryModel = {
+    queries: Query[]
+    dtos: DTO[]
+    // enums: Enum[]
+}
+
+// 结构化对象映射
+type ObjectMapperModel = {
+    mappers: ObjectMapper[]
+}

领域DSL

概念定义:描述一个业务的核心业务能力,不涉及实现 使用对象: 领域专家,架构师,产品,开发 核心价值

  • 领域的核心逻辑抽象
typescript
// 领域模型
+type DomainModel = {
+    // 聚合
+    aggregates: Aggregate[]
+}
+
+
+type Entity = Class & {
+    id: Property
+}
+
+type ValueObject = Class
+
+// Data Transfer Object
+type DTO = Class
+
+// Data Object
+type DO = Class
+
+
+type Aggregate = Name & {
+    // 聚合根, 指定实体名称
+    root: Entity
+    // 实体, 默认为 []
+    entities?: Entity[]
+    // 非聚合值对象,默认为 []
+    valueObjects?: ValueObject[]
+    // 枚举,默认为 []
+    enums?: Enum[]
+    // 命令
+    commands: Command[]
+}
+
+// 领域事件
+type DomainEvent = Name & {
+    // 属性
+    properties: Property[]
+}
+
+type Rule = Name & {}
+
+type CommandSource = {
+    type: 'http'
+} | {
+    type: 'rpc'
+} | {
+    type: 'event'
+    // 事件名
+    value: string
+} | {
+    type: 'schedule'
+    // cron 表达式
+    value: string
+}
+
+// 绑定的仓储能力
+type Repository = 'create' | 'modify' | 'remove'
+
+
+// 指令执行器,存在默认模板
+type Handler = Class
+
+type Command = Name & {
+    // 命令的触发来源,默认为 http, rpc 两种类型, 优先使用query,command 上设定的
+    source?: CommandSource[]
+    // 绑定的仓储能力
+    repository: Repository
+    // 命令分类,小写,可选,会影响 java 包结构,如果未提供,则为 name
+    category?: string
+    // 命令属性
+    properties: Property[]
+    // 执行器, 默认 Handler 为 ·命令名称 + Handler· 连接起来的类, 有固定的实现逻辑
+    handler?: Handler
+    // 事件, 即命令执行完成之后的触发的领域事件,默认为 []
+    event?: DomainEvent
+    // 事件是否是需要发送  false 不发送,true 发送
+    eventSendable?: false
+    // 规则, 默认为 []
+    rules?: Rule[]
+
+    // 命令返回值,默认为 空。 备注:可能不符合 CQRS 严格定义
+    return?: Return
+}

协议设计

? -> 标识一个可选的字段

类型系统

typescript
type Type = string
+
+// 基本类型、集合类型,对象类型、枚举
+// 参考bizworks
+// 示例
+// 基础 类型,Long, String
+// 集合类型 List<String>, Set<String>, Map<Integer, String>
+// 引用类型 [name:uuid], name 为类型名称, uuid 为类型的唯一id, 
+//         [Foo:12123-1231dad-121adad-123saddsaf]
+//         List<[MyType:12123-1231dad-121adad-123saddsaf]>
+//         Map<String, [MyType:12123-1231dad-121adad-123saddsaf]>

类的定义

typescript
type Access = 'public' | 'private' | 'protected'
+
+
+// 类属性
+type Property = Name & {
+    // 数据类型
+    type: Type,
+    // 访问控制, 默认 public
+    access?: Access
+    /**
+     * 是否可选,比如 Java 场景,生成代码会携带 @Nullable 注解,默认为 false
+     */
+    optional?: boolean
+}
+
+/**
+ * 方法参数
+ */
+type Parameter = Name & {
+    // 参数类型
+    type Type
+    /**
+     * 是否可选,比如 Java 场景,生成代码会携带 @Nullable 注解
+     */
+    optional?: boolean
+}
+
+type Return = {
+    type: Type
+}
+
+type MethodDefine = {
+    // 描述
+    description?: string,
+
+    // 方法参数
+    parameters: Parameter[]
+
+    // 返回值
+    return: Return
+}
+
+type Method = Name & {
+    // TODO: 目前不支持重载
+    signature: MethodDefine
+    // 访问控制, 默认是 public
+    access?: Access
+    // 是否是抽象方法,默认是 false
+    abstract?: boolean
+}
+
+type Interface = Name & {
+    // 扩展的接口列表,默认为 []
+    implements?: Interface[]
+    // 实例属性,某些特定语言存在, 默认为 []
+    properties?: Property[],
+    // 实例方法, 支持方法重载, 默认为 []
+    methods?: Method[]
+}
+
+
+type Class = Name & {
+    // 继承, 默认为 null
+    extends?: Class
+    // 扩展的接口列表,默认为 []
+    implements?: Interface[]
+    // 抽象类,默认为false
+    abstract?: boolean
+
+    // 类实例属性, 默认为 []
+    properties?: Property[],
+    // 类实例方法, 支持方法重载, 默认为 []
+    methods?: Method[]
+
+    // 类属性, 静态属性,默认为 []
+    classProperties?: Property[]
+    // 类方法,静态方法,默认为 []
+    classMethods?: Method[]
+}

枚举

typescript
type EnumMember = Name & {
+    // 成员值
+    code: number | string
+}
+
+type Enum = Name & {
+    baseType: 'number' | 'string'
+    members: EnumMember[]
+}

查询

typescript
type QuerySource = {
+    type: 'http'
+} | {
+    type: 'rpc'
+}
+
+
+// 请求
+type Query = Name & {
+    // 查询的触发来源,默认为 http, rpc 两种类型
+    source?: CommandSource[]
+    // 查询的参数实体
+    properties: Property[]
+    // 分页返回
+    pagination: boolean
+    // 执行器, 默认为 ·查询名称 + Exe· 连接起来的类, 有固定的实现逻辑
+    handler?: Class
+    // 规则, 默认为 []
+    rules?: Rule[]
+
+    // 查询返回值
+    return: Return
+}

对象关系映射

typescript
type ObjectFieldMapper = {
+    sourceField: string
+    sourceFieldId: string
+    targetField: string
+    targetFieldId: string
+}
+
+type ObjectReference
+{
+    // 类名
+    name: string
+
+    // 类唯一 id
+    id: string
+
+    // 对象类型
+    type: 'entity' | 'valueObject' | 'dto' | 'dataObject'
+    // 对于实体、值对象等领域对象 parent 为聚合的标识符
+    // dto、dataObject 则为空
+    parent ? : string
+}
+
+type ObjectMapper = Name & {
+    // 来源类型, 类型必须存在,必须是 Class或 Class 的子类型
+    source: ObjectReference
+    // 目标类型,类型必须存在,必须是 Class或 Class 的子类型
+    target: ObjectReference
+    // 定义 source 属性到 target 的映射规则
+    // 举例:
+    // {a: 'b', c: 'd'}, 将 source a、c 分别映射到 target 到 b、d
+    // 属性的类型必须保持一致
+    mapper: ObjectFieldMapper[]
+}

转换范围


嵌套对象转换规则

  • 领域对象 ----> 数据对象
    • 嵌套的值对象,实体 都可以选 数据对象的JSON 类型
  • 结构对象 -----> 数据对象
    • 嵌套的值对象,实体 都可以选 数据对象的JSON 类型

字段类型的兼容性

Java 类型mysql 类型
Integerint
bigInt
Decimaldecimal
Floatfloat
double
Doubledouble
Longbigint
DateTime
Datetimestamp
datetime
date
Stringlongtext
text
varchar
Booleansmallint
int
Objectjson

业务场景

typescript
type DomainDependency = {
+    // 团队 Id, 跨团队关联时需要
+    teamId?: string
+
+    // 依赖业务域 ID
+    domainId: string
+
+    // 业务域版本号 ID
+    versionId: string
+
+    // 服务id, 查询或者指令的 uuid
+    serviceId: string
+}
+
+type ExternalDependency
+{
+    name: string
+    description ? : string
+}
+
+
+// 业务场景
+type BusinessScenario = Name & {
+    // 版本
+    version: string
+
+    // 依赖的业务域服务
+    domainDependencies: DomainDependency[]
+
+    // 外部依赖
+    externalDependencies: ExternalDependency[]
+
+    // 业务场景服务,直接复用查询模型
+    serviceModel: QueryModel
+}

数据建模

typescript
// 数据模型
+type ERModel = {
+    dataObjects: DataObject[]
+    // 引用关系
+    references: DataObjectReference[]
+}
+
+type DataObjectReference = {
+    source: string // NameOf<DataObject>, DataObject 标识符
+    sourceId: string
+    // [{field: a, target: 'A'}, {field: a, target: 'A'}]
+    targets: Array<{
+        // 目标表
+        target: string // NameOf<DataObject>, DataObject 标识符
+        targetId: string
+        // 关联关系
+        cardinality: 'OneToOne' | 'OneToMany' | 'ManyToMany' | 'ManyToOne'
+        // 字段映射
+        mapper: Array<{
+            sourceField: string
+            targetField: string
+        }>
+    }>
+}
+
+
+// 数据类型,定义数据库无关的
+type DataType =
+    'Boolean'
+    | 'Text'
+    | 'LongText'
+    | 'Date'
+    | 'DateTime'
+    | 'Timestamp'
+    | 'Integer'
+    | 'Long'
+    | 'Double'
+    | 'Float'
+    | 'Decimal'
+    | 'String'
+    | 'JSON'
+// TODO: 与 mysql 类型的映射关系
+
+
+// 数据的属性
+type DataProperty = Name & {
+    // 表字段名,默认为 name 的 snake_case 模式
+    propertyName?: string
+
+    // 数据类型
+    type: DataType
+
+    // 根据具体数据类型确定,Text, LongText 不支持
+    defaultValue?: any
+
+    // 长度修饰符 默认为 0, 仅支持 String 类型
+    length?: number
+
+    // 不为空,默认false, 另外也会受主键影响
+    notNull?: false
+
+    // 是否自增, 默认为false,仅支持 Long Integer Float Double
+    autoIncrement?: false
+
+    /**
+     * 精度, 默认 10, 最大为 65, 仅 Decimal 支持
+     */
+    precision?: number;
+
+    /**
+     * 小数位, 默认 0,仅 Decimal 支持
+     */
+    scale?: number;
+}
+
+
+type IndexType = 'Normal' | 'Unique' | 'Primary' | 'FullText'
+
+type IndexMethod = 'BTREE' | 'HASH'
+
+type DataIndex = Name & {
+    // 默认为 Normal
+    type?: IndexType
+    // 索引栏位,通常以数据对象的属性名称
+    properties: string[]
+    // 默认为BTREE
+    method?: IndexMethod
+}
+
+// 数据模型
+type DataObject = Name & {
+    //  表字段名,默认为 name 的 snake_case 模式
+    tableName?: string
+    // 字段
+    properties: DataProperty[]
+    // 索引,默认为 []
+    indexes?: DataIndex[]
+}

数据类型详细描述:

类型mysql 类型支持自增支持默认值支持长度
Integerint0
Decimaldecimal
Doubledouble0
Longbigint0
Timestamptimestamp
DateTimedatetime
Datedate
LongTextlongtext
Texttext
Stringvarchar
Booleansmallint0
Reference取决于被引用类型
JSONjson

DSL 规则

聚合内的引用规则(聚合根,实体,值对象,指令,事件)

  • 所有引用对象都只能是聚合内部的声明的对象

聚合根

  • 属性:领域内内部的:实体和值对象
  • 方法签名:领域内部的:实体,值对象,指令

实体

  • 属性:领域内内部的:实体和值对象
  • 方法签名:领域内部的:实体,值对象,指令

值对象

  • 属性:领域内内部的:实体和值对象
  • 方法签名:领域内部的:实体,值对象,指令

指令

  • 属性:领域内内部的:实体和值对象

事件

  • 属性:领域内内部的:实体和值对象

扩展资料

`,61),r=[c];function y(D,B,F,i,E,A){return n(),a("div",null,r)}const h=s(t,[["render",y]]);export{C as __pageData,h as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\234\200\344\275\263\345\256\236\350\267\265_DDD\345\217\257\350\247\206\345\214\226\345\271\263\345\217\260\347\232\204DSL\350\256\276\350\256\241.md.74ccc11e.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\234\200\344\275\263\345\256\236\350\267\265_DDD\345\217\257\350\247\206\345\214\226\345\271\263\345\217\260\347\232\204DSL\350\256\276\350\256\241.md.74ccc11e.lean.js" new file mode 100644 index 0000000..6f0b014 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\234\200\344\275\263\345\256\236\350\267\265_DDD\345\217\257\350\247\206\345\214\226\345\271\263\345\217\260\347\232\204DSL\350\256\276\350\256\241.md.74ccc11e.lean.js" @@ -0,0 +1 @@ +import{_ as s,o as n,c as a,S as l}from"./chunks/framework.a3dd33a8.js";const p="/doc/assets/20230918_1452166515.70bc440a.png",o="/doc/assets/20230918_1452174439.7b9605c8.png",e="/doc/assets/20230918_1452186949.ebcfc3cf.png",C=JSON.parse('{"title":"我们想要一个什么样子的DSL","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/最佳实践/DDD可视化平台的DSL设计.md","filePath":"base/product/DDD可视化开发平台文档/最佳实践/DDD可视化平台的DSL设计.md","lastUpdated":1705031091000}'),t={name:"base/product/DDD可视化开发平台文档/最佳实践/DDD可视化平台的DSL设计.md"},c=l("",61),r=[c];function y(D,B,F,i,E,A){return n(),a("div",null,r)}const h=s(t,[["render",y]]);export{C as __pageData,h as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\234\200\344\275\263\345\256\236\350\267\265_\344\273\243\347\240\201\347\224\237\346\210\220\346\250\241\345\235\227\346\234\200\344\275\263\345\256\236\350\267\265.md.40153236.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\234\200\344\275\263\345\256\236\350\267\265_\344\273\243\347\240\201\347\224\237\346\210\220\346\250\241\345\235\227\346\234\200\344\275\263\345\256\236\350\267\265.md.40153236.js" new file mode 100644 index 0000000..b750d52 --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\234\200\344\275\263\345\256\236\350\267\265_\344\273\243\347\240\201\347\224\237\346\210\220\346\250\241\345\235\227\346\234\200\344\275\263\345\256\236\350\267\265.md.40153236.js" @@ -0,0 +1,66 @@ +import{_ as s,o as a,c as n,S as l}from"./chunks/framework.a3dd33a8.js";const t="/doc/assets/20230918_1452198268.09c39a3a.png",o="/doc/assets/20230918_1452199646.39e1f015.png",e="/doc/assets/20230918_1452217163.1317c5df.png",p="/doc/assets/20230918_1452218628.9c44da72.png",c="/doc/assets/20230918_1452223940.041ef4b6.png",i="/doc/assets/20230918_1452223788.0cf80bce.png",r="/doc/assets/20230918_1452232431.a17467bc.png",u=JSON.parse('{"title":"代码生成模块最佳实践","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/最佳实践/代码生成模块最佳实践.md","filePath":"base/product/DDD可视化开发平台文档/最佳实践/代码生成模块最佳实践.md","lastUpdated":1705031091000}'),y={name:"base/product/DDD可视化开发平台文档/最佳实践/代码生成模块最佳实践.md"},E=l(`

代码生成模块最佳实践

一、概述

为了简化开发者从设计模型到规范代码的实现,DDD可视化平台提供了一种平台模型到代码的单向生成功能。本文介绍DDD可视化平台单向生成功能,以及设计思路,将平台模型到代码的单向生成顺畅融入到已有的研发流程中,有效降低项目设计到编码初期的开发成本。

二、项目结构

txt
wake-code-generator			
+    ├── wd-generator-core		-- 核心模块
+    └── wd-generator-dsl		-- DSL协议结构

三、流程设计

用户通过DDD可视化平台图形界面绘制模型后,前端根据 DSL协议 以json的形式组装DSL模型并返回给后端,后端需要依据DSL模型生成相应的源码文件并返回。为了实现DSL模型到源码文件的生成,本模块设计了如下流程:

1、读取DSL结构

依据 DSL协议,在dsl包下定义了相应的数据结构,用于接收DSL数据。 image.png

2、构建多叉元素树,并通过访问者遍历元素树

由于DSL数据结构较为复杂,采用直接遍历的方式将增加遍历的复杂度,为了降低遍历的复杂度、减少遍历代码的维护成本,我们将数据结构的复杂度转移到构建阶段,根据DSL构建一棵多叉树结构,简化遍历元素的过程。 多叉树节点分为如下类型:

  1. ElementNode 元素节点:抽象的节点类型,包含一个指向父节点的属性;
  2. CompositeElement 容器节点:继承 ElementNode,并包含一个子节点列表childElementNodeList,子节点类型可以为容器节点和叶子节点;
  3. LeafElement 叶子节点:继承 ElementNode,代表树最下层节点。


原DSL结构 构建后的元素树结构 遍历思路:深度遍历,访问元素树结构,根据元素种类往叶子元素进行遍历;同时遍历到每个元素的同时,调用元素具体的访问方法

3、第一次遍历,访问每个元素节点(对元素的预处理),访问者执行预解析逻辑

Tips: 该阶段可以做一些数据预处理操作(关系缓存、字段修改)

根据深度遍历访问每一个元素并调用访问者提供的预处理方法; 访问者内部根据元素的类名获取元素相对应的策略类,并执行相对应的预处理策略

4、第二次遍历,访问每个元素节点(预处理后的元素),访问者执行生成逻辑

Tips: 该阶段为核心生成逻辑(代码生成、文件输出、流操作)

同上,根据深度遍历访问每一个元素并调用访问者提供的生成方法; 访问者内部根据元素的类名获取元素相对应的策略类,并执行相对应的生成策略

5、执行统一后置处理

对ThreadLocal线程上下文进行清理等统一后置处理操作。

四、访问者模式

由上述流程设计可知,访问者需要提供预处理、生成逻辑、后置处理等功能,因此定义一个访问者接口,具体逻辑由不同访问者实现。

java
/**
+ * 访问者, 提供具体元素的操作方法
+ *
+ * @author shimmer
+ */
+public interface Visitor {
+
+    /**
+     * 预解析元素方法
+     *
+     * @param elementNode 元素节点
+     */
+    void preHandle(ElementNode elementNode);
+
+    /**
+     * 元素生成方法
+     *
+     * @param elementNode 元素节点
+     */
+    void generate(ElementNode elementNode);
+
+    /**
+     * 统一后置处理方法
+     */
+    void globalAfterHandle();
+}

Velocity模版引擎实现生成逻辑

原理:Velocity模版引擎是一种静态生成模版文件的模版引擎,基于vm模版语法和模版上下文替换对应的模版变量,可以得到替换后的模版文件流。

实现逻辑:填充变量到Velocity上下文、获取需要生成的模版路径,然后将原始路径解析为输出路径,最后调用Velocity模版引擎生成新文件。
封装变化点:根据上述过程,将变量填充、模版路径列表获取、解析路径等变化点封装到接口中,由不同元素提供具体实现逻辑。

java
/**
+ * Velocity模版引擎生成接口
+ *
+ * @author ZhuXueLiang
+ * @version 1.0
+ */
+public interface VelocityTemplateGenerate extends ElementStrategy {
+
+    /**
+     * 获取生成需要的模版路径列表
+     *
+     * @return 模版路径列表
+     */
+    List<String> getTemplatePathList();
+
+    /**
+     * 填充当前元素标签到上下文中,用于进行变量映射
+     *
+     * @param context velocity上下文
+     */
+    void putVelocityContext(VelocityContext context);
+
+    /**
+     * 解析输出路径
+     *
+     * @param templateUrl   需要解析的模版路径
+     * @param preFixOutPath 目标路径
+     * @return 输出路径
+     */
+    String parseOutputPath(String templateUrl, String preFixOutPath);
+
+    /**
+     * 处理逻辑(处理各个元素的单独逻辑)
+     *
+     * @param templateContext 上下文信息
+     * @return true/false
+     */
+    Boolean process(TemplateContext templateContext);
+}
`,28),f=[E];function D(d,B,h,A,m,F){return a(),n("div",null,f)}const C=s(y,[["render",D]]);export{u as __pageData,C as default}; diff --git "a/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\234\200\344\275\263\345\256\236\350\267\265_\344\273\243\347\240\201\347\224\237\346\210\220\346\250\241\345\235\227\346\234\200\344\275\263\345\256\236\350\267\265.md.40153236.lean.js" "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\234\200\344\275\263\345\256\236\350\267\265_\344\273\243\347\240\201\347\224\237\346\210\220\346\250\241\345\235\227\346\234\200\344\275\263\345\256\236\350\267\265.md.40153236.lean.js" new file mode 100644 index 0000000..34d9ead --- /dev/null +++ "b/assets/base_product_DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243_\346\234\200\344\275\263\345\256\236\350\267\265_\344\273\243\347\240\201\347\224\237\346\210\220\346\250\241\345\235\227\346\234\200\344\275\263\345\256\236\350\267\265.md.40153236.lean.js" @@ -0,0 +1 @@ +import{_ as s,o as a,c as n,S as l}from"./chunks/framework.a3dd33a8.js";const t="/doc/assets/20230918_1452198268.09c39a3a.png",o="/doc/assets/20230918_1452199646.39e1f015.png",e="/doc/assets/20230918_1452217163.1317c5df.png",p="/doc/assets/20230918_1452218628.9c44da72.png",c="/doc/assets/20230918_1452223940.041ef4b6.png",i="/doc/assets/20230918_1452223788.0cf80bce.png",r="/doc/assets/20230918_1452232431.a17467bc.png",u=JSON.parse('{"title":"代码生成模块最佳实践","description":"","frontmatter":{},"headers":[],"relativePath":"base/product/DDD可视化开发平台文档/最佳实践/代码生成模块最佳实践.md","filePath":"base/product/DDD可视化开发平台文档/最佳实践/代码生成模块最佳实践.md","lastUpdated":1705031091000}'),y={name:"base/product/DDD可视化开发平台文档/最佳实践/代码生成模块最佳实践.md"},E=l("",28),f=[E];function D(d,B,h,A,m,F){return a(),n("div",null,f)}const C=s(y,[["render",D]]);export{u as __pageData,C as default}; diff --git a/assets/bd36e47c.1aef0fac.png b/assets/bd36e47c.1aef0fac.png new file mode 100644 index 0000000..fb563b5 Binary files /dev/null and b/assets/bd36e47c.1aef0fac.png differ diff --git a/assets/bf026dca.cee38d94.png b/assets/bf026dca.cee38d94.png new file mode 100644 index 0000000..e29baac Binary files /dev/null and b/assets/bf026dca.cee38d94.png differ diff --git a/assets/c015d8e5.5dbebbca.png b/assets/c015d8e5.5dbebbca.png new file mode 100644 index 0000000..28f347f Binary files /dev/null and b/assets/c015d8e5.5dbebbca.png differ diff --git a/assets/c7870c19.d7081473.png b/assets/c7870c19.d7081473.png new file mode 100644 index 0000000..43a2214 Binary files /dev/null and b/assets/c7870c19.d7081473.png differ diff --git a/assets/c9d657f5.24f49956.png b/assets/c9d657f5.24f49956.png new file mode 100644 index 0000000..cdf9797 Binary files /dev/null and b/assets/c9d657f5.24f49956.png differ diff --git a/assets/cb8694b8.6d8e91e4.png b/assets/cb8694b8.6d8e91e4.png new file mode 100644 index 0000000..50ded78 Binary files /dev/null and b/assets/cb8694b8.6d8e91e4.png differ diff --git a/assets/cea64384.df17d993.png b/assets/cea64384.df17d993.png new file mode 100644 index 0000000..b8fb2ec Binary files /dev/null and b/assets/cea64384.df17d993.png differ diff --git a/assets/cec0a7fc.3c2b3464.png b/assets/cec0a7fc.3c2b3464.png new file mode 100644 index 0000000..72f9645 Binary files /dev/null and b/assets/cec0a7fc.3c2b3464.png differ diff --git a/assets/chunks/framework.a3dd33a8.js b/assets/chunks/framework.a3dd33a8.js new file mode 100644 index 0000000..5fb6c03 --- /dev/null +++ b/assets/chunks/framework.a3dd33a8.js @@ -0,0 +1,2 @@ +function zn(e,t){const n=Object.create(null),s=e.split(",");for(let r=0;r!!n[r.toLowerCase()]:r=>!!n[r]}const ee={},ft=[],Ie=()=>{},Ti=()=>!1,Ai=/^on[^a-z]/,$t=e=>Ai.test(e),Yn=e=>e.startsWith("onUpdate:"),ie=Object.assign,Jn=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Pi=Object.prototype.hasOwnProperty,q=(e,t)=>Pi.call(e,t),L=Array.isArray,at=e=>ln(e)==="[object Map]",ur=e=>ln(e)==="[object Set]",U=e=>typeof e=="function",se=e=>typeof e=="string",Xn=e=>typeof e=="symbol",te=e=>e!==null&&typeof e=="object",dr=e=>te(e)&&U(e.then)&&U(e.catch),hr=Object.prototype.toString,ln=e=>hr.call(e),Ii=e=>ln(e).slice(8,-1),pr=e=>ln(e)==="[object Object]",Zn=e=>se(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Tt=zn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),cn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Oi=/-(\w)/g,Me=cn(e=>e.replace(Oi,(t,n)=>n?n.toUpperCase():"")),Ri=/\B([A-Z])/g,it=cn(e=>e.replace(Ri,"-$1").toLowerCase()),fn=cn(e=>e.charAt(0).toUpperCase()+e.slice(1)),Yt=cn(e=>e?`on${fn(e)}`:""),Rt=(e,t)=>!Object.is(e,t),En=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Fi=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Si=e=>{const t=se(e)?Number(e):NaN;return isNaN(t)?e:t};let ys;const Mn=()=>ys||(ys=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Qn(e){if(L(e)){const t={};for(let n=0;n{if(n){const s=n.split(Li);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Gn(e){let t="";if(se(e))t=e;else if(L(e))for(let n=0;nse(e)?e:e==null?"":L(e)||te(e)&&(e.toString===hr||!U(e.toString))?JSON.stringify(e,mr,2):String(e),mr=(e,t)=>t&&t.__v_isRef?mr(e,t.value):at(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r])=>(n[`${s} =>`]=r,n),{})}:ur(t)?{[`Set(${t.size})`]:[...t.values()]}:te(t)&&!L(t)&&!pr(t)?String(t):t;let _e;class Ui{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=_e,!t&&_e&&(this.index=(_e.scopes||(_e.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=_e;try{return _e=this,t()}finally{_e=n}}}on(){_e=this}off(){_e=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},_r=e=>(e.w&Ve)>0,br=e=>(e.n&Ve)>0,Ki=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s{(d==="length"||d>=c)&&l.push(a)})}else switch(n!==void 0&&l.push(o.get(n)),t){case"add":L(e)?Zn(n)&&l.push(o.get("length")):(l.push(o.get(st)),at(e)&&l.push(o.get($n)));break;case"delete":L(e)||(l.push(o.get(st)),at(e)&&l.push(o.get($n)));break;case"set":at(e)&&l.push(o.get(st));break}if(l.length===1)l[0]&&Hn(l[0]);else{const c=[];for(const a of l)a&&c.push(...a);Hn(es(c))}}function Hn(e,t){const n=L(e)?e:[...e];for(const s of n)s.computed&&xs(s);for(const s of n)s.computed||xs(s)}function xs(e,t){(e!==Ae||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const Wi=zn("__proto__,__v_isRef,__isVue"),xr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Xn)),Vi=ns(),qi=ns(!1,!0),zi=ns(!0),Cs=Yi();function Yi(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=Y(this);for(let i=0,o=this.length;i{e[t]=function(...n){bt();const s=Y(this)[t].apply(this,n);return yt(),s}}),e}function Ji(e){const t=Y(this);return pe(t,"has",e),t.hasOwnProperty(e)}function ns(e=!1,t=!1){return function(s,r,i){if(r==="__v_isReactive")return!e;if(r==="__v_isReadonly")return e;if(r==="__v_isShallow")return t;if(r==="__v_raw"&&i===(e?t?uo:Ar:t?Tr:Er).get(s))return s;const o=L(s);if(!e){if(o&&q(Cs,r))return Reflect.get(Cs,r,i);if(r==="hasOwnProperty")return Ji}const l=Reflect.get(s,r,i);return(Xn(r)?xr.has(r):Wi(r))||(e||pe(s,"get",r),t)?l:ae(l)?o&&Zn(r)?l:l.value:te(l)?e?Pr(l):un(l):l}}const Xi=Cr(),Zi=Cr(!0);function Cr(e=!1){return function(n,s,r,i){let o=n[s];if(gt(o)&&ae(o)&&!ae(r))return!1;if(!e&&(!Gt(r)&&!gt(r)&&(o=Y(o),r=Y(r)),!L(n)&&ae(o)&&!ae(r)))return o.value=r,!0;const l=L(n)&&Zn(s)?Number(s)e,an=e=>Reflect.getPrototypeOf(e);function Ut(e,t,n=!1,s=!1){e=e.__v_raw;const r=Y(e),i=Y(t);n||(t!==i&&pe(r,"get",t),pe(r,"get",i));const{has:o}=an(r),l=s?ss:n?os:Ft;if(o.call(r,t))return l(e.get(t));if(o.call(r,i))return l(e.get(i));e!==r&&e.get(t)}function jt(e,t=!1){const n=this.__v_raw,s=Y(n),r=Y(e);return t||(e!==r&&pe(s,"has",e),pe(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function Dt(e,t=!1){return e=e.__v_raw,!t&&pe(Y(e),"iterate",st),Reflect.get(e,"size",e)}function vs(e){e=Y(e);const t=Y(this);return an(t).has.call(t,e)||(t.add(e),$e(t,"add",e,e)),this}function Es(e,t){t=Y(t);const n=Y(this),{has:s,get:r}=an(n);let i=s.call(n,e);i||(e=Y(e),i=s.call(n,e));const o=r.call(n,e);return n.set(e,t),i?Rt(t,o)&&$e(n,"set",e,t):$e(n,"add",e,t),this}function Ts(e){const t=Y(this),{has:n,get:s}=an(t);let r=n.call(t,e);r||(e=Y(e),r=n.call(t,e)),s&&s.call(t,e);const i=t.delete(e);return r&&$e(t,"delete",e,void 0),i}function As(){const e=Y(this),t=e.size!==0,n=e.clear();return t&&$e(e,"clear",void 0,void 0),n}function Kt(e,t){return function(s,r){const i=this,o=i.__v_raw,l=Y(o),c=t?ss:e?os:Ft;return!e&&pe(l,"iterate",st),o.forEach((a,d)=>s.call(r,c(a),c(d),i))}}function kt(e,t,n){return function(...s){const r=this.__v_raw,i=Y(r),o=at(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,a=r[e](...s),d=n?ss:t?os:Ft;return!t&&pe(i,"iterate",c?$n:st),{next(){const{value:p,done:y}=a.next();return y?{value:p,done:y}:{value:l?[d(p[0]),d(p[1])]:d(p),done:y}},[Symbol.iterator](){return this}}}}function Be(e){return function(...t){return e==="delete"?!1:this}}function so(){const e={get(i){return Ut(this,i)},get size(){return Dt(this)},has:jt,add:vs,set:Es,delete:Ts,clear:As,forEach:Kt(!1,!1)},t={get(i){return Ut(this,i,!1,!0)},get size(){return Dt(this)},has:jt,add:vs,set:Es,delete:Ts,clear:As,forEach:Kt(!1,!0)},n={get(i){return Ut(this,i,!0)},get size(){return Dt(this,!0)},has(i){return jt.call(this,i,!0)},add:Be("add"),set:Be("set"),delete:Be("delete"),clear:Be("clear"),forEach:Kt(!0,!1)},s={get(i){return Ut(this,i,!0,!0)},get size(){return Dt(this,!0)},has(i){return jt.call(this,i,!0)},add:Be("add"),set:Be("set"),delete:Be("delete"),clear:Be("clear"),forEach:Kt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=kt(i,!1,!1),n[i]=kt(i,!0,!1),t[i]=kt(i,!1,!0),s[i]=kt(i,!0,!0)}),[e,n,t,s]}const[ro,io,oo,lo]=so();function rs(e,t){const n=t?e?lo:oo:e?io:ro;return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(q(n,r)&&r in s?n:s,r,i)}const co={get:rs(!1,!1)},fo={get:rs(!1,!0)},ao={get:rs(!0,!1)},Er=new WeakMap,Tr=new WeakMap,Ar=new WeakMap,uo=new WeakMap;function ho(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function po(e){return e.__v_skip||!Object.isExtensible(e)?0:ho(Ii(e))}function un(e){return gt(e)?e:is(e,!1,vr,co,Er)}function go(e){return is(e,!1,no,fo,Tr)}function Pr(e){return is(e,!0,to,ao,Ar)}function is(e,t,n,s,r){if(!te(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const o=po(e);if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function ut(e){return gt(e)?ut(e.__v_raw):!!(e&&e.__v_isReactive)}function gt(e){return!!(e&&e.__v_isReadonly)}function Gt(e){return!!(e&&e.__v_isShallow)}function Ir(e){return ut(e)||gt(e)}function Y(e){const t=e&&e.__v_raw;return t?Y(t):e}function At(e){return Qt(e,"__v_skip",!0),e}const Ft=e=>te(e)?un(e):e,os=e=>te(e)?Pr(e):e;function Or(e){ke&&Ae&&(e=Y(e),wr(e.dep||(e.dep=es())))}function Rr(e,t){e=Y(e);const n=e.dep;n&&Hn(n)}function ae(e){return!!(e&&e.__v_isRef===!0)}function Fr(e){return Sr(e,!1)}function mo(e){return Sr(e,!0)}function Sr(e,t){return ae(e)?e:new _o(e,t)}class _o{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:Y(t),this._value=n?t:Ft(t)}get value(){return Or(this),this._value}set value(t){const n=this.__v_isShallow||Gt(t)||gt(t);t=n?t:Y(t),Rt(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Ft(t),Rr(this))}}function bo(e){return ae(e)?e.value:e}const yo={get:(e,t,n)=>bo(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return ae(r)&&!ae(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Mr(e){return ut(e)?e:new Proxy(e,yo)}class wo{constructor(t,n,s,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new ts(t,()=>{this._dirty||(this._dirty=!0,Rr(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=Y(this);return Or(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function xo(e,t,n=!1){let s,r;const i=U(e);return i?(s=e,r=Ie):(s=e.get,r=e.set),new wo(s,r,i||!r,n)}function Rc(e,...t){}function We(e,t,n,s){let r;try{r=s?e(...s):e()}catch(i){dn(i,t,n)}return r}function Ce(e,t,n,s){if(U(e)){const i=We(e,t,n,s);return i&&dr(i)&&i.catch(o=>{dn(o,t,n)}),i}const r=[];for(let i=0;i>>1;Mt(fe[s])Se&&fe.splice(t,1)}function To(e){L(e)?dt.push(...e):(!Ne||!Ne.includes(e,e.allowRecurse?Qe+1:Qe))&&dt.push(e),$r()}function Ps(e,t=St?Se+1:0){for(;tMt(n)-Mt(s)),Qe=0;Qee.id==null?1/0:e.id,Ao=(e,t)=>{const n=Mt(e)-Mt(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Hr(e){Bn=!1,St=!0,fe.sort(Ao);const t=Ie;try{for(Se=0;Sese(A)?A.trim():A)),p&&(r=n.map(Fi))}let l,c=s[l=Yt(t)]||s[l=Yt(Me(t))];!c&&i&&(c=s[l=Yt(it(t))]),c&&Ce(c,e,6,r);const a=s[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ce(a,e,6,r)}}function Br(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!U(e)){const c=a=>{const d=Br(a,t,!0);d&&(l=!0,ie(o,d))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?(te(e)&&s.set(e,null),null):(L(i)?i.forEach(c=>o[c]=null):ie(o,i),te(e)&&s.set(e,o),o)}function hn(e,t){return!e||!$t(t)?!1:(t=t.slice(2).replace(/Once$/,""),q(e,t[0].toLowerCase()+t.slice(1))||q(e,it(t))||q(e,t))}let le=null,pn=null;function tn(e){const t=le;return le=e,pn=e&&e.type.__scopeId||null,t}function Fc(e){pn=e}function Sc(){pn=null}function Io(e,t=le,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Us(-1);const i=tn(t);let o;try{o=e(...r)}finally{tn(i),s._d&&Us(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function Tn(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:i,propsOptions:[o],slots:l,attrs:c,emit:a,render:d,renderCache:p,data:y,setupState:A,ctx:N,inheritAttrs:R}=e;let j,_;const x=tn(e);try{if(n.shapeFlag&4){const P=r||s;j=Te(d.call(P,P,p,i,A,y,N)),_=c}else{const P=t;j=Te(P.length>1?P(i,{attrs:c,slots:l,emit:a}):P(i,null)),_=t.props?c:Oo(c)}}catch(P){Ot.length=0,dn(P,e,1),j=ce(be)}let $=j;if(_&&R!==!1){const P=Object.keys(_),{shapeFlag:K}=$;P.length&&K&7&&(o&&P.some(Yn)&&(_=Ro(_,o)),$=qe($,_))}return n.dirs&&($=qe($),$.dirs=$.dirs?$.dirs.concat(n.dirs):n.dirs),n.transition&&($.transition=n.transition),j=$,tn(x),j}const Oo=e=>{let t;for(const n in e)(n==="class"||n==="style"||$t(n))&&((t||(t={}))[n]=e[n]);return t},Ro=(e,t)=>{const n={};for(const s in e)(!Yn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Fo(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,a=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?Is(s,o,a):!!o;if(c&8){const d=t.dynamicProps;for(let p=0;pe.__isSuspense;function Ur(e,t){t&&t.pendingBranch?L(e)?t.effects.push(...e):t.effects.push(e):To(e)}function Lo(e,t){return gn(e,null,t)}function Mc(e,t){return gn(e,null,{flush:"post"})}const Wt={};function Jt(e,t,n){return gn(e,t,n)}function gn(e,t,{immediate:n,deep:s,flush:r,onTrack:i,onTrigger:o}=ee){var l;const c=Di()===((l=oe)==null?void 0:l.scope)?oe:null;let a,d=!1,p=!1;if(ae(e)?(a=()=>e.value,d=Gt(e)):ut(e)?(a=()=>e,s=!0):L(e)?(p=!0,d=e.some(P=>ut(P)||Gt(P)),a=()=>e.map(P=>{if(ae(P))return P.value;if(ut(P))return tt(P);if(U(P))return We(P,c,2)})):U(e)?t?a=()=>We(e,c,2):a=()=>{if(!(c&&c.isUnmounted))return y&&y(),Ce(e,c,3,[A])}:a=Ie,t&&s){const P=a;a=()=>tt(P())}let y,A=P=>{y=x.onStop=()=>{We(P,c,4)}},N;if(Nt)if(A=Ie,t?n&&Ce(t,c,3,[a(),p?[]:void 0,A]):a(),r==="sync"){const P=Il();N=P.__watcherHandles||(P.__watcherHandles=[])}else return Ie;let R=p?new Array(e.length).fill(Wt):Wt;const j=()=>{if(x.active)if(t){const P=x.run();(s||d||(p?P.some((K,J)=>Rt(K,R[J])):Rt(P,R)))&&(y&&y(),Ce(t,c,3,[P,R===Wt?void 0:p&&R[0]===Wt?[]:R,A]),R=P)}else x.run()};j.allowRecurse=!!t;let _;r==="sync"?_=j:r==="post"?_=()=>de(j,c&&c.suspense):(j.pre=!0,c&&(j.id=c.uid),_=()=>cs(j));const x=new ts(a,_);t?n?j():R=x.run():r==="post"?de(x.run.bind(x),c&&c.suspense):x.run();const $=()=>{x.stop(),c&&c.scope&&Jn(c.scope.effects,x)};return N&&N.push($),$}function No(e,t,n){const s=this.proxy,r=se(e)?e.includes(".")?jr(s,e):()=>s[e]:e.bind(s,s);let i;U(t)?i=t:(i=t.handler,n=t);const o=oe;_t(this);const l=gn(r,i.bind(s),n);return o?_t(o):rt(),l}function jr(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r{tt(n,t)});else if(pr(e))for(const n in e)tt(e[n],t);return e}function Lc(e,t){const n=le;if(n===null)return e;const s=xn(n)||n.proxy,r=e.dirs||(e.dirs=[]);for(let i=0;i{e.isMounted=!0}),qr(()=>{e.isUnmounting=!0}),e}const ye=[Function,Array],Dr={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ye,onEnter:ye,onAfterEnter:ye,onEnterCancelled:ye,onBeforeLeave:ye,onLeave:ye,onAfterLeave:ye,onLeaveCancelled:ye,onBeforeAppear:ye,onAppear:ye,onAfterAppear:ye,onAppearCancelled:ye},Ho={name:"BaseTransition",props:Dr,setup(e,{slots:t}){const n=ai(),s=$o();let r;return()=>{const i=t.default&&kr(t.default(),!0);if(!i||!i.length)return;let o=i[0];if(i.length>1){for(const R of i)if(R.type!==be){o=R;break}}const l=Y(e),{mode:c}=l;if(s.isLeaving)return An(o);const a=Os(o);if(!a)return An(o);const d=Un(a,l,s,n);jn(a,d);const p=n.subTree,y=p&&Os(p);let A=!1;const{getTransitionKey:N}=a.type;if(N){const R=N();r===void 0?r=R:R!==r&&(r=R,A=!0)}if(y&&y.type!==be&&(!Ge(a,y)||A)){const R=Un(y,l,s,n);if(jn(y,R),c==="out-in")return s.isLeaving=!0,R.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&n.update()},An(o);c==="in-out"&&a.type!==be&&(R.delayLeave=(j,_,x)=>{const $=Kr(s,y);$[String(y.key)]=y,j._leaveCb=()=>{_(),j._leaveCb=void 0,delete d.delayedLeave},d.delayedLeave=x})}return o}}},Bo=Ho;function Kr(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Un(e,t,n,s){const{appear:r,mode:i,persisted:o=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:a,onEnterCancelled:d,onBeforeLeave:p,onLeave:y,onAfterLeave:A,onLeaveCancelled:N,onBeforeAppear:R,onAppear:j,onAfterAppear:_,onAppearCancelled:x}=t,$=String(e.key),P=Kr(n,e),K=(T,D)=>{T&&Ce(T,s,9,D)},J=(T,D)=>{const B=D[1];K(T,D),L(T)?T.every(z=>z.length<=1)&&B():T.length<=1&&B()},V={mode:i,persisted:o,beforeEnter(T){let D=l;if(!n.isMounted)if(r)D=R||l;else return;T._leaveCb&&T._leaveCb(!0);const B=P[$];B&&Ge(e,B)&&B.el._leaveCb&&B.el._leaveCb(),K(D,[T])},enter(T){let D=c,B=a,z=d;if(!n.isMounted)if(r)D=j||c,B=_||a,z=x||d;else return;let I=!1;const k=T._enterCb=F=>{I||(I=!0,F?K(z,[T]):K(B,[T]),V.delayedLeave&&V.delayedLeave(),T._enterCb=void 0)};D?J(D,[T,k]):k()},leave(T,D){const B=String(e.key);if(T._enterCb&&T._enterCb(!0),n.isUnmounting)return D();K(p,[T]);let z=!1;const I=T._leaveCb=k=>{z||(z=!0,D(),k?K(N,[T]):K(A,[T]),T._leaveCb=void 0,P[B]===e&&delete P[B])};P[B]=e,y?J(y,[T,I]):I()},clone(T){return Un(T,t,n,s)}};return V}function An(e){if(mn(e))return e=qe(e),e.children=null,e}function Os(e){return mn(e)?e.children?e.children[0]:void 0:e}function jn(e,t){e.shapeFlag&6&&e.component?jn(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function kr(e,t=!1,n){let s=[],r=0;for(let i=0;i1)for(let i=0;iie({name:e.name},t,{setup:e}))():e}const ht=e=>!!e.type.__asyncLoader,mn=e=>e.type.__isKeepAlive;function Uo(e,t){Vr(e,"a",t)}function jo(e,t){Vr(e,"da",t)}function Vr(e,t,n=oe){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(_n(t,s,n),n){let r=n.parent;for(;r&&r.parent;)mn(r.parent.vnode)&&Do(s,t,n,r),r=r.parent}}function Do(e,t,n,s){const r=_n(t,e,s,!0);yn(()=>{Jn(s[t],r)},n)}function _n(e,t,n=oe,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;bt(),_t(n);const l=Ce(t,n,e,o);return rt(),yt(),l});return s?r.unshift(i):r.push(i),i}}const He=e=>(t,n=oe)=>(!Nt||e==="sp")&&_n(e,(...s)=>t(...s),n),Ko=He("bm"),bn=He("m"),ko=He("bu"),Wo=He("u"),qr=He("bum"),yn=He("um"),Vo=He("sp"),qo=He("rtg"),zo=He("rtc");function Yo(e,t=oe){_n("ec",e,t)}const fs="components";function Nc(e,t){return Yr(fs,e,!0,t)||e}const zr=Symbol.for("v-ndc");function $c(e){return se(e)?Yr(fs,e,!1)||e:e||zr}function Yr(e,t,n=!0,s=!1){const r=le||oe;if(r){const i=r.type;if(e===fs){const l=Tl(i,!1);if(l&&(l===t||l===Me(t)||l===fn(Me(t))))return i}const o=Rs(r[e]||i[e],t)||Rs(r.appContext[e],t);return!o&&s?i:o}}function Rs(e,t){return e&&(e[t]||e[Me(t)]||e[fn(Me(t))])}function Hc(e,t,n,s){let r;const i=n&&n[s];if(L(e)||se(e)){r=new Array(e.length);for(let o=0,l=e.length;ot(o,l,void 0,i&&i[l]));else{const o=Object.keys(e);r=new Array(o.length);for(let l=0,c=o.length;lon(t)?!(t.type===be||t.type===he&&!Jr(t.children)):!0)?e:null}function Uc(e,t){const n={};for(const s in e)n[t&&/[A-Z]/.test(s)?`on:${s}`:Yt(s)]=e[s];return n}const Dn=e=>e?ui(e)?xn(e)||e.proxy:Dn(e.parent):null,Pt=ie(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Dn(e.parent),$root:e=>Dn(e.root),$emit:e=>e.emit,$options:e=>as(e),$forceUpdate:e=>e.f||(e.f=()=>cs(e.update)),$nextTick:e=>e.n||(e.n=Nr.bind(e.proxy)),$watch:e=>No.bind(e)}),Pn=(e,t)=>e!==ee&&!e.__isScriptSetup&&q(e,t),Jo={get({_:e},t){const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;let a;if(t[0]!=="$"){const A=o[t];if(A!==void 0)switch(A){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(Pn(s,t))return o[t]=1,s[t];if(r!==ee&&q(r,t))return o[t]=2,r[t];if((a=e.propsOptions[0])&&q(a,t))return o[t]=3,i[t];if(n!==ee&&q(n,t))return o[t]=4,n[t];Kn&&(o[t]=0)}}const d=Pt[t];let p,y;if(d)return t==="$attrs"&&pe(e,"get",t),d(e);if((p=l.__cssModules)&&(p=p[t]))return p;if(n!==ee&&q(n,t))return o[t]=4,n[t];if(y=c.config.globalProperties,q(y,t))return y[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return Pn(r,t)?(r[t]=n,!0):s!==ee&&q(s,t)?(s[t]=n,!0):q(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:i}},o){let l;return!!n[o]||e!==ee&&q(e,o)||Pn(t,o)||(l=i[0])&&q(l,o)||q(s,o)||q(Pt,o)||q(r.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:q(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function jc(){return Xo().slots}function Xo(){const e=ai();return e.setupContext||(e.setupContext=hi(e))}function Fs(e){return L(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Kn=!0;function Zo(e){const t=as(e),n=e.proxy,s=e.ctx;Kn=!1,t.beforeCreate&&Ss(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:a,created:d,beforeMount:p,mounted:y,beforeUpdate:A,updated:N,activated:R,deactivated:j,beforeDestroy:_,beforeUnmount:x,destroyed:$,unmounted:P,render:K,renderTracked:J,renderTriggered:V,errorCaptured:T,serverPrefetch:D,expose:B,inheritAttrs:z,components:I,directives:k,filters:F}=t;if(a&&Qo(a,s,null),o)for(const ne in o){const Q=o[ne];U(Q)&&(s[ne]=Q.bind(n))}if(r){const ne=r.call(n,n);te(ne)&&(e.data=un(ne))}if(Kn=!0,i)for(const ne in i){const Q=i[ne],ze=U(Q)?Q.bind(n,n):U(Q.get)?Q.get.bind(n,n):Ie,Ht=!U(Q)&&U(Q.set)?Q.set.bind(n):Ie,Ye=Ee({get:ze,set:Ht});Object.defineProperty(s,ne,{enumerable:!0,configurable:!0,get:()=>Ye.value,set:Oe=>Ye.value=Oe})}if(l)for(const ne in l)Xr(l[ne],s,n,ne);if(c){const ne=U(c)?c.call(n):c;Reflect.ownKeys(ne).forEach(Q=>{rl(Q,ne[Q])})}d&&Ss(d,e,"c");function X(ne,Q){L(Q)?Q.forEach(ze=>ne(ze.bind(n))):Q&&ne(Q.bind(n))}if(X(Ko,p),X(bn,y),X(ko,A),X(Wo,N),X(Uo,R),X(jo,j),X(Yo,T),X(zo,J),X(qo,V),X(qr,x),X(yn,P),X(Vo,D),L(B))if(B.length){const ne=e.exposed||(e.exposed={});B.forEach(Q=>{Object.defineProperty(ne,Q,{get:()=>n[Q],set:ze=>n[Q]=ze})})}else e.exposed||(e.exposed={});K&&e.render===Ie&&(e.render=K),z!=null&&(e.inheritAttrs=z),I&&(e.components=I),k&&(e.directives=k)}function Qo(e,t,n=Ie){L(e)&&(e=kn(e));for(const s in e){const r=e[s];let i;te(r)?"default"in r?i=pt(r.from||s,r.default,!0):i=pt(r.from||s):i=pt(r),ae(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function Ss(e,t,n){Ce(L(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Xr(e,t,n,s){const r=s.includes(".")?jr(n,s):()=>n[s];if(se(e)){const i=t[e];U(i)&&Jt(r,i)}else if(U(e))Jt(r,e.bind(n));else if(te(e))if(L(e))e.forEach(i=>Xr(i,t,n,s));else{const i=U(e.handler)?e.handler.bind(n):t[e.handler];U(i)&&Jt(r,i,e)}}function as(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(a=>nn(c,a,o,!0)),nn(c,t,o)),te(t)&&i.set(t,c),c}function nn(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&nn(e,i,n,!0),r&&r.forEach(o=>nn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Go[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Go={data:Ms,props:Ls,emits:Ls,methods:Et,computed:Et,beforeCreate:ue,created:ue,beforeMount:ue,mounted:ue,beforeUpdate:ue,updated:ue,beforeDestroy:ue,beforeUnmount:ue,destroyed:ue,unmounted:ue,activated:ue,deactivated:ue,errorCaptured:ue,serverPrefetch:ue,components:Et,directives:Et,watch:tl,provide:Ms,inject:el};function Ms(e,t){return t?e?function(){return ie(U(e)?e.call(this,this):e,U(t)?t.call(this,this):t)}:t:e}function el(e,t){return Et(kn(e),kn(t))}function kn(e){if(L(e)){const t={};for(let n=0;n1)return n&&U(t)?t.call(s&&s.proxy):t}}function il(e,t,n,s=!1){const r={},i={};Qt(i,wn,1),e.propsDefaults=Object.create(null),Qr(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:go(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function ol(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=Y(r),[c]=e.propsOptions;let a=!1;if((s||o>0)&&!(o&16)){if(o&8){const d=e.vnode.dynamicProps;for(let p=0;p{c=!0;const[y,A]=Gr(p,t,!0);ie(o,y),A&&l.push(...A)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!i&&!c)return te(e)&&s.set(e,ft),ft;if(L(i))for(let d=0;d-1,A[1]=R<0||N-1||q(A,"default"))&&l.push(p)}}}const a=[o,l];return te(e)&&s.set(e,a),a}function Ns(e){return e[0]!=="$"}function $s(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function Hs(e,t){return $s(e)===$s(t)}function Bs(e,t){return L(t)?t.findIndex(n=>Hs(n,e)):U(t)&&Hs(t,e)?0:-1}const ei=e=>e[0]==="_"||e==="$stable",us=e=>L(e)?e.map(Te):[Te(e)],ll=(e,t,n)=>{if(t._n)return t;const s=Io((...r)=>us(t(...r)),n);return s._c=!1,s},ti=(e,t,n)=>{const s=e._ctx;for(const r in e){if(ei(r))continue;const i=e[r];if(U(i))t[r]=ll(r,i,s);else if(i!=null){const o=us(i);t[r]=()=>o}}},ni=(e,t)=>{const n=us(t);e.slots.default=()=>n},cl=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=Y(t),Qt(t,"_",n)):ti(t,e.slots={})}else e.slots={},t&&ni(e,t);Qt(e.slots,wn,1)},fl=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=ee;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:(ie(r,t),!n&&l===1&&delete r._):(i=!t.$stable,ti(t,r)),o=t}else t&&(ni(e,t),o={default:1});if(i)for(const l in r)!ei(l)&&!(l in o)&&delete r[l]};function rn(e,t,n,s,r=!1){if(L(e)){e.forEach((y,A)=>rn(y,t&&(L(t)?t[A]:t),n,s,r));return}if(ht(s)&&!r)return;const i=s.shapeFlag&4?xn(s.component)||s.component.proxy:s.el,o=r?null:i,{i:l,r:c}=e,a=t&&t.r,d=l.refs===ee?l.refs={}:l.refs,p=l.setupState;if(a!=null&&a!==c&&(se(a)?(d[a]=null,q(p,a)&&(p[a]=null)):ae(a)&&(a.value=null)),U(c))We(c,l,12,[o,d]);else{const y=se(c),A=ae(c);if(y||A){const N=()=>{if(e.f){const R=y?q(p,c)?p[c]:d[c]:c.value;r?L(R)&&Jn(R,i):L(R)?R.includes(i)||R.push(i):y?(d[c]=[i],q(p,c)&&(p[c]=d[c])):(c.value=[i],e.k&&(d[e.k]=c.value))}else y?(d[c]=o,q(p,c)&&(p[c]=o)):A&&(c.value=o,e.k&&(d[e.k]=o))};o?(N.id=-1,de(N,n)):N()}}}let Ue=!1;const Vt=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",qt=e=>e.nodeType===8;function al(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:i,parentNode:o,remove:l,insert:c,createComment:a}}=e,d=(_,x)=>{if(!x.hasChildNodes()){n(null,_,x),en(),x._vnode=_;return}Ue=!1,p(x.firstChild,_,null,null,null),en(),x._vnode=_,Ue&&console.error("Hydration completed but contains mismatches.")},p=(_,x,$,P,K,J=!1)=>{const V=qt(_)&&_.data==="[",T=()=>R(_,x,$,P,K,V),{type:D,ref:B,shapeFlag:z,patchFlag:I}=x;let k=_.nodeType;x.el=_,I===-2&&(J=!1,x.dynamicChildren=null);let F=null;switch(D){case mt:k!==3?x.children===""?(c(x.el=r(""),o(_),_),F=_):F=T():(_.data!==x.children&&(Ue=!0,_.data=x.children),F=i(_));break;case be:k!==8||V?F=T():F=i(_);break;case It:if(V&&(_=i(_),k=_.nodeType),k===1||k===3){F=_;const ge=!x.children.length;for(let X=0;X{J=J||!!x.dynamicChildren;const{type:V,props:T,patchFlag:D,shapeFlag:B,dirs:z}=x,I=V==="input"&&z||V==="option";if(I||D!==-1){if(z&&Fe(x,null,$,"created"),T)if(I||!J||D&48)for(const F in T)(I&&F.endsWith("value")||$t(F)&&!Tt(F))&&s(_,F,null,T[F],!1,void 0,$);else T.onClick&&s(_,"onClick",null,T.onClick,!1,void 0,$);let k;if((k=T&&T.onVnodeBeforeMount)&&we(k,$,x),z&&Fe(x,null,$,"beforeMount"),((k=T&&T.onVnodeMounted)||z)&&Ur(()=>{k&&we(k,$,x),z&&Fe(x,null,$,"mounted")},P),B&16&&!(T&&(T.innerHTML||T.textContent))){let F=A(_.firstChild,x,_,$,P,K,J);for(;F;){Ue=!0;const ge=F;F=F.nextSibling,l(ge)}}else B&8&&_.textContent!==x.children&&(Ue=!0,_.textContent=x.children)}return _.nextSibling},A=(_,x,$,P,K,J,V)=>{V=V||!!x.dynamicChildren;const T=x.children,D=T.length;for(let B=0;B{const{slotScopeIds:V}=x;V&&(K=K?K.concat(V):V);const T=o(_),D=A(i(_),x,T,$,P,K,J);return D&&qt(D)&&D.data==="]"?i(x.anchor=D):(Ue=!0,c(x.anchor=a("]"),T,D),D)},R=(_,x,$,P,K,J)=>{if(Ue=!0,x.el=null,J){const D=j(_);for(;;){const B=i(_);if(B&&B!==D)l(B);else break}}const V=i(_),T=o(_);return l(_),n(null,x,T,V,$,P,Vt(T),K),V},j=_=>{let x=0;for(;_;)if(_=i(_),_&&qt(_)&&(_.data==="["&&x++,_.data==="]")){if(x===0)return i(_);x--}return _};return[d,p]}const de=Ur;function ul(e){return dl(e,al)}function dl(e,t){const n=Mn();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:a,setElementText:d,parentNode:p,nextSibling:y,setScopeId:A=Ie,insertStaticContent:N}=e,R=(f,u,h,m=null,g=null,C=null,E=!1,w=null,v=!!u.dynamicChildren)=>{if(f===u)return;f&&!Ge(f,u)&&(m=Bt(f),Oe(f,g,C,!0),f=null),u.patchFlag===-2&&(v=!1,u.dynamicChildren=null);const{type:b,ref:S,shapeFlag:O}=u;switch(b){case mt:j(f,u,h,m);break;case be:_(f,u,h,m);break;case It:f==null&&x(u,h,m,E);break;case he:I(f,u,h,m,g,C,E,w,v);break;default:O&1?K(f,u,h,m,g,C,E,w,v):O&6?k(f,u,h,m,g,C,E,w,v):(O&64||O&128)&&b.process(f,u,h,m,g,C,E,w,v,ot)}S!=null&&g&&rn(S,f&&f.ref,C,u||f,!u)},j=(f,u,h,m)=>{if(f==null)s(u.el=l(u.children),h,m);else{const g=u.el=f.el;u.children!==f.children&&a(g,u.children)}},_=(f,u,h,m)=>{f==null?s(u.el=c(u.children||""),h,m):u.el=f.el},x=(f,u,h,m)=>{[f.el,f.anchor]=N(f.children,u,h,m,f.el,f.anchor)},$=({el:f,anchor:u},h,m)=>{let g;for(;f&&f!==u;)g=y(f),s(f,h,m),f=g;s(u,h,m)},P=({el:f,anchor:u})=>{let h;for(;f&&f!==u;)h=y(f),r(f),f=h;r(u)},K=(f,u,h,m,g,C,E,w,v)=>{E=E||u.type==="svg",f==null?J(u,h,m,g,C,E,w,v):D(f,u,g,C,E,w,v)},J=(f,u,h,m,g,C,E,w)=>{let v,b;const{type:S,props:O,shapeFlag:M,transition:H,dirs:W}=f;if(v=f.el=o(f.type,C,O&&O.is,O),M&8?d(v,f.children):M&16&&T(f.children,v,null,m,g,C&&S!=="foreignObject",E,w),W&&Fe(f,null,m,"created"),V(v,f,f.scopeId,E,m),O){for(const Z in O)Z!=="value"&&!Tt(Z)&&i(v,Z,null,O[Z],C,f.children,m,g,Le);"value"in O&&i(v,"value",null,O.value),(b=O.onVnodeBeforeMount)&&we(b,m,f)}W&&Fe(f,null,m,"beforeMount");const G=(!g||g&&!g.pendingBranch)&&H&&!H.persisted;G&&H.beforeEnter(v),s(v,u,h),((b=O&&O.onVnodeMounted)||G||W)&&de(()=>{b&&we(b,m,f),G&&H.enter(v),W&&Fe(f,null,m,"mounted")},g)},V=(f,u,h,m,g)=>{if(h&&A(f,h),m)for(let C=0;C{for(let b=v;b{const w=u.el=f.el;let{patchFlag:v,dynamicChildren:b,dirs:S}=u;v|=f.patchFlag&16;const O=f.props||ee,M=u.props||ee;let H;h&&Je(h,!1),(H=M.onVnodeBeforeUpdate)&&we(H,h,u,f),S&&Fe(u,f,h,"beforeUpdate"),h&&Je(h,!0);const W=g&&u.type!=="foreignObject";if(b?B(f.dynamicChildren,b,w,h,m,W,C):E||Q(f,u,w,null,h,m,W,C,!1),v>0){if(v&16)z(w,u,O,M,h,m,g);else if(v&2&&O.class!==M.class&&i(w,"class",null,M.class,g),v&4&&i(w,"style",O.style,M.style,g),v&8){const G=u.dynamicProps;for(let Z=0;Z{H&&we(H,h,u,f),S&&Fe(u,f,h,"updated")},m)},B=(f,u,h,m,g,C,E)=>{for(let w=0;w{if(h!==m){if(h!==ee)for(const w in h)!Tt(w)&&!(w in m)&&i(f,w,h[w],null,E,u.children,g,C,Le);for(const w in m){if(Tt(w))continue;const v=m[w],b=h[w];v!==b&&w!=="value"&&i(f,w,b,v,E,u.children,g,C,Le)}"value"in m&&i(f,"value",h.value,m.value)}},I=(f,u,h,m,g,C,E,w,v)=>{const b=u.el=f?f.el:l(""),S=u.anchor=f?f.anchor:l("");let{patchFlag:O,dynamicChildren:M,slotScopeIds:H}=u;H&&(w=w?w.concat(H):H),f==null?(s(b,h,m),s(S,h,m),T(u.children,h,S,g,C,E,w,v)):O>0&&O&64&&M&&f.dynamicChildren?(B(f.dynamicChildren,M,h,g,C,E,w),(u.key!=null||g&&u===g.subTree)&&si(f,u,!0)):Q(f,u,h,S,g,C,E,w,v)},k=(f,u,h,m,g,C,E,w,v)=>{u.slotScopeIds=w,f==null?u.shapeFlag&512?g.ctx.activate(u,h,m,E,v):F(u,h,m,g,C,E,v):ge(f,u,v)},F=(f,u,h,m,g,C,E)=>{const w=f.component=xl(f,m,g);if(mn(f)&&(w.ctx.renderer=ot),Cl(w),w.asyncDep){if(g&&g.registerDep(w,X),!f.el){const v=w.subTree=ce(be);_(null,v,u,h)}return}X(w,f,u,h,g,C,E)},ge=(f,u,h)=>{const m=u.component=f.component;if(Fo(f,u,h))if(m.asyncDep&&!m.asyncResolved){ne(m,u,h);return}else m.next=u,Eo(m.update),m.update();else u.el=f.el,m.vnode=u},X=(f,u,h,m,g,C,E)=>{const w=()=>{if(f.isMounted){let{next:S,bu:O,u:M,parent:H,vnode:W}=f,G=S,Z;Je(f,!1),S?(S.el=W.el,ne(f,S,E)):S=W,O&&En(O),(Z=S.props&&S.props.onVnodeBeforeUpdate)&&we(Z,H,S,W),Je(f,!0);const re=Tn(f),ve=f.subTree;f.subTree=re,R(ve,re,p(ve.el),Bt(ve),f,g,C),S.el=re.el,G===null&&So(f,re.el),M&&de(M,g),(Z=S.props&&S.props.onVnodeUpdated)&&de(()=>we(Z,H,S,W),g)}else{let S;const{el:O,props:M}=u,{bm:H,m:W,parent:G}=f,Z=ht(u);if(Je(f,!1),H&&En(H),!Z&&(S=M&&M.onVnodeBeforeMount)&&we(S,G,u),Je(f,!0),O&&vn){const re=()=>{f.subTree=Tn(f),vn(O,f.subTree,f,g,null)};Z?u.type.__asyncLoader().then(()=>!f.isUnmounted&&re()):re()}else{const re=f.subTree=Tn(f);R(null,re,h,m,f,g,C),u.el=re.el}if(W&&de(W,g),!Z&&(S=M&&M.onVnodeMounted)){const re=u;de(()=>we(S,G,re),g)}(u.shapeFlag&256||G&&ht(G.vnode)&&G.vnode.shapeFlag&256)&&f.a&&de(f.a,g),f.isMounted=!0,u=h=m=null}},v=f.effect=new ts(w,()=>cs(b),f.scope),b=f.update=()=>v.run();b.id=f.uid,Je(f,!0),b()},ne=(f,u,h)=>{u.component=f;const m=f.vnode.props;f.vnode=u,f.next=null,ol(f,u.props,m,h),fl(f,u.children,h),bt(),Ps(),yt()},Q=(f,u,h,m,g,C,E,w,v=!1)=>{const b=f&&f.children,S=f?f.shapeFlag:0,O=u.children,{patchFlag:M,shapeFlag:H}=u;if(M>0){if(M&128){Ht(b,O,h,m,g,C,E,w,v);return}else if(M&256){ze(b,O,h,m,g,C,E,w,v);return}}H&8?(S&16&&Le(b,g,C),O!==b&&d(h,O)):S&16?H&16?Ht(b,O,h,m,g,C,E,w,v):Le(b,g,C,!0):(S&8&&d(h,""),H&16&&T(O,h,m,g,C,E,w,v))},ze=(f,u,h,m,g,C,E,w,v)=>{f=f||ft,u=u||ft;const b=f.length,S=u.length,O=Math.min(b,S);let M;for(M=0;MS?Le(f,g,C,!0,!1,O):T(u,h,m,g,C,E,w,v,O)},Ht=(f,u,h,m,g,C,E,w,v)=>{let b=0;const S=u.length;let O=f.length-1,M=S-1;for(;b<=O&&b<=M;){const H=f[b],W=u[b]=v?Ke(u[b]):Te(u[b]);if(Ge(H,W))R(H,W,h,null,g,C,E,w,v);else break;b++}for(;b<=O&&b<=M;){const H=f[O],W=u[M]=v?Ke(u[M]):Te(u[M]);if(Ge(H,W))R(H,W,h,null,g,C,E,w,v);else break;O--,M--}if(b>O){if(b<=M){const H=M+1,W=HM)for(;b<=O;)Oe(f[b],g,C,!0),b++;else{const H=b,W=b,G=new Map;for(b=W;b<=M;b++){const me=u[b]=v?Ke(u[b]):Te(u[b]);me.key!=null&&G.set(me.key,b)}let Z,re=0;const ve=M-W+1;let lt=!1,ms=0;const wt=new Array(ve);for(b=0;b=ve){Oe(me,g,C,!0);continue}let Re;if(me.key!=null)Re=G.get(me.key);else for(Z=W;Z<=M;Z++)if(wt[Z-W]===0&&Ge(me,u[Z])){Re=Z;break}Re===void 0?Oe(me,g,C,!0):(wt[Re-W]=b+1,Re>=ms?ms=Re:lt=!0,R(me,u[Re],h,null,g,C,E,w,v),re++)}const _s=lt?hl(wt):ft;for(Z=_s.length-1,b=ve-1;b>=0;b--){const me=W+b,Re=u[me],bs=me+1{const{el:C,type:E,transition:w,children:v,shapeFlag:b}=f;if(b&6){Ye(f.component.subTree,u,h,m);return}if(b&128){f.suspense.move(u,h,m);return}if(b&64){E.move(f,u,h,ot);return}if(E===he){s(C,u,h);for(let O=0;Ow.enter(C),g);else{const{leave:O,delayLeave:M,afterLeave:H}=w,W=()=>s(C,u,h),G=()=>{O(C,()=>{W(),H&&H()})};M?M(C,W,G):G()}else s(C,u,h)},Oe=(f,u,h,m=!1,g=!1)=>{const{type:C,props:E,ref:w,children:v,dynamicChildren:b,shapeFlag:S,patchFlag:O,dirs:M}=f;if(w!=null&&rn(w,null,h,f,!0),S&256){u.ctx.deactivate(f);return}const H=S&1&&M,W=!ht(f);let G;if(W&&(G=E&&E.onVnodeBeforeUnmount)&&we(G,u,f),S&6)Ei(f.component,h,m);else{if(S&128){f.suspense.unmount(h,m);return}H&&Fe(f,null,u,"beforeUnmount"),S&64?f.type.remove(f,u,h,g,ot,m):b&&(C!==he||O>0&&O&64)?Le(b,u,h,!1,!0):(C===he&&O&384||!g&&S&16)&&Le(v,u,h),m&&ps(f)}(W&&(G=E&&E.onVnodeUnmounted)||H)&&de(()=>{G&&we(G,u,f),H&&Fe(f,null,u,"unmounted")},h)},ps=f=>{const{type:u,el:h,anchor:m,transition:g}=f;if(u===he){vi(h,m);return}if(u===It){P(f);return}const C=()=>{r(h),g&&!g.persisted&&g.afterLeave&&g.afterLeave()};if(f.shapeFlag&1&&g&&!g.persisted){const{leave:E,delayLeave:w}=g,v=()=>E(h,C);w?w(f.el,C,v):v()}else C()},vi=(f,u)=>{let h;for(;f!==u;)h=y(f),r(f),f=h;r(u)},Ei=(f,u,h)=>{const{bum:m,scope:g,update:C,subTree:E,um:w}=f;m&&En(m),g.stop(),C&&(C.active=!1,Oe(E,f,u,h)),w&&de(w,u),de(()=>{f.isUnmounted=!0},u),u&&u.pendingBranch&&!u.isUnmounted&&f.asyncDep&&!f.asyncResolved&&f.suspenseId===u.pendingId&&(u.deps--,u.deps===0&&u.resolve())},Le=(f,u,h,m=!1,g=!1,C=0)=>{for(let E=C;Ef.shapeFlag&6?Bt(f.component.subTree):f.shapeFlag&128?f.suspense.next():y(f.anchor||f.el),gs=(f,u,h)=>{f==null?u._vnode&&Oe(u._vnode,null,null,!0):R(u._vnode||null,f,u,null,null,null,h),Ps(),en(),u._vnode=f},ot={p:R,um:Oe,m:Ye,r:ps,mt:F,mc:T,pc:Q,pbc:B,n:Bt,o:e};let Cn,vn;return t&&([Cn,vn]=t(ot)),{render:gs,hydrate:Cn,createApp:sl(gs,Cn)}}function Je({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function si(e,t,n=!1){const s=e.children,r=t.children;if(L(s)&&L(r))for(let i=0;i>1,e[n[l]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}const pl=e=>e.__isTeleport,he=Symbol.for("v-fgt"),mt=Symbol.for("v-txt"),be=Symbol.for("v-cmt"),It=Symbol.for("v-stc"),Ot=[];let Pe=null;function ri(e=!1){Ot.push(Pe=e?null:[])}function gl(){Ot.pop(),Pe=Ot[Ot.length-1]||null}let Lt=1;function Us(e){Lt+=e}function ii(e){return e.dynamicChildren=Lt>0?Pe||ft:null,gl(),Lt>0&&Pe&&Pe.push(e),e}function Dc(e,t,n,s,r,i){return ii(ci(e,t,n,s,r,i,!0))}function oi(e,t,n,s,r){return ii(ce(e,t,n,s,r,!0))}function on(e){return e?e.__v_isVNode===!0:!1}function Ge(e,t){return e.type===t.type&&e.key===t.key}const wn="__vInternal",li=({key:e})=>e??null,Xt=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?se(e)||ae(e)||U(e)?{i:le,r:e,k:t,f:!!n}:e:null);function ci(e,t=null,n=null,s=0,r=null,i=e===he?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&li(t),ref:t&&Xt(t),scopeId:pn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:le};return l?(ds(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=se(n)?8:16),Lt>0&&!o&&Pe&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Pe.push(c),c}const ce=ml;function ml(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===zr)&&(e=be),on(e)){const l=qe(e,t,!0);return n&&ds(l,n),Lt>0&&!i&&Pe&&(l.shapeFlag&6?Pe[Pe.indexOf(e)]=l:Pe.push(l)),l.patchFlag|=-2,l}if(Al(e)&&(e=e.__vccOpts),t){t=_l(t);let{class:l,style:c}=t;l&&!se(l)&&(t.class=Gn(l)),te(c)&&(Ir(c)&&!L(c)&&(c=ie({},c)),t.style=Qn(c))}const o=se(e)?1:Mo(e)?128:pl(e)?64:te(e)?4:U(e)?2:0;return ci(e,t,n,s,r,o,i,!0)}function _l(e){return e?Ir(e)||wn in e?ie({},e):e:null}function qe(e,t,n=!1){const{props:s,ref:r,patchFlag:i,children:o}=e,l=t?bl(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&li(l),ref:t&&t.ref?n&&r?L(r)?r.concat(Xt(t)):[r,Xt(t)]:Xt(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==he?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&qe(e.ssContent),ssFallback:e.ssFallback&&qe(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function fi(e=" ",t=0){return ce(mt,null,e,t)}function Kc(e,t){const n=ce(It,null,e);return n.staticCount=t,n}function kc(e="",t=!1){return t?(ri(),oi(be,null,e)):ce(be,null,e)}function Te(e){return e==null||typeof e=="boolean"?ce(be):L(e)?ce(he,null,e.slice()):typeof e=="object"?Ke(e):ce(mt,null,String(e))}function Ke(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:qe(e)}function ds(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(L(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),ds(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(wn in t)?t._ctx=le:r===3&&le&&(le.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else U(t)?(t={default:t,_ctx:le},n=32):(t=String(t),s&64?(n=16,t=[fi(t)]):n=8);e.children=t,e.shapeFlag|=n}function bl(...e){const t={};for(let n=0;noe||le;let hs,ct,js="__VUE_INSTANCE_SETTERS__";(ct=Mn()[js])||(ct=Mn()[js]=[]),ct.push(e=>oe=e),hs=e=>{ct.length>1?ct.forEach(t=>t(e)):ct[0](e)};const _t=e=>{hs(e),e.scope.on()},rt=()=>{oe&&oe.scope.off(),hs(null)};function ui(e){return e.vnode.shapeFlag&4}let Nt=!1;function Cl(e,t=!1){Nt=t;const{props:n,children:s}=e.vnode,r=ui(e);il(e,n,r,t),cl(e,s);const i=r?vl(e,t):void 0;return Nt=!1,i}function vl(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=At(new Proxy(e.ctx,Jo));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?hi(e):null;_t(e),bt();const i=We(s,e,0,[e.props,r]);if(yt(),rt(),dr(i)){if(i.then(rt,rt),t)return i.then(o=>{Ds(e,o,t)}).catch(o=>{dn(o,e,0)});e.asyncDep=i}else Ds(e,i,t)}else di(e,t)}function Ds(e,t,n){U(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:te(t)&&(e.setupState=Mr(t)),di(e,n)}let Ks;function di(e,t,n){const s=e.type;if(!e.render){if(!t&&Ks&&!s.render){const r=s.template||as(e).template;if(r){const{isCustomElement:i,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,a=ie(ie({isCustomElement:i,delimiters:l},o),c);s.render=Ks(r,a)}}e.render=s.render||Ie}_t(e),bt(),Zo(e),yt(),rt()}function El(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return pe(e,"get","$attrs"),t[n]}}))}function hi(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return El(e)},slots:e.slots,emit:e.emit,expose:t}}function xn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Mr(At(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Pt)return Pt[n](e)},has(t,n){return n in t||n in Pt}}))}function Tl(e,t=!0){return U(e)?e.displayName||e.name:e.name||t&&e.__name}function Al(e){return U(e)&&"__vccOpts"in e}const Ee=(e,t)=>xo(e,t,Nt);function Vn(e,t,n){const s=arguments.length;return s===2?te(t)&&!L(t)?on(t)?ce(e,null,[t]):ce(e,t):ce(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&on(n)&&(n=[n]),ce(e,t,n))}const Pl=Symbol.for("v-scx"),Il=()=>pt(Pl),Ol="3.3.4",Rl="http://www.w3.org/2000/svg",et=typeof document<"u"?document:null,ks=et&&et.createElement("template"),Fl={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t?et.createElementNS(Rl,e):et.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>et.createTextNode(e),createComment:e=>et.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>et.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{ks.innerHTML=s?`${e}`:e;const l=ks.content;if(s){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function Sl(e,t,n){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function Ml(e,t,n){const s=e.style,r=se(n);if(n&&!r){if(t&&!se(t))for(const i in t)n[i]==null&&qn(s,i,"");for(const i in n)qn(s,i,n[i])}else{const i=s.display;r?t!==n&&(s.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=i)}}const Ws=/\s*!important$/;function qn(e,t,n){if(L(n))n.forEach(s=>qn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Ll(e,t);Ws.test(n)?e.setProperty(it(s),n.replace(Ws,""),"important"):e[s]=n}}const Vs=["Webkit","Moz","ms"],In={};function Ll(e,t){const n=In[t];if(n)return n;let s=Me(t);if(s!=="filter"&&s in e)return In[t]=s;s=fn(s);for(let r=0;rOn||(Dl.then(()=>On=0),On=Date.now());function kl(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;Ce(Wl(s,n.value),t,5,[s])};return n.value=e,n.attached=Kl(),n}function Wl(e,t){if(L(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Ys=/^on[a-z]/,Vl=(e,t,n,s,r=!1,i,o,l,c)=>{t==="class"?Sl(e,s,r):t==="style"?Ml(e,n,s):$t(t)?Yn(t)||Ul(e,t,n,s,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):ql(e,t,s,r))?$l(e,t,s,i,o,l,c):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Nl(e,t,s,r))};function ql(e,t,n,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&Ys.test(t)&&U(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||Ys.test(t)&&se(n)?!1:t in e}const je="transition",xt="animation",pi=(e,{slots:t})=>Vn(Bo,zl(e),t);pi.displayName="Transition";const gi={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};pi.props=ie({},Dr,gi);const Xe=(e,t=[])=>{L(e)?e.forEach(n=>n(...t)):e&&e(...t)},Js=e=>e?L(e)?e.some(t=>t.length>1):e.length>1:!1;function zl(e){const t={};for(const I in e)I in gi||(t[I]=e[I]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:a=o,appearToClass:d=l,leaveFromClass:p=`${n}-leave-from`,leaveActiveClass:y=`${n}-leave-active`,leaveToClass:A=`${n}-leave-to`}=e,N=Yl(r),R=N&&N[0],j=N&&N[1],{onBeforeEnter:_,onEnter:x,onEnterCancelled:$,onLeave:P,onLeaveCancelled:K,onBeforeAppear:J=_,onAppear:V=x,onAppearCancelled:T=$}=t,D=(I,k,F)=>{Ze(I,k?d:l),Ze(I,k?a:o),F&&F()},B=(I,k)=>{I._isLeaving=!1,Ze(I,p),Ze(I,A),Ze(I,y),k&&k()},z=I=>(k,F)=>{const ge=I?V:x,X=()=>D(k,I,F);Xe(ge,[k,X]),Xs(()=>{Ze(k,I?c:i),De(k,I?d:l),Js(ge)||Zs(k,s,R,X)})};return ie(t,{onBeforeEnter(I){Xe(_,[I]),De(I,i),De(I,o)},onBeforeAppear(I){Xe(J,[I]),De(I,c),De(I,a)},onEnter:z(!1),onAppear:z(!0),onLeave(I,k){I._isLeaving=!0;const F=()=>B(I,k);De(I,p),Zl(),De(I,y),Xs(()=>{I._isLeaving&&(Ze(I,p),De(I,A),Js(P)||Zs(I,s,j,F))}),Xe(P,[I,F])},onEnterCancelled(I){D(I,!1),Xe($,[I])},onAppearCancelled(I){D(I,!0),Xe(T,[I])},onLeaveCancelled(I){B(I),Xe(K,[I])}})}function Yl(e){if(e==null)return null;if(te(e))return[Rn(e.enter),Rn(e.leave)];{const t=Rn(e);return[t,t]}}function Rn(e){return Si(e)}function De(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e._vtc||(e._vtc=new Set)).add(t)}function Ze(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function Xs(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Jl=0;function Zs(e,t,n,s){const r=e._endId=++Jl,i=()=>{r===e._endId&&s()};if(n)return setTimeout(i,n);const{type:o,timeout:l,propCount:c}=Xl(e,t);if(!o)return s();const a=o+"end";let d=0;const p=()=>{e.removeEventListener(a,y),i()},y=A=>{A.target===e&&++d>=c&&p()};setTimeout(()=>{d(n[N]||"").split(", "),r=s(`${je}Delay`),i=s(`${je}Duration`),o=Qs(r,i),l=s(`${xt}Delay`),c=s(`${xt}Duration`),a=Qs(l,c);let d=null,p=0,y=0;t===je?o>0&&(d=je,p=o,y=i.length):t===xt?a>0&&(d=xt,p=a,y=c.length):(p=Math.max(o,a),d=p>0?o>a?je:xt:null,y=d?d===je?i.length:c.length:0);const A=d===je&&/\b(transform|all)(,|$)/.test(s(`${je}Property`).toString());return{type:d,timeout:p,propCount:y,hasTransform:A}}function Qs(e,t){for(;e.lengthGs(n)+Gs(e[s])))}function Gs(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function Zl(){return document.body.offsetHeight}const Ql=["ctrl","shift","alt","meta"],Gl={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Ql.some(n=>e[`${n}Key`]&&!t.includes(n))},Wc=(e,t)=>(n,...s)=>{for(let r=0;rn=>{if(!("key"in n))return;const s=it(n.key);if(t.some(r=>r===s||ec[r]===s))return e(n)},qc={beforeMount(e,{value:t},{transition:n}){e._vod=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Ct(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),Ct(e,!0),s.enter(e)):s.leave(e,()=>{Ct(e,!1)}):Ct(e,t))},beforeUnmount(e,{value:t}){Ct(e,t)}};function Ct(e,t){e.style.display=t?e._vod:"none"}const tc=ie({patchProp:Vl},Fl);let Fn,er=!1;function nc(){return Fn=er?Fn:ul(tc),er=!0,Fn}const zc=(...e)=>{const t=nc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=sc(s);if(r)return n(r,!0,r instanceof SVGElement)},t};function sc(e){return se(e)?document.querySelector(e):e}const Yc=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},rc="modulepreload",ic=function(e){return"/doc/"+e},tr={},Jc=function(t,n,s){if(!n||n.length===0)return t();const r=document.getElementsByTagName("link");return Promise.all(n.map(i=>{if(i=ic(i),i in tr)return;tr[i]=!0;const o=i.endsWith(".css"),l=o?'[rel="stylesheet"]':"";if(!!s)for(let d=r.length-1;d>=0;d--){const p=r[d];if(p.href===i&&(!o||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${l}`))return;const a=document.createElement("link");if(a.rel=o?"stylesheet":rc,o||(a.as="script",a.crossOrigin=""),a.href=i,document.head.appendChild(a),o)return new Promise((d,p)=>{a.addEventListener("load",d),a.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${i}`)))})})).then(()=>t()).catch(i=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=i,window.dispatchEvent(o),!o.defaultPrevented)throw i})},oc=window.__VP_SITE_DATA__,mi=/^[a-z]+:/i,Xc=/^pathname:\/\//,Zc="vitepress-theme-appearance",_i=/#.*$/,lc=/(index)?\.(md|html)$/,xe=typeof document<"u",bi={relativePath:"",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function cc(e,t,n=!1){if(t===void 0)return!1;if(e=nr(`/${e}`),n)return new RegExp(t).test(e);if(nr(t)!==e)return!1;const s=t.match(_i);return s?(xe?location.hash:"")===s[0]:!0}function nr(e){return decodeURI(e).replace(_i,"").replace(lc,"")}function fc(e){return mi.test(e)}function ac(e,t){var s,r,i,o,l,c,a;const n=Object.keys(e.locales).find(d=>d!=="root"&&!fc(d)&&cc(t,`/${d}/`,!0))||"root";return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.dir)??e.dir,title:((i=e.locales[n])==null?void 0:i.title)??e.title,titleTemplate:((o=e.locales[n])==null?void 0:o.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:wi(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(a=e.locales[n])==null?void 0:a.themeConfig}})}function yi(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const r=uc(e.title,s);return`${n}${r}`}function uc(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function dc(e,t){const[n,s]=t;if(n!=="meta")return!1;const r=Object.entries(s)[0];return r==null?!1:e.some(([i,o])=>i===n&&o[r[0]]===r[1])}function wi(e,t){return[...e.filter(n=>!dc(t,n)),...t]}const hc=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,pc=/^[a-z]:/i;function sr(e){const t=pc.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(hc,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const gc=Symbol(),nt=mo(oc);function Qc(e){const t=Ee(()=>ac(nt.value,e.data.relativePath));return{site:t,theme:Ee(()=>t.value.themeConfig),page:Ee(()=>e.data),frontmatter:Ee(()=>e.data.frontmatter),params:Ee(()=>e.data.params),lang:Ee(()=>t.value.lang),dir:Ee(()=>t.value.dir),localeIndex:Ee(()=>t.value.localeIndex||"root"),title:Ee(()=>yi(t.value,e.data)),description:Ee(()=>e.data.description||t.value.description),isDark:Fr(!1)}}function mc(){const e=pt(gc);if(!e)throw new Error("vitepress data not properly injected in app");return e}function _c(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function rr(e){return mi.test(e)||e.startsWith(".")?e:_c(nt.value.base,e)}function bc(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),xe){const n="/doc/";t=sr(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];if(s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),!s)return null;t=`${n}assets/${t}.${s}.js`}else t=`./${sr(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let Zt=[];function Gc(e){Zt.push(e),yn(()=>{Zt=Zt.filter(t=>t!==e)})}const yc=Symbol(),ir="http://a.com",wc=()=>({path:"/",component:null,data:bi});function ef(e,t){const n=un(wc()),s={route:n,go:r};async function r(l=xe?location.href:"/"){var a,d;if(await((a=s.onBeforeRouteChange)==null?void 0:a.call(s,l))===!1)return;const c=new URL(l,ir);nt.value.cleanUrls||!c.pathname.endsWith("/")&&!c.pathname.endsWith(".html")&&(c.pathname+=".html",l=c.pathname+c.search+c.hash),cr(l),await o(l),await((d=s.onAfterRouteChanged)==null?void 0:d.call(s,l))}let i=null;async function o(l,c=0,a=!1){var y;if(await((y=s.onBeforePageLoad)==null?void 0:y.call(s,l))===!1)return;const d=new URL(l,ir),p=i=d.pathname;try{let A=await e(p);if(!A)throw new Error(`Page not found: ${p}`);if(i===p){i=null;const{default:N,__pageData:R}=A;if(!N)throw new Error(`Invalid route component: ${N}`);n.path=xe?p:rr(p),n.component=At(N),n.data=At(R),xe&&Nr(()=>{let j=nt.value.base+R.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!nt.value.cleanUrls&&!j.endsWith("/")&&(j+=".html"),j!==d.pathname&&(d.pathname=j,l=j+d.search+d.hash,history.replaceState(null,"",l)),d.hash&&!c){let _=null;try{_=document.getElementById(decodeURIComponent(d.hash).slice(1))}catch(x){console.warn(x)}if(_){or(_,d.hash);return}}window.scrollTo(0,c)})}}catch(A){if(!/fetch|Page not found/.test(A.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(A),!a)try{const N=await fetch(nt.value.base+"hashmap.json");window.__VP_HASH_MAP__=await N.json(),await o(l,c,!0);return}catch{}i===p&&(i=null,n.path=xe?p:rr(p),n.component=t?At(t):null,n.data=bi)}}return xe&&(window.addEventListener("click",l=>{if(l.target.closest("button"))return;const a=l.target.closest("a");if(a&&!a.closest(".vp-raw")&&(a instanceof SVGElement||!a.download)){const{target:d}=a,{href:p,origin:y,pathname:A,hash:N,search:R}=new URL(a.href instanceof SVGAnimatedString?a.href.animVal:a.href,a.baseURI),j=window.location,_=A.match(/\.\w+$/);!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&!d&&y===j.origin&&!(_&&_[0]!==".html")&&(l.preventDefault(),A===j.pathname&&R===j.search?(N!==j.hash&&(history.pushState(null,"",N),window.dispatchEvent(new Event("hashchange"))),N?or(a,N,a.classList.contains("header-anchor")):(cr(p),window.scrollTo(0,0))):r(p))}},{capture:!0}),window.addEventListener("popstate",l=>{o(location.href,l.state&&l.state.scrollPosition||0)}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function xc(){const e=pt(yc);if(!e)throw new Error("useRouter() is called without provider.");return e}function xi(){return xc().route}function or(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(r){console.warn(r)}if(s){let a=function(){!n||Math.abs(c-window.scrollY)>window.innerHeight?window.scrollTo(0,c):window.scrollTo({left:0,top:c,behavior:"smooth"})},r=nt.value.scrollOffset,i=0,o=24;if(typeof r=="object"&&"padding"in r&&(o=r.padding,r=r.selector),typeof r=="number")i=r;else if(typeof r=="string")i=lr(r,o);else if(Array.isArray(r))for(const d of r){const p=lr(d,o);if(p){i=p;break}}const l=parseInt(window.getComputedStyle(s).paddingTop,10),c=window.scrollY+s.getBoundingClientRect().top-i+l;requestAnimationFrame(a)}}function lr(e,t){const n=document.querySelector(e);if(!n)return 0;const s=n.getBoundingClientRect().bottom;return s<0?0:s+t}function cr(e){xe&&e!==location.href&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",e))}const fr=()=>Zt.forEach(e=>e()),tf=Wr({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=xi(),{site:n}=mc();return()=>Vn(e.as,n.value.contentProps??{style:{position:"relative"}},[t.component?Vn(t.component,{onVnodeMounted:fr,onVnodeUpdated:fr}):"404 Page Not Found"])}}),nf=Wr({setup(e,{slots:t}){const n=Fr(!1);return bn(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function sf(){xe&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const s=(n=t.parentElement)==null?void 0:n.parentElement;if(!s)return;const r=Array.from(s.querySelectorAll("input")).indexOf(t);if(r<0)return;const i=s.querySelector(".blocks");if(!i)return;const o=Array.from(i.children).find(a=>a.classList.contains("active"));if(!o)return;const l=i.children[r];if(!l||o===l)return;o.classList.remove("active"),l.classList.add("active");const c=s==null?void 0:s.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function rf(){if(xe){const e=new WeakMap;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,i=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!r||!i)return;const o=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className);let l="";i.querySelectorAll("span.line:not(.diff.remove)").forEach(c=>l+=(c.textContent||"")+` +`),l=l.slice(0,-1),o&&(l=l.replace(/^ *(\$|>) /gm,"").trim()),Cc(l).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const c=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,c)})}})}}async function Cc(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const s=document.getSelection(),r=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),r&&(s.removeAllRanges(),s.addRange(r)),n&&n.focus()}}function of(e,t){let n=[],s=!0;const r=i=>{if(s){s=!1;return}n.forEach(o=>document.head.removeChild(o)),n=[],i.forEach(o=>{const l=ar(o);document.head.appendChild(l),n.push(l)})};Lo(()=>{const i=e.data,o=t.value,l=i&&i.description,c=i&&i.frontmatter.head||[];document.title=yi(o,i);const a=l||o.description;let d=document.querySelector("meta[name=description]");d?d.setAttribute("content",a):ar(["meta",{name:"description",content:a}]),r(wi(o.head,Ec(c)))})}function ar([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),s}function vc(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function Ec(e){return e.filter(t=>!vc(t))}const Sn=new Set,Ci=()=>document.createElement("link"),Tc=e=>{const t=Ci();t.rel="prefetch",t.href=e,document.head.appendChild(t)},Ac=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let zt;const Pc=xe&&(zt=Ci())&&zt.relList&&zt.relList.supports&&zt.relList.supports("prefetch")?Tc:Ac;function lf(){if(!xe||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(i=>{i.forEach(o=>{if(o.isIntersecting){const l=o.target;n.unobserve(l);const{pathname:c}=l;if(!Sn.has(c)){Sn.add(c);const a=bc(c);a&&Pc(a)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(i=>{const{hostname:o,pathname:l}=new URL(i.href instanceof SVGAnimatedString?i.href.animVal:i.href,i.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||i.target!=="_blank"&&o===location.hostname&&(l!==location.pathname?n.observe(i):Sn.add(l))})})};bn(s);const r=xi();Jt(()=>r.path,s),yn(()=>{n&&n.disconnect()})}export{jc as $,xe as A,yn as B,Mc as C,Wo as D,Nc as E,he as F,Hc as G,mo as H,Gc as I,ce as J,$c as K,mi as L,xi as M,bl as N,pt as O,Xc as P,Qn as Q,Nr as R,Kc as S,pi as T,Zc as U,Pr as V,rl as W,Vc as X,Uc as Y,Wc as Z,Yc as _,fi as a,se as a0,te as a1,q as a2,Rc as a3,Ie as a4,L as a5,on as a6,qr as a7,Lc as a8,qc as a9,un as aa,Vn as ab,of as ac,yc as ad,Qc as ae,gc as af,tf as ag,nf as ah,nt as ai,zc as aj,ef as ak,bc as al,Jc as am,lf as an,rf as ao,sf as ap,oi as b,Dc as c,Wr as d,kc as e,rr as f,Ee as g,Fr as h,fc as i,bn as j,ci as k,bo as l,Sc as m,Gn as n,ri as o,Fc as p,Di as q,Bc as r,Oc as s,Ic as t,mc as u,Jt as v,Io as w,Lo as x,ai as y,cc as z}; diff --git a/assets/chunks/theme.c66e38de.js b/assets/chunks/theme.c66e38de.js new file mode 100644 index 0000000..b28ca62 --- /dev/null +++ b/assets/chunks/theme.c66e38de.js @@ -0,0 +1,7 @@ +import{d as g,o as a,c as i,r as u,n as B,a as x,t as S,_ as m,b,w as p,T as he,e as f,u as et,i as tt,P as nt,f as fe,g as $,h as P,j as H,k as c,l,p as E,m as D,q as st,s as ot,v as R,x as le,y as at,z as q,A as ie,B as me,C as ge,D as rt,E as U,F as C,G as A,H as ye,I as Q,J as h,K as G,L as ze,M as ce,N as te,O as be,Q as Fe,R as lt,S as it,U as xe,V as ct,W as ne,X as ut,Y as dt,Z as _t,$ as vt}from"./framework.a3dd33a8.js";const pt=g({__name:"VPBadge",props:{text:{},type:{}},setup(n){return(e,t)=>(a(),i("span",{class:B(["VPBadge",e.type??"tip"])},[u(e.$slots,"default",{},()=>[x(S(e.text),1)],!0)],2))}});const ht=m(pt,[["__scopeId","data-v-1b97f71e"]]),ft={key:0,class:"VPBackdrop"},mt=g({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(n){return(e,t)=>(a(),b(he,{name:"fade"},{default:p(()=>[e.show?(a(),i("div",ft)):f("",!0)]),_:1}))}});const gt=m(mt,[["__scopeId","data-v-d48f95d0"]]),V=et;function yt(n,e){let t,s=!1;return()=>{t&&clearTimeout(t),s?t=setTimeout(n,e):(n(),s=!0,setTimeout(()=>{s=!1},e))}}function _e(n){return/^\//.test(n)?n:`/${n}`}function J(n){if(tt(n))return n.replace(nt,"");const{site:e}=V(),{pathname:t,search:s,hash:o}=new URL(n,"http://a.com"),r=t.endsWith("/")||t.endsWith(".html")?n:n.replace(/(?:(^\.+)\/)?.*$/,`$1${t.replace(/(\.md)?$/,e.value.cleanUrls?"":".html")}${s}${o}`);return fe(r)}function Z({removeCurrent:n=!0,correspondingLink:e=!1}={}){const{site:t,localeIndex:s,page:o,theme:r}=V(),d=$(()=>{var _,y;return{label:(_=t.value.locales[s.value])==null?void 0:_.label,link:((y=t.value.locales[s.value])==null?void 0:y.link)||(s.value==="root"?"/":`/${s.value}/`)}});return{localeLinks:$(()=>Object.entries(t.value.locales).flatMap(([_,y])=>n&&d.value.label===y.label?[]:{text:y.label,link:bt(y.link||(_==="root"?"/":`/${_}/`),r.value.i18nRouting!==!1&&e,o.value.relativePath.slice(d.value.link.length-1),!t.value.cleanUrls)})),currentLang:d}}function bt(n,e,t,s){return e?n.replace(/\/$/,"")+_e(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,s?".html":"")):n}const kt=n=>(E("data-v-79ad7de0"),n=n(),D(),n),$t={class:"NotFound"},Pt={class:"code"},Vt={class:"title"},wt=kt(()=>c("div",{class:"divider"},null,-1)),St={class:"quote"},Lt={class:"action"},Mt=["href","aria-label"],Tt=g({__name:"NotFound",setup(n){const{site:e,theme:t}=V(),{localeLinks:s}=Z({removeCurrent:!1}),o=P("/");return H(()=>{var d;const r=window.location.pathname.replace(e.value.base,"").replace(/(^.*?\/).*$/,"/$1");s.value.length&&(o.value=((d=s.value.find(({link:v})=>v.startsWith(r)))==null?void 0:d.link)||s.value[0].link)}),(r,d)=>{var v,_,y,w,L;return a(),i("div",$t,[c("p",Pt,S(((v=l(t).notFound)==null?void 0:v.code)??"404"),1),c("h1",Vt,S(((_=l(t).notFound)==null?void 0:_.title)??"PAGE NOT FOUND"),1),wt,c("blockquote",St,S(((y=l(t).notFound)==null?void 0:y.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),c("div",Lt,[c("a",{class:"link",href:l(fe)(o.value),"aria-label":((w=l(t).notFound)==null?void 0:w.linkLabel)??"go to home"},S(((L=l(t).notFound)==null?void 0:L.linkText)??"Take me home"),9,Mt)])])}}});const Ct=m(Tt,[["__scopeId","data-v-79ad7de0"]]);function Oe(n){return st()?(ot(n),!0):!1}function ke(n){return typeof n=="function"?n():l(n)}const Bt=typeof window<"u"&&typeof document<"u",It=Object.prototype.toString,Nt=n=>It.call(n)==="[object Object]",At=()=>{};function xt(n){var e;const t=ke(n);return(e=t==null?void 0:t.$el)!=null?e:t}const $e=Bt?window:void 0;function Ht(...n){let e,t,s,o;if(typeof n[0]=="string"||Array.isArray(n[0])?([t,s,o]=n,e=$e):[e,t,s,o]=n,!e)return At;Array.isArray(t)||(t=[t]),Array.isArray(s)||(s=[s]);const r=[],d=()=>{r.forEach(w=>w()),r.length=0},v=(w,L,I,k)=>(w.addEventListener(L,I,k),()=>w.removeEventListener(L,I,k)),_=R(()=>[xt(e),ke(o)],([w,L])=>{if(d(),!w)return;const I=Nt(L)?{...L}:L;r.push(...t.flatMap(k=>s.map(T=>v(w,k,T,I))))},{immediate:!0,flush:"post"}),y=()=>{_(),d()};return Oe(y),y}function Et(){const n=P(!1);return at()&&H(()=>{n.value=!0}),n}function Dt(n){const e=Et();return $(()=>(e.value,!!n()))}function ve(n,e={}){const{window:t=$e}=e,s=Dt(()=>t&&"matchMedia"in t&&typeof t.matchMedia=="function");let o;const r=P(!1),d=y=>{r.value=y.matches},v=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",d):o.removeListener(d))},_=le(()=>{s.value&&(v(),o=t.matchMedia(ke(n)),"addEventListener"in o?o.addEventListener("change",d):o.addListener(d),r.value=o.matches)});return Oe(()=>{_(),v(),o=void 0}),r}function Ge({window:n=$e}={}){if(!n)return{x:P(0),y:P(0)};const e=P(n.scrollX),t=P(n.scrollY);return Ht(n,"scroll",()=>{e.value=n.scrollX,t.value=n.scrollY},{capture:!1,passive:!0}),{x:e,y:t}}function Re(n,e){if(Array.isArray(n))return se(n);if(n==null)return[];e=_e(e);const t=Object.keys(n).sort((o,r)=>r.split("/").length-o.split("/").length).find(o=>e.startsWith(_e(o))),s=t?n[t]:[];return Array.isArray(s)?se(s):se(s.items,s.base)}function zt(n){const e=[];let t=0;for(const s in n){const o=n[s];if(o.items){t=e.push(o);continue}e[t]||e.push({items:[]}),e[t].items.push(o)}return e}function Ft(n){const e=[];function t(s){for(const o of s)o.text&&o.link&&e.push({text:o.text,link:o.link,docFooterText:o.docFooterText}),o.items&&t(o.items)}return t(n),e}function pe(n,e){return Array.isArray(e)?e.some(t=>pe(n,t)):q(n,e.link)?!0:e.items?pe(n,e.items):!1}function se(n,e){return[...n].map(t=>{const s={...t},o=s.base||e;return o&&s.link&&(s.link=o+s.link),s.items&&(s.items=se(s.items,o)),s})}function z(){const{frontmatter:n,page:e,theme:t}=V(),s=ve("(min-width: 960px)"),o=P(!1),r=$(()=>{const T=t.value.sidebar,N=e.value.relativePath;return T?Re(T,N):[]}),d=$(()=>n.value.sidebar!==!1&&r.value.length>0&&n.value.layout!=="home"),v=$(()=>_?n.value.aside==null?t.value.aside==="left":n.value.aside==="left":!1),_=$(()=>n.value.layout==="home"?!1:n.value.aside!=null?!!n.value.aside:t.value.aside!==!1),y=$(()=>d.value&&s.value),w=$(()=>d.value?zt(r.value):[]);function L(){o.value=!0}function I(){o.value=!1}function k(){o.value?I():L()}return{isOpen:o,sidebar:r,sidebarGroups:w,hasSidebar:d,hasAside:_,leftAside:v,isSidebarEnabled:y,open:L,close:I,toggle:k}}function Ot(n,e){let t;le(()=>{t=n.value?document.activeElement:void 0}),H(()=>{window.addEventListener("keyup",s)}),me(()=>{window.removeEventListener("keyup",s)});function s(o){o.key==="Escape"&&n.value&&(e(),t==null||t.focus())}}const Ue=P(ie?location.hash:"");ie&&window.addEventListener("hashchange",()=>{Ue.value=location.hash});function Gt(n){const{page:e}=V(),t=P(!1),s=$(()=>n.value.collapsed!=null),o=$(()=>!!n.value.link),r=P(!1),d=()=>{r.value=q(e.value.relativePath,n.value.link)};R([e,n,Ue],d),H(d);const v=$(()=>r.value?!0:n.value.items?pe(e.value.relativePath,n.value.items):!1),_=$(()=>!!(n.value.items&&n.value.items.length));le(()=>{t.value=!!(s.value&&n.value.collapsed)}),ge(()=>{(r.value||v.value)&&(t.value=!1)});function y(){s.value&&(t.value=!t.value)}return{collapsed:t,collapsible:s,isLink:o,isActiveLink:r,hasActiveLink:v,hasChildren:_,toggle:y}}function Rt(){const{hasSidebar:n}=z(),e=ve("(min-width: 960px)"),t=ve("(min-width: 1280px)");return{isAsideEnabled:$(()=>!t.value&&!e.value?!1:n.value?t.value:e.value)}}const Ut=71;function Pe(n){return typeof n.outline=="object"&&!Array.isArray(n.outline)&&n.outline.label||n.outlineTitle||"On this page"}function Ve(n){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const s=Number(t.tagName[1]);return{title:jt(t),link:"#"+t.id,level:s}});return qt(e,n)}function jt(n){let e="";for(const t of n.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function qt(n,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[s,o]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;n=n.filter(d=>d.level>=s&&d.level<=o);const r=[];e:for(let d=0;d=0;_--){const y=n[_];if(y.level{requestAnimationFrame(r),window.addEventListener("scroll",s)}),rt(()=>{d(location.hash)}),me(()=>{window.removeEventListener("scroll",s)});function r(){if(!t.value)return;const v=[].slice.call(n.value.querySelectorAll(".outline-link")),_=[].slice.call(document.querySelectorAll(".content .header-anchor")).filter(k=>v.some(T=>T.hash===k.hash&&k.offsetParent!==null)),y=window.scrollY,w=window.innerHeight,L=document.body.offsetHeight,I=Math.abs(y+w-L)<1;if(_.length&&I){d(_[_.length-1].hash);return}for(let k=0;k<_.length;k++){const T=_[k],N=_[k+1],[M,W]=Kt(k,T,N);if(M){d(W);return}}}function d(v){o&&o.classList.remove("active"),v==null?o=null:o=n.value.querySelector(`a[href="${decodeURIComponent(v)}"]`);const _=o;_?(_.classList.add("active"),e.value.style.top=_.offsetTop+33+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function He(n){return n.parentElement.offsetTop-Ut}function Kt(n,e,t){const s=window.scrollY;return n===0&&s===0?[!0,null]:s{const o=U("VPDocOutlineItem",!0);return a(),i("ul",{class:B(t.root?"root":"nested")},[(a(!0),i(C,null,A(t.headers,({children:r,link:d,title:v})=>(a(),i("li",null,[c("a",{class:"outline-link",href:d,onClick:e,title:v},S(v),9,Yt),r!=null&&r.length?(a(),b(o,{key:0,headers:r},null,8,["headers"])):f("",!0)]))),256))],2)}}});const we=m(Xt,[["__scopeId","data-v-9892aa02"]]),Qt=n=>(E("data-v-3965f845"),n=n(),D(),n),Jt={class:"content"},Zt={class:"outline-title"},en={"aria-labelledby":"doc-outline-aria-label"},tn=Qt(()=>c("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),nn=g({__name:"VPDocAsideOutline",setup(n){const{frontmatter:e,theme:t}=V(),s=ye([]);Q(()=>{s.value=Ve(e.value.outline??t.value.outline)});const o=P(),r=P();return Wt(o,r),(d,v)=>(a(),i("div",{class:B(["VPDocAsideOutline",{"has-outline":s.value.length>0}]),ref_key:"container",ref:o},[c("div",Jt,[c("div",{class:"outline-marker",ref_key:"marker",ref:r},null,512),c("div",Zt,S(l(Pe)(l(t))),1),c("nav",en,[tn,h(we,{headers:s.value,root:!0},null,8,["headers"])])])],2))}});const sn=m(nn,[["__scopeId","data-v-3965f845"]]),on={class:"VPDocAsideCarbonAds"},an=g({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(n){const e=()=>null;return(t,s)=>(a(),i("div",on,[h(l(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),rn=n=>(E("data-v-fad2514d"),n=n(),D(),n),ln={class:"VPDocAside"},cn=rn(()=>c("div",{class:"spacer"},null,-1)),un=g({__name:"VPDocAside",setup(n){const{theme:e}=V();return(t,s)=>(a(),i("div",ln,[u(t.$slots,"aside-top",{},void 0,!0),u(t.$slots,"aside-outline-before",{},void 0,!0),h(sn),u(t.$slots,"aside-outline-after",{},void 0,!0),cn,u(t.$slots,"aside-ads-before",{},void 0,!0),l(e).carbonAds?(a(),b(an,{key:0,"carbon-ads":l(e).carbonAds},null,8,["carbon-ads"])):f("",!0),u(t.$slots,"aside-ads-after",{},void 0,!0),u(t.$slots,"aside-bottom",{},void 0,!0)]))}});const dn=m(un,[["__scopeId","data-v-fad2514d"]]);function _n(){const{theme:n,page:e}=V();return $(()=>{const{text:t="Edit this page",pattern:s=""}=n.value.editLink||{};let o;return typeof s=="function"?o=s(e.value):o=s.replace(/:path/g,e.value.filePath),{url:o,text:t}})}function vn(){const{page:n,theme:e,frontmatter:t}=V();return $(()=>{var _,y,w,L,I,k,T,N;const s=Re(e.value.sidebar,n.value.relativePath),o=Ft(s),r=o.findIndex(M=>q(n.value.relativePath,M.link)),d=((_=e.value.docFooter)==null?void 0:_.prev)===!1&&!t.value.prev||t.value.prev===!1,v=((y=e.value.docFooter)==null?void 0:y.next)===!1&&!t.value.next||t.value.next===!1;return{prev:d?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((w=o[r-1])==null?void 0:w.docFooterText)??((L=o[r-1])==null?void 0:L.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((I=o[r-1])==null?void 0:I.link)},next:v?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((k=o[r+1])==null?void 0:k.docFooterText)??((T=o[r+1])==null?void 0:T.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((N=o[r+1])==null?void 0:N.link)}}})}const pn={},hn={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},fn=c("path",{d:"M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"},null,-1),mn=c("path",{d:"M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"},null,-1),gn=[fn,mn];function yn(n,e){return a(),i("svg",hn,gn)}const bn=m(pn,[["render",yn]]),F=g({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(n){const e=n,t=$(()=>e.tag??(e.href?"a":"span")),s=$(()=>e.href&&ze.test(e.href));return(o,r)=>(a(),b(G(t.value),{class:B(["VPLink",{link:o.href,"vp-external-link-icon":s.value,"no-icon":o.noIcon}]),href:o.href?l(J)(o.href):void 0,target:o.target??(s.value?"_blank":void 0),rel:o.rel??(s.value?"noreferrer":void 0)},{default:p(()=>[u(o.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),kn={class:"VPLastUpdated"},$n=["datetime"],Pn=g({__name:"VPDocFooterLastUpdated",setup(n){const{theme:e,page:t}=V(),s=$(()=>new Date(t.value.lastUpdated)),o=$(()=>s.value.toISOString()),r=P("");return H(()=>{le(()=>{var d;r.value=new Intl.DateTimeFormat(void 0,((d=e.value.lastUpdated)==null?void 0:d.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(s.value)})}),(d,v)=>{var _;return a(),i("p",kn,[x(S(((_=l(e).lastUpdated)==null?void 0:_.text)||l(e).lastUpdatedText||"Last updated")+": ",1),c("time",{datetime:o.value},S(r.value),9,$n)])}}});const Vn=m(Pn,[["__scopeId","data-v-581988b7"]]),wn={key:0,class:"VPDocFooter"},Sn={key:0,class:"edit-info"},Ln={key:0,class:"edit-link"},Mn={key:1,class:"last-updated"},Tn={key:1,class:"prev-next"},Cn={class:"pager"},Bn=["href"],In=["innerHTML"],Nn=["innerHTML"],An={class:"pager"},xn=["href"],Hn=["innerHTML"],En=["innerHTML"],Dn=g({__name:"VPDocFooter",setup(n){const{theme:e,page:t,frontmatter:s}=V(),o=_n(),r=vn(),d=$(()=>e.value.editLink&&s.value.editLink!==!1),v=$(()=>t.value.lastUpdated&&s.value.lastUpdated!==!1),_=$(()=>d.value||v.value||r.value.prev||r.value.next);return(y,w)=>{var L,I,k,T,N,M;return _.value?(a(),i("footer",wn,[u(y.$slots,"doc-footer-before",{},void 0,!0),d.value||v.value?(a(),i("div",Sn,[d.value?(a(),i("div",Ln,[h(F,{class:"edit-link-button",href:l(o).url,"no-icon":!0},{default:p(()=>[h(bn,{class:"edit-link-icon","aria-label":"edit icon"}),x(" "+S(l(o).text),1)]),_:1},8,["href"])])):f("",!0),v.value?(a(),i("div",Mn,[h(Vn)])):f("",!0)])):f("",!0),(L=l(r).prev)!=null&&L.link||(I=l(r).next)!=null&&I.link?(a(),i("nav",Tn,[c("div",Cn,[(k=l(r).prev)!=null&&k.link?(a(),i("a",{key:0,class:"pager-link prev",href:l(J)(l(r).prev.link)},[c("span",{class:"desc",innerHTML:((T=l(e).docFooter)==null?void 0:T.prev)||"Previous page"},null,8,In),c("span",{class:"title",innerHTML:l(r).prev.text},null,8,Nn)],8,Bn)):f("",!0)]),c("div",An,[(N=l(r).next)!=null&&N.link?(a(),i("a",{key:0,class:"pager-link next",href:l(J)(l(r).next.link)},[c("span",{class:"desc",innerHTML:((M=l(e).docFooter)==null?void 0:M.next)||"Next page"},null,8,Hn),c("span",{class:"title",innerHTML:l(r).next.text},null,8,En)],8,xn)):f("",!0)])])):f("",!0)])):f("",!0)}}});const zn=m(Dn,[["__scopeId","data-v-623060b1"]]),Fn={},On={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Gn=c("path",{d:"M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z"},null,-1),Rn=[Gn];function Un(n,e){return a(),i("svg",On,Rn)}const Se=m(Fn,[["render",Un]]),jn={key:0,class:"VPDocOutlineDropdown"},qn={key:0,class:"items"},Wn=g({__name:"VPDocOutlineDropdown",setup(n){const{frontmatter:e,theme:t}=V(),s=P(!1);Q(()=>{s.value=!1});const o=ye([]);return Q(()=>{o.value=Ve(e.value.outline??t.value.outline)}),(r,d)=>o.value.length>0?(a(),i("div",jn,[c("button",{onClick:d[0]||(d[0]=v=>s.value=!s.value),class:B({open:s.value})},[x(S(l(Pe)(l(t)))+" ",1),h(Se,{class:"icon"})],2),s.value?(a(),i("div",qn,[h(we,{headers:o.value},null,8,["headers"])])):f("",!0)])):f("",!0)}});const Kn=m(Wn,[["__scopeId","data-v-a655a729"]]),Yn=n=>(E("data-v-c23530aa"),n=n(),D(),n),Xn={class:"container"},Qn=Yn(()=>c("div",{class:"aside-curtain"},null,-1)),Jn={class:"aside-container"},Zn={class:"aside-content"},es={class:"content"},ts={class:"content-container"},ns={class:"main"},ss=g({__name:"VPDoc",setup(n){const{theme:e}=V(),t=ce(),{hasSidebar:s,hasAside:o,leftAside:r}=z(),d=$(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(v,_)=>{const y=U("Content");return a(),i("div",{class:B(["VPDoc",{"has-sidebar":l(s),"has-aside":l(o)}])},[u(v.$slots,"doc-top",{},void 0,!0),c("div",Xn,[l(o)?(a(),i("div",{key:0,class:B(["aside",{"left-aside":l(r)}])},[Qn,c("div",Jn,[c("div",Zn,[h(dn,null,{"aside-top":p(()=>[u(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":p(()=>[u(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":p(()=>[u(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[u(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[u(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[u(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):f("",!0),c("div",es,[c("div",ts,[u(v.$slots,"doc-before",{},void 0,!0),h(Kn),c("main",ns,[h(y,{class:B(["vp-doc",[d.value,l(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),h(zn,null,{"doc-footer-before":p(()=>[u(v.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),u(v.$slots,"doc-after",{},void 0,!0)])])]),u(v.$slots,"doc-bottom",{},void 0,!0)],2)}}});const os=m(ss,[["__scopeId","data-v-c23530aa"]]),as=g({__name:"VPButton",props:{tag:{},size:{},theme:{},text:{},href:{}},setup(n){const e=n,t=$(()=>[e.size??"medium",e.theme??"brand"]),s=$(()=>e.href&&ze.test(e.href)),o=$(()=>e.tag?e.tag:e.href?"a":"button");return(r,d)=>(a(),b(G(o.value),{class:B(["VPButton",t.value]),href:r.href?l(J)(r.href):void 0,target:s.value?"_blank":void 0,rel:s.value?"noreferrer":void 0},{default:p(()=>[x(S(r.text),1)]),_:1},8,["class","href","target","rel"]))}});const rs=m(as,[["__scopeId","data-v-4f8790f9"]]),ls=["src","alt"],is=g({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(n){return(e,t)=>{const s=U("VPImage",!0);return e.image?(a(),i(C,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),i("img",te({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:l(fe)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,ls)):(a(),i(C,{key:1},[h(s,te({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),h(s,te({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):f("",!0)}}});const Le=m(is,[["__scopeId","data-v-f53bc8e1"]]),cs=n=>(E("data-v-3a2e4149"),n=n(),D(),n),us={class:"container"},ds={class:"main"},_s={key:0,class:"name"},vs=["innerHTML"],ps=["innerHTML"],hs=["innerHTML"],fs={key:0,class:"actions"},ms={key:0,class:"image"},gs={class:"image-container"},ys=cs(()=>c("div",{class:"image-bg"},null,-1)),bs=g({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(n){const e=be("hero-image-slot-exists");return(t,s)=>(a(),i("div",{class:B(["VPHero",{"has-image":t.image||l(e)}])},[c("div",us,[c("div",ds,[u(t.$slots,"home-hero-info",{},()=>[t.name?(a(),i("h1",_s,[c("span",{innerHTML:t.name,class:"clip"},null,8,vs)])):f("",!0),t.text?(a(),i("p",{key:1,innerHTML:t.text,class:"text"},null,8,ps)):f("",!0),t.tagline?(a(),i("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,hs)):f("",!0)],!0),t.actions?(a(),i("div",fs,[(a(!0),i(C,null,A(t.actions,o=>(a(),i("div",{key:o.link,class:"action"},[h(rs,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link},null,8,["theme","text","href"])]))),128))])):f("",!0)]),t.image||l(e)?(a(),i("div",ms,[c("div",gs,[ys,u(t.$slots,"home-hero-image",{},()=>[t.image?(a(),b(Le,{key:0,class:"image-src",image:t.image},null,8,["image"])):f("",!0)],!0)])])):f("",!0)])],2))}});const ks=m(bs,[["__scopeId","data-v-3a2e4149"]]),$s=g({__name:"VPHomeHero",setup(n){const{frontmatter:e}=V();return(t,s)=>l(e).hero?(a(),b(ks,{key:0,class:"VPHomeHero",name:l(e).hero.name,text:l(e).hero.text,tagline:l(e).hero.tagline,image:l(e).hero.image,actions:l(e).hero.actions},{"home-hero-info":p(()=>[u(t.$slots,"home-hero-info")]),"home-hero-image":p(()=>[u(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):f("",!0)}}),Ps={},Vs={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},ws=c("path",{d:"M19.9,12.4c0.1-0.2,0.1-0.5,0-0.8c-0.1-0.1-0.1-0.2-0.2-0.3l-7-7c-0.4-0.4-1-0.4-1.4,0s-0.4,1,0,1.4l5.3,5.3H5c-0.6,0-1,0.4-1,1s0.4,1,1,1h11.6l-5.3,5.3c-0.4,0.4-0.4,1,0,1.4c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3l7-7C19.8,12.6,19.9,12.5,19.9,12.4z"},null,-1),Ss=[ws];function Ls(n,e){return a(),i("svg",Vs,Ss)}const Ms=m(Ps,[["render",Ls]]),Ts={class:"box"},Cs=["innerHTML"],Bs=["innerHTML"],Is=["innerHTML"],Ns={key:3,class:"link-text"},As={class:"link-text-value"},xs=g({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{}},setup(n){return(e,t)=>(a(),b(F,{class:"VPFeature",href:e.link,rel:e.rel,"no-icon":!0,tag:e.link?"a":"div"},{default:p(()=>[c("article",Ts,[typeof e.icon=="object"?(a(),b(Le,{key:0,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),i("div",{key:1,class:"icon",innerHTML:e.icon},null,8,Cs)):f("",!0),c("h2",{class:"title",innerHTML:e.title},null,8,Bs),e.details?(a(),i("p",{key:2,class:"details",innerHTML:e.details},null,8,Is)):f("",!0),e.linkText?(a(),i("div",Ns,[c("p",As,[x(S(e.linkText)+" ",1),h(Ms,{class:"link-text-icon"})])])):f("",!0)])]),_:1},8,["href","rel","tag"]))}});const Hs=m(xs,[["__scopeId","data-v-7f5f7161"]]),Es={key:0,class:"VPFeatures"},Ds={class:"container"},zs={class:"items"},Fs=g({__name:"VPFeatures",props:{features:{}},setup(n){const e=n,t=$(()=>{const s=e.features.length;if(s){if(s===2)return"grid-2";if(s===3)return"grid-3";if(s%3===0)return"grid-6";if(s>3)return"grid-4"}else return});return(s,o)=>s.features?(a(),i("div",Es,[c("div",Ds,[c("div",zs,[(a(!0),i(C,null,A(s.features,r=>(a(),i("div",{key:r.title,class:B(["item",[t.value]])},[h(Hs,{icon:r.icon,title:r.title,details:r.details,link:r.link,"link-text":r.linkText,rel:r.rel},null,8,["icon","title","details","link","link-text","rel"])],2))),128))])])])):f("",!0)}});const Os=m(Fs,[["__scopeId","data-v-74d29eea"]]),Gs=g({__name:"VPHomeFeatures",setup(n){const{frontmatter:e}=V();return(t,s)=>l(e).features?(a(),b(Os,{key:0,class:"VPHomeFeatures",features:l(e).features},null,8,["features"])):f("",!0)}}),Rs={class:"VPHome"},Us=g({__name:"VPHome",setup(n){return(e,t)=>{const s=U("Content");return a(),i("div",Rs,[u(e.$slots,"home-hero-before",{},void 0,!0),h($s,null,{"home-hero-info":p(()=>[u(e.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":p(()=>[u(e.$slots,"home-hero-image",{},void 0,!0)]),_:3}),u(e.$slots,"home-hero-after",{},void 0,!0),u(e.$slots,"home-features-before",{},void 0,!0),h(Gs),u(e.$slots,"home-features-after",{},void 0,!0),h(s)])}}});const js=m(Us,[["__scopeId","data-v-e66be0d8"]]),qs={},Ws={class:"VPPage"};function Ks(n,e){const t=U("Content");return a(),i("div",Ws,[u(n.$slots,"page-top"),h(t),u(n.$slots,"page-bottom")])}const Ys=m(qs,[["render",Ks]]),Xs=g({__name:"VPContent",setup(n){const{page:e,frontmatter:t}=V(),{hasSidebar:s}=z();return(o,r)=>(a(),i("div",{class:B(["VPContent",{"has-sidebar":l(s),"is-home":l(t).layout==="home"}]),id:"VPContent"},[l(e).isNotFound?u(o.$slots,"not-found",{key:0},()=>[h(Ct)],!0):l(t).layout==="page"?(a(),b(Ys,{key:1},{"page-top":p(()=>[u(o.$slots,"page-top",{},void 0,!0)]),"page-bottom":p(()=>[u(o.$slots,"page-bottom",{},void 0,!0)]),_:3})):l(t).layout==="home"?(a(),b(js,{key:2},{"home-hero-before":p(()=>[u(o.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":p(()=>[u(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":p(()=>[u(o.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":p(()=>[u(o.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":p(()=>[u(o.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":p(()=>[u(o.$slots,"home-features-after",{},void 0,!0)]),_:3})):l(t).layout&&l(t).layout!=="doc"?(a(),b(G(l(t).layout),{key:3})):(a(),b(os,{key:4},{"doc-top":p(()=>[u(o.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":p(()=>[u(o.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":p(()=>[u(o.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":p(()=>[u(o.$slots,"doc-before",{},void 0,!0)]),"doc-after":p(()=>[u(o.$slots,"doc-after",{},void 0,!0)]),"aside-top":p(()=>[u(o.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":p(()=>[u(o.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[u(o.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[u(o.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[u(o.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":p(()=>[u(o.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}});const Qs=m(Xs,[["__scopeId","data-v-9e6cd6ec"]]),Js={class:"container"},Zs=["innerHTML"],eo=["innerHTML"],to=g({__name:"VPFooter",setup(n){const{theme:e,frontmatter:t}=V(),{hasSidebar:s}=z();return(o,r)=>l(e).footer&&l(t).footer!==!1?(a(),i("footer",{key:0,class:B(["VPFooter",{"has-sidebar":l(s)}])},[c("div",Js,[l(e).footer.message?(a(),i("p",{key:0,class:"message",innerHTML:l(e).footer.message},null,8,Zs)):f("",!0),l(e).footer.copyright?(a(),i("p",{key:1,class:"copyright",innerHTML:l(e).footer.copyright},null,8,eo)):f("",!0)])],2)):f("",!0)}});const no=m(to,[["__scopeId","data-v-86009d20"]]),so={class:"header"},oo={class:"outline"},ao=g({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(n){const e=n,{theme:t}=V(),s=P(!1),o=P(0),r=P();Q(()=>{s.value=!1});function d(){s.value=!s.value,o.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function v(y){y.target.classList.contains("outline-link")&&(r.value&&(r.value.style.transition="none"),lt(()=>{s.value=!1}))}function _(){s.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(y,w)=>(a(),i("div",{class:"VPLocalNavOutlineDropdown",style:Fe({"--vp-vh":o.value+"px"})},[y.headers.length>0?(a(),i("button",{key:0,onClick:d,class:B({open:s.value})},[x(S(l(Pe)(l(t)))+" ",1),h(Se,{class:"icon"})],2)):(a(),i("button",{key:1,onClick:_},S(l(t).returnToTopLabel||"Return to top"),1)),h(he,{name:"flyout"},{default:p(()=>[s.value?(a(),i("div",{key:0,ref_key:"items",ref:r,class:"items",onClick:v},[c("div",so,[c("a",{class:"top-link",href:"#",onClick:_},S(l(t).returnToTopLabel||"Return to top"),1)]),c("div",oo,[h(we,{headers:y.headers},null,8,["headers"])])],512)):f("",!0)]),_:1})],4))}});const ro=m(ao,[["__scopeId","data-v-9a4bcd51"]]),lo={},io={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},co=c("path",{d:"M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"},null,-1),uo=c("path",{d:"M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"},null,-1),_o=c("path",{d:"M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"},null,-1),vo=c("path",{d:"M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"},null,-1),po=[co,uo,_o,vo];function ho(n,e){return a(),i("svg",io,po)}const fo=m(lo,[["render",ho]]),mo=["aria-expanded"],go={class:"menu-text"},yo=g({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(n){const{theme:e,frontmatter:t}=V(),{hasSidebar:s}=z(),{y:o}=Ge(),r=ye([]),d=P(0);H(()=>{d.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),Q(()=>{r.value=Ve(t.value.outline??e.value.outline)});const v=$(()=>r.value.length===0&&!s.value),_=$(()=>({VPLocalNav:!0,fixed:v.value,"reached-top":o.value>=d.value}));return(y,w)=>l(t).layout!=="home"&&(!v.value||l(o)>=d.value)?(a(),i("div",{key:0,class:B(_.value)},[l(s)?(a(),i("button",{key:0,class:"menu","aria-expanded":y.open,"aria-controls":"VPSidebarNav",onClick:w[0]||(w[0]=L=>y.$emit("open-menu"))},[h(fo,{class:"menu-icon"}),c("span",go,S(l(e).sidebarMenuLabel||"Menu"),1)],8,mo)):f("",!0),h(ro,{headers:r.value,navHeight:d.value},null,8,["headers","navHeight"])],2)):f("",!0)}});const bo=m(yo,[["__scopeId","data-v-5b9ef011"]]);function ko(){const n=P(!1);function e(){n.value=!0,window.addEventListener("resize",o)}function t(){n.value=!1,window.removeEventListener("resize",o)}function s(){n.value?t():e()}function o(){window.outerWidth>=768&&t()}const r=ce();return R(()=>r.path,t),{isScreenOpen:n,openScreen:e,closeScreen:t,toggleScreen:s}}const $o={},Po={class:"VPSwitch",type:"button",role:"switch"},Vo={class:"check"},wo={key:0,class:"icon"};function So(n,e){return a(),i("button",Po,[c("span",Vo,[n.$slots.default?(a(),i("span",wo,[u(n.$slots,"default",{},void 0,!0)])):f("",!0)])])}const Lo=m($o,[["render",So],["__scopeId","data-v-519a0024"]]),Mo={},To={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Co=it('',9),Bo=[Co];function Io(n,e){return a(),i("svg",To,Bo)}const No=m(Mo,[["render",Io]]),Ao={},xo={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Ho=c("path",{d:"M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"},null,-1),Eo=[Ho];function Do(n,e){return a(),i("svg",xo,Eo)}const zo=m(Ao,[["render",Do]]),Fo=g({__name:"VPSwitchAppearance",setup(n){const{site:e,isDark:t}=V(),s=P(!1),o=ie?r():()=>{};H(()=>{s.value=document.documentElement.classList.contains("dark")});function r(){const d=window.matchMedia("(prefers-color-scheme: dark)"),v=document.documentElement.classList;let _=localStorage.getItem(xe),y=e.value.appearance==="dark"&&_==null||(_==="auto"||_==null?d.matches:_==="dark");d.onchange=I=>{_==="auto"&&L(y=I.matches)};function w(){L(y=!y),_=y?d.matches?"auto":"dark":d.matches?"light":"auto",localStorage.setItem(xe,_)}function L(I){const k=document.createElement("style");k.type="text/css",k.appendChild(document.createTextNode(`:not(.VPSwitchAppearance):not(.VPSwitchAppearance *) { + -webkit-transition: none !important; + -moz-transition: none !important; + -o-transition: none !important; + -ms-transition: none !important; + transition: none !important; +}`)),document.head.appendChild(k),s.value=I,v[I?"add":"remove"]("dark"),window.getComputedStyle(k).opacity,document.head.removeChild(k)}return w}return R(s,d=>{t.value=d}),(d,v)=>(a(),b(Lo,{title:"toggle dark mode",class:"VPSwitchAppearance","aria-checked":s.value,onClick:l(o)},{default:p(()=>[h(No,{class:"sun"}),h(zo,{class:"moon"})]),_:1},8,["aria-checked","onClick"]))}});const Me=m(Fo,[["__scopeId","data-v-a9a3083f"]]),Oo={key:0,class:"VPNavBarAppearance"},Go=g({__name:"VPNavBarAppearance",setup(n){const{site:e}=V();return(t,s)=>l(e).appearance?(a(),i("div",Oo,[h(Me)])):f("",!0)}});const Ro=m(Go,[["__scopeId","data-v-6af65a7c"]]),Te=P();let je=!1,de=0;function Uo(n){const e=P(!1);if(ie){!je&&jo(),de++;const t=R(Te,s=>{var o,r,d;s===n.el.value||(o=n.el.value)!=null&&o.contains(s)?(e.value=!0,(r=n.onFocus)==null||r.call(n)):(e.value=!1,(d=n.onBlur)==null||d.call(n))});me(()=>{t(),de--,de||qo()})}return ct(e)}function jo(){document.addEventListener("focusin",qe),je=!0,Te.value=document.activeElement}function qo(){document.removeEventListener("focusin",qe)}function qe(){Te.value=document.activeElement}const Wo={},Ko={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Yo=c("path",{d:"M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"},null,-1),Xo=[Yo];function Qo(n,e){return a(),i("svg",Ko,Xo)}const We=m(Wo,[["render",Qo]]),Jo={},Zo={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},ea=c("circle",{cx:"12",cy:"12",r:"2"},null,-1),ta=c("circle",{cx:"19",cy:"12",r:"2"},null,-1),na=c("circle",{cx:"5",cy:"12",r:"2"},null,-1),sa=[ea,ta,na];function oa(n,e){return a(),i("svg",Zo,sa)}const aa=m(Jo,[["render",oa]]),ra={class:"VPMenuLink"},la=g({__name:"VPMenuLink",props:{item:{}},setup(n){const{page:e}=V();return(t,s)=>(a(),i("div",ra,[h(F,{class:B({active:l(q)(l(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:p(()=>[x(S(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}});const ue=m(la,[["__scopeId","data-v-e24e974d"]]),ia={class:"VPMenuGroup"},ca={key:0,class:"title"},ua=g({__name:"VPMenuGroup",props:{text:{},items:{}},setup(n){return(e,t)=>(a(),i("div",ia,[e.text?(a(),i("p",ca,S(e.text),1)):f("",!0),(a(!0),i(C,null,A(e.items,s=>(a(),i(C,null,["link"in s?(a(),b(ue,{key:0,item:s},null,8,["item"])):f("",!0)],64))),256))]))}});const da=m(ua,[["__scopeId","data-v-5db36d2c"]]),_a={class:"VPMenu"},va={key:0,class:"items"},pa=g({__name:"VPMenu",props:{items:{}},setup(n){return(e,t)=>(a(),i("div",_a,[e.items?(a(),i("div",va,[(a(!0),i(C,null,A(e.items,s=>(a(),i(C,{key:s.text},["link"in s?(a(),b(ue,{key:0,item:s},null,8,["item"])):(a(),b(da,{key:1,text:s.text,items:s.items},null,8,["text","items"]))],64))),128))])):f("",!0),u(e.$slots,"default",{},void 0,!0)]))}});const ha=m(pa,[["__scopeId","data-v-29d1785b"]]),fa=["aria-expanded","aria-label"],ma={key:0,class:"text"},ga=["innerHTML"],ya={class:"menu"},ba=g({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(n){const e=P(!1),t=P();Uo({el:t,onBlur:s});function s(){e.value=!1}return(o,r)=>(a(),i("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:r[1]||(r[1]=d=>e.value=!0),onMouseleave:r[2]||(r[2]=d=>e.value=!1)},[c("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":o.label,onClick:r[0]||(r[0]=d=>e.value=!e.value)},[o.button||o.icon?(a(),i("span",ma,[o.icon?(a(),b(G(o.icon),{key:0,class:"option-icon"})):f("",!0),o.button?(a(),i("span",{key:1,innerHTML:o.button},null,8,ga)):f("",!0),h(We,{class:"text-icon"})])):(a(),b(aa,{key:1,class:"icon"}))],8,fa),c("div",ya,[h(ha,{items:o.items},{default:p(()=>[u(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}});const Ce=m(ba,[["__scopeId","data-v-5c55034a"]]),ka={discord:'Discord',facebook:'Facebook',github:'GitHub',instagram:'Instagram',linkedin:'LinkedIn',mastodon:'Mastodon',slack:'Slack',twitter:'Twitter',youtube:'YouTube'},$a=["href","aria-label","innerHTML"],Pa=g({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(n){const e=n,t=$(()=>typeof e.icon=="object"?e.icon.svg:ka[e.icon]);return(s,o)=>(a(),i("a",{class:"VPSocialLink no-icon",href:s.link,"aria-label":s.ariaLabel??(typeof s.icon=="string"?s.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,$a))}});const Va=m(Pa,[["__scopeId","data-v-cf5cb860"]]),wa={class:"VPSocialLinks"},Sa=g({__name:"VPSocialLinks",props:{links:{}},setup(n){return(e,t)=>(a(),i("div",wa,[(a(!0),i(C,null,A(e.links,({link:s,icon:o,ariaLabel:r})=>(a(),b(Va,{key:s,icon:o,link:s,ariaLabel:r},null,8,["icon","link","ariaLabel"]))),128))]))}});const Be=m(Sa,[["__scopeId","data-v-5d555a49"]]),La={key:0,class:"group translations"},Ma={class:"trans-title"},Ta={key:1,class:"group"},Ca={class:"item appearance"},Ba={class:"label"},Ia={class:"appearance-action"},Na={key:2,class:"group"},Aa={class:"item social-links"},xa=g({__name:"VPNavBarExtra",setup(n){const{site:e,theme:t}=V(),{localeLinks:s,currentLang:o}=Z({correspondingLink:!0}),r=$(()=>s.value.length&&o.value.label||e.value.appearance||t.value.socialLinks);return(d,v)=>r.value?(a(),b(Ce,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:p(()=>[l(s).length&&l(o).label?(a(),i("div",La,[c("p",Ma,S(l(o).label),1),(a(!0),i(C,null,A(l(s),_=>(a(),b(ue,{key:_.link,item:_},null,8,["item"]))),128))])):f("",!0),l(e).appearance?(a(),i("div",Ta,[c("div",Ca,[c("p",Ba,S(l(t).darkModeSwitchLabel||"Appearance"),1),c("div",Ia,[h(Me)])])])):f("",!0),l(t).socialLinks?(a(),i("div",Na,[c("div",Aa,[h(Be,{class:"social-links-list",links:l(t).socialLinks},null,8,["links"])])])):f("",!0)]),_:1})):f("",!0)}});const Ha=m(xa,[["__scopeId","data-v-a363d783"]]),Ea=n=>(E("data-v-2356f3b4"),n=n(),D(),n),Da=["aria-expanded"],za=Ea(()=>c("span",{class:"container"},[c("span",{class:"top"}),c("span",{class:"middle"}),c("span",{class:"bottom"})],-1)),Fa=[za],Oa=g({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(n){return(e,t)=>(a(),i("button",{type:"button",class:B(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=s=>e.$emit("click"))},Fa,10,Da))}});const Ga=m(Oa,[["__scopeId","data-v-2356f3b4"]]),Ra=["innerHTML"],Ua=g({__name:"VPNavBarMenuLink",props:{item:{}},setup(n){const{page:e}=V();return(t,s)=>(a(),b(F,{class:B({VPNavBarMenuLink:!0,active:l(q)(l(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,tabindex:"0"},{default:p(()=>[c("span",{innerHTML:t.item.text},null,8,Ra)]),_:1},8,["class","href","target","rel"]))}});const ja=m(Ua,[["__scopeId","data-v-77427d4e"]]),qa=g({__name:"VPNavBarMenuGroup",props:{item:{}},setup(n){const{page:e}=V();return(t,s)=>(a(),b(Ce,{class:B({VPNavBarMenuGroup:!0,active:l(q)(l(e).relativePath,t.item.activeMatch,!!t.item.activeMatch)}),button:t.item.text,items:t.item.items},null,8,["class","button","items"]))}}),Wa=n=>(E("data-v-7383eb3d"),n=n(),D(),n),Ka={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Ya=Wa(()=>c("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),Xa=g({__name:"VPNavBarMenu",setup(n){const{theme:e}=V();return(t,s)=>l(e).nav?(a(),i("nav",Ka,[Ya,(a(!0),i(C,null,A(l(e).nav,o=>(a(),i(C,{key:o.text},["link"in o?(a(),b(ja,{key:0,item:o},null,8,["item"])):(a(),b(qa,{key:1,item:o},null,8,["item"]))],64))),128))])):f("",!0)}});const Qa=m(Xa,[["__scopeId","data-v-7383eb3d"]]);const Ja={type:"button",class:"DocSearch DocSearch-Button","aria-label":"Search"},Za={class:"DocSearch-Button-Container"},er=c("svg",{class:"DocSearch-Search-Icon",width:"20",height:"20",viewBox:"0 0 20 20","aria-label":"search icon"},[c("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none","fill-rule":"evenodd","stroke-linecap":"round","stroke-linejoin":"round"})],-1),tr={class:"DocSearch-Button-Placeholder"},nr=c("span",{class:"DocSearch-Button-Keys"},[c("kbd",{class:"DocSearch-Button-Key"}),c("kbd",{class:"DocSearch-Button-Key"},"K")],-1),Ee=g({__name:"VPNavBarSearchButton",props:{placeholder:{}},setup(n){return(e,t)=>(a(),i("button",Ja,[c("span",Za,[er,c("span",tr,S(e.placeholder),1)]),nr]))}});const sr={id:"local-search"},or={key:1,id:"docsearch"},ar=g({__name:"VPNavBarSearch",setup(n){const e=()=>null,t=()=>null,{theme:s,localeIndex:o}=V(),r=P(!1),d=P(!1),v=$(()=>{var T,N,M,W,ee,K,Ae;const k=((T=s.value.search)==null?void 0:T.options)??s.value.algolia;return((ee=(W=(M=(N=k==null?void 0:k.locales)==null?void 0:N[o.value])==null?void 0:M.translations)==null?void 0:W.button)==null?void 0:ee.buttonText)||((Ae=(K=k==null?void 0:k.translations)==null?void 0:K.button)==null?void 0:Ae.buttonText)||"Search"});H(()=>{});function _(){r.value||(r.value=!0,setTimeout(y,16))}function y(){const k=new Event("keydown");k.key="k",k.metaKey=!0,window.dispatchEvent(k),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||y()},16)}const w=P(!1),L=P("'Meta'");H(()=>{L.value=/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?"'⌘'":"'Ctrl'"});const I="";return(k,T)=>{var N;return a(),i("div",{class:"VPNavBarSearch",style:Fe({"--vp-meta-key":L.value})},[l(I)==="local"?(a(),i(C,{key:0},[w.value?(a(),b(l(e),{key:0,placeholder:v.value,onClose:T[0]||(T[0]=M=>w.value=!1)},null,8,["placeholder"])):f("",!0),c("div",sr,[h(Ee,{placeholder:v.value,onClick:T[1]||(T[1]=M=>w.value=!0)},null,8,["placeholder"])])],64)):l(I)==="algolia"?(a(),i(C,{key:1},[r.value?(a(),b(l(t),{key:0,algolia:((N=l(s).search)==null?void 0:N.options)??l(s).algolia,onVnodeBeforeMount:T[2]||(T[2]=M=>d.value=!0)},null,8,["algolia"])):f("",!0),d.value?f("",!0):(a(),i("div",or,[h(Ee,{placeholder:v.value,onClick:_},null,8,["placeholder"])]))],64)):f("",!0)],4)}}});const rr=g({__name:"VPNavBarSocialLinks",setup(n){const{theme:e}=V();return(t,s)=>l(e).socialLinks?(a(),b(Be,{key:0,class:"VPNavBarSocialLinks",links:l(e).socialLinks},null,8,["links"])):f("",!0)}});const lr=m(rr,[["__scopeId","data-v-478b91b6"]]),ir=["href"],cr=g({__name:"VPNavBarTitle",setup(n){const{site:e,theme:t}=V(),{hasSidebar:s}=z(),{currentLang:o}=Z();return(r,d)=>(a(),i("div",{class:B(["VPNavBarTitle",{"has-sidebar":l(s)}])},[c("a",{class:"title",href:l(t).logoLink??l(J)(l(o).link)},[u(r.$slots,"nav-bar-title-before",{},void 0,!0),l(t).logo?(a(),b(Le,{key:0,class:"logo",image:l(t).logo},null,8,["image"])):f("",!0),l(t).siteTitle?(a(),i(C,{key:1},[x(S(l(t).siteTitle),1)],64)):l(t).siteTitle===void 0?(a(),i(C,{key:2},[x(S(l(e).title),1)],64)):f("",!0),u(r.$slots,"nav-bar-title-after",{},void 0,!0)],8,ir)],2))}});const ur=m(cr,[["__scopeId","data-v-dfb24d74"]]),dr={},_r={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},vr=c("path",{d:"M0 0h24v24H0z",fill:"none"},null,-1),pr=c("path",{d:" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z ",class:"css-c4d79v"},null,-1),hr=[vr,pr];function fr(n,e){return a(),i("svg",_r,hr)}const Ke=m(dr,[["render",fr]]),mr={class:"items"},gr={class:"title"},yr=g({__name:"VPNavBarTranslations",setup(n){const{theme:e}=V(),{localeLinks:t,currentLang:s}=Z({correspondingLink:!0});return(o,r)=>l(t).length&&l(s).label?(a(),b(Ce,{key:0,class:"VPNavBarTranslations",icon:Ke,label:l(e).langMenuLabel||"Change language"},{default:p(()=>[c("div",mr,[c("p",gr,S(l(s).label),1),(a(!0),i(C,null,A(l(t),d=>(a(),b(ue,{key:d.link,item:d},null,8,["item"]))),128))])]),_:1},8,["label"])):f("",!0)}});const br=m(yr,[["__scopeId","data-v-656b1f9e"]]),kr=n=>(E("data-v-d0597744"),n=n(),D(),n),$r={class:"container"},Pr={class:"title"},Vr={class:"content"},wr=kr(()=>c("div",{class:"curtain"},null,-1)),Sr={class:"content-body"},Lr=g({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(n){const{y:e}=Ge(),{hasSidebar:t}=z(),{frontmatter:s}=V(),o=P({});return ge(()=>{var r;o.value={"has-sidebar":t.value,top:((r=s.value)==null?void 0:r.layout)==="home"&&e.value===0}}),(r,d)=>(a(),i("div",{class:B(["VPNavBar",o.value])},[c("div",$r,[c("div",Pr,[h(ur,null,{"nav-bar-title-before":p(()=>[u(r.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[u(r.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),c("div",Vr,[wr,c("div",Sr,[u(r.$slots,"nav-bar-content-before",{},void 0,!0),h(ar,{class:"search"}),h(Qa,{class:"menu"}),h(br,{class:"translations"}),h(Ro,{class:"appearance"}),h(lr,{class:"social-links"}),h(Ha,{class:"extra"}),u(r.$slots,"nav-bar-content-after",{},void 0,!0),h(Ga,{class:"hamburger",active:r.isScreenOpen,onClick:d[0]||(d[0]=v=>r.$emit("toggle-screen"))},null,8,["active"])])])])],2))}});const Mr=m(Lr,[["__scopeId","data-v-d0597744"]]);function Tr(n){if(Array.isArray(n)){for(var e=0,t=Array(n.length);e1),j=[],ae=!1,Ne=-1,Y=void 0,O=void 0,X=void 0,Ye=function(e){return j.some(function(t){return!!(t.options.allowTouchMove&&t.options.allowTouchMove(e))})},re=function(e){var t=e||window.event;return Ye(t.target)||t.touches.length>1?!0:(t.preventDefault&&t.preventDefault(),!1)},Cr=function(e){if(X===void 0){var t=!!e&&e.reserveScrollBarGap===!0,s=window.innerWidth-document.documentElement.clientWidth;if(t&&s>0){var o=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right"),10);X=document.body.style.paddingRight,document.body.style.paddingRight=o+s+"px"}}Y===void 0&&(Y=document.body.style.overflow,document.body.style.overflow="hidden")},Br=function(){X!==void 0&&(document.body.style.paddingRight=X,X=void 0),Y!==void 0&&(document.body.style.overflow=Y,Y=void 0)},Ir=function(){return window.requestAnimationFrame(function(){if(O===void 0){O={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left};var e=window,t=e.scrollY,s=e.scrollX,o=e.innerHeight;document.body.style.position="fixed",document.body.style.top=-t,document.body.style.left=-s,setTimeout(function(){return window.requestAnimationFrame(function(){var r=o-window.innerHeight;r&&t>=o&&(document.body.style.top=-(t+r))})},300)}})},Nr=function(){if(O!==void 0){var e=-parseInt(document.body.style.top,10),t=-parseInt(document.body.style.left,10);document.body.style.position=O.position,document.body.style.top=O.top,document.body.style.left=O.left,window.scrollTo(t,e),O=void 0}},Ar=function(e){return e?e.scrollHeight-e.scrollTop<=e.clientHeight:!1},xr=function(e,t){var s=e.targetTouches[0].clientY-Ne;return Ye(e.target)?!1:t&&t.scrollTop===0&&s>0||Ar(t)&&s<0?re(e):(e.stopPropagation(),!0)},Xe=function(e,t){if(!e){console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.");return}if(!j.some(function(o){return o.targetElement===e})){var s={targetElement:e,options:t||{}};j=[].concat(Tr(j),[s]),oe?Ir():Cr(t),oe&&(e.ontouchstart=function(o){o.targetTouches.length===1&&(Ne=o.targetTouches[0].clientY)},e.ontouchmove=function(o){o.targetTouches.length===1&&xr(o,e)},ae||(document.addEventListener("touchmove",re,Ie?{passive:!1}:void 0),ae=!0))}},Qe=function(){oe&&(j.forEach(function(e){e.targetElement.ontouchstart=null,e.targetElement.ontouchmove=null}),ae&&(document.removeEventListener("touchmove",re,Ie?{passive:!1}:void 0),ae=!1),Ne=-1),oe?Nr():Br(),j=[]};const Hr=g({__name:"VPNavScreenMenuLink",props:{item:{}},setup(n){const e=be("close-screen");return(t,s)=>(a(),b(F,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:l(e)},{default:p(()=>[x(S(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}});const Er=m(Hr,[["__scopeId","data-v-954110af"]]),Dr={},zr={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Fr=c("path",{d:"M18.9,10.9h-6v-6c0-0.6-0.4-1-1-1s-1,0.4-1,1v6h-6c-0.6,0-1,0.4-1,1s0.4,1,1,1h6v6c0,0.6,0.4,1,1,1s1-0.4,1-1v-6h6c0.6,0,1-0.4,1-1S19.5,10.9,18.9,10.9z"},null,-1),Or=[Fr];function Gr(n,e){return a(),i("svg",zr,Or)}const Rr=m(Dr,[["render",Gr]]),Ur=g({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(n){const e=be("close-screen");return(t,s)=>(a(),b(F,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:l(e)},{default:p(()=>[x(S(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}});const Je=m(Ur,[["__scopeId","data-v-60f0e235"]]),jr={class:"VPNavScreenMenuGroupSection"},qr={key:0,class:"title"},Wr=g({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(n){return(e,t)=>(a(),i("div",jr,[e.text?(a(),i("p",qr,S(e.text),1)):f("",!0),(a(!0),i(C,null,A(e.items,s=>(a(),b(Je,{key:s.text,item:s},null,8,["item"]))),128))]))}});const Kr=m(Wr,[["__scopeId","data-v-28b3f790"]]),Yr=["aria-controls","aria-expanded"],Xr={class:"button-text"},Qr=["id"],Jr={key:1,class:"group"},Zr=g({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(n){const e=n,t=P(!1),s=$(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function o(){t.value=!t.value}return(r,d)=>(a(),i("div",{class:B(["VPNavScreenMenuGroup",{open:t.value}])},[c("button",{class:"button","aria-controls":s.value,"aria-expanded":t.value,onClick:o},[c("span",Xr,S(r.text),1),h(Rr,{class:"button-icon"})],8,Yr),c("div",{id:s.value,class:"items"},[(a(!0),i(C,null,A(r.items,v=>(a(),i(C,{key:v.text},["link"in v?(a(),i("div",{key:v.text,class:"item"},[h(Je,{item:v},null,8,["item"])])):(a(),i("div",Jr,[h(Kr,{text:v.text,items:v.items},null,8,["text","items"])]))],64))),128))],8,Qr)],2))}});const el=m(Zr,[["__scopeId","data-v-0c1d8305"]]),tl={key:0,class:"VPNavScreenMenu"},nl=g({__name:"VPNavScreenMenu",setup(n){const{theme:e}=V();return(t,s)=>l(e).nav?(a(),i("nav",tl,[(a(!0),i(C,null,A(l(e).nav,o=>(a(),i(C,{key:o.text},["link"in o?(a(),b(Er,{key:0,item:o},null,8,["item"])):(a(),b(el,{key:1,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):f("",!0)}}),sl={key:0,class:"VPNavScreenAppearance"},ol={class:"text"},al=g({__name:"VPNavScreenAppearance",setup(n){const{site:e,theme:t}=V();return(s,o)=>l(e).appearance?(a(),i("div",sl,[c("p",ol,S(l(t).darkModeSwitchLabel||"Appearance"),1),h(Me)])):f("",!0)}});const rl=m(al,[["__scopeId","data-v-8d4c055c"]]),ll={class:"list"},il=g({__name:"VPNavScreenTranslations",setup(n){const{localeLinks:e,currentLang:t}=Z({correspondingLink:!0}),s=P(!1);function o(){s.value=!s.value}return(r,d)=>l(e).length&&l(t).label?(a(),i("div",{key:0,class:B(["VPNavScreenTranslations",{open:s.value}])},[c("button",{class:"title",onClick:o},[h(Ke,{class:"icon lang"}),x(" "+S(l(t).label)+" ",1),h(We,{class:"icon chevron"})]),c("ul",ll,[(a(!0),i(C,null,A(l(e),v=>(a(),i("li",{key:v.link,class:"item"},[h(F,{class:"link",href:v.link},{default:p(()=>[x(S(v.text),1)]),_:2},1032,["href"])]))),128))])],2)):f("",!0)}});const cl=m(il,[["__scopeId","data-v-71109aa6"]]),ul=g({__name:"VPNavScreenSocialLinks",setup(n){const{theme:e}=V();return(t,s)=>l(e).socialLinks?(a(),b(Be,{key:0,class:"VPNavScreenSocialLinks",links:l(e).socialLinks},null,8,["links"])):f("",!0)}}),dl={class:"container"},_l=g({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(n){const e=P(null);function t(){Xe(e.value,{reserveScrollBarGap:!0})}function s(){Qe()}return(o,r)=>(a(),b(he,{name:"fade",onEnter:t,onAfterLeave:s},{default:p(()=>[o.open?(a(),i("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[c("div",dl,[u(o.$slots,"nav-screen-content-before",{},void 0,!0),h(nl,{class:"menu"}),h(cl,{class:"translations"}),h(rl,{class:"appearance"}),h(ul,{class:"social-links"}),u(o.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):f("",!0)]),_:3}))}});const vl=m(_l,[["__scopeId","data-v-fdbfc5bd"]]),pl={class:"VPNav"},hl=g({__name:"VPNav",setup(n){const{isScreenOpen:e,closeScreen:t,toggleScreen:s}=ko();return ne("close-screen",t),(o,r)=>(a(),i("header",pl,[h(Mr,{"is-screen-open":l(e),onToggleScreen:l(s)},{"nav-bar-title-before":p(()=>[u(o.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[u(o.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":p(()=>[u(o.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":p(()=>[u(o.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),h(vl,{open:l(e)},{"nav-screen-content-before":p(()=>[u(o.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":p(()=>[u(o.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])]))}});const fl=m(hl,[["__scopeId","data-v-56cf789b"]]),ml=n=>(E("data-v-0dd898d8"),n=n(),D(),n),gl=["role","tabindex"],yl=ml(()=>c("div",{class:"indicator"},null,-1)),bl=["onKeydown"],kl={key:1,class:"items"},$l=g({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(n){const e=n,{collapsed:t,collapsible:s,isLink:o,isActiveLink:r,hasActiveLink:d,hasChildren:v,toggle:_}=Gt($(()=>e.item)),y=$(()=>v.value?"section":"div"),w=$(()=>o.value?"a":"div"),L=$(()=>v.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),I=$(()=>o.value?void 0:"button"),k=$(()=>[[`level-${e.depth}`],{collapsible:s.value},{collapsed:t.value},{"is-link":o.value},{"is-active":r.value},{"has-active":d.value}]);function T(M){"key"in M&&M.key!=="Enter"||!e.item.link&&_()}function N(){e.item.link&&_()}return(M,W)=>{const ee=U("VPSidebarItem",!0);return a(),b(G(y.value),{class:B(["VPSidebarItem",k.value])},{default:p(()=>[M.item.text?(a(),i("div",te({key:0,class:"item",role:I.value},dt(M.item.items?{click:T,keydown:T}:{},!0),{tabindex:M.item.items&&0}),[yl,M.item.link?(a(),b(F,{key:0,tag:w.value,class:"link",href:M.item.link},{default:p(()=>[(a(),b(G(L.value),{class:"text",innerHTML:M.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href"])):(a(),b(G(L.value),{key:1,class:"text",innerHTML:M.item.text},null,8,["innerHTML"])),M.item.collapsed!=null?(a(),i("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:N,onKeydown:ut(N,["enter"]),tabindex:"0"},[h(Se,{class:"caret-icon"})],40,bl)):f("",!0)],16,gl)):f("",!0),M.item.items&&M.item.items.length?(a(),i("div",kl,[M.depth<5?(a(!0),i(C,{key:0},A(M.item.items,K=>(a(),b(ee,{key:K.text,item:K,depth:M.depth+1},null,8,["item","depth"]))),128)):f("",!0)])):f("",!0)]),_:1},8,["class"])}}});const Pl=m($l,[["__scopeId","data-v-0dd898d8"]]),Ze=n=>(E("data-v-a6fc4e17"),n=n(),D(),n),Vl=Ze(()=>c("div",{class:"curtain"},null,-1)),wl={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Sl=Ze(()=>c("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),Ll=g({__name:"VPSidebar",props:{open:{type:Boolean}},setup(n){const e=n,{sidebarGroups:t,hasSidebar:s}=z();let o=P(null);function r(){Xe(o.value,{reserveScrollBarGap:!0})}function d(){Qe()}return ge(async()=>{var v;e.open?(r(),(v=o.value)==null||v.focus()):d()}),(v,_)=>l(s)?(a(),i("aside",{key:0,class:B(["VPSidebar",{open:v.open}]),ref_key:"navEl",ref:o,onClick:_[0]||(_[0]=_t(()=>{},["stop"]))},[Vl,c("nav",wl,[Sl,u(v.$slots,"sidebar-nav-before",{},void 0,!0),(a(!0),i(C,null,A(l(t),y=>(a(),i("div",{key:y.text,class:"group"},[h(Pl,{item:y,depth:0},null,8,["item"])]))),128)),u(v.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):f("",!0)}});const Ml=m(Ll,[["__scopeId","data-v-a6fc4e17"]]),Tl=g({__name:"VPSkipLink",setup(n){const e=ce(),t=P();R(()=>e.path,()=>t.value.focus());function s({target:o}){const r=document.getElementById(decodeURIComponent(o.hash).slice(1));if(r){const d=()=>{r.removeAttribute("tabindex"),r.removeEventListener("blur",d)};r.setAttribute("tabindex","-1"),r.addEventListener("blur",d),r.focus(),window.scrollTo(0,0)}}return(o,r)=>(a(),i(C,null,[c("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),c("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:s}," Skip to content ")],64))}});const Cl=m(Tl,[["__scopeId","data-v-3cf24336"]]),Bl=g({__name:"Layout",setup(n){const{isOpen:e,open:t,close:s}=z(),o=ce();R(()=>o.path,s),Ot(e,s),ne("close-sidebar",s),ne("is-sidebar-open",e);const{frontmatter:r}=V(),d=vt(),v=$(()=>!!d["home-hero-image"]);return ne("hero-image-slot-exists",v),(_,y)=>{const w=U("Content");return l(r).layout!==!1?(a(),i("div",{key:0,class:B(["Layout",l(r).pageClass])},[u(_.$slots,"layout-top",{},void 0,!0),h(Cl),h(gt,{class:"backdrop",show:l(e),onClick:l(s)},null,8,["show","onClick"]),l(r).navbar!==!1?(a(),b(fl,{key:0},{"nav-bar-title-before":p(()=>[u(_.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[u(_.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":p(()=>[u(_.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":p(()=>[u(_.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":p(()=>[u(_.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":p(()=>[u(_.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3})):f("",!0),h(bo,{open:l(e),onOpenMenu:l(t)},null,8,["open","onOpenMenu"]),h(Ml,{open:l(e)},{"sidebar-nav-before":p(()=>[u(_.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":p(()=>[u(_.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),h(Qs,null,{"page-top":p(()=>[u(_.$slots,"page-top",{},void 0,!0)]),"page-bottom":p(()=>[u(_.$slots,"page-bottom",{},void 0,!0)]),"not-found":p(()=>[u(_.$slots,"not-found",{},void 0,!0)]),"home-hero-before":p(()=>[u(_.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":p(()=>[u(_.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":p(()=>[u(_.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":p(()=>[u(_.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":p(()=>[u(_.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":p(()=>[u(_.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":p(()=>[u(_.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":p(()=>[u(_.$slots,"doc-before",{},void 0,!0)]),"doc-after":p(()=>[u(_.$slots,"doc-after",{},void 0,!0)]),"doc-top":p(()=>[u(_.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":p(()=>[u(_.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":p(()=>[u(_.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":p(()=>[u(_.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":p(()=>[u(_.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[u(_.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[u(_.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[u(_.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),h(no),u(_.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),b(w,{key:1}))}}});const Il=m(Bl,[["__scopeId","data-v-2502d24c"]]);const Al={Layout:Il,enhanceApp:({app:n})=>{n.component("Badge",ht)}};export{Al as t}; diff --git a/assets/d1646f40.0b81eade.png b/assets/d1646f40.0b81eade.png new file mode 100644 index 0000000..e5633f3 Binary files /dev/null and b/assets/d1646f40.0b81eade.png differ diff --git a/assets/d6a1c63e.9048c2a0.png b/assets/d6a1c63e.9048c2a0.png new file mode 100644 index 0000000..53c3e7c Binary files /dev/null and b/assets/d6a1c63e.9048c2a0.png differ diff --git a/assets/d836170a.963fa574.png b/assets/d836170a.963fa574.png new file mode 100644 index 0000000..76421bc Binary files /dev/null and b/assets/d836170a.963fa574.png differ diff --git a/assets/d8d6ab71.1183cf5e.png b/assets/d8d6ab71.1183cf5e.png new file mode 100644 index 0000000..bac26b3 Binary files /dev/null and b/assets/d8d6ab71.1183cf5e.png differ diff --git a/assets/da391d3e.3252c722.png b/assets/da391d3e.3252c722.png new file mode 100644 index 0000000..5c91884 Binary files /dev/null and b/assets/da391d3e.3252c722.png differ diff --git a/assets/db0071c7.d9cfd7e7.png b/assets/db0071c7.d9cfd7e7.png new file mode 100644 index 0000000..88a66ef Binary files /dev/null and b/assets/db0071c7.d9cfd7e7.png differ diff --git a/assets/dd31e24a.a990cfdd.png b/assets/dd31e24a.a990cfdd.png new file mode 100644 index 0000000..85a49ea Binary files /dev/null and b/assets/dd31e24a.a990cfdd.png differ diff --git a/assets/ed108543.a75706e0.png b/assets/ed108543.a75706e0.png new file mode 100644 index 0000000..bdc2786 Binary files /dev/null and b/assets/ed108543.a75706e0.png differ diff --git a/assets/ef218e23ea2a8dc756af885ae06e61b2-1702032414862.6757ff53.jpg b/assets/ef218e23ea2a8dc756af885ae06e61b2-1702032414862.6757ff53.jpg new file mode 100644 index 0000000..fc7358b Binary files /dev/null and b/assets/ef218e23ea2a8dc756af885ae06e61b2-1702032414862.6757ff53.jpg differ diff --git a/assets/f304b5f2.5f0f6b2a.png b/assets/f304b5f2.5f0f6b2a.png new file mode 100644 index 0000000..dd0651a Binary files /dev/null and b/assets/f304b5f2.5f0f6b2a.png differ diff --git a/assets/f4d4ce32.af975e12.png b/assets/f4d4ce32.af975e12.png new file mode 100644 index 0000000..08dadfb Binary files /dev/null and b/assets/f4d4ce32.af975e12.png differ diff --git a/assets/f9113887.4d278038.png b/assets/f9113887.4d278038.png new file mode 100644 index 0000000..5c262d4 Binary files /dev/null and b/assets/f9113887.4d278038.png differ diff --git a/assets/fbbdc4e1.a5afeb47.png b/assets/fbbdc4e1.a5afeb47.png new file mode 100644 index 0000000..0af1330 Binary files /dev/null and b/assets/fbbdc4e1.a5afeb47.png differ diff --git a/assets/fc2b4545.e09b43bd.png b/assets/fc2b4545.e09b43bd.png new file mode 100644 index 0000000..76928b5 Binary files /dev/null and b/assets/fc2b4545.e09b43bd.png differ diff --git a/assets/index.md.da3caa6d.js b/assets/index.md.da3caa6d.js new file mode 100644 index 0000000..1ea0d48 --- /dev/null +++ b/assets/index.md.da3caa6d.js @@ -0,0 +1 @@ +import{_ as e,o as t,c as a}from"./chunks/framework.a3dd33a8.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Visual-DDD","text":"可视化DDD平台","tagline":"让 AI 成为你的工作利器,轻松解决繁琐工作","image":{"src":"/logo.svg","alt":"Visual-DDD-client"},"actions":[{"theme":"brand","text":"开始使用","link":"/base/product/DDD可视化开发平台文档/产品概述/欢迎使用Visual-DDD.md"}]},"features":[{"title":"架构设计可视化","details":"标准化架构设计流程和设计组件。通过托拉拽的方式来进行架构设计,使开发人员能够更直观的理解和管理系统,更容易识别代码间的依赖关系"},{"title":"低代码平台","details":"通过领域模型图自动生成80%以上的代码,丰富的组件库。让你可以在几分钟完成一个新的业务模块的编码。"},{"title":"高效 CRUD","details":"留多点时间,做真正有价值的事情"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1705031091000}'),d={name:"index.md"};function s(n,i,_,o,l,c){return t(),a("div")}const D=e(d,[["render",s],["__scopeId","data-v-6b018dd5"]]);export{p as __pageData,D as default}; diff --git a/assets/index.md.da3caa6d.lean.js b/assets/index.md.da3caa6d.lean.js new file mode 100644 index 0000000..1ea0d48 --- /dev/null +++ b/assets/index.md.da3caa6d.lean.js @@ -0,0 +1 @@ +import{_ as e,o as t,c as a}from"./chunks/framework.a3dd33a8.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Visual-DDD","text":"可视化DDD平台","tagline":"让 AI 成为你的工作利器,轻松解决繁琐工作","image":{"src":"/logo.svg","alt":"Visual-DDD-client"},"actions":[{"theme":"brand","text":"开始使用","link":"/base/product/DDD可视化开发平台文档/产品概述/欢迎使用Visual-DDD.md"}]},"features":[{"title":"架构设计可视化","details":"标准化架构设计流程和设计组件。通过托拉拽的方式来进行架构设计,使开发人员能够更直观的理解和管理系统,更容易识别代码间的依赖关系"},{"title":"低代码平台","details":"通过领域模型图自动生成80%以上的代码,丰富的组件库。让你可以在几分钟完成一个新的业务模块的编码。"},{"title":"高效 CRUD","details":"留多点时间,做真正有价值的事情"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1705031091000}'),d={name:"index.md"};function s(n,i,_,o,l,c){return t(),a("div")}const D=e(d,[["render",s],["__scopeId","data-v-6b018dd5"]]);export{p as __pageData,D as default}; diff --git a/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2 b/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2 new file mode 100644 index 0000000..2a68729 Binary files /dev/null and b/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2 differ diff --git a/assets/inter-italic-cyrillic.ea42a392.woff2 b/assets/inter-italic-cyrillic.ea42a392.woff2 new file mode 100644 index 0000000..f640351 Binary files /dev/null and b/assets/inter-italic-cyrillic.ea42a392.woff2 differ diff --git a/assets/inter-italic-greek-ext.4fbe9427.woff2 b/assets/inter-italic-greek-ext.4fbe9427.woff2 new file mode 100644 index 0000000..0021896 Binary files /dev/null and b/assets/inter-italic-greek-ext.4fbe9427.woff2 differ diff --git a/assets/inter-italic-greek.8f4463c4.woff2 b/assets/inter-italic-greek.8f4463c4.woff2 new file mode 100644 index 0000000..71c265f Binary files /dev/null and b/assets/inter-italic-greek.8f4463c4.woff2 differ diff --git a/assets/inter-italic-latin-ext.bd8920cc.woff2 b/assets/inter-italic-latin-ext.bd8920cc.woff2 new file mode 100644 index 0000000..9c1b944 Binary files /dev/null and b/assets/inter-italic-latin-ext.bd8920cc.woff2 differ diff --git a/assets/inter-italic-latin.bd3b6f56.woff2 b/assets/inter-italic-latin.bd3b6f56.woff2 new file mode 100644 index 0000000..01fcf20 Binary files /dev/null and b/assets/inter-italic-latin.bd3b6f56.woff2 differ diff --git a/assets/inter-italic-vietnamese.6ce511fb.woff2 b/assets/inter-italic-vietnamese.6ce511fb.woff2 new file mode 100644 index 0000000..e4f788e Binary files /dev/null and b/assets/inter-italic-vietnamese.6ce511fb.woff2 differ diff --git a/assets/inter-roman-cyrillic-ext.e75737ce.woff2 b/assets/inter-roman-cyrillic-ext.e75737ce.woff2 new file mode 100644 index 0000000..28593cc Binary files /dev/null and b/assets/inter-roman-cyrillic-ext.e75737ce.woff2 differ diff --git a/assets/inter-roman-cyrillic.5f2c6c8c.woff2 b/assets/inter-roman-cyrillic.5f2c6c8c.woff2 new file mode 100644 index 0000000..a20adc1 Binary files /dev/null and b/assets/inter-roman-cyrillic.5f2c6c8c.woff2 differ diff --git a/assets/inter-roman-greek-ext.ab0619bc.woff2 b/assets/inter-roman-greek-ext.ab0619bc.woff2 new file mode 100644 index 0000000..e3b0be7 Binary files /dev/null and b/assets/inter-roman-greek-ext.ab0619bc.woff2 differ diff --git a/assets/inter-roman-greek.d5a6d92a.woff2 b/assets/inter-roman-greek.d5a6d92a.woff2 new file mode 100644 index 0000000..f790e04 Binary files /dev/null and b/assets/inter-roman-greek.d5a6d92a.woff2 differ diff --git a/assets/inter-roman-latin-ext.0030eebd.woff2 b/assets/inter-roman-latin-ext.0030eebd.woff2 new file mode 100644 index 0000000..715bd90 Binary files /dev/null and b/assets/inter-roman-latin-ext.0030eebd.woff2 differ diff --git a/assets/inter-roman-latin.2ed14f66.woff2 b/assets/inter-roman-latin.2ed14f66.woff2 new file mode 100644 index 0000000..a540b7a Binary files /dev/null and b/assets/inter-roman-latin.2ed14f66.woff2 differ diff --git a/assets/inter-roman-vietnamese.14ce25a6.woff2 b/assets/inter-roman-vietnamese.14ce25a6.woff2 new file mode 100644 index 0000000..5a9f9cb Binary files /dev/null and b/assets/inter-roman-vietnamese.14ce25a6.woff2 differ diff --git a/assets/pluginIcon.9681df56.svg b/assets/pluginIcon.9681df56.svg new file mode 100644 index 0000000..c8a2c07 --- /dev/null +++ b/assets/pluginIcon.9681df56.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + diff --git a/assets/style.6263e94a.css b/assets/style.6263e94a.css new file mode 100644 index 0000000..e4a72c5 --- /dev/null +++ b/assets/style.6263e94a.css @@ -0,0 +1 @@ +@charset "UTF-8";@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/doc/assets/inter-roman-cyrillic.5f2c6c8c.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/doc/assets/inter-roman-cyrillic-ext.e75737ce.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/doc/assets/inter-roman-greek.d5a6d92a.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/doc/assets/inter-roman-greek-ext.ab0619bc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/doc/assets/inter-roman-latin.2ed14f66.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/doc/assets/inter-roman-latin-ext.0030eebd.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/doc/assets/inter-roman-vietnamese.14ce25a6.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/doc/assets/inter-italic-cyrillic.ea42a392.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/doc/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/doc/assets/inter-italic-greek.8f4463c4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/doc/assets/inter-italic-greek-ext.4fbe9427.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/doc/assets/inter-italic-latin.bd3b6f56.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/doc/assets/inter-italic-latin-ext.bd8920cc.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/doc/assets/inter-italic-vietnamese.6ce511fb.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chinese Quotes;src:local("PingFang SC Regular"),local("PingFang SC"),local("SimHei"),local("Source Han Sans SC");unicode-range:U+2018,U+2019,U+201C,U+201D}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-gray: #8e8e93;--vp-c-text-light-1: rgba(60, 60, 67);--vp-c-text-light-2: rgba(60, 60, 67, .75);--vp-c-text-light-3: rgba(60, 60, 67, .33);--vp-c-text-dark-1: rgba(255, 255, 245, .86);--vp-c-text-dark-2: rgba(235, 235, 245, .6);--vp-c-text-dark-3: rgba(235, 235, 245, .38);--vp-c-sponsor: #db2777}:root{--vp-c-bg: #ffffff;--vp-c-bg-elv: #ffffff;--vp-c-bg-elv-up: #ffffff;--vp-c-bg-elv-down: #f6f6f7;--vp-c-bg-elv-mute: #f6f6f7;--vp-c-bg-soft: #f6f6f7;--vp-c-bg-soft-up: #f9f9fa;--vp-c-bg-soft-down: #e3e3e5;--vp-c-bg-soft-mute: #e3e3e5;--vp-c-bg-alt: #f6f6f7;--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white);--vp-c-text-1: var(--vp-c-text-light-1);--vp-c-text-2: var(--vp-c-text-light-2);--vp-c-text-3: var(--vp-c-text-light-3);--vp-c-text-inverse-1: var(--vp-c-text-dark-1);--vp-c-text-inverse-2: var(--vp-c-text-dark-2);--vp-c-text-inverse-3: var(--vp-c-text-dark-3);--vp-c-text-code: #476582;--vp-c-mute: #eeeef0;--vp-c-mute-light: #f3f3f9;--vp-c-mute-lighter: #f9f9fa;--vp-c-mute-dark: #e3e3e5;--vp-c-mute-darker: #d7d7d9;--vp-c-brand: #4565d8;--vp-c-brand-light: #708fff;--vp-c-brand-lighter: #a4b2ff;--vp-c-brand-lightest: #ecefff;--vp-c-brand-dark: #4565d8;--vp-c-brand-darker: #23459f;--vp-c-brand-darkest: #132f59;--vp-c-brand-dimm-1: rgba(112, 143, 255, .05);--vp-c-brand-dimm-2: rgba(112, 143, 255, .2);--vp-c-brand-dimm-3: rgba(112, 143, 255, .5);--vp-c-green: #10b981;--vp-c-green-light: #34d399;--vp-c-green-lighter: #6ee7b7;--vp-c-green-dark: #059669;--vp-c-green-darker: #047857;--vp-c-green-dimm-1: rgba(16, 185, 129, .05);--vp-c-green-dimm-2: rgba(16, 185, 129, .2);--vp-c-green-dimm-3: rgba(16, 185, 129, .5);--vp-c-yellow: #d97706;--vp-c-yellow-light: #f59e0b;--vp-c-yellow-lighter: #fbbf24;--vp-c-yellow-lightest: #fcd34d;--vp-c-yellow-dark: #b45309;--vp-c-yellow-darker: #92400e;--vp-c-yellow-darkest: #6c3d08;--vp-c-yellow-dimm-1: rgba(234, 179, 8, .05);--vp-c-yellow-dimm-2: rgba(234, 179, 8, .2);--vp-c-yellow-dimm-3: rgba(234, 179, 8, .5);--vp-c-red: #f43f5e;--vp-c-red-light: #fb7185;--vp-c-red-lighter: #fda4af;--vp-c-red-lightest: #fdd6e0;--vp-c-red-dark: #e11d48;--vp-c-red-darker: #be123c;--vp-c-red-darkest: #9f1239;--vp-c-red-dimm-1: rgba(244, 63, 94, .05);--vp-c-red-dimm-2: rgba(244, 63, 94, .2);--vp-c-red-dimm-3: rgba(244, 63, 94, .5)}.dark{--vp-c-bg: #1e1e20;--vp-c-bg-elv: #252529;--vp-c-bg-elv-up: #323238;--vp-c-bg-elv-down: #1e1e20;--vp-c-bg-elv-mute: #323238;--vp-c-bg-soft: #252529;--vp-c-bg-soft-up: #323238;--vp-c-bg-soft-down: #1e1e20;--vp-c-bg-soft-mute: #323238;--vp-c-bg-alt: #161618;--vp-c-border: rgba(82, 82, 89, .68);--vp-c-divider: rgba(82, 82, 89, .32);--vp-c-gutter: #000000;--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black);--vp-c-text-1: var(--vp-c-text-dark-1);--vp-c-text-2: var(--vp-c-text-dark-2);--vp-c-text-3: var(--vp-c-text-dark-3);--vp-c-text-inverse-1: var(--vp-c-text-light-1);--vp-c-text-inverse-2: var(--vp-c-text-light-2);--vp-c-text-inverse-3: var(--vp-c-text-light-3);--vp-c-text-code: #c9def1;--vp-c-mute: #323238;--vp-c-mute-light: #3a3a3c;--vp-c-mute-lighter: #505053;--vp-c-mute-dark: #222226;--vp-c-mute-darker: #505053;--vp-c-brand: #708fff;--vp-c-brand-light: #a4b2ff;--vp-c-brand-lighter: #a4c8ff;--vp-c-brand-lightest: #ecefff;--vp-c-brand-dark: #4565d8;--vp-c-brand-darker: #23459f;--vp-c-brand-darkest: #132f59;--vp-c-brand-dimm-1: rgba(112, 143, 255, .05);--vp-c-brand-dimm-2: rgba(112, 143, 255, .2);--vp-c-brand-dimm-3: rgba(112, 143, 255, .5);--vp-c-green: #10b981;--vp-c-green-light: #34d399;--vp-c-green-lighter: #6ee7b7;--vp-c-green-lightest: #a7f3d0;--vp-c-green-dark: #059669;--vp-c-green-darker: #047857;--vp-c-green-darkest: #065f46;--vp-c-green-dimm-1: rgba(16, 185, 129, .05);--vp-c-green-dimm-2: rgba(16, 185, 129, .2);--vp-c-green-dimm-3: rgba(16, 185, 129, .5);--vp-c-yellow: #d1a336;--vp-c-yellow-light: #f8e3a1;--vp-c-yellow-lighter: #fff0c0;--vp-c-yellow-lightest: #fff7dc;--vp-c-yellow-dark: #b45309;--vp-c-yellow-darker: #92400e;--vp-c-yellow-darkest: #6c3d08;--vp-c-yellow-dimm-1: rgba(234, 179, 8, .05);--vp-c-yellow-dimm-2: rgba(234, 179, 8, .2);--vp-c-yellow-dimm-3: rgba(234, 179, 8, .5);--vp-c-red: #f43f5e;--vp-c-red-light: #fb7185;--vp-c-red-lighter: #fda4af;--vp-c-red-lightest: #fdd6e0;--vp-c-red-dark: #e11d48;--vp-c-red-darker: #be123c;--vp-c-red-darkest: #9f1239;--vp-c-red-dimm-1: rgba(244, 63, 94, .05);--vp-c-red-dimm-2: rgba(244, 63, 94, .2);--vp-c-red-dimm-3: rgba(244, 63, 94, .5)}:root{--vp-font-family-base: "Chinese Quotes", "Inter var", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-local-nav: 10;--vp-z-index-nav: 20;--vp-z-index-layout-top: 30;--vp-z-index-backdrop: 40;--vp-z-index-sidebar: 50;--vp-z-index-footer: 60}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E")}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-c-code-dimm: var(--vp-c-text-dark-3);--vp-code-block-color: var(--vp-c-text-dark-1);--vp-code-block-bg: #161618;--vp-code-block-bg-light: #1e1e20;--vp-code-block-divider-color: #000000;--vp-code-line-highlight-color: rgba(0, 0, 0, .5);--vp-code-line-number-color: var(--vp-c-code-dimm);--vp-code-line-diff-add-color: var(--vp-c-green-dimm-2);--vp-code-line-diff-add-symbol-color: var(--vp-c-green);--vp-code-line-diff-remove-color: var(--vp-c-red-dimm-2);--vp-code-line-diff-remove-symbol-color: var(--vp-c-red);--vp-code-line-warning-color: var(--vp-c-yellow-dimm-2);--vp-code-line-error-color: var(--vp-c-red-dimm-2);--vp-code-copy-code-border-color: transparent;--vp-code-copy-code-bg: var(--vp-code-block-bg-light);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-code-block-bg-light);--vp-code-copy-code-active-text: var(--vp-c-text-dark-2);--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-dark-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-dark-1);--vp-code-tab-active-text-color: var(--vp-c-text-dark-1);--vp-code-tab-active-bar-color: var(--vp-c-brand)}.dark{--vp-code-block-bg: #161618}:root:not(.dark) .vp-adaptive-theme{--vp-c-code-dimm: var(--vp-c-text-2);--vp-code-block-color: var(--vp-c-text-1);--vp-code-block-bg: #f8f8f8;--vp-code-block-divider-color: var(--vp-c-divider);--vp-code-line-highlight-color: #ececec;--vp-code-line-number-color: var(--vp-c-code-dimm);--vp-code-copy-code-bg: #e2e2e2;--vp-code-copy-code-hover-bg: #dcdcdc;--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-tab-divider: var(--vp-c-divider);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1)}:root{--vp-button-brand-border: var(--vp-c-brand);--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-dark);--vp-button-brand-hover-border: var(--vp-c-brand-light);--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-darker);--vp-button-brand-active-border: var(--vp-c-brand-light);--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-darkest);--vp-button-alt-border: var(--vp-c-border);--vp-button-alt-text: var(--vp-c-neutral);--vp-button-alt-bg: var(--vp-c-mute);--vp-button-alt-hover-border: var(--vp-c-border);--vp-button-alt-hover-text: var(--vp-c-neutral);--vp-button-alt-hover-bg: var(--vp-c-mute-dark);--vp-button-alt-active-border: var(--vp-c-border);--vp-button-alt-active-text: var(--vp-c-neutral);--vp-button-alt-active-bg: var(--vp-c-mute-darker);--vp-button-sponsor-border: var(--vp-c-gray-light-3);--vp-button-sponsor-text: var(--vp-c-text-light-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}.dark{--vp-button-sponsor-border: var(--vp-c-gray-dark-1);--vp-button-sponsor-text: var(--vp-c-text-dark-2)}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: var(--vp-c-border);--vp-custom-block-info-text: var(--vp-c-text-2);--vp-custom-block-info-bg: var(--vp-c-bg-soft);--vp-custom-block-info-code-bg: var(--vp-c-mute);--vp-custom-block-tip-border: var(--vp-c-brand);--vp-custom-block-tip-text: var(--vp-c-brand);--vp-custom-block-tip-bg: var(--vp-c-bg-soft);--vp-custom-block-tip-code-bg: var(--vp-c-mute);--vp-custom-block-warning-border: var(--vp-c-yellow);--vp-custom-block-warning-text: var(--vp-c-yellow);--vp-custom-block-warning-bg: var(--vp-c-bg-soft);--vp-custom-block-warning-code-bg: var(--vp-c-mute);--vp-custom-block-danger-border: var(--vp-c-red);--vp-custom-block-danger-text: var(--vp-c-red);--vp-custom-block-danger-bg: var(--vp-c-bg-soft);--vp-custom-block-danger-code-bg: var(--vp-c-mute);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-details-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-hover-border-color: var(--vp-c-gray);--vp-input-switch-bg-color: var(--vp-c-mute)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: var(--vp-c-border);--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-mute);--vp-badge-tip-border: var(--vp-c-brand);--vp-badge-tip-text: var(--vp-c-brand);--vp-badge-tip-bg: var(--vp-c-brand-dimm-1);--vp-badge-warning-border: var(--vp-c-yellow);--vp-badge-warning-text: var(--vp-c-yellow);--vp-badge-warning-bg: var(--vp-c-yellow-dimm-1);--vp-badge-danger-border: var(--vp-c-red);--vp-badge-danger-text: var(--vp-c-red);--vp-badge-danger-bg: var(--vp-c-red-dimm-1)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand);--vp-local-search-highlight-bg: var(--vp-c-green-lighter);--vp-local-search-highlight-text: var(--vp-c-black)}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);direction:ltr;font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline dotted;text-underline-offset:2px;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.dark .vp-code-light{display:none}html:not(.dark) .vp-code-dark{display:none}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px var(--vp-code-tab-divider)}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:fixed;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:1px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:20px 24px}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s}.vp-doc blockquote>p{margin:0;font-size:16px;color:var(--vp-c-text-2);transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand)}.vp-doc a:hover{text-decoration:underline dotted;text-underline-offset:2px}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block a{color:inherit;font-weight:600}.vp-doc .custom-block code{font-size:var(--vp-custom-block-code-font-size);font-weight:700;color:inherit}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;color:var(--vp-c-text-code);background-color:var(--vp-c-mute);transition:color .5s,background-color .5s}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code{font-size:.9em}.vp-doc a>code{color:var(--vp-c-brand)}.vp-doc div[class*=language-],.vp-block{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-],.vp-block{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;left:-65px;display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;width:64px;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:"Copied"}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-c-code-dimm);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin-bottom:4px;text-align:center;letter-spacing:1px;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-bg-soft-down)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge[data-v-1b97f71e]{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:12px;padding:0 10px;line-height:22px;font-size:12px;font-weight:600;transform:translateY(-2px)}.vp-doc h1>.VPBadge[data-v-1b97f71e]{margin-top:4px;vertical-align:top}.vp-doc h2>.VPBadge[data-v-1b97f71e]{margin-top:3px;line-height:20px;padding:0 8px;vertical-align:top}.vp-doc h3>.VPBadge[data-v-1b97f71e]{line-height:20px;vertical-align:middle}.vp-doc h4>.VPBadge[data-v-1b97f71e],.vp-doc h5>.VPBadge[data-v-1b97f71e],.vp-doc h6>.VPBadge[data-v-1b97f71e]{vertical-align:middle;line-height:18px}.VPBadge.info[data-v-1b97f71e]{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip[data-v-1b97f71e]{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning[data-v-1b97f71e]{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger[data-v-1b97f71e]{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-d48f95d0]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-d48f95d0],.VPBackdrop.fade-leave-to[data-v-d48f95d0]{opacity:0}.VPBackdrop.fade-leave-active[data-v-d48f95d0]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-d48f95d0]{display:none}}.NotFound[data-v-79ad7de0]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-79ad7de0]{padding:96px 32px 168px}}.code[data-v-79ad7de0]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-79ad7de0]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-79ad7de0]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-79ad7de0]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-79ad7de0]{padding-top:20px}.link[data-v-79ad7de0]{display:inline-block;border:1px solid var(--vp-c-brand);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:border-color .25s,color .25s}.link[data-v-79ad7de0]:hover{border-color:var(--vp-c-brand-dark);color:var(--vp-c-brand-dark)}.root[data-v-9892aa02]{position:relative;z-index:1}.nested[data-v-9892aa02]{padding-left:16px}.outline-link[data-v-9892aa02]{display:block;line-height:28px;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s;font-weight:400}.outline-link[data-v-9892aa02]:hover,.outline-link.active[data-v-9892aa02]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-9892aa02]{padding-left:13px}.VPDocAsideOutline[data-v-3965f845]{display:none}.VPDocAsideOutline.has-outline[data-v-3965f845]{display:block}.content[data-v-3965f845]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-3965f845]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:1px;height:18px;background-color:var(--vp-c-brand);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-3965f845]{letter-spacing:.4px;line-height:28px;font-size:13px;font-weight:600}.VPDocAside[data-v-fad2514d]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-fad2514d]{flex-grow:1}.VPDocAside[data-v-fad2514d] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-fad2514d] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-fad2514d] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-581988b7]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-581988b7]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-623060b1]{margin-top:64px}.edit-info[data-v-623060b1]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-623060b1]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-623060b1]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:color .25s}.edit-link-button[data-v-623060b1]:hover{color:var(--vp-c-brand-dark)}.edit-link-icon[data-v-623060b1]{margin-right:8px;width:14px;height:14px;fill:currentColor}.prev-next[data-v-623060b1]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width: 640px){.prev-next[data-v-623060b1]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-623060b1]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-623060b1]:hover{border-color:var(--vp-c-brand)}.pager-link.next[data-v-623060b1]{margin-left:auto;text-align:right}.desc[data-v-623060b1]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-623060b1]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:color .25s}.VPDocOutlineDropdown[data-v-a655a729]{margin-bottom:48px}.VPDocOutlineDropdown button[data-v-a655a729]{display:block;font-size:14px;font-weight:500;line-height:24px;border:1px solid var(--vp-c-border);padding:4px 12px;color:var(--vp-c-text-2);background-color:var(--vp-c-mute);border-radius:8px;transition:color .5s}.VPDocOutlineDropdown button[data-v-a655a729]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPDocOutlineDropdown button.open[data-v-a655a729]{color:var(--vp-c-text-1)}.icon[data-v-a655a729]{display:inline-block;vertical-align:middle;width:16px;height:16px;fill:currentColor}[data-v-a655a729] .outline-link{font-size:14px;font-weight:400}.open>.icon[data-v-a655a729]{transform:rotate(90deg)}.items[data-v-a655a729]{margin-top:12px;border-left:1px solid var(--vp-c-divider)}.VPDoc[data-v-c23530aa]{padding:32px 24px 96px;width:100%}.VPDoc .VPDocOutlineDropdown[data-v-c23530aa]{display:none}@media (min-width: 960px) and (max-width: 1279px){.VPDoc .VPDocOutlineDropdown[data-v-c23530aa]{display:block}}@media (min-width: 768px){.VPDoc[data-v-c23530aa]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-c23530aa]{padding:32px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-c23530aa]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-c23530aa]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-c23530aa]{display:flex;justify-content:center}.VPDoc .aside[data-v-c23530aa]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-c23530aa]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-c23530aa]{max-width:1104px}}.container[data-v-c23530aa]{margin:0 auto;width:100%}.aside[data-v-c23530aa]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-c23530aa]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-c23530aa]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 32px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-c23530aa]::-webkit-scrollbar{display:none}.aside-curtain[data-v-c23530aa]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-c23530aa]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 32px));padding-bottom:32px}.content[data-v-c23530aa]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-c23530aa]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-c23530aa]{order:1;margin:0;min-width:640px}}.content-container[data-v-c23530aa]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-c23530aa]{max-width:688px}.external-link-icon-enabled[data-v-c23530aa] :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.VPButton[data-v-4f8790f9]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-4f8790f9]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-4f8790f9]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-4f8790f9]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-4f8790f9]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-4f8790f9]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-4f8790f9]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-4f8790f9]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-4f8790f9]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-4f8790f9]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-4f8790f9]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-4f8790f9]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-4f8790f9]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-f53bc8e1]{display:none}.dark .VPImage.light[data-v-f53bc8e1]{display:none}.VPHero[data-v-3a2e4149]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-3a2e4149]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-3a2e4149]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-3a2e4149]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-3a2e4149]{flex-direction:row}}.main[data-v-3a2e4149]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-3a2e4149]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-3a2e4149]{text-align:left}}@media (min-width: 960px){.main[data-v-3a2e4149]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-3a2e4149]{max-width:592px}}.name[data-v-3a2e4149],.text[data-v-3a2e4149]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-3a2e4149],.VPHero.has-image .text[data-v-3a2e4149]{margin:0 auto}.name[data-v-3a2e4149]{color:var(--vp-home-hero-name-color)}.clip[data-v-3a2e4149]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-3a2e4149],.text[data-v-3a2e4149]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-3a2e4149],.text[data-v-3a2e4149]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-3a2e4149],.VPHero.has-image .text[data-v-3a2e4149]{margin:0}}.tagline[data-v-3a2e4149]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-3a2e4149]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-3a2e4149]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-3a2e4149]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-3a2e4149]{margin:0}}.actions[data-v-3a2e4149]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-3a2e4149]{justify-content:center}@media (min-width: 640px){.actions[data-v-3a2e4149]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-3a2e4149]{justify-content:flex-start}}.action[data-v-3a2e4149]{flex-shrink:0;padding:6px}.image[data-v-3a2e4149]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-3a2e4149]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-3a2e4149]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-3a2e4149]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-3a2e4149]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-3a2e4149]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-3a2e4149]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-3a2e4149]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-3a2e4149]{width:320px;height:320px}}[data-v-3a2e4149] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-3a2e4149] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-3a2e4149] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-7f5f7161]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-7f5f7161]:hover{border-color:var(--vp-c-brand);background-color:var(--vp-c-bg-soft-up)}.box[data-v-7f5f7161]{display:flex;flex-direction:column;padding:24px;height:100%}.VPFeature[data-v-7f5f7161] .VPImage{margin-bottom:20px}.icon[data-v-7f5f7161]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-bg-soft-down);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-7f5f7161]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-7f5f7161]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-7f5f7161]{padding-top:8px}.link-text-value[data-v-7f5f7161]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand)}.link-text-icon[data-v-7f5f7161]{display:inline-block;margin-left:6px;width:14px;height:14px;fill:currentColor}.VPFeatures[data-v-74d29eea]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-74d29eea]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-74d29eea]{padding:0 64px}}.container[data-v-74d29eea]{margin:0 auto;max-width:1152px}.items[data-v-74d29eea]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-74d29eea]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-74d29eea],.item.grid-4[data-v-74d29eea],.item.grid-6[data-v-74d29eea]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-74d29eea],.item.grid-4[data-v-74d29eea]{width:50%}.item.grid-3[data-v-74d29eea],.item.grid-6[data-v-74d29eea]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-74d29eea]{width:25%}}.VPHome[data-v-e66be0d8]{padding-bottom:96px}.VPHome[data-v-e66be0d8] .VPHomeSponsors{margin-top:112px;margin-bottom:-128px}@media (min-width: 768px){.VPHome[data-v-e66be0d8]{padding-bottom:128px}}.VPContent[data-v-9e6cd6ec]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-9e6cd6ec]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-9e6cd6ec]{margin:0}@media (min-width: 960px){.VPContent[data-v-9e6cd6ec]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-9e6cd6ec]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-9e6cd6ec]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-86009d20]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-86009d20]{display:none}@media (min-width: 768px){.VPFooter[data-v-86009d20]{padding:32px}}.container[data-v-86009d20]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-86009d20],.copyright[data-v-86009d20]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-9a4bcd51]{padding:12px 20px 11px}.VPLocalNavOutlineDropdown button[data-v-9a4bcd51]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-9a4bcd51]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-9a4bcd51]{color:var(--vp-c-text-1)}.icon[data-v-9a4bcd51]{display:inline-block;vertical-align:middle;margin-left:2px;width:14px;height:14px;fill:currentColor}[data-v-9a4bcd51] .outline-link{font-size:14px;padding:2px 0}.open>.icon[data-v-9a4bcd51]{transform:rotate(90deg)}.items[data-v-9a4bcd51]{position:absolute;top:64px;right:16px;left:16px;display:grid;gap:1px;border:1px solid var(--vp-c-border);border-radius:8px;background-color:var(--vp-c-gutter);max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}.header[data-v-9a4bcd51]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-9a4bcd51]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand)}.outline[data-v-9a4bcd51]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-9a4bcd51]{transition:all .2s ease-out}.flyout-leave-active[data-v-9a4bcd51]{transition:all .15s ease-in}.flyout-enter-from[data-v-9a4bcd51],.flyout-leave-to[data-v-9a4bcd51]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-5b9ef011]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--vp-c-gutter);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-5b9ef011]{position:fixed}.VPLocalNav.reached-top[data-v-5b9ef011]{border-top-color:transparent}@media (min-width: 960px){.VPLocalNav[data-v-5b9ef011]{display:none}}.menu[data-v-5b9ef011]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-5b9ef011]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-5b9ef011]{padding:0 32px}}.menu-icon[data-v-5b9ef011]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPOutlineDropdown[data-v-5b9ef011]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-5b9ef011]{padding:12px 32px 11px}}.VPSwitch[data-v-519a0024]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s}.VPSwitch[data-v-519a0024]:hover{border-color:var(--vp-input-hover-border-color)}.check[data-v-519a0024]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s}.icon[data-v-519a0024]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-519a0024] svg{position:absolute;top:3px;left:3px;width:12px;height:12px;fill:var(--vp-c-text-2)}.dark .icon[data-v-519a0024] svg{fill:var(--vp-c-text-1);transition:opacity .25s}.sun[data-v-a9a3083f]{opacity:1}.moon[data-v-a9a3083f],.dark .sun[data-v-a9a3083f]{opacity:0}.dark .moon[data-v-a9a3083f]{opacity:1}.dark .VPSwitchAppearance[data-v-a9a3083f] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-6af65a7c]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-6af65a7c]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-e24e974d]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-e24e974d]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-e24e974d]:hover{color:var(--vp-c-brand);background-color:var(--vp-c-bg-elv-mute)}.link.active[data-v-e24e974d]{color:var(--vp-c-brand)}.VPMenuGroup[data-v-5db36d2c]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-5db36d2c]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-5db36d2c]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-5db36d2c]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-29d1785b]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-29d1785b] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-29d1785b] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-29d1785b] .group:last-child{padding-bottom:0}.VPMenu[data-v-29d1785b] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-29d1785b] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-29d1785b] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-29d1785b] .action{padding-left:24px}.VPFlyout[data-v-5c55034a]{position:relative}.VPFlyout[data-v-5c55034a]:hover{color:var(--vp-c-brand);transition:color .25s}.VPFlyout:hover .text[data-v-5c55034a]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-5c55034a]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-5c55034a]{color:var(--vp-c-brand)}.VPFlyout.active:hover .text[data-v-5c55034a]{color:var(--vp-c-brand-dark)}.VPFlyout:hover .menu[data-v-5c55034a],.button[aria-expanded=true]+.menu[data-v-5c55034a]{opacity:1;visibility:visible;transform:translateY(0)}.button[aria-expanded=false]+.menu[data-v-5c55034a]{opacity:0;visibility:hidden;transform:translateY(0)}.button[data-v-5c55034a]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-5c55034a]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-5c55034a]{margin-right:0;width:16px;height:16px;fill:currentColor}.text-icon[data-v-5c55034a]{margin-left:4px;width:14px;height:14px;fill:currentColor}.icon[data-v-5c55034a]{width:20px;height:20px;fill:currentColor;transition:fill .25s}.menu[data-v-5c55034a]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-cf5cb860]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-cf5cb860]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-cf5cb860]>svg{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-5d555a49]{display:flex;justify-content:center}.VPNavBarExtra[data-v-a363d783]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-a363d783]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-a363d783]{display:none}}.trans-title[data-v-a363d783]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-a363d783],.item.social-links[data-v-a363d783]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-a363d783]{min-width:176px}.appearance-action[data-v-a363d783]{margin-right:-2px}.social-links-list[data-v-a363d783]{margin:-4px -8px}.VPNavBarHamburger[data-v-2356f3b4]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-2356f3b4]{display:none}}.container[data-v-2356f3b4]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-2356f3b4]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-2356f3b4]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-2356f3b4]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-2356f3b4]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-2356f3b4]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-2356f3b4]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-2356f3b4],.VPNavBarHamburger.active:hover .middle[data-v-2356f3b4],.VPNavBarHamburger.active:hover .bottom[data-v-2356f3b4]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-2356f3b4],.middle[data-v-2356f3b4],.bottom[data-v-2356f3b4]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-2356f3b4]{top:0;left:0;transform:translate(0)}.middle[data-v-2356f3b4]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-2356f3b4]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-77427d4e]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-77427d4e],.VPNavBarMenuLink[data-v-77427d4e]:hover{color:var(--vp-c-brand)}.VPNavBarMenu[data-v-7383eb3d]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-7383eb3d]{display:flex}}/*! @docsearch/css 3.5.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.DocSearch{--docsearch-primary-color: var(--vp-c-brand);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-background: transparent;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark .DocSearch{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-bg-soft-mute);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:48px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:1px;letter-spacing:-12px;color:transparent}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:var(--vp-meta-key);font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-bg-soft-mute)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-478b91b6]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-478b91b6]{display:flex;align-items:center}}.title[data-v-dfb24d74]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-dfb24d74]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-dfb24d74]{border-bottom-color:var(--vp-c-divider)}}[data-v-dfb24d74] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-656b1f9e]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-656b1f9e]{display:flex;align-items:center}}.title[data-v-656b1f9e]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-d0597744]{position:relative;border-bottom:1px solid transparent;padding:0 8px 0 24px;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap}@media (min-width: 768px){.VPNavBar[data-v-d0597744]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar[data-v-d0597744]{padding:0}.VPNavBar[data-v-d0597744]:not(.has-sidebar):not(.top){border-bottom-color:var(--vp-c-gutter);background-color:var(--vp-nav-bg-color)}}.container[data-v-d0597744]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-d0597744],.container>.content[data-v-d0597744]{pointer-events:none}.container[data-v-d0597744] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-d0597744]{max-width:100%}}.title[data-v-d0597744]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-d0597744]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-d0597744]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-d0597744]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-d0597744]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-d0597744]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-d0597744]{display:flex;justify-content:flex-end;align-items:center;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar:not(.top) .content-body[data-v-d0597744]{position:relative;background-color:var(--vp-nav-bg-color)}}@media (max-width: 767px){.content-body[data-v-d0597744]{column-gap:.5rem}}.menu+.translations[data-v-d0597744]:before,.menu+.appearance[data-v-d0597744]:before,.menu+.social-links[data-v-d0597744]:before,.translations+.appearance[data-v-d0597744]:before,.appearance+.social-links[data-v-d0597744]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-d0597744]:before,.translations+.appearance[data-v-d0597744]:before{margin-right:16px}.appearance+.social-links[data-v-d0597744]:before{margin-left:16px}.social-links[data-v-d0597744]{margin-right:-8px}@media (min-width: 960px){.VPNavBar.has-sidebar .curtain[data-v-d0597744]{position:absolute;right:0;bottom:-31px;width:calc(100% - var(--vp-sidebar-width));height:32px}.VPNavBar.has-sidebar .curtain[data-v-d0597744]:before{display:block;width:100%;height:32px;background:linear-gradient(var(--vp-c-bg),transparent 70%);content:""}}@media (min-width: 1440px){.VPNavBar.has-sidebar .curtain[data-v-d0597744]{width:calc(100% - ((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width)))}}.VPNavScreenMenuLink[data-v-954110af]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-954110af]:hover{color:var(--vp-c-brand)}.VPNavScreenMenuGroupLink[data-v-60f0e235]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-60f0e235]:hover{color:var(--vp-c-brand)}.VPNavScreenMenuGroupSection[data-v-28b3f790]{display:block}.title[data-v-28b3f790]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-0c1d8305]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-0c1d8305]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-0c1d8305]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-0c1d8305]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-0c1d8305]{padding-bottom:6px;color:var(--vp-c-brand)}.VPNavScreenMenuGroup.open .button-icon[data-v-0c1d8305]{transform:rotate(45deg)}.button[data-v-0c1d8305]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-0c1d8305]:hover{color:var(--vp-c-brand)}.button-icon[data-v-0c1d8305]{width:14px;height:14px;fill:var(--vp-c-text-2);transition:fill .5s,transform .25s}.group[data-v-0c1d8305]:first-child{padding-top:0}.group+.group[data-v-0c1d8305],.group+.item[data-v-0c1d8305]{padding-top:4px}.VPNavScreenAppearance[data-v-8d4c055c]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-8d4c055c]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenTranslations[data-v-71109aa6]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-71109aa6]{height:auto}.title[data-v-71109aa6]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-71109aa6]{width:16px;height:16px;fill:currentColor}.icon.lang[data-v-71109aa6]{margin-right:8px}.icon.chevron[data-v-71109aa6]{margin-left:4px}.list[data-v-71109aa6]{padding:4px 0 0 24px}.link[data-v-71109aa6]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-fdbfc5bd]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1px);right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-fdbfc5bd],.VPNavScreen.fade-leave-active[data-v-fdbfc5bd]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-fdbfc5bd],.VPNavScreen.fade-leave-active .container[data-v-fdbfc5bd]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-fdbfc5bd],.VPNavScreen.fade-leave-to[data-v-fdbfc5bd]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-fdbfc5bd],.VPNavScreen.fade-leave-to .container[data-v-fdbfc5bd]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-fdbfc5bd]{display:none}}.container[data-v-fdbfc5bd]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-fdbfc5bd],.menu+.appearance[data-v-fdbfc5bd],.translations+.appearance[data-v-fdbfc5bd]{margin-top:24px}.menu+.social-links[data-v-fdbfc5bd]{margin-top:16px}.appearance+.social-links[data-v-fdbfc5bd]{margin-top:16px}.VPNav[data-v-56cf789b]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-56cf789b]{position:fixed}}.VPSidebarItem.level-0[data-v-0dd898d8]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-0dd898d8]{padding-bottom:10px}.item[data-v-0dd898d8]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-0dd898d8]{cursor:pointer}.indicator[data-v-0dd898d8]{position:absolute;top:6px;bottom:6px;left:-17px;width:1px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-0dd898d8],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-0dd898d8],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-0dd898d8],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-0dd898d8]{background-color:var(--vp-c-brand)}.link[data-v-0dd898d8]{display:flex;align-items:center;flex-grow:1}.text[data-v-0dd898d8]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-0dd898d8]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-0dd898d8],.VPSidebarItem.level-2 .text[data-v-0dd898d8],.VPSidebarItem.level-3 .text[data-v-0dd898d8],.VPSidebarItem.level-4 .text[data-v-0dd898d8],.VPSidebarItem.level-5 .text[data-v-0dd898d8]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-0dd898d8],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-0dd898d8],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-0dd898d8],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-0dd898d8],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-0dd898d8],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-0dd898d8]{color:var(--vp-c-brand)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-0dd898d8],.VPSidebarItem.level-1.has-active>.item>.text[data-v-0dd898d8],.VPSidebarItem.level-2.has-active>.item>.text[data-v-0dd898d8],.VPSidebarItem.level-3.has-active>.item>.text[data-v-0dd898d8],.VPSidebarItem.level-4.has-active>.item>.text[data-v-0dd898d8],.VPSidebarItem.level-5.has-active>.item>.text[data-v-0dd898d8],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-0dd898d8],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-0dd898d8],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-0dd898d8],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-0dd898d8],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-0dd898d8],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-0dd898d8]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-0dd898d8],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-0dd898d8],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-0dd898d8],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-0dd898d8],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-0dd898d8],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-0dd898d8]{color:var(--vp-c-brand)}.caret[data-v-0dd898d8]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-0dd898d8]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-0dd898d8]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-0dd898d8]{width:18px;height:18px;fill:currentColor;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-0dd898d8]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-0dd898d8],.VPSidebarItem.level-2 .items[data-v-0dd898d8],.VPSidebarItem.level-3 .items[data-v-0dd898d8],.VPSidebarItem.level-4 .items[data-v-0dd898d8],.VPSidebarItem.level-5 .items[data-v-0dd898d8]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-0dd898d8]{display:none}.VPSidebar[data-v-a6fc4e17]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-a6fc4e17]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-a6fc4e17]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-a6fc4e17]{z-index:1;padding-top:var(--vp-nav-height);padding-bottom:128px;width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-a6fc4e17]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-a6fc4e17]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-a6fc4e17]{outline:0}.group+.group[data-v-a6fc4e17]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-a6fc4e17]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSkipLink[data-v-3cf24336]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-3cf24336]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-3cf24336]{top:14px;left:16px}}.Layout[data-v-2502d24c]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-d567903b]{border-top:1px solid var(--vp-c-gutter);padding:88px 24px 96px;background-color:var(--vp-c-bg)}.container[data-v-d567903b]{margin:0 auto;max-width:1152px}.love[data-v-d567903b]{margin:0 auto;width:28px;height:28px;color:var(--vp-c-text-3)}.icon[data-v-d567903b]{width:28px;height:28px;fill:currentColor}.message[data-v-d567903b]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-d567903b]{padding-top:32px}.action[data-v-d567903b]{padding-top:40px;text-align:center}.VPTeamPage[data-v-f1407d0d]{padding-bottom:96px}@media (min-width: 768px){.VPTeamPage[data-v-f1407d0d]{padding-bottom:128px}}.VPTeamPageSection+.VPTeamPageSection[data-v-f1407d0d-s],.VPTeamMembers+.VPTeamPageSection[data-v-f1407d0d-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-f1407d0d-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-f1407d0d-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-f1407d0d-s],.VPTeamMembers+.VPTeamPageSection[data-v-f1407d0d-s]{margin-top:96px}}.VPTeamMembers[data-v-f1407d0d-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-f1407d0d-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-f1407d0d-s]{padding:0 64px}}.VPTeamPageTitle[data-v-951d113d]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-951d113d]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-951d113d]{padding:80px 64px 48px}}.title[data-v-951d113d]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-951d113d]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-951d113d]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-951d113d]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-39db2155]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-39db2155]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-39db2155]{padding:0 64px}}.title[data-v-39db2155]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-39db2155]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-39db2155]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-39db2155]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-39db2155]{padding-top:40px}.VPTeamMembersItem[data-v-5e15e40a]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-5e15e40a]{padding:32px}.VPTeamMembersItem.small .data[data-v-5e15e40a]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-5e15e40a]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-5e15e40a]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-5e15e40a]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-5e15e40a]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-5e15e40a]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-5e15e40a]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-5e15e40a]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-5e15e40a]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-5e15e40a]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-5e15e40a]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-5e15e40a]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-5e15e40a]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-5e15e40a]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-5e15e40a]{text-align:center}.avatar[data-v-5e15e40a]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-5e15e40a]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-5e15e40a]{margin:0;font-weight:600}.affiliation[data-v-5e15e40a]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-5e15e40a]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-5e15e40a]:hover{color:var(--vp-c-brand)}.desc[data-v-5e15e40a]{margin:0 auto}.desc[data-v-5e15e40a] a{font-weight:500;color:var(--vp-c-brand);text-decoration-style:dotted;transition:color .25s}.links[data-v-5e15e40a]{display:flex;justify-content:center;height:56px}.sp-link[data-v-5e15e40a]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-5e15e40a]:hover,.sp .sp-link.link[data-v-5e15e40a]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-5e15e40a]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPTeamMembers.small .container[data-v-dd9df8f7]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-dd9df8f7]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-dd9df8f7]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-dd9df8f7]{max-width:876px}.VPTeamMembers.medium .container[data-v-dd9df8f7]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-dd9df8f7]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-dd9df8f7]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-dd9df8f7]{max-width:760px}.container[data-v-dd9df8f7]{display:grid;gap:24px;margin:0 auto;max-width:1152px}.join-group[data-v-6b018dd5]{display:flex;flex-direction:column;align-items:center;margin-top:100px}.join-group__img[data-v-6b018dd5]{width:200px;border-radius:10px}.join-group__text[data-v-6b018dd5]{margin-top:10px}:root{--vp-home-hero-name-color: transparent;--vp-home-hero-name-background: linear-gradient(120deg, #bd34fe, #ff6c0e);--vp-home-hero-image-background-image: linear-gradient( -45deg, #bd34fe60 30%, #ff6c0e60 );--vp-home-hero-image-filter: blur(72px)}:root{--el-color-white:#ffffff;--el-color-black:#000000;--el-color-primary-rgb:64,158,255;--el-color-success-rgb:103,194,58;--el-color-warning-rgb:230,162,60;--el-color-danger-rgb:245,108,108;--el-color-error-rgb:245,108,108;--el-color-info-rgb:144,147,153;--el-font-size-extra-large:20px;--el-font-size-large:18px;--el-font-size-medium:16px;--el-font-size-base:14px;--el-font-size-small:13px;--el-font-size-extra-small:12px;--el-font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;--el-font-weight-primary:500;--el-font-line-height-primary:24px;--el-index-normal:1;--el-index-top:1000;--el-index-popper:2000;--el-border-radius-base:4px;--el-border-radius-small:2px;--el-border-radius-round:20px;--el-border-radius-circle:100%;--el-transition-duration:.3s;--el-transition-duration-fast:.2s;--el-transition-function-ease-in-out-bezier:cubic-bezier(.645, .045, .355, 1);--el-transition-function-fast-bezier:cubic-bezier(.23, 1, .32, 1);--el-transition-all:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);--el-transition-fade:opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-md-fade:transform var(--el-transition-duration) var(--el-transition-function-fast-bezier),opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-fade-linear:opacity var(--el-transition-duration-fast) linear;--el-transition-border:border-color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-box-shadow:box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-color:color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-component-size-large:40px;--el-component-size:32px;--el-component-size-small:24px}:root{color-scheme:light;--el-color-white:#ffffff;--el-color-black:#000000;--el-color-primary:#409eff;--el-color-primary-light-3:#79bbff;--el-color-primary-light-5:#a0cfff;--el-color-primary-light-7:#c6e2ff;--el-color-primary-light-8:#d9ecff;--el-color-primary-light-9:#ecf5ff;--el-color-primary-dark-2:#337ecc;--el-color-success:#67c23a;--el-color-success-light-3:#95d475;--el-color-success-light-5:#b3e19d;--el-color-success-light-7:#d1edc4;--el-color-success-light-8:#e1f3d8;--el-color-success-light-9:#f0f9eb;--el-color-success-dark-2:#529b2e;--el-color-warning:#e6a23c;--el-color-warning-light-3:#eebe77;--el-color-warning-light-5:#f3d19e;--el-color-warning-light-7:#f8e3c5;--el-color-warning-light-8:#faecd8;--el-color-warning-light-9:#fdf6ec;--el-color-warning-dark-2:#b88230;--el-color-danger:#f56c6c;--el-color-danger-light-3:#f89898;--el-color-danger-light-5:#fab6b6;--el-color-danger-light-7:#fcd3d3;--el-color-danger-light-8:#fde2e2;--el-color-danger-light-9:#fef0f0;--el-color-danger-dark-2:#c45656;--el-color-error:#f56c6c;--el-color-error-light-3:#f89898;--el-color-error-light-5:#fab6b6;--el-color-error-light-7:#fcd3d3;--el-color-error-light-8:#fde2e2;--el-color-error-light-9:#fef0f0;--el-color-error-dark-2:#c45656;--el-color-info:#909399;--el-color-info-light-3:#b1b3b8;--el-color-info-light-5:#c8c9cc;--el-color-info-light-7:#dedfe0;--el-color-info-light-8:#e9e9eb;--el-color-info-light-9:#f4f4f5;--el-color-info-dark-2:#73767a;--el-bg-color:#ffffff;--el-bg-color-page:#f2f3f5;--el-bg-color-overlay:#ffffff;--el-text-color-primary:#303133;--el-text-color-regular:#606266;--el-text-color-secondary:#909399;--el-text-color-placeholder:#a8abb2;--el-text-color-disabled:#c0c4cc;--el-border-color:#dcdfe6;--el-border-color-light:#e4e7ed;--el-border-color-lighter:#ebeef5;--el-border-color-extra-light:#f2f6fc;--el-border-color-dark:#d4d7de;--el-border-color-darker:#cdd0d6;--el-fill-color:#f0f2f5;--el-fill-color-light:#f5f7fa;--el-fill-color-lighter:#fafafa;--el-fill-color-extra-light:#fafcff;--el-fill-color-dark:#ebedf0;--el-fill-color-darker:#e6e8eb;--el-fill-color-blank:#ffffff;--el-box-shadow:0px 12px 32px 4px rgba(0, 0, 0, .04),0px 8px 20px rgba(0, 0, 0, .08);--el-box-shadow-light:0px 0px 12px rgba(0, 0, 0, .12);--el-box-shadow-lighter:0px 0px 6px rgba(0, 0, 0, .12);--el-box-shadow-dark:0px 16px 48px 16px rgba(0, 0, 0, .08),0px 12px 32px rgba(0, 0, 0, .12),0px 8px 16px -8px rgba(0, 0, 0, .16);--el-disabled-bg-color:var(--el-fill-color-light);--el-disabled-text-color:var(--el-text-color-placeholder);--el-disabled-border-color:var(--el-border-color-light);--el-overlay-color:rgba(0, 0, 0, .8);--el-overlay-color-light:rgba(0, 0, 0, .7);--el-overlay-color-lighter:rgba(0, 0, 0, .5);--el-mask-color:rgba(255, 255, 255, .9);--el-mask-color-extra-light:rgba(255, 255, 255, .3);--el-border-width:1px;--el-border-style:solid;--el-border-color-hover:var(--el-text-color-disabled);--el-border:var(--el-border-width) var(--el-border-style) var(--el-border-color);--el-svg-monochrome-grey:var(--el-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center top}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center bottom}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transition:var(--el-transition-md-fade);transform-origin:top left}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-enter-active,.el-collapse-transition-leave-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-icon-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@-webkit-keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.el-icon{--color:inherit;height:1em;width:1em;line-height:1em;display:inline-flex;justify-content:center;align-items:center;position:relative;fill:currentColor;color:var(--color);font-size:inherit}.el-icon.is-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon svg{height:1em;width:1em}.el-affix--fixed{position:fixed}.el-alert{--el-alert-padding:8px 16px;--el-alert-border-radius-base:var(--el-border-radius-base);--el-alert-title-font-size:13px;--el-alert-description-font-size:12px;--el-alert-close-font-size:12px;--el-alert-close-customed-font-size:13px;--el-alert-icon-size:16px;--el-alert-icon-large-size:28px;width:100%;padding:var(--el-alert-padding);margin:0;box-sizing:border-box;border-radius:var(--el-alert-border-radius-base);position:relative;background-color:var(--el-color-white);overflow:hidden;opacity:1;display:flex;align-items:center;transition:opacity var(--el-transition-duration-fast)}.el-alert.is-light .el-alert__close-btn{color:var(--el-text-color-placeholder)}.el-alert.is-dark .el-alert__close-btn,.el-alert.is-dark .el-alert__description{color:var(--el-color-white)}.el-alert.is-center{justify-content:center}.el-alert--success{--el-alert-bg-color:var(--el-color-success-light-9)}.el-alert--success.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-success)}.el-alert--success.is-light .el-alert__description{color:var(--el-color-success)}.el-alert--success.is-dark{background-color:var(--el-color-success);color:var(--el-color-white)}.el-alert--info{--el-alert-bg-color:var(--el-color-info-light-9)}.el-alert--info.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-info)}.el-alert--info.is-light .el-alert__description{color:var(--el-color-info)}.el-alert--info.is-dark{background-color:var(--el-color-info);color:var(--el-color-white)}.el-alert--warning{--el-alert-bg-color:var(--el-color-warning-light-9)}.el-alert--warning.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-warning)}.el-alert--warning.is-light .el-alert__description{color:var(--el-color-warning)}.el-alert--warning.is-dark{background-color:var(--el-color-warning);color:var(--el-color-white)}.el-alert--error{--el-alert-bg-color:var(--el-color-error-light-9)}.el-alert--error.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-error)}.el-alert--error.is-light .el-alert__description{color:var(--el-color-error)}.el-alert--error.is-dark{background-color:var(--el-color-error);color:var(--el-color-white)}.el-alert__content{display:table-cell;padding:0 8px}.el-alert .el-alert__icon{font-size:var(--el-alert-icon-size);width:var(--el-alert-icon-size)}.el-alert .el-alert__icon.is-big{font-size:var(--el-alert-icon-large-size);width:var(--el-alert-icon-large-size)}.el-alert__title{font-size:var(--el-alert-title-font-size);line-height:18px;vertical-align:text-top}.el-alert__title.is-bold{font-weight:700}.el-alert .el-alert__description{font-size:var(--el-alert-description-font-size);margin:5px 0 0}.el-alert .el-alert__close-btn{font-size:var(--el-alert-close-font-size);opacity:1;position:absolute;top:12px;right:15px;cursor:pointer}.el-alert .el-alert__close-btn.is-customed{font-style:normal;font-size:var(--el-alert-close-customed-font-size);top:9px}.el-alert-fade-enter-from,.el-alert-fade-leave-active{opacity:0}.el-aside{overflow:auto;box-sizing:border-box;flex-shrink:0;width:var(--el-aside-width,300px)}.el-autocomplete{position:relative;display:inline-block}.el-autocomplete__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-box-shadow-light)}.el-autocomplete__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-autocomplete__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:transparent;border-left-color:transparent}.el-autocomplete__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-autocomplete__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-left-color:transparent;border-bottom-color:transparent}.el-autocomplete__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-autocomplete-suggestion{border-radius:var(--el-border-radius-base);box-sizing:border-box}.el-autocomplete-suggestion__wrap{max-height:280px;padding:10px 0;box-sizing:border-box}.el-autocomplete-suggestion__list{margin:0;padding:0}.el-autocomplete-suggestion li{padding:0 20px;margin:0;line-height:34px;cursor:pointer;color:var(--el-text-color-regular);font-size:var(--el-font-size-base);list-style:none;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-autocomplete-suggestion li:hover,.el-autocomplete-suggestion li.highlighted{background-color:var(--el-fill-color-light)}.el-autocomplete-suggestion li.divider{margin-top:6px;border-top:1px solid var(--el-color-black)}.el-autocomplete-suggestion li.divider:last-child{margin-bottom:-6px}.el-autocomplete-suggestion.is-loading li{text-align:center;height:100px;line-height:100px;font-size:20px;color:var(--el-text-color-secondary)}.el-autocomplete-suggestion.is-loading li:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-autocomplete-suggestion.is-loading li:hover{background-color:var(--el-bg-color-overlay)}.el-autocomplete-suggestion.is-loading .el-icon-loading{vertical-align:middle}.el-avatar{--el-avatar-text-color:var(--el-color-white);--el-avatar-bg-color:var(--el-text-color-disabled);--el-avatar-text-size:14px;--el-avatar-icon-size:18px;--el-avatar-border-radius:var(--el-border-radius-base);--el-avatar-size-large:56px;--el-avatar-size-small:24px;--el-avatar-size:40px;display:inline-flex;justify-content:center;align-items:center;box-sizing:border-box;text-align:center;overflow:hidden;color:var(--el-avatar-text-color);background:var(--el-avatar-bg-color);width:var(--el-avatar-size);height:var(--el-avatar-size);font-size:var(--el-avatar-text-size)}.el-avatar>img{display:block;width:100%;height:100%}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:var(--el-avatar-border-radius)}.el-avatar--icon{font-size:var(--el-avatar-icon-size)}.el-avatar--small{--el-avatar-size:24px}.el-avatar--large{--el-avatar-size:56px}.el-backtop{--el-backtop-bg-color:var(--el-bg-color-overlay);--el-backtop-text-color:var(--el-color-primary);--el-backtop-hover-bg-color:var(--el-border-color-extra-light);position:fixed;background-color:var(--el-backtop-bg-color);width:40px;height:40px;border-radius:50%;color:var(--el-backtop-text-color);display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:var(--el-box-shadow-lighter);cursor:pointer;z-index:5}.el-backtop:hover{background-color:var(--el-backtop-hover-bg-color)}.el-backtop__icon{font-size:20px}.el-badge{--el-badge-bg-color:var(--el-color-danger);--el-badge-radius:10px;--el-badge-font-size:12px;--el-badge-padding:6px;--el-badge-size:18px;position:relative;vertical-align:middle;display:inline-block;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.el-badge__content{background-color:var(--el-badge-bg-color);border-radius:var(--el-badge-radius);color:var(--el-color-white);display:inline-flex;justify-content:center;align-items:center;font-size:var(--el-badge-font-size);height:var(--el-badge-size);padding:0 var(--el-badge-padding);white-space:nowrap;border:1px solid var(--el-bg-color)}.el-badge__content.is-fixed{position:absolute;top:0;right:calc(1px + var(--el-badge-size)/ 2);transform:translateY(-50%) translate(100%);z-index:var(--el-index-normal)}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{height:8px;width:8px;padding:0;right:0;border-radius:50%}.el-badge__content--primary{background-color:var(--el-color-primary)}.el-badge__content--success{background-color:var(--el-color-success)}.el-badge__content--warning{background-color:var(--el-color-warning)}.el-badge__content--info{background-color:var(--el-color-info)}.el-badge__content--danger{background-color:var(--el-color-danger)}.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb:after,.el-breadcrumb:before{display:table;content:""}.el-breadcrumb:after{clear:both}.el-breadcrumb__separator{margin:0 9px;font-weight:700;color:var(--el-text-color-placeholder)}.el-breadcrumb__separator.el-icon{margin:0 6px;font-weight:400}.el-breadcrumb__separator.el-icon svg{vertical-align:middle}.el-breadcrumb__item{float:left;display:inline-flex;align-items:center}.el-breadcrumb__inner{color:var(--el-text-color-regular)}.el-breadcrumb__inner a,.el-breadcrumb__inner.is-link{font-weight:700;text-decoration:none;transition:var(--el-transition-color);color:var(--el-text-color-primary)}.el-breadcrumb__inner a:hover,.el-breadcrumb__inner.is-link:hover{color:var(--el-color-primary);cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover{font-weight:400;color:var(--el-text-color-regular);cursor:text}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group:after,.el-button-group:before{display:table;content:""}.el-button-group:after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-top-right-radius:var(--el-border-radius-base);border-bottom-right-radius:var(--el-border-radius-base);border-top-left-radius:var(--el-border-radius-base);border-bottom-left-radius:var(--el-border-radius-base)}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:var(--el-border-radius-round)}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:not(:last-child){margin-right:-1px}.el-button-group>.el-button:active,.el-button-group>.el-button:focus,.el-button-group>.el-button:hover{z-index:1}.el-button-group>.el-button.is-active{z-index:1}.el-button-group>.el-dropdown>.el-button{border-top-left-radius:0;border-bottom-left-radius:0;border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--primary:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--primary:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--primary:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--success:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--success:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--success:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--warning:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--warning:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--danger:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--danger:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--danger:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--info:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--info:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--info:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button{--el-button-font-weight:var(--el-font-weight-primary);--el-button-border-color:var(--el-border-color);--el-button-bg-color:var(--el-fill-color-blank);--el-button-text-color:var(--el-text-color-regular);--el-button-disabled-text-color:var(--el-disabled-text-color);--el-button-disabled-bg-color:var(--el-fill-color-blank);--el-button-disabled-border-color:var(--el-border-color-light);--el-button-divide-border-color:rgba(255, 255, 255, .5);--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-color-primary-light-9);--el-button-hover-border-color:var(--el-color-primary-light-7);--el-button-active-text-color:var(--el-button-hover-text-color);--el-button-active-border-color:var(--el-color-primary);--el-button-active-bg-color:var(--el-button-hover-bg-color);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-hover-link-text-color:var(--el-color-info);--el-button-active-color:var(--el-text-color-primary)}.el-button{display:inline-flex;justify-content:center;align-items:center;line-height:1;height:32px;white-space:nowrap;cursor:pointer;color:var(--el-button-text-color);text-align:center;box-sizing:border-box;outline:0;transition:.1s;font-weight:var(--el-button-font-weight);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;-webkit-appearance:none;background-color:var(--el-button-bg-color);border:var(--el-border);border-color:var(--el-button-border-color);padding:8px 15px;font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base)}.el-button:focus,.el-button:hover{color:var(--el-button-hover-text-color);border-color:var(--el-button-hover-border-color);background-color:var(--el-button-hover-bg-color);outline:0}.el-button:active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:0}.el-button:focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px}.el-button>span{display:inline-flex;align-items:center}.el-button+.el-button{margin-left:12px}.el-button.is-round{padding:8px 15px}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon]+span{margin-left:6px}.el-button [class*=el-icon] svg{vertical-align:bottom}.el-button.is-plain{--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-fill-color-blank);--el-button-hover-border-color:var(--el-color-primary)}.el-button.is-active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:0}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{color:var(--el-button-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--el-button-disabled-bg-color);border-color:var(--el-button-disabled-border-color)}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{z-index:1;pointer-events:none;content:"";position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:var(--el-mask-color-extra-light)}.el-button.is-round{border-radius:var(--el-border-radius-round)}.el-button.is-circle{border-radius:50%;padding:8px}.el-button.is-text{color:var(--el-button-text-color);border:0 solid transparent;background-color:transparent}.el-button.is-text.is-disabled{color:var(--el-button-disabled-text-color);background-color:transparent!important}.el-button.is-text:not(.is-disabled):focus,.el-button.is-text:not(.is-disabled):hover{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled):focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px}.el-button.is-text:not(.is-disabled):active{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled).is-has-bg:focus,.el-button.is-text:not(.is-disabled).is-has-bg:hover{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg:active{background-color:var(--el-fill-color-dark)}.el-button__text--expand{letter-spacing:.3em;margin-right:-.3em}.el-button.is-link{border-color:transparent;color:var(--el-button-text-color);background:0 0;padding:2px;height:auto}.el-button.is-link:focus,.el-button.is-link:hover{color:var(--el-button-hover-link-text-color)}.el-button.is-link.is-disabled{color:var(--el-button-disabled-text-color);background-color:transparent!important;border-color:transparent!important}.el-button.is-link:not(.is-disabled):focus,.el-button.is-link:not(.is-disabled):hover{border-color:transparent;background-color:transparent}.el-button.is-link:not(.is-disabled):active{color:var(--el-button-active-color);border-color:transparent;background-color:transparent}.el-button--text{border-color:transparent;background:0 0;color:var(--el-color-primary);padding-left:0;padding-right:0}.el-button--text.is-disabled{color:var(--el-button-disabled-text-color);background-color:transparent!important;border-color:transparent!important}.el-button--text:not(.is-disabled):focus,.el-button--text:not(.is-disabled):hover{color:var(--el-color-primary-light-3);border-color:transparent;background-color:transparent}.el-button--text:not(.is-disabled):active{color:var(--el-color-primary-dark-2);border-color:transparent;background-color:transparent}.el-button__link--expand{letter-spacing:.3em;margin-right:-.3em}.el-button--primary{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-primary);--el-button-border-color:var(--el-color-primary);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-active-color:var(--el-color-primary-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-primary-light-5);--el-button-hover-bg-color:var(--el-color-primary-light-3);--el-button-hover-border-color:var(--el-color-primary-light-3);--el-button-active-bg-color:var(--el-color-primary-dark-2);--el-button-active-border-color:var(--el-color-primary-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-primary-light-5);--el-button-disabled-border-color:var(--el-color-primary-light-5)}.el-button--primary.is-link,.el-button--primary.is-plain,.el-button--primary.is-text{--el-button-text-color:var(--el-color-primary);--el-button-bg-color:var(--el-color-primary-light-9);--el-button-border-color:var(--el-color-primary-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-primary);--el-button-hover-border-color:var(--el-color-primary);--el-button-active-text-color:var(--el-color-white)}.el-button--primary.is-link.is-disabled,.el-button--primary.is-link.is-disabled:active,.el-button--primary.is-link.is-disabled:focus,.el-button--primary.is-link.is-disabled:hover,.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover,.el-button--primary.is-text.is-disabled,.el-button--primary.is-text.is-disabled:active,.el-button--primary.is-text.is-disabled:focus,.el-button--primary.is-text.is-disabled:hover{color:var(--el-color-primary-light-5);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8)}.el-button--success{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-success);--el-button-border-color:var(--el-color-success);--el-button-outline-color:var(--el-color-success-light-5);--el-button-active-color:var(--el-color-success-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-success-light-5);--el-button-hover-bg-color:var(--el-color-success-light-3);--el-button-hover-border-color:var(--el-color-success-light-3);--el-button-active-bg-color:var(--el-color-success-dark-2);--el-button-active-border-color:var(--el-color-success-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-success-light-5);--el-button-disabled-border-color:var(--el-color-success-light-5)}.el-button--success.is-link,.el-button--success.is-plain,.el-button--success.is-text{--el-button-text-color:var(--el-color-success);--el-button-bg-color:var(--el-color-success-light-9);--el-button-border-color:var(--el-color-success-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-success);--el-button-hover-border-color:var(--el-color-success);--el-button-active-text-color:var(--el-color-white)}.el-button--success.is-link.is-disabled,.el-button--success.is-link.is-disabled:active,.el-button--success.is-link.is-disabled:focus,.el-button--success.is-link.is-disabled:hover,.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover,.el-button--success.is-text.is-disabled,.el-button--success.is-text.is-disabled:active,.el-button--success.is-text.is-disabled:focus,.el-button--success.is-text.is-disabled:hover{color:var(--el-color-success-light-5);background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8)}.el-button--warning{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-warning);--el-button-border-color:var(--el-color-warning);--el-button-outline-color:var(--el-color-warning-light-5);--el-button-active-color:var(--el-color-warning-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-warning-light-5);--el-button-hover-bg-color:var(--el-color-warning-light-3);--el-button-hover-border-color:var(--el-color-warning-light-3);--el-button-active-bg-color:var(--el-color-warning-dark-2);--el-button-active-border-color:var(--el-color-warning-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-warning-light-5);--el-button-disabled-border-color:var(--el-color-warning-light-5)}.el-button--warning.is-link,.el-button--warning.is-plain,.el-button--warning.is-text{--el-button-text-color:var(--el-color-warning);--el-button-bg-color:var(--el-color-warning-light-9);--el-button-border-color:var(--el-color-warning-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-warning);--el-button-hover-border-color:var(--el-color-warning);--el-button-active-text-color:var(--el-color-white)}.el-button--warning.is-link.is-disabled,.el-button--warning.is-link.is-disabled:active,.el-button--warning.is-link.is-disabled:focus,.el-button--warning.is-link.is-disabled:hover,.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover,.el-button--warning.is-text.is-disabled,.el-button--warning.is-text.is-disabled:active,.el-button--warning.is-text.is-disabled:focus,.el-button--warning.is-text.is-disabled:hover{color:var(--el-color-warning-light-5);background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8)}.el-button--danger{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-danger);--el-button-border-color:var(--el-color-danger);--el-button-outline-color:var(--el-color-danger-light-5);--el-button-active-color:var(--el-color-danger-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-danger-light-5);--el-button-hover-bg-color:var(--el-color-danger-light-3);--el-button-hover-border-color:var(--el-color-danger-light-3);--el-button-active-bg-color:var(--el-color-danger-dark-2);--el-button-active-border-color:var(--el-color-danger-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-danger-light-5);--el-button-disabled-border-color:var(--el-color-danger-light-5)}.el-button--danger.is-link,.el-button--danger.is-plain,.el-button--danger.is-text{--el-button-text-color:var(--el-color-danger);--el-button-bg-color:var(--el-color-danger-light-9);--el-button-border-color:var(--el-color-danger-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-danger);--el-button-hover-border-color:var(--el-color-danger);--el-button-active-text-color:var(--el-color-white)}.el-button--danger.is-link.is-disabled,.el-button--danger.is-link.is-disabled:active,.el-button--danger.is-link.is-disabled:focus,.el-button--danger.is-link.is-disabled:hover,.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover,.el-button--danger.is-text.is-disabled,.el-button--danger.is-text.is-disabled:active,.el-button--danger.is-text.is-disabled:focus,.el-button--danger.is-text.is-disabled:hover{color:var(--el-color-danger-light-5);background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8)}.el-button--info{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-info);--el-button-border-color:var(--el-color-info);--el-button-outline-color:var(--el-color-info-light-5);--el-button-active-color:var(--el-color-info-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-info-light-5);--el-button-hover-bg-color:var(--el-color-info-light-3);--el-button-hover-border-color:var(--el-color-info-light-3);--el-button-active-bg-color:var(--el-color-info-dark-2);--el-button-active-border-color:var(--el-color-info-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-info-light-5);--el-button-disabled-border-color:var(--el-color-info-light-5)}.el-button--info.is-link,.el-button--info.is-plain,.el-button--info.is-text{--el-button-text-color:var(--el-color-info);--el-button-bg-color:var(--el-color-info-light-9);--el-button-border-color:var(--el-color-info-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-info);--el-button-hover-border-color:var(--el-color-info);--el-button-active-text-color:var(--el-color-white)}.el-button--info.is-link.is-disabled,.el-button--info.is-link.is-disabled:active,.el-button--info.is-link.is-disabled:focus,.el-button--info.is-link.is-disabled:hover,.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover,.el-button--info.is-text.is-disabled,.el-button--info.is-text.is-disabled:active,.el-button--info.is-text.is-disabled:focus,.el-button--info.is-text.is-disabled:hover{color:var(--el-color-info-light-5);background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8)}.el-button--large{--el-button-size:40px;height:var(--el-button-size);padding:12px 19px;font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base)}.el-button--large [class*=el-icon]+span{margin-left:8px}.el-button--large.is-round{padding:12px 19px}.el-button--large.is-circle{width:var(--el-button-size);padding:12px}.el-button--small{--el-button-size:24px;height:var(--el-button-size);padding:5px 11px;font-size:12px;border-radius:calc(var(--el-border-radius-base) - 1px)}.el-button--small [class*=el-icon]+span{margin-left:4px}.el-button--small.is-round{padding:5px 11px}.el-button--small.is-circle{width:var(--el-button-size);padding:5px}.el-calendar{--el-calendar-border:var(--el-table-border, 1px solid var(--el-border-color-lighter));--el-calendar-header-border-bottom:var(--el-calendar-border);--el-calendar-selected-bg-color:var(--el-color-primary-light-9);--el-calendar-cell-width:85px;background-color:var(--el-fill-color-blank)}.el-calendar__header{display:flex;justify-content:space-between;padding:12px 20px;border-bottom:var(--el-calendar-header-border-bottom)}.el-calendar__title{color:var(--el-text-color);align-self:center}.el-calendar__body{padding:12px 20px 35px}.el-calendar-table{table-layout:fixed;width:100%}.el-calendar-table thead th{padding:12px 0;color:var(--el-text-color-regular);font-weight:400}.el-calendar-table:not(.is-range) td.next,.el-calendar-table:not(.is-range) td.prev{color:var(--el-text-color-placeholder)}.el-calendar-table td{border-bottom:var(--el-calendar-border);border-right:var(--el-calendar-border);vertical-align:top;transition:background-color var(--el-transition-duration-fast) ease}.el-calendar-table td.is-selected{background-color:var(--el-calendar-selected-bg-color)}.el-calendar-table td.is-today{color:var(--el-color-primary)}.el-calendar-table tr:first-child td{border-top:var(--el-calendar-border)}.el-calendar-table tr td:first-child{border-left:var(--el-calendar-border)}.el-calendar-table tr.el-calendar-table__row--hide-border td{border-top:none}.el-calendar-table .el-calendar-day{box-sizing:border-box;padding:8px;height:var(--el-calendar-cell-width)}.el-calendar-table .el-calendar-day:hover{cursor:pointer;background-color:var(--el-calendar-selected-bg-color)}.el-card{--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-padding:20px;--el-card-bg-color:var(--el-fill-color-blank)}.el-card{border-radius:var(--el-card-border-radius);border:1px solid var(--el-card-border-color);background-color:var(--el-card-bg-color);overflow:hidden;color:var(--el-text-color-primary);transition:var(--el-transition-duration)}.el-card.is-always-shadow{box-shadow:var(--el-box-shadow-light)}.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{box-shadow:var(--el-box-shadow-light)}.el-card__header{padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding);border-bottom:1px solid var(--el-card-border-color);box-sizing:border-box}.el-card__body{padding:var(--el-card-padding)}.el-carousel__item{position:absolute;top:0;left:0;width:100%;height:100%;display:inline-block;overflow:hidden;z-index:calc(var(--el-index-normal) - 1)}.el-carousel__item.is-active{z-index:calc(var(--el-index-normal) - 1)}.el-carousel__item.is-animating{transition:transform .4s ease-in-out}.el-carousel__item--card{width:50%;transition:transform .4s ease-in-out}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:var(--el-index-normal)}.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask,.el-carousel__item--card.is-in-stage:hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:calc(var(--el-index-normal) + 1)}.el-carousel__item--card-vertical{width:100%;height:50%}.el-carousel__mask{position:absolute;width:100%;height:100%;top:0;left:0;background-color:var(--el-color-white);opacity:.24;transition:var(--el-transition-duration-fast)}.el-carousel{--el-carousel-arrow-font-size:12px;--el-carousel-arrow-size:36px;--el-carousel-arrow-background:rgba(31, 45, 61, .11);--el-carousel-arrow-hover-background:rgba(31, 45, 61, .23);--el-carousel-indicator-width:30px;--el-carousel-indicator-height:2px;--el-carousel-indicator-padding-horizontal:4px;--el-carousel-indicator-padding-vertical:12px;--el-carousel-indicator-out-color:var(--el-border-color-hover);position:relative}.el-carousel--horizontal,.el-carousel--vertical{overflow:hidden}.el-carousel__container{position:relative;height:300px}.el-carousel__arrow{border:none;outline:0;padding:0;margin:0;height:var(--el-carousel-arrow-size);width:var(--el-carousel-arrow-size);cursor:pointer;transition:var(--el-transition-duration);border-radius:50%;background-color:var(--el-carousel-arrow-background);color:#fff;position:absolute;top:50%;z-index:10;transform:translateY(-50%);text-align:center;font-size:var(--el-carousel-arrow-font-size);display:inline-flex;justify-content:center;align-items:center}.el-carousel__arrow--left{left:16px}.el-carousel__arrow--right{right:16px}.el-carousel__arrow:hover{background-color:var(--el-carousel-arrow-hover-background)}.el-carousel__arrow i{cursor:pointer}.el-carousel__indicators{position:absolute;list-style:none;margin:0;padding:0;z-index:calc(var(--el-index-normal) + 1)}.el-carousel__indicators--horizontal{bottom:0;left:50%;transform:translate(-50%)}.el-carousel__indicators--vertical{right:0;top:50%;transform:translateY(-50%)}.el-carousel__indicators--outside{bottom:calc(var(--el-carousel-indicator-height) + var(--el-carousel-indicator-padding-vertical) * 2);text-align:center;position:static;transform:none}.el-carousel__indicators--outside .el-carousel__indicator:hover button{opacity:.64}.el-carousel__indicators--outside button{background-color:var(--el-carousel-indicator-out-color);opacity:.24}.el-carousel__indicators--right{right:0}.el-carousel__indicators--labels{left:0;right:0;transform:none;text-align:center}.el-carousel__indicators--labels .el-carousel__button{height:auto;width:auto;padding:2px 18px;font-size:12px;color:#000}.el-carousel__indicators--labels .el-carousel__indicator{padding:6px 4px}.el-carousel__indicator{background-color:transparent;cursor:pointer}.el-carousel__indicator:hover button{opacity:.72}.el-carousel__indicator--horizontal{display:inline-block;padding:var(--el-carousel-indicator-padding-vertical) var(--el-carousel-indicator-padding-horizontal)}.el-carousel__indicator--vertical{padding:var(--el-carousel-indicator-padding-horizontal) var(--el-carousel-indicator-padding-vertical)}.el-carousel__indicator--vertical .el-carousel__button{width:var(--el-carousel-indicator-height);height:calc(var(--el-carousel-indicator-width)/ 2)}.el-carousel__indicator.is-active button{opacity:1}.el-carousel__button{display:block;opacity:.48;width:var(--el-carousel-indicator-width);height:var(--el-carousel-indicator-height);background-color:#fff;border:none;outline:0;padding:0;margin:0;cursor:pointer;transition:var(--el-transition-duration)}.carousel-arrow-left-enter-from,.carousel-arrow-left-leave-active{transform:translateY(-50%) translate(-10px);opacity:0}.carousel-arrow-right-enter-from,.carousel-arrow-right-leave-active{transform:translateY(-50%) translate(10px);opacity:0}.el-cascader-panel{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color)}.el-cascader-panel{display:flex;border-radius:var(--el-cascader-menu-radius);font-size:var(--el-cascader-menu-font-size)}.el-cascader-panel.is-bordered{border:var(--el-cascader-menu-border);border-radius:var(--el-cascader-menu-radius)}.el-cascader-menu{min-width:180px;box-sizing:border-box;color:var(--el-cascader-menu-text-color);border-right:var(--el-cascader-menu-border)}.el-cascader-menu:last-child{border-right:none}.el-cascader-menu:last-child .el-cascader-node{padding-right:20px}.el-cascader-menu__wrap.el-scrollbar__wrap{height:204px}.el-cascader-menu__list{position:relative;min-height:100%;margin:0;padding:6px 0;list-style:none;box-sizing:border-box}.el-cascader-menu__hover-zone{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.el-cascader-menu__empty-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;color:var(--el-cascader-color-empty)}.el-cascader-menu__empty-text .is-loading{margin-right:2px}.el-cascader-node{position:relative;display:flex;align-items:center;padding:0 30px 0 20px;height:34px;line-height:34px;outline:0}.el-cascader-node.is-selectable.in-active-path{color:var(--el-cascader-menu-text-color)}.el-cascader-node.in-active-path,.el-cascader-node.is-active,.el-cascader-node.is-selectable.in-checked-path{color:var(--el-cascader-menu-selected-text-color);font-weight:700}.el-cascader-node:not(.is-disabled){cursor:pointer}.el-cascader-node:not(.is-disabled):focus,.el-cascader-node:not(.is-disabled):hover{background:var(--el-cascader-node-background-hover)}.el-cascader-node.is-disabled{color:var(--el-cascader-node-color-disabled);cursor:not-allowed}.el-cascader-node__prefix{position:absolute;left:10px}.el-cascader-node__postfix{position:absolute;right:10px}.el-cascader-node__label{flex:1;text-align:left;padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-cascader-node>.el-checkbox{margin-right:0}.el-cascader-node>.el-radio{margin-right:0}.el-cascader-node>.el-radio .el-radio__label{padding-left:0}.el-cascader{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);display:inline-block;vertical-align:middle;position:relative;font-size:var(--el-font-size-base);line-height:32px;outline:0}.el-cascader:not(.is-disabled):hover .el-input__wrapper{cursor:pointer;box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-cascader .el-input{display:flex;cursor:pointer}.el-cascader .el-input .el-input__inner{text-overflow:ellipsis;cursor:pointer}.el-cascader .el-input .el-input__suffix-inner .el-icon{height:calc(100% - 2px)}.el-cascader .el-input .el-input__suffix-inner .el-icon svg{vertical-align:middle}.el-cascader .el-input .icon-arrow-down{transition:transform var(--el-transition-duration);font-size:14px}.el-cascader .el-input .icon-arrow-down.is-reverse{transform:rotate(180deg)}.el-cascader .el-input .icon-circle-close:hover{color:var(--el-input-clear-hover-color,var(--el-text-color-secondary))}.el-cascader .el-input.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-cascader--large{font-size:14px;line-height:40px}.el-cascader--small{font-size:12px;line-height:24px}.el-cascader.is-disabled .el-cascader__label{z-index:calc(var(--el-index-normal) + 1);color:var(--el-disabled-text-color)}.el-cascader__dropdown{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color)}.el-cascader__dropdown{font-size:var(--el-cascader-menu-font-size);border-radius:var(--el-cascader-menu-radius)}.el-cascader__dropdown.el-popper{background:var(--el-cascader-menu-fill);border:var(--el-cascader-menu-border);box-shadow:var(--el-cascader-menu-shadow)}.el-cascader__dropdown.el-popper .el-popper__arrow:before{border:var(--el-cascader-menu-border)}.el-cascader__dropdown.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:transparent;border-left-color:transparent}.el-cascader__dropdown.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-cascader__dropdown.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-left-color:transparent;border-bottom-color:transparent}.el-cascader__dropdown.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-cascader__dropdown.el-popper{box-shadow:var(--el-cascader-menu-shadow)}.el-cascader__tags{position:absolute;left:0;right:30px;top:50%;transform:translateY(-50%);display:flex;flex-wrap:wrap;line-height:normal;text-align:left;box-sizing:border-box}.el-cascader__tags .el-tag{display:inline-flex;align-items:center;max-width:100%;margin:2px 0 2px 6px;text-overflow:ellipsis;background:var(--el-cascader-tag-background)}.el-cascader__tags .el-tag:not(.is-hit){border-color:transparent}.el-cascader__tags .el-tag>span{flex:1;overflow:hidden;text-overflow:ellipsis}.el-cascader__tags .el-tag .el-icon-close{flex:none;background-color:var(--el-text-color-placeholder);color:var(--el-color-white)}.el-cascader__tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-cascader__collapse-tags{white-space:normal;z-index:var(--el-index-normal)}.el-cascader__collapse-tags .el-tag{display:inline-flex;align-items:center;max-width:100%;margin:2px 0 2px 6px;text-overflow:ellipsis;background:var(--el-fill-color)}.el-cascader__collapse-tags .el-tag:not(.is-hit){border-color:transparent}.el-cascader__collapse-tags .el-tag>span{flex:1;overflow:hidden;text-overflow:ellipsis}.el-cascader__collapse-tags .el-tag .el-icon-close{flex:none;background-color:var(--el-text-color-placeholder);color:var(--el-color-white)}.el-cascader__collapse-tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-cascader__suggestion-panel{border-radius:var(--el-cascader-menu-radius)}.el-cascader__suggestion-list{max-height:204px;margin:0;padding:6px 0;font-size:var(--el-font-size-base);color:var(--el-cascader-menu-text-color);text-align:center}.el-cascader__suggestion-item{display:flex;justify-content:space-between;align-items:center;height:34px;padding:0 15px;text-align:left;outline:0;cursor:pointer}.el-cascader__suggestion-item:focus,.el-cascader__suggestion-item:hover{background:var(--el-cascader-node-background-hover)}.el-cascader__suggestion-item.is-checked{color:var(--el-cascader-menu-selected-text-color);font-weight:700}.el-cascader__suggestion-item>span{margin-right:10px}.el-cascader__empty-text{margin:10px 0;color:var(--el-cascader-color-empty)}.el-cascader__search-input{flex:1;height:24px;min-width:60px;margin:2px 0 2px 11px;padding:0;color:var(--el-cascader-menu-text-color);border:none;outline:0;box-sizing:border-box;background:0 0}.el-cascader__search-input::-moz-placeholder{color:transparent}.el-cascader__search-input:-ms-input-placeholder{color:transparent}.el-cascader__search-input::placeholder{color:transparent}.el-check-tag{background-color:var(--el-color-info-light-9);border-radius:var(--el-border-radius-base);color:var(--el-color-info);cursor:pointer;display:inline-block;font-size:var(--el-font-size-base);line-height:var(--el-font-size-base);padding:7px 15px;transition:var(--el-transition-all);font-weight:700}.el-check-tag:hover{background-color:var(--el-color-info-light-7)}.el-check-tag.is-checked{background-color:var(--el-color-primary-light-8);color:var(--el-color-primary)}.el-check-tag.is-checked:hover{background-color:var(--el-color-primary-light-7)}.el-checkbox-button{--el-checkbox-button-checked-bg-color:var(--el-color-primary);--el-checkbox-button-checked-text-color:var(--el-color-white);--el-checkbox-button-checked-border-color:var(--el-color-primary)}.el-checkbox-button{position:relative;display:inline-block}.el-checkbox-button__inner{display:inline-block;line-height:1;font-weight:var(--el-checkbox-font-weight);white-space:nowrap;vertical-align:middle;cursor:pointer;background:var(--el-button-bg-color,var(--el-fill-color-blank));border:var(--el-border);border-left-color:transparent;color:var(--el-button-text-color,var(--el-text-color-regular));-webkit-appearance:none;text-align:center;box-sizing:border-box;outline:0;margin:0;position:relative;transition:var(--el-transition-all);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:8px 15px;font-size:var(--el-font-size-base);border-radius:0}.el-checkbox-button__inner.is-round{padding:8px 15px}.el-checkbox-button__inner:hover{color:var(--el-color-primary)}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:var(--el-checkbox-button-checked-text-color);background-color:var(--el-checkbox-button-checked-bg-color);border-color:var(--el-checkbox-button-checked-border-color);box-shadow:-1px 0 0 0 var(--el-color-primary-light-7)}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:var(--el-checkbox-button-checked-border-color)}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:var(--el-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--el-button-disabled-bg-color,var(--el-fill-color-blank));border-color:var(--el-button-disabled-border-color,var(--el-border-color-light));box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:var(--el-button-disabled-border-color,var(--el-border-color-light))}.el-checkbox-button:first-child .el-checkbox-button__inner{border-left:var(--el-border);border-top-left-radius:var(--el-border-radius-base);border-bottom-left-radius:var(--el-border-radius-base);box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:var(--el-checkbox-button-checked-border-color)}.el-checkbox-button:last-child .el-checkbox-button__inner{border-top-right-radius:var(--el-border-radius-base);border-bottom-right-radius:var(--el-border-radius-base)}.el-checkbox-button--large .el-checkbox-button__inner{padding:12px 19px;font-size:var(--el-font-size-base);border-radius:0}.el-checkbox-button--large .el-checkbox-button__inner.is-round{padding:12px 19px}.el-checkbox-button--small .el-checkbox-button__inner{padding:5px 11px;font-size:12px;border-radius:0}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:5px 11px}.el-checkbox-group{font-size:0;line-height:0}.el-checkbox{--el-checkbox-font-size:14px;--el-checkbox-font-weight:var(--el-font-weight-primary);--el-checkbox-text-color:var(--el-text-color-regular);--el-checkbox-input-height:14px;--el-checkbox-input-width:14px;--el-checkbox-border-radius:var(--el-border-radius-small);--el-checkbox-bg-color:var(--el-fill-color-blank);--el-checkbox-input-border:var(--el-border);--el-checkbox-disabled-border-color:var(--el-border-color);--el-checkbox-disabled-input-fill:var(--el-fill-color-light);--el-checkbox-disabled-icon-color:var(--el-text-color-placeholder);--el-checkbox-disabled-checked-input-fill:var(--el-border-color-extra-light);--el-checkbox-disabled-checked-input-border-color:var(--el-border-color);--el-checkbox-disabled-checked-icon-color:var(--el-text-color-placeholder);--el-checkbox-checked-text-color:var(--el-color-primary);--el-checkbox-checked-input-border-color:var(--el-color-primary);--el-checkbox-checked-bg-color:var(--el-color-primary);--el-checkbox-checked-icon-color:var(--el-color-white);--el-checkbox-input-border-color-hover:var(--el-color-primary)}.el-checkbox{color:var(--el-checkbox-text-color);font-weight:var(--el-checkbox-font-weight);font-size:var(--el-font-size-base);position:relative;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:30px;height:var(--el-checkbox-height,32px)}.el-checkbox.is-disabled{cursor:not-allowed}.el-checkbox.is-bordered{padding:0 15px 0 9px;border-radius:var(--el-border-radius-base);border:var(--el-border);box-sizing:border-box}.el-checkbox.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-checkbox.is-bordered.is-disabled{border-color:var(--el-border-color-lighter)}.el-checkbox.is-bordered.el-checkbox--large{padding:0 19px 0 11px;border-radius:var(--el-border-radius-base)}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__label{font-size:var(--el-font-size-base)}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:0 11px 0 7px;border-radius:calc(var(--el-border-radius-base) - 1px)}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox input:focus-visible+.el-checkbox__inner{outline:2px solid var(--el-checkbox-input-border-color-hover);outline-offset:1px;border-radius:var(--el-checkbox-border-radius)}.el-checkbox__input{white-space:nowrap;cursor:pointer;outline:0;display:inline-flex;position:relative}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:var(--el-checkbox-disabled-input-fill);border-color:var(--el-checkbox-disabled-border-color);cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner:after{cursor:not-allowed;border-color:var(--el-checkbox-disabled-icon-color)}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner:before{background-color:var(--el-checkbox-disabled-checked-icon-color);border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:var(--el-disabled-text-color);cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-checked .el-checkbox__inner:after{transform:rotate(45deg) scaleY(1);border-color:var(--el-checkbox-checked-icon-color)}.el-checkbox__input.is-checked+.el-checkbox__label{color:var(--el-checkbox-checked-text-color)}.el-checkbox__input.is-focus:not(.is-checked) .el-checkbox__original:not(:focus-visible){border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:before{content:"";position:absolute;display:block;background-color:var(--el-checkbox-checked-icon-color);height:2px;transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner:after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:var(--el-checkbox-input-border);border-radius:var(--el-checkbox-border-radius);box-sizing:border-box;width:var(--el-checkbox-input-width);height:var(--el-checkbox-input-height);background-color:var(--el-checkbox-bg-color);z-index:var(--el-index-normal);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46),outline .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__inner:after{box-sizing:content-box;content:"";border:1px solid transparent;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;transform:rotate(45deg) scaleY(0);width:3px;transition:transform .15s ease-in 50ms;transform-origin:center}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox__label{display:inline-block;padding-left:8px;line-height:1;font-size:var(--el-checkbox-font-size)}.el-checkbox.el-checkbox--large{height:40px}.el-checkbox.el-checkbox--large .el-checkbox__label{font-size:14px}.el-checkbox.el-checkbox--large .el-checkbox__inner{width:14px;height:14px}.el-checkbox.el-checkbox--small{height:24px}.el-checkbox.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.el-checkbox--small .el-checkbox__inner{width:12px;height:12px}.el-checkbox.el-checkbox--small .el-checkbox__input.is-indeterminate .el-checkbox__inner:before{top:4px}.el-checkbox.el-checkbox--small .el-checkbox__inner:after{width:2px;height:6px}.el-checkbox:last-of-type{margin-right:0}[class*=el-col-]{box-sizing:border-box}[class*=el-col-].is-guttered{display:block;min-height:1px}.el-col-0,.el-col-0.is-guttered{display:none}.el-col-0{max-width:0%;flex:0 0 0%}.el-col-offset-0{margin-left:0}.el-col-pull-0{position:relative;right:0}.el-col-push-0{position:relative;left:0}.el-col-1{max-width:4.1666666667%;flex:0 0 4.1666666667%}.el-col-offset-1{margin-left:4.1666666667%}.el-col-pull-1{position:relative;right:4.1666666667%}.el-col-push-1{position:relative;left:4.1666666667%}.el-col-2{max-width:8.3333333333%;flex:0 0 8.3333333333%}.el-col-offset-2{margin-left:8.3333333333%}.el-col-pull-2{position:relative;right:8.3333333333%}.el-col-push-2{position:relative;left:8.3333333333%}.el-col-3{max-width:12.5%;flex:0 0 12.5%}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{position:relative;right:12.5%}.el-col-push-3{position:relative;left:12.5%}.el-col-4{max-width:16.6666666667%;flex:0 0 16.6666666667%}.el-col-offset-4{margin-left:16.6666666667%}.el-col-pull-4{position:relative;right:16.6666666667%}.el-col-push-4{position:relative;left:16.6666666667%}.el-col-5{max-width:20.8333333333%;flex:0 0 20.8333333333%}.el-col-offset-5{margin-left:20.8333333333%}.el-col-pull-5{position:relative;right:20.8333333333%}.el-col-push-5{position:relative;left:20.8333333333%}.el-col-6{max-width:25%;flex:0 0 25%}.el-col-offset-6{margin-left:25%}.el-col-pull-6{position:relative;right:25%}.el-col-push-6{position:relative;left:25%}.el-col-7{max-width:29.1666666667%;flex:0 0 29.1666666667%}.el-col-offset-7{margin-left:29.1666666667%}.el-col-pull-7{position:relative;right:29.1666666667%}.el-col-push-7{position:relative;left:29.1666666667%}.el-col-8{max-width:33.3333333333%;flex:0 0 33.3333333333%}.el-col-offset-8{margin-left:33.3333333333%}.el-col-pull-8{position:relative;right:33.3333333333%}.el-col-push-8{position:relative;left:33.3333333333%}.el-col-9{max-width:37.5%;flex:0 0 37.5%}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{position:relative;right:37.5%}.el-col-push-9{position:relative;left:37.5%}.el-col-10{max-width:41.6666666667%;flex:0 0 41.6666666667%}.el-col-offset-10{margin-left:41.6666666667%}.el-col-pull-10{position:relative;right:41.6666666667%}.el-col-push-10{position:relative;left:41.6666666667%}.el-col-11{max-width:45.8333333333%;flex:0 0 45.8333333333%}.el-col-offset-11{margin-left:45.8333333333%}.el-col-pull-11{position:relative;right:45.8333333333%}.el-col-push-11{position:relative;left:45.8333333333%}.el-col-12{max-width:50%;flex:0 0 50%}.el-col-offset-12{margin-left:50%}.el-col-pull-12{position:relative;right:50%}.el-col-push-12{position:relative;left:50%}.el-col-13{max-width:54.1666666667%;flex:0 0 54.1666666667%}.el-col-offset-13{margin-left:54.1666666667%}.el-col-pull-13{position:relative;right:54.1666666667%}.el-col-push-13{position:relative;left:54.1666666667%}.el-col-14{max-width:58.3333333333%;flex:0 0 58.3333333333%}.el-col-offset-14{margin-left:58.3333333333%}.el-col-pull-14{position:relative;right:58.3333333333%}.el-col-push-14{position:relative;left:58.3333333333%}.el-col-15{max-width:62.5%;flex:0 0 62.5%}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{position:relative;right:62.5%}.el-col-push-15{position:relative;left:62.5%}.el-col-16{max-width:66.6666666667%;flex:0 0 66.6666666667%}.el-col-offset-16{margin-left:66.6666666667%}.el-col-pull-16{position:relative;right:66.6666666667%}.el-col-push-16{position:relative;left:66.6666666667%}.el-col-17{max-width:70.8333333333%;flex:0 0 70.8333333333%}.el-col-offset-17{margin-left:70.8333333333%}.el-col-pull-17{position:relative;right:70.8333333333%}.el-col-push-17{position:relative;left:70.8333333333%}.el-col-18{max-width:75%;flex:0 0 75%}.el-col-offset-18{margin-left:75%}.el-col-pull-18{position:relative;right:75%}.el-col-push-18{position:relative;left:75%}.el-col-19{max-width:79.1666666667%;flex:0 0 79.1666666667%}.el-col-offset-19{margin-left:79.1666666667%}.el-col-pull-19{position:relative;right:79.1666666667%}.el-col-push-19{position:relative;left:79.1666666667%}.el-col-20{max-width:83.3333333333%;flex:0 0 83.3333333333%}.el-col-offset-20{margin-left:83.3333333333%}.el-col-pull-20{position:relative;right:83.3333333333%}.el-col-push-20{position:relative;left:83.3333333333%}.el-col-21{max-width:87.5%;flex:0 0 87.5%}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{position:relative;right:87.5%}.el-col-push-21{position:relative;left:87.5%}.el-col-22{max-width:91.6666666667%;flex:0 0 91.6666666667%}.el-col-offset-22{margin-left:91.6666666667%}.el-col-pull-22{position:relative;right:91.6666666667%}.el-col-push-22{position:relative;left:91.6666666667%}.el-col-23{max-width:95.8333333333%;flex:0 0 95.8333333333%}.el-col-offset-23{margin-left:95.8333333333%}.el-col-pull-23{position:relative;right:95.8333333333%}.el-col-push-23{position:relative;left:95.8333333333%}.el-col-24{max-width:100%;flex:0 0 100%}.el-col-offset-24{margin-left:100%}.el-col-pull-24{position:relative;right:100%}.el-col-push-24{position:relative;left:100%}@media only screen and (max-width:768px){.el-col-xs-0,.el-col-xs-0.is-guttered{display:none}.el-col-xs-0{max-width:0%;flex:0 0 0%}.el-col-xs-offset-0{margin-left:0}.el-col-xs-pull-0{position:relative;right:0}.el-col-xs-push-0{position:relative;left:0}.el-col-xs-1{display:block;max-width:4.1666666667%;flex:0 0 4.1666666667%}.el-col-xs-offset-1{margin-left:4.1666666667%}.el-col-xs-pull-1{position:relative;right:4.1666666667%}.el-col-xs-push-1{position:relative;left:4.1666666667%}.el-col-xs-2{display:block;max-width:8.3333333333%;flex:0 0 8.3333333333%}.el-col-xs-offset-2{margin-left:8.3333333333%}.el-col-xs-pull-2{position:relative;right:8.3333333333%}.el-col-xs-push-2{position:relative;left:8.3333333333%}.el-col-xs-3{display:block;max-width:12.5%;flex:0 0 12.5%}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{position:relative;left:12.5%}.el-col-xs-4{display:block;max-width:16.6666666667%;flex:0 0 16.6666666667%}.el-col-xs-offset-4{margin-left:16.6666666667%}.el-col-xs-pull-4{position:relative;right:16.6666666667%}.el-col-xs-push-4{position:relative;left:16.6666666667%}.el-col-xs-5{display:block;max-width:20.8333333333%;flex:0 0 20.8333333333%}.el-col-xs-offset-5{margin-left:20.8333333333%}.el-col-xs-pull-5{position:relative;right:20.8333333333%}.el-col-xs-push-5{position:relative;left:20.8333333333%}.el-col-xs-6{display:block;max-width:25%;flex:0 0 25%}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{position:relative;left:25%}.el-col-xs-7{display:block;max-width:29.1666666667%;flex:0 0 29.1666666667%}.el-col-xs-offset-7{margin-left:29.1666666667%}.el-col-xs-pull-7{position:relative;right:29.1666666667%}.el-col-xs-push-7{position:relative;left:29.1666666667%}.el-col-xs-8{display:block;max-width:33.3333333333%;flex:0 0 33.3333333333%}.el-col-xs-offset-8{margin-left:33.3333333333%}.el-col-xs-pull-8{position:relative;right:33.3333333333%}.el-col-xs-push-8{position:relative;left:33.3333333333%}.el-col-xs-9{display:block;max-width:37.5%;flex:0 0 37.5%}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{position:relative;left:37.5%}.el-col-xs-10{display:block;max-width:41.6666666667%;flex:0 0 41.6666666667%}.el-col-xs-offset-10{margin-left:41.6666666667%}.el-col-xs-pull-10{position:relative;right:41.6666666667%}.el-col-xs-push-10{position:relative;left:41.6666666667%}.el-col-xs-11{display:block;max-width:45.8333333333%;flex:0 0 45.8333333333%}.el-col-xs-offset-11{margin-left:45.8333333333%}.el-col-xs-pull-11{position:relative;right:45.8333333333%}.el-col-xs-push-11{position:relative;left:45.8333333333%}.el-col-xs-12{display:block;max-width:50%;flex:0 0 50%}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{position:relative;left:50%}.el-col-xs-13{display:block;max-width:54.1666666667%;flex:0 0 54.1666666667%}.el-col-xs-offset-13{margin-left:54.1666666667%}.el-col-xs-pull-13{position:relative;right:54.1666666667%}.el-col-xs-push-13{position:relative;left:54.1666666667%}.el-col-xs-14{display:block;max-width:58.3333333333%;flex:0 0 58.3333333333%}.el-col-xs-offset-14{margin-left:58.3333333333%}.el-col-xs-pull-14{position:relative;right:58.3333333333%}.el-col-xs-push-14{position:relative;left:58.3333333333%}.el-col-xs-15{display:block;max-width:62.5%;flex:0 0 62.5%}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{position:relative;left:62.5%}.el-col-xs-16{display:block;max-width:66.6666666667%;flex:0 0 66.6666666667%}.el-col-xs-offset-16{margin-left:66.6666666667%}.el-col-xs-pull-16{position:relative;right:66.6666666667%}.el-col-xs-push-16{position:relative;left:66.6666666667%}.el-col-xs-17{display:block;max-width:70.8333333333%;flex:0 0 70.8333333333%}.el-col-xs-offset-17{margin-left:70.8333333333%}.el-col-xs-pull-17{position:relative;right:70.8333333333%}.el-col-xs-push-17{position:relative;left:70.8333333333%}.el-col-xs-18{display:block;max-width:75%;flex:0 0 75%}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{position:relative;left:75%}.el-col-xs-19{display:block;max-width:79.1666666667%;flex:0 0 79.1666666667%}.el-col-xs-offset-19{margin-left:79.1666666667%}.el-col-xs-pull-19{position:relative;right:79.1666666667%}.el-col-xs-push-19{position:relative;left:79.1666666667%}.el-col-xs-20{display:block;max-width:83.3333333333%;flex:0 0 83.3333333333%}.el-col-xs-offset-20{margin-left:83.3333333333%}.el-col-xs-pull-20{position:relative;right:83.3333333333%}.el-col-xs-push-20{position:relative;left:83.3333333333%}.el-col-xs-21{display:block;max-width:87.5%;flex:0 0 87.5%}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{position:relative;left:87.5%}.el-col-xs-22{display:block;max-width:91.6666666667%;flex:0 0 91.6666666667%}.el-col-xs-offset-22{margin-left:91.6666666667%}.el-col-xs-pull-22{position:relative;right:91.6666666667%}.el-col-xs-push-22{position:relative;left:91.6666666667%}.el-col-xs-23{display:block;max-width:95.8333333333%;flex:0 0 95.8333333333%}.el-col-xs-offset-23{margin-left:95.8333333333%}.el-col-xs-pull-23{position:relative;right:95.8333333333%}.el-col-xs-push-23{position:relative;left:95.8333333333%}.el-col-xs-24{display:block;max-width:100%;flex:0 0 100%}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{position:relative;left:100%}}@media only screen and (min-width:768px){.el-col-sm-0,.el-col-sm-0.is-guttered{display:none}.el-col-sm-0{max-width:0%;flex:0 0 0%}.el-col-sm-offset-0{margin-left:0}.el-col-sm-pull-0{position:relative;right:0}.el-col-sm-push-0{position:relative;left:0}.el-col-sm-1{display:block;max-width:4.1666666667%;flex:0 0 4.1666666667%}.el-col-sm-offset-1{margin-left:4.1666666667%}.el-col-sm-pull-1{position:relative;right:4.1666666667%}.el-col-sm-push-1{position:relative;left:4.1666666667%}.el-col-sm-2{display:block;max-width:8.3333333333%;flex:0 0 8.3333333333%}.el-col-sm-offset-2{margin-left:8.3333333333%}.el-col-sm-pull-2{position:relative;right:8.3333333333%}.el-col-sm-push-2{position:relative;left:8.3333333333%}.el-col-sm-3{display:block;max-width:12.5%;flex:0 0 12.5%}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{position:relative;left:12.5%}.el-col-sm-4{display:block;max-width:16.6666666667%;flex:0 0 16.6666666667%}.el-col-sm-offset-4{margin-left:16.6666666667%}.el-col-sm-pull-4{position:relative;right:16.6666666667%}.el-col-sm-push-4{position:relative;left:16.6666666667%}.el-col-sm-5{display:block;max-width:20.8333333333%;flex:0 0 20.8333333333%}.el-col-sm-offset-5{margin-left:20.8333333333%}.el-col-sm-pull-5{position:relative;right:20.8333333333%}.el-col-sm-push-5{position:relative;left:20.8333333333%}.el-col-sm-6{display:block;max-width:25%;flex:0 0 25%}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{position:relative;left:25%}.el-col-sm-7{display:block;max-width:29.1666666667%;flex:0 0 29.1666666667%}.el-col-sm-offset-7{margin-left:29.1666666667%}.el-col-sm-pull-7{position:relative;right:29.1666666667%}.el-col-sm-push-7{position:relative;left:29.1666666667%}.el-col-sm-8{display:block;max-width:33.3333333333%;flex:0 0 33.3333333333%}.el-col-sm-offset-8{margin-left:33.3333333333%}.el-col-sm-pull-8{position:relative;right:33.3333333333%}.el-col-sm-push-8{position:relative;left:33.3333333333%}.el-col-sm-9{display:block;max-width:37.5%;flex:0 0 37.5%}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{position:relative;left:37.5%}.el-col-sm-10{display:block;max-width:41.6666666667%;flex:0 0 41.6666666667%}.el-col-sm-offset-10{margin-left:41.6666666667%}.el-col-sm-pull-10{position:relative;right:41.6666666667%}.el-col-sm-push-10{position:relative;left:41.6666666667%}.el-col-sm-11{display:block;max-width:45.8333333333%;flex:0 0 45.8333333333%}.el-col-sm-offset-11{margin-left:45.8333333333%}.el-col-sm-pull-11{position:relative;right:45.8333333333%}.el-col-sm-push-11{position:relative;left:45.8333333333%}.el-col-sm-12{display:block;max-width:50%;flex:0 0 50%}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{position:relative;left:50%}.el-col-sm-13{display:block;max-width:54.1666666667%;flex:0 0 54.1666666667%}.el-col-sm-offset-13{margin-left:54.1666666667%}.el-col-sm-pull-13{position:relative;right:54.1666666667%}.el-col-sm-push-13{position:relative;left:54.1666666667%}.el-col-sm-14{display:block;max-width:58.3333333333%;flex:0 0 58.3333333333%}.el-col-sm-offset-14{margin-left:58.3333333333%}.el-col-sm-pull-14{position:relative;right:58.3333333333%}.el-col-sm-push-14{position:relative;left:58.3333333333%}.el-col-sm-15{display:block;max-width:62.5%;flex:0 0 62.5%}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{position:relative;left:62.5%}.el-col-sm-16{display:block;max-width:66.6666666667%;flex:0 0 66.6666666667%}.el-col-sm-offset-16{margin-left:66.6666666667%}.el-col-sm-pull-16{position:relative;right:66.6666666667%}.el-col-sm-push-16{position:relative;left:66.6666666667%}.el-col-sm-17{display:block;max-width:70.8333333333%;flex:0 0 70.8333333333%}.el-col-sm-offset-17{margin-left:70.8333333333%}.el-col-sm-pull-17{position:relative;right:70.8333333333%}.el-col-sm-push-17{position:relative;left:70.8333333333%}.el-col-sm-18{display:block;max-width:75%;flex:0 0 75%}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{position:relative;left:75%}.el-col-sm-19{display:block;max-width:79.1666666667%;flex:0 0 79.1666666667%}.el-col-sm-offset-19{margin-left:79.1666666667%}.el-col-sm-pull-19{position:relative;right:79.1666666667%}.el-col-sm-push-19{position:relative;left:79.1666666667%}.el-col-sm-20{display:block;max-width:83.3333333333%;flex:0 0 83.3333333333%}.el-col-sm-offset-20{margin-left:83.3333333333%}.el-col-sm-pull-20{position:relative;right:83.3333333333%}.el-col-sm-push-20{position:relative;left:83.3333333333%}.el-col-sm-21{display:block;max-width:87.5%;flex:0 0 87.5%}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{position:relative;left:87.5%}.el-col-sm-22{display:block;max-width:91.6666666667%;flex:0 0 91.6666666667%}.el-col-sm-offset-22{margin-left:91.6666666667%}.el-col-sm-pull-22{position:relative;right:91.6666666667%}.el-col-sm-push-22{position:relative;left:91.6666666667%}.el-col-sm-23{display:block;max-width:95.8333333333%;flex:0 0 95.8333333333%}.el-col-sm-offset-23{margin-left:95.8333333333%}.el-col-sm-pull-23{position:relative;right:95.8333333333%}.el-col-sm-push-23{position:relative;left:95.8333333333%}.el-col-sm-24{display:block;max-width:100%;flex:0 0 100%}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{position:relative;left:100%}}@media only screen and (min-width:992px){.el-col-md-0,.el-col-md-0.is-guttered{display:none}.el-col-md-0{max-width:0%;flex:0 0 0%}.el-col-md-offset-0{margin-left:0}.el-col-md-pull-0{position:relative;right:0}.el-col-md-push-0{position:relative;left:0}.el-col-md-1{display:block;max-width:4.1666666667%;flex:0 0 4.1666666667%}.el-col-md-offset-1{margin-left:4.1666666667%}.el-col-md-pull-1{position:relative;right:4.1666666667%}.el-col-md-push-1{position:relative;left:4.1666666667%}.el-col-md-2{display:block;max-width:8.3333333333%;flex:0 0 8.3333333333%}.el-col-md-offset-2{margin-left:8.3333333333%}.el-col-md-pull-2{position:relative;right:8.3333333333%}.el-col-md-push-2{position:relative;left:8.3333333333%}.el-col-md-3{display:block;max-width:12.5%;flex:0 0 12.5%}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{position:relative;left:12.5%}.el-col-md-4{display:block;max-width:16.6666666667%;flex:0 0 16.6666666667%}.el-col-md-offset-4{margin-left:16.6666666667%}.el-col-md-pull-4{position:relative;right:16.6666666667%}.el-col-md-push-4{position:relative;left:16.6666666667%}.el-col-md-5{display:block;max-width:20.8333333333%;flex:0 0 20.8333333333%}.el-col-md-offset-5{margin-left:20.8333333333%}.el-col-md-pull-5{position:relative;right:20.8333333333%}.el-col-md-push-5{position:relative;left:20.8333333333%}.el-col-md-6{display:block;max-width:25%;flex:0 0 25%}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{position:relative;left:25%}.el-col-md-7{display:block;max-width:29.1666666667%;flex:0 0 29.1666666667%}.el-col-md-offset-7{margin-left:29.1666666667%}.el-col-md-pull-7{position:relative;right:29.1666666667%}.el-col-md-push-7{position:relative;left:29.1666666667%}.el-col-md-8{display:block;max-width:33.3333333333%;flex:0 0 33.3333333333%}.el-col-md-offset-8{margin-left:33.3333333333%}.el-col-md-pull-8{position:relative;right:33.3333333333%}.el-col-md-push-8{position:relative;left:33.3333333333%}.el-col-md-9{display:block;max-width:37.5%;flex:0 0 37.5%}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{position:relative;left:37.5%}.el-col-md-10{display:block;max-width:41.6666666667%;flex:0 0 41.6666666667%}.el-col-md-offset-10{margin-left:41.6666666667%}.el-col-md-pull-10{position:relative;right:41.6666666667%}.el-col-md-push-10{position:relative;left:41.6666666667%}.el-col-md-11{display:block;max-width:45.8333333333%;flex:0 0 45.8333333333%}.el-col-md-offset-11{margin-left:45.8333333333%}.el-col-md-pull-11{position:relative;right:45.8333333333%}.el-col-md-push-11{position:relative;left:45.8333333333%}.el-col-md-12{display:block;max-width:50%;flex:0 0 50%}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{position:relative;left:50%}.el-col-md-13{display:block;max-width:54.1666666667%;flex:0 0 54.1666666667%}.el-col-md-offset-13{margin-left:54.1666666667%}.el-col-md-pull-13{position:relative;right:54.1666666667%}.el-col-md-push-13{position:relative;left:54.1666666667%}.el-col-md-14{display:block;max-width:58.3333333333%;flex:0 0 58.3333333333%}.el-col-md-offset-14{margin-left:58.3333333333%}.el-col-md-pull-14{position:relative;right:58.3333333333%}.el-col-md-push-14{position:relative;left:58.3333333333%}.el-col-md-15{display:block;max-width:62.5%;flex:0 0 62.5%}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{position:relative;left:62.5%}.el-col-md-16{display:block;max-width:66.6666666667%;flex:0 0 66.6666666667%}.el-col-md-offset-16{margin-left:66.6666666667%}.el-col-md-pull-16{position:relative;right:66.6666666667%}.el-col-md-push-16{position:relative;left:66.6666666667%}.el-col-md-17{display:block;max-width:70.8333333333%;flex:0 0 70.8333333333%}.el-col-md-offset-17{margin-left:70.8333333333%}.el-col-md-pull-17{position:relative;right:70.8333333333%}.el-col-md-push-17{position:relative;left:70.8333333333%}.el-col-md-18{display:block;max-width:75%;flex:0 0 75%}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{position:relative;left:75%}.el-col-md-19{display:block;max-width:79.1666666667%;flex:0 0 79.1666666667%}.el-col-md-offset-19{margin-left:79.1666666667%}.el-col-md-pull-19{position:relative;right:79.1666666667%}.el-col-md-push-19{position:relative;left:79.1666666667%}.el-col-md-20{display:block;max-width:83.3333333333%;flex:0 0 83.3333333333%}.el-col-md-offset-20{margin-left:83.3333333333%}.el-col-md-pull-20{position:relative;right:83.3333333333%}.el-col-md-push-20{position:relative;left:83.3333333333%}.el-col-md-21{display:block;max-width:87.5%;flex:0 0 87.5%}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{position:relative;left:87.5%}.el-col-md-22{display:block;max-width:91.6666666667%;flex:0 0 91.6666666667%}.el-col-md-offset-22{margin-left:91.6666666667%}.el-col-md-pull-22{position:relative;right:91.6666666667%}.el-col-md-push-22{position:relative;left:91.6666666667%}.el-col-md-23{display:block;max-width:95.8333333333%;flex:0 0 95.8333333333%}.el-col-md-offset-23{margin-left:95.8333333333%}.el-col-md-pull-23{position:relative;right:95.8333333333%}.el-col-md-push-23{position:relative;left:95.8333333333%}.el-col-md-24{display:block;max-width:100%;flex:0 0 100%}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{position:relative;left:100%}}@media only screen and (min-width:1200px){.el-col-lg-0,.el-col-lg-0.is-guttered{display:none}.el-col-lg-0{max-width:0%;flex:0 0 0%}.el-col-lg-offset-0{margin-left:0}.el-col-lg-pull-0{position:relative;right:0}.el-col-lg-push-0{position:relative;left:0}.el-col-lg-1{display:block;max-width:4.1666666667%;flex:0 0 4.1666666667%}.el-col-lg-offset-1{margin-left:4.1666666667%}.el-col-lg-pull-1{position:relative;right:4.1666666667%}.el-col-lg-push-1{position:relative;left:4.1666666667%}.el-col-lg-2{display:block;max-width:8.3333333333%;flex:0 0 8.3333333333%}.el-col-lg-offset-2{margin-left:8.3333333333%}.el-col-lg-pull-2{position:relative;right:8.3333333333%}.el-col-lg-push-2{position:relative;left:8.3333333333%}.el-col-lg-3{display:block;max-width:12.5%;flex:0 0 12.5%}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{position:relative;left:12.5%}.el-col-lg-4{display:block;max-width:16.6666666667%;flex:0 0 16.6666666667%}.el-col-lg-offset-4{margin-left:16.6666666667%}.el-col-lg-pull-4{position:relative;right:16.6666666667%}.el-col-lg-push-4{position:relative;left:16.6666666667%}.el-col-lg-5{display:block;max-width:20.8333333333%;flex:0 0 20.8333333333%}.el-col-lg-offset-5{margin-left:20.8333333333%}.el-col-lg-pull-5{position:relative;right:20.8333333333%}.el-col-lg-push-5{position:relative;left:20.8333333333%}.el-col-lg-6{display:block;max-width:25%;flex:0 0 25%}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{position:relative;left:25%}.el-col-lg-7{display:block;max-width:29.1666666667%;flex:0 0 29.1666666667%}.el-col-lg-offset-7{margin-left:29.1666666667%}.el-col-lg-pull-7{position:relative;right:29.1666666667%}.el-col-lg-push-7{position:relative;left:29.1666666667%}.el-col-lg-8{display:block;max-width:33.3333333333%;flex:0 0 33.3333333333%}.el-col-lg-offset-8{margin-left:33.3333333333%}.el-col-lg-pull-8{position:relative;right:33.3333333333%}.el-col-lg-push-8{position:relative;left:33.3333333333%}.el-col-lg-9{display:block;max-width:37.5%;flex:0 0 37.5%}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{position:relative;left:37.5%}.el-col-lg-10{display:block;max-width:41.6666666667%;flex:0 0 41.6666666667%}.el-col-lg-offset-10{margin-left:41.6666666667%}.el-col-lg-pull-10{position:relative;right:41.6666666667%}.el-col-lg-push-10{position:relative;left:41.6666666667%}.el-col-lg-11{display:block;max-width:45.8333333333%;flex:0 0 45.8333333333%}.el-col-lg-offset-11{margin-left:45.8333333333%}.el-col-lg-pull-11{position:relative;right:45.8333333333%}.el-col-lg-push-11{position:relative;left:45.8333333333%}.el-col-lg-12{display:block;max-width:50%;flex:0 0 50%}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{position:relative;left:50%}.el-col-lg-13{display:block;max-width:54.1666666667%;flex:0 0 54.1666666667%}.el-col-lg-offset-13{margin-left:54.1666666667%}.el-col-lg-pull-13{position:relative;right:54.1666666667%}.el-col-lg-push-13{position:relative;left:54.1666666667%}.el-col-lg-14{display:block;max-width:58.3333333333%;flex:0 0 58.3333333333%}.el-col-lg-offset-14{margin-left:58.3333333333%}.el-col-lg-pull-14{position:relative;right:58.3333333333%}.el-col-lg-push-14{position:relative;left:58.3333333333%}.el-col-lg-15{display:block;max-width:62.5%;flex:0 0 62.5%}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{position:relative;left:62.5%}.el-col-lg-16{display:block;max-width:66.6666666667%;flex:0 0 66.6666666667%}.el-col-lg-offset-16{margin-left:66.6666666667%}.el-col-lg-pull-16{position:relative;right:66.6666666667%}.el-col-lg-push-16{position:relative;left:66.6666666667%}.el-col-lg-17{display:block;max-width:70.8333333333%;flex:0 0 70.8333333333%}.el-col-lg-offset-17{margin-left:70.8333333333%}.el-col-lg-pull-17{position:relative;right:70.8333333333%}.el-col-lg-push-17{position:relative;left:70.8333333333%}.el-col-lg-18{display:block;max-width:75%;flex:0 0 75%}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{position:relative;left:75%}.el-col-lg-19{display:block;max-width:79.1666666667%;flex:0 0 79.1666666667%}.el-col-lg-offset-19{margin-left:79.1666666667%}.el-col-lg-pull-19{position:relative;right:79.1666666667%}.el-col-lg-push-19{position:relative;left:79.1666666667%}.el-col-lg-20{display:block;max-width:83.3333333333%;flex:0 0 83.3333333333%}.el-col-lg-offset-20{margin-left:83.3333333333%}.el-col-lg-pull-20{position:relative;right:83.3333333333%}.el-col-lg-push-20{position:relative;left:83.3333333333%}.el-col-lg-21{display:block;max-width:87.5%;flex:0 0 87.5%}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{position:relative;left:87.5%}.el-col-lg-22{display:block;max-width:91.6666666667%;flex:0 0 91.6666666667%}.el-col-lg-offset-22{margin-left:91.6666666667%}.el-col-lg-pull-22{position:relative;right:91.6666666667%}.el-col-lg-push-22{position:relative;left:91.6666666667%}.el-col-lg-23{display:block;max-width:95.8333333333%;flex:0 0 95.8333333333%}.el-col-lg-offset-23{margin-left:95.8333333333%}.el-col-lg-pull-23{position:relative;right:95.8333333333%}.el-col-lg-push-23{position:relative;left:95.8333333333%}.el-col-lg-24{display:block;max-width:100%;flex:0 0 100%}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{position:relative;left:100%}}@media only screen and (min-width:1920px){.el-col-xl-0,.el-col-xl-0.is-guttered{display:none}.el-col-xl-0{max-width:0%;flex:0 0 0%}.el-col-xl-offset-0{margin-left:0}.el-col-xl-pull-0{position:relative;right:0}.el-col-xl-push-0{position:relative;left:0}.el-col-xl-1{display:block;max-width:4.1666666667%;flex:0 0 4.1666666667%}.el-col-xl-offset-1{margin-left:4.1666666667%}.el-col-xl-pull-1{position:relative;right:4.1666666667%}.el-col-xl-push-1{position:relative;left:4.1666666667%}.el-col-xl-2{display:block;max-width:8.3333333333%;flex:0 0 8.3333333333%}.el-col-xl-offset-2{margin-left:8.3333333333%}.el-col-xl-pull-2{position:relative;right:8.3333333333%}.el-col-xl-push-2{position:relative;left:8.3333333333%}.el-col-xl-3{display:block;max-width:12.5%;flex:0 0 12.5%}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{position:relative;left:12.5%}.el-col-xl-4{display:block;max-width:16.6666666667%;flex:0 0 16.6666666667%}.el-col-xl-offset-4{margin-left:16.6666666667%}.el-col-xl-pull-4{position:relative;right:16.6666666667%}.el-col-xl-push-4{position:relative;left:16.6666666667%}.el-col-xl-5{display:block;max-width:20.8333333333%;flex:0 0 20.8333333333%}.el-col-xl-offset-5{margin-left:20.8333333333%}.el-col-xl-pull-5{position:relative;right:20.8333333333%}.el-col-xl-push-5{position:relative;left:20.8333333333%}.el-col-xl-6{display:block;max-width:25%;flex:0 0 25%}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{position:relative;left:25%}.el-col-xl-7{display:block;max-width:29.1666666667%;flex:0 0 29.1666666667%}.el-col-xl-offset-7{margin-left:29.1666666667%}.el-col-xl-pull-7{position:relative;right:29.1666666667%}.el-col-xl-push-7{position:relative;left:29.1666666667%}.el-col-xl-8{display:block;max-width:33.3333333333%;flex:0 0 33.3333333333%}.el-col-xl-offset-8{margin-left:33.3333333333%}.el-col-xl-pull-8{position:relative;right:33.3333333333%}.el-col-xl-push-8{position:relative;left:33.3333333333%}.el-col-xl-9{display:block;max-width:37.5%;flex:0 0 37.5%}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{position:relative;left:37.5%}.el-col-xl-10{display:block;max-width:41.6666666667%;flex:0 0 41.6666666667%}.el-col-xl-offset-10{margin-left:41.6666666667%}.el-col-xl-pull-10{position:relative;right:41.6666666667%}.el-col-xl-push-10{position:relative;left:41.6666666667%}.el-col-xl-11{display:block;max-width:45.8333333333%;flex:0 0 45.8333333333%}.el-col-xl-offset-11{margin-left:45.8333333333%}.el-col-xl-pull-11{position:relative;right:45.8333333333%}.el-col-xl-push-11{position:relative;left:45.8333333333%}.el-col-xl-12{display:block;max-width:50%;flex:0 0 50%}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{position:relative;left:50%}.el-col-xl-13{display:block;max-width:54.1666666667%;flex:0 0 54.1666666667%}.el-col-xl-offset-13{margin-left:54.1666666667%}.el-col-xl-pull-13{position:relative;right:54.1666666667%}.el-col-xl-push-13{position:relative;left:54.1666666667%}.el-col-xl-14{display:block;max-width:58.3333333333%;flex:0 0 58.3333333333%}.el-col-xl-offset-14{margin-left:58.3333333333%}.el-col-xl-pull-14{position:relative;right:58.3333333333%}.el-col-xl-push-14{position:relative;left:58.3333333333%}.el-col-xl-15{display:block;max-width:62.5%;flex:0 0 62.5%}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{position:relative;left:62.5%}.el-col-xl-16{display:block;max-width:66.6666666667%;flex:0 0 66.6666666667%}.el-col-xl-offset-16{margin-left:66.6666666667%}.el-col-xl-pull-16{position:relative;right:66.6666666667%}.el-col-xl-push-16{position:relative;left:66.6666666667%}.el-col-xl-17{display:block;max-width:70.8333333333%;flex:0 0 70.8333333333%}.el-col-xl-offset-17{margin-left:70.8333333333%}.el-col-xl-pull-17{position:relative;right:70.8333333333%}.el-col-xl-push-17{position:relative;left:70.8333333333%}.el-col-xl-18{display:block;max-width:75%;flex:0 0 75%}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{position:relative;left:75%}.el-col-xl-19{display:block;max-width:79.1666666667%;flex:0 0 79.1666666667%}.el-col-xl-offset-19{margin-left:79.1666666667%}.el-col-xl-pull-19{position:relative;right:79.1666666667%}.el-col-xl-push-19{position:relative;left:79.1666666667%}.el-col-xl-20{display:block;max-width:83.3333333333%;flex:0 0 83.3333333333%}.el-col-xl-offset-20{margin-left:83.3333333333%}.el-col-xl-pull-20{position:relative;right:83.3333333333%}.el-col-xl-push-20{position:relative;left:83.3333333333%}.el-col-xl-21{display:block;max-width:87.5%;flex:0 0 87.5%}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{position:relative;left:87.5%}.el-col-xl-22{display:block;max-width:91.6666666667%;flex:0 0 91.6666666667%}.el-col-xl-offset-22{margin-left:91.6666666667%}.el-col-xl-pull-22{position:relative;right:91.6666666667%}.el-col-xl-push-22{position:relative;left:91.6666666667%}.el-col-xl-23{display:block;max-width:95.8333333333%;flex:0 0 95.8333333333%}.el-col-xl-offset-23{margin-left:95.8333333333%}.el-col-xl-pull-23{position:relative;right:95.8333333333%}.el-col-xl-push-23{position:relative;left:95.8333333333%}.el-col-xl-24{display:block;max-width:100%;flex:0 0 100%}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{position:relative;left:100%}}.el-collapse{--el-collapse-border-color:var(--el-border-color-lighter);--el-collapse-header-height:48px;--el-collapse-header-bg-color:var(--el-fill-color-blank);--el-collapse-header-text-color:var(--el-text-color-primary);--el-collapse-header-font-size:13px;--el-collapse-content-bg-color:var(--el-fill-color-blank);--el-collapse-content-font-size:13px;--el-collapse-content-text-color:var(--el-text-color-primary);border-top:1px solid var(--el-collapse-border-color);border-bottom:1px solid var(--el-collapse-border-color)}.el-collapse-item.is-disabled .el-collapse-item__header{color:var(--el-text-color-disabled);cursor:not-allowed}.el-collapse-item__header{width:100%;padding:0;border:none;display:flex;align-items:center;height:var(--el-collapse-header-height);line-height:var(--el-collapse-header-height);background-color:var(--el-collapse-header-bg-color);color:var(--el-collapse-header-text-color);cursor:pointer;border-bottom:1px solid var(--el-collapse-border-color);font-size:var(--el-collapse-header-font-size);font-weight:500;transition:border-bottom-color var(--el-transition-duration);outline:0}.el-collapse-item__arrow{margin:0 8px 0 auto;transition:transform var(--el-transition-duration);font-weight:300}.el-collapse-item__arrow.is-active{transform:rotate(90deg)}.el-collapse-item__header.focusing:focus:not(:hover){color:var(--el-color-primary)}.el-collapse-item__header.is-active{border-bottom-color:transparent}.el-collapse-item__wrap{will-change:height;background-color:var(--el-collapse-content-bg-color);overflow:hidden;box-sizing:border-box;border-bottom:1px solid var(--el-collapse-border-color)}.el-collapse-item__content{padding-bottom:25px;font-size:var(--el-collapse-content-font-size);color:var(--el-collapse-content-text-color);line-height:1.7692307692}.el-collapse-item:last-child{margin-bottom:-1px}.el-color-predefine{display:flex;font-size:12px;margin-top:8px;width:280px}.el-color-predefine__colors{display:flex;flex:1;flex-wrap:wrap}.el-color-predefine__color-selector{margin:0 0 8px 8px;width:20px;height:20px;border-radius:4px;cursor:pointer}.el-color-predefine__color-selector:nth-child(10n+1){margin-left:0}.el-color-predefine__color-selector.selected{box-shadow:0 0 3px 2px var(--el-color-primary)}.el-color-predefine__color-selector>div{display:flex;height:100%;border-radius:3px}.el-color-predefine__color-selector.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-hue-slider{position:relative;box-sizing:border-box;width:280px;height:12px;background-color:red;padding:0 2px;float:right}.el-color-hue-slider__bar{position:relative;background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);height:100%}.el-color-hue-slider__thumb{position:absolute;cursor:pointer;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid var(--el-border-color-lighter);box-shadow:0 0 2px #0009;z-index:1}.el-color-hue-slider.is-vertical{width:12px;height:180px;padding:2px 0}.el-color-hue-slider.is-vertical .el-color-hue-slider__bar{background:linear-gradient(to bottom,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}.el-color-hue-slider.is-vertical .el-color-hue-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-svpanel{position:relative;width:280px;height:180px}.el-color-svpanel__black,.el-color-svpanel__white{position:absolute;top:0;left:0;right:0;bottom:0}.el-color-svpanel__white{background:linear-gradient(to right,#fff,rgba(255,255,255,0))}.el-color-svpanel__black{background:linear-gradient(to top,#000,rgba(0,0,0,0))}.el-color-svpanel__cursor{position:absolute}.el-color-svpanel__cursor>div{cursor:head;width:4px;height:4px;box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px #0000004d,0 0 1px 2px #0006;border-radius:50%;transform:translate(-2px,-2px)}.el-color-alpha-slider{position:relative;box-sizing:border-box;width:280px;height:12px;background-image:linear-gradient(45deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(45deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%);background-size:12px 12px;background-position:0 0,6px 0,6px -6px,0 6px}.el-color-alpha-slider__bar{position:relative;background:linear-gradient(to right,rgba(255,255,255,0) 0,var(--el-bg-color) 100%);height:100%}.el-color-alpha-slider__thumb{position:absolute;cursor:pointer;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid var(--el-border-color-lighter);box-shadow:0 0 2px #0009;z-index:1}.el-color-alpha-slider.is-vertical{width:20px;height:180px}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar{background:linear-gradient(to bottom,rgba(255,255,255,0) 0,#fff 100%)}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-dropdown{width:300px}.el-color-dropdown__main-wrapper{margin-bottom:6px}.el-color-dropdown__main-wrapper:after{content:"";display:table;clear:both}.el-color-dropdown__btns{margin-top:12px;text-align:right}.el-color-dropdown__value{float:left;line-height:26px;font-size:12px;color:#000;width:160px}.el-color-picker{display:inline-block;position:relative;line-height:normal;outline:0}.el-color-picker:hover:not(.is-disabled) .el-color-picker__trigger{border:1px solid var(--el-border-color-hover)}.el-color-picker:focus-visible:not(.is-disabled) .el-color-picker__trigger{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-picker.is-disabled .el-color-picker__trigger{cursor:not-allowed}.el-color-picker--large{height:40px}.el-color-picker--large .el-color-picker__trigger{height:40px;width:40px}.el-color-picker--large .el-color-picker__mask{height:38px;width:38px}.el-color-picker--small{height:24px}.el-color-picker--small .el-color-picker__trigger{height:24px;width:24px}.el-color-picker--small .el-color-picker__mask{height:22px;width:22px}.el-color-picker--small .el-color-picker__empty,.el-color-picker--small .el-color-picker__icon{transform:scale(.8)}.el-color-picker__mask{height:30px;width:30px;border-radius:4px;position:absolute;top:1px;left:1px;z-index:1;cursor:not-allowed;background-color:#ffffffb3}.el-color-picker__trigger{display:inline-flex;justify-content:center;align-items:center;box-sizing:border-box;height:32px;width:32px;padding:4px;border:1px solid var(--el-border-color);border-radius:4px;font-size:0;position:relative;cursor:pointer}.el-color-picker__color{position:relative;display:block;box-sizing:border-box;border:1px solid var(--el-text-color-secondary);border-radius:var(--el-border-radius-small);width:100%;height:100%;text-align:center}.el-color-picker__color.is-alpha{background-image:linear-gradient(45deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(45deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%);background-size:12px 12px;background-position:0 0,6px 0,6px -6px,0 6px}.el-color-picker__color-inner{display:inline-flex;justify-content:center;align-items:center;width:100%;height:100%}.el-color-picker .el-color-picker__empty{font-size:12px;color:var(--el-text-color-secondary)}.el-color-picker .el-color-picker__icon{display:inline-flex;justify-content:center;align-items:center;color:#fff;font-size:12px}.el-color-picker__panel{position:absolute;z-index:10;padding:6px;box-sizing:content-box;background-color:#fff;border-radius:var(--el-border-radius-base);box-shadow:var(--el-box-shadow-light)}.el-color-picker__panel.el-popper{border:1px solid var(--el-border-color-lighter)}.el-color-picker,.el-color-picker__panel{--el-color-picker-alpha-bg-a:#ccc;--el-color-picker-alpha-bg-b:transparent}.dark .el-color-picker,.dark .el-color-picker__panel{--el-color-picker-alpha-bg-a:#333333}.el-container{display:flex;flex-direction:row;flex:1;flex-basis:auto;box-sizing:border-box;min-width:0}.el-container.is-vertical{flex-direction:column}.el-date-table{font-size:12px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-date-table.is-week-mode .el-date-table__row:hover .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:var(--el-datepicker-text-color)}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child .el-date-table-cell{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child .el-date-table-cell{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table.is-week-mode .el-date-table__row.current .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td{width:32px;height:30px;padding:4px 0;box-sizing:border-box;text-align:center;cursor:pointer;position:relative}.el-date-table td .el-date-table-cell{height:30px;padding:3px 0;box-sizing:border-box}.el-date-table td .el-date-table-cell .el-date-table-cell__text{width:24px;height:24px;display:block;margin:0 auto;line-height:24px;position:absolute;left:50%;transform:translate(-50%);border-radius:50%}.el-date-table td.next-month,.el-date-table td.prev-month{color:var(--el-datepicker-off-text-color)}.el-date-table td.today{position:relative}.el-date-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-date-table td.today.end-date .el-date-table-cell__text,.el-date-table td.today.start-date .el-date-table-cell__text{color:#fff}.el-date-table td.available:hover{color:var(--el-datepicker-hover-text-color)}.el-date-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-date-table td.current:not(.disabled) .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-date-table td.current:not(.disabled):focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-date-table td.end-date .el-date-table-cell,.el-date-table td.start-date .el-date-table-cell{color:#fff}.el-date-table td.end-date .el-date-table-cell__text,.el-date-table td.start-date .el-date-table-cell__text{background-color:var(--el-datepicker-active-color)}.el-date-table td.start-date .el-date-table-cell{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table td.end-date .el-date-table-cell{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td.disabled .el-date-table-cell{background-color:var(--el-fill-color-light);opacity:1;cursor:not-allowed;color:var(--el-text-color-placeholder)}.el-date-table td.selected .el-date-table-cell{margin-left:5px;margin-right:5px;background-color:var(--el-datepicker-inrange-bg-color);border-radius:15px}.el-date-table td.selected .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-date-table td.selected .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#fff;border-radius:15px}.el-date-table td.week{font-size:80%;color:var(--el-datepicker-header-text-color)}.el-date-table td:focus{outline:0}.el-date-table th{padding:5px;color:var(--el-datepicker-header-text-color);font-weight:400;border-bottom:solid 1px var(--el-border-color-lighter)}.el-month-table{font-size:12px;margin:-1px;border-collapse:collapse}.el-month-table td{text-align:center;padding:8px 0;cursor:pointer}.el-month-table td div{height:48px;padding:6px 0;box-sizing:border-box}.el-month-table td.today .cell{color:var(--el-color-primary);font-weight:700}.el-month-table td.today.end-date .cell,.el-month-table td.today.start-date .cell{color:#fff}.el-month-table td.disabled .cell{background-color:var(--el-fill-color-light);cursor:not-allowed;color:var(--el-text-color-placeholder)}.el-month-table td.disabled .cell:hover{color:var(--el-text-color-placeholder)}.el-month-table td .cell{width:60px;height:36px;display:block;line-height:36px;color:var(--el-datepicker-text-color);margin:0 auto;border-radius:18px}.el-month-table td .cell:hover{color:var(--el-datepicker-hover-text-color)}.el-month-table td.in-range div{background-color:var(--el-datepicker-inrange-bg-color)}.el-month-table td.in-range div:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-month-table td.end-date div,.el-month-table td.start-date div{color:#fff}.el-month-table td.end-date .cell,.el-month-table td.start-date .cell{color:#fff;background-color:var(--el-datepicker-active-color)}.el-month-table td.start-date div{border-top-left-radius:24px;border-bottom-left-radius:24px}.el-month-table td.end-date div{border-top-right-radius:24px;border-bottom-right-radius:24px}.el-month-table td.current:not(.disabled) .cell{color:var(--el-datepicker-active-color)}.el-month-table td:focus-visible{outline:0}.el-month-table td:focus-visible .cell{outline:2px solid var(--el-datepicker-active-color)}.el-year-table{font-size:12px;margin:-1px;border-collapse:collapse}.el-year-table .el-icon{color:var(--el-datepicker-icon-color)}.el-year-table td{text-align:center;padding:20px 3px;cursor:pointer}.el-year-table td.today .cell{color:var(--el-color-primary);font-weight:700}.el-year-table td.disabled .cell{background-color:var(--el-fill-color-light);cursor:not-allowed;color:var(--el-text-color-placeholder)}.el-year-table td.disabled .cell:hover{color:var(--el-text-color-placeholder)}.el-year-table td .cell{width:48px;height:36px;display:block;line-height:36px;color:var(--el-datepicker-text-color);border-radius:18px;margin:0 auto}.el-year-table td .cell:hover{color:var(--el-datepicker-hover-text-color)}.el-year-table td.current:not(.disabled) .cell{color:var(--el-datepicker-active-color)}.el-year-table td:focus-visible{outline:0}.el-year-table td:focus-visible .cell{outline:2px solid var(--el-datepicker-active-color)}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{max-height:192px;overflow:auto;display:inline-block;width:50%;vertical-align:top;position:relative}.el-time-spinner__wrapper.el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__wrapper.is-arrow{box-sizing:border-box;text-align:center;overflow:hidden}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:default}.el-time-spinner__arrow{font-size:12px;color:var(--el-text-color-secondary);position:absolute;left:0;width:100%;z-index:var(--el-index-normal);text-align:center;height:30px;line-height:30px;cursor:pointer}.el-time-spinner__arrow:hover{color:var(--el-color-primary)}.el-time-spinner__arrow.arrow-up{top:10px}.el-time-spinner__arrow.arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__input.el-input .el-input__inner{padding:0;text-align:center}.el-time-spinner__list{padding:0;margin:0;list-style:none;text-align:center}.el-time-spinner__list:after,.el-time-spinner__list:before{content:"";display:block;width:100%;height:80px}.el-time-spinner__item{height:32px;line-height:32px;font-size:12px;color:var(--el-text-color-regular)}.el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:pointer}.el-time-spinner__item.is-active:not(.is-disabled){color:var(--el-text-color-primary);font-weight:700}.el-time-spinner__item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-picker__popper{--el-datepicker-border-color:var(--el-disabled-border-color)}.el-picker__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-datepicker-border-color);box-shadow:var(--el-box-shadow-light)}.el-picker__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-datepicker-border-color)}.el-picker__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:transparent;border-left-color:transparent}.el-picker__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-picker__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-left-color:transparent;border-bottom-color:transparent}.el-picker__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-date-editor{--el-date-editor-width:220px;--el-date-editor-monthrange-width:300px;--el-date-editor-daterange-width:350px;--el-date-editor-datetimerange-width:400px;--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;position:relative;text-align:left}.el-date-editor.el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset}.el-date-editor.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-date-editor.el-input,.el-date-editor.el-input__wrapper{width:var(--el-date-editor-width);height:var(--el-input-height,var(--el-component-size))}.el-date-editor--monthrange{--el-date-editor-width:var(--el-date-editor-monthrange-width)}.el-date-editor--daterange,.el-date-editor--timerange{--el-date-editor-width:var(--el-date-editor-daterange-width)}.el-date-editor--datetimerange{--el-date-editor-width:var(--el-date-editor-datetimerange-width)}.el-date-editor--dates .el-input__wrapper{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .close-icon,.el-date-editor .clear-icon{cursor:pointer}.el-date-editor .clear-icon:hover{color:var(--el-text-color-secondary)}.el-date-editor .el-range__icon{height:inherit;font-size:14px;color:var(--el-text-color-placeholder);float:left}.el-date-editor .el-range__icon svg{vertical-align:middle}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;display:inline-block;height:30px;line-height:30px;margin:0;padding:0;width:39%;text-align:center;font-size:var(--el-font-size-base);color:var(--el-text-color-regular);background-color:transparent}.el-date-editor .el-range-input::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-date-editor .el-range-input:-ms-input-placeholder{color:var(--el-text-color-placeholder)}.el-date-editor .el-range-input::placeholder{color:var(--el-text-color-placeholder)}.el-date-editor .el-range-separator{flex:1;display:inline-flex;justify-content:center;align-items:center;height:100%;padding:0 5px;margin:0;font-size:14px;word-break:keep-all;color:var(--el-text-color-primary)}.el-date-editor .el-range__close-icon{font-size:14px;color:var(--el-text-color-placeholder);height:inherit;width:unset;cursor:pointer}.el-date-editor .el-range__close-icon:hover{color:var(--el-text-color-secondary)}.el-date-editor .el-range__close-icon svg{vertical-align:middle}.el-date-editor .el-range__close-icon--hidden{opacity:0;visibility:hidden}.el-range-editor.el-input__wrapper{display:inline-flex;align-items:center;padding:0 10px}.el-range-editor.is-active,.el-range-editor.is-active:hover{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-range-editor--large{line-height:var(--el-component-size-large)}.el-range-editor--large.el-input__wrapper{height:var(--el-component-size-large)}.el-range-editor--large .el-range-separator{line-height:40px;font-size:14px}.el-range-editor--large .el-range-input{height:38px;line-height:38px;font-size:14px}.el-range-editor--small{line-height:var(--el-component-size-small)}.el-range-editor--small.el-input__wrapper{height:var(--el-component-size-small)}.el-range-editor--small .el-range-separator{line-height:24px;font-size:12px}.el-range-editor--small .el-range-input{height:22px;line-height:22px;font-size:12px}.el-range-editor.is-disabled{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled:focus,.el-range-editor.is-disabled:hover{border-color:var(--el-disabled-border-color)}.el-range-editor.is-disabled input{background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled input::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-range-editor.is-disabled input:-ms-input-placeholder{color:var(--el-text-color-placeholder)}.el-range-editor.is-disabled input::placeholder{color:var(--el-text-color-placeholder)}.el-range-editor.is-disabled .el-range-separator{color:var(--el-disabled-text-color)}.el-picker-panel{color:var(--el-text-color-regular);background:var(--el-bg-color-overlay);border-radius:var(--el-border-radius-base);line-height:30px}.el-picker-panel .el-time-panel{margin:5px 0;border:solid 1px var(--el-datepicker-border-color);background-color:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-picker-panel__body-wrapper:after,.el-picker-panel__body:after{content:"";display:table;clear:both}.el-picker-panel__content{position:relative;margin:15px}.el-picker-panel__footer{border-top:1px solid var(--el-datepicker-inner-border-color);padding:4px 12px;text-align:right;background-color:var(--el-bg-color-overlay);position:relative;font-size:0}.el-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:14px;color:var(--el-datepicker-text-color);padding-left:12px;text-align:left;outline:0;cursor:pointer}.el-picker-panel__shortcut:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:var(--el-datepicker-active-color)}.el-picker-panel__btn{border:1px solid var(--el-fill-color-darker);color:var(--el-text-color-primary);line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-picker-panel__btn[disabled]{color:var(--el-text-color-disabled);cursor:not-allowed}.el-picker-panel__icon-btn{font-size:12px;color:var(--el-datepicker-icon-color);border:0;background:0 0;cursor:pointer;outline:0;margin-top:8px}.el-picker-panel__icon-btn:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn:focus-visible{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn.is-disabled{color:var(--el-text-color-disabled)}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__icon-btn .el-icon{cursor:pointer;font-size:inherit}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{position:absolute;top:0;bottom:0;width:110px;border-right:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;padding-top:6px;background-color:var(--el-bg-color-overlay);overflow:auto}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-date-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary)}.el-date-picker{width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-picker__time-header{position:relative;border-bottom:1px solid var(--el-datepicker-inner-border-color);font-size:12px;padding:8px 5px 5px;display:table;width:100%;box-sizing:border-box}.el-date-picker__header{margin:12px;text-align:center}.el-date-picker__header--bordered{margin-bottom:0;padding-bottom:12px;border-bottom:solid 1px var(--el-border-color-lighter)}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{font-size:16px;font-weight:500;padding:0 5px;line-height:22px;text-align:center;cursor:pointer;color:var(--el-text-color-regular)}.el-date-picker__header-label:hover{color:var(--el-datepicker-hover-text-color)}.el-date-picker__header-label:focus-visible{outline:0;color:var(--el-datepicker-hover-text-color)}.el-date-picker__header-label.active{color:var(--el-datepicker-active-color)}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{padding:10px;text-align:center}.el-date-picker__time-label{float:left;cursor:pointer;line-height:30px;margin-left:10px}.el-date-picker .el-time-panel{position:absolute}.el-date-range-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary)}.el-date-range-picker{width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker__header{position:relative;text-align:center;height:28px}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{font-size:16px;font-weight:500;margin-right:50px}.el-date-range-picker__content{float:left;width:50%;box-sizing:border-box;margin:0;padding:16px}.el-date-range-picker__content.is-left{border-right:1px solid var(--el-datepicker-inner-border-color)}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{position:relative;border-bottom:1px solid var(--el-datepicker-inner-border-color);font-size:12px;padding:8px 5px 5px;display:table;width:100%;box-sizing:border-box}.el-date-range-picker__time-header>.el-icon-arrow-right{font-size:20px;vertical-align:middle;display:table-cell;color:var(--el-datepicker-icon-color)}.el-date-range-picker__time-picker-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-range-picker__time-picker-wrap .el-picker-panel{position:absolute;top:13px;right:0;z-index:1;background:#fff}.el-date-range-picker__time-picker-wrap .el-time-panel{position:absolute}.el-time-range-picker{width:354px;overflow:visible}.el-time-range-picker__content{position:relative;text-align:center;padding:10px;z-index:1}.el-time-range-picker__cell{box-sizing:border-box;margin:0;padding:4px 7px 7px;width:50%;display:inline-block}.el-time-range-picker__header{margin-bottom:5px;text-align:center;font-size:14px}.el-time-range-picker__body{border-radius:2px;border:1px solid var(--el-datepicker-border-color)}.el-time-panel{border-radius:2px;position:relative;width:180px;left:0;z-index:var(--el-index-top);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;box-sizing:content-box}.el-time-panel__content{font-size:0;position:relative;overflow:hidden}.el-time-panel__content:after,.el-time-panel__content:before{content:"";top:50%;position:absolute;margin-top:-16px;height:32px;z-index:-1;left:0;right:0;box-sizing:border-box;padding-top:6px;text-align:left}.el-time-panel__content:after{left:50%;margin-left:12%;margin-right:12%}.el-time-panel__content:before{padding-left:50%;margin-right:12%;margin-left:12%;border-top:1px solid var(--el-border-color-light);border-bottom:1px solid var(--el-border-color-light)}.el-time-panel__content.has-seconds:after{left:66.6666666667%}.el-time-panel__content.has-seconds:before{padding-left:33.3333333333%}.el-time-panel__footer{border-top:1px solid var(--el-timepicker-inner-border-color,var(--el-border-color-light));padding:4px;height:36px;line-height:25px;text-align:right;box-sizing:border-box}.el-time-panel__btn{border:none;line-height:28px;padding:0 5px;margin:0 5px;cursor:pointer;background-color:transparent;outline:0;font-size:12px;color:var(--el-text-color-primary)}.el-time-panel__btn.confirm{font-weight:800;color:var(--el-timepicker-active-color,var(--el-color-primary))}.el-descriptions{--el-descriptions-table-border:1px solid var(--el-border-color-lighter);--el-descriptions-item-bordered-label-background:var(--el-fill-color-light);box-sizing:border-box;font-size:var(--el-font-size-base);color:var(--el-text-color-primary)}.el-descriptions__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.el-descriptions__title{color:var(--el-text-color-primary);font-size:16px;font-weight:700}.el-descriptions__body{background-color:var(--el-fill-color-blank)}.el-descriptions__body .el-descriptions__table{border-collapse:collapse;width:100%}.el-descriptions__body .el-descriptions__table .el-descriptions__cell{box-sizing:border-box;text-align:left;font-weight:400;line-height:23px;font-size:14px}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-left{text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-center{text-align:center}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-right{text-align:right}.el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{border:var(--el-descriptions-table-border);padding:8px 11px}.el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:12px}.el-descriptions--large{font-size:14px}.el-descriptions--large .el-descriptions__header{margin-bottom:20px}.el-descriptions--large .el-descriptions__header .el-descriptions__title{font-size:16px}.el-descriptions--large .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:14px}.el-descriptions--large .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:12px 15px}.el-descriptions--large .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:16px}.el-descriptions--small{font-size:12px}.el-descriptions--small .el-descriptions__header{margin-bottom:12px}.el-descriptions--small .el-descriptions__header .el-descriptions__title{font-size:14px}.el-descriptions--small .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:12px}.el-descriptions--small .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:4px 7px}.el-descriptions--small .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:8px}.el-descriptions__label.el-descriptions__cell.is-bordered-label{font-weight:700;color:var(--el-text-color-regular);background:var(--el-descriptions-item-bordered-label-background)}.el-descriptions__label:not(.is-bordered-label){color:var(--el-text-color-primary);margin-right:16px}.el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:6px}.el-descriptions__content.el-descriptions__cell.is-bordered-content{color:var(--el-text-color-primary)}.el-descriptions__content:not(.is-bordered-label){color:var(--el-text-color-regular)}.el-descriptions--large .el-descriptions__label:not(.is-bordered-label){margin-right:16px}.el-descriptions--large .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:8px}.el-descriptions--small .el-descriptions__label:not(.is-bordered-label){margin-right:12px}.el-descriptions--small .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:4px}:root{--el-popup-modal-bg-color:var(--el-color-black);--el-popup-modal-opacity:.5}.v-modal-enter{-webkit-animation:v-modal-in var(--el-transition-duration-fast) ease;animation:v-modal-in var(--el-transition-duration-fast) ease}.v-modal-leave{-webkit-animation:v-modal-out var(--el-transition-duration-fast) ease forwards;animation:v-modal-out var(--el-transition-duration-fast) ease forwards}@-webkit-keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-in{0%{opacity:0}}@-webkit-keyframes v-modal-out{to{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:var(--el-popup-modal-opacity);background:var(--el-popup-modal-bg-color)}.el-popup-parent--hidden{overflow:hidden}.el-dialog{--el-dialog-width:50%;--el-dialog-margin-top:15vh;--el-dialog-bg-color:var(--el-bg-color);--el-dialog-box-shadow:var(--el-box-shadow);--el-dialog-title-font-size:var(--el-font-size-large);--el-dialog-content-font-size:14px;--el-dialog-font-line-height:var(--el-font-line-height-primary);--el-dialog-padding-primary:20px;--el-dialog-border-radius:var(--el-border-radius-small);position:relative;margin:var(--el-dialog-margin-top,15vh) auto 50px;background:var(--el-dialog-bg-color);border-radius:var(--el-dialog-border-radius);box-shadow:var(--el-dialog-box-shadow);box-sizing:border-box;width:var(--el-dialog-width,50%)}.el-dialog:focus{outline:0!important}.el-dialog.is-align-center{margin:auto}.el-dialog.is-fullscreen{--el-dialog-width:100%;--el-dialog-margin-top:0;margin-bottom:0;height:100%;overflow:auto}.el-dialog__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;margin:0}.el-dialog.is-draggable .el-dialog__header{cursor:move;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-dialog__header{padding:var(--el-dialog-padding-primary);padding-bottom:10px;margin-right:16px}.el-dialog__headerbtn{position:absolute;top:6px;right:0;padding:0;width:54px;height:54px;background:0 0;border:none;outline:0;cursor:pointer;font-size:var(--el-message-close-size,16px)}.el-dialog__headerbtn .el-dialog__close{color:var(--el-color-info);font-size:inherit}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:var(--el-color-primary)}.el-dialog__title{line-height:var(--el-dialog-font-line-height);font-size:var(--el-dialog-title-font-size);color:var(--el-text-color-primary)}.el-dialog__body{padding:calc(var(--el-dialog-padding-primary) + 10px) var(--el-dialog-padding-primary);color:var(--el-text-color-regular);font-size:var(--el-dialog-content-font-size)}.el-dialog__footer{padding:var(--el-dialog-padding-primary);padding-top:10px;text-align:right;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial;padding:25px calc(var(--el-dialog-padding-primary) + 5px) 30px}.el-dialog--center .el-dialog__footer{text-align:inherit}.el-overlay-dialog{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto}.dialog-fade-enter-active{-webkit-animation:modal-fade-in var(--el-transition-duration);animation:modal-fade-in var(--el-transition-duration)}.dialog-fade-enter-active .el-overlay-dialog{-webkit-animation:dialog-fade-in var(--el-transition-duration);animation:dialog-fade-in var(--el-transition-duration)}.dialog-fade-leave-active{-webkit-animation:modal-fade-out var(--el-transition-duration);animation:modal-fade-out var(--el-transition-duration)}.dialog-fade-leave-active .el-overlay-dialog{-webkit-animation:dialog-fade-out var(--el-transition-duration);animation:dialog-fade-out var(--el-transition-duration)}@-webkit-keyframes dialog-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes dialog-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@-webkit-keyframes dialog-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}}@keyframes dialog-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}}@-webkit-keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@-webkit-keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}.el-divider{position:relative}.el-divider--horizontal{display:block;height:1px;width:100%;margin:24px 0;border-top:1px var(--el-border-color) var(--el-border-style)}.el-divider--vertical{display:inline-block;width:1px;height:1em;margin:0 8px;vertical-align:middle;position:relative;border-left:1px var(--el-border-color) var(--el-border-style)}.el-divider__text{position:absolute;background-color:var(--el-bg-color);padding:0 20px;font-weight:500;color:var(--el-text-color-primary);font-size:14px}.el-divider__text.is-left{left:20px;transform:translateY(-50%)}.el-divider__text.is-center{left:50%;transform:translate(-50%) translateY(-50%)}.el-divider__text.is-right{right:20px;transform:translateY(-50%)}.el-drawer{--el-drawer-bg-color:var(--el-dialog-bg-color, var(--el-bg-color));--el-drawer-padding-primary:var(--el-dialog-padding-primary, 20px)}.el-drawer{position:absolute;box-sizing:border-box;background-color:var(--el-drawer-bg-color);display:flex;flex-direction:column;box-shadow:var(--el-box-shadow-dark);overflow:hidden;transition:all var(--el-transition-duration)}.el-drawer .rtl,.el-drawer .ltr,.el-drawer .ttb,.el-drawer .btt{transform:translate(0)}.el-drawer__sr-focus:focus{outline:0!important}.el-drawer__header{align-items:center;color:#72767b;display:flex;margin-bottom:32px;padding:var(--el-drawer-padding-primary);padding-bottom:0}.el-drawer__header>:first-child{flex:1}.el-drawer__title{margin:0;flex:1;line-height:inherit;font-size:1rem}.el-drawer__footer{padding:var(--el-drawer-padding-primary);padding-top:10px;text-align:right}.el-drawer__close-btn{display:inline-flex;border:none;cursor:pointer;font-size:var(--el-font-size-extra-large);color:inherit;background-color:transparent;outline:0}.el-drawer__close-btn:focus i,.el-drawer__close-btn:hover i{color:var(--el-color-primary)}.el-drawer__body{flex:1;padding:var(--el-drawer-padding-primary);overflow:auto}.el-drawer__body>*{box-sizing:border-box}.el-drawer.ltr,.el-drawer.rtl{height:100%;top:0;bottom:0}.el-drawer.btt,.el-drawer.ttb{width:100%;left:0;right:0}.el-drawer.ltr{left:0}.el-drawer.rtl{right:0}.el-drawer.ttb{top:0}.el-drawer.btt{bottom:0}.el-drawer-fade-enter-active,.el-drawer-fade-leave-active{transition:all var(--el-transition-duration)}.el-drawer-fade-enter-active,.el-drawer-fade-enter-from,.el-drawer-fade-enter-to,.el-drawer-fade-leave-active,.el-drawer-fade-leave-from,.el-drawer-fade-leave-to{overflow:hidden!important}.el-drawer-fade-enter-from,.el-drawer-fade-leave-to{opacity:0}.el-drawer-fade-enter-to,.el-drawer-fade-leave-from{opacity:1}.el-drawer-fade-enter-from .rtl,.el-drawer-fade-leave-to .rtl{transform:translate(100%)}.el-drawer-fade-enter-from .ltr,.el-drawer-fade-leave-to .ltr{transform:translate(-100%)}.el-drawer-fade-enter-from .ttb,.el-drawer-fade-leave-to .ttb{transform:translateY(-100%)}.el-drawer-fade-enter-from .btt,.el-drawer-fade-leave-to .btt{transform:translateY(100%)}.el-dropdown{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10;display:inline-flex;position:relative;color:var(--el-text-color-regular);font-size:var(--el-font-size-base);line-height:1;vertical-align:top}.el-dropdown.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-dropdown__popper{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10}.el-dropdown__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-dropdown-menu-box-shadow)}.el-dropdown__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-dropdown__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:transparent;border-left-color:transparent}.el-dropdown__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-dropdown__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-left-color:transparent;border-bottom-color:transparent}.el-dropdown__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-dropdown__popper .el-dropdown-menu{border:none}.el-dropdown__popper .el-dropdown__popper-selfdefine{outline:0}.el-dropdown__popper .el-scrollbar__bar{z-index:calc(var(--el-dropdown-menu-index) + 1)}.el-dropdown__popper .el-dropdown__list{list-style:none;padding:0;margin:0;box-sizing:border-box}.el-dropdown .el-dropdown__caret-button{padding-left:0;padding-right:0;display:inline-flex;justify-content:center;align-items:center;width:32px;border-left:none}.el-dropdown .el-dropdown__caret-button>span{display:inline-flex}.el-dropdown .el-dropdown__caret-button:before{content:"";position:absolute;display:block;width:1px;top:-1px;bottom:-1px;left:0;background:var(--el-overlay-color-lighter)}.el-dropdown .el-dropdown__caret-button.el-button:before{background:var(--el-border-color);opacity:.5}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{font-size:inherit;padding-left:0}.el-dropdown .el-dropdown-selfdefine{outline:0}.el-dropdown--large .el-dropdown__caret-button{width:40px}.el-dropdown--small .el-dropdown__caret-button{width:24px}.el-dropdown-menu{position:relative;top:0;left:0;z-index:var(--el-dropdown-menu-index);padding:5px 0;margin:0;background-color:var(--el-bg-color-overlay);border:none;border-radius:var(--el-border-radius-base);box-shadow:none;list-style:none}.el-dropdown-menu__item{display:flex;align-items:center;white-space:nowrap;list-style:none;line-height:22px;padding:5px 16px;margin:0;font-size:var(--el-font-size-base);color:var(--el-text-color-regular);cursor:pointer;outline:0}.el-dropdown-menu__item:not(.is-disabled):focus{background-color:var(--el-dropdown-menuItem-hover-fill);color:var(--el-dropdown-menuItem-hover-color)}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{margin:6px 0;border-top:1px solid var(--el-border-color-lighter)}.el-dropdown-menu__item.is-disabled{cursor:not-allowed;color:var(--el-text-color-disabled)}.el-dropdown-menu--large{padding:7px 0}.el-dropdown-menu--large .el-dropdown-menu__item{padding:7px 20px;line-height:22px;font-size:14px}.el-dropdown-menu--large .el-dropdown-menu__item--divided{margin:8px 0}.el-dropdown-menu--small{padding:3px 0}.el-dropdown-menu--small .el-dropdown-menu__item{padding:2px 12px;line-height:20px;font-size:12px}.el-dropdown-menu--small .el-dropdown-menu__item--divided{margin:4px 0}.el-empty{--el-empty-padding:40px 0;--el-empty-image-width:160px;--el-empty-description-margin-top:20px;--el-empty-bottom-margin-top:20px;--el-empty-fill-color-0:var(--el-color-white);--el-empty-fill-color-1:#fcfcfd;--el-empty-fill-color-2:#f8f9fb;--el-empty-fill-color-3:#f7f8fc;--el-empty-fill-color-4:#eeeff3;--el-empty-fill-color-5:#edeef2;--el-empty-fill-color-6:#e9ebef;--el-empty-fill-color-7:#e5e7e9;--el-empty-fill-color-8:#e0e3e9;--el-empty-fill-color-9:#d5d7de;display:flex;justify-content:center;align-items:center;flex-direction:column;text-align:center;box-sizing:border-box;padding:var(--el-empty-padding)}.el-empty__image{width:var(--el-empty-image-width)}.el-empty__image img{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%;height:100%;vertical-align:top;-o-object-fit:contain;object-fit:contain}.el-empty__image svg{color:var(--el-svg-monochrome-grey);fill:currentColor;width:100%;height:100%;vertical-align:top}.el-empty__description{margin-top:var(--el-empty-description-margin-top)}.el-empty__description p{margin:0;font-size:var(--el-font-size-base);color:var(--el-text-color-secondary)}.el-empty__bottom{margin-top:var(--el-empty-bottom-margin-top)}.el-footer{--el-footer-padding:0 20px;--el-footer-height:60px;padding:var(--el-footer-padding);box-sizing:border-box;flex-shrink:0;height:var(--el-footer-height)}.el-form{--el-form-label-font-size:var(--el-font-size-base);--el-form-inline-content-width:220px}.el-form--label-left .el-form-item__label{justify-content:flex-start}.el-form--label-top .el-form-item{display:block}.el-form--label-top .el-form-item .el-form-item__label{display:block;height:auto;text-align:left;margin-bottom:8px;line-height:22px}.el-form--inline .el-form-item{display:inline-flex;vertical-align:middle;margin-right:32px}.el-form--inline.el-form--label-top{display:flex;flex-wrap:wrap}.el-form--inline.el-form--label-top .el-form-item{display:block}.el-form--large.el-form--label-top .el-form-item .el-form-item__label{margin-bottom:12px;line-height:22px}.el-form--default.el-form--label-top .el-form-item .el-form-item__label{margin-bottom:8px;line-height:22px}.el-form--small.el-form--label-top .el-form-item .el-form-item__label{margin-bottom:4px;line-height:20px}.el-form-item{display:flex;--font-size:14px;margin-bottom:18px}.el-form-item .el-form-item{margin-bottom:0}.el-form-item .el-input__validateIcon{display:none}.el-form-item--large{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:22px}.el-form-item--large .el-form-item__label{height:40px;line-height:40px}.el-form-item--large .el-form-item__content{line-height:40px}.el-form-item--large .el-form-item__error{padding-top:4px}.el-form-item--default{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--default .el-form-item__label{height:32px;line-height:32px}.el-form-item--default .el-form-item__content{line-height:32px}.el-form-item--default .el-form-item__error{padding-top:2px}.el-form-item--small{--font-size:12px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--small .el-form-item__label{height:24px;line-height:24px}.el-form-item--small .el-form-item__content{line-height:24px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item__label-wrap{display:flex}.el-form-item__label{display:inline-flex;justify-content:flex-end;align-items:flex-start;flex:0 0 auto;font-size:var(--el-form-label-font-size);color:var(--el-text-color-regular);height:32px;line-height:32px;padding:0 12px 0 0;box-sizing:border-box}.el-form-item__content{display:flex;flex-wrap:wrap;align-items:center;flex:1;line-height:32px;position:relative;font-size:var(--font-size);min-width:0}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:var(--el-color-danger);font-size:12px;line-height:1;padding-top:2px;position:absolute;top:100%;left:0}.el-form-item__error--inline{position:relative;top:auto;left:auto;display:inline-block;margin-left:10px}.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label-wrap>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label:before{content:"*";color:var(--el-color-danger);margin-right:4px}.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label-wrap>.el-form-item__label:after,.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label:after{content:"*";color:var(--el-color-danger);margin-left:4px}.el-form-item.is-error .el-select-v2__wrapper.is-focused{border-color:transparent}.el-form-item.is-error .el-select-v2__wrapper,.el-form-item.is-error .el-select-v2__wrapper:focus,.el-form-item.is-error .el-textarea__inner,.el-form-item.is-error .el-textarea__inner:focus{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-form-item.is-error .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-form-item.is-error .el-input-group__append .el-input__wrapper,.el-form-item.is-error .el-input-group__prepend .el-input__wrapper{box-shadow:0 0 0 1px transparent inset}.el-form-item.is-error .el-input__validateIcon{color:var(--el-color-danger)}.el-form-item--feedback .el-input__validateIcon{display:inline-flex}.el-header{--el-header-padding:0 20px;--el-header-height:60px;padding:var(--el-header-padding);box-sizing:border-box;flex-shrink:0;height:var(--el-header-height)}.el-image-viewer__wrapper{position:fixed;top:0;right:0;bottom:0;left:0}.el-image-viewer__btn{position:absolute;z-index:1;display:flex;align-items:center;justify-content:center;border-radius:50%;opacity:.8;cursor:pointer;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-image-viewer__btn .el-icon{font-size:inherit;cursor:pointer}.el-image-viewer__close{top:40px;right:40px;width:40px;height:40px;font-size:40px}.el-image-viewer__canvas{position:static;width:100%;height:100%;display:flex;justify-content:center;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-image-viewer__actions{left:50%;bottom:30px;transform:translate(-50%);width:282px;height:44px;padding:0 23px;background-color:var(--el-text-color-regular);border-color:#fff;border-radius:22px}.el-image-viewer__actions__inner{width:100%;height:100%;text-align:justify;cursor:default;font-size:23px;color:#fff;display:flex;align-items:center;justify-content:space-around}.el-image-viewer__prev{top:50%;transform:translateY(-50%);left:40px;width:44px;height:44px;font-size:24px;color:#fff;background-color:var(--el-text-color-regular);border-color:#fff}.el-image-viewer__next{top:50%;transform:translateY(-50%);right:40px;text-indent:2px;width:44px;height:44px;font-size:24px;color:#fff;background-color:var(--el-text-color-regular);border-color:#fff}.el-image-viewer__close{width:44px;height:44px;font-size:24px;color:#fff;background-color:var(--el-text-color-regular);border-color:#fff}.el-image-viewer__mask{position:absolute;width:100%;height:100%;top:0;left:0;opacity:.5;background:#000}.viewer-fade-enter-active{-webkit-animation:viewer-fade-in var(--el-transition-duration);animation:viewer-fade-in var(--el-transition-duration)}.viewer-fade-leave-active{-webkit-animation:viewer-fade-out var(--el-transition-duration);animation:viewer-fade-out var(--el-transition-duration)}@-webkit-keyframes viewer-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes viewer-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@-webkit-keyframes viewer-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}}@keyframes viewer-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}}.el-image__error,.el-image__inner,.el-image__placeholder,.el-image__wrapper{width:100%;height:100%}.el-image{position:relative;display:inline-block;overflow:hidden}.el-image__inner{vertical-align:top;opacity:1}.el-image__inner.is-loading{opacity:0}.el-image__wrapper{position:absolute;top:0;left:0}.el-image__placeholder{background:var(--el-fill-color-light)}.el-image__error{display:flex;justify-content:center;align-items:center;font-size:14px;background:var(--el-fill-color-light);color:var(--el-text-color-placeholder);vertical-align:middle}.el-image__preview{cursor:pointer}.el-input-number{position:relative;display:inline-flex;width:150px;line-height:30px}.el-input-number .el-input__wrapper{padding-left:42px;padding-right:42px}.el-input-number .el-input__inner{-webkit-appearance:none;-moz-appearance:textfield;text-align:center;line-height:1}.el-input-number .el-input__inner::-webkit-inner-spin-button,.el-input-number .el-input__inner::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.el-input-number__decrease,.el-input-number__increase{display:flex;justify-content:center;align-items:center;height:auto;position:absolute;z-index:1;top:1px;bottom:1px;width:32px;background:var(--el-fill-color-light);color:var(--el-text-color-regular);cursor:pointer;font-size:13px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-input-number__decrease:hover,.el-input-number__increase:hover{color:var(--el-color-primary)}.el-input-number__decrease:hover~.el-input:not(.is-disabled) .el-input__wrapper,.el-input-number__increase:hover~.el-input:not(.is-disabled) .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-input-number__decrease.is-disabled,.el-input-number__increase.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-input-number__increase{right:1px;border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0;border-left:var(--el-border)}.el-input-number__decrease{left:1px;border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);border-right:var(--el-border)}.el-input-number.is-disabled .el-input-number__decrease,.el-input-number.is-disabled .el-input-number__increase{border-color:var(--el-disabled-border-color);color:var(--el-disabled-border-color)}.el-input-number.is-disabled .el-input-number__decrease:hover,.el-input-number.is-disabled .el-input-number__increase:hover{color:var(--el-disabled-border-color);cursor:not-allowed}.el-input-number--large{width:180px;line-height:38px}.el-input-number--large .el-input-number__decrease,.el-input-number--large .el-input-number__increase{width:40px;font-size:14px}.el-input-number--large .el-input__wrapper{padding-left:47px;padding-right:47px}.el-input-number--small{width:120px;line-height:22px}.el-input-number--small .el-input-number__decrease,.el-input-number--small .el-input-number__increase{width:24px;font-size:12px}.el-input-number--small .el-input__wrapper{padding-left:31px;padding-right:31px}.el-input-number--small .el-input-number__decrease [class*=el-icon],.el-input-number--small .el-input-number__increase [class*=el-icon]{transform:scale(.9)}.el-input-number.is-without-controls .el-input__wrapper{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__wrapper{padding-left:15px;padding-right:42px}.el-input-number.is-controls-right .el-input-number__decrease,.el-input-number.is-controls-right .el-input-number__increase{--el-input-number-controls-height:15px;height:var(--el-input-number-controls-height);line-height:var(--el-input-number-controls-height)}.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{bottom:auto;left:auto;border-radius:0 var(--el-border-radius-base) 0 0;border-bottom:var(--el-border)}.el-input-number.is-controls-right .el-input-number__decrease{right:1px;top:auto;left:auto;border-right:none;border-left:var(--el-border);border-radius:0 0 var(--el-border-radius-base) 0}.el-input-number.is-controls-right[class*=large] [class*=decrease],.el-input-number.is-controls-right[class*=large] [class*=increase]{--el-input-number-controls-height:19px}.el-input-number.is-controls-right[class*=small] [class*=decrease],.el-input-number.is-controls-right[class*=small] [class*=increase]{--el-input-number-controls-height:11px}.el-textarea{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%}.el-textarea{position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:var(--el-font-size-base)}.el-textarea__inner{position:relative;display:block;resize:vertical;padding:5px 11px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;font-family:inherit;color:var(--el-input-text-color,var(--el-text-color-regular));background-color:var(--el-input-bg-color,var(--el-fill-color-blank));background-image:none;-webkit-appearance:none;box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));transition:var(--el-transition-box-shadow);border:none}.el-textarea__inner::-moz-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner:-ms-input-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-textarea__inner:focus{outline:0;box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-textarea .el-input__count{color:var(--el-color-info);background:var(--el-fill-color-blank);position:absolute;font-size:12px;line-height:14px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{box-shadow:0 0 0 1px var(--el-disabled-border-color) inset;background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-exceed .el-textarea__inner{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-textarea.is-exceed .el-input__count{color:var(--el-color-danger)}.el-input{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%}.el-input{--el-input-height:var(--el-component-size);position:relative;font-size:var(--el-font-size-base);display:inline-flex;width:var(--el-input-width);line-height:var(--el-input-height);box-sizing:border-box;vertical-align:middle}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:var(--el-text-color-disabled)}.el-input::-webkit-scrollbar-corner{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track-piece{background:var(--el-fill-color-blank);width:6px}.el-input .el-input__clear,.el-input .el-input__password{color:var(--el-input-icon-color);font-size:14px;cursor:pointer}.el-input .el-input__clear:hover,.el-input .el-input__password:hover{color:var(--el-input-clear-hover-color)}.el-input .el-input__count{height:100%;display:inline-flex;align-items:center;color:var(--el-color-info);font-size:12px}.el-input .el-input__count .el-input__count-inner{background:var(--el-fill-color-blank);line-height:initial;display:inline-block;padding-left:8px}.el-input__wrapper{display:inline-flex;flex-grow:1;align-items:center;justify-content:center;padding:1px 11px;background-color:var(--el-input-bg-color,var(--el-fill-color-blank));background-image:none;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));cursor:text;transition:var(--el-transition-box-shadow);transform:translateZ(0);box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset}.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input__inner{--el-input-inner-height:calc(var(--el-input-height, 32px) - 2px);width:100%;flex-grow:1;-webkit-appearance:none;color:var(--el-input-text-color,var(--el-text-color-regular));font-size:inherit;height:var(--el-input-inner-height);line-height:var(--el-input-inner-height);padding:0;outline:0;border:none;background:0 0;box-sizing:border-box}.el-input__inner:focus{outline:0}.el-input__inner::-moz-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner:-ms-input-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner[type=password]::-ms-reveal{display:none}.el-input__prefix{display:inline-flex;white-space:nowrap;flex-shrink:0;flex-wrap:nowrap;height:100%;text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none}.el-input__prefix-inner{pointer-events:all;display:inline-flex;align-items:center;justify-content:center}.el-input__prefix-inner>:last-child{margin-right:8px}.el-input__prefix-inner>:first-child,.el-input__prefix-inner>:first-child.el-input__icon{margin-left:0}.el-input__suffix{display:inline-flex;white-space:nowrap;flex-shrink:0;flex-wrap:nowrap;height:100%;text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none}.el-input__suffix-inner{pointer-events:all;display:inline-flex;align-items:center;justify-content:center}.el-input__suffix-inner>:first-child{margin-left:8px}.el-input .el-input__icon{height:inherit;line-height:inherit;display:flex;justify-content:center;align-items:center;transition:all var(--el-transition-duration);margin-left:8px}.el-input__validateIcon{pointer-events:none}.el-input.is-active .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-color,) inset}.el-input.is-disabled{cursor:not-allowed}.el-input.is-disabled .el-input__wrapper{background-color:var(--el-disabled-bg-color);box-shadow:0 0 0 1px var(--el-disabled-border-color) inset}.el-input.is-disabled .el-input__inner{color:var(--el-disabled-text-color);-webkit-text-fill-color:var(--el-disabled-text-color);cursor:not-allowed}.el-input.is-disabled .el-input__inner::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__inner::placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-input.is-exceed .el-input__suffix .el-input__count{color:var(--el-color-danger)}.el-input--large{--el-input-height:var(--el-component-size-large);font-size:14px}.el-input--large .el-input__wrapper{padding:1px 15px}.el-input--large .el-input__inner{--el-input-inner-height:calc(var(--el-input-height, 40px) - 2px)}.el-input--small{--el-input-height:var(--el-component-size-small);font-size:12px}.el-input--small .el-input__wrapper{padding:1px 7px}.el-input--small .el-input__inner{--el-input-inner-height:calc(var(--el-input-height, 24px) - 2px)}.el-input-group{display:inline-flex;width:100%;align-items:stretch}.el-input-group__append,.el-input-group__prepend{background-color:var(--el-fill-color-light);color:var(--el-color-info);position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:100%;border-radius:var(--el-input-border-radius);padding:0 20px;white-space:nowrap}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:0 -20px}.el-input-group__append button.el-button,.el-input-group__append button.el-button:hover,.el-input-group__append div.el-select .el-input__wrapper,.el-input-group__append div.el-select:hover .el-input__wrapper,.el-input-group__prepend button.el-button,.el-input-group__prepend button.el-button:hover,.el-input-group__prepend div.el-select .el-input__wrapper,.el-input-group__prepend div.el-select:hover .el-input__wrapper{border-color:transparent;background-color:transparent;color:inherit}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0;box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset}.el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset}.el-input-group--prepend>.el-input__wrapper{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-input-group__prepend .el-select .el-input .el-input__inner{box-shadow:none!important}.el-input-group--prepend .el-input-group__prepend .el-select .el-input .el-input__wrapper{border-top-right-radius:0;border-bottom-right-radius:0;box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset}.el-input-group--prepend .el-input-group__prepend .el-select .el-input.is-focus .el-input__inner{box-shadow:none!important}.el-input-group--prepend .el-input-group__prepend .el-select .el-input.is-focus .el-input__wrapper{box-shadow:1px 0 0 0 var(--el-input-focus-border-color) inset,1px 0 0 0 var(--el-input-focus-border-color),0 1px 0 0 var(--el-input-focus-border-color) inset,0 -1px 0 0 var(--el-input-focus-border-color) inset!important;z-index:2}.el-input-group--prepend .el-input-group__prepend .el-select .el-input.is-focus .el-input__wrapper:focus{outline:0;z-index:2;box-shadow:1px 0 0 0 var(--el-input-focus-border-color) inset,1px 0 0 0 var(--el-input-focus-border-color),0 1px 0 0 var(--el-input-focus-border-color) inset,0 -1px 0 0 var(--el-input-focus-border-color) inset!important}.el-input-group--prepend .el-input-group__prepend .el-select:hover .el-input__inner{box-shadow:none!important}.el-input-group--prepend .el-input-group__prepend .el-select:hover .el-input__wrapper{z-index:1;box-shadow:1px 0 0 0 var(--el-input-hover-border-color) inset,1px 0 0 0 var(--el-input-hover-border-color),0 1px 0 0 var(--el-input-hover-border-color) inset,0 -1px 0 0 var(--el-input-hover-border-color) inset!important}.el-input-group--append>.el-input__wrapper{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append .el-input-group__append .el-select .el-input .el-input__inner{box-shadow:none!important}.el-input-group--append .el-input-group__append .el-select .el-input .el-input__wrapper{border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset}.el-input-group--append .el-input-group__append .el-select .el-input.is-focus .el-input__inner{box-shadow:none!important}.el-input-group--append .el-input-group__append .el-select .el-input.is-focus .el-input__wrapper{z-index:2;box-shadow:-1px 0 0 0 var(--el-input-focus-border-color),-1px 0 0 0 var(--el-input-focus-border-color) inset,0 1px 0 0 var(--el-input-focus-border-color) inset,0 -1px 0 0 var(--el-input-focus-border-color) inset!important}.el-input-group--append .el-input-group__append .el-select:hover .el-input__inner{box-shadow:none!important}.el-input-group--append .el-input-group__append .el-select:hover .el-input__wrapper{z-index:1;box-shadow:-1px 0 0 0 var(--el-input-hover-border-color),-1px 0 0 0 var(--el-input-hover-border-color) inset,0 1px 0 0 var(--el-input-hover-border-color) inset,0 -1px 0 0 var(--el-input-hover-border-color) inset!important}.el-link{--el-link-font-size:var(--el-font-size-base);--el-link-font-weight:var(--el-font-weight-primary);--el-link-text-color:var(--el-text-color-regular);--el-link-hover-text-color:var(--el-color-primary);--el-link-disabled-text-color:var(--el-text-color-placeholder)}.el-link{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;vertical-align:middle;position:relative;text-decoration:none;outline:0;cursor:pointer;padding:0;font-size:var(--el-link-font-size);font-weight:var(--el-link-font-weight);color:var(--el-link-text-color)}.el-link:hover{color:var(--el-link-hover-text-color)}.el-link.is-underline:hover:after{content:"";position:absolute;left:0;right:0;height:0;bottom:0;border-bottom:1px solid var(--el-link-hover-text-color)}.el-link.is-disabled{color:var(--el-link-disabled-text-color);cursor:not-allowed}.el-link [class*=el-icon-]+span{margin-left:5px}.el-link.el-link--default:after{border-color:var(--el-link-hover-text-color)}.el-link__inner{display:inline-flex;justify-content:center;align-items:center}.el-link.el-link--primary{--el-link-text-color:var(--el-color-primary);--el-link-hover-text-color:var(--el-color-primary-light-3);--el-link-disabled-text-color:var(--el-color-primary-light-5)}.el-link.el-link--primary:after{border-color:var(--el-link-text-color)}.el-link.el-link--primary.is-underline:hover:after{border-color:var(--el-link-text-color)}.el-link.el-link--success{--el-link-text-color:var(--el-color-success);--el-link-hover-text-color:var(--el-color-success-light-3);--el-link-disabled-text-color:var(--el-color-success-light-5)}.el-link.el-link--success:after{border-color:var(--el-link-text-color)}.el-link.el-link--success.is-underline:hover:after{border-color:var(--el-link-text-color)}.el-link.el-link--warning{--el-link-text-color:var(--el-color-warning);--el-link-hover-text-color:var(--el-color-warning-light-3);--el-link-disabled-text-color:var(--el-color-warning-light-5)}.el-link.el-link--warning:after{border-color:var(--el-link-text-color)}.el-link.el-link--warning.is-underline:hover:after{border-color:var(--el-link-text-color)}.el-link.el-link--danger{--el-link-text-color:var(--el-color-danger);--el-link-hover-text-color:var(--el-color-danger-light-3);--el-link-disabled-text-color:var(--el-color-danger-light-5)}.el-link.el-link--danger:after{border-color:var(--el-link-text-color)}.el-link.el-link--danger.is-underline:hover:after{border-color:var(--el-link-text-color)}.el-link.el-link--error{--el-link-text-color:var(--el-color-error);--el-link-hover-text-color:var(--el-color-error-light-3);--el-link-disabled-text-color:var(--el-color-error-light-5)}.el-link.el-link--error:after{border-color:var(--el-link-text-color)}.el-link.el-link--error.is-underline:hover:after{border-color:var(--el-link-text-color)}.el-link.el-link--info{--el-link-text-color:var(--el-color-info);--el-link-hover-text-color:var(--el-color-info-light-3);--el-link-disabled-text-color:var(--el-color-info-light-5)}.el-link.el-link--info:after{border-color:var(--el-link-text-color)}.el-link.el-link--info.is-underline:hover:after{border-color:var(--el-link-text-color)}:root{--el-loading-spinner-size:42px;--el-loading-fullscreen-spinner-size:50px}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{position:absolute;z-index:2000;background-color:var(--el-mask-color);margin:0;top:0;right:0;bottom:0;left:0;transition:opacity var(--el-transition-duration)}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:calc((0px - var(--el-loading-fullscreen-spinner-size))/ 2)}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:var(--el-loading-fullscreen-spinner-size);width:var(--el-loading-fullscreen-spinner-size)}.el-loading-spinner{top:50%;margin-top:calc((0px - var(--el-loading-spinner-size))/ 2);width:100%;text-align:center;position:absolute}.el-loading-spinner .el-loading-text{color:var(--el-color-primary);margin:3px 0;font-size:14px}.el-loading-spinner .circular{display:inline;height:var(--el-loading-spinner-size);width:var(--el-loading-spinner-size);-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.el-loading-spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--el-color-primary);stroke-linecap:round}.el-loading-spinner i{color:var(--el-color-primary)}.el-loading-fade-enter-from,.el-loading-fade-leave-to{opacity:0}@-webkit-keyframes loading-rotate{to{transform:rotate(360deg)}}@keyframes loading-rotate{to{transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.el-main{--el-main-padding:20px;display:block;flex:1;flex-basis:auto;overflow:auto;box-sizing:border-box;padding:var(--el-main-padding)}:root{--el-menu-active-color:var(--el-color-primary);--el-menu-text-color:var(--el-text-color-primary);--el-menu-hover-text-color:var(--el-color-primary);--el-menu-bg-color:var(--el-fill-color-blank);--el-menu-hover-bg-color:var(--el-color-primary-light-9);--el-menu-item-height:56px;--el-menu-sub-item-height:calc(var(--el-menu-item-height) - 6px);--el-menu-horizontal-sub-item-height:36px;--el-menu-item-font-size:var(--el-font-size-base);--el-menu-item-hover-fill:var(--el-color-primary-light-9);--el-menu-border-color:var(--el-border-color);--el-menu-base-level-padding:20px;--el-menu-level-padding:20px;--el-menu-icon-width:24px}.el-menu{border-right:solid 1px var(--el-menu-border-color);list-style:none;position:relative;margin:0;padding-left:0;background-color:var(--el-menu-bg-color);box-sizing:border-box}.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item-group__title,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-sub-menu__title{white-space:nowrap;padding-left:calc(var(--el-menu-base-level-padding) + var(--el-menu-level) * var(--el-menu-level-padding))}.el-menu--horizontal{display:flex;flex-wrap:nowrap;border-right:none}.el-menu--horizontal.el-menu{border-bottom:solid 1px var(--el-menu-border-color)}.el-menu--horizontal>.el-menu-item{display:inline-flex;justify-content:center;align-items:center;height:100%;margin:0;border-bottom:2px solid transparent;color:var(--el-menu-text-color)}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-sub-menu:focus,.el-menu--horizontal>.el-sub-menu:hover{outline:0}.el-menu--horizontal>.el-sub-menu:hover .el-sub-menu__title{color:var(--el-menu-hover-text-color)}.el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title{height:100%;border-bottom:2px solid transparent;color:var(--el-menu-text-color)}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title:hover{background-color:var(--el-bg-color-overlay)}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-sub-menu__title{background-color:var(--el-menu-bg-color);display:flex;align-items:center;height:var(--el-menu-horizontal-sub-item-height);line-height:var(--el-menu-horizontal-sub-item-height);padding:0 10px;color:var(--el-menu-text-color)}.el-menu--horizontal .el-menu .el-sub-menu__title{padding-right:40px}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title{color:var(--el-menu-active-color)}.el-menu--horizontal .el-menu-item:not(.is-disabled):focus,.el-menu--horizontal .el-menu-item:not(.is-disabled):hover{outline:0;color:var(--el-menu-hover-text-color);background-color:var(--el-menu-hover-bg-color)}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)!important}.el-menu--collapse{width:calc(var(--el-menu-icon-width) + var(--el-menu-base-level-padding) * 2)}.el-menu--collapse>.el-menu-item [class^=el-icon],.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title [class^=el-icon],.el-menu--collapse>.el-sub-menu>.el-sub-menu__title [class^=el-icon]{margin:0;vertical-align:middle;width:var(--el-menu-icon-width);text-align:center}.el-menu--collapse>.el-menu-item .el-sub-menu__icon-arrow,.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow{display:none}.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title>span,.el-menu--collapse>.el-menu-item>span,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title>span{height:0;width:0;overflow:hidden;visibility:hidden;display:inline-block}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-menu .el-sub-menu{min-width:200px}.el-menu--popup{z-index:100;min-width:200px;border:none;padding:5px 0;border-radius:var(--el-border-radius-small);box-shadow:var(--el-box-shadow-light)}.el-menu .el-icon{flex-shrink:0}.el-menu-item{display:flex;align-items:center;height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);font-size:var(--el-menu-item-font-size);color:var(--el-menu-text-color);padding:0 var(--el-menu-base-level-padding);list-style:none;cursor:pointer;position:relative;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);box-sizing:border-box;white-space:nowrap}.el-menu-item *{vertical-align:bottom}.el-menu-item i{color:inherit}.el-menu-item:focus,.el-menu-item:hover{outline:0}.el-menu-item:hover{background-color:var(--el-menu-hover-bg-color)}.el-menu-item.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-menu-item [class^=el-icon]{margin-right:5px;width:var(--el-menu-icon-width);text-align:center;font-size:18px;vertical-align:middle}.el-menu-item.is-active{color:var(--el-menu-active-color)}.el-menu-item.is-active i{color:inherit}.el-menu-item .el-menu-tooltip__trigger{position:absolute;left:0;top:0;height:100%;width:100%;display:inline-flex;align-items:center;box-sizing:border-box;padding:0 var(--el-menu-base-level-padding)}.el-sub-menu{list-style:none;margin:0;padding-left:0}.el-sub-menu__title{display:flex;align-items:center;height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);font-size:var(--el-menu-item-font-size);color:var(--el-menu-text-color);padding:0 var(--el-menu-base-level-padding);list-style:none;cursor:pointer;position:relative;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);box-sizing:border-box;white-space:nowrap;padding-right:calc(var(--el-menu-base-level-padding) + var(--el-menu-icon-width))}.el-sub-menu__title *{vertical-align:bottom}.el-sub-menu__title i{color:inherit}.el-sub-menu__title:focus,.el-sub-menu__title:hover{outline:0}.el-sub-menu__title.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-sub-menu__title:hover{background-color:var(--el-menu-hover-bg-color)}.el-sub-menu .el-menu{border:none}.el-sub-menu .el-menu-item{height:var(--el-menu-sub-item-height);line-height:var(--el-menu-sub-item-height)}.el-sub-menu__hide-arrow .el-sub-menu__icon-arrow{display:none!important}.el-sub-menu.is-active .el-sub-menu__title{border-bottom-color:var(--el-menu-active-color)}.el-sub-menu.is-disabled .el-menu-item,.el-sub-menu.is-disabled .el-sub-menu__title{opacity:.25;cursor:not-allowed;background:0 0!important}.el-sub-menu .el-icon{vertical-align:middle;margin-right:5px;width:var(--el-menu-icon-width);text-align:center;font-size:18px}.el-sub-menu .el-icon.el-sub-menu__icon-more{margin-right:0!important}.el-sub-menu .el-sub-menu__icon-arrow{position:absolute;top:50%;right:var(--el-menu-base-level-padding);margin-top:-6px;transition:transform var(--el-transition-duration);font-size:12px;margin-right:0;width:inherit}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{padding:7px 0 7px var(--el-menu-base-level-padding);line-height:normal;font-size:12px;color:var(--el-text-color-secondary)}.horizontal-collapse-transition .el-sub-menu__title .el-sub-menu__icon-arrow{transition:var(--el-transition-duration-fast);opacity:0}.el-message-box{--el-messagebox-title-color:var(--el-text-color-primary);--el-messagebox-width:420px;--el-messagebox-border-radius:4px;--el-messagebox-font-size:var(--el-font-size-large);--el-messagebox-content-font-size:var(--el-font-size-base);--el-messagebox-content-color:var(--el-text-color-regular);--el-messagebox-error-font-size:12px;--el-messagebox-padding-primary:15px}.el-message-box{display:inline-block;max-width:var(--el-messagebox-width);width:100%;padding-bottom:10px;vertical-align:middle;background-color:var(--el-bg-color);border-radius:var(--el-messagebox-border-radius);border:1px solid var(--el-border-color-lighter);font-size:var(--el-messagebox-font-size);box-shadow:var(--el-box-shadow-light);text-align:left;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box}.el-message-box:focus{outline:0!important}.el-overlay.is-message-box .el-overlay-message-box{text-align:center;position:fixed;top:0;right:0;bottom:0;left:0;padding:16px;overflow:auto}.el-overlay.is-message-box .el-overlay-message-box:after{content:"";display:inline-block;height:100%;width:0;vertical-align:middle}.el-message-box.is-draggable .el-message-box__header{cursor:move;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-message-box__header{position:relative;padding:var(--el-messagebox-padding-primary);padding-bottom:10px}.el-message-box__title{padding-left:0;margin-bottom:0;font-size:var(--el-messagebox-font-size);line-height:1;color:var(--el-messagebox-title-color)}.el-message-box__headerbtn{position:absolute;top:var(--el-messagebox-padding-primary);right:var(--el-messagebox-padding-primary);padding:0;border:none;outline:0;background:0 0;font-size:var(--el-message-close-size,16px);cursor:pointer}.el-message-box__headerbtn .el-message-box__close{color:var(--el-color-info);font-size:inherit}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:var(--el-color-primary)}.el-message-box__content{padding:10px var(--el-messagebox-padding-primary);color:var(--el-messagebox-content-color);font-size:var(--el-messagebox-content-font-size)}.el-message-box__container{position:relative}.el-message-box__input{padding-top:15px}.el-message-box__input div.invalid>input{border-color:var(--el-color-error)}.el-message-box__input div.invalid>input:focus{border-color:var(--el-color-error)}.el-message-box__status{position:absolute;top:50%;transform:translateY(-50%);font-size:24px!important}.el-message-box__status:before{padding-left:1px}.el-message-box__status.el-icon{position:absolute}.el-message-box__status+.el-message-box__message{padding-left:36px;padding-right:12px;word-break:break-word}.el-message-box__status.el-message-box-icon--success{--el-messagebox-color:var(--el-color-success);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--info{--el-messagebox-color:var(--el-color-info);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--warning{--el-messagebox-color:var(--el-color-warning);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--error{--el-messagebox-color:var(--el-color-error);color:var(--el-messagebox-color)}.el-message-box__message{margin:0}.el-message-box__message p{margin:0;line-height:24px}.el-message-box__errormsg{color:var(--el-color-error);font-size:var(--el-messagebox-error-font-size);min-height:18px;margin-top:2px}.el-message-box__btns{padding:5px 15px 0;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center}.el-message-box__btns button:nth-child(2){margin-left:10px}.el-message-box__btns-reverse{flex-direction:row-reverse}.el-message-box--center .el-message-box__title{position:relative;display:flex;align-items:center;justify-content:center}.el-message-box--center .el-message-box__status{position:relative;top:auto;padding-right:5px;text-align:center;transform:translateY(-1px)}.el-message-box--center .el-message-box__message{margin-left:0}.el-message-box--center .el-message-box__btns{justify-content:center}.el-message-box--center .el-message-box__content{padding-left:calc(var(--el-messagebox-padding-primary) + 12px);padding-right:calc(var(--el-messagebox-padding-primary) + 12px);text-align:center}.fade-in-linear-enter-active .el-overlay-message-box{-webkit-animation:msgbox-fade-in var(--el-transition-duration);animation:msgbox-fade-in var(--el-transition-duration)}.fade-in-linear-leave-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration) reverse}@-webkit-keyframes msgbox-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes msgbox-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@-webkit-keyframes msgbox-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}}@keyframes msgbox-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}}.el-message{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-border-color-lighter);--el-message-padding:15px 19px;--el-message-close-size:16px;--el-message-close-icon-color:var(--el-text-color-placeholder);--el-message-close-hover-color:var(--el-text-color-secondary)}.el-message{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;max-width:calc(100% - 32px);box-sizing:border-box;border-radius:var(--el-border-radius-base);border-width:var(--el-border-width);border-style:var(--el-border-style);border-color:var(--el-message-border-color);position:fixed;left:50%;top:20px;transform:translate(-50%);background-color:var(--el-message-bg-color);transition:opacity var(--el-transition-duration),transform .4s,top .4s;padding:var(--el-message-padding);display:flex;align-items:center}.el-message.is-center{justify-content:center}.el-message.is-closable .el-message__content{padding-right:31px}.el-message p{margin:0}.el-message--success{--el-message-bg-color:var(--el-color-success-light-9);--el-message-border-color:var(--el-color-success-light-8);--el-message-text-color:var(--el-color-success)}.el-message--success .el-message__content{color:var(--el-message-text-color);overflow-wrap:anywhere}.el-message .el-message-icon--success{color:var(--el-message-text-color)}.el-message--info{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-color-info-light-8);--el-message-text-color:var(--el-color-info)}.el-message--info .el-message__content{color:var(--el-message-text-color);overflow-wrap:anywhere}.el-message .el-message-icon--info{color:var(--el-message-text-color)}.el-message--warning{--el-message-bg-color:var(--el-color-warning-light-9);--el-message-border-color:var(--el-color-warning-light-8);--el-message-text-color:var(--el-color-warning)}.el-message--warning .el-message__content{color:var(--el-message-text-color);overflow-wrap:anywhere}.el-message .el-message-icon--warning{color:var(--el-message-text-color)}.el-message--error{--el-message-bg-color:var(--el-color-error-light-9);--el-message-border-color:var(--el-color-error-light-8);--el-message-text-color:var(--el-color-error)}.el-message--error .el-message__content{color:var(--el-message-text-color);overflow-wrap:anywhere}.el-message .el-message-icon--error{color:var(--el-message-text-color)}.el-message__icon{margin-right:10px}.el-message .el-message__badge{position:absolute;top:-8px;right:-8px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__content:focus{outline-width:0}.el-message .el-message__closeBtn{position:absolute;top:50%;right:19px;transform:translateY(-50%);cursor:pointer;color:var(--el-message-close-icon-color);font-size:var(--el-message-close-size)}.el-message .el-message__closeBtn:focus{outline-width:0}.el-message .el-message__closeBtn:hover{color:var(--el-message-close-hover-color)}.el-message-fade-enter-from,.el-message-fade-leave-to{opacity:0;transform:translate(-50%,-100%)}.el-notification{--el-notification-width:330px;--el-notification-padding:14px 26px 14px 13px;--el-notification-radius:8px;--el-notification-shadow:var(--el-box-shadow-light);--el-notification-border-color:var(--el-border-color-lighter);--el-notification-icon-size:24px;--el-notification-close-font-size:var(--el-message-close-size, 16px);--el-notification-group-margin-left:13px;--el-notification-group-margin-right:8px;--el-notification-content-font-size:var(--el-font-size-base);--el-notification-content-color:var(--el-text-color-regular);--el-notification-title-font-size:16px;--el-notification-title-color:var(--el-text-color-primary);--el-notification-close-color:var(--el-text-color-secondary);--el-notification-close-hover-color:var(--el-text-color-regular)}.el-notification{display:flex;width:var(--el-notification-width);padding:var(--el-notification-padding);border-radius:var(--el-notification-radius);box-sizing:border-box;border:1px solid var(--el-notification-border-color);position:fixed;background-color:var(--el-bg-color-overlay);box-shadow:var(--el-notification-shadow);transition:opacity var(--el-transition-duration),transform var(--el-transition-duration),left var(--el-transition-duration),right var(--el-transition-duration),top .4s,bottom var(--el-transition-duration);overflow-wrap:anywhere;overflow:hidden;z-index:9999}.el-notification.right{right:16px}.el-notification.left{left:16px}.el-notification__group{margin-left:var(--el-notification-group-margin-left);margin-right:var(--el-notification-group-margin-right)}.el-notification__title{font-weight:700;font-size:var(--el-notification-title-font-size);line-height:var(--el-notification-icon-size);color:var(--el-notification-title-color);margin:0}.el-notification__content{font-size:var(--el-notification-content-font-size);line-height:24px;margin:6px 0 0;color:var(--el-notification-content-color);text-align:justify}.el-notification__content p{margin:0}.el-notification .el-notification__icon{height:var(--el-notification-icon-size);width:var(--el-notification-icon-size);font-size:var(--el-notification-icon-size)}.el-notification .el-notification__closeBtn{position:absolute;top:18px;right:15px;cursor:pointer;color:var(--el-notification-close-color);font-size:var(--el-notification-close-font-size)}.el-notification .el-notification__closeBtn:hover{color:var(--el-notification-close-hover-color)}.el-notification .el-notification--success{--el-notification-icon-color:var(--el-color-success);color:var(--el-notification-icon-color)}.el-notification .el-notification--info{--el-notification-icon-color:var(--el-color-info);color:var(--el-notification-icon-color)}.el-notification .el-notification--warning{--el-notification-icon-color:var(--el-color-warning);color:var(--el-notification-icon-color)}.el-notification .el-notification--error{--el-notification-icon-color:var(--el-color-error);color:var(--el-notification-icon-color)}.el-notification-fade-enter-from.right{right:0;transform:translate(100%)}.el-notification-fade-enter-from.left{left:0;transform:translate(-100%)}.el-notification-fade-leave-to{opacity:0}.el-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;height:100%;background-color:var(--el-overlay-color-lighter);overflow:auto}.el-overlay .el-overlay-root{height:0}.el-page-header.is-contentful .el-page-header__main{border-top:1px solid var(--el-border-color-light);margin-top:16px}.el-page-header__header{display:flex;align-items:center;justify-content:space-between;line-height:24px}.el-page-header__left{display:flex;align-items:center;margin-right:40px;position:relative}.el-page-header__back{display:flex;align-items:center;cursor:pointer}.el-page-header__left .el-divider--vertical{margin:0 16px}.el-page-header__icon{font-size:16px;margin-right:10px;display:flex;align-items:center}.el-page-header__icon .el-icon{font-size:inherit}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{font-size:18px;color:var(--el-text-color-primary)}.el-page-header__breadcrumb{margin-bottom:16px}.el-pagination{--el-pagination-font-size:14px;--el-pagination-bg-color:var(--el-fill-color-blank);--el-pagination-text-color:var(--el-text-color-primary);--el-pagination-border-radius:2px;--el-pagination-button-color:var(--el-text-color-primary);--el-pagination-button-width:32px;--el-pagination-button-height:32px;--el-pagination-button-disabled-color:var(--el-text-color-placeholder);--el-pagination-button-disabled-bg-color:var(--el-fill-color-blank);--el-pagination-button-bg-color:var(--el-fill-color);--el-pagination-hover-color:var(--el-color-primary);--el-pagination-font-size-small:12px;--el-pagination-button-width-small:24px;--el-pagination-button-height-small:24px;--el-pagination-item-gap:16px;white-space:nowrap;color:var(--el-pagination-text-color);font-size:var(--el-pagination-font-size);font-weight:400;display:flex;align-items:center}.el-pagination .el-input__inner{text-align:center;-moz-appearance:textfield}.el-pagination .el-select .el-input{width:128px}.el-pagination button{display:flex;justify-content:center;align-items:center;font-size:var(--el-pagination-font-size);min-width:var(--el-pagination-button-width);height:var(--el-pagination-button-height);line-height:var(--el-pagination-button-height);color:var(--el-pagination-button-color);background:var(--el-pagination-bg-color);padding:0 4px;border:none;border-radius:var(--el-pagination-border-radius);cursor:pointer;text-align:center;box-sizing:border-box}.el-pagination button *{pointer-events:none}.el-pagination button:focus{outline:0}.el-pagination button:hover{color:var(--el-pagination-hover-color)}.el-pagination button.is-active{color:var(--el-pagination-hover-color);cursor:default;font-weight:700}.el-pagination button.is-active.is-disabled{font-weight:700;color:var(--el-text-color-secondary)}.el-pagination button.is-disabled,.el-pagination button:disabled{color:var(--el-pagination-button-disabled-color);background-color:var(--el-pagination-button-disabled-bg-color);cursor:not-allowed}.el-pagination button:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px}.el-pagination .btn-next .el-icon,.el-pagination .btn-prev .el-icon{display:block;font-size:12px;font-weight:700;width:inherit}.el-pagination>.is-first{margin-left:0!important}.el-pagination>.is-last{margin-right:0!important}.el-pagination .btn-prev{margin-left:var(--el-pagination-item-gap)}.el-pagination__sizes,.el-pagination__total{margin-left:var(--el-pagination-item-gap);font-weight:400;color:var(--el-text-color-regular)}.el-pagination__total[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__jump{display:flex;align-items:center;margin-left:var(--el-pagination-item-gap);font-weight:400;color:var(--el-text-color-regular)}.el-pagination__jump[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__goto{margin-right:8px}.el-pagination__editor{text-align:center;box-sizing:border-box}.el-pagination__editor.el-input{width:56px}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button,.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination__classifier{margin-left:8px}.el-pagination__rightwrapper{flex:1;display:flex;align-items:center;justify-content:flex-end}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li{margin:0 4px;background-color:var(--el-pagination-button-bg-color)}.el-pagination.is-background .btn-next.is-active,.el-pagination.is-background .btn-prev.is-active,.el-pagination.is-background .el-pager li.is-active{background-color:var(--el-color-primary);color:var(--el-color-white)}.el-pagination.is-background .btn-next.is-disabled,.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-prev.is-disabled,.el-pagination.is-background .btn-prev:disabled,.el-pagination.is-background .el-pager li.is-disabled,.el-pagination.is-background .el-pager li:disabled{color:var(--el-text-color-placeholder);background-color:var(--el-disabled-bg-color)}.el-pagination.is-background .btn-next.is-disabled.is-active,.el-pagination.is-background .btn-next:disabled.is-active,.el-pagination.is-background .btn-prev.is-disabled.is-active,.el-pagination.is-background .btn-prev:disabled.is-active,.el-pagination.is-background .el-pager li.is-disabled.is-active,.el-pagination.is-background .el-pager li:disabled.is-active{color:var(--el-text-color-secondary);background-color:var(--el-fill-color-dark)}.el-pagination.is-background .btn-prev{margin-left:var(--el-pagination-item-gap)}.el-pagination--small .btn-next,.el-pagination--small .btn-prev,.el-pagination--small .el-pager li{height:var(--el-pagination-button-height-small);line-height:var(--el-pagination-button-height-small);font-size:var(--el-pagination-font-size-small);min-width:var(--el-pagination-button-width-small)}.el-pagination--small button,.el-pagination--small span:not([class*=suffix]){font-size:var(--el-pagination-font-size-small)}.el-pagination--small .el-select .el-input{width:100px}.el-pager{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;list-style:none;font-size:0;padding:0;margin:0;display:flex;align-items:center}.el-pager li{display:flex;justify-content:center;align-items:center;font-size:var(--el-pagination-font-size);min-width:var(--el-pagination-button-width);height:var(--el-pagination-button-height);line-height:var(--el-pagination-button-height);color:var(--el-pagination-button-color);background:var(--el-pagination-bg-color);padding:0 4px;border:none;border-radius:var(--el-pagination-border-radius);cursor:pointer;text-align:center;box-sizing:border-box}.el-pager li *{pointer-events:none}.el-pager li:focus{outline:0}.el-pager li:hover{color:var(--el-pagination-hover-color)}.el-pager li.is-active{color:var(--el-pagination-hover-color);cursor:default;font-weight:700}.el-pager li.is-active.is-disabled{font-weight:700;color:var(--el-text-color-secondary)}.el-pager li.is-disabled,.el-pager li:disabled{color:var(--el-pagination-button-disabled-color);background-color:var(--el-pagination-button-disabled-bg-color);cursor:not-allowed}.el-pager li:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px}.el-popconfirm__main{display:flex;align-items:center}.el-popconfirm__icon{margin-right:5px}.el-popconfirm__action{text-align:right;margin-top:8px}.el-popover{--el-popover-bg-color:var(--el-bg-color-overlay);--el-popover-font-size:var(--el-font-size-base);--el-popover-border-color:var(--el-border-color-lighter);--el-popover-padding:12px;--el-popover-padding-large:18px 20px;--el-popover-title-font-size:16px;--el-popover-title-text-color:var(--el-text-color-primary);--el-popover-border-radius:4px}.el-popover.el-popper{background:var(--el-popover-bg-color);min-width:150px;border-radius:var(--el-popover-border-radius);border:1px solid var(--el-popover-border-color);padding:var(--el-popover-padding);z-index:var(--el-index-popper);color:var(--el-text-color-regular);line-height:1.4;text-align:justify;font-size:var(--el-popover-font-size);box-shadow:var(--el-box-shadow-light);word-break:break-all;box-sizing:border-box}.el-popover.el-popper--plain{padding:var(--el-popover-padding-large)}.el-popover__title{color:var(--el-popover-title-text-color);font-size:var(--el-popover-title-font-size);line-height:1;margin-bottom:12px}.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing){outline-width:0}.el-popover.el-popper.is-dark{--el-popover-bg-color:var(--el-text-color-primary);--el-popover-border-color:var(--el-text-color-primary);--el-popover-title-text-color:var(--el-bg-color);color:var(--el-bg-color)}.el-popover.el-popper:focus,.el-popover.el-popper:focus:active{outline-width:0}.el-progress{position:relative;line-height:1;display:flex;align-items:center}.el-progress__text{font-size:14px;color:var(--el-text-color-regular);margin-left:5px;min-width:50px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;transform:translateY(-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:var(--el-color-success)}.el-progress.is-success .el-progress__text{color:var(--el-color-success)}.el-progress.is-warning .el-progress-bar__inner{background-color:var(--el-color-warning)}.el-progress.is-warning .el-progress__text{color:var(--el-color-warning)}.el-progress.is-exception .el-progress-bar__inner{background-color:var(--el-color-danger)}.el-progress.is-exception .el-progress__text{color:var(--el-color-danger)}.el-progress-bar{flex-grow:1;box-sizing:border-box}.el-progress-bar__outer{height:6px;border-radius:100px;background-color:var(--el-border-color-lighter);overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{position:absolute;left:0;top:0;height:100%;background-color:var(--el-color-primary);text-align:right;border-radius:100px;line-height:1;white-space:nowrap;transition:width .6s ease}.el-progress-bar__inner:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-progress-bar__inner--indeterminate{transform:translateZ(0);-webkit-animation:indeterminate 3s infinite;animation:indeterminate 3s infinite}.el-progress-bar__inner--striped{background-image:linear-gradient(45deg,rgba(0,0,0,.1) 25%,transparent 25%,transparent 50%,rgba(0,0,0,.1) 50%,rgba(0,0,0,.1) 75%,transparent 75%,transparent);background-size:1.25em 1.25em}.el-progress-bar__inner--striped.el-progress-bar__inner--striped-flow{-webkit-animation:striped-flow 3s linear infinite;animation:striped-flow 3s linear infinite}.el-progress-bar__innerText{display:inline-block;vertical-align:middle;color:#fff;font-size:12px;margin:0 5px}@-webkit-keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}@keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}@-webkit-keyframes indeterminate{0%{left:-100%}to{left:100%}}@keyframes indeterminate{0%{left:-100%}to{left:100%}}@-webkit-keyframes striped-flow{0%{background-position:-100%}to{background-position:100%}}@keyframes striped-flow{0%{background-position:-100%}to{background-position:100%}}.el-radio-button{--el-radio-button-checked-bg-color:var(--el-color-primary);--el-radio-button-checked-text-color:var(--el-color-white);--el-radio-button-checked-border-color:var(--el-color-primary);--el-radio-button-disabled-checked-fill:var(--el-border-color-extra-light)}.el-radio-button{position:relative;display:inline-block;outline:0}.el-radio-button__inner{display:inline-block;line-height:1;white-space:nowrap;vertical-align:middle;background:var(--el-button-bg-color,var(--el-fill-color-blank));border:var(--el-border);font-weight:var(--el-button-font-weight,var(--el-font-weight-primary));border-left:0;color:var(--el-button-text-color,var(--el-text-color-regular));-webkit-appearance:none;text-align:center;box-sizing:border-box;outline:0;margin:0;position:relative;cursor:pointer;transition:var(--el-transition-all);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:8px 15px;font-size:var(--el-font-size-base);border-radius:0}.el-radio-button__inner.is-round{padding:8px 15px}.el-radio-button__inner:hover{color:var(--el-color-primary)}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-left:var(--el-border);border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);box-shadow:none!important}.el-radio-button__original-radio{opacity:0;outline:0;position:absolute;z-index:-1}.el-radio-button__original-radio:checked+.el-radio-button__inner{color:var(--el-radio-button-checked-text-color,var(--el-color-white));background-color:var(--el-radio-button-checked-bg-color,var(--el-color-primary));border-color:var(--el-radio-button-checked-border-color,var(--el-color-primary));box-shadow:-1px 0 0 0 var(--el-radio-button-checked-border-color,var(--el-color-primary))}.el-radio-button__original-radio:focus-visible+.el-radio-button__inner{border-left:var(--el-border);border-left-color:var(--el-radio-button-checked-border-color,var(--el-color-primary));outline:2px solid var(--el-radio-button-checked-border-color);outline-offset:1px;z-index:2;border-radius:var(--el-border-radius-base);box-shadow:none}.el-radio-button__original-radio:disabled+.el-radio-button__inner{color:var(--el-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--el-button-disabled-bg-color,var(--el-fill-color-blank));border-color:var(--el-button-disabled-border-color,var(--el-border-color-light));box-shadow:none}.el-radio-button__original-radio:disabled:checked+.el-radio-button__inner{background-color:var(--el-radio-button-disabled-checked-fill)}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0}.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:var(--el-border-radius-base)}.el-radio-button--large .el-radio-button__inner{padding:12px 19px;font-size:var(--el-font-size-base);border-radius:0}.el-radio-button--large .el-radio-button__inner.is-round{padding:12px 19px}.el-radio-button--small .el-radio-button__inner{padding:5px 11px;font-size:12px;border-radius:0}.el-radio-button--small .el-radio-button__inner.is-round{padding:5px 11px}.el-radio-group{display:inline-flex;align-items:center;flex-wrap:wrap;font-size:0}.el-radio{--el-radio-font-size:var(--el-font-size-base);--el-radio-text-color:var(--el-text-color-regular);--el-radio-font-weight:var(--el-font-weight-primary);--el-radio-input-height:14px;--el-radio-input-width:14px;--el-radio-input-border-radius:var(--el-border-radius-circle);--el-radio-input-bg-color:var(--el-fill-color-blank);--el-radio-input-border:var(--el-border);--el-radio-input-border-color:var(--el-border-color);--el-radio-input-border-color-hover:var(--el-color-primary)}.el-radio{color:var(--el-radio-text-color);font-weight:var(--el-radio-font-weight);position:relative;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;outline:0;font-size:var(--el-font-size-base);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:32px;height:32px}.el-radio.el-radio--large{height:40px}.el-radio.el-radio--small{height:24px}.el-radio.is-bordered{padding:0 15px 0 9px;border-radius:var(--el-border-radius-base);border:var(--el-border);box-sizing:border-box}.el-radio.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:var(--el-border-color-lighter)}.el-radio.is-bordered.el-radio--large{padding:0 19px 0 11px;border-radius:var(--el-border-radius-base)}.el-radio.is-bordered.el-radio--large .el-radio__label{font-size:var(--el-font-size-base)}.el-radio.is-bordered.el-radio--large .el-radio__inner{height:14px;width:14px}.el-radio.is-bordered.el-radio--small{padding:0 11px 0 7px;border-radius:var(--el-border-radius-base)}.el-radio.is-bordered.el-radio--small .el-radio__label{font-size:12px}.el-radio.is-bordered.el-radio--small .el-radio__inner{height:12px;width:12px}.el-radio:last-child{margin-right:0}.el-radio__input{white-space:nowrap;cursor:pointer;outline:0;display:inline-flex;position:relative;vertical-align:middle}.el-radio__input.is-disabled .el-radio__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color);cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner:after{cursor:not-allowed;background-color:var(--el-disabled-bg-color)}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color)}.el-radio__input.is-disabled.is-checked .el-radio__inner:after{background-color:var(--el-text-color-placeholder)}.el-radio__input.is-disabled+span.el-radio__label{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:var(--el-color-primary);background:var(--el-color-primary)}.el-radio__input.is-checked .el-radio__inner:after{transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:var(--el-color-primary)}.el-radio__input.is-focus .el-radio__inner{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner{border:var(--el-radio-input-border);border-radius:var(--el-radio-input-border-radius);width:var(--el-radio-input-width);height:var(--el-radio-input-height);background-color:var(--el-radio-input-bg-color);position:relative;cursor:pointer;display:inline-block;box-sizing:border-box}.el-radio__inner:hover{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner:after{width:4px;height:4px;border-radius:var(--el-radio-input-border-radius);background-color:var(--el-color-white);content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(0);transition:transform .15s ease-in}.el-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.el-radio__original:focus-visible+.el-radio__inner{outline:2px solid var(--el-radio-input-border-color-hover);outline-offset:1px;border-radius:var(--el-radio-input-border-radius)}.el-radio:focus:not(:focus-visible):not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{box-shadow:0 0 2px 2px var(--el-radio-input-border-color-hover)}.el-radio__label{font-size:var(--el-radio-font-size);padding-left:8px}.el-radio.el-radio--large .el-radio__label{font-size:14px}.el-radio.el-radio--large .el-radio__inner{width:14px;height:14px}.el-radio.el-radio--small .el-radio__label{font-size:12px}.el-radio.el-radio--small .el-radio__inner{width:12px;height:12px}.el-rate{--el-rate-height:20px;--el-rate-font-size:var(--el-font-size-base);--el-rate-icon-size:18px;--el-rate-icon-margin:6px;--el-rate-void-color:var(--el-border-color-darker);--el-rate-fill-color:#f7ba2a;--el-rate-disabled-void-color:var(--el-fill-color);--el-rate-text-color:var(--el-text-color-primary)}.el-rate{display:inline-flex;align-items:center;height:32px}.el-rate:active,.el-rate:focus{outline:0}.el-rate__item{cursor:pointer;display:inline-block;position:relative;font-size:0;vertical-align:middle;color:var(--el-rate-void-color);line-height:normal}.el-rate .el-rate__icon{position:relative;display:inline-block;font-size:var(--el-rate-icon-size);margin-right:var(--el-rate-icon-margin);transition:var(--el-transition-duration)}.el-rate .el-rate__icon.hover{transform:scale(1.15)}.el-rate .el-rate__icon .path2{position:absolute;left:0;top:0}.el-rate .el-rate__icon.is-active{color:var(--el-rate-fill-color)}.el-rate__decimal{position:absolute;top:0;left:0;display:inline-block;overflow:hidden;color:var(--el-rate-fill-color)}.el-rate__text{font-size:var(--el-rate-font-size);vertical-align:middle;color:var(--el-rate-text-color)}.el-rate--large{height:40px}.el-rate--small{height:24px}.el-rate--small .el-rate__icon{font-size:14px}.el-rate.is-disabled .el-rate__item{cursor:auto;color:var(--el-rate-disabled-void-color)}.el-result{--el-result-padding:40px 30px;--el-result-icon-font-size:64px;--el-result-title-font-size:20px;--el-result-title-margin-top:20px;--el-result-subtitle-margin-top:10px;--el-result-extra-margin-top:30px}.el-result{display:flex;justify-content:center;align-items:center;flex-direction:column;text-align:center;box-sizing:border-box;padding:var(--el-result-padding)}.el-result__icon svg{width:var(--el-result-icon-font-size);height:var(--el-result-icon-font-size)}.el-result__title{margin-top:var(--el-result-title-margin-top)}.el-result__title p{margin:0;font-size:var(--el-result-title-font-size);color:var(--el-text-color-primary);line-height:1.3}.el-result__subtitle{margin-top:var(--el-result-subtitle-margin-top)}.el-result__subtitle p{margin:0;font-size:var(--el-font-size-base);color:var(--el-text-color-regular);line-height:1.3}.el-result__extra{margin-top:var(--el-result-extra-margin-top)}.el-result .icon-primary{--el-result-color:var(--el-color-primary);color:var(--el-result-color)}.el-result .icon-success{--el-result-color:var(--el-color-success);color:var(--el-result-color)}.el-result .icon-warning{--el-result-color:var(--el-color-warning);color:var(--el-result-color)}.el-result .icon-danger{--el-result-color:var(--el-color-danger);color:var(--el-result-color)}.el-result .icon-error{--el-result-color:var(--el-color-error);color:var(--el-result-color)}.el-result .icon-info{--el-result-color:var(--el-color-info);color:var(--el-result-color)}.el-row{display:flex;flex-wrap:wrap;position:relative;box-sizing:border-box}.el-row.is-justify-center{justify-content:center}.el-row.is-justify-end{justify-content:flex-end}.el-row.is-justify-space-between{justify-content:space-between}.el-row.is-justify-space-around{justify-content:space-around}.el-row.is-justify-space-evenly{justify-content:space-evenly}.el-row.is-align-top{align-items:flex-start}.el-row.is-align-middle{align-items:center}.el-row.is-align-bottom{align-items:flex-end}.el-scrollbar{--el-scrollbar-opacity:.3;--el-scrollbar-bg-color:var(--el-text-color-secondary);--el-scrollbar-hover-opacity:.5;--el-scrollbar-hover-bg-color:var(--el-text-color-secondary)}.el-scrollbar{overflow:hidden;position:relative;height:100%}.el-scrollbar__wrap{overflow:auto;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{display:none}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:var(--el-scrollbar-bg-color,var(--el-text-color-secondary));transition:var(--el-transition-duration) background-color;opacity:var(--el-scrollbar-opacity,.3)}.el-scrollbar__thumb:hover{background-color:var(--el-scrollbar-hover-bg-color,var(--el-text-color-secondary));opacity:var(--el-scrollbar-hover-opacity,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-scrollbar-fade-enter-active{transition:opacity .34s ease-out}.el-scrollbar-fade-leave-active{transition:opacity .12s ease-out}.el-scrollbar-fade-enter-from,.el-scrollbar-fade-leave-active{opacity:0}.el-select-dropdown__option-item.is-selected:not(.is-multiple).is-disabled{color:var(--el-text-color-disabled)}.el-select-dropdown__option-item.is-selected:not(.is-multiple).is-disabled:after{background-color:var(--el-text-color-disabled)}.el-select-dropdown__option-item:hover:not(.hover){background-color:transparent}.el-select-dropdown.is-multiple .el-select-dropdown__option-item.is-disabled.is-selected{color:var(--el-text-color-disabled)}.el-select-dropdown__list{list-style:none;margin:6px 0!important;padding:0!important;box-sizing:border-box}.el-select-dropdown__option-item{font-size:var(--el-select-font-size);padding:0 32px 0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--el-text-color-regular);height:34px;line-height:34px;box-sizing:border-box;cursor:pointer}.el-select-dropdown__option-item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-select-dropdown__option-item.is-disabled:hover{background-color:var(--el-bg-color)}.el-select-dropdown__option-item.is-selected{background-color:var(--el-fill-color-light);font-weight:700}.el-select-dropdown__option-item.is-selected:not(.is-multiple){color:var(--el-color-primary)}.el-select-dropdown__option-item.hover{background-color:var(--el-fill-color-light)!important}.el-select-dropdown__option-item:hover{background-color:var(--el-fill-color-light)}.el-select-dropdown.is-multiple .el-select-dropdown__option-item.is-selected{color:var(--el-color-primary);background-color:var(--el-bg-color-overlay)}.el-select-dropdown.is-multiple .el-select-dropdown__option-item.is-selected .el-icon{position:absolute;right:20px;top:0;height:inherit;font-size:12px}.el-select-dropdown.is-multiple .el-select-dropdown__option-item.is-selected .el-icon svg{height:inherit;vertical-align:middle}.el-select-group{margin:0;padding:0}.el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.el-select-group__wrap:not(:last-of-type):after{content:"";position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:var(--el-border-color-light)}.el-select-group__split-dash{position:absolute;left:20px;right:20px;height:1px;background:var(--el-border-color-light)}.el-select-group__title{padding-left:20px;font-size:12px;color:var(--el-color-info);line-height:30px}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select-v2{--el-select-border-color-hover:var(--el-border-color-hover);--el-select-disabled-border:var(--el-disabled-border-color);--el-select-font-size:var(--el-font-size-base);--el-select-close-hover-color:var(--el-text-color-secondary);--el-select-input-color:var(--el-text-color-placeholder);--el-select-multiple-input-color:var(--el-text-color-regular);--el-select-input-focus-border-color:var(--el-color-primary);--el-select-input-font-size:14px}.el-select-v2{display:inline-block;position:relative;vertical-align:middle;font-size:14px}.el-select-v2__wrapper{display:flex;align-items:center;flex-wrap:wrap;position:relative;box-sizing:border-box;cursor:pointer;padding:1px 30px 1px 0;border:1px solid var(--el-border-color);border-radius:var(--el-border-radius-base);background-color:var(--el-fill-color-blank);transition:var(--el-transition-duration)}.el-select-v2__wrapper:hover{border-color:var(--el-text-color-placeholder)}.el-select-v2__wrapper.is-filterable{cursor:text}.el-select-v2__wrapper.is-focused{border-color:var(--el-color-primary)}.el-select-v2__wrapper.is-hovering:not(.is-focused){border-color:var(--el-border-color-hover)}.el-select-v2__wrapper.is-disabled{cursor:not-allowed;background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);border-color:var(--el-select-disabled-border)}.el-select-v2__wrapper.is-disabled:hover{border-color:var(--el-select-disabled-border)}.el-select-v2__wrapper.is-disabled.is-focus{border-color:var(--el-input-focus-border-color)}.el-select-v2__wrapper.is-disabled .is-transparent{opacity:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-select-v2__wrapper.is-disabled .el-select-v2__caret,.el-select-v2__wrapper.is-disabled .el-select-v2__combobox-input{cursor:not-allowed}.el-select-v2__wrapper .el-select-v2__input-wrapper{box-sizing:border-box;position:relative;-webkit-margin-start:12px;margin-inline-start:12px;max-width:100%;overflow:hidden}.el-select-v2__wrapper,.el-select-v2__wrapper .el-select-v2__input-wrapper{line-height:32px}.el-select-v2__wrapper .el-select-v2__input-wrapper input{--el-input-inner-height:calc(var(--el-component-size, 32px) - 8px);height:var(--el-input-inner-height);line-height:var(--el-input-inner-height);min-width:4px;width:100%;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;border:none;margin:2px 0;outline:0;padding:0}.el-select-v2 .el-select-v2__tags-text{display:inline-block;line-height:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-select-v2__empty{padding:10px 0;margin:0;text-align:center;color:var(--el-text-color-secondary);font-size:14px}.el-select-v2__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-box-shadow-light)}.el-select-v2__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-select-v2__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:transparent;border-left-color:transparent}.el-select-v2__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-select-v2__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-left-color:transparent;border-bottom-color:transparent}.el-select-v2__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-select-v2--large .el-select-v2__wrapper .el-select-v2__combobox-input{height:32px}.el-select-v2--large .el-select-v2__caret,.el-select-v2--large .el-select-v2__suffix{height:40px}.el-select-v2--large .el-select-v2__placeholder{font-size:14px;line-height:40px}.el-select-v2--small .el-select-v2__wrapper .el-select-v2__combobox-input{height:16px}.el-select-v2--small .el-select-v2__caret,.el-select-v2--small .el-select-v2__suffix{height:24px}.el-select-v2--small .el-select-v2__placeholder{font-size:12px;line-height:24px}.el-select-v2 .el-select-v2__selection>span{display:inline-block}.el-select-v2:hover .el-select-v2__combobox-input{border-color:var(--el-select-border-color-hover)}.el-select-v2 .el-select__selection-text{text-overflow:ellipsis;display:inline-block;overflow-x:hidden;vertical-align:bottom}.el-select-v2 .el-select-v2__combobox-input{padding-right:35px;display:block;color:var(--el-text-color-regular)}.el-select-v2 .el-select-v2__combobox-input:focus{border-color:var(--el-select-input-focus-border-color)}.el-select-v2__input{border:none;outline:0;padding:0;margin-left:15px;color:var(--el-select-multiple-input-color);font-size:var(--el-select-font-size);-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px}.el-select-v2__input.is-small{height:14px}.el-select-v2__close{cursor:pointer;position:absolute;top:8px;z-index:var(--el-index-top);right:25px;color:var(--el-select-input-color);line-height:18px;font-size:var(--el-select-input-font-size)}.el-select-v2__close:hover{color:var(--el-select-close-hover-color)}.el-select-v2__suffix{display:inline-flex;position:absolute;right:12px;height:32px;top:50%;transform:translateY(-50%);color:var(--el-input-icon-color,var(--el-text-color-placeholder))}.el-select-v2__suffix .el-input__icon{height:inherit}.el-select-v2__suffix .el-input__icon:not(:first-child){margin-left:8px}.el-select-v2__caret{color:var(--el-select-input-color);font-size:var(--el-select-input-font-size);transition:var(--el-transition-duration);transform:rotate(180deg);cursor:pointer}.el-select-v2__caret.is-reverse{transform:rotate(0)}.el-select-v2__caret.is-show-close{font-size:var(--el-select-font-size);text-align:center;transform:rotate(180deg);border-radius:var(--el-border-radius-circle);color:var(--el-select-input-color);transition:var(--el-transition-color)}.el-select-v2__caret.is-show-close:hover{color:var(--el-select-close-hover-color)}.el-select-v2__caret.el-icon{height:inherit}.el-select-v2__caret.el-icon svg{vertical-align:middle}.el-select-v2__selection{white-space:normal;z-index:var(--el-index-normal);display:flex;align-items:center;flex-wrap:wrap;width:100%}.el-select-v2__input-calculator{left:0;position:absolute;top:0;visibility:hidden;white-space:pre;z-index:999}.el-select-v2__selected-item{line-height:inherit;height:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-wrap:wrap}.el-select-v2__placeholder{position:absolute;top:50%;transform:translateY(-50%);-webkit-margin-start:12px;margin-inline-start:12px;width:calc(100% - 52px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--el-input-text-color,var(--el-text-color-regular))}.el-select-v2__placeholder.is-transparent{color:var(--el-text-color-placeholder)}.el-select-v2 .el-select-v2__selection .el-tag{box-sizing:border-box;border-color:transparent;margin:2px 0 2px 6px;background-color:var(--el-fill-color)}.el-select-v2 .el-select-v2__selection .el-tag .el-icon-close{background-color:var(--el-text-color-placeholder);right:-7px;color:var(--el-color-white)}.el-select-v2 .el-select-v2__selection .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-select-v2 .el-select-v2__selection .el-tag .el-icon-close:before{display:block;transform:translateY(.5px)}.el-select-v2.el-select-v2--small .el-select-v2__selection .el-tag{margin:1px 0 1px 6px;height:18px}.el-select-dropdown{z-index:calc(var(--el-index-top) + 1);border-radius:var(--el-border-radius-base);box-sizing:border-box}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:var(--el-color-primary);background-color:var(--el-bg-color-overlay)}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:var(--el-fill-color-light)}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected:after{content:"";position:absolute;top:50%;right:20px;border-top:none;border-right:none;background-repeat:no-repeat;background-position:center;background-color:var(--el-color-primary);-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;mask-size:100% 100%;-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;-webkit-mask-size:100% 100%;transform:translateY(-50%);width:12px;height:12px}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.is-disabled:after{background-color:var(--el-text-color-disabled)}.el-select-dropdown .el-select-dropdown__option-item.is-selected:after{content:"";position:absolute;top:50%;right:20px;border-top:none;border-right:none;background-repeat:no-repeat;background-position:center;background-color:var(--el-color-primary);-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;mask-size:100% 100%;-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;-webkit-mask-size:100% 100%;transform:translateY(-50%);width:12px;height:12px}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown .el-select-dropdown__item.is-disabled:hover{background-color:unset}.el-select-dropdown .el-select-dropdown__item.is-disabled.selected{color:var(--el-text-color-disabled)}.el-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:var(--el-text-color-secondary);font-size:var(--el-select-font-size)}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{list-style:none;padding:6px 0;margin:0;box-sizing:border-box}.el-select{--el-select-border-color-hover:var(--el-border-color-hover);--el-select-disabled-border:var(--el-disabled-border-color);--el-select-font-size:var(--el-font-size-base);--el-select-close-hover-color:var(--el-text-color-secondary);--el-select-input-color:var(--el-text-color-placeholder);--el-select-multiple-input-color:var(--el-text-color-regular);--el-select-input-focus-border-color:var(--el-color-primary);--el-select-input-font-size:14px}.el-select{display:inline-block;position:relative;vertical-align:middle;line-height:32px}.el-select__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-box-shadow-light)}.el-select__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-select__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:transparent;border-left-color:transparent}.el-select__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-select__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-left-color:transparent;border-bottom-color:transparent}.el-select__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-select .el-select-tags-wrapper.has-prefix{margin-left:6px}.el-select--large{line-height:40px}.el-select--large .el-select-tags-wrapper.has-prefix{margin-left:8px}.el-select--small{line-height:24px}.el-select--small .el-select-tags-wrapper.has-prefix{margin-left:4px}.el-select .el-select__tags>span{display:inline-block}.el-select:hover:not(.el-select--disabled) .el-input__wrapper{box-shadow:0 0 0 1px var(--el-select-border-color-hover) inset}.el-select .el-select__tags-text{display:inline-block;line-height:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-select .el-input__wrapper{cursor:pointer}.el-select .el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-select-input-focus-border-color) inset!important}.el-select .el-input__inner{cursor:pointer}.el-select .el-input{display:flex}.el-select .el-input .el-select__caret{color:var(--el-select-input-color);font-size:var(--el-select-input-font-size);transition:transform var(--el-transition-duration);transform:rotate(0);cursor:pointer}.el-select .el-input .el-select__caret.is-reverse{transform:rotate(-180deg)}.el-select .el-input .el-select__caret.is-show-close{font-size:var(--el-select-font-size);text-align:center;transform:rotate(0);border-radius:var(--el-border-radius-circle);color:var(--el-select-input-color);transition:var(--el-transition-color)}.el-select .el-input .el-select__caret.is-show-close:hover{color:var(--el-select-close-hover-color)}.el-select .el-input .el-select__caret.el-icon{position:relative;height:inherit;z-index:2}.el-select .el-input.is-disabled .el-input__wrapper{cursor:not-allowed}.el-select .el-input.is-disabled .el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-select-disabled-border) inset}.el-select .el-input.is-disabled .el-input__inner,.el-select .el-input.is-disabled .el-select__caret{cursor:not-allowed}.el-select .el-input.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--el-select-input-focus-border-color) inset!important}.el-select__input{border:none;outline:0;padding:0;margin-left:15px;color:var(--el-select-multiple-input-color);font-size:var(--el-select-font-size);-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;background-color:transparent}.el-select__input.is-disabled{cursor:not-allowed}.el-select__input--iOS{position:absolute;left:0;top:0;z-index:6}.el-select__input.is-small{height:14px}.el-select__close{cursor:pointer;position:absolute;top:8px;z-index:var(--el-index-top);right:25px;color:var(--el-select-input-color);line-height:18px;font-size:var(--el-select-input-font-size)}.el-select__close:hover{color:var(--el-select-close-hover-color)}.el-select__tags{position:absolute;line-height:normal;top:50%;transform:translateY(-50%);white-space:normal;z-index:var(--el-index-normal);display:flex;align-items:center;flex-wrap:wrap;cursor:pointer}.el-select__tags .el-tag{box-sizing:border-box;border-color:transparent;margin:2px 6px 2px 0}.el-select__tags .el-tag:last-child{margin-right:0}.el-select__tags .el-tag .el-icon-close{background-color:var(--el-text-color-placeholder);right:-7px;top:0;color:#fff}.el-select__tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-select__tags .el-tag .el-icon-close:before{display:block;transform:translateY(.5px)}.el-select__tags .el-tag--info{background-color:var(--el-fill-color)}.el-select__tags.is-disabled{cursor:not-allowed}.el-select__collapse-tags{white-space:normal;z-index:var(--el-index-normal);display:flex;align-items:center;flex-wrap:wrap;cursor:pointer}.el-select__collapse-tags .el-tag{box-sizing:border-box;border-color:transparent;margin:2px 6px 2px 0}.el-select__collapse-tags .el-tag:last-child{margin-right:0}.el-select__collapse-tags .el-tag .el-icon-close{background-color:var(--el-text-color-placeholder);right:-7px;top:0;color:#fff}.el-select__collapse-tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-select__collapse-tags .el-tag .el-icon-close:before{display:block;transform:translateY(.5px)}.el-select__collapse-tags .el-tag--info{background-color:var(--el-fill-color)}.el-select__collapse-tag{line-height:inherit;height:inherit;display:flex}.el-skeleton{--el-skeleton-circle-size:var(--el-avatar-size)}.el-skeleton__item{background:var(--el-skeleton-color);display:inline-block;height:16px;border-radius:var(--el-border-radius-base);width:100%}.el-skeleton__circle{border-radius:50%;width:var(--el-skeleton-circle-size);height:var(--el-skeleton-circle-size);line-height:var(--el-skeleton-circle-size)}.el-skeleton__button{height:40px;width:64px;border-radius:4px}.el-skeleton__p{width:100%}.el-skeleton__p.is-last{width:61%}.el-skeleton__p.is-first{width:33%}.el-skeleton__text{width:100%;height:var(--el-font-size-small)}.el-skeleton__caption{height:var(--el-font-size-extra-small)}.el-skeleton__h1{height:var(--el-font-size-extra-large)}.el-skeleton__h3{height:var(--el-font-size-large)}.el-skeleton__h5{height:var(--el-font-size-medium)}.el-skeleton__image{width:unset;display:flex;align-items:center;justify-content:center;border-radius:0}.el-skeleton__image svg{color:var(--el-svg-monochrome-grey);fill:currentColor;width:22%;height:22%}.el-skeleton{--el-skeleton-color:var(--el-fill-color);--el-skeleton-to-color:var(--el-fill-color-darker)}@-webkit-keyframes el-skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}@keyframes el-skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}.el-skeleton{width:100%}.el-skeleton__first-line,.el-skeleton__paragraph{height:16px;margin-top:16px;background:var(--el-skeleton-color)}.el-skeleton.is-animated .el-skeleton__item{background:linear-gradient(90deg,var(--el-skeleton-color) 25%,var(--el-skeleton-to-color) 37%,var(--el-skeleton-color) 63%);background-size:400% 100%;-webkit-animation:el-skeleton-loading 1.4s ease infinite;animation:el-skeleton-loading 1.4s ease infinite}.el-slider{--el-slider-main-bg-color:var(--el-color-primary);--el-slider-runway-bg-color:var(--el-border-color-light);--el-slider-stop-bg-color:var(--el-color-white);--el-slider-disabled-color:var(--el-text-color-placeholder);--el-slider-border-radius:3px;--el-slider-height:6px;--el-slider-button-size:20px;--el-slider-button-wrapper-size:36px;--el-slider-button-wrapper-offset:-15px}.el-slider{width:100%;height:32px;display:flex;align-items:center}.el-slider__runway{flex:1;height:var(--el-slider-height);background-color:var(--el-slider-runway-bg-color);border-radius:var(--el-slider-border-radius);position:relative;cursor:pointer}.el-slider__runway.show-input{margin-right:30px;width:auto}.el-slider__runway.is-disabled{cursor:default}.el-slider__runway.is-disabled .el-slider__bar{background-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button{border-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button-wrapper.hover,.el-slider__runway.is-disabled .el-slider__button-wrapper:hover,.el-slider__runway.is-disabled .el-slider__button-wrapper.dragging{cursor:not-allowed}.el-slider__runway.is-disabled .el-slider__button.dragging,.el-slider__runway.is-disabled .el-slider__button.hover,.el-slider__runway.is-disabled .el-slider__button:hover{transform:scale(1)}.el-slider__runway.is-disabled .el-slider__button.hover,.el-slider__runway.is-disabled .el-slider__button:hover,.el-slider__runway.is-disabled .el-slider__button.dragging{cursor:not-allowed}.el-slider__input{flex-shrink:0;width:130px}.el-slider__bar{height:var(--el-slider-height);background-color:var(--el-slider-main-bg-color);border-top-left-radius:var(--el-slider-border-radius);border-bottom-left-radius:var(--el-slider-border-radius);position:absolute}.el-slider__button-wrapper{height:var(--el-slider-button-wrapper-size);width:var(--el-slider-button-wrapper-size);position:absolute;z-index:1;top:var(--el-slider-button-wrapper-offset);transform:translate(-50%);background-color:transparent;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:normal;outline:0}.el-slider__button-wrapper:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-slider__button-wrapper.hover,.el-slider__button-wrapper:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button-wrapper.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__button{display:inline-block;width:var(--el-slider-button-size);height:var(--el-slider-button-size);vertical-align:middle;border:solid 2px var(--el-slider-main-bg-color);background-color:var(--el-color-white);border-radius:50%;box-sizing:border-box;transition:var(--el-transition-duration-fast);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-slider__button.dragging,.el-slider__button.hover,.el-slider__button:hover{transform:scale(1.2)}.el-slider__button.hover,.el-slider__button:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__stop{position:absolute;height:var(--el-slider-height);width:var(--el-slider-height);border-radius:var(--el-border-radius-circle);background-color:var(--el-slider-stop-bg-color);transform:translate(-50%)}.el-slider__marks{top:0;left:12px;width:18px;height:100%}.el-slider__marks-text{position:absolute;transform:translate(-50%);font-size:14px;color:var(--el-color-info);margin-top:15px;white-space:pre}.el-slider.is-vertical{position:relative;display:inline-flex;width:auto;height:100%;flex:0}.el-slider.is-vertical .el-slider__runway{width:var(--el-slider-height);height:100%;margin:0 16px}.el-slider.is-vertical .el-slider__bar{width:var(--el-slider-height);height:auto;border-radius:0 0 3px 3px}.el-slider.is-vertical .el-slider__button-wrapper{top:auto;left:var(--el-slider-button-wrapper-offset);transform:translateY(50%)}.el-slider.is-vertical .el-slider__stop{transform:translateY(50%)}.el-slider.is-vertical .el-slider__marks-text{margin-top:0;left:15px;transform:translateY(50%)}.el-slider--large{height:40px}.el-slider--small{height:24px}.el-space{display:inline-flex;vertical-align:top}.el-space__item{display:flex;flex-wrap:wrap}.el-space__item>*{flex:1}.el-space--vertical{flex-direction:column}.el-time-spinner{width:100%;white-space:nowrap}.el-spinner{display:inline-block;vertical-align:middle}.el-spinner-inner{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;width:50px;height:50px}.el-spinner-inner .path{stroke:var(--el-border-color-lighter);stroke-linecap:round;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite}@-webkit-keyframes rotate{to{transform:rotate(360deg)}}@keyframes rotate{to{transform:rotate(360deg)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.el-step{position:relative;flex-shrink:1}.el-step:last-of-type .el-step__line{display:none}.el-step:last-of-type.is-flex{flex-basis:auto!important;flex-shrink:0;flex-grow:0}.el-step:last-of-type .el-step__description,.el-step:last-of-type .el-step__main{padding-right:0}.el-step__head{position:relative;width:100%}.el-step__head.is-process{color:var(--el-text-color-primary);border-color:var(--el-text-color-primary)}.el-step__head.is-wait{color:var(--el-text-color-placeholder);border-color:var(--el-text-color-placeholder)}.el-step__head.is-success{color:var(--el-color-success);border-color:var(--el-color-success)}.el-step__head.is-error{color:var(--el-color-danger);border-color:var(--el-color-danger)}.el-step__head.is-finish{color:var(--el-color-primary);border-color:var(--el-color-primary)}.el-step__icon{position:relative;z-index:1;display:inline-flex;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;box-sizing:border-box;background:var(--el-bg-color);transition:.15s ease-out}.el-step__icon.is-text{border-radius:50%;border:2px solid;border-color:inherit}.el-step__icon.is-icon{width:40px}.el-step__icon-inner{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:center;font-weight:700;line-height:1;color:inherit}.el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:400}.el-step__icon-inner.is-status{transform:translateY(1px)}.el-step__line{position:absolute;border-color:inherit;background-color:var(--el-text-color-placeholder)}.el-step__line-inner{display:block;border-width:1px;border-style:solid;border-color:inherit;transition:.15s ease-out;box-sizing:border-box;width:0;height:0}.el-step__main{white-space:normal;text-align:left}.el-step__title{font-size:16px;line-height:38px}.el-step__title.is-process{font-weight:700;color:var(--el-text-color-primary)}.el-step__title.is-wait{color:var(--el-text-color-placeholder)}.el-step__title.is-success{color:var(--el-color-success)}.el-step__title.is-error{color:var(--el-color-danger)}.el-step__title.is-finish{color:var(--el-color-primary)}.el-step__description{padding-right:10%;margin-top:-5px;font-size:12px;line-height:20px;font-weight:400}.el-step__description.is-process{color:var(--el-text-color-primary)}.el-step__description.is-wait{color:var(--el-text-color-placeholder)}.el-step__description.is-success{color:var(--el-color-success)}.el-step__description.is-error{color:var(--el-color-danger)}.el-step__description.is-finish{color:var(--el-color-primary)}.el-step.is-horizontal{display:inline-block}.el-step.is-horizontal .el-step__line{height:2px;top:11px;left:0;right:0}.el-step.is-vertical{display:flex}.el-step.is-vertical .el-step__head{flex-grow:0;width:24px}.el-step.is-vertical .el-step__main{padding-left:10px;flex-grow:1}.el-step.is-vertical .el-step__title{line-height:24px;padding-bottom:8px}.el-step.is-vertical .el-step__line{width:2px;top:0;bottom:0;left:11px}.el-step.is-vertical .el-step__icon.is-icon{width:24px}.el-step.is-center .el-step__head,.el-step.is-center .el-step__main{text-align:center}.el-step.is-center .el-step__description{padding-left:20%;padding-right:20%}.el-step.is-center .el-step__line{left:50%;right:-50%}.el-step.is-simple{display:flex;align-items:center}.el-step.is-simple .el-step__head{width:auto;font-size:0;padding-right:10px}.el-step.is-simple .el-step__icon{background:0 0;width:16px;height:16px;font-size:12px}.el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:18px}.el-step.is-simple .el-step__icon-inner.is-status{transform:scale(.8) translateY(1px)}.el-step.is-simple .el-step__main{position:relative;display:flex;align-items:stretch;flex-grow:1}.el-step.is-simple .el-step__title{font-size:16px;line-height:20px}.el-step.is-simple:not(:last-of-type) .el-step__title{max-width:50%;word-break:break-all}.el-step.is-simple .el-step__arrow{flex-grow:1;display:flex;align-items:center;justify-content:center}.el-step.is-simple .el-step__arrow:after,.el-step.is-simple .el-step__arrow:before{content:"";display:inline-block;position:absolute;height:15px;width:1px;background:var(--el-text-color-placeholder)}.el-step.is-simple .el-step__arrow:before{transform:rotate(-45deg) translateY(-4px);transform-origin:0 0}.el-step.is-simple .el-step__arrow:after{transform:rotate(45deg) translateY(4px);transform-origin:100% 100%}.el-step.is-simple:last-of-type .el-step__arrow{display:none}.el-steps{display:flex}.el-steps--simple{padding:13px 8%;border-radius:4px;background:var(--el-fill-color-light)}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{height:100%;flex-flow:column}.el-switch{--el-switch-on-color:var(--el-color-primary);--el-switch-off-color:var(--el-border-color)}.el-switch{display:inline-flex;align-items:center;position:relative;font-size:14px;line-height:20px;height:32px;vertical-align:middle}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{transition:var(--el-transition-duration-fast);height:20px;display:inline-block;font-size:14px;font-weight:500;cursor:pointer;vertical-align:middle;color:var(--el-text-color-primary)}.el-switch__label.is-active{color:var(--el-color-primary)}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{line-height:1;font-size:14px;display:inline-block}.el-switch__label .el-icon{height:inherit}.el-switch__label .el-icon svg{vertical-align:middle}.el-switch__input{position:absolute;width:0;height:0;opacity:0;margin:0}.el-switch__input:focus-visible~.el-switch__core{outline:2px solid var(--el-switch-on-color);outline-offset:1px}.el-switch__core{display:inline-flex;position:relative;align-items:center;min-width:40px;height:20px;border:1px solid var(--el-switch-border-color,var(--el-switch-off-color));outline:0;border-radius:10px;box-sizing:border-box;background:var(--el-switch-off-color);cursor:pointer;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration)}.el-switch__core .el-switch__inner{width:100%;transition:all var(--el-transition-duration);height:16px;display:flex;justify-content:center;align-items:center;overflow:hidden;padding:0 4px 0 18px}.el-switch__core .el-switch__inner .is-icon,.el-switch__core .el-switch__inner .is-text{font-size:12px;color:var(--el-color-white);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-switch__core .el-switch__action{position:absolute;left:1px;border-radius:var(--el-border-radius-circle);transition:all var(--el-transition-duration);width:16px;height:16px;background-color:var(--el-color-white);display:flex;justify-content:center;align-items:center;color:var(--el-switch-off-color)}.el-switch.is-checked .el-switch__core{border-color:var(--el-switch-border-color,var(--el-switch-on-color));background-color:var(--el-switch-on-color)}.el-switch.is-checked .el-switch__core .el-switch__action{left:calc(100% - 17px);color:var(--el-switch-on-color)}.el-switch.is-checked .el-switch__core .el-switch__inner{padding:0 18px 0 4px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter-from,.el-switch .label-fade-leave-active{opacity:0}.el-switch--large{font-size:14px;line-height:24px;height:40px}.el-switch--large .el-switch__label{height:24px;font-size:14px}.el-switch--large .el-switch__label *{font-size:14px}.el-switch--large .el-switch__core{min-width:50px;height:24px;border-radius:12px}.el-switch--large .el-switch__core .el-switch__inner{height:20px;padding:0 6px 0 22px}.el-switch--large .el-switch__core .el-switch__action{width:20px;height:20px}.el-switch--large.is-checked .el-switch__core .el-switch__action{left:calc(100% - 21px)}.el-switch--large.is-checked .el-switch__core .el-switch__inner{padding:0 22px 0 6px}.el-switch--small{font-size:12px;line-height:16px;height:24px}.el-switch--small .el-switch__label{height:16px;font-size:12px}.el-switch--small .el-switch__label *{font-size:12px}.el-switch--small .el-switch__core{min-width:30px;height:16px;border-radius:8px}.el-switch--small .el-switch__core .el-switch__inner{height:12px;padding:0 2px 0 14px}.el-switch--small .el-switch__core .el-switch__action{width:12px;height:12px}.el-switch--small.is-checked .el-switch__core .el-switch__action{left:calc(100% - 13px)}.el-switch--small.is-checked .el-switch__core .el-switch__inner{padding:0 14px 0 2px}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{border:solid 1px var(--el-border-color-lighter);border-radius:2px;background-color:#fff;box-shadow:var(--el-box-shadow-light);box-sizing:border-box}.el-table-filter__list{padding:5px 0;margin:0;list-style:none;min-width:100px}.el-table-filter__list-item{line-height:36px;padding:0 10px;cursor:pointer;font-size:var(--el-font-size-base)}.el-table-filter__list-item:hover{background-color:var(--el-color-primary-light-9);color:var(--el-color-primary)}.el-table-filter__list-item.is-active{background-color:var(--el-color-primary);color:#fff}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid var(--el-border-color-lighter);padding:8px}.el-table-filter__bottom button{background:0 0;border:none;color:var(--el-text-color-regular);cursor:pointer;font-size:var(--el-font-size-small);padding:0 3px}.el-table-filter__bottom button:hover{color:var(--el-color-primary)}.el-table-filter__bottom button:focus{outline:0}.el-table-filter__bottom button.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{display:flex;align-items:center;margin-right:5px;margin-bottom:12px;margin-left:5px;height:unset}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.el-table{--el-table-border-color:var(--el-border-color-lighter);--el-table-border:1px solid var(--el-table-border-color);--el-table-text-color:var(--el-text-color-regular);--el-table-header-text-color:var(--el-text-color-secondary);--el-table-row-hover-bg-color:var(--el-fill-color-light);--el-table-current-row-bg-color:var(--el-color-primary-light-9);--el-table-header-bg-color:var(--el-bg-color);--el-table-fixed-box-shadow:var(--el-box-shadow-light);--el-table-bg-color:var(--el-fill-color-blank);--el-table-tr-bg-color:var(--el-fill-color-blank);--el-table-expanded-cell-bg-color:var(--el-fill-color-blank);--el-table-fixed-left-column:inset 10px 0 10px -10px rgba(0, 0, 0, .15);--el-table-fixed-right-column:inset -10px 0 10px -10px rgba(0, 0, 0, .15)}.el-table{position:relative;overflow:hidden;box-sizing:border-box;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:100%;max-width:100%;background-color:var(--el-table-bg-color);font-size:14px;color:var(--el-table-text-color)}.el-table__inner-wrapper{position:relative;display:flex;flex-direction:column;height:100%}.el-table__inner-wrapper:before{left:0;bottom:0;width:100%;height:1px}.el-table tbody:focus-visible{outline:0}.el-table.has-footer.el-table--fluid-height tr:last-child td.el-table__cell,.el-table.has-footer.el-table--scrollable-y tr:last-child td.el-table__cell{border-bottom-color:transparent}.el-table__empty-block{position:-webkit-sticky;position:sticky;left:0;min-height:60px;text-align:center;width:100%;display:flex;justify-content:center;align-items:center}.el-table__empty-text{line-height:60px;width:50%;color:var(--el-text-color-secondary)}.el-table__expand-column .cell{padding:0;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-table__expand-icon{position:relative;cursor:pointer;color:var(--el-text-color-regular);font-size:12px;transition:transform var(--el-transition-duration-fast) ease-in-out;height:20px}.el-table__expand-icon--expanded{transform:rotate(90deg)}.el-table__expand-icon>.el-icon{font-size:12px}.el-table__expanded-cell{background-color:var(--el-table-expanded-cell-bg-color)}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:transparent!important}.el-table__placeholder{display:inline-block;width:20px}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-right:0;border-bottom:0}.el-table--fit .el-table__cell.gutter{border-right-width:1px}.el-table thead{color:var(--el-table-header-text-color)}.el-table thead th{font-weight:600}.el-table thead.is-group th.el-table__cell{background:var(--el-fill-color-light)}.el-table .el-table__cell{padding:8px 0;min-width:0;box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;position:relative;text-align:left;z-index:1}.el-table .el-table__cell.is-center{text-align:center}.el-table .el-table__cell.is-right{text-align:right}.el-table .el-table__cell.gutter{width:15px;border-right-width:0;border-bottom-width:0;padding:0}.el-table .el-table__cell.is-hidden>*{visibility:hidden}.el-table .cell{box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-all;line-height:23px;padding:0 12px}.el-table .cell.el-tooltip{white-space:nowrap;min-width:50px}.el-table--large{font-size:var(--el-font-size-base)}.el-table--large .el-table__cell{padding:12px 0}.el-table--large .cell{padding:0 16px}.el-table--default{font-size:14px}.el-table--default .el-table__cell{padding:8px 0}.el-table--default .cell{padding:0 12px}.el-table--small{font-size:12px}.el-table--small .el-table__cell{padding:4px 0}.el-table--small .cell{padding:0 8px}.el-table tr{background-color:var(--el-table-tr-bg-color)}.el-table tr input[type=checkbox]{margin:0}.el-table td.el-table__cell,.el-table th.el-table__cell.is-leaf{border-bottom:var(--el-table-border)}.el-table th.el-table__cell.is-sortable{cursor:pointer}.el-table th.el-table__cell{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:var(--el-table-header-bg-color)}.el-table th.el-table__cell>.cell.highlight{color:var(--el-color-primary)}.el-table th.el-table__cell.required>div:before{display:inline-block;content:"";width:8px;height:8px;border-radius:50%;background:#ff4d51;margin-right:5px;vertical-align:middle}.el-table td.el-table__cell div{box-sizing:border-box}.el-table td.el-table__cell.gutter{width:0}.el-table__footer-wrapper{border-top:var(--el-table-border)}.el-table--border .el-table__inner-wrapper:after,.el-table--border:after,.el-table--border:before,.el-table__inner-wrapper:before{content:"";position:absolute;background-color:var(--el-table-border-color);z-index:3}.el-table--border .el-table__inner-wrapper:after{left:0;top:0;width:100%;height:1px}.el-table--border:before{top:-1px;left:0;width:1px;height:100%}.el-table--border:after{top:-1px;right:0;width:1px;height:100%}.el-table--border .el-table__inner-wrapper{border-right:none;border-bottom:none}.el-table--border .el-table__footer-wrapper{position:relative;flex-shrink:0}.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table--border th.el-table__cell.gutter:last-of-type{border-bottom:var(--el-table-border);border-bottom-width:1px}.el-table--border th.el-table__cell{border-bottom:var(--el-table-border)}.el-table--hidden{visibility:hidden}.el-table__body-wrapper,.el-table__footer-wrapper,.el-table__header-wrapper{width:100%}.el-table__body-wrapper tr td.el-table-fixed-column--left,.el-table__body-wrapper tr td.el-table-fixed-column--right,.el-table__body-wrapper tr th.el-table-fixed-column--left,.el-table__body-wrapper tr th.el-table-fixed-column--right,.el-table__footer-wrapper tr td.el-table-fixed-column--left,.el-table__footer-wrapper tr td.el-table-fixed-column--right,.el-table__footer-wrapper tr th.el-table-fixed-column--left,.el-table__footer-wrapper tr th.el-table-fixed-column--right,.el-table__header-wrapper tr td.el-table-fixed-column--left,.el-table__header-wrapper tr td.el-table-fixed-column--right,.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right{position:-webkit-sticky!important;position:sticky!important;z-index:2;background:var(--el-bg-color)}.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before{content:"";position:absolute;top:0;width:10px;bottom:-1px;overflow-x:hidden;overflow-y:hidden;box-shadow:none;touch-action:none;pointer-events:none}.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before{left:-10px}.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before{right:-10px;box-shadow:none}.el-table__body-wrapper tr td.el-table__fixed-right-patch,.el-table__body-wrapper tr th.el-table__fixed-right-patch,.el-table__footer-wrapper tr td.el-table__fixed-right-patch,.el-table__footer-wrapper tr th.el-table__fixed-right-patch,.el-table__header-wrapper tr td.el-table__fixed-right-patch,.el-table__header-wrapper tr th.el-table__fixed-right-patch{position:-webkit-sticky!important;position:sticky!important;z-index:2;background:#fff;right:0}.el-table__header-wrapper{flex-shrink:0}.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__body,.el-table__footer,.el-table__header{table-layout:fixed;border-collapse:separate}.el-table__footer-wrapper,.el-table__header-wrapper{overflow:hidden}.el-table__footer-wrapper tbody td.el-table__cell,.el-table__header-wrapper tbody td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__body-wrapper .el-table-column--selection>.cell,.el-table__header-wrapper .el-table-column--selection>.cell{display:inline-flex;align-items:center;height:23px}.el-table__body-wrapper .el-table-column--selection .el-checkbox,.el-table__header-wrapper .el-table-column--selection .el-checkbox{height:unset}.el-table.is-scrolling-left .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-left.el-table--border .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:var(--el-table-border)}.el-table.is-scrolling-left th.el-table-fixed-column--left{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-right th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-middle .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-none .el-table-fixed-column--left.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--left.is-last-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-last-column:before{box-shadow:none}.el-table.is-scrolling-none th.el-table-fixed-column--left,.el-table.is-scrolling-none th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__body-wrapper{overflow:hidden;position:relative;flex:1}.el-table__body-wrapper .el-scrollbar__bar{z-index:2}.el-table .caret-wrapper{display:inline-flex;flex-direction:column;align-items:center;height:14px;width:24px;vertical-align:middle;cursor:pointer;overflow:initial;position:relative}.el-table .sort-caret{width:0;height:0;border:solid 5px transparent;position:absolute;left:7px}.el-table .sort-caret.ascending{border-bottom-color:var(--el-text-color-placeholder);top:-5px}.el-table .sort-caret.descending{border-top-color:var(--el-text-color-placeholder);bottom:-3px}.el-table .ascending .sort-caret.ascending{border-bottom-color:var(--el-color-primary)}.el-table .descending .sort-caret.descending{border-top-color:var(--el-color-primary)}.el-table .hidden-columns{visibility:hidden;position:absolute;z-index:-1}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:var(--el-fill-color-lighter)}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table__body tr.hover-row.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell,.el-table__body tr.hover-row>td.el-table__cell{background-color:var(--el-table-row-hover-bg-color)}.el-table__body tr.current-row>td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table__column-resize-proxy{position:absolute;left:200px;top:0;bottom:0;width:0;border-left:var(--el-table-border);z-index:10}.el-table__column-filter-trigger{display:inline-block;cursor:pointer}.el-table__column-filter-trigger i{color:var(--el-color-info);font-size:14px;vertical-align:middle}.el-table__border-left-patch{top:0;left:0;width:1px;height:100%;z-index:3;position:absolute;background-color:var(--el-table-border-color)}.el-table__border-bottom-patch{left:0;height:1px;z-index:3;position:absolute;background-color:var(--el-table-border-color)}.el-table__border-right-patch{top:0;height:100%;width:1px;z-index:3;position:absolute;background-color:var(--el-table-border-color)}.el-table--enable-row-transition .el-table__body td.el-table__cell{transition:background-color .25s ease}.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{background-color:var(--el-table-row-hover-bg-color)}.el-table [class*=el-table__row--level] .el-table__expand-icon{display:inline-block;width:12px;line-height:12px;height:12px;text-align:center;margin-right:8px}.el-table .el-table.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table:not(.el-table--border) .el-table__cell{border-right:none}.el-table:not(.el-table--border)>.el-table__inner-wrapper:after{content:none}.el-table-v2{--el-table-border-color:var(--el-border-color-lighter);--el-table-border:1px solid var(--el-table-border-color);--el-table-text-color:var(--el-text-color-regular);--el-table-header-text-color:var(--el-text-color-secondary);--el-table-row-hover-bg-color:var(--el-fill-color-light);--el-table-current-row-bg-color:var(--el-color-primary-light-9);--el-table-header-bg-color:var(--el-bg-color);--el-table-fixed-box-shadow:var(--el-box-shadow-light);--el-table-bg-color:var(--el-fill-color-blank);--el-table-tr-bg-color:var(--el-fill-color-blank);--el-table-expanded-cell-bg-color:var(--el-fill-color-blank);--el-table-fixed-left-column:inset 10px 0 10px -10px rgba(0, 0, 0, .15);--el-table-fixed-right-column:inset -10px 0 10px -10px rgba(0, 0, 0, .15)}.el-table-v2{font-size:14px}.el-table-v2 *{box-sizing:border-box}.el-table-v2__root{position:relative}.el-table-v2__root:hover .el-table-v2__main .el-virtual-scrollbar{opacity:1}.el-table-v2__main{display:flex;flex-direction:column-reverse;position:absolute;overflow:hidden;top:0;background-color:var(--el-bg-color);left:0}.el-table-v2__main .el-vl__horizontal,.el-table-v2__main .el-vl__vertical{z-index:2}.el-table-v2__left{display:flex;flex-direction:column-reverse;position:absolute;overflow:hidden;top:0;background-color:var(--el-bg-color);left:0;box-shadow:2px 0 4px #0000000f}.el-table-v2__left .el-virtual-scrollbar{opacity:0}.el-table-v2__left .el-vl__horizontal,.el-table-v2__left .el-vl__vertical{z-index:-1}.el-table-v2__right{display:flex;flex-direction:column-reverse;position:absolute;overflow:hidden;top:0;background-color:var(--el-bg-color);right:0;box-shadow:-2px 0 4px #0000000f}.el-table-v2__right .el-virtual-scrollbar{opacity:0}.el-table-v2__right .el-vl__horizontal,.el-table-v2__right .el-vl__vertical{z-index:-1}.el-table-v2__header-row,.el-table-v2__row{-webkit-padding-end:var(--el-table-scrollbar-size);padding-inline-end:var(--el-table-scrollbar-size)}.el-table-v2__header-wrapper{overflow:hidden}.el-table-v2__header{position:relative;overflow:hidden}.el-table-v2__footer{position:absolute;left:0;right:0;bottom:0;overflow:hidden}.el-table-v2__empty{position:absolute;left:0}.el-table-v2__overlay{position:absolute;left:0;right:0;top:0;bottom:0;z-index:9999}.el-table-v2__header-row{display:flex;border-bottom:var(--el-table-border)}.el-table-v2__header-cell{display:flex;align-items:center;padding:0 8px;height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;background-color:var(--el-table-header-bg-color);color:var(--el-table-header-text-color);font-weight:700}.el-table-v2__header-cell.is-align-center{justify-content:center;text-align:center}.el-table-v2__header-cell.is-align-right{justify-content:flex-end;text-align:right}.el-table-v2__header-cell.is-sortable{cursor:pointer}.el-table-v2__header-cell:hover .el-icon{display:block}.el-table-v2__sort-icon{transition:opacity,display var(--el-transition-duration);opacity:.6;display:none}.el-table-v2__sort-icon.is-sorting{display:block;opacity:1}.el-table-v2__row{border-bottom:var(--el-table-border);display:flex;align-items:center;transition:background-color var(--el-transition-duration)}.el-table-v2__row.is-hovered,.el-table-v2__row:hover{background-color:var(--el-table-row-hover-bg-color)}.el-table-v2__row-cell{height:100%;overflow:hidden;display:flex;align-items:center;padding:0 8px}.el-table-v2__row-cell.is-align-center{justify-content:center;text-align:center}.el-table-v2__row-cell.is-align-right{justify-content:flex-end;text-align:right}.el-table-v2__expand-icon{margin:0 4px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-table-v2__expand-icon svg{transition:transform var(--el-transition-duration)}.el-table-v2__expand-icon.is-expanded svg{transform:rotate(90deg)}.el-table-v2:not(.is-dynamic) .el-table-v2__cell-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-table-v2.is-dynamic .el-table-v2__row{overflow:hidden;align-items:stretch}.el-table-v2.is-dynamic .el-table-v2__row .el-table-v2__row-cell{word-break:break-all}.el-tabs{--el-tabs-header-height:40px}.el-tabs__header{padding:0;position:relative;margin:0 0 15px}.el-tabs__active-bar{position:absolute;bottom:0;left:0;height:2px;background-color:var(--el-color-primary);z-index:1;transition:width var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),transform var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);list-style:none}.el-tabs__new-tab{display:flex;align-items:center;justify-content:center;float:right;border:1px solid var(--el-border-color);height:20px;width:20px;line-height:20px;margin:10px 0 10px 10px;border-radius:3px;text-align:center;font-size:12px;color:var(--el-text-color-primary);cursor:pointer;transition:all .15s}.el-tabs__new-tab .is-icon-plus{height:inherit;width:inherit;transform:scale(.8)}.el-tabs__new-tab .is-icon-plus svg{vertical-align:middle}.el-tabs__new-tab:hover{color:var(--el-color-primary)}.el-tabs__nav-wrap{overflow:hidden;margin-bottom:-1px;position:relative}.el-tabs__nav-wrap:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:var(--el-border-color-light);z-index:var(--el-index-normal)}.el-tabs__nav-wrap.is-scrollable{padding:0 20px;box-sizing:border-box}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{position:absolute;cursor:pointer;line-height:44px;font-size:12px;color:var(--el-text-color-secondary);width:20px;text-align:center}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{display:flex;white-space:nowrap;position:relative;transition:transform var(--el-transition-duration);float:left;z-index:calc(var(--el-index-normal) + 1)}.el-tabs__nav.is-stretch{min-width:100%;display:flex}.el-tabs__nav.is-stretch>*{flex:1;text-align:center}.el-tabs__item{padding:0 20px;height:var(--el-tabs-header-height);box-sizing:border-box;display:flex;align-items:center;justify-content:center;list-style:none;font-size:var(--el-font-size-base);font-weight:500;color:var(--el-text-color-primary);position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:0}.el-tabs__item:focus-visible{box-shadow:0 0 2px 2px var(--el-color-primary) inset;border-radius:3px}.el-tabs__item .is-icon-close{border-radius:50%;text-align:center;transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);margin-left:5px}.el-tabs__item .is-icon-close:before{transform:scale(.9);display:inline-block}.el-tabs__item .is-icon-close:hover{background-color:var(--el-text-color-placeholder);color:#fff}.el-tabs__item.is-active{color:var(--el-color-primary)}.el-tabs__item:hover{color:var(--el-color-primary);cursor:pointer}.el-tabs__item.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-tabs__content{overflow:hidden;position:relative}.el-tabs--card>.el-tabs__header{border-bottom:1px solid var(--el-border-color-light);height:var(--el-tabs-header-height)}.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid var(--el-border-color-light);border-bottom:none;border-radius:4px 4px 0 0;box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__active-bar{display:none}.el-tabs--card>.el-tabs__header .el-tabs__item .is-icon-close{position:relative;font-size:12px;width:0;height:14px;overflow:hidden;right:-2px;transform-origin:100% 50%}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid transparent;border-left:1px solid var(--el-border-color-light);transition:color var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),padding var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .is-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:var(--el-bg-color)}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .is-icon-close{width:14px}.el-tabs--border-card{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:var(--el-fill-color-light);border-bottom:1px solid var(--el-border-color-light);margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--border-card>.el-tabs__header .el-tabs__item{transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);border:1px solid transparent;margin-top:-1px;color:var(--el-text-color-secondary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{color:var(--el-color-primary);background-color:var(--el-bg-color-overlay);border-right-color:var(--el-border-color);border-left-color:var(--el-border-color)}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:var(--el-color-primary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:var(--el-disabled-text-color)}.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2),.el-tabs--bottom .el-tabs__item.is-top:nth-child(2),.el-tabs--top .el-tabs__item.is-bottom:nth-child(2),.el-tabs--top .el-tabs__item.is-top:nth-child(2){padding-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:last-child,.el-tabs--bottom .el-tabs__item.is-top:last-child,.el-tabs--top .el-tabs__item.is-bottom:last-child,.el-tabs--top .el-tabs__item.is-top:last-child{padding-right:0}.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover,.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover,.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover,.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover,.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover{padding-left:13px}.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover,.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover,.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover,.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover,.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover{padding-right:13px}.el-tabs--bottom .el-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid var(--el-border-color)}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-top:-1px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-scroll,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{top:0;bottom:auto;width:2px;height:auto}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{height:30px;line-height:30px;width:100%;text-align:center;cursor:pointer}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i{transform:rotate(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{left:auto;top:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{right:auto;bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__nav-wrap.is-right:after,.el-tabs--right .el-tabs__nav-wrap.is-left:after,.el-tabs--right .el-tabs__nav-wrap.is-right:after{height:100%;width:2px;bottom:auto;top:0}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{flex-direction:column}.el-tabs--left .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-left{justify-content:flex-end}.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-right{justify-content:flex-start}.el-tabs--left .el-tabs__header.is-left{float:left;margin-bottom:0;margin-right:10px}.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__nav-wrap.is-left:after{left:auto;right:0}.el-tabs--left .el-tabs__active-bar.is-left{right:0;left:auto}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left{display:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-left:none;border-right:1px solid var(--el-border-color-light);border-bottom:none;border-top:1px solid var(--el-border-color-light);text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid var(--el-border-color-light);border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid var(--el-border-color-light);border-right-color:#fff;border-left:none;border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-radius:4px 0 0 4px;border-bottom:1px solid var(--el-border-color-light);border-right:none}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid var(--el-border-color)}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:transparent;border-top-color:#d1dbe5;border-bottom-color:#d1dbe5}.el-tabs--right .el-tabs__header.is-right{float:right;margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right:after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid var(--el-border-color-light)}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid var(--el-border-color-light);border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid var(--el-border-color-light);border-left-color:#fff;border-right:none;border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-radius:0 4px 4px 0;border-bottom:1px solid var(--el-border-color-light);border-left:none}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid var(--el-border-color)}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:transparent;border-top-color:#d1dbe5;border-bottom-color:#d1dbe5}.slideInLeft-transition,.slideInRight-transition{display:inline-block}.slideInRight-enter{-webkit-animation:slideInRight-enter var(--el-transition-duration);animation:slideInRight-enter var(--el-transition-duration)}.slideInRight-leave{position:absolute;left:0;right:0;-webkit-animation:slideInRight-leave var(--el-transition-duration);animation:slideInRight-leave var(--el-transition-duration)}.slideInLeft-enter{-webkit-animation:slideInLeft-enter var(--el-transition-duration);animation:slideInLeft-enter var(--el-transition-duration)}.slideInLeft-leave{position:absolute;left:0;right:0;-webkit-animation:slideInLeft-leave var(--el-transition-duration);animation:slideInLeft-leave var(--el-transition-duration)}@-webkit-keyframes slideInRight-enter{0%{opacity:0;transform-origin:0 0;transform:translate(100%)}to{opacity:1;transform-origin:0 0;transform:translate(0)}}@keyframes slideInRight-enter{0%{opacity:0;transform-origin:0 0;transform:translate(100%)}to{opacity:1;transform-origin:0 0;transform:translate(0)}}@-webkit-keyframes slideInRight-leave{0%{transform-origin:0 0;transform:translate(0);opacity:1}to{transform-origin:0 0;transform:translate(100%);opacity:0}}@keyframes slideInRight-leave{0%{transform-origin:0 0;transform:translate(0);opacity:1}to{transform-origin:0 0;transform:translate(100%);opacity:0}}@-webkit-keyframes slideInLeft-enter{0%{opacity:0;transform-origin:0 0;transform:translate(-100%)}to{opacity:1;transform-origin:0 0;transform:translate(0)}}@keyframes slideInLeft-enter{0%{opacity:0;transform-origin:0 0;transform:translate(-100%)}to{opacity:1;transform-origin:0 0;transform:translate(0)}}@-webkit-keyframes slideInLeft-leave{0%{transform-origin:0 0;transform:translate(0);opacity:1}to{transform-origin:0 0;transform:translate(-100%);opacity:0}}@keyframes slideInLeft-leave{0%{transform-origin:0 0;transform:translate(0);opacity:1}to{transform-origin:0 0;transform:translate(-100%);opacity:0}}.el-tag{--el-tag-font-size:12px;--el-tag-border-radius:4px;--el-tag-border-radius-rounded:9999px}.el-tag{--el-tag-bg-color:var(--el-color-primary-light-9);--el-tag-border-color:var(--el-color-primary-light-8);--el-tag-hover-color:var(--el-color-primary);--el-tag-text-color:var(--el-color-primary);background-color:var(--el-tag-bg-color);border-color:var(--el-tag-border-color);color:var(--el-tag-text-color);display:inline-flex;justify-content:center;align-items:center;vertical-align:middle;height:24px;padding:0 9px;font-size:var(--el-tag-font-size);line-height:1;border-width:1px;border-style:solid;border-radius:var(--el-tag-border-radius);box-sizing:border-box;white-space:nowrap;--el-icon-size:14px}.el-tag.el-tag--primary{--el-tag-bg-color:var(--el-color-primary-light-9);--el-tag-border-color:var(--el-color-primary-light-8);--el-tag-hover-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-bg-color:var(--el-color-success-light-9);--el-tag-border-color:var(--el-color-success-light-8);--el-tag-hover-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-bg-color:var(--el-color-warning-light-9);--el-tag-border-color:var(--el-color-warning-light-8);--el-tag-hover-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-bg-color:var(--el-color-danger-light-9);--el-tag-border-color:var(--el-color-danger-light-8);--el-tag-hover-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-bg-color:var(--el-color-error-light-9);--el-tag-border-color:var(--el-color-error-light-8);--el-tag-hover-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-bg-color:var(--el-color-info-light-9);--el-tag-border-color:var(--el-color-info-light-8);--el-tag-hover-color:var(--el-color-info)}.el-tag.el-tag--primary{--el-tag-text-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-text-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-text-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-text-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-text-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-text-color:var(--el-color-info)}.el-tag.is-hit{border-color:var(--el-color-primary)}.el-tag.is-round{border-radius:var(--el-tag-border-radius-rounded)}.el-tag .el-tag__close{color:var(--el-tag-text-color)}.el-tag .el-tag__close:hover{color:var(--el-color-white);background-color:var(--el-tag-hover-color)}.el-tag .el-icon{border-radius:50%;cursor:pointer;font-size:calc(var(--el-icon-size) - 2px);height:var(--el-icon-size);width:var(--el-icon-size)}.el-tag .el-tag__close{margin-left:6px}.el-tag--dark{--el-tag-bg-color:var(--el-color-primary);--el-tag-border-color:var(--el-color-primary);--el-tag-hover-color:var(--el-color-primary-light-3);--el-tag-text-color:var(--el-color-white)}.el-tag--dark.el-tag--primary{--el-tag-bg-color:var(--el-color-primary);--el-tag-border-color:var(--el-color-primary);--el-tag-hover-color:var(--el-color-primary-light-3)}.el-tag--dark.el-tag--success{--el-tag-bg-color:var(--el-color-success);--el-tag-border-color:var(--el-color-success);--el-tag-hover-color:var(--el-color-success-light-3)}.el-tag--dark.el-tag--warning{--el-tag-bg-color:var(--el-color-warning);--el-tag-border-color:var(--el-color-warning);--el-tag-hover-color:var(--el-color-warning-light-3)}.el-tag--dark.el-tag--danger{--el-tag-bg-color:var(--el-color-danger);--el-tag-border-color:var(--el-color-danger);--el-tag-hover-color:var(--el-color-danger-light-3)}.el-tag--dark.el-tag--error{--el-tag-bg-color:var(--el-color-error);--el-tag-border-color:var(--el-color-error);--el-tag-hover-color:var(--el-color-error-light-3)}.el-tag--dark.el-tag--info{--el-tag-bg-color:var(--el-color-info);--el-tag-border-color:var(--el-color-info);--el-tag-hover-color:var(--el-color-info-light-3)}.el-tag--dark.el-tag--primary,.el-tag--dark.el-tag--success,.el-tag--dark.el-tag--warning,.el-tag--dark.el-tag--danger,.el-tag--dark.el-tag--error,.el-tag--dark.el-tag--info{--el-tag-text-color:var(--el-color-white)}.el-tag--plain{--el-tag-border-color:var(--el-color-primary-light-5);--el-tag-hover-color:var(--el-color-primary);--el-tag-bg-color:var(--el-fill-color-blank)}.el-tag--plain.el-tag--primary{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-primary-light-5);--el-tag-hover-color:var(--el-color-primary)}.el-tag--plain.el-tag--success{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-success-light-5);--el-tag-hover-color:var(--el-color-success)}.el-tag--plain.el-tag--warning{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-warning-light-5);--el-tag-hover-color:var(--el-color-warning)}.el-tag--plain.el-tag--danger{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-danger-light-5);--el-tag-hover-color:var(--el-color-danger)}.el-tag--plain.el-tag--error{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-error-light-5);--el-tag-hover-color:var(--el-color-error)}.el-tag--plain.el-tag--info{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-info-light-5);--el-tag-hover-color:var(--el-color-info)}.el-tag.is-closable{padding-right:5px}.el-tag--large{padding:0 11px;height:32px;--el-icon-size:16px}.el-tag--large .el-tag__close{margin-left:8px}.el-tag--large.is-closable{padding-right:7px}.el-tag--small{padding:0 7px;height:20px;--el-icon-size:12px}.el-tag--small .el-tag__close{margin-left:4px}.el-tag--small.is-closable{padding-right:3px}.el-tag--small .el-icon-close{transform:scale(.8)}.el-tag.el-tag--primary.is-hit{border-color:var(--el-color-primary)}.el-tag.el-tag--success.is-hit{border-color:var(--el-color-success)}.el-tag.el-tag--warning.is-hit{border-color:var(--el-color-warning)}.el-tag.el-tag--danger.is-hit{border-color:var(--el-color-danger)}.el-tag.el-tag--error.is-hit{border-color:var(--el-color-error)}.el-tag.el-tag--info.is-hit{border-color:var(--el-color-info)}.el-text{--el-text-font-size:var(--el-font-size-base);--el-text-color:var(--el-text-color-regular)}.el-text{align-self:center;margin:0;padding:0;font-size:var(--el-text-font-size);color:var(--el-text-color);word-break:break-all}.el-text.is-truncated{display:inline-block;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.el-text--large{--el-text-font-size:var(--el-font-size-medium)}.el-text--default{--el-text-font-size:var(--el-font-size-base)}.el-text--small{--el-text-font-size:var(--el-font-size-extra-small)}.el-text.el-text--primary{--el-text-color:var(--el-color-primary)}.el-text.el-text--success{--el-text-color:var(--el-color-success)}.el-text.el-text--warning{--el-text-color:var(--el-color-warning)}.el-text.el-text--danger{--el-text-color:var(--el-color-danger)}.el-text.el-text--error{--el-text-color:var(--el-color-error)}.el-text.el-text--info{--el-text-color:var(--el-color-info)}.el-text>.el-icon{vertical-align:-2px}.time-select{margin:5px 0;min-width:0}.time-select .el-picker-panel__content{max-height:200px;margin:0}.time-select-item{padding:8px 10px;font-size:14px;line-height:20px}.time-select-item.disabled{color:var(--el-datepicker-border-color);cursor:not-allowed}.time-select-item:hover{background-color:var(--el-fill-color-light);font-weight:700;cursor:pointer}.time-select .time-select-item.selected:not(.disabled){color:var(--el-color-primary);font-weight:700}.el-timeline-item{position:relative;padding-bottom:20px}.el-timeline-item__wrapper{position:relative;padding-left:28px;top:-3px}.el-timeline-item__tail{position:absolute;left:4px;height:100%;border-left:2px solid var(--el-timeline-node-color)}.el-timeline-item .el-timeline-item__icon{color:var(--el-color-white);font-size:var(--el-font-size-small)}.el-timeline-item__node{position:absolute;background-color:var(--el-timeline-node-color);border-color:var(--el-timeline-node-color);border-radius:50%;box-sizing:border-box;display:flex;justify-content:center;align-items:center}.el-timeline-item__node--normal{left:-1px;width:var(--el-timeline-node-size-normal);height:var(--el-timeline-node-size-normal)}.el-timeline-item__node--large{left:-2px;width:var(--el-timeline-node-size-large);height:var(--el-timeline-node-size-large)}.el-timeline-item__node.is-hollow{background:var(--el-color-white);border-style:solid;border-width:2px}.el-timeline-item__node--primary{background-color:var(--el-color-primary);border-color:var(--el-color-primary)}.el-timeline-item__node--success{background-color:var(--el-color-success);border-color:var(--el-color-success)}.el-timeline-item__node--warning{background-color:var(--el-color-warning);border-color:var(--el-color-warning)}.el-timeline-item__node--danger{background-color:var(--el-color-danger);border-color:var(--el-color-danger)}.el-timeline-item__node--info{background-color:var(--el-color-info);border-color:var(--el-color-info)}.el-timeline-item__dot{position:absolute;display:flex;justify-content:center;align-items:center}.el-timeline-item__content{color:var(--el-text-color-primary)}.el-timeline-item__timestamp{color:var(--el-text-color-secondary);line-height:1;font-size:var(--el-font-size-small)}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px}.el-timeline{--el-timeline-node-size-normal:12px;--el-timeline-node-size-large:14px;--el-timeline-node-color:var(--el-border-color-light)}.el-timeline{margin:0;font-size:var(--el-font-size-base);list-style:none}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none}.el-timeline .el-timeline-item__center{display:flex;align-items:center}.el-timeline .el-timeline-item__center .el-timeline-item__wrapper{width:100%}.el-timeline .el-timeline-item__center .el-timeline-item__tail{top:0}.el-timeline .el-timeline-item__center:first-child .el-timeline-item__tail{height:calc(50% + 10px);top:calc(50% - 10px)}.el-timeline .el-timeline-item__center:last-child .el-timeline-item__tail{display:block;height:calc(50% - 10px)}.el-tooltip-v2__content{--el-tooltip-v2-padding:5px 10px;--el-tooltip-v2-border-radius:4px;--el-tooltip-v2-border-color:var(--el-border-color);border-radius:var(--el-tooltip-v2-border-radius);color:var(--el-color-black);background-color:var(--el-color-white);padding:var(--el-tooltip-v2-padding);border:1px solid var(--el-border-color)}.el-tooltip-v2__arrow{position:absolute;color:var(--el-color-white);width:var(--el-tooltip-v2-arrow-width);height:var(--el-tooltip-v2-arrow-height);pointer-events:none;left:var(--el-tooltip-v2-arrow-x);top:var(--el-tooltip-v2-arrow-y)}.el-tooltip-v2__arrow:before{content:"";width:0;height:0;border:var(--el-tooltip-v2-arrow-border-width) solid transparent;position:absolute}.el-tooltip-v2__arrow:after{content:"";width:0;height:0;border:var(--el-tooltip-v2-arrow-border-width) solid transparent;position:absolute}.el-tooltip-v2__content[data-side^=top] .el-tooltip-v2__arrow{bottom:0}.el-tooltip-v2__content[data-side^=top] .el-tooltip-v2__arrow:before{border-top-color:var(--el-color-white);border-top-width:var(--el-tooltip-v2-arrow-border-width);border-bottom:0;top:calc(100% - 1px)}.el-tooltip-v2__content[data-side^=top] .el-tooltip-v2__arrow:after{border-top-color:var(--el-border-color);border-top-width:var(--el-tooltip-v2-arrow-border-width);border-bottom:0;top:100%;z-index:-1}.el-tooltip-v2__content[data-side^=bottom] .el-tooltip-v2__arrow{top:0}.el-tooltip-v2__content[data-side^=bottom] .el-tooltip-v2__arrow:before{border-bottom-color:var(--el-color-white);border-bottom-width:var(--el-tooltip-v2-arrow-border-width);border-top:0;bottom:calc(100% - 1px)}.el-tooltip-v2__content[data-side^=bottom] .el-tooltip-v2__arrow:after{border-bottom-color:var(--el-border-color);border-bottom-width:var(--el-tooltip-v2-arrow-border-width);border-top:0;bottom:100%;z-index:-1}.el-tooltip-v2__content[data-side^=left] .el-tooltip-v2__arrow{right:0}.el-tooltip-v2__content[data-side^=left] .el-tooltip-v2__arrow:before{border-left-color:var(--el-color-white);border-left-width:var(--el-tooltip-v2-arrow-border-width);border-right:0;left:calc(100% - 1px)}.el-tooltip-v2__content[data-side^=left] .el-tooltip-v2__arrow:after{border-left-color:var(--el-border-color);border-left-width:var(--el-tooltip-v2-arrow-border-width);border-right:0;left:100%;z-index:-1}.el-tooltip-v2__content[data-side^=right] .el-tooltip-v2__arrow{left:0}.el-tooltip-v2__content[data-side^=right] .el-tooltip-v2__arrow:before{border-right-color:var(--el-color-white);border-right-width:var(--el-tooltip-v2-arrow-border-width);border-left:0;right:calc(100% - 1px)}.el-tooltip-v2__content[data-side^=right] .el-tooltip-v2__arrow:after{border-right-color:var(--el-border-color);border-right-width:var(--el-tooltip-v2-arrow-border-width);border-left:0;right:100%;z-index:-1}.el-tooltip-v2__content.is-dark{--el-tooltip-v2-border-color:transparent;background-color:var(--el-color-black);color:var(--el-color-white);border-color:transparent}.el-tooltip-v2__content.is-dark .el-tooltip-v2__arrow{background-color:var(--el-color-black);border-color:transparent}.el-transfer{--el-transfer-border-color:var(--el-border-color-lighter);--el-transfer-border-radius:var(--el-border-radius-base);--el-transfer-panel-width:200px;--el-transfer-panel-header-height:40px;--el-transfer-panel-header-bg-color:var(--el-fill-color-light);--el-transfer-panel-footer-height:40px;--el-transfer-panel-body-height:278px;--el-transfer-item-height:30px;--el-transfer-filter-height:32px}.el-transfer{font-size:var(--el-font-size-base)}.el-transfer__buttons{display:inline-block;vertical-align:middle;padding:0 30px}.el-transfer__button{vertical-align:top}.el-transfer__button:nth-child(2){margin:0 0 0 10px}.el-transfer__button i,.el-transfer__button span{font-size:14px}.el-transfer__button .el-icon+span{margin-left:0}.el-transfer-panel{overflow:hidden;background:var(--el-bg-color-overlay);display:inline-block;text-align:left;vertical-align:middle;width:var(--el-transfer-panel-width);max-height:100%;box-sizing:border-box;position:relative}.el-transfer-panel__body{height:var(--el-transfer-panel-body-height);border-left:1px solid var(--el-transfer-border-color);border-right:1px solid var(--el-transfer-border-color);border-bottom:1px solid var(--el-transfer-border-color);border-bottom-left-radius:var(--el-transfer-border-radius);border-bottom-right-radius:var(--el-transfer-border-radius);overflow:hidden}.el-transfer-panel__body.is-with-footer{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.el-transfer-panel__list{margin:0;padding:6px 0;list-style:none;height:var(--el-transfer-panel-body-height);overflow:auto;box-sizing:border-box}.el-transfer-panel__list.is-filterable{height:calc(100% - var(--el-transfer-filter-height) - 30px);padding-top:0}.el-transfer-panel__item{height:var(--el-transfer-item-height);line-height:var(--el-transfer-item-height);padding-left:15px;display:block!important}.el-transfer-panel__item+.el-transfer-panel__item{margin-left:0}.el-transfer-panel__item.el-checkbox{color:var(--el-text-color-regular)}.el-transfer-panel__item:hover{color:var(--el-color-primary)}.el-transfer-panel__item.el-checkbox .el-checkbox__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;box-sizing:border-box;padding-left:22px;line-height:var(--el-transfer-item-height)}.el-transfer-panel__item .el-checkbox__input{position:absolute;top:8px}.el-transfer-panel__filter{text-align:center;padding:15px;box-sizing:border-box}.el-transfer-panel__filter .el-input__inner{height:var(--el-transfer-filter-height);width:100%;font-size:12px;display:inline-block;box-sizing:border-box;border-radius:calc(var(--el-transfer-filter-height)/ 2)}.el-transfer-panel__filter .el-icon-circle-close{cursor:pointer}.el-transfer-panel .el-transfer-panel__header{display:flex;align-items:center;height:var(--el-transfer-panel-header-height);background:var(--el-transfer-panel-header-bg-color);margin:0;padding-left:15px;border:1px solid var(--el-transfer-border-color);border-top-left-radius:var(--el-transfer-border-radius);border-top-right-radius:var(--el-transfer-border-radius);box-sizing:border-box;color:var(--el-color-black)}.el-transfer-panel .el-transfer-panel__header .el-checkbox{position:relative;display:flex;width:100%;align-items:center}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label{font-size:16px;color:var(--el-text-color-primary);font-weight:400}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span{position:absolute;right:15px;top:50%;transform:translate3d(0,-50%,0);color:var(--el-text-color-secondary);font-size:12px;font-weight:400}.el-transfer-panel .el-transfer-panel__footer{height:var(--el-transfer-panel-footer-height);background:var(--el-bg-color-overlay);margin:0;padding:0;border:1px solid var(--el-transfer-border-color);border-bottom-left-radius:var(--el-transfer-border-radius);border-bottom-right-radius:var(--el-transfer-border-radius)}.el-transfer-panel .el-transfer-panel__footer:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-transfer-panel .el-transfer-panel__footer .el-checkbox{padding-left:20px;color:var(--el-text-color-regular)}.el-transfer-panel .el-transfer-panel__empty{margin:0;height:var(--el-transfer-item-height);line-height:var(--el-transfer-item-height);padding:6px 15px 0;color:var(--el-text-color-secondary);text-align:center}.el-transfer-panel .el-checkbox__label{padding-left:8px}.el-transfer-panel .el-checkbox__inner{height:14px;width:14px;border-radius:3px}.el-transfer-panel .el-checkbox__inner:after{height:6px;width:3px;left:4px}.el-tree{--el-tree-node-content-height:26px;--el-tree-node-hover-bg-color:var(--el-fill-color-light);--el-tree-text-color:var(--el-text-color-regular);--el-tree-expand-icon-color:var(--el-text-color-placeholder)}.el-tree{position:relative;cursor:default;background:var(--el-fill-color-blank);color:var(--el-tree-text-color);font-size:var(--el-font-size-base)}.el-tree__empty-block{position:relative;min-height:60px;text-align:center;width:100%;height:100%}.el-tree__empty-text{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--el-text-color-secondary);font-size:var(--el-font-size-base)}.el-tree__drop-indicator{position:absolute;left:0;right:0;height:1px;background-color:var(--el-color-primary)}.el-tree-node{white-space:nowrap;outline:0}.el-tree-node:focus>.el-tree-node__content{background-color:var(--el-tree-node-hover-bg-color)}.el-tree-node.is-drop-inner>.el-tree-node__content .el-tree-node__label{background-color:var(--el-color-primary);color:#fff}.el-tree-node__content{--el-checkbox-height:var(--el-tree-node-content-height);display:flex;align-items:center;height:var(--el-tree-node-content-height);cursor:pointer}.el-tree-node__content>.el-tree-node__expand-icon{padding:6px;box-sizing:content-box}.el-tree-node__content>label.el-checkbox{margin-right:8px}.el-tree-node__content:hover{background-color:var(--el-tree-node-hover-bg-color)}.el-tree.is-dragging .el-tree-node__content{cursor:move}.el-tree.is-dragging .el-tree-node__content *{pointer-events:none}.el-tree.is-dragging.is-drop-not-allow .el-tree-node__content{cursor:not-allowed}.el-tree-node__expand-icon{cursor:pointer;color:var(--el-tree-expand-icon-color);font-size:12px;transform:rotate(0);transition:transform var(--el-transition-duration) ease-in-out}.el-tree-node__expand-icon.expanded{transform:rotate(90deg)}.el-tree-node__expand-icon.is-leaf{color:transparent;cursor:default;visibility:hidden}.el-tree-node__expand-icon.is-hidden{visibility:hidden}.el-tree-node__loading-icon{margin-right:8px;font-size:var(--el-font-size-base);color:var(--el-tree-expand-icon-color)}.el-tree-node>.el-tree-node__children{overflow:hidden;background-color:transparent}.el-tree-node.is-expanded>.el-tree-node__children{display:block}.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:var(--el-color-primary-light-9)}.el-tree-select{--el-tree-node-content-height:26px;--el-tree-node-hover-bg-color:var(--el-fill-color-light);--el-tree-text-color:var(--el-text-color-regular);--el-tree-expand-icon-color:var(--el-text-color-placeholder)}.el-tree-select__popper .el-tree-node__expand-icon{margin-left:8px}.el-tree-select__popper .el-tree-node.is-checked>.el-tree-node__content .el-select-dropdown__item.selected:after{content:none}.el-tree-select__popper .el-select-dropdown__item{flex:1;background:0 0!important;padding-left:0;height:20px;line-height:20px}.el-upload{--el-upload-dragger-padding-horizontal:40px;--el-upload-dragger-padding-vertical:10px}.el-upload{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;outline:0}.el-upload__input{display:none}.el-upload__tip{font-size:12px;color:var(--el-text-color-regular);margin-top:7px}.el-upload iframe{position:absolute;z-index:-1;top:0;left:0;opacity:0}.el-upload--picture-card{--el-upload-picture-card-size:148px;background-color:var(--el-fill-color-lighter);border:1px dashed var(--el-border-color-darker);border-radius:6px;box-sizing:border-box;width:var(--el-upload-picture-card-size);height:var(--el-upload-picture-card-size);cursor:pointer;vertical-align:top;display:inline-flex;justify-content:center;align-items:center}.el-upload--picture-card i{font-size:28px;color:var(--el-text-color-secondary)}.el-upload--picture-card:hover{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload.is-drag{display:block}.el-upload:focus{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload:focus .el-upload-dragger{border-color:var(--el-color-primary)}.el-upload-dragger{padding:var(--el-upload-dragger-padding-horizontal) var(--el-upload-dragger-padding-vertical);background-color:var(--el-fill-color-blank);border:1px dashed var(--el-border-color);border-radius:6px;box-sizing:border-box;text-align:center;cursor:pointer;position:relative;overflow:hidden}.el-upload-dragger .el-icon--upload{font-size:67px;color:var(--el-text-color-placeholder);margin-bottom:16px;line-height:50px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:var(--el-border);margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:var(--el-text-color-regular);font-size:14px;text-align:center}.el-upload-dragger .el-upload__text em{color:var(--el-color-primary);font-style:normal}.el-upload-dragger:hover{border-color:var(--el-color-primary)}.el-upload-dragger.is-dragover{padding:calc(var(--el-upload-dragger-padding-horizontal) - 1px) calc(var(--el-upload-dragger-padding-vertical) - 1px);background-color:var(--el-color-primary-light-9);border:2px dashed var(--el-color-primary)}.el-upload-list{margin:10px 0 0;padding:0;list-style:none;position:relative}.el-upload-list__item{transition:all .5s cubic-bezier(.55,0,.1,1);font-size:14px;color:var(--el-text-color-regular);margin-bottom:5px;position:relative;box-sizing:border-box;border-radius:4px;width:100%}.el-upload-list__item .el-progress{position:absolute;top:20px;width:100%}.el-upload-list__item .el-progress__text{position:absolute;right:0;top:-13px}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item .el-icon--upload-success{color:var(--el-color-success)}.el-upload-list__item .el-icon--close{display:none;position:absolute;right:5px;top:50%;cursor:pointer;opacity:.75;color:var(--el-text-color-regular);transition:opacity var(--el-transition-duration);transform:translateY(-50%)}.el-upload-list__item .el-icon--close:hover{opacity:1;color:var(--el-color-primary)}.el-upload-list__item .el-icon--close-tip{display:none;position:absolute;top:1px;right:5px;font-size:12px;cursor:pointer;opacity:1;color:var(--el-color-primary);font-style:normal}.el-upload-list__item:hover{background-color:var(--el-fill-color-light)}.el-upload-list__item:hover .el-icon--close{display:inline-flex}.el-upload-list__item:hover .el-progress__text{display:none}.el-upload-list__item .el-upload-list__item-info{display:inline-flex;justify-content:center;flex-direction:column;width:calc(100% - 30px);margin-left:4px}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-name:focus,.el-upload-list__item.is-success .el-upload-list__item-name:hover{color:var(--el-color-primary);cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon--close-tip{display:inline-block}.el-upload-list__item.is-success:active,.el-upload-list__item.is-success:not(.focusing):focus{outline-width:0}.el-upload-list__item.is-success:active .el-icon--close-tip,.el-upload-list__item.is-success:not(.focusing):focus .el-icon--close-tip{display:none}.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:hover .el-upload-list__item-status-label{display:none;opacity:0}.el-upload-list__item-name{color:var(--el-text-color-regular);display:inline-flex;text-align:center;align-items:center;padding:0 4px;transition:color var(--el-transition-duration);font-size:var(--el-font-size-base)}.el-upload-list__item-name .el-icon{margin-right:6px;color:var(--el-text-color-secondary)}.el-upload-list__item-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-upload-list__item-status-label{position:absolute;right:5px;top:0;line-height:inherit;display:none;height:100%;justify-content:center;align-items:center;transition:opacity var(--el-transition-duration)}.el-upload-list__item-delete{position:absolute;right:10px;top:0;font-size:12px;color:var(--el-text-color-regular);display:none}.el-upload-list__item-delete:hover{color:var(--el-color-primary)}.el-upload-list--picture-card{--el-upload-list-picture-card-size:148px;display:inline-flex;flex-wrap:wrap;margin:0}.el-upload-list--picture-card .el-upload-list__item{overflow:hidden;background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);border-radius:6px;box-sizing:border-box;width:var(--el-upload-list-picture-card-size);height:var(--el-upload-list-picture-card-size);margin:0 8px 8px 0;padding:0;display:inline-flex}.el-upload-list--picture-card .el-upload-list__item .el-icon--check,.el-upload-list--picture-card .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture-card .el-upload-list__item .el-icon--close{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{opacity:0;display:block}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.el-upload-list--picture-card .el-upload-list__item-status-label{right:-15px;top:-6px;width:40px;height:24px;background:var(--el-color-success);text-align:center;transform:rotate(45deg)}.el-upload-list--picture-card .el-upload-list__item-status-label i{font-size:12px;margin-top:11px;transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{position:absolute;width:100%;height:100%;left:0;top:0;cursor:default;display:inline-flex;justify-content:center;align-items:center;color:#fff;opacity:0;font-size:20px;background-color:var(--el-overlay-color-lighter);transition:opacity var(--el-transition-duration)}.el-upload-list--picture-card .el-upload-list__item-actions span{display:none;cursor:pointer}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:1rem}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{position:static;font-size:inherit;color:inherit}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-flex}.el-upload-list--picture-card .el-progress{top:50%;left:50%;transform:translate(-50%,-50%);bottom:auto;width:126px}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{overflow:hidden;z-index:0;background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);border-radius:6px;box-sizing:border-box;margin-top:10px;padding:10px;display:flex;align-items:center}.el-upload-list--picture .el-upload-list__item .el-icon--check,.el-upload-list--picture .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{opacity:0;display:inline-flex}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item .el-icon--close{top:5px;transform:translateY(0)}.el-upload-list--picture .el-upload-list__item-thumbnail{display:inline-flex;justify-content:center;align-items:center;width:70px;height:70px;-o-object-fit:contain;object-fit:contain;position:relative;z-index:1;background-color:var(--el-color-white)}.el-upload-list--picture .el-upload-list__item-status-label{position:absolute;right:-17px;top:-7px;width:46px;height:26px;background:var(--el-color-success);text-align:center;transform:rotate(45deg)}.el-upload-list--picture .el-upload-list__item-status-label i{font-size:12px;margin-top:12px;transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;z-index:10;cursor:default}.el-upload-cover:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-upload-cover img{display:block;width:100%;height:100%}.el-upload-cover__label{right:-15px;top:-6px;width:40px;height:24px;background:var(--el-color-success);text-align:center;transform:rotate(45deg)}.el-upload-cover__label i{font-size:12px;margin-top:11px;transform:rotate(-45deg);color:#fff}.el-upload-cover__progress{display:inline-block;vertical-align:middle;position:static;width:243px}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{position:absolute;top:0;left:0;width:100%;height:100%}.el-upload-cover__interact{position:absolute;bottom:0;left:0;width:100%;height:100%;background-color:var(--el-overlay-color-light);text-align:center}.el-upload-cover__interact .btn{display:inline-block;color:#fff;font-size:14px;cursor:pointer;vertical-align:middle;transition:var(--el-transition-md-fade);margin-top:60px}.el-upload-cover__interact .btn i{margin-top:0}.el-upload-cover__interact .btn span{opacity:0;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#fff;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.el-upload-cover__title{position:absolute;bottom:0;left:0;background-color:#fff;height:36px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;text-align:left;padding:0 10px;margin:0;line-height:36px;font-size:14px;color:var(--el-text-color-primary)}.el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1}.el-vl__wrapper{position:relative}.el-vl__wrapper:hover .el-virtual-scrollbar,.el-vl__wrapper.always-on .el-virtual-scrollbar{opacity:1}.el-vl__window{scrollbar-width:none}.el-vl__window::-webkit-scrollbar{display:none}.el-virtual-scrollbar{opacity:0;transition:opacity .34s ease-out}.el-virtual-scrollbar.always-on{opacity:1}.el-vg__wrapper{position:relative}.el-popper{--el-popper-border-radius:var(--el-popover-border-radius, 4px)}.el-popper{position:absolute;border-radius:var(--el-popper-border-radius);padding:5px 11px;z-index:2000;font-size:12px;line-height:20px;min-width:10px;word-wrap:break-word;visibility:visible}.el-popper.is-dark{color:var(--el-bg-color);background:var(--el-text-color-primary);border:1px solid var(--el-text-color-primary)}.el-popper.is-dark .el-popper__arrow:before{border:1px solid var(--el-text-color-primary);background:var(--el-text-color-primary);right:0}.el-popper.is-light{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light)}.el-popper.is-light .el-popper__arrow:before{border:1px solid var(--el-border-color-light);background:var(--el-bg-color-overlay);right:0}.el-popper.is-pure{padding:0}.el-popper__arrow{position:absolute;width:10px;height:10px;z-index:-1}.el-popper__arrow:before{position:absolute;width:10px;height:10px;z-index:-1;content:" ";transform:rotate(45deg);background:var(--el-text-color-primary);box-sizing:border-box}.el-popper[data-popper-placement^=top]>.el-popper__arrow{bottom:-5px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-bottom-right-radius:2px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow{top:-5px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-top-left-radius:2px}.el-popper[data-popper-placement^=left]>.el-popper__arrow{right:-5px}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-top-right-radius:2px}.el-popper[data-popper-placement^=right]>.el-popper__arrow{left:-5px}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-bottom-left-radius:2px}.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:transparent!important;border-left-color:transparent!important}.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent!important;border-right-color:transparent!important}.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-left-color:transparent!important;border-bottom-color:transparent!important}.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent!important;border-top-color:transparent!important}.el-select-dropdown__item{font-size:var(--el-font-size-base);padding:0 32px 0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--el-text-color-regular);height:34px;line-height:34px;box-sizing:border-box;cursor:pointer}.el-select-dropdown__item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background-color:var(--el-fill-color-light)}.el-select-dropdown__item.selected{color:var(--el-color-primary);font-weight:700}.el-statistic{--el-statistic-title-font-weight:400;--el-statistic-title-font-size:var(--el-font-size-extra-small);--el-statistic-title-color:var(--el-text-color-regular);--el-statistic-content-font-weight:400;--el-statistic-content-font-size:var(--el-font-size-extra-large);--el-statistic-content-color:var(--el-text-color-primary)}.el-statistic__head{font-weight:var(--el-statistic-title-font-weight);font-size:var(--el-statistic-title-font-size);color:var(--el-statistic-title-color);line-height:20px;margin-bottom:4px}.el-statistic__content{font-weight:var(--el-statistic-content-font-weight);font-size:var(--el-statistic-content-font-size);color:var(--el-statistic-content-color)}.el-statistic__value{display:inline-block}.el-statistic__prefix{margin-right:4px;display:inline-block}.el-statistic__suffix{margin-left:4px;display:inline-block}body{padding:0!important;overflow:auto!important}:root{--vp-layout-max-width: 1700px}.VPDoc.has-aside .content-container{max-width:unset!important}.wk-demo{background-color:#f5f7fa;padding:20px;border-radius:5px;color:#111}.full-height{min-height:100vh}.demo-frame{border:none;width:100%;height:50vh;border-radius:5px}.codesandbox-icon{fill:transparent!important}.preview-wrapper[data-v-4d65d606]{width:80%;margin:20px auto 60px;max-width:1152px;border-radius:5px;overflow:hidden;box-shadow:0 0 10px #0000000e}.preview-img-wrapper[data-v-4d65d606]{display:block}.preview-img-wrapper img[data-v-4d65d606]{display:block;width:100%;height:100%;object-fit:contain} diff --git a/base/change-log.html b/base/change-log.html new file mode 100644 index 0000000..f783334 --- /dev/null +++ b/base/change-log.html @@ -0,0 +1,26 @@ + + + + + + Visual-DDD | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/base/install.html b/base/install.html new file mode 100644 index 0000000..6c7f09a --- /dev/null +++ b/base/install.html @@ -0,0 +1,26 @@ + + + + + + TODO | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243.html" new file mode 100644 index 0000000..51d2482 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243.html" @@ -0,0 +1,26 @@ + + + + + + DDD可视化开发平台文档 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\344\272\247\345\223\201\346\246\202\350\277\260.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\344\272\247\345\223\201\346\246\202\350\277\260.html" new file mode 100644 index 0000000..584e765 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\344\272\247\345\223\201\346\246\202\350\277\260.html" @@ -0,0 +1,26 @@ + + + + + + 产品概述 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\344\272\247\345\223\201\346\246\202\350\277\260/\344\272\247\345\223\201\345\205\254\345\221\212/\345\212\237\350\203\275\345\217\221\345\270\203\350\256\260\345\275\225.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\344\272\247\345\223\201\346\246\202\350\277\260/\344\272\247\345\223\201\345\205\254\345\221\212/\345\212\237\350\203\275\345\217\221\345\270\203\350\256\260\345\275\225.html" new file mode 100644 index 0000000..146f49a --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\344\272\247\345\223\201\346\246\202\350\277\260/\344\272\247\345\223\201\345\205\254\345\221\212/\345\212\237\350\203\275\345\217\221\345\270\203\350\256\260\345\275\225.html" @@ -0,0 +1,26 @@ + + + + + + 功能发布记录 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\344\272\247\345\223\201\346\246\202\350\277\260/\344\272\247\345\223\201\347\256\200\344\273\213.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\344\272\247\345\223\201\346\246\202\350\277\260/\344\272\247\345\223\201\347\256\200\344\273\213.html" new file mode 100644 index 0000000..9bbffb2 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\344\272\247\345\223\201\346\246\202\350\277\260/\344\272\247\345\223\201\347\256\200\344\273\213.html" @@ -0,0 +1,26 @@ + + + + + + 产品简介 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\344\272\247\345\223\201\346\246\202\350\277\260/\345\271\263\345\217\260\345\237\272\347\241\200\346\246\202\345\277\265.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\344\272\247\345\223\201\346\246\202\350\277\260/\345\271\263\345\217\260\345\237\272\347\241\200\346\246\202\345\277\265.html" new file mode 100644 index 0000000..380e6ef --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\344\272\247\345\223\201\346\246\202\350\277\260/\345\271\263\345\217\260\345\237\272\347\241\200\346\246\202\345\277\265.html" @@ -0,0 +1,26 @@ + + + + + + Visual-DDD | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\344\272\247\345\223\201\346\246\202\350\277\260/\346\234\200\346\226\260\345\212\250\346\200\201.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\344\272\247\345\223\201\346\246\202\350\277\260/\346\234\200\346\226\260\345\212\250\346\200\201.html" new file mode 100644 index 0000000..14917fb --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\344\272\247\345\223\201\346\246\202\350\277\260/\346\234\200\346\226\260\345\212\250\346\200\201.html" @@ -0,0 +1,26 @@ + + + + + + 产品公告 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\344\272\247\345\223\201\346\246\202\350\277\260/\346\254\242\350\277\216\344\275\277\347\224\250Visal-DDD.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\344\272\247\345\223\201\346\246\202\350\277\260/\346\254\242\350\277\216\344\275\277\347\224\250Visal-DDD.html" new file mode 100644 index 0000000..6df755f --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\344\272\247\345\223\201\346\246\202\350\277\260/\346\254\242\350\277\216\344\275\277\347\224\250Visal-DDD.html" @@ -0,0 +1,26 @@ + + + + + + Visual-DDD | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\344\272\247\345\223\201\346\246\202\350\277\260/\346\254\242\350\277\216\344\275\277\347\224\250Visual-DDD.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\344\272\247\345\223\201\346\246\202\350\277\260/\346\254\242\350\277\216\344\275\277\347\224\250Visual-DDD.html" new file mode 100644 index 0000000..e4f3620 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\344\272\247\345\223\201\346\246\202\350\277\260/\346\254\242\350\277\216\344\275\277\347\224\250Visual-DDD.html" @@ -0,0 +1,26 @@ + + + + + + Visual-DDD | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250.html" new file mode 100644 index 0000000..35095c5 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250.html" @@ -0,0 +1,26 @@ + + + + + + 快速入门 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\345\277\253\351\200\237\345\205\245\351\227\250\346\246\202\350\277\260.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\345\277\253\351\200\237\345\205\245\351\227\250\346\246\202\350\277\260.html" new file mode 100644 index 0000000..06c1636 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\345\277\253\351\200\237\345\205\245\351\227\250\346\246\202\350\277\260.html" @@ -0,0 +1,26 @@ + + + + + + 快速入门概述 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\344\270\200\357\274\232\344\270\232\345\212\241\345\234\272\346\231\257\345\210\206\346\236\220.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\344\270\200\357\274\232\344\270\232\345\212\241\345\234\272\346\231\257\345\210\206\346\236\220.html" new file mode 100644 index 0000000..cbc3732 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\344\270\200\357\274\232\344\270\232\345\212\241\345\234\272\346\231\257\345\210\206\346\236\220.html" @@ -0,0 +1,26 @@ + + + + + + 业务场景分析 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\344\270\211\357\274\232\351\242\206\345\237\237\345\273\272\346\250\241.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\344\270\211\357\274\232\351\242\206\345\237\237\345\273\272\346\250\241.html" new file mode 100644 index 0000000..479bba1 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\344\270\211\357\274\232\351\242\206\345\237\237\345\273\272\346\250\241.html" @@ -0,0 +1,26 @@ + + + + + + 领域建模 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\344\272\214\357\274\232\345\234\272\346\231\257\350\277\207\347\250\213\345\210\206\346\236\220.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\344\272\214\357\274\232\345\234\272\346\231\257\350\277\207\347\250\213\345\210\206\346\236\220.html" new file mode 100644 index 0000000..c6e30d4 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\344\272\214\357\274\232\345\234\272\346\231\257\350\277\207\347\250\213\345\210\206\346\236\220.html" @@ -0,0 +1,26 @@ + + + + + + 场景过程分析 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\344\272\224\357\274\232\346\250\241\345\236\213\345\215\263\344\273\243\347\240\201.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\344\272\224\357\274\232\346\250\241\345\236\213\345\215\263\344\273\243\347\240\201.html" new file mode 100644 index 0000000..5ab1223 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\344\272\224\357\274\232\346\250\241\345\236\213\345\215\263\344\273\243\347\240\201.html" @@ -0,0 +1,26 @@ + + + + + + 模型即代码 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\345\205\255\357\274\232AI\350\276\205\345\212\251\347\274\226\347\240\201.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\345\205\255\357\274\232AI\350\276\205\345\212\251\347\274\226\347\240\201.html" new file mode 100644 index 0000000..6251275 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\345\205\255\357\274\232AI\350\276\205\345\212\251\347\274\226\347\240\201.html" @@ -0,0 +1,26 @@ + + + + + + AI辅助编码 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\345\233\233\357\274\232\350\256\276\350\256\241\350\257\204\345\256\241\344\270\216\346\240\241\351\252\214.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\345\233\233\357\274\232\350\256\276\350\256\241\350\257\204\345\256\241\344\270\216\346\240\241\351\252\214.html" new file mode 100644 index 0000000..a51e035 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\346\255\245\351\252\244\345\233\233\357\274\232\350\256\276\350\256\241\350\257\204\345\256\241\344\270\216\346\240\241\351\252\214.html" @@ -0,0 +1,26 @@ + + + + + + 设计评审与校验 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\347\244\272\344\276\213\351\241\271\347\233\256\347\256\200\344\273\213.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\347\244\272\344\276\213\351\241\271\347\233\256\347\256\200\344\273\213.html" new file mode 100644 index 0000000..69cdbdd --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\347\244\272\344\276\213\351\241\271\347\233\256\347\256\200\344\273\213.html" @@ -0,0 +1,26 @@ + + + + + + 示例项目简介 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\347\244\272\344\276\213\351\241\271\347\233\256\351\231\220\345\210\266\350\257\264\346\230\216.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\347\244\272\344\276\213\351\241\271\347\233\256\351\231\220\345\210\266\350\257\264\346\230\216.html" new file mode 100644 index 0000000..726e5d3 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\347\244\272\344\276\213\351\241\271\347\233\256/\347\244\272\344\276\213\351\241\271\347\233\256\351\231\220\345\210\266\350\257\264\346\230\216.html" @@ -0,0 +1,26 @@ + + + + + + 示例项目的使用限制说明 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\351\203\250\347\275\262\346\226\207\346\241\243.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\351\203\250\347\275\262\346\226\207\346\241\243.html" new file mode 100644 index 0000000..f23b0df --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\345\277\253\351\200\237\345\205\245\351\227\250/\351\203\250\347\275\262\346\226\207\346\241\243.html" @@ -0,0 +1,26 @@ + + + + + + visual-ddd-docker | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227.html" new file mode 100644 index 0000000..797a98f --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227.html" @@ -0,0 +1,26 @@ + + + + + + 操作指南 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260.html" new file mode 100644 index 0000000..8b1e73b --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260.html" @@ -0,0 +1,26 @@ + + + + + + 业务建模平台 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\234\272\346\231\257\345\273\272\346\250\241.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\234\272\346\231\257\345\273\272\346\250\241.html" new file mode 100644 index 0000000..b33bb3d --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\234\272\346\231\257\345\273\272\346\250\241.html" @@ -0,0 +1,26 @@ + + + + + + 业务场景建模 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\234\272\346\231\257\345\273\272\346\250\241/\344\270\232\345\212\241\346\265\201\347\250\213\345\233\276.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\234\272\346\231\257\345\273\272\346\250\241/\344\270\232\345\212\241\346\265\201\347\250\213\345\233\276.html" new file mode 100644 index 0000000..3c18aa4 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\234\272\346\231\257\345\273\272\346\250\241/\344\270\232\345\212\241\346\265\201\347\250\213\345\233\276.html" @@ -0,0 +1,26 @@ + + + + + + 业务流程图 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\234\272\346\231\257\345\273\272\346\250\241/\346\234\215\345\212\241\346\250\241\345\236\213.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\234\272\346\231\257\345\273\272\346\250\241/\346\234\215\345\212\241\346\250\241\345\236\213.html" new file mode 100644 index 0000000..2f3fb0c --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\234\272\346\231\257\345\273\272\346\250\241/\346\234\215\345\212\241\346\250\241\345\236\213.html" @@ -0,0 +1,26 @@ + + + + + + 服务模型 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241.html" new file mode 100644 index 0000000..8b24f36 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241.html" @@ -0,0 +1,26 @@ + + + + + + 业务域建模 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241/\344\272\247\345\223\201\346\204\277\346\231\257.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241/\344\272\247\345\223\201\346\204\277\346\231\257.html" new file mode 100644 index 0000000..239a7d3 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241/\344\272\247\345\223\201\346\204\277\346\231\257.html" @@ -0,0 +1,26 @@ + + + + + + 产品愿景 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241/\345\257\271\350\261\241\346\230\240\345\260\204\345\205\263\347\263\273\346\250\241\345\236\213.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241/\345\257\271\350\261\241\346\230\240\345\260\204\345\205\263\347\263\273\346\250\241\345\236\213.html" new file mode 100644 index 0000000..7f7ce21 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241/\345\257\271\350\261\241\346\230\240\345\260\204\345\205\263\347\263\273\346\250\241\345\236\213.html" @@ -0,0 +1,26 @@ + + + + + + 对象映射关系模型 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241/\346\225\260\346\215\256\346\250\241\345\236\213.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241/\346\225\260\346\215\256\346\250\241\345\236\213.html" new file mode 100644 index 0000000..e74a172 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241/\346\225\260\346\215\256\346\250\241\345\236\213.html" @@ -0,0 +1,26 @@ + + + + + + 数据模型 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241/\346\237\245\350\257\242\346\250\241\345\236\213.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241/\346\237\245\350\257\242\346\250\241\345\236\213.html" new file mode 100644 index 0000000..79725bc --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241/\346\237\245\350\257\242\346\250\241\345\236\213.html" @@ -0,0 +1,26 @@ + + + + + + 查询模型 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241/\347\273\237\344\270\200\350\257\255\350\250\200.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241/\347\273\237\344\270\200\350\257\255\350\250\200.html" new file mode 100644 index 0000000..0ffb75f --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241/\347\273\237\344\270\200\350\257\255\350\250\200.html" @@ -0,0 +1,26 @@ + + + + + + 统一语言 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241/\351\234\200\346\261\202\346\226\207\346\241\243.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241/\351\234\200\346\261\202\346\226\207\346\241\243.html" new file mode 100644 index 0000000..25bfef9 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241/\351\234\200\346\261\202\346\226\207\346\241\243.html" @@ -0,0 +1,26 @@ + + + + + + 需求文档 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241/\351\242\206\345\237\237\346\250\241\345\236\213.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241/\351\242\206\345\237\237\346\250\241\345\236\213.html" new file mode 100644 index 0000000..42b18f5 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\237\237\345\273\272\346\250\241/\351\242\206\345\237\237\346\250\241\345\236\213.html" @@ -0,0 +1,26 @@ + + + + + + 领域模型 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260\346\246\202\350\277\260.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260\346\246\202\350\277\260.html" new file mode 100644 index 0000000..5ba9d97 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260/\344\270\232\345\212\241\345\273\272\346\250\241\345\271\263\345\217\260\346\246\202\350\277\260.html" @@ -0,0 +1,26 @@ + + + + + + 业务建模概述 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206.html" new file mode 100644 index 0000000..7019f9a --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206.html" @@ -0,0 +1,26 @@ + + + + + + 平台和项目管理 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206.html" new file mode 100644 index 0000000..7dcc8c6 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206.html" @@ -0,0 +1,26 @@ + + + + + + 团队应用管理 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206/\344\270\232\345\212\241\345\234\272\346\231\257\347\256\241\347\220\206.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206/\344\270\232\345\212\241\345\234\272\346\231\257\347\256\241\347\220\206.html" new file mode 100644 index 0000000..e16e9af --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206/\344\270\232\345\212\241\345\234\272\346\231\257\347\256\241\347\220\206.html" @@ -0,0 +1,26 @@ + + + + + + 业务场景管理 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206/\344\270\232\345\212\241\345\237\237\347\256\241\347\220\206.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206/\344\270\232\345\212\241\345\237\237\347\256\241\347\220\206.html" new file mode 100644 index 0000000..e76a94b --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206/\344\270\232\345\212\241\345\237\237\347\256\241\347\220\206.html" @@ -0,0 +1,26 @@ + + + + + + 业务域管理 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206/\345\272\224\347\224\250\347\256\241\347\220\206.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206/\345\272\224\347\224\250\347\256\241\347\220\206.html" new file mode 100644 index 0000000..0d61b97 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206/\345\272\224\347\224\250\347\256\241\347\220\206.html" @@ -0,0 +1,26 @@ + + + + + + 应用管理 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206/\347\273\237\344\270\200\350\257\255\350\250\200.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206/\347\273\237\344\270\200\350\257\255\350\250\200.html" new file mode 100644 index 0000000..8ba6429 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\345\233\242\351\230\237\345\272\224\347\224\250\347\256\241\347\220\206/\347\273\237\344\270\200\350\257\255\350\250\200.html" @@ -0,0 +1,26 @@ + + + + + + 统一语言 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\347\263\273\347\273\237\347\256\241\347\220\206.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\347\263\273\347\273\237\347\256\241\347\220\206.html" new file mode 100644 index 0000000..d5912b1 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\347\263\273\347\273\237\347\256\241\347\220\206.html" @@ -0,0 +1,26 @@ + + + + + + 系统管理 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\347\263\273\347\273\237\347\256\241\347\220\206/\347\224\250\346\210\267\347\256\241\347\220\206.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\347\263\273\347\273\237\347\256\241\347\220\206/\347\224\250\346\210\267\347\256\241\347\220\206.html" new file mode 100644 index 0000000..58de33a --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\347\263\273\347\273\237\347\256\241\347\220\206/\347\224\250\346\210\267\347\256\241\347\220\206.html" @@ -0,0 +1,26 @@ + + + + + + 用户管理 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\347\263\273\347\273\237\347\256\241\347\220\206/\347\273\204\347\273\207\347\256\241\347\220\206.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\347\263\273\347\273\237\347\256\241\347\220\206/\347\273\204\347\273\207\347\256\241\347\220\206.html" new file mode 100644 index 0000000..7149173 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\347\263\273\347\273\237\347\256\241\347\220\206/\347\273\204\347\273\207\347\256\241\347\220\206.html" @@ -0,0 +1,26 @@ + + + + + + 组织管理 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\347\273\204\347\273\207\345\233\242\351\230\237\347\256\241\347\220\206.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\347\273\204\347\273\207\345\233\242\351\230\237\347\256\241\347\220\206.html" new file mode 100644 index 0000000..393ce3f --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\347\273\204\347\273\207\345\233\242\351\230\237\347\256\241\347\220\206.html" @@ -0,0 +1,26 @@ + + + + + + 组织团队管理 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\347\273\204\347\273\207\345\233\242\351\230\237\347\256\241\347\220\206/\345\233\242\351\230\237\346\210\220\345\221\230\347\256\241\347\220\206.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\347\273\204\347\273\207\345\233\242\351\230\237\347\256\241\347\220\206/\345\233\242\351\230\237\346\210\220\345\221\230\347\256\241\347\220\206.html" new file mode 100644 index 0000000..f31e527 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\347\273\204\347\273\207\345\233\242\351\230\237\347\256\241\347\220\206/\345\233\242\351\230\237\346\210\220\345\221\230\347\256\241\347\220\206.html" @@ -0,0 +1,26 @@ + + + + + + 团队成员管理 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\347\273\204\347\273\207\345\233\242\351\230\237\347\256\241\347\220\206/\345\233\242\351\230\237\347\256\241\347\220\206.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\347\273\204\347\273\207\345\233\242\351\230\237\347\256\241\347\220\206/\345\233\242\351\230\237\347\256\241\347\220\206.html" new file mode 100644 index 0000000..ceaf166 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\271\263\345\217\260\345\222\214\351\241\271\347\233\256\347\256\241\347\220\206/\347\273\204\347\273\207\345\233\242\351\230\237\347\256\241\347\220\206/\345\233\242\351\230\237\347\256\241\347\220\206.html" @@ -0,0 +1,26 @@ + + + + + + 团队管理 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260.html" new file mode 100644 index 0000000..1b37f50 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260.html" @@ -0,0 +1,26 @@ + + + + + + 应用开发平台 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260/IDEA\346\217\222\344\273\266\351\233\206\346\210\220.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260/IDEA\346\217\222\344\273\266\351\233\206\346\210\220.html" new file mode 100644 index 0000000..5d6a862 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260/IDEA\346\217\222\344\273\266\351\233\206\346\210\220.html" @@ -0,0 +1,26 @@ + + + + + + VisualDDD(DDD可视化开发平台) | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260/\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260\346\246\202\350\277\260.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260/\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260\346\246\202\350\277\260.html" new file mode 100644 index 0000000..45654f3 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\223\215\344\275\234\346\214\207\345\215\227/\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260/\345\272\224\347\224\250\345\274\200\345\217\221\345\271\263\345\217\260\346\246\202\350\277\260.html" @@ -0,0 +1,26 @@ + + + + + + 应用开发平台概述 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\234\200\344\275\263\345\256\236\350\267\265.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\234\200\344\275\263\345\256\236\350\267\265.html" new file mode 100644 index 0000000..a867ed1 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\234\200\344\275\263\345\256\236\350\267\265.html" @@ -0,0 +1,26 @@ + + + + + + 最佳实践 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\234\200\344\275\263\345\256\236\350\267\265/DDD\344\272\247\347\211\251\350\247\204\350\214\203.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\234\200\344\275\263\345\256\236\350\267\265/DDD\344\272\247\347\211\251\350\247\204\350\214\203.html" new file mode 100644 index 0000000..b3b0611 --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\234\200\344\275\263\345\256\236\350\267\265/DDD\344\272\247\347\211\251\350\247\204\350\214\203.html" @@ -0,0 +1,26 @@ + + + + + + 考虑的维度 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\234\200\344\275\263\345\256\236\350\267\265/DDD\345\217\257\350\247\206\345\214\226\345\271\263\345\217\260\347\232\204DSL\350\256\276\350\256\241.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\234\200\344\275\263\345\256\236\350\267\265/DDD\345\217\257\350\247\206\345\214\226\345\271\263\345\217\260\347\232\204DSL\350\256\276\350\256\241.html" new file mode 100644 index 0000000..b5b7c5a --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\234\200\344\275\263\345\256\236\350\267\265/DDD\345\217\257\350\247\206\345\214\226\345\271\263\345\217\260\347\232\204DSL\350\256\276\350\256\241.html" @@ -0,0 +1,26 @@ + + + + + + 我们想要一个什么样子的DSL | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\234\200\344\275\263\345\256\236\350\267\265/\344\273\243\347\240\201\347\224\237\346\210\220\346\250\241\345\235\227\346\234\200\344\275\263\345\256\236\350\267\265.html" "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\234\200\344\275\263\345\256\236\350\267\265/\344\273\243\347\240\201\347\224\237\346\210\220\346\250\241\345\235\227\346\234\200\344\275\263\345\256\236\350\267\265.html" new file mode 100644 index 0000000..db6f02b --- /dev/null +++ "b/base/product/DDD\345\217\257\350\247\206\345\214\226\345\274\200\345\217\221\345\271\263\345\217\260\346\226\207\346\241\243/\346\234\200\344\275\263\345\256\236\350\267\265/\344\273\243\347\240\201\347\224\237\346\210\220\346\250\241\345\235\227\346\234\200\344\275\263\345\256\236\350\267\265.html" @@ -0,0 +1,26 @@ + + + + + + 代码生成模块最佳实践 | Visual-DDD + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..c057a56 Binary files /dev/null and b/favicon.ico differ diff --git a/hashmap.json b/hashmap.json new file mode 100644 index 0000000..62f1dc0 --- /dev/null +++ b/hashmap.json @@ -0,0 +1 @@ +{"base_product_ddd可视化开发平台文档_快速入门_示例项目_步骤三:领域建模.md":"d9f65097","base_change-log.md":"2daafce1","base_install.md":"ad3328cb","base_product_ddd可视化开发平台文档_产品概述_产品简介.md":"f716f26c","api_index.md":"faa96ba9","base_product_ddd可视化开发平台文档_操作指南_平台和项目管理_系统管理_组织管理.md":"602ade41","base_product_ddd可视化开发平台文档_操作指南_平台和项目管理_组织团队管理.md":"24c6d5c1","base_product_ddd可视化开发平台文档_操作指南_平台和项目管理_组织团队管理_团队成员管理.md":"9abc13cf","base_product_ddd可视化开发平台文档_操作指南_平台和项目管理_组织团队管理_团队管理.md":"dcf5f580","base_product_ddd可视化开发平台文档_操作指南_应用开发平台.md":"4980bf0a","base_product_ddd可视化开发平台文档_操作指南_应用开发平台_应用开发平台概述.md":"f6e1a4f1","base_product_ddd可视化开发平台文档_操作指南_应用开发平台_idea插件集成.md":"a1d3b2cf","base_product_ddd可视化开发平台文档_操作指南_业务建模平台_业务场景建模.md":"af27bdde","base_product_ddd可视化开发平台文档_最佳实践_ddd产物规范.md":"b6471fbb","base_product_ddd可视化开发平台文档_快速入门_示例项目_示例项目限制说明.md":"2aac1bc5","base_product_ddd可视化开发平台文档_操作指南_业务建模平台_业务场景建模_服务模型.md":"15076b65","index.md":"da3caa6d","base_product_ddd可视化开发平台文档_最佳实践.md":"a4231724","base_product_ddd可视化开发平台文档_操作指南_平台和项目管理_系统管理.md":"b4210595","base_product_ddd可视化开发平台文档_操作指南_平台和项目管理_团队应用管理_应用管理.md":"26268754","base_product_ddd可视化开发平台文档_操作指南_业务建模平台_业务域建模_需求文档.md":"cfff6251","base_product_ddd可视化开发平台文档_操作指南_业务建模平台_业务域建模_领域模型.md":"a3ec6303","base_product_ddd可视化开发平台文档_操作指南_业务建模平台_业务建模平台概述.md":"eb222f04","base_product_ddd可视化开发平台文档_操作指南_平台和项目管理.md":"b72baaae","base_product_ddd可视化开发平台文档_操作指南_平台和项目管理_团队应用管理.md":"e1724243","base_product_ddd可视化开发平台文档_产品概述.md":"2bbd14f6","base_product_ddd可视化开发平台文档_操作指南_业务建模平台_业务域建模_产品愿景.md":"2e975996","base_product_ddd可视化开发平台文档_操作指南_平台和项目管理_团队应用管理_业务域管理.md":"140597ca","base_product_ddd可视化开发平台文档_产品概述_产品公告_功能发布记录.md":"9cdc92c4","base_product_ddd可视化开发平台文档_操作指南_业务建模平台.md":"04314c6d","base_product_ddd可视化开发平台文档_操作指南_业务建模平台_业务场景建模_业务流程图.md":"dd6d10ce","base_product_ddd可视化开发平台文档_产品概述_平台基础概念.md":"a440e176","base_product_ddd可视化开发平台文档_快速入门.md":"3137ecb2","base_product_ddd可视化开发平台文档_操作指南_平台和项目管理_系统管理_用户管理.md":"00c0e18a","base_product_ddd可视化开发平台文档_产品概述_欢迎使用visal-ddd.md":"f2cab215","base_product_ddd可视化开发平台文档_产品概述_欢迎使用visual-ddd.md":"cdf58917","base_product_ddd可视化开发平台文档_操作指南_业务建模平台_业务域建模_统一语言.md":"cfae5377","base_product_ddd可视化开发平台文档_快速入门_部署文档.md":"9818859c","base_product_ddd可视化开发平台文档_操作指南.md":"72d996db","base_product_ddd可视化开发平台文档_产品概述_最新动态.md":"0919f3f2","base_product_ddd可视化开发平台文档_操作指南_业务建模平台_业务域建模_对象映射关系模型.md":"5d10dd63","base_product_ddd可视化开发平台文档_快速入门_快速入门概述.md":"67e16f27","base_product_ddd可视化开发平台文档.md":"b84602a7","base_product_ddd可视化开发平台文档_操作指南_业务建模平台_业务域建模_查询模型.md":"a6248a04","base_product_ddd可视化开发平台文档_快速入门_示例项目_步骤四:设计评审与校验.md":"dfe47316","base_product_ddd可视化开发平台文档_快速入门_示例项目_示例项目简介.md":"f0d2b9da","base_product_ddd可视化开发平台文档_快速入门_示例项目_步骤六:ai辅助编码.md":"4d0d7f45","base_product_ddd可视化开发平台文档_操作指南_平台和项目管理_团队应用管理_统一语言.md":"b1fe716e","base_product_ddd可视化开发平台文档_操作指南_业务建模平台_业务域建模_数据模型.md":"f36116b0","base_product_ddd可视化开发平台文档_操作指南_平台和项目管理_团队应用管理_业务场景管理.md":"0a814c1c","base_product_ddd可视化开发平台文档_快速入门_示例项目_步骤五:模型即代码.md":"5878d30e","base_product_ddd可视化开发平台文档_快速入门_示例项目_步骤一:业务场景分析.md":"fabceb25","base_product_ddd可视化开发平台文档_操作指南_业务建模平台_业务域建模.md":"4c63a8a3","base_product_ddd可视化开发平台文档_快速入门_示例项目_步骤二:场景过程分析.md":"ec7db98d","base_product_ddd可视化开发平台文档_最佳实践_ddd可视化平台的dsl设计.md":"74ccc11e","base_product_ddd可视化开发平台文档_最佳实践_代码生成模块最佳实践.md":"40153236"} diff --git a/index.html b/index.html new file mode 100644 index 0000000..4d40b25 --- /dev/null +++ b/index.html @@ -0,0 +1,26 @@ + + + + + + Visual-DDD | Visual-DDD + + + + + + + + + + + + + + + +
Skip to content

Visual-DDD

可视化DDD平台

让 AI 成为你的工作利器,轻松解决繁琐工作

Visual-DDD-client
+ + + + \ No newline at end of file diff --git a/logo.svg b/logo.svg new file mode 100644 index 0000000..405856d --- /dev/null +++ b/logo.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file