From 517e7175040b8ed5e50e96d20ee47d9f0962abdc Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 09:36:38 +0000 Subject: [PATCH] Deploy to GitHub pages --- 404.html | 49 + assets/404.html-195926ee.js | 1 + assets/404.html-f3bf19c5.js | 1 + ...\345\205\245\351\227\250.html-2d1ffb26.js" | 1 + ...\345\205\245\351\227\250.html-e0d78135.js" | 2560 ++++++++++++++++ ...\345\215\217\350\256\256.html-25517870.js" | 1 + ...\345\215\217\350\256\256.html-e60b5571.js" | 1 + assets/SearchResult-287e28b8.js | 1 + assets/VuePlayground-ed989fc2.js | 1 + assets/add.html-37b01284.js | 72 + assets/add.html-da1d181f.js | 1 + assets/addInList-d694123a.png | Bin 0 -> 92736 bytes assets/addList.html-0cff3922.js | 1 + assets/addList.html-df906ef2.js | 19 + assets/ant-design-vue.html-60d22422.js | 1 + assets/ant-design-vue.html-7bc3aa2a.js | 1 + assets/apollo.html-04c507df.js | 1 + assets/apollo.html-1a50035a.js | 1 + assets/app-97115cb3.js | 18 + assets/arc-4d305f8d.js | 1 + assets/array-9f3ba611.js | 1 + assets/axios.html-80a49fc0.js | 1 + assets/axios.html-ba334cf8.js | 329 +++ assets/base-install.html-709ec529.js | 106 + assets/base-install.html-a56d78e7.js | 1 + assets/base-nodejs.html-0c0a1978.js | 226 ++ assets/base-nodejs.html-a35d151e.js | 1 + assets/base-shell.html-3d74f1c6.js | 1 + assets/base-shell.html-af137a47.js | 125 + assets/better-nodejs.html-1d2f8261.js | 1 + assets/better-nodejs.html-ff7293ce.js | 640 ++++ assets/big-event-history.html-13df0812.js | 1 + assets/big-event-history.html-1ce79af1.js | 1 + assets/bootstrap.html-1a8edc36.js | 1 + assets/bootstrap.html-c27d32bb.js | 1 + assets/brother.html-20da24ad.js | 1 + assets/brother.html-68f8adc3.js | 1 + assets/browser-21db0a97.js | 8 + assets/c4Diagram-7ff6304f-a96169c2.js | 10 + assets/changelog.html-27f452df.js | 1 + assets/changelog.html-a03d305d.js | 1 + assets/ci-cd.html-1cadfe89.js | 1 + assets/ci-cd.html-516368a0.js | 1 + assets/classDiagram-04f04946-dfb15138.js | 2 + assets/classDiagram-v2-d4efdcc3-a0a80143.js | 2 + assets/cluster.html-1c14a75e.js | 1 + assets/cluster.html-c19af36e.js | 1 + assets/code-platform.html-3a31f67b.js | 1 + assets/code-platform.html-f1f0f744.js | 1 + assets/codemirror-editor-4c92082b.js | 40 + assets/consul.html-abadc4f5.js | 1 + assets/consul.html-cfc2d05c.js | 1 + assets/createText-80c3befb-5d11fb35.js | 7 + assets/css.html-3c4c6216.js | 1 + assets/css.html-779733e5.js | 1 + assets/curl.html-86b4a268.js | 308 ++ assets/curl.html-9737075c.js | 1 + assets/cutRope.html-a2197d74.js | 22 + assets/cutRope.html-b3c072eb.js | 1 + assets/dayjs.html-71b20631.js | 186 ++ assets/dayjs.html-7d46f3e7.js | 1 + assets/deleteDuplicates-1-44e6622f.png | Bin 0 -> 52639 bytes assets/deleteDuplicates-2-12735269.png | Bin 0 -> 58647 bytes assets/deleteDuplicates-one.html-7ba1083f.js | 1 + assets/deleteDuplicates-one.html-b498a393.js | 15 + assets/deleteDuplicates-two.html-49f47ca9.js | 1 + assets/deleteDuplicates-two.html-6fb00cfc.js | 15 + assets/deleteDuplication.html-2b44f379.js | 1 + assets/deleteDuplication.html-9d8609cb.js | 72 + assets/docker-compose.html-16cadaeb.js | 1 + assets/docker-compose.html-1834033a.js | 140 + assets/docker-compose.html-1ba484b3.js | 1 + assets/docker-compose.html-51ac5a1f.js | 24 + assets/docker.html-56a929bf.js | 151 + assets/docker.html-b38e34da.js | 163 ++ assets/docker.html-f7b2d624.js | 1 + assets/docker.html-ff2a21fa.js | 1 + assets/dockerfile.html-107e2e99.js | 1 + assets/dockerfile.html-47edb47a.js | 23 + assets/duplicate.html-89f7893a.js | 1 + assets/duplicate.html-9dab520a.js | 60 + assets/edges-f15a7e05-457b3a50.js | 4 + assets/egg-cluster.html-6228b3bf.js | 1 + assets/egg-cluster.html-90faa8ed.js | 1 + assets/egg-learn.html-32a542ba.js | 1 + assets/egg-learn.html-bac555f1.js | 1 + assets/egg-mysql.html-6e582c63.js | 1 + assets/egg-mysql.html-8a8e0974.js | 371 +++ assets/egg-redis.html-678017c4.js | 1 + assets/egg-redis.html-c5735a90.js | 1 + assets/egg-sequelize.html-24b9c0f4.js | 1 + assets/egg-sequelize.html-710accb5.js | 236 ++ assets/egg-validate.html-69f0682b.js | 1 + assets/egg-validate.html-b6e004fd.js | 1 + assets/elasticsearch.html-b0b009b0.js | 1 + assets/elasticsearch.html-bbf76d08.js | 1 + assets/element.html-0943246a.js | 1 + assets/element.html-09cc06ae.js | 1 + assets/entryNodeOfLoop-11adbe5c.png | Bin 0 -> 147928 bytes assets/entryNodeOfLoop.html-52880ddb.js | 1 + assets/entryNodeOfLoop.html-54679702.js | 1 + assets/entryNodeOfLoop.html-75f9df3a.js | 18 + assets/entryNodeOfLoop.html-dd593a30.js | 17 + assets/erDiagram-a995d1fe-16ba758c.js | 51 + assets/eslint.html-21b28776.js | 1 + assets/eslint.html-45c36e0c.js | 188 ++ assets/express-learn.html-832b0e52.js | 1 + assets/express-learn.html-a025395b.js | 1 + assets/fibonacci.html-2286b483.js | 34 + assets/fibonacci.html-c0820aa5.js | 1 + assets/fibonacci.html-d7b4ac72.js | 33 + assets/fibonacci.html-f6317ca9.js | 1 + assets/filebeat.html-ae3b47f0.js | 1 + assets/filebeat.html-c8be6d4c.js | 1 + assets/find.html-0b91a41e.js | 1 + assets/find.html-ab00cb8b.js | 117 + .../findContinuousSequence.html-3a377e32.js | 1 + .../findContinuousSequence.html-f86c4dbd.js | 73 + assets/findFirstCommonNode-06d23c84.png | Bin 0 -> 157159 bytes assets/findFirstCommonNode.html-44a05323.js | 1 + assets/findFirstCommonNode.html-474366fd.js | 46 + assets/findFirstCommonNode.html-65de6730.js | 1 + assets/findFirstCommonNode.html-70a11e38.js | 18 + ...findGreatestSumOfSubArray.html-3778f6a6.js | 1 + ...findGreatestSumOfSubArray.html-c696e35f.js | 56 + assets/findKthToTail-cb15fbf9.png | Bin 0 -> 106592 bytes assets/findKthToTail.html-04bc3238.js | 67 + assets/findKthToTail.html-2abfb496.js | 1 + assets/findKthToTail.html-8263d535.js | 1 + assets/findKthToTail.html-fc78e811.js | 29 + assets/findNumbersWithSum.html-6a838dec.js | 117 + assets/findNumbersWithSum.html-944dc7ce.js | 1 + assets/findNumsAppearOnce.html-9aead938.js | 1 + assets/findNumsAppearOnce.html-c886b6dd.js | 90 + assets/findPath.html-5f97bffb.js | 1 + assets/findPath.html-6baac1fb.js | 38 + assets/firstAppearingOnce.html-0405a006.js | 72 + assets/firstAppearingOnce.html-949de89e.js | 1 + assets/firstNotRepeatingChar.html-2acafc97.js | 1 + assets/firstNotRepeatingChar.html-b63e95f9.js | 75 + assets/flowDb-fa1288b0-6c98adc2.js | 6 + assets/flowDiagram-f303bdd6-00d9b6dc.js | 4 + assets/flowDiagram-v2-34644886-c4161246.js | 1 + ...wchart-elk-definition-b487ab79-4b70ec88.js | 139 + assets/frequent-site-link.html-87609dcf.js | 1 + assets/frequent-site-link.html-aa408069.js | 1 + assets/ganttDiagram-6a1a118f-9b99c4b6.js | 266 ++ assets/gateway.html-5b2b39b5.js | 1 + assets/gateway.html-acd3294f.js | 1 + assets/getLeastNumbers.html-20bff421.js | 92 + assets/getLeastNumbers.html-7098fc8b.js | 1 + assets/getMinInJSStack.html-e4c22e03.js | 61 + assets/getMinInJSStack.html-edd23281.js | 1 + assets/getNext.html-5037bea8.js | 45 + assets/getNext.html-71253fbc.js | 1 + assets/getNumberOfK.html-17356376.js | 54 + assets/getNumberOfK.html-cf9b8cf1.js | 1 + assets/getUglyNumber.html-32a169b4.js | 33 + assets/getUglyNumber.html-fbb4b862.js | 1 + assets/git-fcca101d.png | Bin 0 -> 138579 bytes assets/git.html-1288e327.js | 1 + assets/git.html-a2ed39c3.js | 115 + assets/gitGraphDiagram-2139c8c6-5ede84a7.js | 70 + assets/github-actions.html-6d9309c2.js | 1 + assets/github-actions.html-7b60760e.js | 1 + assets/github-ci.html-6d6871b2.js | 1 + assets/github-ci.html-8b57288f.js | 1 + assets/good-idea.html-9234ab0b.js | 3 + assets/good-idea.html-b4468d2a.js | 1 + assets/good-love.html-8237065c.js | 1 + assets/good-love.html-cfbeb8e9.js | 1 + assets/good-nodejs.html-55b04e11.js | 1 + assets/good-nodejs.html-db63ad25.js | 1 + assets/grpc-core-8c53c2e7.png | Bin 0 -> 26028 bytes assets/grpc.html-20c8ea42.js | 1 + assets/grpc.html-44f84983.js | 16 + assets/hasCycle-cf858f25.png | Bin 0 -> 149925 bytes assets/hasCycle.html-16b36e53.js | 1 + assets/hasCycle.html-c71c4f67.js | 12 + assets/hasSubtree.html-bd4b8195.js | 1 + assets/hasSubtree.html-bf6bcff2.js | 49 + assets/hello-alone.html-55da41e0.js | 1 + assets/hello-alone.html-a0b63c12.js | 1 + ...gh-performance-web-server.html-1952fdde.js | 1 + ...gh-performance-web-server.html-80079bcd.js | 1 + assets/html-correlation.html-7d88c631.js | 1 + assets/html-correlation.html-bbaf21fc.js | 1 + assets/index-f9462f3f-2c188ac0.js | 1 + assets/index.html-0edd21e6.js | 1 + assets/index.html-0fba9c62.js | 1 + assets/index.html-105e6c32.js | 46 + assets/index.html-15ccaa19.js | 1 + assets/index.html-169b039b.js | 1 + assets/index.html-1b5326be.js | 1 + assets/index.html-2334124b.js | 1 + assets/index.html-2bc6bae6.js | 1 + assets/index.html-36a8cebe.js | 1 + assets/index.html-3fbf79fa.js | 1 + assets/index.html-44e3aed1.js | 1 + assets/index.html-4fc5152a.js | 1 + assets/index.html-519dcc10.js | 1 + assets/index.html-524a0438.js | 1 + assets/index.html-69511381.js | 1 + assets/index.html-69f8c783.js | 1 + assets/index.html-6c0b7c56.js | 1 + assets/index.html-8c490c10.js | 1 + assets/index.html-90429484.js | 1 + assets/index.html-9caf14c2.js | 1 + assets/index.html-9e67c5f9.js | 1 + assets/index.html-9fd8ab14.js | 1 + assets/index.html-ba52b762.js | 1 + assets/index.html-ba648c74.js | 1 + assets/index.html-bf1ae4de.js | 1 + assets/index.html-bf2c4bb0.js | 1 + assets/index.html-c16e2c7b.js | 1 + assets/index.html-cc07ccb2.js | 1 + assets/index.html-ce946fc9.js | 1 + assets/index.html-d0fa6fd1.js | 1 + assets/index.html-d48bd0b3.js | 1 + assets/index.html-d6c3a861.js | 1 + assets/index.html-dda99f7e.js | 1 + assets/index.html-e823a74c.js | 1 + assets/index.html-f92b55f8.js | 1 + assets/index.html-f9674661.js | 1 + assets/infoDiagram-2064d999-1e734eec.js | 7 + assets/init-77b53fdd.js | 1 + assets/insertAndGetMedian.html-0759b95f.js | 33 + assets/insertAndGetMedian.html-661b728a.js | 1 + assets/install.html-1b295a49.js | 1 + assets/install.html-74ec5c57.js | 1 + assets/install.html-979b3f7b.js | 1 + assets/install.html-f8ea89c0.js | 37 + assets/interface-idempotent.html-12d2800f.js | 1 + assets/interface-idempotent.html-65a92548.js | 1 + assets/interview-top-101.html-2892a351.js | 1 + assets/interview-top-101.html-b1d10e13.js | 1 + assets/isContinuous.html-135ad528.js | 40 + assets/isContinuous.html-a5f1166d.js | 1 + assets/isPail-eb323bac.png | Bin 0 -> 56778 bytes assets/isPail.html-0801a8a2.js | 1 + assets/isPail.html-4fd10a20.js | 18 + assets/isSymmetrical.html-dc6de95b.js | 39 + assets/isSymmetrical.html-e436e46d.js | 1 + assets/istio.html-1bccd3cb.js | 1 + assets/istio.html-f7134441.js | 1 + assets/iview-design.html-8466fe4f.js | 1 + assets/iview-design.html-c07f7466.js | 1 + assets/javascript.html-4e20db59.js | 1 + assets/javascript.html-a7760e57.js | 684 +++++ assets/jenkins.html-618983c2.js | 1 + assets/jenkins.html-856d9a18.js | 12 + assets/job-poster-bytedance.html-b8c09d9c.js | 1 + assets/job-poster-bytedance.html-f5dadab5.js | 1 + assets/journeyDiagram-6df70039-2cc1e6c5.js | 139 + assets/jquery.html-095b2e3e.js | 4 + assets/jquery.html-850b5197.js | 1 + assets/jumpFloor.html-412819ad.js | 1 + assets/jumpFloor.html-6543fd49.js | 1 + assets/jumpFloor.html-881fea18.js | 41 + assets/jumpFloor.html-c68679ee.js | 41 + assets/jumpFloorII.html-b6336107.js | 1 + assets/jumpFloorII.html-ed2d5f6a.js | 24 + assets/k8s.html-1c7ed1aa.js | 1 + assets/k8s.html-569fa77b.js | 1 + assets/kafka.html-3bbdbd4c.js | 1 + assets/kafka.html-d4c5a044.js | 1 + assets/kibana.html-0508a24e.js | 1 + assets/kibana.html-e3e914a3.js | 1 + assets/koa-learn.html-85e77a70.js | 1 + assets/koa-learn.html-ce3b0579.js | 1 + assets/ktheNode.html-3583f7f0.js | 1 + assets/ktheNode.html-582d5515.js | 60 + assets/lastRemaining.html-5f8cd79e.js | 1 + assets/lastRemaining.html-a4708b98.js | 108 + assets/layer-ui.html-74b354b1.js | 1 + assets/layer-ui.html-ef4ce20f.js | 1 + assets/layout-9ab4d959.js | 1 + assets/league-gothic-38fcc721.ttf | Bin 0 -> 64256 bytes assets/league-gothic-5eef6df8.woff | Bin 0 -> 30764 bytes assets/league-gothic-8802c66a.eot | Bin 0 -> 25696 bytes assets/leftRotateString.html-8c067b75.js | 1 + assets/leftRotateString.html-d79cf899.js | 87 + assets/line-dffe0922.js | 1 + assets/linear-5244d9ff.js | 1 + assets/lock.html-4d9b58c2.js | 1 + assets/lock.html-981bf00d.js | 1 + assets/lodash-f016559b.png | Bin 0 -> 1878867 bytes assets/lodash.html-4b31aa0e.js | 297 ++ assets/lodash.html-a1dec0aa.js | 1 + assets/logstash.html-7f404d4f.js | 1 + assets/logstash.html-c019e11c.js | 1 + assets/markdown.esm-9d5bc2ce.js | 56 + assets/master-slave.html-c9143b23.js | 1 + assets/master-slave.html-ec9a2c05.js | 1 + assets/maxInWindows.html-00b0bfd4.js | 1 + assets/maxInWindows.html-65c68512.js | 24 + assets/maxProfit.html-03bc3f8f.js | 1 + assets/maxProfit.html-f4229e8b.js | 55 + assets/merge-6a4846a8.png | Bin 0 -> 161752 bytes assets/merge.html-624748a3.js | 12 + assets/merge.html-b5284dee.js | 68 + assets/merge.html-b9d6402e.js | 1 + assets/merge.html-f85b7998.js | 1 + assets/mergeList.html-3733987d.js | 12 + assets/mergeList.html-e25245cf.js | 1 + assets/mergeLists-2e80f173.png | Bin 0 -> 49862 bytes assets/mermaid.core-b9e4ef5d.js | 86 + assets/middleware-practice.html-22f6a3df.js | 1 + assets/middleware-practice.html-e3a8e81a.js | 1 + assets/midway-learn.html-096e0294.js | 1 + assets/midway-learn.html-3252b861.js | 1 + .../minNumberInRotateArray.html-3a6d73b9.js | 23 + .../minNumberInRotateArray.html-d79516a4.js | 1 + .../mindmap-definition-7f612c4b-3573c414.js | 109 + assets/mirror.html-493bb285.js | 1 + assets/mirror.html-6053c095.js | 40 + assets/monorepo.html-3d60c649.js | 1 + assets/monorepo.html-b033161e.js | 1 + assets/moreThanHalfNum.html-2ccaa929.js | 99 + assets/moreThanHalfNum.html-d3c6293f.js | 1 + assets/multiply.html-22788e9d.js | 41 + assets/multiply.html-46f5dca2.js | 1 + assets/mysql.html-127bc048.js | 34 + assets/mysql.html-28207b72.js | 1 + assets/nacos.html-1a10a215.js | 1 + assets/nacos.html-e02a44c3.js | 1 + assets/nest-learn.html-c7b8d476.js | 1 + assets/nest-learn.html-f14f032a.js | 1 + assets/nginx-gzip.html-1e272987.js | 1 + assets/nginx-gzip.html-d4a83acb.js | 40 + assets/nginx-proxy.html-0337f652.js | 1 + assets/nginx-proxy.html-af1f7994.js | 1 + assets/nginx.html-03ff4cce.js | 145 + assets/nginx.html-4cbdbd32.js | 1 + assets/node-grpc.html-49da0454.js | 1 + assets/node-grpc.html-9c6dd585.js | 1 + assets/node.html-8858eb9e.js | 104 + assets/node.html-ad0feafe.js | 1 + assets/npm-package.html-44d434dd.js | 53 + assets/npm-package.html-5fc3d5b7.js | 1 + assets/numberOf1.html-4fe44c5f.js | 35 + assets/numberOf1.html-88b6b5d3.js | 1 + assets/numberOf1Between1AndN.html-5ff26fb4.js | 1 + assets/numberOf1Between1AndN.html-7d533cba.js | 90 + assets/nuxt.html-38531670.js | 1 + assets/nuxt.html-d29a6726.js | 1 + assets/objective-down-8c44d3d9.png | Bin 0 -> 171954 bytes assets/oddEvenList-5031b744.png | Bin 0 -> 90519 bytes assets/oddEventList.html-003cdc40.js | 1 + assets/oddEventList.html-441579e8.js | 18 + assets/ordinal-ba9b4969.js | 1 + assets/package-manage.html-444b419b.js | 1 + assets/package-manage.html-8075c2ba.js | 198 ++ assets/package-manager.html-036d0457.js | 116 + assets/package-manager.html-a86e0cff.js | 1 + assets/path-53f90ab3.js | 1 + assets/photoswipe.esm-1464cdb9.js | 4 + assets/pieDiagram-ed51bc52-6a389138.js | 35 + assets/plugin-vue_export-helper-c27b6911.js | 1 + assets/plyr.min-d2156373.js | 2 + assets/pm2.html-4c8dabab.js | 1 + assets/pm2.html-a6fd1ee3.js | 1 + assets/power.html-8d5023d4.js | 60 + assets/power.html-9108f181.js | 1 + assets/prettier.html-482268c8.js | 1 + assets/prettier.html-518f0454.js | 1 + assets/print.html-9cfbc59a.js | 66 + assets/print.html-a43cabcd.js | 1 + .../printListFromTailToHead.html-18200f52.js | 87 + .../printListFromTailToHead.html-7156b2b4.js | 1 + assets/printMatrix.html-92e403f3.js | 123 + assets/printMatrix.html-db5892e4.js | 1 + assets/printMinNumber.html-51d70e0b.js | 38 + assets/printMinNumber.html-5e96afeb.js | 1 + assets/quadrantDiagram-3a393d1c-faf95eb4.js | 7 + assets/question-collections.html-97cfec9d.js | 1 + assets/question-collections.html-f0006c76.js | 1 + assets/quick-start.html-3b47544f.js | 1 + assets/quick-start.html-c8bcffae.js | 1 + assets/rabbitmq.html-54cd1b07.js | 1 + assets/rabbitmq.html-f7aad78d.js | 1 + assets/reConstructBinaryTree.html-90c5d001.js | 41 + assets/reConstructBinaryTree.html-b2e6b49e.js | 1 + assets/reOrderArray.html-69d8448f.js | 46 + assets/reOrderArray.html-8d260796.js | 1 + assets/rectCover.html-8ca5b093.js | 1 + assets/rectCover.html-8fe87983.js | 90 + assets/removeNthFromEnd-a4ae7689.png | Bin 0 -> 55394 bytes assets/removeNthFromEnd.html-2093ef21.js | 1 + assets/removeNthFromEnd.html-5c6fb39a.js | 2 + assets/replaceSpace.html-52dd6e86.js | 33 + assets/replaceSpace.html-7c0d079b.js | 1 + .../requirementDiagram-e12f1d97-0862b407.js | 52 + assets/restFul.html-93e4fe89.js | 1 + assets/restFul.html-eed1b9b2.js | 1 + assets/reveal.esm-1a4c3ae7.js | 35 + assets/reverseBetween-c23567b9.png | Bin 0 -> 69256 bytes assets/reverseBetween.html-cf9a8c77.js | 51 + assets/reverseBetween.html-d4f35cb1.js | 1 + assets/reverseGroup.html-4df2c3f7.js | 1 + assets/reverseGroup.html-d1169c3c.js | 9 + assets/reverseList-0004ee5b.png | Bin 0 -> 47926 bytes assets/reverseList-5fa41028.js | 1 + assets/reverseList.html-41206145.js | 1 + assets/reverseList.html-4cd725d7.js | 1 + assets/reverseList.html-758e0ae5.js | 11 + assets/reverseList.html-79ffea4f.js | 53 + assets/reverseSentence.html-472a702f.js | 1 + assets/reverseSentence.html-c256d7af.js | 81 + assets/rocketmq.html-0f1a9b65.js | 1 + assets/rocketmq.html-d1280890.js | 1 + assets/rxjs.html-a5845b69.js | 1 + assets/rxjs.html-db01a8f2.js | 1 + assets/sankeyDiagram-6de1f9fe-bd67194c.js | 8 + assets/sentinel-ae79e894.png | Bin 0 -> 79281 bytes assets/sentinel.html-6c5588da.js | 1 + assets/sentinel.html-a9822ab5.js | 119 + assets/sequelize.html-05f2d49f.js | 393 +++ assets/sequelize.html-eec9aefe.js | 1 + assets/sequenceDiagram-d89d0f25-26cbec15.js | 122 + assets/seven-day.html-591dc5a5.js | 1 + assets/seven-day.html-67d0a69e.js | 1 + assets/shell-1.html-3a2a8b37.js | 1 + assets/shell-1.html-5aa3c9c2.js | 23 + assets/shell-10.html-54a2d776.js | 1 + assets/shell-10.html-9997f9d3.js | 14 + assets/shell-11.html-46767c57.js | 1 + assets/shell-11.html-6456da1c.js | 14 + assets/shell-12.html-04de6dda.js | 1 + assets/shell-12.html-a777a9b2.js | 14 + assets/shell-13.html-049eb8e3.js | 14 + assets/shell-13.html-d5a1912a.js | 1 + assets/shell-14.html-7c903c39.js | 14 + assets/shell-14.html-7f1c7d42.js | 1 + assets/shell-15.html-260ca07c.js | 1 + assets/shell-15.html-2b6b4d2f.js | 14 + assets/shell-16.html-aba5207d.js | 14 + assets/shell-16.html-f3729423.js | 1 + assets/shell-17.html-667e0a1a.js | 1 + assets/shell-17.html-6f324ee2.js | 14 + assets/shell-18.html-25982269.js | 14 + assets/shell-18.html-82ab3c35.js | 1 + assets/shell-19.html-31b54c49.js | 1 + assets/shell-19.html-362062ed.js | 14 + assets/shell-2.html-5033a8e2.js | 1 + assets/shell-2.html-d1ecd511.js | 11 + assets/shell-20.html-24dceb86.js | 14 + assets/shell-20.html-d9943aa0.js | 1 + assets/shell-21.html-5135582b.js | 14 + assets/shell-21.html-5e766927.js | 1 + assets/shell-22.html-ce4187ec.js | 1 + assets/shell-22.html-fcff3878.js | 14 + assets/shell-23.html-3f154c17.js | 14 + assets/shell-23.html-62e03ce5.js | 1 + assets/shell-24.html-54f48925.js | 14 + assets/shell-24.html-b5c98075.js | 1 + assets/shell-25.html-20b67d10.js | 1 + assets/shell-25.html-9e815a7b.js | 14 + assets/shell-26.html-08d49778.js | 14 + assets/shell-26.html-731f38ac.js | 1 + assets/shell-27.html-7d6be0eb.js | 1 + assets/shell-27.html-aa9c07ba.js | 14 + assets/shell-28.html-995867a3.js | 14 + assets/shell-28.html-ca5a3c97.js | 1 + assets/shell-29.html-184581fc.js | 1 + assets/shell-29.html-72a70865.js | 14 + assets/shell-3.html-479303f6.js | 2 + assets/shell-3.html-92da1ffa.js | 1 + assets/shell-30.html-6252d6fc.js | 14 + assets/shell-30.html-d19e0d66.js | 1 + assets/shell-31.html-7c6978a1.js | 14 + assets/shell-31.html-f9302506.js | 1 + assets/shell-32.html-a53b5b5f.js | 14 + assets/shell-32.html-f91ff3d8.js | 1 + assets/shell-33.html-007adc1a.js | 14 + assets/shell-33.html-45122775.js | 1 + assets/shell-34.html-24def325.js | 1 + assets/shell-34.html-6c69e4b0.js | 14 + assets/shell-4.html-81e88324.js | 1 + assets/shell-4.html-cbf47693.js | 2 + assets/shell-5.html-00be7a0e.js | 1 + assets/shell-5.html-c4020dc1.js | 2 + assets/shell-6.html-70e882c4.js | 14 + assets/shell-6.html-755f966b.js | 1 + assets/shell-7.html-362a1107.js | 14 + assets/shell-7.html-8f0474ac.js | 1 + assets/shell-8.html-91567eeb.js | 1 + assets/shell-8.html-9b4518fe.js | 14 + assets/shell-9.html-4d3bdd8e.js | 1 + assets/shell-9.html-844a7bf9.js | 14 + assets/shouting-drizzle.html-0107253f.js | 1 + assets/shouting-drizzle.html-cd2ec1dc.js | 1 + assets/social-recruit.html-51aa8bb0.js | 1 + assets/social-recruit.html-c1d4f00c.js | 1 + assets/soft-install.html-a85a74d5.js | 1 + assets/soft-install.html-b4c5b0f7.js | 25 + assets/software-install.html-a868c9dd.js | 1 + assets/software-install.html-fdeda0df.js | 7 + assets/sortInList-b00f3e79.png | Bin 0 -> 44001 bytes assets/sortInList.html-ad5b8f8f.js | 17 + assets/sortInList.html-fec9014f.js | 1 + assets/source-sans-pro-italic-05d3615f.woff | Bin 0 -> 98556 bytes assets/source-sans-pro-italic-ad4b0799.eot | Bin 0 -> 75720 bytes assets/source-sans-pro-italic-d13268af.ttf | Bin 0 -> 238084 bytes assets/source-sans-pro-regular-c1865d89.ttf | Bin 0 -> 288008 bytes assets/source-sans-pro-regular-d4eaa48b.woff | Bin 0 -> 114324 bytes assets/source-sans-pro-regular-dce8869d.eot | Bin 0 -> 88070 bytes assets/source-sans-pro-semibold-a53e2723.ttf | Bin 0 -> 284640 bytes assets/source-sans-pro-semibold-b0abd273.woff | Bin 0 -> 115648 bytes assets/source-sans-pro-semibold-ebb8918d.eot | Bin 0 -> 89897 bytes ...urce-sans-pro-semibolditalic-7225cacc.woff | Bin 0 -> 98816 bytes ...ource-sans-pro-semibolditalic-dfe0b47a.eot | Bin 0 -> 75706 bytes ...ource-sans-pro-semibolditalic-e8ec22b6.ttf | Bin 0 -> 240944 bytes assets/ssl-install.html-462c2fd7.js | 1 + assets/ssl-install.html-d9455382.js | 1 + assets/ssr-improve.html-d3bf36fe.js | 1 + assets/ssr-improve.html-f29f5aba.js | 1 + assets/ssr.html-180d46b8.js | 1 + assets/ssr.html-a761e71b.js | 1 + assets/stackToQueue.html-3fafa4d4.js | 1 + assets/stackToQueue.html-e021c18e.js | 44 + assets/stateDiagram-0d589c85-45920000.js | 1 + assets/stateDiagram-v2-8bb05ecb-751c9c7b.js | 1 + assets/static-deploy.html-877ea072.js | 40 + assets/static-deploy.html-a4f4aca3.js | 1 + assets/static/brain-maps/index.html | 49 + assets/store-image.html-3049ba25.js | 1 + assets/store-image.html-eff0e6c4.js | 1 + assets/strToInt.html-6281609d.js | 1 + assets/strToInt.html-facc45bc.js | 15 + assets/stream.html-990a98df.js | 1 + assets/stream.html-e4d35be5.js | 40 + assets/style-86d7735d.css | 7 + assets/styles-0671a096-6e2274e0.js | 110 + assets/styles-24dfea38-14655b49.js | 207 ++ assets/styles-8b67d7cb-5b9ad786.js | 160 + assets/subjective-down-2d7f88d6.png | Bin 0 -> 171749 bytes assets/svgDrawCommon-057d45d0-7230a95e.js | 1 + assets/template.html-229135e9.js | 75 + assets/template.html-909b9b89.js | 1 + .../timeline-definition-8b56e66a-8fab9ea0.js | 61 + assets/typeorm.html-0e4b4ec6.js | 1 + assets/typeorm.html-eff3df66.js | 1 + assets/use-rule.html-38f47aee.js | 2 + assets/use-rule.html-e94295ff.js | 1 + assets/utils-a5e1dbae-143be013.js | 1 + assets/vant-ui.html-3dcdc61e.js | 1 + assets/vant-ui.html-bd5db29f.js | 1 + assets/vim-53b51753.gif | Bin 0 -> 134161 bytes assets/vim.html-0d3f41fb.js | 1 + assets/vim.html-a953fd46.js | 1 + assets/vite.html-7cc42f0f.js | 1 + assets/vite.html-ec090d3f.js | 1 + assets/vue-repl-edddac03.js | 758 +++++ assets/vue.html-67fdd6ba.js | 1 + assets/vue.html-80b4574a.js | 1 + assets/vue.html-8819f434.js | 1 + assets/vue.html-afacf4bd.js | 1 + assets/vuepress.html-17e8c56d.js | 1 + assets/vuepress.html-e12bcbd5.js | 102 + assets/web-domain.html-9ba91109.js | 1 + assets/web-domain.html-b291b145.js | 1 + assets/webpack.html-502088b4.js | 1 + assets/webpack.html-86fa0747.js | 1 + assets/wechat-list.html-101d1376.js | 1 + assets/wechat-list.html-3ab3161f.js | 1 + assets/wen-city.html-61d85f8d.js | 1 + assets/wen-city.html-e0570407.js | 1 + ...\351\227\264\344\273\266.html-4faa87be.js" | 149 + ...\351\227\264\344\273\266.html-5ede0b06.js" | 1 + ...\344\277\241\346\201\257.html-3126fc77.js" | 1 + ...\344\277\241\346\201\257.html-c33c35a4.js" | 1 + ...\345\270\270\350\200\203.html-002d35a9.js" | 1 + ...\345\270\270\350\200\203.html-ebdd415b.js" | 152 + ...\346\261\207\346\200\273.html-9d932669.js" | 1 + ...\346\261\207\346\200\273.html-c1c409cb.js" | 1 + ...\344\273\273\345\212\241.html-09368b72.js" | 111 + ...\344\273\273\345\212\241.html-6c09fccd.js" | 1 + ...\345\205\245\351\227\250.html-1b7deddd.js" | 1 + ...\345\205\245\351\227\250.html-3255b0a2.js" | 283 ++ ...\350\247\204\350\214\203.html-6a1f3dd0.js" | 1 + ...\350\247\204\350\214\203.html-d2320233.js" | 1 + ...\346\234\215\345\212\241.html-b737a493.js" | 1 + ...\346\234\215\345\212\241.html-def15d2d.js" | 640 ++++ ...\345\256\236\350\267\265.html-35bbfc54.js" | 1 + ...\345\256\236\350\267\265.html-c43231a8.js" | 266 ++ ...\345\257\271\350\261\241.html-4e71b7f0.js" | 183 ++ ...\345\257\271\350\261\241.html-d68f8f5e.js" | 1 + ...\346\213\223\345\261\225.html-11f52fe3.js" | 140 + ...\346\213\223\345\261\225.html-ee06327c.js" | 1 + ...\347\273\223\346\236\204.html-4ce017a5.js" | 1 + ...\347\273\223\346\236\204.html-60aa85c9.js" | 39 + ...\347\256\200\344\273\213.html-2b4c4d8d.js" | 1 + ...\347\256\200\344\273\213.html-2fa7fe24.js" | 1 + ...\347\256\200\344\273\213.html-9a919e93.js" | 1 + ...\347\256\200\344\273\213.html-be69b676.js" | 1 + ...\344\275\277\347\224\250.html-2dd7aaa9.js" | 137 + ...\344\275\277\347\224\250.html-7af7c0a4.js" | 1 + ...\350\260\203\347\224\250.html-ae4620ef.js" | 1 + ...\350\260\203\347\224\250.html-d86e9561.js" | 1 + ...\347\216\257\345\242\203.html-053a61c4.js" | 1 + ...\347\216\257\345\242\203.html-d0431efd.js" | 179 ++ favicon.ico | Bin 0 -> 1551 bytes fight_favicon.ico | Bin 0 -> 9662 bytes index.html | 94 + manuscripts/battle-interview/index.html | 49 + .../interface-idempotent.html | 49 + manuscripts/battle-interview/lock.html | 49 + manuscripts/battle-interview/mysql.html | 82 + manuscripts/battle-interview/nginx.html | 193 ++ manuscripts/battle-interview/node.html | 152 + ...\347\253\257\345\270\270\350\200\203.html" | 200 ++ ...\347\253\257\346\261\207\346\200\273.html" | 49 + .../battle-interview/social-recruit.html | 49 + manuscripts/big-event-history.html | 49 + manuscripts/changelog.html | 49 + .../develop-skill/build-tools/vite.html | 49 + .../develop-skill/build-tools/webpack.html | 49 + .../develop-skill/code-manager/ci-cd.html | 49 + .../code-manager/code-platform.html | 49 + .../develop-skill/code-manager/git.html | 163 ++ .../code-manager/github-actions.html | 49 + .../develop-skill/code-manager/github-ci.html | 49 + .../develop-skill/code-manager/jenkins.html | 60 + .../develop-skill/code-style/eslint.html | 236 ++ .../develop-skill/code-style/prettier.html | 49 + manuscripts/develop-skill/index.html | 49 + manuscripts/develop-skill/monorepo.html | 49 + .../develop-skill/package-manager.html | 164 ++ .../develop-skill/software-install.html | 55 + manuscripts/frequent-site-link.html | 49 + manuscripts/front-end/base-begin/css.html | 49 + .../base-begin/html-correlation.html | 49 + .../front-end/base-begin/javascript.html | 732 +++++ .../front-end/front-framework/jquery.html | 52 + .../front-end/front-framework/nuxt.html | 49 + .../front-end/front-framework/vue.html | 49 + .../front-end/front-framework/vuepress.html | 150 + manuscripts/front-end/index.html | 49 + .../front-end/server-deploy/ssr-improve.html | 49 + manuscripts/front-end/server-deploy/ssr.html | 49 + .../server-deploy/static-deploy.html | 88 + .../ui-framework/ant-design-vue.html | 49 + .../front-end/ui-framework/bootstrap.html | 49 + .../front-end/ui-framework/element.html | 49 + .../front-end/ui-framework/iview-design.html | 49 + .../front-end/ui-framework/layer-ui.html | 49 + .../front-end/ui-framework/vant-ui.html | 49 + manuscripts/front-end/ui-framework/vue.html | 49 + manuscripts/good-idea.html | 51 + manuscripts/job-chance/index.html | 49 + .../job-chance/job-poster-bytedance.html | 49 + manuscripts/microservice/apollo.html | 49 + manuscripts/microservice/consul.html | 49 + manuscripts/microservice/docker-compose.html | 72 + manuscripts/microservice/docker.html | 211 ++ .../microservice/elk/elasticsearch.html | 49 + manuscripts/microservice/elk/filebeat.html | 49 + manuscripts/microservice/elk/kibana.html | 49 + manuscripts/microservice/elk/logstash.html | 49 + manuscripts/microservice/gateway.html | 49 + manuscripts/microservice/grpc.html | 64 + manuscripts/microservice/index.html | 49 + manuscripts/microservice/istio.html | 49 + manuscripts/microservice/k8s.html | 49 + manuscripts/microservice/mq/kafka.html | 49 + manuscripts/microservice/mq/rabbitmq.html | 49 + manuscripts/microservice/mq/rocketmq.html | 49 + manuscripts/microservice/nacos.html | 49 + manuscripts/microservice/node-grpc.html | 49 + ...\345\207\206\345\205\245\351\227\250.html" | 2608 +++++++++++++++++ .../read-books/cs-books/base-nodejs.html | 274 ++ .../read-books/cs-books/better-nodejs.html | 688 +++++ .../read-books/cs-books/good-nodejs.html | 49 + .../cs-books/high-performance-web-server.html | 49 + .../cs-books/middleware-practice.html | 49 + manuscripts/read-books/index.html | 49 + .../read-books/not-cs-book/brother.html | 49 + .../read-books/not-cs-book/good-love.html | 49 + .../read-books/not-cs-book/hello-alone.html | 49 + .../read-books/not-cs-book/seven-day.html | 49 + .../not-cs-book/shouting-drizzle.html | 49 + .../read-books/not-cs-book/wen-city.html | 49 + .../OAuth2.0\345\215\217\350\256\256.html" | 49 + manuscripts/server-end/base/restFul.html | 49 + ...\350\257\235\344\277\241\346\201\257.html" | 49 + ...\345\217\243\350\247\204\350\214\203.html" | 49 + ...\347\250\213\350\260\203\347\224\250.html" | 49 + .../server-end/build-website/nginx-gzip.html | 88 + .../server-end/build-website/nginx-proxy.html | 49 + .../server-end/build-website/ssl-install.html | 49 + .../server-end/build-website/store-image.html | 49 + .../server-end/build-website/web-domain.html | 49 + manuscripts/server-end/database/index.html | 49 + .../server-end/database/mongo/install.html | 85 + .../server-end/database/mysql/index.html | 49 + .../database/redis/base-install.html | 154 + .../server-end/database/redis/cluster.html | 49 + .../database/redis/master-slave.html | 49 + .../server-end/database/redis/sentinel.html | 167 ++ .../server-end/database/redis/use-rule.html | 50 + .../docker-cluster/docker-compose.html | 188 ++ .../server-end/docker-cluster/docker.html | 199 ++ .../server-end/docker-cluster/dockerfile.html | 71 + .../docker-cluster/egg-cluster.html | 49 + .../server-end/docker-cluster/install.html | 49 + .../server-end/docker-cluster/pm2.html | 49 + manuscripts/server-end/es6/index.html | 49 + .../server-end/framework/egg-learn.html | 49 + .../server-end/framework/egg/index.html | 49 + .../framework/egg/plugin/egg-mysql.html | 419 +++ .../framework/egg/plugin/egg-redis.html | 49 + .../framework/egg/plugin/egg-sequelize.html | 284 ++ .../framework/egg/plugin/egg-validate.html | 49 + ...\344\270\255\351\227\264\344\273\266.html" | 197 ++ ...\346\227\266\344\273\273\345\212\241.html" | 159 + ...\351\200\237\345\205\245\351\227\250.html" | 331 +++ ...\345\222\214\346\234\215\345\212\241.html" | 688 +++++ ...\346\236\266\345\257\271\350\261\241.html" | 231 ++ ...\346\236\266\346\213\223\345\261\225.html" | 188 ++ ...\345\275\225\347\273\223\346\236\204.html" | 87 + .../tutorial/\347\256\200\344\273\213.html" | 49 + ...\347\232\204\344\275\277\347\224\250.html" | 185 ++ ...\350\241\214\347\216\257\345\242\203.html" | 227 ++ ...\344\275\263\345\256\236\350\267\265.html" | 314 ++ .../server-end/framework/express-learn.html | 49 + .../server-end/framework/koa-learn.html | 49 + .../server-end/framework/midway-learn.html | 49 + .../server-end/framework/midway/index.html | 49 + .../server-end/framework/nest-learn.html | 49 + manuscripts/server-end/index.html | 49 + manuscripts/server-end/linux/base-shell.html | 173 ++ manuscripts/server-end/linux/curl.html | 356 +++ manuscripts/server-end/linux/index.html | 49 + .../server-end/linux/package-manage.html | 246 ++ .../server-end/linux/soft-install.html | 73 + manuscripts/server-end/linux/vim.html | 49 + manuscripts/server-end/node-learn/axios.html | 377 +++ manuscripts/server-end/node-learn/dayjs.html | 234 ++ manuscripts/server-end/node-learn/lodash.html | 345 +++ .../server-end/node-learn/npm-package.html | 101 + manuscripts/server-end/node-learn/rxjs.html | 49 + manuscripts/server-end/node-learn/stream.html | 88 + manuscripts/server-end/orm/sequelize.html | 441 +++ manuscripts/server-end/orm/typeorm.html | 49 + .../typescript/\347\256\200\344\273\213.html" | 49 + manuscripts/solo-algorithm/fibonacci.html | 81 + manuscripts/solo-algorithm/index.html | 49 + .../solo-algorithm/interview-top-101.html | 49 + manuscripts/solo-algorithm/jumpFloor.html | 89 + .../solo-algorithm/link-table/addList.html | 67 + .../link-table/deleteDuplicates-one.html | 63 + .../link-table/deleteDuplicates-two.html | 63 + .../link-table/entryNodeOfLoop.html | 66 + .../link-table/findFirstCommonNode.html | 66 + .../link-table/findKthToTail.html | 77 + .../solo-algorithm/link-table/hasCycle.html | 60 + .../solo-algorithm/link-table/isPail.html | 66 + .../link-table/link-table/oddEventList.html | 66 + .../solo-algorithm/link-table/merge.html | 60 + .../solo-algorithm/link-table/mergeList.html | 60 + .../link-table/removeNthFromEnd.html | 50 + .../link-table/reverseBetween.html | 99 + .../link-table/reverseGroup.html | 57 + .../link-table/reverseList.html | 59 + .../solo-algorithm/link-table/sortInList.html | 65 + .../solo-algorithm/question-collections.html | 49 + manuscripts/solo-algorithm/shell/index.html | 49 + manuscripts/solo-algorithm/shell/shell-1.html | 71 + .../solo-algorithm/shell/shell-10.html | 62 + .../solo-algorithm/shell/shell-11.html | 62 + .../solo-algorithm/shell/shell-12.html | 62 + .../solo-algorithm/shell/shell-13.html | 62 + .../solo-algorithm/shell/shell-14.html | 62 + .../solo-algorithm/shell/shell-15.html | 62 + .../solo-algorithm/shell/shell-16.html | 62 + .../solo-algorithm/shell/shell-17.html | 62 + .../solo-algorithm/shell/shell-18.html | 62 + .../solo-algorithm/shell/shell-19.html | 62 + manuscripts/solo-algorithm/shell/shell-2.html | 59 + .../solo-algorithm/shell/shell-20.html | 62 + .../solo-algorithm/shell/shell-21.html | 62 + .../solo-algorithm/shell/shell-22.html | 62 + .../solo-algorithm/shell/shell-23.html | 62 + .../solo-algorithm/shell/shell-24.html | 62 + .../solo-algorithm/shell/shell-25.html | 62 + .../solo-algorithm/shell/shell-26.html | 62 + .../solo-algorithm/shell/shell-27.html | 62 + .../solo-algorithm/shell/shell-28.html | 62 + .../solo-algorithm/shell/shell-29.html | 62 + manuscripts/solo-algorithm/shell/shell-3.html | 50 + .../solo-algorithm/shell/shell-30.html | 62 + .../solo-algorithm/shell/shell-31.html | 62 + .../solo-algorithm/shell/shell-32.html | 62 + .../solo-algorithm/shell/shell-33.html | 62 + .../solo-algorithm/shell/shell-34.html | 62 + manuscripts/solo-algorithm/shell/shell-4.html | 50 + manuscripts/solo-algorithm/shell/shell-5.html | 50 + manuscripts/solo-algorithm/shell/shell-6.html | 62 + manuscripts/solo-algorithm/shell/shell-7.html | 62 + manuscripts/solo-algorithm/shell/shell-8.html | 62 + manuscripts/solo-algorithm/shell/shell-9.html | 62 + .../solo-algorithm/sword-point/index.html | 49 + .../getNumberOfK.html" | 102 + .../minNumberInRotateArray.html" | 71 + .../findNumsAppearOnce.html" | 138 + .../numberOf1.html" | 83 + .../add.html" | 120 + .../isContinuous.html" | 88 + .../strToInt.html" | 63 + .../\345\210\206\346\262\273/power.html" | 108 + .../fibonacci.html" | 82 + .../findGreatestSumOfSubArray.html" | 104 + .../getUglyNumber.html" | 81 + .../jumpFloor.html" | 89 + .../jumpFloorII.html" | 72 + .../multiply.html" | 89 + .../rectCover.html" | 138 + .../findContinuousSequence.html" | 121 + .../findNumbersWithSum.html" | 165 ++ .../leftRotateString.html" | 135 + .../reverseSentence.html" | 129 + .../printMinNumber.html" | 86 + .../reOrderArray.html" | 94 + .../lastRemaining.html" | 156 + .../moreThanHalfNum.html" | 147 + .../numberOf1Between1AndN.html" | 138 + .../duplicate.html" | 108 + .../find.html" | 165 ++ .../firstNotRepeatingChar.html" | 123 + .../printMatrix.html" | 171 ++ .../replaceSpace.html" | 81 + .../firstAppearingOnce.html" | 120 + .../getLeastNumbers.html" | 140 + .../getMinInJSStack.html" | 109 + .../insertAndGetMedian.html" | 81 + .../maxInWindows.html" | 72 + .../stackToQueue.html" | 92 + .../sword-point/\346\240\221/findPath.html" | 86 + .../sword-point/\346\240\221/getNext.html" | 93 + .../sword-point/\346\240\221/hasSubtree.html" | 97 + .../\346\240\221/isSymmetrical.html" | 87 + .../sword-point/\346\240\221/ktheNode.html" | 108 + .../sword-point/\346\240\221/mirror.html" | 88 + .../sword-point/\346\240\221/print.html" | 114 + .../\346\240\221/reConstructBinaryTree.html" | 89 + .../cutRope.html" | 70 + .../maxProfit.html" | 103 + .../deleteDuplication.html" | 120 + .../entryNodeOfLoop.html" | 65 + .../findFirstCommonNode.html" | 94 + .../findKthToTail.html" | 115 + .../\351\223\276\350\241\250/merge.html" | 116 + .../printListFromTailToHead.html" | 135 + .../reverseList.html" | 101 + manuscripts/solo-algorithm/template.html | 123 + manuscripts/wechat-list.html | 49 + quick-start.html | 49 + robots.txt | 5 + search-pro.worker.js | 2 + sitemap.xml | 3 + sitemap.xsl | 152 + 862 files changed, 44724 insertions(+) create mode 100644 404.html create mode 100644 assets/404.html-195926ee.js create mode 100644 assets/404.html-f3bf19c5.js create mode 100644 "assets/ES6\346\240\207\345\207\206\345\205\245\351\227\250.html-2d1ffb26.js" create mode 100644 "assets/ES6\346\240\207\345\207\206\345\205\245\351\227\250.html-e0d78135.js" create mode 100644 "assets/OAuth2.0\345\215\217\350\256\256.html-25517870.js" create mode 100644 "assets/OAuth2.0\345\215\217\350\256\256.html-e60b5571.js" create mode 100644 assets/SearchResult-287e28b8.js create mode 100644 assets/VuePlayground-ed989fc2.js create mode 100644 assets/add.html-37b01284.js create mode 100644 assets/add.html-da1d181f.js create mode 100644 assets/addInList-d694123a.png create mode 100644 assets/addList.html-0cff3922.js create mode 100644 assets/addList.html-df906ef2.js create mode 100644 assets/ant-design-vue.html-60d22422.js create mode 100644 assets/ant-design-vue.html-7bc3aa2a.js create mode 100644 assets/apollo.html-04c507df.js create mode 100644 assets/apollo.html-1a50035a.js create mode 100644 assets/app-97115cb3.js create mode 100644 assets/arc-4d305f8d.js create mode 100644 assets/array-9f3ba611.js create mode 100644 assets/axios.html-80a49fc0.js create mode 100644 assets/axios.html-ba334cf8.js create mode 100644 assets/base-install.html-709ec529.js create mode 100644 assets/base-install.html-a56d78e7.js create mode 100644 assets/base-nodejs.html-0c0a1978.js create mode 100644 assets/base-nodejs.html-a35d151e.js create mode 100644 assets/base-shell.html-3d74f1c6.js create mode 100644 assets/base-shell.html-af137a47.js create mode 100644 assets/better-nodejs.html-1d2f8261.js create mode 100644 assets/better-nodejs.html-ff7293ce.js create mode 100644 assets/big-event-history.html-13df0812.js create mode 100644 assets/big-event-history.html-1ce79af1.js create mode 100644 assets/bootstrap.html-1a8edc36.js create mode 100644 assets/bootstrap.html-c27d32bb.js create mode 100644 assets/brother.html-20da24ad.js create mode 100644 assets/brother.html-68f8adc3.js create mode 100644 assets/browser-21db0a97.js create mode 100644 assets/c4Diagram-7ff6304f-a96169c2.js create mode 100644 assets/changelog.html-27f452df.js create mode 100644 assets/changelog.html-a03d305d.js create mode 100644 assets/ci-cd.html-1cadfe89.js create mode 100644 assets/ci-cd.html-516368a0.js create mode 100644 assets/classDiagram-04f04946-dfb15138.js create mode 100644 assets/classDiagram-v2-d4efdcc3-a0a80143.js create mode 100644 assets/cluster.html-1c14a75e.js create mode 100644 assets/cluster.html-c19af36e.js create mode 100644 assets/code-platform.html-3a31f67b.js create mode 100644 assets/code-platform.html-f1f0f744.js create mode 100644 assets/codemirror-editor-4c92082b.js create mode 100644 assets/consul.html-abadc4f5.js create mode 100644 assets/consul.html-cfc2d05c.js create mode 100644 assets/createText-80c3befb-5d11fb35.js create mode 100644 assets/css.html-3c4c6216.js create mode 100644 assets/css.html-779733e5.js create mode 100644 assets/curl.html-86b4a268.js create mode 100644 assets/curl.html-9737075c.js create mode 100644 assets/cutRope.html-a2197d74.js create mode 100644 assets/cutRope.html-b3c072eb.js create mode 100644 assets/dayjs.html-71b20631.js create mode 100644 assets/dayjs.html-7d46f3e7.js create mode 100644 assets/deleteDuplicates-1-44e6622f.png create mode 100644 assets/deleteDuplicates-2-12735269.png create mode 100644 assets/deleteDuplicates-one.html-7ba1083f.js create mode 100644 assets/deleteDuplicates-one.html-b498a393.js create mode 100644 assets/deleteDuplicates-two.html-49f47ca9.js create mode 100644 assets/deleteDuplicates-two.html-6fb00cfc.js create mode 100644 assets/deleteDuplication.html-2b44f379.js create mode 100644 assets/deleteDuplication.html-9d8609cb.js create mode 100644 assets/docker-compose.html-16cadaeb.js create mode 100644 assets/docker-compose.html-1834033a.js create mode 100644 assets/docker-compose.html-1ba484b3.js create mode 100644 assets/docker-compose.html-51ac5a1f.js create mode 100644 assets/docker.html-56a929bf.js create mode 100644 assets/docker.html-b38e34da.js create mode 100644 assets/docker.html-f7b2d624.js create mode 100644 assets/docker.html-ff2a21fa.js create mode 100644 assets/dockerfile.html-107e2e99.js create mode 100644 assets/dockerfile.html-47edb47a.js create mode 100644 assets/duplicate.html-89f7893a.js create mode 100644 assets/duplicate.html-9dab520a.js create mode 100644 assets/edges-f15a7e05-457b3a50.js create mode 100644 assets/egg-cluster.html-6228b3bf.js create mode 100644 assets/egg-cluster.html-90faa8ed.js create mode 100644 assets/egg-learn.html-32a542ba.js create mode 100644 assets/egg-learn.html-bac555f1.js create mode 100644 assets/egg-mysql.html-6e582c63.js create mode 100644 assets/egg-mysql.html-8a8e0974.js create mode 100644 assets/egg-redis.html-678017c4.js create mode 100644 assets/egg-redis.html-c5735a90.js create mode 100644 assets/egg-sequelize.html-24b9c0f4.js create mode 100644 assets/egg-sequelize.html-710accb5.js create mode 100644 assets/egg-validate.html-69f0682b.js create mode 100644 assets/egg-validate.html-b6e004fd.js create mode 100644 assets/elasticsearch.html-b0b009b0.js create mode 100644 assets/elasticsearch.html-bbf76d08.js create mode 100644 assets/element.html-0943246a.js create mode 100644 assets/element.html-09cc06ae.js create mode 100644 assets/entryNodeOfLoop-11adbe5c.png create mode 100644 assets/entryNodeOfLoop.html-52880ddb.js create mode 100644 assets/entryNodeOfLoop.html-54679702.js create mode 100644 assets/entryNodeOfLoop.html-75f9df3a.js create mode 100644 assets/entryNodeOfLoop.html-dd593a30.js create mode 100644 assets/erDiagram-a995d1fe-16ba758c.js create mode 100644 assets/eslint.html-21b28776.js create mode 100644 assets/eslint.html-45c36e0c.js create mode 100644 assets/express-learn.html-832b0e52.js create mode 100644 assets/express-learn.html-a025395b.js create mode 100644 assets/fibonacci.html-2286b483.js create mode 100644 assets/fibonacci.html-c0820aa5.js create mode 100644 assets/fibonacci.html-d7b4ac72.js create mode 100644 assets/fibonacci.html-f6317ca9.js create mode 100644 assets/filebeat.html-ae3b47f0.js create mode 100644 assets/filebeat.html-c8be6d4c.js create mode 100644 assets/find.html-0b91a41e.js create mode 100644 assets/find.html-ab00cb8b.js create mode 100644 assets/findContinuousSequence.html-3a377e32.js create mode 100644 assets/findContinuousSequence.html-f86c4dbd.js create mode 100644 assets/findFirstCommonNode-06d23c84.png create mode 100644 assets/findFirstCommonNode.html-44a05323.js create mode 100644 assets/findFirstCommonNode.html-474366fd.js create mode 100644 assets/findFirstCommonNode.html-65de6730.js create mode 100644 assets/findFirstCommonNode.html-70a11e38.js create mode 100644 assets/findGreatestSumOfSubArray.html-3778f6a6.js create mode 100644 assets/findGreatestSumOfSubArray.html-c696e35f.js create mode 100644 assets/findKthToTail-cb15fbf9.png create mode 100644 assets/findKthToTail.html-04bc3238.js create mode 100644 assets/findKthToTail.html-2abfb496.js create mode 100644 assets/findKthToTail.html-8263d535.js create mode 100644 assets/findKthToTail.html-fc78e811.js create mode 100644 assets/findNumbersWithSum.html-6a838dec.js create mode 100644 assets/findNumbersWithSum.html-944dc7ce.js create mode 100644 assets/findNumsAppearOnce.html-9aead938.js create mode 100644 assets/findNumsAppearOnce.html-c886b6dd.js create mode 100644 assets/findPath.html-5f97bffb.js create mode 100644 assets/findPath.html-6baac1fb.js create mode 100644 assets/firstAppearingOnce.html-0405a006.js create mode 100644 assets/firstAppearingOnce.html-949de89e.js create mode 100644 assets/firstNotRepeatingChar.html-2acafc97.js create mode 100644 assets/firstNotRepeatingChar.html-b63e95f9.js create mode 100644 assets/flowDb-fa1288b0-6c98adc2.js create mode 100644 assets/flowDiagram-f303bdd6-00d9b6dc.js create mode 100644 assets/flowDiagram-v2-34644886-c4161246.js create mode 100644 assets/flowchart-elk-definition-b487ab79-4b70ec88.js create mode 100644 assets/frequent-site-link.html-87609dcf.js create mode 100644 assets/frequent-site-link.html-aa408069.js create mode 100644 assets/ganttDiagram-6a1a118f-9b99c4b6.js create mode 100644 assets/gateway.html-5b2b39b5.js create mode 100644 assets/gateway.html-acd3294f.js create mode 100644 assets/getLeastNumbers.html-20bff421.js create mode 100644 assets/getLeastNumbers.html-7098fc8b.js create mode 100644 assets/getMinInJSStack.html-e4c22e03.js create mode 100644 assets/getMinInJSStack.html-edd23281.js create mode 100644 assets/getNext.html-5037bea8.js create mode 100644 assets/getNext.html-71253fbc.js create mode 100644 assets/getNumberOfK.html-17356376.js create mode 100644 assets/getNumberOfK.html-cf9b8cf1.js create mode 100644 assets/getUglyNumber.html-32a169b4.js create mode 100644 assets/getUglyNumber.html-fbb4b862.js create mode 100644 assets/git-fcca101d.png create mode 100644 assets/git.html-1288e327.js create mode 100644 assets/git.html-a2ed39c3.js create mode 100644 assets/gitGraphDiagram-2139c8c6-5ede84a7.js create mode 100644 assets/github-actions.html-6d9309c2.js create mode 100644 assets/github-actions.html-7b60760e.js create mode 100644 assets/github-ci.html-6d6871b2.js create mode 100644 assets/github-ci.html-8b57288f.js create mode 100644 assets/good-idea.html-9234ab0b.js create mode 100644 assets/good-idea.html-b4468d2a.js create mode 100644 assets/good-love.html-8237065c.js create mode 100644 assets/good-love.html-cfbeb8e9.js create mode 100644 assets/good-nodejs.html-55b04e11.js create mode 100644 assets/good-nodejs.html-db63ad25.js create mode 100644 assets/grpc-core-8c53c2e7.png create mode 100644 assets/grpc.html-20c8ea42.js create mode 100644 assets/grpc.html-44f84983.js create mode 100644 assets/hasCycle-cf858f25.png create mode 100644 assets/hasCycle.html-16b36e53.js create mode 100644 assets/hasCycle.html-c71c4f67.js create mode 100644 assets/hasSubtree.html-bd4b8195.js create mode 100644 assets/hasSubtree.html-bf6bcff2.js create mode 100644 assets/hello-alone.html-55da41e0.js create mode 100644 assets/hello-alone.html-a0b63c12.js create mode 100644 assets/high-performance-web-server.html-1952fdde.js create mode 100644 assets/high-performance-web-server.html-80079bcd.js create mode 100644 assets/html-correlation.html-7d88c631.js create mode 100644 assets/html-correlation.html-bbaf21fc.js create mode 100644 assets/index-f9462f3f-2c188ac0.js create mode 100644 assets/index.html-0edd21e6.js create mode 100644 assets/index.html-0fba9c62.js create mode 100644 assets/index.html-105e6c32.js create mode 100644 assets/index.html-15ccaa19.js create mode 100644 assets/index.html-169b039b.js create mode 100644 assets/index.html-1b5326be.js create mode 100644 assets/index.html-2334124b.js create mode 100644 assets/index.html-2bc6bae6.js create mode 100644 assets/index.html-36a8cebe.js create mode 100644 assets/index.html-3fbf79fa.js create mode 100644 assets/index.html-44e3aed1.js create mode 100644 assets/index.html-4fc5152a.js create mode 100644 assets/index.html-519dcc10.js create mode 100644 assets/index.html-524a0438.js create mode 100644 assets/index.html-69511381.js create mode 100644 assets/index.html-69f8c783.js create mode 100644 assets/index.html-6c0b7c56.js create mode 100644 assets/index.html-8c490c10.js create mode 100644 assets/index.html-90429484.js create mode 100644 assets/index.html-9caf14c2.js create mode 100644 assets/index.html-9e67c5f9.js create mode 100644 assets/index.html-9fd8ab14.js create mode 100644 assets/index.html-ba52b762.js create mode 100644 assets/index.html-ba648c74.js create mode 100644 assets/index.html-bf1ae4de.js create mode 100644 assets/index.html-bf2c4bb0.js create mode 100644 assets/index.html-c16e2c7b.js create mode 100644 assets/index.html-cc07ccb2.js create mode 100644 assets/index.html-ce946fc9.js create mode 100644 assets/index.html-d0fa6fd1.js create mode 100644 assets/index.html-d48bd0b3.js create mode 100644 assets/index.html-d6c3a861.js create mode 100644 assets/index.html-dda99f7e.js create mode 100644 assets/index.html-e823a74c.js create mode 100644 assets/index.html-f92b55f8.js create mode 100644 assets/index.html-f9674661.js create mode 100644 assets/infoDiagram-2064d999-1e734eec.js create mode 100644 assets/init-77b53fdd.js create mode 100644 assets/insertAndGetMedian.html-0759b95f.js create mode 100644 assets/insertAndGetMedian.html-661b728a.js create mode 100644 assets/install.html-1b295a49.js create mode 100644 assets/install.html-74ec5c57.js create mode 100644 assets/install.html-979b3f7b.js create mode 100644 assets/install.html-f8ea89c0.js create mode 100644 assets/interface-idempotent.html-12d2800f.js create mode 100644 assets/interface-idempotent.html-65a92548.js create mode 100644 assets/interview-top-101.html-2892a351.js create mode 100644 assets/interview-top-101.html-b1d10e13.js create mode 100644 assets/isContinuous.html-135ad528.js create mode 100644 assets/isContinuous.html-a5f1166d.js create mode 100644 assets/isPail-eb323bac.png create mode 100644 assets/isPail.html-0801a8a2.js create mode 100644 assets/isPail.html-4fd10a20.js create mode 100644 assets/isSymmetrical.html-dc6de95b.js create mode 100644 assets/isSymmetrical.html-e436e46d.js create mode 100644 assets/istio.html-1bccd3cb.js create mode 100644 assets/istio.html-f7134441.js create mode 100644 assets/iview-design.html-8466fe4f.js create mode 100644 assets/iview-design.html-c07f7466.js create mode 100644 assets/javascript.html-4e20db59.js create mode 100644 assets/javascript.html-a7760e57.js create mode 100644 assets/jenkins.html-618983c2.js create mode 100644 assets/jenkins.html-856d9a18.js create mode 100644 assets/job-poster-bytedance.html-b8c09d9c.js create mode 100644 assets/job-poster-bytedance.html-f5dadab5.js create mode 100644 assets/journeyDiagram-6df70039-2cc1e6c5.js create mode 100644 assets/jquery.html-095b2e3e.js create mode 100644 assets/jquery.html-850b5197.js create mode 100644 assets/jumpFloor.html-412819ad.js create mode 100644 assets/jumpFloor.html-6543fd49.js create mode 100644 assets/jumpFloor.html-881fea18.js create mode 100644 assets/jumpFloor.html-c68679ee.js create mode 100644 assets/jumpFloorII.html-b6336107.js create mode 100644 assets/jumpFloorII.html-ed2d5f6a.js create mode 100644 assets/k8s.html-1c7ed1aa.js create mode 100644 assets/k8s.html-569fa77b.js create mode 100644 assets/kafka.html-3bbdbd4c.js create mode 100644 assets/kafka.html-d4c5a044.js create mode 100644 assets/kibana.html-0508a24e.js create mode 100644 assets/kibana.html-e3e914a3.js create mode 100644 assets/koa-learn.html-85e77a70.js create mode 100644 assets/koa-learn.html-ce3b0579.js create mode 100644 assets/ktheNode.html-3583f7f0.js create mode 100644 assets/ktheNode.html-582d5515.js create mode 100644 assets/lastRemaining.html-5f8cd79e.js create mode 100644 assets/lastRemaining.html-a4708b98.js create mode 100644 assets/layer-ui.html-74b354b1.js create mode 100644 assets/layer-ui.html-ef4ce20f.js create mode 100644 assets/layout-9ab4d959.js create mode 100644 assets/league-gothic-38fcc721.ttf create mode 100644 assets/league-gothic-5eef6df8.woff create mode 100644 assets/league-gothic-8802c66a.eot create mode 100644 assets/leftRotateString.html-8c067b75.js create mode 100644 assets/leftRotateString.html-d79cf899.js create mode 100644 assets/line-dffe0922.js create mode 100644 assets/linear-5244d9ff.js create mode 100644 assets/lock.html-4d9b58c2.js create mode 100644 assets/lock.html-981bf00d.js create mode 100644 assets/lodash-f016559b.png create mode 100644 assets/lodash.html-4b31aa0e.js create mode 100644 assets/lodash.html-a1dec0aa.js create mode 100644 assets/logstash.html-7f404d4f.js create mode 100644 assets/logstash.html-c019e11c.js create mode 100644 assets/markdown.esm-9d5bc2ce.js create mode 100644 assets/master-slave.html-c9143b23.js create mode 100644 assets/master-slave.html-ec9a2c05.js create mode 100644 assets/maxInWindows.html-00b0bfd4.js create mode 100644 assets/maxInWindows.html-65c68512.js create mode 100644 assets/maxProfit.html-03bc3f8f.js create mode 100644 assets/maxProfit.html-f4229e8b.js create mode 100644 assets/merge-6a4846a8.png create mode 100644 assets/merge.html-624748a3.js create mode 100644 assets/merge.html-b5284dee.js create mode 100644 assets/merge.html-b9d6402e.js create mode 100644 assets/merge.html-f85b7998.js create mode 100644 assets/mergeList.html-3733987d.js create mode 100644 assets/mergeList.html-e25245cf.js create mode 100644 assets/mergeLists-2e80f173.png create mode 100644 assets/mermaid.core-b9e4ef5d.js create mode 100644 assets/middleware-practice.html-22f6a3df.js create mode 100644 assets/middleware-practice.html-e3a8e81a.js create mode 100644 assets/midway-learn.html-096e0294.js create mode 100644 assets/midway-learn.html-3252b861.js create mode 100644 assets/minNumberInRotateArray.html-3a6d73b9.js create mode 100644 assets/minNumberInRotateArray.html-d79516a4.js create mode 100644 assets/mindmap-definition-7f612c4b-3573c414.js create mode 100644 assets/mirror.html-493bb285.js create mode 100644 assets/mirror.html-6053c095.js create mode 100644 assets/monorepo.html-3d60c649.js create mode 100644 assets/monorepo.html-b033161e.js create mode 100644 assets/moreThanHalfNum.html-2ccaa929.js create mode 100644 assets/moreThanHalfNum.html-d3c6293f.js create mode 100644 assets/multiply.html-22788e9d.js create mode 100644 assets/multiply.html-46f5dca2.js create mode 100644 assets/mysql.html-127bc048.js create mode 100644 assets/mysql.html-28207b72.js create mode 100644 assets/nacos.html-1a10a215.js create mode 100644 assets/nacos.html-e02a44c3.js create mode 100644 assets/nest-learn.html-c7b8d476.js create mode 100644 assets/nest-learn.html-f14f032a.js create mode 100644 assets/nginx-gzip.html-1e272987.js create mode 100644 assets/nginx-gzip.html-d4a83acb.js create mode 100644 assets/nginx-proxy.html-0337f652.js create mode 100644 assets/nginx-proxy.html-af1f7994.js create mode 100644 assets/nginx.html-03ff4cce.js create mode 100644 assets/nginx.html-4cbdbd32.js create mode 100644 assets/node-grpc.html-49da0454.js create mode 100644 assets/node-grpc.html-9c6dd585.js create mode 100644 assets/node.html-8858eb9e.js create mode 100644 assets/node.html-ad0feafe.js create mode 100644 assets/npm-package.html-44d434dd.js create mode 100644 assets/npm-package.html-5fc3d5b7.js create mode 100644 assets/numberOf1.html-4fe44c5f.js create mode 100644 assets/numberOf1.html-88b6b5d3.js create mode 100644 assets/numberOf1Between1AndN.html-5ff26fb4.js create mode 100644 assets/numberOf1Between1AndN.html-7d533cba.js create mode 100644 assets/nuxt.html-38531670.js create mode 100644 assets/nuxt.html-d29a6726.js create mode 100644 assets/objective-down-8c44d3d9.png create mode 100644 assets/oddEvenList-5031b744.png create mode 100644 assets/oddEventList.html-003cdc40.js create mode 100644 assets/oddEventList.html-441579e8.js create mode 100644 assets/ordinal-ba9b4969.js create mode 100644 assets/package-manage.html-444b419b.js create mode 100644 assets/package-manage.html-8075c2ba.js create mode 100644 assets/package-manager.html-036d0457.js create mode 100644 assets/package-manager.html-a86e0cff.js create mode 100644 assets/path-53f90ab3.js create mode 100644 assets/photoswipe.esm-1464cdb9.js create mode 100644 assets/pieDiagram-ed51bc52-6a389138.js create mode 100644 assets/plugin-vue_export-helper-c27b6911.js create mode 100644 assets/plyr.min-d2156373.js create mode 100644 assets/pm2.html-4c8dabab.js create mode 100644 assets/pm2.html-a6fd1ee3.js create mode 100644 assets/power.html-8d5023d4.js create mode 100644 assets/power.html-9108f181.js create mode 100644 assets/prettier.html-482268c8.js create mode 100644 assets/prettier.html-518f0454.js create mode 100644 assets/print.html-9cfbc59a.js create mode 100644 assets/print.html-a43cabcd.js create mode 100644 assets/printListFromTailToHead.html-18200f52.js create mode 100644 assets/printListFromTailToHead.html-7156b2b4.js create mode 100644 assets/printMatrix.html-92e403f3.js create mode 100644 assets/printMatrix.html-db5892e4.js create mode 100644 assets/printMinNumber.html-51d70e0b.js create mode 100644 assets/printMinNumber.html-5e96afeb.js create mode 100644 assets/quadrantDiagram-3a393d1c-faf95eb4.js create mode 100644 assets/question-collections.html-97cfec9d.js create mode 100644 assets/question-collections.html-f0006c76.js create mode 100644 assets/quick-start.html-3b47544f.js create mode 100644 assets/quick-start.html-c8bcffae.js create mode 100644 assets/rabbitmq.html-54cd1b07.js create mode 100644 assets/rabbitmq.html-f7aad78d.js create mode 100644 assets/reConstructBinaryTree.html-90c5d001.js create mode 100644 assets/reConstructBinaryTree.html-b2e6b49e.js create mode 100644 assets/reOrderArray.html-69d8448f.js create mode 100644 assets/reOrderArray.html-8d260796.js create mode 100644 assets/rectCover.html-8ca5b093.js create mode 100644 assets/rectCover.html-8fe87983.js create mode 100644 assets/removeNthFromEnd-a4ae7689.png create mode 100644 assets/removeNthFromEnd.html-2093ef21.js create mode 100644 assets/removeNthFromEnd.html-5c6fb39a.js create mode 100644 assets/replaceSpace.html-52dd6e86.js create mode 100644 assets/replaceSpace.html-7c0d079b.js create mode 100644 assets/requirementDiagram-e12f1d97-0862b407.js create mode 100644 assets/restFul.html-93e4fe89.js create mode 100644 assets/restFul.html-eed1b9b2.js create mode 100644 assets/reveal.esm-1a4c3ae7.js create mode 100644 assets/reverseBetween-c23567b9.png create mode 100644 assets/reverseBetween.html-cf9a8c77.js create mode 100644 assets/reverseBetween.html-d4f35cb1.js create mode 100644 assets/reverseGroup.html-4df2c3f7.js create mode 100644 assets/reverseGroup.html-d1169c3c.js create mode 100644 assets/reverseList-0004ee5b.png create mode 100644 assets/reverseList-5fa41028.js create mode 100644 assets/reverseList.html-41206145.js create mode 100644 assets/reverseList.html-4cd725d7.js create mode 100644 assets/reverseList.html-758e0ae5.js create mode 100644 assets/reverseList.html-79ffea4f.js create mode 100644 assets/reverseSentence.html-472a702f.js create mode 100644 assets/reverseSentence.html-c256d7af.js create mode 100644 assets/rocketmq.html-0f1a9b65.js create mode 100644 assets/rocketmq.html-d1280890.js create mode 100644 assets/rxjs.html-a5845b69.js create mode 100644 assets/rxjs.html-db01a8f2.js create mode 100644 assets/sankeyDiagram-6de1f9fe-bd67194c.js create mode 100644 assets/sentinel-ae79e894.png create mode 100644 assets/sentinel.html-6c5588da.js create mode 100644 assets/sentinel.html-a9822ab5.js create mode 100644 assets/sequelize.html-05f2d49f.js create mode 100644 assets/sequelize.html-eec9aefe.js create mode 100644 assets/sequenceDiagram-d89d0f25-26cbec15.js create mode 100644 assets/seven-day.html-591dc5a5.js create mode 100644 assets/seven-day.html-67d0a69e.js create mode 100644 assets/shell-1.html-3a2a8b37.js create mode 100644 assets/shell-1.html-5aa3c9c2.js create mode 100644 assets/shell-10.html-54a2d776.js create mode 100644 assets/shell-10.html-9997f9d3.js create mode 100644 assets/shell-11.html-46767c57.js create mode 100644 assets/shell-11.html-6456da1c.js create mode 100644 assets/shell-12.html-04de6dda.js create mode 100644 assets/shell-12.html-a777a9b2.js create mode 100644 assets/shell-13.html-049eb8e3.js create mode 100644 assets/shell-13.html-d5a1912a.js create mode 100644 assets/shell-14.html-7c903c39.js create mode 100644 assets/shell-14.html-7f1c7d42.js create mode 100644 assets/shell-15.html-260ca07c.js create mode 100644 assets/shell-15.html-2b6b4d2f.js create mode 100644 assets/shell-16.html-aba5207d.js create mode 100644 assets/shell-16.html-f3729423.js create mode 100644 assets/shell-17.html-667e0a1a.js create mode 100644 assets/shell-17.html-6f324ee2.js create mode 100644 assets/shell-18.html-25982269.js create mode 100644 assets/shell-18.html-82ab3c35.js create mode 100644 assets/shell-19.html-31b54c49.js create mode 100644 assets/shell-19.html-362062ed.js create mode 100644 assets/shell-2.html-5033a8e2.js create mode 100644 assets/shell-2.html-d1ecd511.js create mode 100644 assets/shell-20.html-24dceb86.js create mode 100644 assets/shell-20.html-d9943aa0.js create mode 100644 assets/shell-21.html-5135582b.js create mode 100644 assets/shell-21.html-5e766927.js create mode 100644 assets/shell-22.html-ce4187ec.js create mode 100644 assets/shell-22.html-fcff3878.js create mode 100644 assets/shell-23.html-3f154c17.js create mode 100644 assets/shell-23.html-62e03ce5.js create mode 100644 assets/shell-24.html-54f48925.js create mode 100644 assets/shell-24.html-b5c98075.js create mode 100644 assets/shell-25.html-20b67d10.js create mode 100644 assets/shell-25.html-9e815a7b.js create mode 100644 assets/shell-26.html-08d49778.js create mode 100644 assets/shell-26.html-731f38ac.js create mode 100644 assets/shell-27.html-7d6be0eb.js create mode 100644 assets/shell-27.html-aa9c07ba.js create mode 100644 assets/shell-28.html-995867a3.js create mode 100644 assets/shell-28.html-ca5a3c97.js create mode 100644 assets/shell-29.html-184581fc.js create mode 100644 assets/shell-29.html-72a70865.js create mode 100644 assets/shell-3.html-479303f6.js create mode 100644 assets/shell-3.html-92da1ffa.js create mode 100644 assets/shell-30.html-6252d6fc.js create mode 100644 assets/shell-30.html-d19e0d66.js create mode 100644 assets/shell-31.html-7c6978a1.js create mode 100644 assets/shell-31.html-f9302506.js create mode 100644 assets/shell-32.html-a53b5b5f.js create mode 100644 assets/shell-32.html-f91ff3d8.js create mode 100644 assets/shell-33.html-007adc1a.js create mode 100644 assets/shell-33.html-45122775.js create mode 100644 assets/shell-34.html-24def325.js create mode 100644 assets/shell-34.html-6c69e4b0.js create mode 100644 assets/shell-4.html-81e88324.js create mode 100644 assets/shell-4.html-cbf47693.js create mode 100644 assets/shell-5.html-00be7a0e.js create mode 100644 assets/shell-5.html-c4020dc1.js create mode 100644 assets/shell-6.html-70e882c4.js create mode 100644 assets/shell-6.html-755f966b.js create mode 100644 assets/shell-7.html-362a1107.js create mode 100644 assets/shell-7.html-8f0474ac.js create mode 100644 assets/shell-8.html-91567eeb.js create mode 100644 assets/shell-8.html-9b4518fe.js create mode 100644 assets/shell-9.html-4d3bdd8e.js create mode 100644 assets/shell-9.html-844a7bf9.js create mode 100644 assets/shouting-drizzle.html-0107253f.js create mode 100644 assets/shouting-drizzle.html-cd2ec1dc.js create mode 100644 assets/social-recruit.html-51aa8bb0.js create mode 100644 assets/social-recruit.html-c1d4f00c.js create mode 100644 assets/soft-install.html-a85a74d5.js create mode 100644 assets/soft-install.html-b4c5b0f7.js create mode 100644 assets/software-install.html-a868c9dd.js create mode 100644 assets/software-install.html-fdeda0df.js create mode 100644 assets/sortInList-b00f3e79.png create mode 100644 assets/sortInList.html-ad5b8f8f.js create mode 100644 assets/sortInList.html-fec9014f.js create mode 100644 assets/source-sans-pro-italic-05d3615f.woff create mode 100644 assets/source-sans-pro-italic-ad4b0799.eot create mode 100644 assets/source-sans-pro-italic-d13268af.ttf create mode 100644 assets/source-sans-pro-regular-c1865d89.ttf create mode 100644 assets/source-sans-pro-regular-d4eaa48b.woff create mode 100644 assets/source-sans-pro-regular-dce8869d.eot create mode 100644 assets/source-sans-pro-semibold-a53e2723.ttf create mode 100644 assets/source-sans-pro-semibold-b0abd273.woff create mode 100644 assets/source-sans-pro-semibold-ebb8918d.eot create mode 100644 assets/source-sans-pro-semibolditalic-7225cacc.woff create mode 100644 assets/source-sans-pro-semibolditalic-dfe0b47a.eot create mode 100644 assets/source-sans-pro-semibolditalic-e8ec22b6.ttf create mode 100644 assets/ssl-install.html-462c2fd7.js create mode 100644 assets/ssl-install.html-d9455382.js create mode 100644 assets/ssr-improve.html-d3bf36fe.js create mode 100644 assets/ssr-improve.html-f29f5aba.js create mode 100644 assets/ssr.html-180d46b8.js create mode 100644 assets/ssr.html-a761e71b.js create mode 100644 assets/stackToQueue.html-3fafa4d4.js create mode 100644 assets/stackToQueue.html-e021c18e.js create mode 100644 assets/stateDiagram-0d589c85-45920000.js create mode 100644 assets/stateDiagram-v2-8bb05ecb-751c9c7b.js create mode 100644 assets/static-deploy.html-877ea072.js create mode 100644 assets/static-deploy.html-a4f4aca3.js create mode 100644 assets/static/brain-maps/index.html create mode 100644 assets/store-image.html-3049ba25.js create mode 100644 assets/store-image.html-eff0e6c4.js create mode 100644 assets/strToInt.html-6281609d.js create mode 100644 assets/strToInt.html-facc45bc.js create mode 100644 assets/stream.html-990a98df.js create mode 100644 assets/stream.html-e4d35be5.js create mode 100644 assets/style-86d7735d.css create mode 100644 assets/styles-0671a096-6e2274e0.js create mode 100644 assets/styles-24dfea38-14655b49.js create mode 100644 assets/styles-8b67d7cb-5b9ad786.js create mode 100644 assets/subjective-down-2d7f88d6.png create mode 100644 assets/svgDrawCommon-057d45d0-7230a95e.js create mode 100644 assets/template.html-229135e9.js create mode 100644 assets/template.html-909b9b89.js create mode 100644 assets/timeline-definition-8b56e66a-8fab9ea0.js create mode 100644 assets/typeorm.html-0e4b4ec6.js create mode 100644 assets/typeorm.html-eff3df66.js create mode 100644 assets/use-rule.html-38f47aee.js create mode 100644 assets/use-rule.html-e94295ff.js create mode 100644 assets/utils-a5e1dbae-143be013.js create mode 100644 assets/vant-ui.html-3dcdc61e.js create mode 100644 assets/vant-ui.html-bd5db29f.js create mode 100644 assets/vim-53b51753.gif create mode 100644 assets/vim.html-0d3f41fb.js create mode 100644 assets/vim.html-a953fd46.js create mode 100644 assets/vite.html-7cc42f0f.js create mode 100644 assets/vite.html-ec090d3f.js create mode 100644 assets/vue-repl-edddac03.js create mode 100644 assets/vue.html-67fdd6ba.js create mode 100644 assets/vue.html-80b4574a.js create mode 100644 assets/vue.html-8819f434.js create mode 100644 assets/vue.html-afacf4bd.js create mode 100644 assets/vuepress.html-17e8c56d.js create mode 100644 assets/vuepress.html-e12bcbd5.js create mode 100644 assets/web-domain.html-9ba91109.js create mode 100644 assets/web-domain.html-b291b145.js create mode 100644 assets/webpack.html-502088b4.js create mode 100644 assets/webpack.html-86fa0747.js create mode 100644 assets/wechat-list.html-101d1376.js create mode 100644 assets/wechat-list.html-3ab3161f.js create mode 100644 assets/wen-city.html-61d85f8d.js create mode 100644 assets/wen-city.html-e0570407.js create mode 100644 "assets/\344\270\255\351\227\264\344\273\266.html-4faa87be.js" create mode 100644 "assets/\344\270\255\351\227\264\344\273\266.html-5ede0b06.js" create mode 100644 "assets/\344\274\232\350\257\235\344\277\241\346\201\257.html-3126fc77.js" create mode 100644 "assets/\344\274\232\350\257\235\344\277\241\346\201\257.html-c33c35a4.js" create mode 100644 "assets/\345\211\215\347\253\257\345\270\270\350\200\203.html-002d35a9.js" create mode 100644 "assets/\345\211\215\347\253\257\345\270\270\350\200\203.html-ebdd415b.js" create mode 100644 "assets/\345\220\216\347\253\257\346\261\207\346\200\273.html-9d932669.js" create mode 100644 "assets/\345\220\216\347\253\257\346\261\207\346\200\273.html-c1c409cb.js" create mode 100644 "assets/\345\256\232\346\227\266\344\273\273\345\212\241.html-09368b72.js" create mode 100644 "assets/\345\256\232\346\227\266\344\273\273\345\212\241.html-6c09fccd.js" create mode 100644 "assets/\345\277\253\351\200\237\345\205\245\351\227\250.html-1b7deddd.js" create mode 100644 "assets/\345\277\253\351\200\237\345\205\245\351\227\250.html-3255b0a2.js" create mode 100644 "assets/\346\216\245\345\217\243\350\247\204\350\214\203.html-6a1f3dd0.js" create mode 100644 "assets/\346\216\245\345\217\243\350\247\204\350\214\203.html-d2320233.js" create mode 100644 "assets/\346\216\247\345\210\266\345\231\250\345\222\214\346\234\215\345\212\241.html-b737a493.js" create mode 100644 "assets/\346\216\247\345\210\266\345\231\250\345\222\214\346\234\215\345\212\241.html-def15d2d.js" create mode 100644 "assets/\346\234\200\344\275\263\345\256\236\350\267\265.html-35bbfc54.js" create mode 100644 "assets/\346\234\200\344\275\263\345\256\236\350\267\265.html-c43231a8.js" create mode 100644 "assets/\346\241\206\346\236\266\345\257\271\350\261\241.html-4e71b7f0.js" create mode 100644 "assets/\346\241\206\346\236\266\345\257\271\350\261\241.html-d68f8f5e.js" create mode 100644 "assets/\346\241\206\346\236\266\346\213\223\345\261\225.html-11f52fe3.js" create mode 100644 "assets/\346\241\206\346\236\266\346\213\223\345\261\225.html-ee06327c.js" create mode 100644 "assets/\347\233\256\345\275\225\347\273\223\346\236\204.html-4ce017a5.js" create mode 100644 "assets/\347\233\256\345\275\225\347\273\223\346\236\204.html-60aa85c9.js" create mode 100644 "assets/\347\256\200\344\273\213.html-2b4c4d8d.js" create mode 100644 "assets/\347\256\200\344\273\213.html-2fa7fe24.js" create mode 100644 "assets/\347\256\200\344\273\213.html-9a919e93.js" create mode 100644 "assets/\347\256\200\344\273\213.html-be69b676.js" create mode 100644 "assets/\350\267\257\347\224\261\347\232\204\344\275\277\347\224\250.html-2dd7aaa9.js" create mode 100644 "assets/\350\267\257\347\224\261\347\232\204\344\275\277\347\224\250.html-7af7c0a4.js" create mode 100644 "assets/\350\277\234\347\250\213\350\260\203\347\224\250.html-ae4620ef.js" create mode 100644 "assets/\350\277\234\347\250\213\350\260\203\347\224\250.html-d86e9561.js" create mode 100644 "assets/\351\205\215\347\275\256\345\222\214\350\277\220\350\241\214\347\216\257\345\242\203.html-053a61c4.js" create mode 100644 "assets/\351\205\215\347\275\256\345\222\214\350\277\220\350\241\214\347\216\257\345\242\203.html-d0431efd.js" create mode 100644 favicon.ico create mode 100644 fight_favicon.ico create mode 100644 index.html create mode 100644 manuscripts/battle-interview/index.html create mode 100644 manuscripts/battle-interview/interface-idempotent.html create mode 100644 manuscripts/battle-interview/lock.html create mode 100644 manuscripts/battle-interview/mysql.html create mode 100644 manuscripts/battle-interview/nginx.html create mode 100644 manuscripts/battle-interview/node.html create mode 100644 "manuscripts/battle-interview/problems/\345\211\215\347\253\257\345\270\270\350\200\203.html" create mode 100644 "manuscripts/battle-interview/problems/\345\220\216\347\253\257\346\261\207\346\200\273.html" create mode 100644 manuscripts/battle-interview/social-recruit.html create mode 100644 manuscripts/big-event-history.html create mode 100644 manuscripts/changelog.html create mode 100644 manuscripts/develop-skill/build-tools/vite.html create mode 100644 manuscripts/develop-skill/build-tools/webpack.html create mode 100644 manuscripts/develop-skill/code-manager/ci-cd.html create mode 100644 manuscripts/develop-skill/code-manager/code-platform.html create mode 100644 manuscripts/develop-skill/code-manager/git.html create mode 100644 manuscripts/develop-skill/code-manager/github-actions.html create mode 100644 manuscripts/develop-skill/code-manager/github-ci.html create mode 100644 manuscripts/develop-skill/code-manager/jenkins.html create mode 100644 manuscripts/develop-skill/code-style/eslint.html create mode 100644 manuscripts/develop-skill/code-style/prettier.html create mode 100644 manuscripts/develop-skill/index.html create mode 100644 manuscripts/develop-skill/monorepo.html create mode 100644 manuscripts/develop-skill/package-manager.html create mode 100644 manuscripts/develop-skill/software-install.html create mode 100644 manuscripts/frequent-site-link.html create mode 100644 manuscripts/front-end/base-begin/css.html create mode 100644 manuscripts/front-end/base-begin/html-correlation.html create mode 100644 manuscripts/front-end/base-begin/javascript.html create mode 100644 manuscripts/front-end/front-framework/jquery.html create mode 100644 manuscripts/front-end/front-framework/nuxt.html create mode 100644 manuscripts/front-end/front-framework/vue.html create mode 100644 manuscripts/front-end/front-framework/vuepress.html create mode 100644 manuscripts/front-end/index.html create mode 100644 manuscripts/front-end/server-deploy/ssr-improve.html create mode 100644 manuscripts/front-end/server-deploy/ssr.html create mode 100644 manuscripts/front-end/server-deploy/static-deploy.html create mode 100644 manuscripts/front-end/ui-framework/ant-design-vue.html create mode 100644 manuscripts/front-end/ui-framework/bootstrap.html create mode 100644 manuscripts/front-end/ui-framework/element.html create mode 100644 manuscripts/front-end/ui-framework/iview-design.html create mode 100644 manuscripts/front-end/ui-framework/layer-ui.html create mode 100644 manuscripts/front-end/ui-framework/vant-ui.html create mode 100644 manuscripts/front-end/ui-framework/vue.html create mode 100644 manuscripts/good-idea.html create mode 100644 manuscripts/job-chance/index.html create mode 100644 manuscripts/job-chance/job-poster-bytedance.html create mode 100644 manuscripts/microservice/apollo.html create mode 100644 manuscripts/microservice/consul.html create mode 100644 manuscripts/microservice/docker-compose.html create mode 100644 manuscripts/microservice/docker.html create mode 100644 manuscripts/microservice/elk/elasticsearch.html create mode 100644 manuscripts/microservice/elk/filebeat.html create mode 100644 manuscripts/microservice/elk/kibana.html create mode 100644 manuscripts/microservice/elk/logstash.html create mode 100644 manuscripts/microservice/gateway.html create mode 100644 manuscripts/microservice/grpc.html create mode 100644 manuscripts/microservice/index.html create mode 100644 manuscripts/microservice/istio.html create mode 100644 manuscripts/microservice/k8s.html create mode 100644 manuscripts/microservice/mq/kafka.html create mode 100644 manuscripts/microservice/mq/rabbitmq.html create mode 100644 manuscripts/microservice/mq/rocketmq.html create mode 100644 manuscripts/microservice/nacos.html create mode 100644 manuscripts/microservice/node-grpc.html create mode 100644 "manuscripts/read-books/cs-books/ES6\346\240\207\345\207\206\345\205\245\351\227\250.html" create mode 100644 manuscripts/read-books/cs-books/base-nodejs.html create mode 100644 manuscripts/read-books/cs-books/better-nodejs.html create mode 100644 manuscripts/read-books/cs-books/good-nodejs.html create mode 100644 manuscripts/read-books/cs-books/high-performance-web-server.html create mode 100644 manuscripts/read-books/cs-books/middleware-practice.html create mode 100644 manuscripts/read-books/index.html create mode 100644 manuscripts/read-books/not-cs-book/brother.html create mode 100644 manuscripts/read-books/not-cs-book/good-love.html create mode 100644 manuscripts/read-books/not-cs-book/hello-alone.html create mode 100644 manuscripts/read-books/not-cs-book/seven-day.html create mode 100644 manuscripts/read-books/not-cs-book/shouting-drizzle.html create mode 100644 manuscripts/read-books/not-cs-book/wen-city.html create mode 100644 "manuscripts/server-end/base/OAuth2.0\345\215\217\350\256\256.html" create mode 100644 manuscripts/server-end/base/restFul.html create mode 100644 "manuscripts/server-end/base/\344\274\232\350\257\235\344\277\241\346\201\257.html" create mode 100644 "manuscripts/server-end/base/\346\216\245\345\217\243\350\247\204\350\214\203.html" create mode 100644 "manuscripts/server-end/base/\350\277\234\347\250\213\350\260\203\347\224\250.html" create mode 100644 manuscripts/server-end/build-website/nginx-gzip.html create mode 100644 manuscripts/server-end/build-website/nginx-proxy.html create mode 100644 manuscripts/server-end/build-website/ssl-install.html create mode 100644 manuscripts/server-end/build-website/store-image.html create mode 100644 manuscripts/server-end/build-website/web-domain.html create mode 100644 manuscripts/server-end/database/index.html create mode 100644 manuscripts/server-end/database/mongo/install.html create mode 100644 manuscripts/server-end/database/mysql/index.html create mode 100644 manuscripts/server-end/database/redis/base-install.html create mode 100644 manuscripts/server-end/database/redis/cluster.html create mode 100644 manuscripts/server-end/database/redis/master-slave.html create mode 100644 manuscripts/server-end/database/redis/sentinel.html create mode 100644 manuscripts/server-end/database/redis/use-rule.html create mode 100644 manuscripts/server-end/docker-cluster/docker-compose.html create mode 100644 manuscripts/server-end/docker-cluster/docker.html create mode 100644 manuscripts/server-end/docker-cluster/dockerfile.html create mode 100644 manuscripts/server-end/docker-cluster/egg-cluster.html create mode 100644 manuscripts/server-end/docker-cluster/install.html create mode 100644 manuscripts/server-end/docker-cluster/pm2.html create mode 100644 manuscripts/server-end/es6/index.html create mode 100644 manuscripts/server-end/framework/egg-learn.html create mode 100644 manuscripts/server-end/framework/egg/index.html create mode 100644 manuscripts/server-end/framework/egg/plugin/egg-mysql.html create mode 100644 manuscripts/server-end/framework/egg/plugin/egg-redis.html create mode 100644 manuscripts/server-end/framework/egg/plugin/egg-sequelize.html create mode 100644 manuscripts/server-end/framework/egg/plugin/egg-validate.html create mode 100644 "manuscripts/server-end/framework/egg/tutorial/\344\270\255\351\227\264\344\273\266.html" create mode 100644 "manuscripts/server-end/framework/egg/tutorial/\345\256\232\346\227\266\344\273\273\345\212\241.html" create mode 100644 "manuscripts/server-end/framework/egg/tutorial/\345\277\253\351\200\237\345\205\245\351\227\250.html" create mode 100644 "manuscripts/server-end/framework/egg/tutorial/\346\216\247\345\210\266\345\231\250\345\222\214\346\234\215\345\212\241.html" create mode 100644 "manuscripts/server-end/framework/egg/tutorial/\346\241\206\346\236\266\345\257\271\350\261\241.html" create mode 100644 "manuscripts/server-end/framework/egg/tutorial/\346\241\206\346\236\266\346\213\223\345\261\225.html" create mode 100644 "manuscripts/server-end/framework/egg/tutorial/\347\233\256\345\275\225\347\273\223\346\236\204.html" create mode 100644 "manuscripts/server-end/framework/egg/tutorial/\347\256\200\344\273\213.html" create mode 100644 "manuscripts/server-end/framework/egg/tutorial/\350\267\257\347\224\261\347\232\204\344\275\277\347\224\250.html" create mode 100644 "manuscripts/server-end/framework/egg/tutorial/\351\205\215\347\275\256\345\222\214\350\277\220\350\241\214\347\216\257\345\242\203.html" create mode 100644 "manuscripts/server-end/framework/egg/\346\234\200\344\275\263\345\256\236\350\267\265.html" create mode 100644 manuscripts/server-end/framework/express-learn.html create mode 100644 manuscripts/server-end/framework/koa-learn.html create mode 100644 manuscripts/server-end/framework/midway-learn.html create mode 100644 manuscripts/server-end/framework/midway/index.html create mode 100644 manuscripts/server-end/framework/nest-learn.html create mode 100644 manuscripts/server-end/index.html create mode 100644 manuscripts/server-end/linux/base-shell.html create mode 100644 manuscripts/server-end/linux/curl.html create mode 100644 manuscripts/server-end/linux/index.html create mode 100644 manuscripts/server-end/linux/package-manage.html create mode 100644 manuscripts/server-end/linux/soft-install.html create mode 100644 manuscripts/server-end/linux/vim.html create mode 100644 manuscripts/server-end/node-learn/axios.html create mode 100644 manuscripts/server-end/node-learn/dayjs.html create mode 100644 manuscripts/server-end/node-learn/lodash.html create mode 100644 manuscripts/server-end/node-learn/npm-package.html create mode 100644 manuscripts/server-end/node-learn/rxjs.html create mode 100644 manuscripts/server-end/node-learn/stream.html create mode 100644 manuscripts/server-end/orm/sequelize.html create mode 100644 manuscripts/server-end/orm/typeorm.html create mode 100644 "manuscripts/server-end/typescript/\347\256\200\344\273\213.html" create mode 100644 manuscripts/solo-algorithm/fibonacci.html create mode 100644 manuscripts/solo-algorithm/index.html create mode 100644 manuscripts/solo-algorithm/interview-top-101.html create mode 100644 manuscripts/solo-algorithm/jumpFloor.html create mode 100644 manuscripts/solo-algorithm/link-table/addList.html create mode 100644 manuscripts/solo-algorithm/link-table/deleteDuplicates-one.html create mode 100644 manuscripts/solo-algorithm/link-table/deleteDuplicates-two.html create mode 100644 manuscripts/solo-algorithm/link-table/entryNodeOfLoop.html create mode 100644 manuscripts/solo-algorithm/link-table/findFirstCommonNode.html create mode 100644 manuscripts/solo-algorithm/link-table/findKthToTail.html create mode 100644 manuscripts/solo-algorithm/link-table/hasCycle.html create mode 100644 manuscripts/solo-algorithm/link-table/isPail.html create mode 100644 manuscripts/solo-algorithm/link-table/link-table/oddEventList.html create mode 100644 manuscripts/solo-algorithm/link-table/merge.html create mode 100644 manuscripts/solo-algorithm/link-table/mergeList.html create mode 100644 manuscripts/solo-algorithm/link-table/removeNthFromEnd.html create mode 100644 manuscripts/solo-algorithm/link-table/reverseBetween.html create mode 100644 manuscripts/solo-algorithm/link-table/reverseGroup.html create mode 100644 manuscripts/solo-algorithm/link-table/reverseList.html create mode 100644 manuscripts/solo-algorithm/link-table/sortInList.html create mode 100644 manuscripts/solo-algorithm/question-collections.html create mode 100644 manuscripts/solo-algorithm/shell/index.html create mode 100644 manuscripts/solo-algorithm/shell/shell-1.html create mode 100644 manuscripts/solo-algorithm/shell/shell-10.html create mode 100644 manuscripts/solo-algorithm/shell/shell-11.html create mode 100644 manuscripts/solo-algorithm/shell/shell-12.html create mode 100644 manuscripts/solo-algorithm/shell/shell-13.html create mode 100644 manuscripts/solo-algorithm/shell/shell-14.html create mode 100644 manuscripts/solo-algorithm/shell/shell-15.html create mode 100644 manuscripts/solo-algorithm/shell/shell-16.html create mode 100644 manuscripts/solo-algorithm/shell/shell-17.html create mode 100644 manuscripts/solo-algorithm/shell/shell-18.html create mode 100644 manuscripts/solo-algorithm/shell/shell-19.html create mode 100644 manuscripts/solo-algorithm/shell/shell-2.html create mode 100644 manuscripts/solo-algorithm/shell/shell-20.html create mode 100644 manuscripts/solo-algorithm/shell/shell-21.html create mode 100644 manuscripts/solo-algorithm/shell/shell-22.html create mode 100644 manuscripts/solo-algorithm/shell/shell-23.html create mode 100644 manuscripts/solo-algorithm/shell/shell-24.html create mode 100644 manuscripts/solo-algorithm/shell/shell-25.html create mode 100644 manuscripts/solo-algorithm/shell/shell-26.html create mode 100644 manuscripts/solo-algorithm/shell/shell-27.html create mode 100644 manuscripts/solo-algorithm/shell/shell-28.html create mode 100644 manuscripts/solo-algorithm/shell/shell-29.html create mode 100644 manuscripts/solo-algorithm/shell/shell-3.html create mode 100644 manuscripts/solo-algorithm/shell/shell-30.html create mode 100644 manuscripts/solo-algorithm/shell/shell-31.html create mode 100644 manuscripts/solo-algorithm/shell/shell-32.html create mode 100644 manuscripts/solo-algorithm/shell/shell-33.html create mode 100644 manuscripts/solo-algorithm/shell/shell-34.html create mode 100644 manuscripts/solo-algorithm/shell/shell-4.html create mode 100644 manuscripts/solo-algorithm/shell/shell-5.html create mode 100644 manuscripts/solo-algorithm/shell/shell-6.html create mode 100644 manuscripts/solo-algorithm/shell/shell-7.html create mode 100644 manuscripts/solo-algorithm/shell/shell-8.html create mode 100644 manuscripts/solo-algorithm/shell/shell-9.html create mode 100644 manuscripts/solo-algorithm/sword-point/index.html create mode 100644 "manuscripts/solo-algorithm/sword-point/\344\272\214\345\210\206\346\237\245\346\211\276/getNumberOfK.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\344\272\214\345\210\206\346\237\245\346\211\276/minNumberInRotateArray.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\344\275\215\350\277\220\347\256\227/findNumsAppearOnce.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\344\275\215\350\277\220\347\256\227/numberOf1.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\345\205\266\344\273\226\347\233\270\345\205\263/add.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\345\205\266\344\273\226\347\233\270\345\205\263/isContinuous.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\345\205\266\344\273\226\347\233\270\345\205\263/strToInt.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\345\210\206\346\262\273/power.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\345\212\250\346\200\201\350\247\204\345\210\222/fibonacci.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\345\212\250\346\200\201\350\247\204\345\210\222/findGreatestSumOfSubArray.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\345\212\250\346\200\201\350\247\204\345\210\222/getUglyNumber.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\345\212\250\346\200\201\350\247\204\345\210\222/jumpFloor.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\345\212\250\346\200\201\350\247\204\345\210\222/jumpFloorII.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\345\212\250\346\200\201\350\247\204\345\210\222/multiply.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\345\212\250\346\200\201\350\247\204\345\210\222/rectCover.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\345\217\214\346\214\207\351\222\210/findContinuousSequence.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\345\217\214\346\214\207\351\222\210/findNumbersWithSum.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\345\217\214\346\214\207\351\222\210/leftRotateString.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\345\217\214\346\214\207\351\222\210/reverseSentence.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\346\216\222\345\210\227/printMinNumber.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\346\216\222\345\210\227/reOrderArray.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\346\225\260\345\255\246/lastRemaining.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\346\225\260\345\255\246/moreThanHalfNum.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\346\225\260\345\255\246/numberOf1Between1AndN.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\346\225\260\347\273\204\345\222\214\347\237\251\351\230\265/duplicate.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\346\225\260\347\273\204\345\222\214\347\237\251\351\230\265/find.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\346\225\260\347\273\204\345\222\214\347\237\251\351\230\265/firstNotRepeatingChar.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\346\225\260\347\273\204\345\222\214\347\237\251\351\230\265/printMatrix.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\346\225\260\347\273\204\345\222\214\347\237\251\351\230\265/replaceSpace.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\346\240\210\351\230\237\345\210\227\345\240\206/firstAppearingOnce.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\346\240\210\351\230\237\345\210\227\345\240\206/getLeastNumbers.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\346\240\210\351\230\237\345\210\227\345\240\206/getMinInJSStack.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\346\240\210\351\230\237\345\210\227\345\240\206/insertAndGetMedian.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\346\240\210\351\230\237\345\210\227\345\240\206/maxInWindows.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\346\240\210\351\230\237\345\210\227\345\240\206/stackToQueue.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\346\240\221/findPath.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\346\240\221/getNext.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\346\240\221/hasSubtree.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\346\240\221/isSymmetrical.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\346\240\221/ktheNode.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\346\240\221/mirror.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\346\240\221/print.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\346\240\221/reConstructBinaryTree.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\350\264\252\345\277\203\346\200\235\346\203\263/cutRope.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\350\264\252\345\277\203\346\200\235\346\203\263/maxProfit.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\351\223\276\350\241\250/deleteDuplication.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\351\223\276\350\241\250/entryNodeOfLoop.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\351\223\276\350\241\250/findFirstCommonNode.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\351\223\276\350\241\250/findKthToTail.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\351\223\276\350\241\250/merge.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\351\223\276\350\241\250/printListFromTailToHead.html" create mode 100644 "manuscripts/solo-algorithm/sword-point/\351\223\276\350\241\250/reverseList.html" create mode 100644 manuscripts/solo-algorithm/template.html create mode 100644 manuscripts/wechat-list.html create mode 100644 quick-start.html create mode 100644 robots.txt create mode 100644 search-pro.worker.js create mode 100644 sitemap.xml create mode 100644 sitemap.xsl diff --git a/404.html b/404.html new file mode 100644 index 000000000..8f7f89aef --- /dev/null +++ b/404.html @@ -0,0 +1,49 @@ + + + + + + + + 凡是过往、皆为序章 + + + + + + +
跳至主要內容

404

访问的页面不存在

雨下整夜我的爱溢出就像雨水,窗台蝴蝶像诗里纷飞的美丽章节。我接着写把永远爱你写进诗的结尾,你是我唯一想要的了解。

+ + + diff --git a/assets/404.html-195926ee.js b/assets/404.html-195926ee.js new file mode 100644 index 000000000..f77e1b7e2 --- /dev/null +++ b/assets/404.html-195926ee.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-c27b6911.js";import{o as t,c}from"./app-97115cb3.js";const o={};function r(_,n){return t(),c("div")}const f=e(o,[["render",r],["__file","404.html.vue"]]);export{f as default}; diff --git a/assets/404.html-f3bf19c5.js b/assets/404.html-f3bf19c5.js new file mode 100644 index 000000000..fa18ad9a7 --- /dev/null +++ b/assets/404.html-f3bf19c5.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-3706649a","path":"/404.html","title":"","lang":"en-US","frontmatter":{"layout":"NotFound","description":"","head":[["meta",{"property":"og:url","content":"https://142vip.cn/JavaScriptCollection/404.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"article:author","content":"微信公众号:储凡"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"autoDesc":true,"excerpt":""}');export{t as data}; diff --git "a/assets/ES6\346\240\207\345\207\206\345\205\245\351\227\250.html-2d1ffb26.js" "b/assets/ES6\346\240\207\345\207\206\345\205\245\351\227\250.html-2d1ffb26.js" new file mode 100644 index 000000000..831fd21bb --- /dev/null +++ "b/assets/ES6\346\240\207\345\207\206\345\205\245\351\227\250.html-2d1ffb26.js" @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-1859ce9e","path":"/manuscripts/read-books/cs-books/ES6%E6%A0%87%E5%87%86%E5%85%A5%E9%97%A8.html","title":"ES6标准入门","lang":"en-US","frontmatter":{"description":"简介 ECMAScript VS JavaScript 前者是后者的规格,后者是前者的一种实现(另外的 ECMAScript 方言还有 JScript 和 ActionScript)。日常场合,这两个词是可以互换的。 ECMAScript2015 VS ES6 ES6 既是一个历史名词,也是一个泛指,含义是 5.1 版以后的 JavaScript 的下...","head":[["meta",{"property":"og:url","content":"https://142vip.cn/JavaScriptCollection/manuscripts/read-books/cs-books/ES6%E6%A0%87%E5%87%86%E5%85%A5%E9%97%A8.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:title","content":"ES6标准入门"}],["meta",{"property":"og:description","content":"简介 ECMAScript VS JavaScript 前者是后者的规格,后者是前者的一种实现(另外的 ECMAScript 方言还有 JScript 和 ActionScript)。日常场合,这两个词是可以互换的。 ECMAScript2015 VS ES6 ES6 既是一个历史名词,也是一个泛指,含义是 5.1 版以后的 JavaScript 的下..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-10-20T09:29:35.000Z"}],["meta",{"property":"article:author","content":"微信公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-10-20T09:29:35.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"ES6标准入门\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-10-20T09:29:35.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"微信公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[{"level":2,"title":"简介","slug":"简介","link":"#简介","children":[{"level":3,"title":"ECMAScript VS JavaScript","slug":"ecmascript-vs-javascript","link":"#ecmascript-vs-javascript","children":[]},{"level":3,"title":"ECMAScript2015 VS ES6","slug":"ecmascript2015-vs-es6","link":"#ecmascript2015-vs-es6","children":[]},{"level":3,"title":"Babel转码器","slug":"babel转码器","link":"#babel转码器","children":[{"level":4,"title":"安装Babel","slug":"安装babel","link":"#安装babel","children":[]},{"level":4,"title":"配置文件.babelrc","slug":"配置文件-babelrc","link":"#配置文件-babelrc","children":[]}]}]},{"level":2,"title":"let和const命令","slug":"let和const命令","link":"#let和const命令","children":[{"level":3,"title":"let命令","slug":"let命令","link":"#let命令","children":[{"level":4,"title":"不存在变量提升","slug":"不存在变量提升","link":"#不存在变量提升","children":[]},{"level":4,"title":"暂时性死区","slug":"暂时性死区","link":"#暂时性死区","children":[]},{"level":4,"title":"不允许重复声明","slug":"不允许重复声明","link":"#不允许重复声明","children":[]}]},{"level":3,"title":"块级作用域","slug":"块级作用域","link":"#块级作用域","children":[{"level":4,"title":"ES6的块级作用域","slug":"es6的块级作用域","link":"#es6的块级作用域","children":[]},{"level":4,"title":"块级作用域和函数声明","slug":"块级作用域和函数声明","link":"#块级作用域和函数声明","children":[]}]},{"level":3,"title":"const命令","slug":"const命令","link":"#const命令","children":[]},{"level":3,"title":"ES6声明变量的6中方法","slug":"es6声明变量的6中方法","link":"#es6声明变量的6中方法","children":[]},{"level":3,"title":"globalThis 对象","slug":"globalthis-对象","link":"#globalthis-对象","children":[]}]},{"level":2,"title":"解构赋值","slug":"解构赋值","link":"#解构赋值","children":[{"level":3,"title":"数组","slug":"数组","link":"#数组","children":[{"level":4,"title":"基本用法","slug":"基本用法","link":"#基本用法","children":[]},{"level":4,"title":"默认值","slug":"默认值","link":"#默认值","children":[]}]},{"level":3,"title":"对象","slug":"对象","link":"#对象","children":[{"level":4,"title":"默认值","slug":"默认值-1","link":"#默认值-1","children":[]}]},{"level":3,"title":"字符串","slug":"字符串","link":"#字符串","children":[]},{"level":3,"title":"数值和布尔值","slug":"数值和布尔值","link":"#数值和布尔值","children":[]},{"level":3,"title":"函数参数","slug":"函数参数","link":"#函数参数","children":[{"level":4,"title":"圆括号问题","slug":"圆括号问题","link":"#圆括号问题","children":[]}]},{"level":3,"title":"实际用途","slug":"实际用途","link":"#实际用途","children":[]}]},{"level":2,"title":"字符串","slug":"字符串-1","link":"#字符串-1","children":[{"level":3,"title":"遍历器接口","slug":"遍历器接口","link":"#遍历器接口","children":[]},{"level":3,"title":"模板字符串","slug":"模板字符串","link":"#模板字符串","children":[]},{"level":3,"title":"新增方法","slug":"新增方法","link":"#新增方法","children":[]},{"level":3,"title":"String.fromCodePoint()","slug":"string-fromcodepoint","link":"#string-fromcodepoint","children":[]},{"level":3,"title":"String.raw()","slug":"string-raw","link":"#string-raw","children":[]},{"level":3,"title":"codePointAt()","slug":"codepointat","link":"#codepointat","children":[]},{"level":3,"title":"normalize()","slug":"normalize","link":"#normalize","children":[]},{"level":3,"title":"includes(), startsWith(), endsWith()","slug":"includes-startswith-endswith","link":"#includes-startswith-endswith","children":[]},{"level":3,"title":"repeat()","slug":"repeat","link":"#repeat","children":[]},{"level":3,"title":"padStart()、padEnd()","slug":"padstart-、padend","link":"#padstart-、padend","children":[]},{"level":3,"title":"trimStart()、trimEnd()","slug":"trimstart-、trimend","link":"#trimstart-、trimend","children":[]},{"level":3,"title":"matchAll()","slug":"matchall","link":"#matchall","children":[]},{"level":3,"title":"replaceAll()","slug":"replaceall","link":"#replaceall","children":[]}]},{"level":2,"title":"数值","slug":"数值","link":"#数值","children":[{"level":3,"title":"Number.isFinite() VS Number.isNaN()","slug":"number-isfinite-vs-number-isnan","link":"#number-isfinite-vs-number-isnan","children":[{"level":4,"title":"重要区别","slug":"重要区别","link":"#重要区别","children":[]}]},{"level":3,"title":"Number.parseInt() VS Number.parseFloat()","slug":"number-parseint-vs-number-parsefloat","link":"#number-parseint-vs-number-parsefloat","children":[]},{"level":3,"title":"Number.isInteger()","slug":"number-isinteger","link":"#number-isinteger","children":[]},{"level":3,"title":"Math 对象的扩展","slug":"math-对象的扩展","link":"#math-对象的扩展","children":[{"level":4,"title":"Math.trunc()","slug":"math-trunc","link":"#math-trunc","children":[]},{"level":4,"title":"Math.sign()","slug":"math-sign","link":"#math-sign","children":[]},{"level":4,"title":"Math.cbrt()","slug":"math-cbrt","link":"#math-cbrt","children":[]},{"level":4,"title":"Math.hypot()","slug":"math-hypot","link":"#math-hypot","children":[]},{"level":4,"title":"指数运算符","slug":"指数运算符","link":"#指数运算符","children":[]}]}]},{"level":2,"title":"函数","slug":"函数","link":"#函数","children":[{"level":3,"title":"参数的默认值","slug":"参数的默认值","link":"#参数的默认值","children":[{"level":4,"title":"与解构赋值默认值结合使用","slug":"与解构赋值默认值结合使用","link":"#与解构赋值默认值结合使用","children":[]},{"level":4,"title":"参数默认值的位置","slug":"参数默认值的位置","link":"#参数默认值的位置","children":[]}]},{"level":3,"title":"length 属性","slug":"length-属性","link":"#length-属性","children":[{"level":4,"title":"作用域","slug":"作用域","link":"#作用域","children":[]}]},{"level":3,"title":"rest 参数","slug":"rest-参数","link":"#rest-参数","children":[]},{"level":3,"title":"严格模式","slug":"严格模式","link":"#严格模式","children":[]},{"level":3,"title":"name 属性","slug":"name-属性","link":"#name-属性","children":[]},{"level":3,"title":"箭头函数","slug":"箭头函数","link":"#箭头函数","children":[]},{"level":3,"title":"Function.prototype.toString()","slug":"function-prototype-tostring","link":"#function-prototype-tostring","children":[]},{"level":3,"title":"catch 命令的参数省略","slug":"catch-命令的参数省略","link":"#catch-命令的参数省略","children":[]}]},{"level":2,"title":"数组","slug":"数组-1","link":"#数组-1","children":[{"level":3,"title":"扩展运算符","slug":"扩展运算符","link":"#扩展运算符","children":[{"level":4,"title":"替代函数的 apply 方法","slug":"替代函数的-apply-方法","link":"#替代函数的-apply-方法","children":[]},{"level":4,"title":"扩展运算符的应用","slug":"扩展运算符的应用","link":"#扩展运算符的应用","children":[]},{"level":4,"title":"与解构赋值结合","slug":"与解构赋值结合","link":"#与解构赋值结合","children":[]},{"level":4,"title":"字符串","slug":"字符串-2","link":"#字符串-2","children":[]},{"level":4,"title":"实现了 Iterator 接口的对象","slug":"实现了-iterator-接口的对象","link":"#实现了-iterator-接口的对象","children":[]},{"level":4,"title":"Map 和 Set 结构,Generator 函数","slug":"map-和-set-结构-generator-函数","link":"#map-和-set-结构-generator-函数","children":[]}]},{"level":3,"title":"Array.from()","slug":"array-from","link":"#array-from","children":[]},{"level":3,"title":"Array.of()","slug":"array-of","link":"#array-of","children":[]},{"level":3,"title":"copyWithin()","slug":"copywithin","link":"#copywithin","children":[]},{"level":3,"title":"find() VS findIndex()","slug":"find-vs-findindex","link":"#find-vs-findindex","children":[]},{"level":3,"title":"fill()","slug":"fill","link":"#fill","children":[]},{"level":3,"title":"entries()、keys() 、 values()","slug":"entries-、keys-、-values","link":"#entries-、keys-、-values","children":[]},{"level":3,"title":"includes()","slug":"includes","link":"#includes","children":[]},{"level":3,"title":"flat()、flatMap()","slug":"flat-、flatmap","link":"#flat-、flatmap","children":[]},{"level":3,"title":"数组的空位","slug":"数组的空位","link":"#数组的空位","children":[]},{"level":3,"title":"扩展运算符","slug":"扩展运算符-1","link":"#扩展运算符-1","children":[]},{"level":3,"title":"替代数组的apply()方法","slug":"替代数组的apply-方法","link":"#替代数组的apply-方法","children":[]},{"level":3,"title":"简单应用","slug":"简单应用","link":"#简单应用","children":[{"level":4,"title":"合并数组","slug":"合并数组-1","link":"#合并数组-1","children":[]},{"level":4,"title":"解构赋值","slug":"解构赋值-1","link":"#解构赋值-1","children":[]},{"level":4,"title":"函数的返回值","slug":"函数的返回值","link":"#函数的返回值","children":[]},{"level":4,"title":"字符串","slug":"字符串-3","link":"#字符串-3","children":[]}]}]},{"level":2,"title":"对象","slug":"对象-1","link":"#对象-1","children":[{"level":3,"title":"属性的简洁表示法","slug":"属性的简洁表示法","link":"#属性的简洁表示法","children":[]},{"level":3,"title":"属性名表达式","slug":"属性名表达式","link":"#属性名表达式","children":[]},{"level":3,"title":"方法的 name 属性","slug":"方法的-name-属性","link":"#方法的-name-属性","children":[]},{"level":3,"title":"属性的可枚举性和遍历","slug":"属性的可枚举性和遍历","link":"#属性的可枚举性和遍历","children":[{"level":4,"title":"可枚举性","slug":"可枚举性","link":"#可枚举性","children":[]},{"level":4,"title":"属性的遍历","slug":"属性的遍历","link":"#属性的遍历","children":[]}]},{"level":3,"title":"super 关键字","slug":"super-关键字","link":"#super-关键字","children":[]},{"level":3,"title":"链判断运算符","slug":"链判断运算符","link":"#链判断运算符","children":[{"level":4,"title":"短路机制","slug":"短路机制","link":"#短路机制","children":[]},{"level":4,"title":"delete 运算符","slug":"delete-运算符","link":"#delete-运算符","children":[]},{"level":4,"title":"括号的影响","slug":"括号的影响","link":"#括号的影响","children":[]},{"level":4,"title":"报错场合","slug":"报错场合","link":"#报错场合","children":[]},{"level":4,"title":"右侧不得为十进制数值","slug":"右侧不得为十进制数值","link":"#右侧不得为十进制数值","children":[]}]},{"level":3,"title":"Null 判断运算符","slug":"null-判断运算符","link":"#null-判断运算符","children":[]}]},{"level":2,"title":"对象新增方法","slug":"对象新增方法","link":"#对象新增方法","children":[{"level":3,"title":"Object.is()","slug":"object-is","link":"#object-is","children":[]},{"level":3,"title":"Object.assign()","slug":"object-assign","link":"#object-assign","children":[{"level":4,"title":"需要注意","slug":"需要注意","link":"#需要注意","children":[]},{"level":4,"title":"常见用途","slug":"常见用途","link":"#常见用途","children":[]}]},{"level":3,"title":"Object.getOwnPropertyDescriptors()","slug":"object-getownpropertydescriptors","link":"#object-getownpropertydescriptors","children":[]},{"level":3,"title":"__proto__属性,Object.setPrototypeOf(),Object.getPrototypeOf()","slug":"proto-属性-object-setprototypeof-object-getprototypeof","link":"#proto-属性-object-setprototypeof-object-getprototypeof","children":[{"level":4,"title":"__proto__属性","slug":"proto-属性","link":"#proto-属性","children":[]},{"level":4,"title":"Object.setPrototypeOf()","slug":"object-setprototypeof","link":"#object-setprototypeof","children":[]},{"level":4,"title":"Object.getPrototypeOf()","slug":"object-getprototypeof","link":"#object-getprototypeof","children":[]}]},{"level":3,"title":"Object.keys(),Object.values(),Object.entries()","slug":"object-keys-object-values-object-entries","link":"#object-keys-object-values-object-entries","children":[{"level":4,"title":"Object.keys()","slug":"object-keys","link":"#object-keys","children":[]},{"level":4,"title":"Object.values()","slug":"object-values","link":"#object-values","children":[]},{"level":4,"title":"Object.entries()","slug":"object-entries","link":"#object-entries","children":[]}]},{"level":3,"title":"Object.fromEntries()","slug":"object-fromentries","link":"#object-fromentries","children":[]}]},{"level":2,"title":"参考资料","slug":"参考资料","link":"#参考资料","children":[]}],"git":{"createdTime":1697794175000,"updatedTime":1697794175000,"contributors":[{"name":"chufan","email":"fairy_vip@2925.com","commits":1}]},"readingTime":{"minutes":128.82,"words":25763},"filePathRelative":"manuscripts/read-books/cs-books/ES6标准入门.md","localizedDate":"October 20, 2023","autoDesc":true,"excerpt":""}');export{l as data}; diff --git "a/assets/ES6\346\240\207\345\207\206\345\205\245\351\227\250.html-e0d78135.js" "b/assets/ES6\346\240\207\345\207\206\345\205\245\351\227\250.html-e0d78135.js" new file mode 100644 index 000000000..5a1d573b0 --- /dev/null +++ "b/assets/ES6\346\240\207\345\207\206\345\205\245\351\227\250.html-e0d78135.js" @@ -0,0 +1,2560 @@ +import{_ as e}from"./plugin-vue_export-helper-c27b6911.js";import{r as o,o as c,c as i,a as n,b as a,d as p,f as t}from"./app-97115cb3.js";const l={},u=t(`

ES6标准入门

简介

ECMAScript VS JavaScript

前者是后者的规格,后者是前者的一种实现(另外的 ECMAScript 方言还有 JScript 和 ActionScript)。日常场合,这两个词是可以互换的。

ECMAScript2015 VS ES6

ES6 既是一个历史名词,也是一个泛指,含义是 5.1 版以后的 JavaScript 的下一代标准,涵盖了 ES2015、ES2016、ES2017 等等,而 ES2015 则是正式名称,特指该年发布的正式版本的语言标准。本书中提到 ES6 的地方,一般是指 ES2015 标准,但有时也是泛指“下一代 JavaScript 语言”

Babel转码器

Babel 是一个广泛使用的 ES6 转码器,可以将 ES6 代码转为 ES5 代码,从而在老版本的浏览器执行。这意味着,你可以用 ES6 的方式编写程序,又不用担心现有环境是否支持。

// 转码前的箭头函数
+input.map(item=>item+1)
+
+// 转码后
+input.map(function (item){
+    return item+1
+})
+
+

安装Babel

## 本地安装
+npm install --save-dev @babel/core
+

配置文件.babelrc

Babel 的配置文件是.babelrc,存放在项目的根目录下。使用 Babel 的第一步,就是配置这个文件。

{
+  "presets": [],
+  "plugins": []
+}
+
+

presets字段设定转码规则

# 最新转码规则
+$ npm install --save-dev @babel/preset-env
+
+# react 转码规则
+$ npm install --save-dev @babel/preset-react
+

下载完成后,可以将规则键入到.babelrc文件中

{
+    "presets": [
+      "@babel/env",
+      "@babel/preset-react"
+    ],
+    "plugins": []
+}
+

let和const命令

let命令

ES6 新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。


+// 函数内部定义变量
+function test(){
+    let a=10
+    var b=1
+}
+
+console.log(a) //输出报错,let块级作用域
+
+console.log(b) // 输出1
+
+

不存在变量提升

var命令会发生“变量提升”现象,即变量可以在声明之前使用,值为undefined

let命令改变了语法行为,它所声明的变量一定要在声明后使用,否则报错。

// var
+console.log(test) // 输出undefined
+var test=2
+
+// let
+console.log(err) // 输出ReferenceError错误
+let err=1
+

暂时性死区

只要块级作用域内存在let命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响。

ES6 明确规定,如果区块中存在let和const命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域。凡是在声明之前就使用这些变量,就会报错

代码块内,使用let命令声明变量之前,该变量都是不可用的。这在语法上,称为“暂时性死区”(temporal dead zone,简称 TDZ)。

// 在let命令声明变量tmp之前,都属于变量tmp的“死区”。
+if (true) {
+  // TDZ开始
+  tmp = 'abc'; // ReferenceError
+  console.log(tmp); // ReferenceError
+
+  let tmp; // TDZ结束
+  console.log(tmp); // undefined
+
+  tmp = 123;
+  console.log(tmp); // 123
+}
+
+

ES6 规定暂时性死区和let、const语句不出现变量提升,主要是为了减少运行时错误,防止在变量声明前就使用这个变量,从而导致意料之外的行为。这样的错误在 ES5 是很常见的,现在有了这种规定,避免此类错误就很容易了。

总之,暂时性死区的本质就是,只要一进入当前作用域,所要使用的变量就已经存在了,但是不可获取,只有等到声明变量的那一行代码出现,才可以获取和使用该变量。

不允许重复声明

let不允许在相同作用域内,重复声明同一个变量。

// 报错
+function func() {
+  let a = 10;
+  var a = 1;
+}
+
+// 报错
+function func() {
+  let a = 10;
+  let a = 1;
+}
+
+

当然这样写是不报错的,但不建议


+function func(arg) {
+  {
+    let arg;
+  }
+}
+func() // 不报错
+

块级作用域

ES5 只有全局作用域和函数作用域,没有块级作用域,这带来很多不合理的场景。

// 循环结束后,变量i并没有消失,泄露成了全局变量。
+var s = 'hello';
+
+for (var i = 0; i < s.length; i++) {
+  console.log(s[i]);
+}
+
+console.log(i); // 5
+

ES6的块级作用域

let为 JavaScript 新增了块级作用域。

ES6 允许块级作用域的任意嵌套。

// 报错情况
+{
+    {
+        {
+            let instance='test'
+        }
+        // 此时并没有变量名instance,输出会报错
+        console.log(instance)
+    }
+}
+
+// 正常情况
+{
+    {
+        let instance='test'
+        {
+            // 与上面的instance互不影响
+            let instance='test'
+        }
+    }
+}
+

块级作用域的出现,实际上使得获得广泛应用的匿名立即执行函数表达式(匿名 IIFE)不再必要了。

// IIFE 写法
+(function () {
+  var tmp = ...;
+  ...
+}());
+
+// 块级作用域写法
+{
+  let tmp = ...;
+  ...
+}
+
+

块级作用域和函数声明

ES5 规定,函数只能在顶层作用域和函数作用域之中声明,不能在块级作用域声明。

// 按照 ES5 的规定以下情况都是非法的。
+// 情况一
+if (true) {
+  function f(){
+
+  }
+}
+
+// 情况二
+try {
+  function f(){
+
+  }
+} catch(e) {
+  // ...
+}
+

ES6 引入了块级作用域,明确允许在块级作用域之中声明函数

ES6 规定,块级作用域之中,函数声明语句的行为类似于let,在块级作用域之外不可引用。

function f(){
+    console.log('outside')
+}
+
+(function(){
+    if(false){
+        // 重复声明函数f
+        function f(){
+            console.log('inside')
+        }
+    }
+})
+
+// 运行会得到“inside”,因为在if内声明的函数f会被提升到函数头部,实际运行的代码如下。
+// ES5 环境
+function f() {
+        console.log('outside')
+    }
+
+(function () {
+  function f() {
+        console.log('inside')
+      }
+  if (false) {
+
+    }
+  f();
+}());
+

ES6 就完全不一样了,理论上会得到“I am outside!”。因为块级作用域内声明的函数类似于let,对作用域之外没有影响。但是,如果你真的在 ES6 浏览器中运行一下上面的代码,是会报错的,这是为什么呢?

// 浏览器的 ES6 环境
+function f() {
+    console.log('outside')
+}
+
+(function () {
+  if (false) {
+    // 重复声明一次函数f
+    function f() {
+        console.log('inside')
+    }
+  }
+  f();
+}());
+// Uncaught TypeError: f is not a function
+
+

上面的代码在 ES6 浏览器中,都会报错。

原来,如果改变了块级作用域内声明的函数的处理规则,显然会对老代码产生很大影响。为了减轻因此产生的不兼容问题,ES6 在附录 B里面规定,浏览器的实现可以不遵守上面的规定,有自己的行为方式。

允许在块级作用域内声明函数。 函数声明类似于var,即会提升到全局作用域或函数作用域的头部。 同时,函数声明还会提升到所在的块级作用域的头部。 注意,上面三条规则只对 ES6 的浏览器实现有效,其他环境的实现不用遵守,还是将块级作用域的函数声明当作let处理。

根据这三条规则,浏览器的 ES6 环境中,块级作用域内声明的函数,行为类似于var声明的变量。上面的例子实际运行的代码如下。

// 浏览器的 ES6 环境
+function f(){
+    console.log('outside')
+}
+(function () {
+  var f = undefined;
+  if (false) {
+    function f(){
+        console.log('inside')
+    }
+  }
+  // 执行函数
+  f();
+}());
+// Uncaught TypeError: f is not a function
+

考虑到环境导致的行为差异太大,应该避免在块级作用域内声明函数。如果确实需要,也应该写成函数表达式,而不是函数声明语句。

// 块级作用域内部的函数声明语句,建议不要使用
+{
+  let a = 'secret';
+  function f(){
+    return a;
+  }
+}
+
+// 块级作用域内部,优先使用函数表达式
+{
+  let a = 'secret';
+  let f = function(){
+    return a;
+  };
+}
+

另外,还有一个需要注意的地方。ES6 的块级作用域必须有大括号,如果没有大括号,JavaScript 引擎就认为不存在块级作用域。

// 第一种写法,报错
+if (true) let x = 1;
+
+// 第二种写法,不报错
+if (true) {
+  let x = 1;
+}
+
+

上面代码中,第一种写法没有大括号,所以不存在块级作用域,而let只能出现在当前作用域的顶层,所以报错。第二种写法有大括号,所以块级作用域成立。

函数声明也是如此,严格模式下,函数只能声明在当前作用域的顶层。

// 不报错
+'use strict';
+if (true) {
+  function f(){
+
+  }
+}
+
+// 报错
+'use strict';
+if (true)
+  function f(){}
+
+

const命令

const声明一个只读的常量。一旦声明,常量的值就不能改变。


+const test=2323
+
+console.log(test) // 输出:2323
+
+// 重新赋值会报错:Assignment to constant variable
+
+test=4567
+
+

const声明的变量不得改变值,这意味着,const一旦声明变量,就必须立即初始化,不能留到以后赋值。


+// 只声明、不赋值会报错
+const test;
+
+

const的作用域与let命令相同:只在声明所在的块级作用域内有效。

if(true){
+    const max=5
+}
+
+// 输出报错:max is not defined
+console.log(max)
+
+

const命令声明的常量也是不提升的,同样存在暂时性死区,只能在声明的位置后面使用

// 存在暂时性死区
+if(true){
+    // 调用报错
+    console.log(max)
+    const max=34;
+}
+
+

const声明的常量,也与let一样不可重复声明。

var student='tom'
+let gender='girl'
+
+// 已声明的变量,重复声明会报错
+const message='go go go'
+
+const gender='boy'
+
+

const实际上保证的,并不是变量的值不得改动,而是变量指向的那个内存地址所保存的数据不得改动。

对于简单类型的数据(数值、字符串、布尔值),值就保存在变量指向的那个内存地址,因此等同于常量。但对于复合类型的数据(主要是对象和数组),变量指向的内存地址,保存的只是一个指向实际数据的指针,const只能保证这个指针是固定的(即总是指向另一个固定的地址),至于它指向的数据结构是不是可变的,就完全不能控制了。因此,将一个对象声明为常量必须非常小心

// 定义对象
+const student={}
+
+// 添加属性
+student.age=18
+
+// 正常输出 18
+console.log(student.age)
+
+// 此时指针地址发生了变化,报错
+student={}
+
+

常量student储存的是一个地址,这个地址指向一个对象。不可变的只是这个地址,即不能把student指向另一个地址,但对象本身是可变的,所以依然可以为其添加新属性

对象值确保不变,可以考虑使用Object.freeze()函数将其冻结


+const student=Object.freeze({})
+
+// 常规模式: 赋值不起作用
+// 严格模式: 报错
+student.age=18
+
+

当然,出了冻结对象本身,对象可能存在的属性也需要冻结

// 冻结对象和属性
+function objectConstant(obj){
+    // 冻结对象
+    Object.freeze(obj)
+    // 冻结属性
+    Object.keys(obj).forEach((key,index)=>{
+        // 属性值为对象
+        if(typeof obj[key]==='object'){
+            // 递归调用冻结方法
+            constantize(obj[key])
+        }
+    })
+}
+

ES6声明变量的6中方法

globalThis 对象

JavaScript 语言存在一个顶层对象,它提供全局环境(即全局作用域),所有代码都是在这个环境中运行。但是,顶层对象在各种实现里面是不统一的。

同一段代码为了能够在各种环境,都能取到顶层对象,现在一般是使用this变量,但是有局限性。

很难找到一种方法,可以在所有情况下,都取到顶层对象。下面是两种勉强可以使用的方法。

// 方法一
+(typeof window !== 'undefined'
+   ? window
+   : (typeof process === 'object' &&
+      typeof require === 'function' &&
+      typeof global === 'object')
+     ? global
+     : this);
+
+// 方法二
+var getGlobal = function () {
+  if (typeof self !== 'undefined') {
+      return self;
+  }
+  if (typeof window !== 'undefined') {
+     return window;
+  }
+  if (typeof global !== 'undefined') {
+    return global;
+  }
+  throw new Error('unable to locate global object');
+};
+

解构赋值

数组

基本用法

ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。

// 变量赋值
+let a=1;
+let b=2;
+let c=3;
+
+// ES6中可以从数组中提取值,按照对应位置,对变量赋值。:
+
+let [a,b,c]=[1,2,3]
+
+

本质上,这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值。

// 嵌套解构
+let [foo, [[bar], baz]] = [1, [[2], 3]];
+foo // 1
+bar // 2
+baz // 3
+
+let [ , , third] = ["foo", "bar", "baz"];
+console.log(third) // "baz"
+ 
+
+let [x, , y] = [1, 2, 3];
+console.log(x) // 1
+console.log(y) // 3
+
+let [head, ...tail] = [1, 2, 3, 4];
+console.log(head) // 1
+console.log(tail) // [2, 3, 4]
+
+let [x, y, ...z] = ['a'];
+console.log(x) // "a"
+console.log(y) // undefined
+console.log(z) // []
+
+

解构不成功,变量值等于undefined

// 不完全解构, 只匹配部分
+let [x, y] = [1, 2, 3];
+x // 1
+y // 2
+
+let [a, [b], d] = [1, [2, 3], 4];
+a // 1
+b // 2
+d // 4
+
+

如果等号的右边不是数组(正确的说:不属于可以遍历的结构),就会报错

// 解构时会报错
+let [foo] = 1;
+let [foo] = false;
+let [foo] = NaN;
+let [foo] = undefined;
+let [foo] = null;
+let [foo] = {};
+
+// 因为等号右边的值,要么转为对象以后不具备 Iterator 接口(前五个表达式),
+// 要么本身就不具备 Iterator 接口(最后一个表达式)。
+

Set结构的数据明显存在递归迭代、遍历的接口,也是可以使用数组的解构赋值的

let [x, y, z] = new Set(['a', 'b', 'c']);
+x // "a"
+

只要某种数据结构具有 Iterator 接口,都可以采用数组形式的解构赋值

默认值

解构赋值允许指定默认值。

let [foo = true] = [];
+foo // true
+
+let [x, y = 'b'] = ['a']; // x='a', y='b'
+let [x, y = 'b'] = ['a', undefined]; // x='a', y='b'
+
+

ES6 内部使用严格相等运算符(===),判断一个位置是否有值。所以,只有当一个数组成员严格等于undefined,默认值才会生效。

// undefined情况
+let [x = 1] = [undefined];
+x // 1
+
+// null情况
+let [x = 1] = [null];
+x // null
+

如果默认值是一个表达式,那么这个表达式是惰性求值的,即只有在用到的时候,才会求值。


+// 定义函数
+function f() {
+  console.log('aaa');
+}
+
+// 解构赋值
+let [x = f()] = [1];
+
+

此时x明显可以拿到值,所以函数f()是不会执行的。


+let x;
+
+// 数组[1]中的第一个元素,不严格等于undefined的时候,才会解构成功
+if([1][0]===undefined){
+    x=f();
+}else{
+    x=[1][0]
+}
+
+

默认值可以引用解构赋值的其他变量,但该变量必须已经声明

let [x = 1, y = x] = [];     // x=1; y=1
+let [x = 1, y = x] = [2];    // x=2; y=2
+let [x = 1, y = x] = [1, 2]; // x=1; y=2
+
+// 变量y没有声明
+let [x = y, y = 1] = [];     // ReferenceError: y is not defined
+
+

对象

同样,解构赋值可以适用数组,也可以适用于对象

let { foo, bar } = { foo: 'aaa', bar: 'bbb' };
+foo // "aaa"
+bar // "bbb"
+

数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值。

let { bar, foo } = { foo: 'aaa', bar: 'bbb' };
+foo // "aaa"
+bar // "bbb"
+
+// 变量没有对应的同名属性,导致取不到值,最后等于undefined。
+let { baz } = { foo: 'aaa', bar: 'bbb' };
+baz // undefined
+
+

如果变量名与属性名不一致

let { foo: baz } = { foo: 'aaa', bar: 'bbb' };
+baz // "aaa"
+
+let obj = { first: 'hello', last: 'world' };
+let { first: f, last: l } = obj;
+f // 'hello'
+l // 'world'
+
// 对象的解构赋值是下面形式的简写
+let { foo: foo, bar: bar } = { foo: 'aaa', bar: 'bbb' };
+
+// 对象的解构赋值的内部机制,是先找到同名属性,然后再赋给对应的变量。真正被赋值的是后者,而不是前者
+
+// 前者为:匹配的模式,后者为变量
+

与数组一样,解构也可以用于嵌套结构的对象

let obj = {
+  p: [
+    'Hello',
+    { y: 'World' }
+  ]
+};
+
+let { p: [x, { y }] } = obj;
+x // "Hello"
+y // "World"
+
+

这时p是模式,不是变量,因此不会被赋值。如果p也要作为变量赋值,可以写成下面这样。

let obj = {
+  p: [
+    'Hello',
+    { y: 'World' }
+  ]
+};
+
+// 此时p作为了变量进行赋值
+let { p, p: [x, { y }] } = obj;
+x // "Hello"
+y // "World"
+p // ["Hello", {y: "World"}]
+
+

默认值

同样,对象的解构也是可以指定默认值的

var {x = 3} = {};
+x // 3
+
+var {x, y = 5} = {x: 1};
+x // 1
+y // 5
+
+var {x: y = 3} = {};
+y // 3
+
+var {x: y = 3} = {x: 5};
+y // 5
+
+var { message: msg = 'Something went wrong' } = {};
+msg // "Something went wrong"
+
+

和数组的解构赋值一样,默认值生效的条件是,对象的属性值严格等于undefined


+let {x = 3} ={x:undefined}
+x //3
+
+// 属性x等于null,因为null与undefined不严格相等,所以是个有效的赋值,导致默认值3不会生效。
+let {x = 3} = {x: null};
+x // null
+
+

需要注意:


+// 错误的写法
+let x;
+{x} = {x: 1};
+// SyntaxError: syntax error
+
+// JavaScript 引擎会将{x}理解成一个代码块,从而发生语法错误。只有不将大括号写在行首,避免 JavaScript 将其解释为代码块,才能解决这个问题。
+
+// 正确的写法
+let x;
+({x} = {x: 1});
+x //1
+
// 表达式虽然毫无意义,但是语法是合法的,可以执行
+({} = [true, false]);
+({} = 'abc');
+({} = []);
+
// 注意将数组理解为特殊的对象
+let arr = [1, 2, 3];
+let {0 : first, [arr.length - 1] : last} = arr;
+first // 1
+last // 3
+

字符串

字符串也可以解构赋值。这是因为此时,字符串被转换成了一个类似数组的对象。

const [a, b, c, d, e] = 'hello';
+a // "h"
+b // "e"
+c // "l"
+d // "l"
+e // "o"
+
+

类似数组的对象都有一个length属性,因此还可以对这个属性解构赋值。

// length长度属性
+let {length : len} = 'hello';
+len // 5
+

数值和布尔值

解构赋值时,如果等号右边是数值和布尔值,则会先转为对象。

// 数值和布尔值的包装对象都有toString属性
+let {toString: s} = 123;
+s === Number.prototype.toString // true
+
+let {toString: s} = true;
+s === Boolean.prototype.toString // true
+
+

解构赋值的规则是,只要等号右边的值不是对象或数组,就先将其转为对象。由于undefined和null无法转为对象,所以对它们进行解构赋值,都会报错。


+// undefined和null无法转为对象
+let { prop: x } = undefined; // TypeError
+let { prop: y } = null; // TypeError
+
+

函数参数

函数也是可以使用解构赋值的

function add([x, y]){
+  return x + y;
+}
+
+add([1, 2]); // 3
+
+

函数add的参数表面上是一个数组,但在传入参数的那一刻,数组参数就被解构成变量x和y。对于函数内部的代码来说,它们能感受到的参数就是x和y。

[[1, 2], [3, 4]].map(([a, b]) => a + b);
+// [ 3, 7 ]
+
+// undefined就会触发函数参数的默认值。
+[1, undefined, 3].map((x = 'yes') => x);
+// [ 1, 'yes', 3 ]
+
+

圆括号问题

解构赋值虽然很方便,但是解析起来并不容易对于编译器来说,一个式子到底是模式,还是表达式,没有办法从一开始就知道,必须解析到(或解析不到)等号才能知道。

由此带来的问题是,如果模式中出现圆括号怎么处理。ES6 的规则是,只要有可能导致解构的歧义,就不得使用圆括号

但是,这条规则实际上不那么容易辨别,处理起来相当麻烦。因此,建议只要有可能,就不要在模式中放置圆括号。

不能使用圆括号的情况
// 全部报错 都是变量声明语句,模式不能使用圆括号。
+let [(a)] = [1];
+
+let {x: (c)} = {};
+let ({x: c}) = {};
+let {(x: c)} = {};
+let {(x): c} = {};
+
+let { o: ({ p: p }) } = { o: { p: 2 } };
+
+
// 函数参数也属于变量声明,因此不能带有圆括号。
+// 报错
+function f([(z)]) { return z; }
+// 报错
+function f([z,(x)]) { return x; }
+
+
+
// 全部报错  整个模式都放在圆括号之中
+({ p: a }) = { p: 42 };
+([a]) = [5];
+
+// 报错 一部分模式放在圆括号之中
+[({ p: a }), { x: c }] = [{}, {}];
+
+
可以使用圆括号的情况

赋值语句的非模式部分,可以使用圆括号

// 都是赋值语句,而不是声明语句
+// 圆括号都不属于模式的一部分
+[(b)] = [3]; // 正确
+({ p: (d) } = {}); // 正确
+[(parseInt.prop)] = [3]; // 正确
+
+

实际用途

这里简单易读,语义非常清晰

let x=1;
+let y=2;
+
+// 两值交换
+[x,y]=[y,x]
+
+

函数只能返回一个值,如果要返回多个值,只能将它们放在数组或对象里返回

// 返回一个数组
+function example() {
+  return [1, 2, 3];
+}
+
+// 解构
+let [a, b, c] = example();
+
+// 返回一个对象
+function example() {
+  return {
+    foo: 1,
+    bar: 2
+  };
+}
+// 解构
+let { foo, bar } = example();
+
+

解构赋值可以方便地将一组参数与变量名对应起来。

// 参数是一组有次序的值
+function f([x, y, z]) {
+    ... 
+}
+// 调用
+f([1, 2, 3]);
+
+// 参数是一组无次序的值
+function f({x, y, z}) {
+     ...
+}
+
+// 调用
+f({z: 3, y: 2, x: 1});
+
+

解构赋值对提取 JSON 对象中的数据,尤其有用。

// 定义数据
+let jsonData = {
+  id: 42,
+  status: "OK",
+  data: [867, 5309]
+};
+
+// 解构
+let { id, status, data: number } = jsonData;
+
+console.log(id, status, number);
+// 42, "OK", [867, 5309]
+
+
jQuery.ajax = function (url, {
+  async = true,
+  beforeSend = function () {},
+  cache = true,
+  complete = function () {},
+  crossDomain = false,
+  global = true,
+  // ... more config
+} = {}) {
+  // ... do stuff
+};
+
+

避免了在函数体内部再写var foo = config.foo || 'default foo';这样的语句。

任何部署了 Iterator 接口的对象,都可以用for...of循环遍历。Map 结构原生支持 Iterator 接口,配合变量的解构赋值,获取键名和键值就非常方便。


+const map = new Map();
+map.set('first', 'hello');
+map.set('second', 'world');
+
+for (let [key, value] of map) {
+  console.log(key + " is " + value);
+}
+// first is hello
+// second is world
+
+// 获取键名
+for (let [key] of map) {
+  // ...
+}
+
+// 获取键值 注意此处的逗号
+for (let [,value] of map) {
+  // ...
+}
+
+

加载模块时,往往需要指定输入哪些方法。解构赋值使得输入语句非常清晰。


+// CommonJs写法
+const { SourceMapConsumer, SourceNode } = require("source-map");
+
+

字符串

遍历器接口

ES6 为字符串添加了遍历器接口,使得字符串可以被for...of循环遍历。

// of遍历 依次输出
+for (let codePoint of 'foo') {
+  console.log(codePoint)
+}
+
+

模板字符串

传统的 JavaScript 语言,输出模板通常采用+拼接

// jquery 输出模板
+$('#result').append(
+  'There are <b>' + basket.count + '</b> ' +
+  'items in your basket, ' +
+  '<em>' + basket.onSale +
+  '</em> are on sale!'
+);
+

非常明显,写法相当繁琐且不方便,我最开始写的时候,真的'和"傻傻分不清楚,总觉得多了一个或者少了一个;

// ES6模板字符串
+$('#result').append(\`
+  There are <b>\${basket.count}</b> items
+   in your basket, <em>\${basket.onSale}</em>
+  are on sale!
+\`);
+
+

模板字符串(template string)是增强版的字符串,用反引号(\`)标识。它可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。

// 普通字符串
+\`In JavaScript '\\n' is a line-feed.\`
+
+// 多行字符串
+\`In JavaScript this is
+ not legal.\`
+
+console.log(\`string text line 1
+string text line 2\`);
+
+// 字符串中嵌入变量
+let name = "Bob", time = "today";
+\`Hello \${name}, how are you \${time}?\`
+
+

都是用反引号表示。如果在模板字符串中需要使用反引号,则前面要用反斜杠转义。

let greeting = \`\\\`Yo\\\` World!\`;
+

如果使用模板字符串表示多行字符串,所有的空格和缩进都会被保留在输出之中。模板字符串的空格和换行,都是被保留的,如果不想要这个换行,可以使用trim方法消除它。

模板字符串中嵌入变量,需要将变量名写在\${}之中。

// 方式比较
+function authorize(user, action) {
+  if (!user.hasPrivilege(action)) {
+    throw new Error(
+      // 传统写法:
+      // 'User '
+      // + user.name
+      // + ' is not authorized to do '
+      // + action
+      // + '.'
+
+      // ES6模板语法
+      \`User \${user.name} is not authorized to do \${action}.\`);
+  }
+}
+
+

大括号内部可以放入任意的 JavaScript 表达式,可以进行运算,以及引用对象属性。

let x = 1;
+let y = 2;
+
+\`\${x} + \${y} = \${x + y}\`
+// "1 + 2 = 3"
+
+\`\${x} + \${y * 2} = \${x + y * 2}\`
+// "1 + 4 = 5"
+
+// 定义对象
+let obj = {x: 1, y: 2};
+// 运算
+\`\${obj.x + obj.y}\`
+// "3"
+
+

在模板字符串中也是可以调用函数的:

function fn() {
+  return "Hello World";
+}
+
+// 调用函数
+\`foo \${fn()} bar\`
+// foo Hello World bar
+
+

如果大括号中的值不是字符串,将按照一般的规则转为字符串。比如,大括号中是一个对象,将默认调用对象的toString方法。

// 变量place没有声明,报错
+let msg = \`Hello, \${place}\`;
+
+

由于模板字符串的大括号内部,就是执行 JavaScript 代码,因此如果大括号内部是一个字符串,将会原样输出。

// 输出:"Hello World"
+\`Hello \${'World'}\`
+

如果需要引用模板字符串本身,在需要时执行,可以写成函数。

// 函数定义,箭头函数
+let func = (name) => \`Hello \${name}!\`;
+
+// 执行
+func('Jack') 
+// "Hello Jack!"
+

模板字符串写成了一个函数的返回值。执行这个函数,就相当于执行这个模板字符串了。

新增方法

String.fromCodePoint()

ES5 提供String.fromCharCode()方法,用于从 Unicode 码点返回对应字符,但是这个方法不能识别码点大于0xFFFF的字符

ES6 提供了String.fromCodePoint()方法,可以识别大于0xFFFF的字符,弥补了String.fromCharCode()方法的不足。在作用上,正好与下面的codePointAt()方法相反。


+String.fromCodePoint(0x20BB7)
+// 输出: "𠮷"
+String.fromCodePoint(0x78, 0x1f680, 0x79) === 'x\\uD83D\\uDE80y'
+// 输出: true
+
+

如果String.fromCodePoint方法有多个参数,则它们会被合并成一个字符串返回。

注意,fromCodePoint方法定义在String对象上,而codePointAt方法定义在字符串的实例对象上。

String.raw()

raw方法返回一个斜杠都被转义(即斜杠前面再加一个斜杠)的字符串,往往用于模板字符串的处理方法。

String.raw\`Hi\\n\${2+3}!\`
+// 实际返回 "Hi\\\\n5!",显示的是转义后的结果 "Hi\\n5!"
+
+String.raw\`Hi\\u000A!\`;
+// 实际返回 "Hi\\\\u000A!",显示的是转义后的结果 "Hi\\u000A!"
+

如果原字符串的斜杠已经转义,那么String.raw()会进行再次转义

String.raw\`Hi\\\\n\`
+// 返回 "Hi\\\\\\\\n"
+
+String.raw\`Hi\\\\n\` === "Hi\\\\\\\\n" // true
+
+
// \`foo\${1 + 2}bar\`
+// 等同于
+String.raw({ raw: ['foo', 'bar'] }, 1 + 2) // "foo3bar"
+
+

String.raw()方法的第一个参数是一个对象,它的raw属性等同于原始的模板字符串解析后得到的数组。

作为函数,String.raw()的代码实现:

// 定义函数,绑定到raw属性上
+String.raw = function (strings, ...values) {
+  let output = '';
+  let index;
+  for (index = 0; index < values.length; index++) {
+    output += strings.raw[index] + values[index];
+  }
+
+  // 递归
+  output += strings.raw[index]
+  return output;
+}
+
+

codePointAt()

JavaScript 内部,字符以 UTF-16 的格式储存,每个字符固定为2个字节。对于那些需要4个字节储存的字符(Unicode 码点大于0xFFFF的字符),JavaScript 会认为它们是两个字符。

let s = "𠮷";
+
+s.length // 2
+s.charAt(0) // ''
+s.charAt(1) // ''
+s.charCodeAt(0) // 55362
+s.charCodeAt(1) // 57271
+
+

ES6 提供了codePointAt()方法,能够正确处理 4 个字节储存的字符,返回一个字符的码点。

let s = '𠮷a';
+
+s.codePointAt(0) // 134071
+s.codePointAt(1) // 57271
+
+s.codePointAt(2) // 97
+
+

codePointAt()方法是测试一个字符由两个字节还是由四个字节组成的最简单方法。

function is32Bit(c) {
+  return c.codePointAt(0) > 0xFFFF;
+}
+
+is32Bit("𠮷") // true
+is32Bit("a") // false
+

normalize()

ES6 提供字符串实例的normalize()方法,用来将字符的不同表示方法统一为同样的形式,这称为 Unicode 正规化。

'\\u01D1'.normalize() === '\\u004F\\u030C'.normalize()
+// true
+
+

normalize方法可以接受一个参数来指定normalize的方式,参数的四个可选值如下。

includes(), startsWith(), endsWith()

传统上,JavaScript 只有indexOf方法,可以用来确定一个字符串是否包含在另一个字符串中;

ES6 又提供了三种新方法:

例如:


+let s = 'Hello world!';
+
+s.startsWith('Hello') // true
+s.endsWith('!') // true
+s.includes('o') // true
+
+

这三个方法都支持第二个参数,表示开始搜索的位置。

let s = 'Hello world!';
+
+s.startsWith('world', 6) // true
+s.endsWith('Hello', 5) // true
+s.includes('Hello', 6) // false
+
+

使用第二个参数n时,endsWith的行为与其他两个方法有所不同。它针对前n个字符,而其他两个方法针对从第n个位置直到字符串结束。

repeat()

repeat方法返回一个新字符串,表示将原字符串重复n次。


+'x'.repeat(3) // "xxx"
+'hello'.repeat(2) // "hellohello"
+'na'.repeat(0) // ""
+
+
'test'.repeat(2.9) // "testtest"
+
// Infinity 无穷
+'na'.repeat(Infinity)
+// RangeError
+'na'.repeat(-1)
+// RangeError
+
'na'.repeat(-0.9) // ""
+
+// 参数NaN等同于 0。
+'na'.repeat(NaN) // ""
+
+

+'na'.repeat('na') // ""
+'na'.repeat('3') // "nanana"
+
+

padStart()、padEnd()

ES2017 引入了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。

// 头部补齐
+'x'.padStart(5, 'ab') // 'ababx'
+'x'.padStart(4, 'ab') // 'abax'
+
+// 尾部补齐
+'x'.padEnd(5, 'ab') // 'xabab'
+'x'.padEnd(4, 'ab') // 'xaba'
+
+

padStart()和padEnd()一共接受两个参数:

在实际使用过程中,会存在如下情况:

'xxx'.padStart(2, 'ab') // 'xxx'
+'xxx'.padEnd(2, 'ab') // 'xxx
+
+
'abc'.padStart(10, '0123456789')
+// '0123456abc'
+

+'x'.padStart(4) // '   x'
+'x'.padEnd(4) // 'x   '
+

padStart()的常见用途是为数值补全指定位数 ,下面代码生成 10 位的数值字符串。

'1'.padStart(10, '0') // "0000000001"
+'12'.padStart(10, '0') // "0000000012"
+'123456'.padStart(10, '0') // "0000123456"
+

另一个用途是提示字符串格式。

'12'.padStart(10, 'YYYY-MM-DD') // "YYYY-MM-12"
+'09-12'.padStart(10, 'YYYY-MM-DD') // "YYYY-09-12
+
+

trimStart()、trimEnd()

ES2019 对字符串实例新增了trimStart()和trimEnd()这两个方法。它们的行为与trim()一致。

它们返回的都是新字符串,不会修改原始字符串。

// 定义
+const s = '  abc  ';
+
+s.trim() // "abc"
+s.trimStart() // "abc  "
+s.trimEnd() // "  abc
+
+// 原始字符串不变
+console.log(s)  // "  abc  " 
+
+

除了空格键,这两个方法对字符串头部(或尾部)的 tab 键、换行符等不可见的空白符号也有效。

浏览器还部署了额外的两个方法:

matchAll()

matchAll()方法返回一个正则表达式在当前字符串的所有匹配

replaceAll()

字符串的实例方法replace()只能替换第一个匹配。

'aabbcc'.replace('b', '_')
+// 'aa_bcc
+
+

如果要替换所有的匹配,不得不使用正则表达式的g修饰符。

// 全部匹配
+'aabbcc'.replace(/b/g, '_')
+// 'aa__cc'
+

正则表达式毕竟不是那么方便和直观,ES2021 引入了replaceAll()方法,可以一次性替换所有匹配。


+// 全局匹配
+'aabbcc'.replaceAll('b','_')
+// 'aa__cc'
+
+

用法与replace()相同,返回一个新字符串,不会改变原字符串。

String.prototype.replaceAll(searchValue, replacement)
+
+

searchValue是搜索模式,可以是一个字符串,也可以是一个全局的正则表达式(带有g修饰符)。如果searchValue是一个不带有g修饰符的正则表达式,replaceAll()会报错。与replace()不同。

// 不报错
+'aabbcc'.replace(/b/, '_')
+
+// /b/不带有g修饰符,会导致replaceAll()报错。
+'aabbcc'.replaceAll(/b/, '_')
+

replaceAll()的第二个参数replacement是一个字符串,表示替换的文本,其中可以使用一些特殊字符串。

// $& 表示匹配的字符串,即\`b\`本身
+// 所以返回结果与原字符串一致
+'abbc'.replaceAll('b', '$&')
+// 'abbc'
+
+// $\` 表示匹配结果之前的字符串
+// 对于第一个\`b\`,$\` 指代\`a\`
+// 对于第二个\`b\`,$\` 指代\`ab\`
+'abbc'.replaceAll('b', '$\`')
+// 'aaabc'
+
+// $' 表示匹配结果之后的字符串
+// 对于第一个\`b\`,$' 指代\`bc\`
+// 对于第二个\`b\`,$' 指代\`c\`
+'abbc'.replaceAll('b', \`$'\`)
+// 'abccc'
+
+// $1 表示正则表达式的第一个组匹配,指代\`ab\`
+// $2 表示正则表达式的第二个组匹配,指代\`bc\`
+'abbc'.replaceAll(/(ab)(bc)/g, '$2$1')
+// 'bcab'
+
+// $$ 指代 $
+'abc'.replaceAll('b', '$$')
+// 'a$c'
+
+

replaceAll()的第二个参数replacement也可以是一个函数,该函数的返回值将替换掉第一个参数searchValue匹配的文本。

// 第二个参数是一个函数,该函数的返回值会替换掉所有b的匹配。
+'aabbcc'.replaceAll('b', () => '_')
+// 'aa__cc'
+
+

这个替换函数可以接受多个参数

const str = '123abc456';
+const regex = /(\\d+)([a-z]+)(\\d+)/g;
+
+function replacer(match, p1, p2, p3, offset, string) {
+  return [p1, p2, p3].join(' - ');
+}
+
+str.replaceAll(regex, replacer)
+// 123 - abc - 456
+
+
+

上面例子中,正则表达式有三个组匹配,所以replacer()函数的第一个参数match是捕捉到的匹配内容(即字符串123abc456),后面三个参数p1、p2、p3则依次为三个组匹配。

数值

Number.isFinite() VS Number.isNaN()

ES6 在Number对象上,新提供了Number.isFinite()和Number.isNaN()两个方法

Number.isFinite()用来检查一个数值是否为有限的(finite),即不是Infinity。

Number.isFinite(15); // true
+Number.isFinite(0.8); // true
+Number.isFinite(NaN); // false
+Number.isFinite(Infinity); // false
+Number.isFinite(-Infinity); // false
+Number.isFinite('foo'); // false
+Number.isFinite('15'); // false
+Number.isFinite(true); // false
+

如果参数类型不是数值,Number.isFinite一律返回false

Number.isNaN()用来检查一个值是否为NaN(Not A Number)。

Number.isNaN(NaN) // true
+Number.isNaN(15) // false
+Number.isNaN('15') // false
+Number.isNaN(true) // false
+Number.isNaN(9/NaN) // true
+Number.isNaN('true' / 0) // true
+Number.isNaN('true' / 'true') // true
+

如果参数类型不是NaNNumber.isNaN一律返回false

重要区别

与传统的全局方法isFinite()和isNaN()的区别在于,传统方法先调用Number()将非数值的值转为数值,再进行判断,而这两个新方法只对数值有效,Number.isFinite()对于非数值一律返回false, Number.isNaN()只有对于NaN才返回true,非NaN一律返回false。


+isFinite(25) // true
+isFinite("25") // true
+Number.isFinite(25) // true
+Number.isFinite("25") // false
+
+isNaN(NaN) // true
+isNaN("NaN") // true
+Number.isNaN(NaN) // true
+Number.isNaN("NaN") // false
+Number.isNaN(1) // false
+
+

Number.parseInt() VS Number.parseFloat()

ES6 将全局方法parseInt()和parseFloat(),移植到Number对象上面,行为完全保持不变。

// ES5的写法
+parseInt('12.34') // 12
+parseFloat('123.45#') // 123.45
+
+// ES6的写法
+Number.parseInt('12.34') // 12
+Number.parseFloat('123.45#') // 123.45
+

逐步减少全局性方法,使得语言逐步模块化。

Number.parseInt === parseInt // true
+Number.parseFloat === parseFloat // true
+

Number.isInteger()

Number.isInteger()用来判断一个数值是否为整数。

Number.isInteger(25) // true
+Number.isInteger(25.1) // false
+
+// 整数和浮点数采用的是同样的储存方法
+Number.isInteger(25) // true
+Number.isInteger(25.0) // true
+

JavaScript 内部,整数和浮点数采用的是同样的储存方法,所以 25 和 25.0 被视为同一个值。

如果参数不是数值,Number.isInteger返回false

Number.isInteger() // false
+Number.isInteger(null) // false
+Number.isInteger('15') // false
+Number.isInteger(true) // false
+

Math 对象的扩展

Math.trunc()

Math.trunc()方法用于去除一个数的小数部分,返回整数部分

Math.trunc(4.1) // 4
+Math.trunc(4.9) // 4
+Math.trunc(-4.1) // -4
+Math.trunc(-4.9) // -4
+Math.trunc(-0.1234) // -0
+

对于非数值,Math.trunc内部使用Number方法将其先转为数值

Math.trunc('123.456') // 123
+Math.trunc(true) //1
+Math.trunc(false) // 0
+Math.trunc(null) // 0
+

对于空值和无法截取整数的值,返回NaN

Math.trunc(NaN);      // NaN
+Math.trunc('foo');    // NaN
+Math.trunc();         // NaN
+Math.trunc(undefined) // NaN
+

Math.trunc()的类似实现:

Math.trunc = Math.trunc || function(x) {
+  return x < 0 ? Math.ceil(x) : Math.floor(x);
+};
+
+

Math.sign()

Math.sign方法用来判断一个数到底是正数、负数、还是零。对于非数值,会先将其转换为数值。

如果参数是非数值,会自动转为数值。对于那些无法转为数值的值,会返回NaN。

Math.sign('')  // 0
+Math.sign(true)  // +1
+Math.sign(false)  // 0
+Math.sign(null)  // 0
+Math.sign('9')  // +1
+Math.sign('foo')  // NaN
+Math.sign()  // NaN
+Math.sign(undefined)  // NaN
+

Math.sign()的类似实现:

// 判断正数、负数、还是零
+Math.sign = Math.sign || function(x) {
+  x = +x; // convert to a number
+  if (x === 0 || isNaN(x)) {
+    return x;
+  }
+  return x > 0 ? 1 : -1;
+};
+

Math.cbrt()

Math.cbrt()方法用于计算一个数的立方根。

Math.cbrt(-1) // -1
+Math.cbrt(0)  // 0
+Math.cbrt(1)  // 1
+Math.cbrt(2)  // 1.2599210498948732
+

对于非数值,Math.cbrt()方法内部也是先使用Number()方法将其转为数值。

Math.cbrt('8') // 2
+Math.cbrt('hello') // NaN
+

Math.cbrt()类似实现:

// 计算一个数的立方根
+Math.cbrt = Math.cbrt || function(x) {
+  var y = Math.pow(Math.abs(x), 1/3);
+  return x < 0 ? -y : y;
+};
+

Math.hypot()

Math.hypot方法返回所有参数的平方和的平方根。


+// 3 的平方加上 4 的平方,等于 5 的平方。
+Math.hypot(3, 4);        // 5
+Math.hypot(3, 4, 5);     // 7.0710678118654755
+Math.hypot();            // 0
+Math.hypot(NaN);         // NaN
+Math.hypot(3, 4, 'foo'); // NaN
+Math.hypot(3, 4, '5');   // 7.0710678118654755
+Math.hypot(-3);          // 3
+

如果参数不是数值,Math.hypot方法会将其转为数值。只要有一个参数无法转为数值,就会返回 NaN。

指数运算符

ES2016 新增了一个指数运算符(**)。

2 ** 2 // 4
+2 ** 3 // 8
+

这个运算符是右结合,而不是常见的左结合。多个指数运算符连用时,是从最右边开始计算的。


+// 首先计算的是第二个指数运算符,而不是第一个
+// 相当于 2 ** (3 ** 2)
+2 ** 3 ** 2
+// 512
+

指数运算符可以与等号结合,形成一个新的赋值运算符(**=)。

let a = 1.5;
+a **= 2;
+// 等同于 a = a * a;
+
+let b = 4;
+b **= 3;
+// 等同于 b = b * b * b;
+

函数

参数的默认值

ES6 之前,不能直接为函数的参数指定默认值,只能采用变通的方法。

function log(x, y) {
+  y = y || 'World';
+  console.log(x, y);
+}
+
+log('Hello') // Hello World
+log('Hello', 'China') // Hello China
+log('Hello', '') // Hello World
+
+// ES6中可以
+function log(x, y = 'World') {
+  console.log(x, y);
+}
+
+log('Hello') // Hello World
+log('Hello', 'China') // Hello China
+log('Hello', '') // Hello
+
+

通常需要先判断一下参数y是否被赋值,如果没有,再等于默认值。


+if (typeof y === 'undefined') {
+  y = 'World';
+}
+
+

参数变量是默认声明的,不能用let或const再次声明,否则会报错。

使用参数默认值时,函数不能有同名参数

// 不报错
+function test(x, x, y) {
+  // ...
+}
+
+// 函数同名报错
+function test(x, x, y = 1) {
+  // ...
+}
+

另外,参数默认值不是传值的,而是每次都重新计算默认值表达式的值。也就是说,参数默认值是惰性求值的。

let x = 99;
+function add(p = x + 1) {
+  console.log(p);
+}
+
+add() // 100
+
+// 修改变量值
+x = 100;
+add() // 101
+

注意:默认p不是等于100

与解构赋值默认值结合使用

参数默认值可以与解构赋值的默认值,结合起来使用。

function add({x, y = 5}) {
+  console.log(x, y);
+}
+
+add({}) // undefined 5
+add({x: 1}) // 1 5
+add({x: 1, y: 2}) // 1 2
+add() // TypeError: Cannot read property 'x' of undefined
+

如果函数add调用时没提供参数,变量x和y就不会生成,从而报错。通过提供函数参数的默认值,就可以避免这种情况。


+// 提供默认值进行解构
+function add({x, y = 5} = {}) {
+  console.log(x, y);
+}
+
+add() // undefined 5
+
+

参数默认值的位置

通常情况下,定义了默认值的参数,应该是函数的尾参数。因为这样比较容易看出来,到底省略了哪些参数。如果非尾部的参数设置默认值,实际上这个参数是没法省略的。

// 存在默认值不是尾参数
+function test(x = 1, y) {
+  return [x, y];
+}
+
+test() // [1, undefined]
+test(2) // [2, undefined]
+test(, 1) // 报错
+test(undefined, 1) // [1, 1]
+
+

显式输入undefined,配合解构的原理,可以省略有默认值的参数

如果传入undefined,将触发该参数等于默认值,null则没有触发默认值。

function test(x = 5, y = 6) {
+  console.log(x, y);
+}
+
+test(undefined, null)
+// 5 null
+

length 属性

指定了默认值以后,函数的length属性,将返回没有指定默认值的参数个数。也就是说,指定了默认值后,length属性将失真。


+(function (a) {}).length // 1
+(function (a = 5) {}).length // 0
+(function (a, b, c = 5) {}).length // 2
+
+

length属性的返回值,等于函数的参数个数减去指定了默认值的参数个数。比如,上面最后一个函数,定义了 3 个参数,其中有一个参数c指定了默认值,因此length属性等于3减去1,最后得到2

(function(...args) {}).length // 0
+

length属性的含义是,该函数预期传入的参数个数。某个参数指定默认值以后,预期传入的参数个数就不包括这个参数了。

如果设置了默认值的参数不是尾参数,那么length属性也不再计入后面的参数了。

(function (a = 0, b, c) {}).length // 0
+(function (a, b = 1, c) {}).length // 1
+

作用域

一旦设置了参数的默认值,函数进行声明初始化时,参数会形成一个单独的作用域(context)。等到初始化结束,这个作用域就会消失。这种语法行为,在不设置参数默认值时,是不会出现的。

var x = 1;
+
+function add(x, y = x) {
+  // 默认值变量x指向第一个参数x,而不是全局变量x
+  console.log(y);
+}
+
+add(2) // 2
+

上面代码中,参数y的默认值等于变量x。调用函数f时,参数形成一个单独的作用域。在这个作用域里面,默认值变量x指向第一个参数x,而不是全局变量x,所以输出是2。

let x = 1;
+
+function f(y = x) {
+  let x = 2;
+  console.log(y);
+}
+
+f() // 1
+

上面代码中,函数f调用时,参数y = x形成一个单独的作用域。这个作用域里面,变量x本身没有定义,所以指向外层的全局变量x。函数调用时,函数体内部的局部变量x影响不到默认值变量x。


+// 此时全局变量x不存在,就会报错。
+function f(y = x) {
+  let x = 2;
+  console.log(y);
+}
+
+f() // ReferenceError: x is not defined
+

上面代码中,参数x = x形成一个单独作用域。实际执行的是let x = x,由于暂时性死区的原因,这行代码会报错x未定义

如果参数的默认值是一个函数,该函数的作用域也遵守这个规则

let foo = 'outer';
+
+function bar(func = () => foo) {
+  let foo = 'inner';
+  console.log(func());
+}
+
+bar(); // outer
+

上面代码中,函数bar的参数func的默认值是一个匿名函数,返回值为变量foo。函数参数形成的单独作用域里面,并没有定义变量foo,所以foo指向外层的全局变量foo,因此输出outer


+function bar(func = () => foo) {
+  let foo = 'inner';
+  console.log(func());
+}
+
+bar() // ReferenceError: foo is not defined
+
+

上面代码中,匿名函数里面的foo指向函数外层,但是函数外层并没有声明变量foo,所以就报错了。

var x = 1;
+function foo(x, y = function() { x = 2; }) {
+  var x = 3;
+  y();
+  console.log(x);
+}
+
+foo() // 3
+x // 1
+
+

上面代码中,函数foo的参数形成一个单独作用域。这个作用域里面,首先声明了变量x,然后声明了变量yy的默认值是一个匿名函数。这个匿名函数内部的变量x,指向同一个作用域的第一个参数x。函数foo内部又声明了一个内部变量x,该变量与第一个参数x由于不是同一个作用域,所以不是同一个变量,因此执行y后,内部变量x和外部全局变量x的值都没变。

var x = 1;
+function foo(x, y = function() { x = 2; }) {
+  x = 3;
+  y();
+  console.log(x);
+}
+
+foo() // 2
+x // 1
+

如果将var x = 3var去除,函数foo的内部变量x就指向第一个参数x,与匿名函数内部的x是一致的,所以最后输出的就是2,而外层的全局变量x依然不受影响

rest 参数

ES6 引入 rest 参数(形式为...变量名),用于获取函数的多余参数,这样就不需要使用arguments对象了。rest参数搭配的变量是一个数组,该变量将多余的参数放入数组中。

// 利用 rest 参数,可以向该函数传入任意数目的参数。
+function add(...values) {
+  let sum = 0;
+
+  for (var val of values) {
+    sum += val;
+  }
+
+  return sum;
+}
+
+add(2, 5, 3) // 10
+

rest 参数代替arguments变量

// arguments变量的写法
+function sortNumbers() {
+ return Array.prototype.slice.call(arguments).sort();
+}
+
+// rest参数的写法
+const sortNumbers = (...numbers) => numbers.sort();
+

rest 参数的写法更自然也更简洁。

arguments对象不是数组,而是一个类似数组的对象。所以为了使用数组的方法,必须使用Array.prototype.slice.call先将其转为数组。rest 参数就不存在这个问题,它就是一个真正的数组,数组特有的方法都可以使用。


+function push(array, ...items) {
+  items.forEach(function(item) {
+    array.push(item);
+    console.log(item);
+  });
+}
+
+var a = [];
+push(a, 1, 2, 3)
+
+

注意,rest 参数之后不能再有其他参数(即只能是最后一个参数),否则会报错。

(function(a) {}).length  // 1
+(function(...a) {}).length  // 0
+(function(a, ...b) {}).length  // 1
+

函数的length属性,不包括 rest 参数。

严格模式

从 ES5 开始,函数内部可以设定为严格模式。

function doSomething(a, b) {
+  'use strict';
+  // code  ES5中是被允许的
+}
+

ES2016 做了一点修改,ES2016中规定只要函数参数使用了默认值、解构赋值、或者扩展运算符,那么函数内部就不能显式设定为严格模式,否则会报错。


+// 报错
+function doSomething(a, b = a) {
+  'use strict';
+  // code
+}
+
+// 报错
+const doSomething = function ({a, b}) {
+  'use strict';
+  // code
+};
+
+// 报错
+const doSomething = (...a) => {
+  'use strict';
+  // code
+};
+
+const obj = {
+  // 报错
+  doSomething({a, b}) {
+    'use strict';
+    // code
+  }
+

函数内部的严格模式,同时适用于函数体和函数参数。但是,函数执行的时候,先执行函数参数,然后再执行函数体。这样就有一个不合理的地方,只有从函数体之中,才能知道参数是否应该以严格模式执行,但是参数却应该先于函数体执行。

name 属性

函数的name属性,返回该函数的函数名。

//  函数
+function test(){
+  // ...code
+}
+
+test.name // “test”
+
+

ES6 对这个属性的行为做出了一些修改,如果将一个匿名函数赋值给一个变量:

// 匿名函数
+var f = function () {};
+
+// ES5
+f.name // ""
+
+// ES6
+f.name // "f"
+

如果将一个具名函数赋值给一个变量,则 ES5 和 ES6 的name属性都返回这个具名函数原本的名字。

const bar = function test() {};
+
+// ES5
+bar.name // "test"
+
+// ES6
+bar.name // "test"
+

Function构造函数返回的函数实例,name属性的值为anonymous。

(new Function).name // "anonymous"
+

bind返回的函数,name属性值会加上bound前缀。

// 定义函数
+function foo() {
+
+};
+
+foo.bind({}).name // "bound foo"
+
+(function(){}).bind({}).name // "bound "
+

箭头函数

ES6 允许使用“箭头”(=>)定义函数。

var f = v => v;
+
+// 等同于
+var f = function (v) {
+  return v;
+};
+
+

如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分。

var f = () => 5;
+
+// 等同于
+var f = function () { 
+  return 5 
+};
+
+var sum = (num1, num2) => num1 + num2;
+// 等同于
+var sum = function(num1, num2) {
+  return num1 + num2;
+};
+

由于大括号被解释为代码块,所以如果箭头函数直接返回一个对象,必须在对象外面加上括号,否则会报错。

// 报错
+let getItem = id => { id: id, name: "tom" };
+
+// 不报错
+let getItem = id => ({ id: id, name: "tom" });
+
+

下面是一种特殊情况,虽然可以运行,但会得到错误的结果。

let foo = () => { a: 1 };
+foo() // undefined
+

原始意图是返回一个对象{ a: 1 },但是由于引擎认为大括号是代码块,所以执行了一行语句a: 1。这时,a可以被解释为语句的标签,因此实际执行的语句是1;,然后函数就结束了,没有返回值。

如果箭头函数只有一行语句,且不需要返回值,可以采用下面的写法,就不用写大括号了。


+// void运算符
+let fn = () => void doesNotReturn();
+

void 是一元运算符,它可以出现在任意类型的操作数之前执行操作数,却忽略操作数的返回值,返回一个 undefined

箭头函数可以与变量解构结合使用。

const full = ({ first, last }) => first + ' ' + last;
+
+// 等同于
+function full(person) {
+  return person.first + ' ' + person.last;
+}
+
+// 模式字符串
+const full= ({first,last})=>\`\${first}\${last}\`
+

箭头函数的一个用处是简化回调函数。

// 正常函数写法
+[1,2,3].map(function (x) {
+  return x * x;
+});
+
+// 箭头函数写法
+[1,2,3].map(x => x * x);
+
+
+// 正常函数写法
+var result = values.sort(function (a, b) {
+  return a - b;
+});
+
+// 箭头函数写法
+var result = values.sort((a, b) => a - b);
+
+
+// rest 参数与箭头函数结合
+const numbers = (...nums) => nums;
+
+numbers(1, 2, 3, 4, 5)
+// [1,2,3,4,5]
+
+const headAndTail = (head, ...tail) => [head, tail];
+
+headAndTail(1, 2, 3, 4, 5)
+// [1,[2,3,4,5]]
+
+

箭头函数使用需要注意:

this对象的指向是可变的,但是在箭头函数中,this对象的指向是固定的。

function foo() {
+  setTimeout(() => {
+    console.log('id:', this.id);
+  }, 100);
+}
+
+var id = 21;
+
+// call()函数修改this指向
+foo.call({ id: 42 });
+// id: 42
+

setTimeout()的参数是一个箭头函数,这个箭头函数的定义生效是在foo函数生成时,而它的真正执行要等到 100 毫秒后。如果是普通函数,执行时this应该指向全局对象window,这时应该输出21。但是,箭头函数导致this总是指向函数定义生效时所在的对象(本例是{id: 42}),所以打印出来的是42

箭头函数可以让setTimeout里面的this,绑定定义时所在的作用域,而不是指向运行时所在的作用域。

function Timer() {
+  this.s1 = 0;
+  this.s2 = 0;
+  // 箭头函数
+  setInterval(() => this.s1++, 1000);
+  // 普通函数
+  setInterval(function () {
+    this.s2++;
+  }, 1000);
+}
+
+var timer = new Timer();
+
+setTimeout(() => console.log('s1: ', timer.s1), 3100);
+setTimeout(() => console.log('s2: ', timer.s2), 3100);
+// s1: 3
+// s2: 0
+
+

Timer函数内部设置了两个定时器,分别使用了箭头函数和普通函数。前者的this绑定定义时所在的作用域(即Timer函数),后者的this指向运行时所在的作用域(即全局对象)。所以,3100 毫秒之后,timer.s1被更新了 3 次,而timer.s2一次都没更新。

箭头函数可以让this指向固定化,这种特性很有利于封装回调函数

var handler = {
+  id: '123456',
+
+  init: function() {
+    document.addEventListener('click',
+      event => this.doSomething(event.type), false);
+  },
+
+  doSomething: function(type) {
+    console.log('Handling ' + type  + ' for ' + this.id);
+  }
+};
+

init方法中,使用了箭头函数,这导致这个箭头函数里面的this,总是指向handler对象。否则,回调函数运行时,this.doSomething这一行会报错,因为此时this指向document对象。

this指向的固定化,并不是因为箭头函数内部有绑定this的机制,实际原因是箭头函数根本没有自己的this,导致内部的this就是外层代码块的this。正是因为它没有this,所以也就不能用作构造函数。

function foo() {
+  return () => {
+    return () => {
+      return () => {
+        console.log('id:', this.id);
+      };
+    };
+  };
+}
+
+var f = foo.call({id: 1});
+
+var t1 = f.call({id: 2})()(); // id: 1
+var t2 = f().call({id: 3})(); // id: 1
+var t3 = f()().call({id: 4}); // id: 1
+
+

只有一个this,就是函数foothis,所以t1t2t3都输出同样的结果。因为所有的内层函数都是箭头函数,都没有自己的this,它们的this其实都是最外层foo函数的this

除了this,以下三个变量在箭头函数之中也是不存在的,指向外层函数的对应变量:

function foo() {
+  setTimeout(() => {
+    console.log('args:', arguments);
+  }, 100);
+}
+
+foo(2, 4, 6, 8)
+// args: [2, 4, 6, 8]
+

上面代码中,箭头函数内部的变量arguments,其实是函数fooarguments变量。

由于箭头函数没有自己的this,所以当然也就不能用call()apply()bind()这些方法去改变this的指向。

// 箭头函数没有自己的this
+// bind方法无效,内部的this指向外部的this。
+
+(function() {
+  return [
+    (() => this.x).bind({ x: 'inner' })()
+  ];
+}).call({ x: 'outer' });
+// ['outer']
+

Function.prototype.toString()

ES2019 对函数实例的toString()方法做出了修改

toString()方法返回函数代码本身,以前会省略注释和空格。

// 定义函数【注意注释】
+function /* foo comment */ foo () {}
+
+foo.toString()
+// function foo() {}
+
+

函数foo的原始代码包含注释,函数名foo和圆括号之间有空格,但是toString()方法都把它们省略了。

修改后的toString()方法,明确要求返回一模一样的原始代码。

function /* foo comment */ foo () {}
+
+foo.toString()
+// "function /* foo comment */ foo () {}"
+

catch 命令的参数省略

JavaScript 语言的try...catch结构,以前明确要求catch命令后面必须跟参数,接受try代码块抛出的错误对象。

try {
+  // ...
+} catch (err) {
+  // 处理错误
+}
+

catch命令后面带有参数err。

但是,很多时候,catch代码块可能用不到这个参数。但是,为了保证语法正确,还是必须写。ES2019 做出了改变,允许catch语句省略参数。


+try {
+  // ...
+} catch {
+  // ...
+}
+

数组

扩展运算符

扩展运算符(spread)是三个点(...)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列

console.log(...[1, 2, 3])
+// 1 2 3
+
+console.log(1, ...[2, 3, 4], 5)
+// 1 2 3 4 5
+

主要用于函数调用。

// 将数组转化为逗号分隔的参数序列
+function push(array, ...items) {
+  array.push(...items);
+}
+
+function add(x, y) {
+  return x + y;
+}
+
+const numbers = [4, 38];
+add(...numbers) // 42
+
+

扩展运算符与正常的函数参数可以结合使用,非常灵活。

function test(v, w, x, y, z) { }
+const args = [0, 1];
+
+// 调用
+test(-1, ...args, 2, ...[3]);
+

扩展运算符后面还可以放置表达式。


+// 结合三目运算
+const arr = [
+  ...(x > 0 ? ['a'] : []),
+  'b',
+];
+

如果扩展运算符后面是一个空数组,则不产生任何效果。

[...[], 1]
+// [1]
+

只有函数调用时,扩展运算符才可以放在圆括号中,否则会报错。


+// 扩展运算符所在的括号不是函数调用。
+
+(...[1, 2])
+// Uncaught SyntaxError: Unexpected number
+
+console.log((...[1, 2]))
+// Uncaught SyntaxError: Unexpected number
+
+
+// 正常函数调用情况
+console.log(...[1, 2])
+// 1 2
+
+

替代函数的 apply 方法

由于扩展运算符可以展开数组,所以不再需要apply方法,将数组转为函数的参数了。

// ES5 的写法
+function test(x, y, z) {
+  // ...
+}
+// 实际调用
+var args = [0, 1, 2];
+test.apply(null, args);
+
+
+// ES6的写法
+function test(x, y, z) {
+  // ...
+}
+// 实际调用
+let args = [0, 1, 2];
+test(...args);
+
+
+
+// 应用Math.max方法的简化应用
+
+// ES5 的写法
+Math.max.apply(null, [14, 3, 77])
+
+// ES6 的写法
+Math.max(...[14, 3, 77])
+
+// 等同于
+Math.max(14, 3, 77);
+

由于 JavaScript 不提供求数组最大元素的函数,所以只能套用Math.max函数,将数组转为一个参数序列,然后求最大值。 有了扩展运算符以后,就可以直接用Math.max了。

// ES5的 写法
+var arr1 = [0, 1, 2];
+var arr2 = [3, 4, 5];
+Array.prototype.push.apply(arr1, arr2);
+
+// ES6 的写法
+let arr1 = [0, 1, 2];
+let arr2 = [3, 4, 5];
+arr1.push(...arr2);
+
+
+// ES5
+new (Date.bind.apply(Date, [null, 2015, 1, 1]))
+// ES6
+new Date(...[2015, 1, 1]);
+

扩展运算符的应用

复制数组

数组是复合的数据类型,直接复制的话,只是复制了指向底层数据结构的指针,而不是克隆一个全新的数组

const a1 = [1, 2];
+const a2 = a1;
+
+
+a2[0] = 2;
+a1 // [2, 2]
+

a2并不是a1的克隆,而是指向同一份数据的另一个指针。修改a2,会直接导致a1的变化。

// ES5 只能用变通方法来复制数组。
+const a1 = [1, 2];
+const a2 = a1.concat();
+
+a2[0] = 2;
+a1 // [1, 2]
+
+

a1会返回原数组的克隆,再修改a2就不会对a1产生影响。

// 扩展运算符提供了复制数组的简便写法【都是克隆】。
+const a1 = [1, 2];
+// 写法一
+const a2 = [...a1];
+// 写法二
+const [...a2] = a1;
+
合并数组

扩展运算符提供了数组合并的新写法。

const arr1 = ['a', 'b'];
+const arr2 = ['c'];
+const arr3 = ['d', 'e'];
+
+// ES5 的合并数组
+arr1.concat(arr2, arr3);
+// [ 'a', 'b', 'c', 'd', 'e' ]
+
+// ES6 的合并数组
+[...arr1, ...arr2, ...arr3]
+// [ 'a', 'b', 'c', 'd', 'e' ]
+

不过,这两种方法都是浅拷贝,使用的时候需要注意。

const a1 = [{ foo: 1 }];
+const a2 = [{ bar: 2 }];
+
+const a3 = a1.concat(a2);
+const a4 = [...a1, ...a2];
+
+a3[0] === a1[0] // true
+a4[0] === a1[0] // true
+

a3和a4是用两种不同方法合并而成的新数组,但是它们的成员都是对原数组成员的引用,这就是浅拷贝。如果修改了引用指向的值,会同步反映到新数组。

与解构赋值结合

扩展运算符可以与解构赋值结合起来,用于生成数组。

// ES5
+a = list[0], rest = list.slice(1)
+// ES6
+[a, ...rest] = list
+
+const [first, ...rest] = [1, 2, 3, 4, 5];
+first // 1
+rest  // [2, 3, 4, 5]
+
+const [first, ...rest] = [];
+first // undefined
+rest  // []
+
+const [first, ...rest] = ["foo"];
+first  // "foo"
+rest   // []
+

如果将扩展运算符用于数组赋值,只能放在参数的最后一位,否则会报错。

const [...butLast, last] = [1, 2, 3, 4, 5];
+// 报错
+
+const [first, ...middle, last] = [1, 2, 3, 4, 5];
+// 报错
+

字符串

扩展运算符还可以将字符串转为真正的数组。

[...'hello']
+// [ "h", "e", "l", "l", "o" ]
+

实现了 Iterator 接口的对象

任何定义了遍历器(Iterator)接口的对象(参阅 Iterator 一章),都可以用扩展运算符转为真正的数组

let nodeList = document.querySelectorAll('div');
+let array = [...nodeList];
+

querySelectorAll方法返回的是一个NodeList对象。它不是数组,而是一个类似数组的对象。这时,扩展运算符可以将其转为真正的数组,原因就在于NodeList对象实现了Iterator

// arrayLike是一个类似数组的对象,但是没有部署 Iterator 接口
+let arrayLike = {
+  '0': 'a',
+  '1': 'b',
+  '2': 'c',
+  length: 3
+};
+
+// TypeError: Cannot spread non-iterable object.
+let arr = [...arrayLike];
+
+

对于那些没有部署 Iterator 接口的类似数组的对象,扩展运算符就无法将其转为真正的数组。

Map 和 Set 结构,Generator 函数

扩展运算符内部调用的是数据结构的 Iterator 接口,因此只要具有 Iterator 接口的对象,都可以使用扩展运算符,比如 Map 结构。

let map = new Map([
+  [1, 'one'],
+  [2, 'two'],
+  [3, 'three'],
+]);
+
+let arr = [...map.keys()]; // [1, 2, 3]
+

Generator 函数运行后,返回一个遍历器对象,因此也可以使用扩展运算符。

const go = function*(){
+  yield 1;
+  yield 2;
+  yield 3;
+};
+
+[...go()] // [1, 2, 3]
+

如果对没有 Iterator 接口的对象,使用扩展运算符,将会报错。

const obj = {a: 1, b: 2};
+// TypeError: Cannot spread non-iterable object
+let arr = [...obj]; 
+

Array.from()

Array.from方法用于将两类对象转为真正的数组:

let arrayLike = {
+    '0': 'a',
+    '1': 'b',
+    '2': 'c',
+    length: 3
+};
+
+// ES5的写法
+var arr1 = [].slice.call(arrayLike); // ['a', 'b', 'c']
+
+// ES6的写法
+let arr2 = Array.from(arrayLike); // ['a', 'b', 'c']
+

实际应用中,常见的类似数组的对象是 DOM 操作返回的 NodeList 集合,以及函数内部的arguments对象。Array.from都可以将它们转为真正的数组

// NodeList对象
+let ps = document.querySelectorAll('p');
+Array.from(ps).filter(p => {
+  return p.textContent.length > 100;
+});
+
+// arguments对象
+function foo() {
+  // 转化成数组
+  var args = Array.from(arguments);
+  // ...
+}
+
+

只要是部署了 Iterator 接口的数据结构,Array.from都能将其转为数组。

// 字符串和 Set 结构都具有 Iterator 接口
+Array.from('hello')
+// ['h', 'e', 'l', 'l', 'o']
+
+let namesSet = new Set(['a', 'b'])
+Array.from(namesSet) // ['a', 'b']
+

如果参数是一个真正的数组,Array.from会返回一个一模一样的新数组。

Array.from([1, 2, 3])
+// [1, 2, 3]
+

扩展运算符(...)也可以将某些数据结构转为数组。

// arguments对象
+function foo() {
+  // 扩展运算符,效果和Array.from一样
+  const args = [...arguments];
+}
+
+

Array.from方法还支持类似数组的对象。所谓类似数组的对象,本质特征只有一点,即必须有length属性。因此,任何有length属性的对象,都可以通过Array.from方法转为数组,而此时扩展运算符就无法转换。

Array.from({ length: 3 });
+// [ undefined, undefined, undefined ]
+

Array.from返回了一个具有三个成员的数组,每个位置的值都是undefined。扩展运算符转换不了这个对象

对于还没有部署该方法的浏览器,可以用Array.prototype.slice方法替代。


+// 兼容存在Array.from情况
+const toArray = (() =>
+  Array.from ? Array.from : obj => [].slice.call(obj)
+)();
+

Array.from还可以接受第二个参数,作用类似于数组的map方法,用来对每个元素进行处理,将处理后的值放入返回的数组。

Array.from(arrayLike, x => x * x);
+// 等同于
+Array.from(arrayLike).map(x => x * x);
+
+Array.from([1, 2, 3], (x) => x * x)
+// [1, 4, 9]
+

Array.from()可以将各种值转为真正的数组,并且还提供map功能。这实际上意味着,只要有一个原始的数据结构,你就可以先对它的值进行处理,然后转成规范的数组结构,进而就可以使用数量众多的数组方法。

Array.from({ length: 2 }, () => 'jack')
+// ['jack', 'jack']
+

上面代码中,Array.from的第一个参数指定了第二个参数运行的次数。这种特性可以让该方法的用法变得非常灵活。

Array.from()的另一个应用是,将字符串转为数组,然后返回字符串的长度。因为它能正确处理各种 Unicode 字符,可以避免 JavaScript 将大于\\uFFFFUnicode 字符,算作两个字符的 bug

function countSymbols(string) {
+  return Array.from(string).length;
+}
+
+

Array.of()

Array.of()方法用于将一组值,转换为数组。

Array.of(3, 11, 8) // [3,11,8]
+Array.of(3) // [3]
+Array.of(3).length // 1
+

弥补数组构造函数Array()的不足。因为参数个数的不同,会导致Array()的行为有差异。

Array() // []
+Array(3) // [, , ,]
+Array(3, 11, 8) // [3, 11, 8]
+

Array()方法没有参数、一个参数、三个参数时,返回的结果都不一样。

Array.of()基本上可以用来替代Array()new Array(),并且不存在由于参数不同而导致的重载,行为非常统一。

Array.of() // []
+Array.of(undefined) // [undefined]
+Array.of(1) // [1]
+Array.of(1, 2) // [1, 2]
+

Array.of()总是返回参数值组成的数组。如果没有参数,就返回一个空数组。

Array.of()方法可以用下面的代码模拟实现。

function ArrayOf(){
+  // arguments 参数数组
+  return [].slice.call(arguments);
+}
+

copyWithin()

数组实例的copyWithin()方法,在当前数组内部,将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组。也就是说,使用这个方法,会修改当前数组。

Array.prototype.copyWithin(target, start = 0, end = this.length)
+

接受三个参数:

[1, 2, 3, 4, 5].copyWithin(0, 3)
+// [4, 5, 3, 4, 5]
+
+// 将3号位复制到0号位
+[1, 2, 3, 4, 5].copyWithin(0, 3, 4)
+// [4, 2, 3, 4, 5]
+
+// -2相当于3号位,-1相当于4号位
+[1, 2, 3, 4, 5].copyWithin(0, -2, -1)
+// [4, 2, 3, 4, 5]
+
+// 将3号位复制到0号位
+[].copyWithin.call({length: 5, 3: 1}, 0, 3)
+// {0: 1, 3: 1, length: 5}
+
+// 将2号位到数组结束,复制到0号位
+let i32a = new Int32Array([1, 2, 3, 4, 5]);
+i32a.copyWithin(0, 2);
+// Int32Array [3, 4, 5, 4, 5]
+
+// 对于没有部署 TypedArray 的 copyWithin 方法的平台
+// 需要采用下面的写法
+[].copyWithin.call(new Int32Array([1, 2, 3, 4, 5]), 0, 3, 4);
+// Int32Array [4, 2, 3, 4, 5]
+

find() VS findIndex()

数组实例的find方法,用于找出第一个符合条件的数组成员。它的参数是一个回调函数,所有数组成员依次执行该回调函数,直到找出第一个返回值为true的成员,然后返回该成员。如果没有符合条件的成员,则返回undefined

[1, 4, -5, 10].find((n) => n < 0)
+// -5
+
+[1, 5, 10, 15].find(function(value, index, arr) {
+  return value > 9;
+}) // 10
+

find方法的回调函数可以接受三个参数,依次为当前的值、当前的位置和原数组。

数组实例的findIndex方法的用法与find方法非常类似,返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1

// 返回第一个符合条件的数组成员的位置
+[1, 5, 10, 15].findIndex(function(value, index, arr) {
+  return value > 9;
+}) // 2
+

两个方法都可以接受第二个参数,用来绑定回调函数的this对象。

// 回调函数中的this对象指向person对象。
+function f(v){
+  return v > this.age;
+}
+let person = {name: 'John', age: 20};
+[10, 12, 26, 15].find(f, person);    // 26
+

另外,两个方法都可以发现NaN,弥补了数组的indexOf方法的不足

[NaN].indexOf(NaN)
+// -1
+
+[NaN].findIndex(y => Object.is(NaN, y))
+// 0
+

indexOf方法无法识别数组的NaN成员,但是findIndex方法可以借助Object.is方法做到。

fill()

fill方法使用给定值,填充一个数组。

['a', 'b', 'c'].fill(7)
+// [7, 7, 7]
+
+new Array(3).fill(7)
+// [7, 7, 7]
+
+

数组中已有的元素,会被全部抹去。

// fill方法还可以接受第二个和第三个参数
+// startIndex指定填充的起始位置
+// endIndex指定填充的结束位置
+fill(value,startIndex,endIndex)
+
+['a', 'b', 'c'].fill(7, 1, 2)
+// ['a', 7, 'c']
+

如果填充的类型为对象,那么被赋值的是同一个内存地址的对象,而不是深拷贝对象。

let arr = new Array(3).fill({name: "Mike"});
+arr[0].name = "Ben";
+arr
+// [{name: "Ben"}, {name: "Ben"}, {name: "Ben"}]
+
+let arr = new Array(3).fill([]);
+arr[0].push(5);
+arr
+// [[5], [5], [5]]
+

entries()、keys() 、 values()

ES6 提供三个新的方法,用于遍历数组

都返回一个遍历器对象【Iterator】,可以用for...of循环进行遍历

for (let index of ['a', 'b'].keys()) {
+  console.log(index);
+}
+// 0
+// 1
+
+for (let elem of ['a', 'b'].values()) {
+  console.log(elem);
+}
+// 'a'
+// 'b'
+
+for (let [index, elem] of ['a', 'b'].entries()) {
+  console.log(index, elem);
+}
+// 0 "a"
+// 1 "b"
+

如果不使用for...of循环,可以手动调用遍历器对象的next方法,进行遍历。

let letter = ['a', 'b', 'c'];
+let entries = letter.entries();
+console.log(entries.next().value); // [0, 'a']
+console.log(entries.next().value); // [1, 'b']
+console.log(entries.next().value); // [2, 'c']
+

includes()

Array.prototype.includes方法返回一个布尔值,表示某个数组是否包含给定的值.

[1, 2, 3].includes(2)     // true
+[1, 2, 3].includes(4)     // false
+[1, 2, NaN].includes(NaN) // true
+

与字符串的includes方法类似。ES2016 引入了该方法。


+[1, 2, 3].includes(3, 3);  // false
+[1, 2, 3].includes(3, -1); // true
+
+

第二个参数表示搜索的起始位置,默认为0。如果第二个参数为负数,则表示倒数的位置,如果这时它大于数组长度(比如第二个参数为-4,但数组长度为3),则会重置为从0开始。

通常使用数组的indexOf法,也能检查是否包含某个值。

if (arr.indexOf(el) !== -1) {
+  // ...
+}
+

indexOf方法有两个缺点:


+// indexof存在NaN误判
+[NaN].indexOf(NaN)
+// -1
+
+// includes正常
+[NaN].includes(NaN)
+// true
+

类似功能替代方案:

const contains = (() =>
+  Array.prototype.includes
+    ? (arr, value) => arr.includes(value)
+    : (arr, value) => arr.some(el => el === value)
+)();
+contains(['foo', 'bar'], 'baz'); // => false
+

MapSet 数据结构有一个has方法,需要注意与includes区分。

flat()、flatMap()

数组的成员有时还是数组,Array.prototype.flat()用于将嵌套的数组“拉平”,变成一维的数组。该方法返回一个新数组,对原数据没有影响。


+// flat()方法将子数组的成员取出来,添加在原来的位置。
+[1, 2, [3, 4]].flat()
+// [1, 2, 3, 4]
+

flat()默认只会“拉平”一层,如果想要“拉平”多层的嵌套数组,可以将flat()方法的参数写成一个整数,表示想要拉平的层数,默认为1。


+// 默认拉平一层
+[1, 2, [3, [4, 5]]].flat()
+// [1, 2, 3, [4, 5]]
+
+// 拉平嵌套两层得嵌套数组
+[1, 2, [3, [4, 5]]].flat(2)
+// [1, 2, 3, 4, 5]
+
+

如果不管有多少层嵌套,都要转成一维数组,可以用Infinity关键字作为参数。

// 不管有多少层嵌套,都要转成一维数组
+[1, [2, [3]]].flat(Infinity)
+// [1, 2, 3]
+
+

如果原数组有空位,flat()方法会跳过空位。

[1, 2, , 4, 5].flat()
+// [1, 2, 4, 5]
+

flatMap()方法对原数组的每个成员执行一个函数(相当于执行Array.prototype.map()),然后对返回值组成的数组执行flat()方法。该方法返回一个新数组,不改变原数组。

// 相当于 [[2, 4], [3, 6], [4, 8]].flat()
+[2, 3, 4].flatMap((x) => [x, x * 2])
+// [2, 4, 3, 6, 4, 8]
+

flatMap()只能展开一层数组

// 相当于 [[[2]], [[4]], [[6]], [[8]]].flat()
+[1, 2, 3, 4].flatMap(x => [[x * 2]])
+// [[2], [4], [6], [8]]
+

上面代码中,遍历函数返回的是一个双层的数组,但是默认只能展开一层,因此flatMap()返回的还是一个嵌套数组。

flatMap()方法的参数是一个遍历函数,可以接受三个参数


+arr.flatMap(function callback(currentValue[, index[, array]]) {
+  // ...
+}[, thisArg])
+

flatMap()方法还可以有第二个参数,用来绑定遍历函数里面的this

数组的空位

数组的空位指,数组的某一个位置没有任何值。比如,Array构造函数返回的数组都是空位。

// 返回具有 3 个空位的数组。
+Array(3) // [, , ,]
+

空位不是undefined,一个位置的值等于undefined,依然是有值的。空位是没有任何值,in运算符可以说明这一点。

// 数组的 0 号位置是有值的
+0 in [undefined, undefined, undefined] // true
+
+// 数组的 0 号位置没有值
+0 in [, , ,] // false
+

ES5和ES6中空位的区别比较可以参考: https://es6.ruanyifeng.com/#docs/array#%E6%95%B0%E7%BB%84%E7%9A%84%E7%A9%BA%E4%BD%8D

扩展运算符

扩展运算符(spread)是三个点(...),可以将数组转为用逗号分隔的参数序列

console.log(...[1,2,3])
+// 输出 1 2 3
+
+console.log(1,...[2,3,4],5)
+// 输出 1 2 3 4 5
+
+

可以用在函数调用这样的场景下


+function push(arr, ...items){
+    // 数组中添加元素
+    arr.push(...items)
+}
+
+function add(x,y){
+    return x+y;
+}
+
+// 定于参数
+const num=[4,22]
+
+// 调用
+
+add(...num)
+
+// 输出26
+
+

从上面的代码例子中可以看出,arr.push(...items)和add(...num)都是函数的调用,也都可以使用扩展运算符,将数组变为参数序列

// 表达式
+const arr=[
+    ...(x>0?['a']:[]),
+    'b'
+]
+
+// 如上,扩展运算符是空数组,则不产生任何效果
+console.log([...[],1])
+// [1]
+
+

替代数组的apply()方法

apply()方法可以将数组转为函数的参数


+// ES5
+function f(x,y,z){
+    // ...
+}
+
+const arg=[0,1,2]
+
+// 利用apply方法
+
+f.apply(null,args)
+
+// 而ES6中可以
+
+f(...arg)
+
+

类似的也可以

// ES5
+
+Math.max.apply(null,[1,2,3])
+
+// ES6 
+Math.max(...[1,2,3])
+
+// 上面个两个等价于
+
+Math.max(1,2,3)
+
+

类似也可以实现元素添加数组到尾部

const arr1=[0,1,2]
+const arr2=[3,4,5]
+
+// ES5 (apply()劫持属性)
+Array.prototype.push.apply(arr1,arr2)
+
+// 特别注意:Array的原型链上的push方法不能直接使用数组,需要用apply方法劫持变通
+
+// ES6
+arr1.push(...arr2)
+

简单应用

合并数组

let arr1=['a','b']
+let arr2=['c']
+let arr3=['d','e']
+// ES5
+[1,2].concat(more)
+// eg
+arr1.concat(arr2,arr3)
+// 输出 ['a','b','c','d','e']
+
+// ES6
+[1,2,...more]
+// eg:
+[...arr1,...arr2,...arr3]
+// 输出 ['a','b','c','d','e']
+
+

解构赋值

与解构赋值的结合,可以帮助生成数组

// ES5
+const a=list[0]
+const rest=list.slice(1)
+
+// ES6
+[a,...rest]=list
+
+const [first,...rest]=[1,2,3,4,5]
+
+first // 1
+rest // [2,3,4,5]
+

函数的返回值

在Javascript中,函数只能返回一个值,如果需要返回多个值,就通过返回对象或者数组来实现,拓展运算符提供了相对应的变通方法

const fields=readDateFields(database);
+
+// 间数据构造传入构造函数Date(),获取新值
+const d=new Date(...fields)
+
+

字符串

[..."hello"]
+// ['h','e','l','l','o']
+

对象

对象(object)是 JavaScript 最重要的数据结构

属性的简洁表示法

ES6 允许在大括号里面,直接写入变量和函数,作为对象的属性和方法

// 属性名就是变量名, 属性值就是变量值
+const foo = 'bar';
+const baz = {foo};
+baz // {foo: "bar"}
+
+// 等同于
+const baz = {foo: foo};
+

除了属性简写,方法也可以简写。

function test(x, y) {
+  return {x, y};
+}
+
+// 等同于
+function test(x, y) {
+  return {x: x, y: y};
+}
+
+test(1, 2) // Object {x: 1, y: 2}
+
+
+const fc = {
+  method() {
+    return "Hello!";
+  }
+};
+
+// 等同于
+const fc = {
+  method: function() {
+    return "Hello!";
+  }
+};
+

CommonJS 模块输出一组变量,就非常合适使用简洁写法。

let ms = {};
+
+function getItem (key) {
+  return key in ms ? ms[key] : null;
+}
+
+function setItem (key, value) {
+  ms[key] = value;
+}
+
+function clear () {
+  ms = {};
+}
+
+module.exports = { getItem, setItem, clear };
+// 等同于
+module.exports = {
+  getItem: getItem,
+  setItem: setItem,
+  clear: clear
+};
+

属性的赋值器(setter)和取值器(getter),事实上也是采用这种写法。

const cart = {
+  // 属性
+  _wheels: 4,
+
+  // 取值器
+  get wheels () {
+    return this._wheels;
+  },
+  // 赋值器
+  set wheels (value) {
+    if (value < this._wheels) {
+      throw new Error('数值太小了!');
+    }
+    this._wheels = value;
+  }
+}
+

注意,简写的对象方法不能用作构造函数,会报错

const obj = {
+  test() {
+    this.foo = 'bar';
+  }
+};
+new obj.test() // 报错
+

上面代码中,test是一个简写的对象方法,所以obj.test不能当作构造函数使用。

属性名表达式

JavaScript 定义对象属性的两种方法

// 方法一:直接用标识符作为属性名
+obj.foo = true;
+
+// 方法二:用表达式作为属性名
+obj['a' + 'bc'] = 123;
+
+

如果使用字面量方式定义对象(使用大括号),在 ES5 中只能使用方法一(标识符)定义属性。

var obj = {
+  foo: true,
+  abc: 123
+};
+

ES6 允许字面量定义对象时,用方法二(表达式)作为对象的属性名,即把表达式放在方括号内。

let propKey = 'foo';
+
+let obj = {
+  [propKey]: true,
+  ['a' + 'bc']: 123
+};
+

表达式还可以用于定义方法名。

let obj = {
+  ['h' + 'ello']() {
+    return 'hi';
+  }
+};
+
+obj.hello() // hi
+
+

注意,属性名表达式与简洁表示法,不能同时使用,会报错。

// 报错
+const foo = 'bar';
+const bar = 'abc';
+const baz = { [foo] };
+
+// 正确
+const foo = 'bar';
+const baz = { [foo]: 'abc'};
+
+

注意,属性名表达式如果是一个对象,默认情况下会自动将对象转为字符串[object Object]

const keyA = {a: 1};
+const keyB = {b: 2};
+
+const myObject = {
+  [keyA]: 'valueA',
+  [keyB]: 'valueB'
+};
+
+myObject // Object {[object Object]: "valueB"}
+

方法的 name 属性

函数的name属性,返回函数名。对象方法也是函数,因此也有name属性。

const person = {
+  sayName() {
+    console.log('hello!');
+  },
+};
+
+// 方法的name属性返回函数名(即方法名)
+person.sayName.name   // "sayName"
+

如果对象的方法使用了取值函数(getter)和存值函数(setter),则name属性不是在该方法上面,而是该方法的属性的描述对象的getset属性上面,返回值是方法名前加上getset

const obj = {
+  get foo() {},
+  set foo(x) {}
+};
+
+obj.foo.name
+// TypeError: Cannot read property 'name' of undefined
+
+
+
+const descriptor = Object.getOwnPropertyDescriptor(obj, 'foo');
+
+descriptor.get.name // "get foo"
+descriptor.set.name // "set foo"
+

Object.getOwnPropertyDescriptor方法,返回某个对象属性的描述对象( descriptor )。

有两种特殊情况:

(new Function()).name // "anonymous"
+
+var doSomething = function() {
+  // ...
+};
+doSomething.bind().name // "bound doSomething"
+

如果对象的方法是一个 Symbol 值,那么name属性返回的是这个 Symbol 值的描述。

const key1 = Symbol('description');
+const key2 = Symbol();
+let obj = {
+  [key1]() {},
+  [key2]() {},
+};
+obj[key1].name // "[description]"
+
+// 没有Symbol描述,为空字符串
+obj[key2].name // ""
+
+

属性的可枚举性和遍历

可枚举性

对象的每个属性都有一个描述对象(Descriptor),用来控制该属性的行为。Object.getOwnPropertyDescriptor方法可以获取该属性的描述对象。

let obj = { foo: 123 };
+Object.getOwnPropertyDescriptor(obj, 'foo')
+//  {
+//    value: 123,
+//    writable: true,
+//    enumerable: true,
+//    configurable: true
+//  }
+
+

描述对象的enumerable属性,称为“可枚举性”,如果该属性为false,就表示某些操作会忽略当前属性。

目前,有四个操作会忽略enumerablefalse的属性

只有for...in会返回继承的属性,其他三个方法都会忽略继承的属性,只处理对象自身的属性。

实际上,引入“可枚举”(enumerable)这个概念的最初目的,就是让某些属性可以规避掉for...in操作,不然所有内部属性和方法都会被遍历到。

Object.getOwnPropertyDescriptor(Object.prototype, 'toString').enumerable
+// false
+
+Object.getOwnPropertyDescriptor([], 'length').enumerable
+// false
+

对象原型的toString方法,以及数组的length属性,就通过“可枚举性”,从而避免被for...in遍历到。

ES6 规定,所有 Class 的原型的方法都是不可枚举的。

Object.getOwnPropertyDescriptor(class {foo() {}}.prototype, 'foo').enumerable
+// false
+

总的来说,操作中引入继承的属性会让问题复杂化,大多数时候,只关心对象自身的属性。所以,尽量不要用for...in循环,而用Object.keys()代替。

属性的遍历

ES6 一共有 5 种方法可以遍历对象的属性

for...in

for...in循环遍历对象自身的和继承的可枚举属性(不含 Symbol属性)。

Object.keys(obj)

Object.keys返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含 Symbol 属性)的键名。

Object.getOwnPropertyNames(obj)

Object.getOwnPropertyNames返回一个数组,包含对象自身的所有属性(不含 Symbol 属性,但是包括不可枚举属性)的键名。

Object.getOwnPropertySymbols(obj)

Object.getOwnPropertySymbols返回一个数组,包含对象自身的所有 Symbol 属性的键名。

Reflect.ownKeys(obj)

Reflect.ownKeys返回一个数组,包含对象自身的(不含继承的)所有键名,不管键名是 Symbol 或字符串,也不管是否可枚举。

以上的 5 种方法遍历对象的键名,都遵守同样的属性遍历的次序规则。


+// 排序规则:首先是数值属性2和10,其次是字符串属性b和a,最后是 Symbol 属性。
+Reflect.ownKeys({ [Symbol()]:0, b:0, 10:0, 2:0, a:0 })
+// ['2', '10', 'b', 'a', Symbol()]
+

super 关键字

this关键字总是指向函数所在的当前对象,ES6 新增了另一个类似的关键字super指向当前对象的原型对象


+const proto = {
+  foo: 'hello'
+};
+
+const obj = {
+  foo: 'world',
+  find() {
+    return super.foo;
+  }
+};
+
+
+Object.setPrototypeOf(obj, proto);
+
+// 对象obj.find()方法之中,通过super.foo引用了原型对象proto的foo属性。
+obj.find() // "hello"
+
+

注意:Object.setPrototypeOf(),为现有对象设置原型,返回一个新对象,接收两个参数:

注意,super关键字表示原型对象时,只能用在对象的方法之中,用在其他地方都会报错。

// 报错
+const obj = {
+  foo: super.foo
+}
+
+// 报错
+const obj = {
+  foo: () => super.foo
+}
+
+// 报错
+const obj = {
+  foo: function () {
+    return super.foo
+  }
+}
+

上面三种super的用法都会报错,因为对于 JavaScript 引擎来说,这里的super都没有用在对象的方法之中。第一种写法是super用在属性里面,第二种和第三种写法是super用在一个函数里面,然后赋值给foo属性。目前,只有对象方法的简写法可以让 JavaScript引擎确认,定义的是对象的方法。

JavaScript 引擎内部,super.foo等同于Object.getPrototypeOf(this).foo(属性)Object.getPrototypeOf(this).foo.call(this)(方法)。

const proto = {
+  x: 'hello',
+  foo() {
+    console.log(this.x);
+  },
+};
+
+const obj = {
+  x: 'world',
+  foo() {
+    super.foo();
+  }
+}
+
+Object.setPrototypeOf(obj, proto);
+
+obj.foo() // "world"
+

上面代码中,super.foo指向原型对象protofoo方法,但是绑定的this却还是当前对象obj,因此输出的就是world

链判断运算符

如果读取对象内部的某个属性,往往需要判断一下该对象是否存在

// 错误的写法
+const  firstName = message.body.user.firstName;
+
+// 正确的写法
+const firstName = (message
+  && message.body
+  && message.body.user
+  && message.body.user.firstName) || 'default';
+

上面例子中,firstName属性在对象的第四层,所以需要判断四次,每一层是否有值。

三元运算符?:也常用于判断对象是否存在。

const fooInput = myForm.querySelector('input[name=foo]')
+const fooValue = fooInput ? fooInput.value : undefined
+

这样的层层判断非常麻烦,ES2020 引入了“链判断运算符”(optional chaining operator)?.,简化上面的写法。

const firstName = message?.body?.user?.firstName || 'default';
+const fooValue = myForm.querySelector('input[name=foo]')?.value
+

上面代码使用了?.运算符,直接在链式调用的时候判断,左侧的对象是否为nullundefined。如果是的,就不再往下运算,而是返回undefined

// 判断对象方法是否存在,如果存在就立即执行
+iterator.return?.()
+

iterator.return如果有定义,就会调用该方法,否则iterator.return直接返回undefined,不再执行?.后面的部分。

if (myForm.checkValidity?.() === false) {
+  // 表单校验失败
+  return;
+}
+

链判断运算符有三种用法:

a?.b
+// 等同于
+a == null ? undefined : a.b
+
+a?.[x]
+// 等同于
+a == null ? undefined : a[x]
+
+a?.b()
+// 等同于
+a == null ? undefined : a.b()
+
+a?.()
+// 等同于
+a == null ? undefined : a()
+

特别注意后两种形式,如果a?.b()里面的a.b不是函数,不可调用,那么a?.b()是会报错的。a?.()也是如此,如果a不是nullundefined,但也不是函数,那么a?.()会报错。

使用链判断运算符,有几个注意点:

短路机制

?.运算符相当于一种短路机制,只要不满足条件,就不再往下执行。链判断运算符一旦为真,右侧的表达式就不再求值。

delete 运算符

delete a?.b
+// 等同于
+a == null ? undefined : delete a.b
+

如果a是undefinednull,会直接返回undefined,而不会进行delete运算

括号的影响

如果属性链有圆括号,链判断运算符对圆括号外部没有影响,只对圆括号内部有影响。

(a?.b).c
+// 等价于
+(a == null ? undefined : a.b).c
+

一般来说,使用?.运算符的场合,不应该使用圆括号。

报错场合

以下写法是禁止的,会报错。

// 构造函数
+new a?.()
+new a?.b()
+
+// 链判断运算符的右侧有模板字符串
+a?.\`{b}\`
+a?.b\`{c}\`
+
+// 链判断运算符的左侧是 super
+super?.()
+super?.foo
+
+// 链运算符用于赋值运算符左侧
+a?.b = c
+

右侧不得为十进制数值

为了保证兼容以前的代码,允许foo?.3:0被解析成foo ? .3 : 0,因此规定如果?.后面紧跟一个十进制数字,那么?.不再被看成是一个完整的运算符,而会按照三元运算符进行处理,也就是说,那个小数点会归属于后面的十进制数字,形成一个小数。

Null 判断运算符

读取对象属性的时候,如果某个属性的值是nullundefined,有时候需要为它们指定默认值。常见做法是通过||运算符指定默认值。

const headerText = response.settings.headerText || 'Hello, world!';
+const animationDuration = response.settings.animationDuration || 300;
+const showSplashScreen = response.settings.showSplashScreen || true;
+

开发者的原意是,只要属性的值为null或undefined,默认值就会生效,但是属性的值如果为空字符串或false或0,默认值也会生效。

为了避免这种情况,ES2020 引入了一个新的 Null 判断运算符??

行为类似||,但是只有运算符左侧的值为nullundefined时,才会返回右侧的值。

这个运算符的一个目的,就是跟链判断运算符?.配合使用,为null或undefined的值设置默认值。

const animationDuration = response.settings?.animationDuration ?? 300;
+

这个运算符很适合判断函数参数是否赋值。

function Component(props) {
+  const enable = props.enabled ?? true;
+  // …
+}
+
+

对象新增方法

Object.is()

ES5 比较两个值是否相等,只有两个运算符:相等运算符(==)和严格相等运算符(===

ES6 提出“Same-value equality”(同值相等)算法,在所有环境中,只要两个值是一样的,它们就应该相等。

Object.is()用来比较两个值是否严格相等,与严格比较运算符(===)的行为基本一致。

Object.is('foo', 'foo')
+// true
+Object.is({}, {})
+// false
+

不同之处只有两个:

+0 === -0 //true
+NaN === NaN // false
+
+Object.is(+0, -0) // false
+Object.is(NaN, NaN) // true
+

类似功能实现:


+// 实现 Object.is()功能
+Object.defineProperty(Object, 'is', {
+  value: function(x, y) {
+    if (x === y) {
+      // 针对+0 不等于 -0的情况
+      return x !== 0 || 1 / x === 1 / y;
+    }
+    // 针对NaN的情况
+    return x !== x && y !== y;
+  },
+  configurable: true,
+  enumerable: false,
+  writable: true
+});
+

Object.assign()

Object.assign()方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)。

const target = { a: 1 };
+
+const source1 = { b: 2 };
+const source2 = { c: 3 };
+
+Object.assign(target, source1, source2);
+target // {a:1, b:2, c:3}
+

Object.assign()方法的第一个参数是目标对象,后面的参数都是源对象。

注意,如果目标对象与源对象有同名属性,或多个源对象有同名属性,则后面的属性会覆盖前面的属性。

const target = { a: 1, b: 1 };
+
+const source1 = { b: 2, c: 2 };
+const source2 = { c: 3 };
+
+Object.assign(target, source1, source2);
+target // {a:1, b:2, c:3}
+

如果只有一个参数,Object.assign()会直接返回该参数。

const obj = {a: 1};
+Object.assign(obj) === obj // true
+

如果该参数不是对象,则会先转成对象,然后返回。

typeof Object.assign(2) // "object"
+

由于undefinednull无法转成对象,所以如果它们作为参数,就会报错。

Object.assign(undefined) // 报错
+Object.assign(null) // 报错
+

如果非对象参数出现在源对象的位置(即非首参数),那么处理规则有所不同。首先,这些参数都会转成对象,如果无法转成对象,就会跳过。这意味着,如果undefinednull不在首参数,就不会报错。

let obj = {a: 1};
+Object.assign(obj, undefined) === obj // true
+Object.assign(obj, null) === obj // true
+

其他类型的值(即数值、字符串和布尔值)不在首参数,也不会报错。

除了字符串会以数组形式,拷贝入目标对象,其他值都不会产生效果。

const v1 = 'abc';
+const v2 = true;
+const v3 = 10;
+
+const obj = Object.assign({}, v1, v2, v3);
+console.log(obj); // { "0": "a", "1": "b", "2": "c" }
+

只有字符串合入目标对象(以字符数组的形式),数值和布尔值都会被忽略。因为只有字符串的包装对象,会产生可枚举属性。

Object(true) // {[[PrimitiveValue]]: true}
+Object(10)  //  {[[PrimitiveValue]]: 10}
+Object('abc') // {0: "a", 1: "b", 2: "c", length: 3, [[PrimitiveValue]]: "abc"}
+
+

布尔值数值字符串分别转成对应的包装对象,可以看到它们的原始值都在包装对象的内部属性[[PrimitiveValue]]上面,这个属性是不会被Object.assign()拷贝的。只有字符串的包装对象,会产生可枚举的实义属性,那些属性则会被拷贝。

Object.assign()拷贝的属性是有限制的


+Object.assign({b: 'c'},
+  Object.defineProperty({}, 'invisible', {
+    enumerable: false,
+    value: 'hello'
+  })
+)
+
+// Object.assign()要拷贝的对象只有一个不可枚举属性invisible,这个属性没有被拷贝进去。
+// { b: 'c' }
+

属性名为 Symbol 值的属性,也会被Object.assign()拷贝。

Object.assign({ a: 'b' }, { [Symbol('c')]: 'd' })
+// { a: 'b', Symbol(c): 'd' }
+

需要注意

Object.assign()方法实行的是浅拷贝,而不是深拷贝。 如果源对象某个属性的值是对象,那么目标对象拷贝得到的是这个对象的引用

const obj1 = {a: {b: 1}};
+const obj2 = Object.assign({}, obj1);
+
+// obj1.a.b的任何变化,都会反映到obj2.a.b上面。
+obj1.a.b = 2;
+obj2.a.b // 2
+

对于这种嵌套的对象,一旦遇到同名属性,Object.assign()的处理方法是替换,而不是添加。

一些函数库提供Object.assign()的定制版本(比如 Lodash_.defaultsDeep()方法),可以得到深拷贝的合并。

Object.assign()可以用来处理数组,但是会把数组视为对象。


+Object.assign([1, 2, 3], [4, 5])
+// [4, 5, 3]
+
+

上面代码中,Object.assign()把数组视为属性名为 0、1、2 的对象,因此源数组的 0 号属性4覆盖了目标数组的 0 号属性1。

Object.assign()只能进行值的复制,如果要复制的值是一个取值函数,那么将求值后再复制

const source = {
+  get foo() { return 1 }
+};
+const target = {};
+
+Object.assign(target, source)
+// { foo: 1 }
+

上面代码中,source对象的foo属性是一个取值函数,Object.assign()不会复制这个取值函数,只会拿到值以后,将这个值复制过去。

常见用途

// 将x属性和y属性添加到Point类的对象实例。
+class Point {
+  constructor(x, y) {
+    Object.assign(this, {x, y});
+  }
+}
+
Object.assign(SomeClass.prototype, {
+  someMethod(arg1, arg2) {
+    ···
+  },
+  anotherMethod() {
+    ···
+  }
+});
+
+// 等同于下面的写法
+SomeClass.prototype.someMethod = function (arg1, arg2) {
+  ···
+};
+SomeClass.prototype.anotherMethod = function () {
+  ···
+};
+
function clone(origin) {
+  return Object.assign({}, origin);
+}
+

采用这种方法克隆,只能克隆原始对象自身的值,不能克隆它继承的值

如果想要保持继承链,可以采用下面的代码。

function clone(origin) {
+  let originProto = Object.getPrototypeOf(origin);
+
+  return Object.assign(Object.create(originProto), origin);
+}
+
`,875),r={href:"https://www.cnblogs.com/leijee/p/7490822.html",target:"_blank",rel:"noopener noreferrer"},d=t(`
// 将多个对象合并到某个对象
+const merge =
+  (target, ...sources) => Object.assign(target, ...sources);
+
+// 对一个空对象合并,合并后返回一个新对象
+const merge =
+  (...sources) => Object.assign({}, ...sources);
+
const DEFAULTS = {
+  logLevel: 0,
+  outputFormat: 'html'
+};
+
+function processContent(options) {
+  options = Object.assign({}, DEFAULTS, options);
+  console.log(options);
+  // ...
+}
+

上面代码中

Object.assign()方法将DEFAULTSoptions合并成一个新对象,如果两者有同名属性,则options的属性值会覆盖DEFAULTS的属性值。

注意,由于存在浅拷贝的问题,DEFAULTS对象和options对象的所有属性的值,最好都是简单类型,不要指向另一个对象。否则,DEFAULTS对象的该属性很可能不起作用。

Object.getOwnPropertyDescriptors()

ES5Object.getOwnPropertyDescriptor()方法会返回某个对象属性的描述对象(descriptor

ES2017 引入了Object.getOwnPropertyDescriptors()方法,返回指定对象所有自身属性(非继承属性)的描述对象。


+// 相关实现
+function getOwnPropertyDescriptors(obj) {
+  const result = {};
+  for (let key of Reflect.ownKeys(obj)) {
+    result[key] = Object.getOwnPropertyDescriptor(obj, key);
+  }
+  return result;
+}
+

getOwnPropertyDescriptors该方法的引入目的,主要是为了解决Object.assign()无法正确拷贝get属性和set属性的问题。

const source = {
+  set foo(value) {
+    console.log(value);
+  }
+};
+
+const target1 = {};
+Object.assign(target1, source);
+
+Object.getOwnPropertyDescriptor(target1, 'foo')
+// { value: undefined,
+//   writable: true,
+//   enumerable: true,
+//   configurable: true }
+

上面代码中,source对象的foo属性的值是一个赋值函数,Object.assign方法将这个属性拷贝给target1对象,结果该属性的值变成了undefined这是因为Object.assign方法总是拷贝一个属性的值,而不会拷贝它背后的赋值方法或取值方法。

这时,Object.getOwnPropertyDescriptors()方法配合Object.defineProperties()方法,就可以实现正确拷贝。

const source = {
+  set foo(value) {
+    console.log(value);
+  }
+};
+
+const target2 = {};
+Object.defineProperties(target2, Object.getOwnPropertyDescriptors(source));
+Object.getOwnPropertyDescriptor(target2, 'foo')
+// { get: undefined,
+//   set: [Function: set foo],
+//   enumerable: true,
+//   configurable: true }
+
+
+// 抽象成函数
+const shallowMerge = (target, source) => Object.defineProperties(
+  target,Object.getOwnPropertyDescriptors(source)
+);
+

__proto__属性,Object.setPrototypeOf(),Object.getPrototypeOf()

JavaScript 语言的对象继承是通过原型链实现的。ES6 提供了更多原型对象的操作方法

__proto__属性

__proto__属性(前后各两个下划线),用来读取或设置当前对象的原型对象(prototype)。目前,所有浏览器(包括 IE11)都部署了这个属性。

// es5 的写法
+const obj = {
+  method: function() { ... }
+};
+obj.__proto__ = someOtherObj;
+
+// es6 的写法
+var obj = Object.create(someOtherObj);
+obj.method = function() { ... };
+

可以使用

代替实现。

实现上,__proto__调用的是Object.prototype.__proto__


+Object.defineProperty(Object.prototype, '__proto__', {
+  get() {
+    let _thisObj = Object(this);
+    return Object.getPrototypeOf(_thisObj);
+  },
+  set(proto) {
+    if (this === undefined || this === null) {
+      throw new TypeError();
+    }
+    if (!isObject(this)) {
+      return undefined;
+    }
+    if (!isObject(proto)) {
+      return undefined;
+    }
+    let status = Reflect.setPrototypeOf(this, proto);
+    if (!status) {
+      throw new TypeError();
+    }
+  },
+});
+
+function isObject(value) {
+  return Object(value) === value;
+}
+
+

如果一个对象本身部署了__proto__属性,该属性的值就是对象的原型。

Object.getPrototypeOf({ __proto__: null })
+// null
+

Object.setPrototypeOf()

Object.setPrototypeOf方法的作用与__proto__相同,用来设置一个对象的原型对象(prototype),返回参数对象本身,是 ES6 正式推荐的设置原型对象的方法。

// 格式
+Object.setPrototypeOf(object, prototype)
+
+// 用法
+const o = Object.setPrototypeOf({}, null);
+
+// 等同于
+function setPrototypeOf(obj, proto) {
+  obj.__proto__ = proto;
+  return obj;
+}
+

很经典的例子:

let proto = {};
+let obj = { x: 10 };
+Object.setPrototypeOf(obj, proto);
+
+proto.y = 20;
+proto.z = 40;
+
+obj.x // 10
+obj.y // 20
+obj.z // 40
+

proto对象设为obj对象的原型,所以从obj对象可以读取proto对象的属性。

如果第一个参数不是对象,会自动转为对象。但是由于返回的还是第一个参数,所以这个操作不会产生任何效果。

Object.setPrototypeOf(1, {}) === 1 // true
+Object.setPrototypeOf('foo', {}) === 'foo' // true
+Object.setPrototypeOf(true, {}) === true // true
+

由于undefinednull无法转为对象,所以如果第一个参数是undefinednull,就会报错。

Object.setPrototypeOf(undefined, {})
+// TypeError: Object.setPrototypeOf called on null or undefined
+
+Object.setPrototypeOf(null, {})
+// TypeError: Object.setPrototypeOf called on null or undefined
+

Object.getPrototypeOf()

Object.setPrototypeOf方法配套,用于读取一个对象的原型对象。

// 基本使用
+Object.getPrototypeOf(obj);
+
+// 原型设置和获取
+function User() {
+  // ...
+}
+
+const user = new User();
+
+Object.getPrototypeOf(user) === User.prototype
+// true
+
+Object.setPrototypeOf(user, Object.prototype);
+Object.getPrototypeOf(user) === User.prototype
+// false
+

如果参数不是对象,会被自动转为对象。

// 等同于 Object.getPrototypeOf(Number(1))
+Object.getPrototypeOf(1)
+// Number {[[PrimitiveValue]]: 0}
+
+// 等同于 Object.getPrototypeOf(String('foo'))
+Object.getPrototypeOf('foo')
+// String {length: 0, [[PrimitiveValue]]: ""}
+
+// 等同于 Object.getPrototypeOf(Boolean(true))
+Object.getPrototypeOf(true)
+// Boolean {[[PrimitiveValue]]: false}
+
+Object.getPrototypeOf(1) === Number.prototype // true
+Object.getPrototypeOf('foo') === String.prototype // true
+Object.getPrototypeOf(true) === Boolean.prototype // true
+

如果参数是undefinednull,它们无法转为对象,所以会报错。

Object.getPrototypeOf(null)
+// TypeError: Cannot convert undefined or null to object
+
+Object.getPrototypeOf(undefined)
+// TypeError: Cannot convert undefined or null to object
+

Object.keys(),Object.values(),Object.entries()

Object.keys()

ES5 引入了Object.keys方法,返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键名。

const obj = { name: 'bob', age: 24 };
+Object.keys(obj)
+// ["name", "age"]
+

Object.values()

Object.values方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键值。

const obj = { name: 'bob', age: 24 };
+Object.values(obj)
+// ["bob", 24]
+

Object.entries()

Object.entries()方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键值对数组。

Object.entries的基本用途是遍历对象的属性。

let obj = { one: 1, two: 2 };
+for (let [k, v] of Object.entries(obj)) {
+  console.log(
+    \`\${JSON.stringify(k)}: \${JSON.stringify(v)}\`
+  );
+}
+// "one": 1
+// "two": 2
+

Object.entries方法的另一个用处是,将对象转为真正的Map结构。

const obj = { name: 'bob', age: 24 };
+const map = new Map(Object.entries(obj));
+map // Map { name: "bob", age: 24 }
+

自己实现Object.entries方法,循环遍历

// Generator函数的版本
+function* entries(obj) {
+  for (let key of Object.keys(obj)) {
+    yield [key, obj[key]];
+  }
+}
+
+// 非Generator函数的版本
+function entries(obj) {
+  let arr = [];
+  for (let key of Object.keys(obj)) {
+    arr.push([key, obj[key]]);
+  }
+  return arr;
+}
+

Object.fromEntries()

Object.fromEntries()方法是Object.entries()的逆操作,用于将一个键值对数组转为对象。

Object.fromEntries([
+  ['name', 'bob'],
+  ['age', 24]
+])
+// { name: "bob", age: 24 }
+

该方法的主要目的,是将键值对的数据结构还原为对象,特别适合将 Map 结构转为对象

// 例一
+const entries = new Map([
+  ['name', 'bob'],
+  ['age', 24]
+]);
+
+Object.fromEntries(entries)
+// { name: "bob", age: 24 }
+
+// 例二
+const map = new Map().set('foo', true).set('bar', false);
+Object.fromEntries(map)
+// { foo: true, bar: false }
+

该方法的一个用处是配合URLSearchParams对象,将查询字符串转为对象。


+// url模块中获取URLSearchParams
+const { URLSearchParams } = require('url');
+Object.fromEntries(new URLSearchParams('name=bob&age=24'))
+// { name: "bob", age: 24 }
+

参考资料

`,70),k={href:"https://es6.ruanyifeng.com/",target:"_blank",rel:"noopener noreferrer"};function v(m,b){const s=o("ExternalLinkIcon");return c(),i("div",null,[u,n("p",null,[n("a",r,[a("Object.create()和new object()和{}的区别"),p(s)])]),d,n("ul",null,[n("li",null,[n("a",k,[a("https://es6.ruanyifeng.com/"),p(s)])])])])}const y=e(l,[["render",v],["__file","ES6标准入门.html.vue"]]);export{y as default}; diff --git "a/assets/OAuth2.0\345\215\217\350\256\256.html-25517870.js" "b/assets/OAuth2.0\345\215\217\350\256\256.html-25517870.js" new file mode 100644 index 000000000..74bc9ad92 --- /dev/null +++ "b/assets/OAuth2.0\345\215\217\350\256\256.html-25517870.js" @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-c27b6911.js";import{o as a,c as o,a as e,b as r}from"./app-97115cb3.js";const c={},_=e("h1",{id:"oauth2-0协议",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#oauth2-0协议","aria-hidden":"true"},"#"),r(" OAuth2.0协议")],-1),s=[_];function n(h,d){return a(),o("div",null,s)}const l=t(c,[["render",n],["__file","OAuth2.0协议.html.vue"]]);export{l as default}; diff --git "a/assets/OAuth2.0\345\215\217\350\256\256.html-e60b5571.js" "b/assets/OAuth2.0\345\215\217\350\256\256.html-e60b5571.js" new file mode 100644 index 000000000..f2071d18a --- /dev/null +++ "b/assets/OAuth2.0\345\215\217\350\256\256.html-e60b5571.js" @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-9c5c99c0","path":"/manuscripts/server-end/base/OAuth2.0%E5%8D%8F%E8%AE%AE.html","title":"OAuth2.0协议","lang":"en-US","frontmatter":{"description":"","head":[["meta",{"property":"og:url","content":"https://142vip.cn/JavaScriptCollection/manuscripts/server-end/base/OAuth2.0%E5%8D%8F%E8%AE%AE.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:title","content":"OAuth2.0协议"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-10-16T09:36:51.000Z"}],["meta",{"property":"article:author","content":"微信公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-10-16T09:36:51.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"OAuth2.0协议\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-10-16T09:36:51.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"微信公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[],"git":{"createdTime":1697449011000,"updatedTime":1697449011000,"contributors":[{"name":"chufan","email":"fairy_vip@2925.com","commits":1}]},"readingTime":{"minutes":0.02,"words":3},"filePathRelative":"manuscripts/server-end/base/OAuth2.0协议.md","localizedDate":"October 16, 2023","autoDesc":true,"excerpt":""}');export{t as data}; diff --git a/assets/SearchResult-287e28b8.js b/assets/SearchResult-287e28b8.js new file mode 100644 index 000000000..03491bccf --- /dev/null +++ b/assets/SearchResult-287e28b8.js @@ -0,0 +1 @@ +import{u as U,g as ee,m as j,n as B,Z as ae,p as le,t as se,i as x,j as D,q as te,x as M,l,y as _,z as F,A as I,B as re,D as ue,E as ie,F as ne,R as oe,O as ce,s as ve,k as pe,G as he,H as ye,I as de,J as me,K as b,L as fe}from"./app-97115cb3.js";const ge="SEARCH_PRO_QUERY_HISTORY",y=U(ge,[]),He=()=>{const{queryHistoryCount:r}=b,n=r>0;return{enabled:n,queryHistory:y,addQueryHistory:t=>{n&&(y.value.length{y.value=[...y.value.slice(0,t),...y.value.slice(t+1)]}}},Re="SEARCH_PRO_RESULT_HISTORY",{resultHistoryCount:E}=b,d=U(Re,[]),Qe=()=>{const r=j(),n=E>0,t=s=>r.resolve({name:s.key,..."anchor"in s?{hash:`#${s.anchor}`}:{}}).fullPath;return{enabled:n,resultHistory:d,addResultHistory:s=>{if(n){const u={link:t(s),display:s.display};"header"in s&&(u.header=s.header),d.value.length{d.value=[...d.value.slice(0,s),...d.value.slice(s+1)]}}},ke=r=>{const n=oe(),t=B(),{search:s,terminate:u}=ce(),f=x(!1),g=ve([]);return pe(()=>{const m=()=>{g.value=[],f.value=!1},w=fe(H=>{f.value=!0,H?s({type:"search",query:H,locale:t.value,options:n}).then(h=>{g.value=h,f.value=!1}).catch(h=>{console.error(h),m()}):m()},b.searchDelay);M([r,t],()=>w(r.value),{immediate:!0}),he(()=>{u()})}),{searching:f,results:g}};var we=ee({name:"SearchResult",props:{query:{type:String,required:!0},isFocusing:Boolean},emits:["close","updateQuery"],setup(r,{emit:n}){const t=j(),s=B(),u=ae(le),{enabled:f,addQueryHistory:g,queryHistory:m,removeQueryHistory:w}=He(),{enabled:H,resultHistory:h,addResultHistory:L,removeResultHistory:Y}=Qe(),O=f||H,S=se(r,"query"),{results:R,searching:z}=ke(S),o=x({isQuery:!0,index:0}),p=x(0),c=x(0),P=D(()=>O&&(m.value.length>0||h.value.length>0)),C=D(()=>R.value.length>0),q=D(()=>R.value[p.value]||null),T=e=>t.resolve({name:e.key,..."anchor"in e?{hash:`#${e.anchor}`}:{}}).fullPath,G=()=>{const{isQuery:e,index:a}=o.value;a===0?o.value={isQuery:!e,index:e?h.value.length-1:m.value.length-1}:o.value={isQuery:e,index:a-1}},J=()=>{const{isQuery:e,index:a}=o.value;a===(e?m.value.length-1:h.value.length-1)?o.value={isQuery:!e,index:0}:o.value={isQuery:e,index:a+1}},K=()=>{p.value=p.value>0?p.value-1:R.value.length-1,c.value=q.value.contents.length-1},V=()=>{p.value=p.value{c.value{c.value>0?c.value=c.value-1:K()},A=e=>e.map(a=>ye(a)?a:l(a[0],a[1])),W=e=>{if(e.type==="customField"){const a=de[e.index]||"$content",[i,k=""]=me(a)?a[s.value].split("$content"):a.split("$content");return e.display.map(v=>l("div",A([i,...v,k])))}return e.display.map(a=>l("div",A(a)))},Q=()=>{p.value=0,c.value=0,n("updateQuery",""),n("close")};return te("keydown",e=>{if(r.isFocusing){if(C.value){if(e.key==="ArrowUp")N();else if(e.key==="ArrowDown")Z();else if(e.key==="Enter"){const a=q.value.contents[c.value],i=T(a);g(r.query),L(a),t.push(i),Q()}}else if(H){if(e.key==="ArrowUp")G();else if(e.key==="ArrowDown")J();else if(e.key==="Enter"){const{index:a}=o.value;o.value.isQuery?(n("updateQuery",m.value[a]),e.preventDefault()):(t.push(h.value[a].link),Q())}}}}),M([p,c],()=>{var e;(e=document.querySelector(".search-pro-result-list-item.active .search-pro-result-item.active"))==null||e.scrollIntoView(!1)},{flush:"post"}),()=>l("div",{class:["search-pro-result-wrapper",{empty:S.value?!C.value:!P.value}],id:"search-pro-results"},S.value===""?O?P.value?[f?l("ul",{class:"search-pro-result-list"},l("li",{class:"search-pro-result-list-item"},[l("div",{class:"search-pro-result-title"},u.value.history),m.value.map((e,a)=>l("div",{class:["search-pro-result-item",{active:o.value.isQuery&&o.value.index===a}],onClick:()=>{n("updateQuery",e)}},[l(_,{class:"search-pro-result-type"}),l("div",{class:"search-pro-result-content"},e),l("button",{class:"search-pro-remove-icon",innerHTML:F,onClick:i=>{i.preventDefault(),i.stopPropagation(),w(a)}})]))])):null,H?l("ul",{class:"search-pro-result-list"},l("li",{class:"search-pro-result-list-item"},[l("div",{class:"search-pro-result-title"},u.value.history),h.value.map((e,a)=>l(I,{to:e.link,class:["search-pro-result-item",{active:!o.value.isQuery&&o.value.index===a}],onClick:()=>{Q()}},()=>[l(_,{class:"search-pro-result-type"}),l("div",{class:"search-pro-result-content"},[e.header?l("div",{class:"content-header"},e.header):null,l("div",e.display.map(i=>A(i)).flat())]),l("button",{class:"search-pro-remove-icon",innerHTML:F,onClick:i=>{i.preventDefault(),i.stopPropagation(),Y(a)}})]))])):null]:u.value.emptyHistory:u.value.emptyResult:z.value?l(re,{hint:u.value.searching}):C.value?l("ul",{class:"search-pro-result-list"},R.value.map(({title:e,contents:a},i)=>{const k=p.value===i;return l("li",{class:["search-pro-result-list-item",{active:k}]},[l("div",{class:"search-pro-result-title"},e||u.value.defaultTitle),a.map((v,X)=>{const $=k&&c.value===X;return l(I,{to:T(v),class:["search-pro-result-item",{active:$,"aria-selected":$}],onClick:()=>{g(r.query),L(v),Q()}},()=>[v.type==="text"?null:l(v.type==="title"?ue:v.type==="heading"?ie:ne,{class:"search-pro-result-type"}),l("div",{class:"search-pro-result-content"},[v.type==="text"&&v.header?l("div",{class:"content-header"},v.header):null,l("div",W(v))])])})])})):u.value.emptyResult)}});export{we as default}; diff --git a/assets/VuePlayground-ed989fc2.js b/assets/VuePlayground-ed989fc2.js new file mode 100644 index 000000000..702d7f077 --- /dev/null +++ b/assets/VuePlayground-ed989fc2.js @@ -0,0 +1 @@ +import{g as _,h as g,i as m,s,j as f,v as y,k as R,l as a,C as h,_ as r}from"./app-97115cb3.js";const w=e=>JSON.parse(decodeURIComponent(e));var V=_({name:"VuePlayground",props:{title:{type:String,default:""},files:{type:String,required:!0},settings:{type:String,default:"{}"}},setup(e){const u=g(),i=m(!0),t=s(),l=s(),n=s(),o=f(()=>y({},u,w(e.settings))),d=async()=>{const[{ReplStore:v,Repl:p},{default:c}]=await Promise.all([r(()=>import("./vue-repl-edddac03.js"),["assets/vue-repl-edddac03.js","assets/app-97115cb3.js","assets/utils-a5e1dbae-143be013.js"]),r(()=>import("./codemirror-editor-4c92082b.js"),["assets/codemirror-editor-4c92082b.js","assets/utils-a5e1dbae-143be013.js","assets/app-97115cb3.js"])]);t.value=p,n.value=c,l.value=new v({serializedState:decodeURIComponent(e.files)}),o.value.vueVersion&&await l.value.setVueVersion(o.value.vueVersion)};return R(async()=>{await d(),i.value=!1}),()=>[a("div",{class:"vue-playground-wrapper"},[e.title?a("div",{class:"header"},decodeURIComponent(e.title)):null,a("div",{class:"repl-container"},[i.value?a(h,{class:"preview-loading",height:192}):null,t.value?a(t.value,{editor:n.value,store:l.value,autoResize:!0,...o.value,layout:"horizontal"}):null])])]}});export{V as default}; diff --git a/assets/add.html-37b01284.js b/assets/add.html-37b01284.js new file mode 100644 index 000000000..2809fc8d3 --- /dev/null +++ b/assets/add.html-37b01284.js @@ -0,0 +1,72 @@ +import{_ as e}from"./plugin-vue_export-helper-c27b6911.js";import{r as p,o as t,c as o,a as n,b as s,d as c,f as l}from"./app-97115cb3.js";const i={},r=n("h1",{id:"不用加减乘除做加法",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#不用加减乘除做加法","aria-hidden":"true"},"#"),s(" 不用加减乘除做加法")],-1),u=n("h2",{id:"题目链接",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#题目链接","aria-hidden":"true"},"#"),s(" 题目链接")],-1),d={href:"https://www.nowcoder.com/practice/59ac416b4b944300b617d4f7f111b215",target:"_blank",rel:"noopener noreferrer"},m=n("li",null,[n("a",{href:""},"欢迎讨论")],-1),k=l(`

题目描述

写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。

数据范围:两个数都满足−10≤n≤1000

进阶:空间复杂度O(1),时间复杂度O(1)

刷题思路

方案一: 利用自增

方案二: 利用位运算


+1 + 1 = 0      1 ^ 1 = 0  ##错误
+1 + 0 = 1 	   1 ^ 0 = 1  ##正确
+0 + 1 = 1 	   0 ^ 1 = 1  ##正确
+0 + 0 = 0      0 ^ 0 = 0  ##正确
+
+
+1 & 1 = 1  ##进位   
+1 & 0 = 0  ##不进位
+0 & 1 = 0  ##不进位        
+0 & 0 = 0  ##不进位 
+
  • 当前位的和值等于 A(i)^B(i)
  • 进位等于 A(i)&B(i),进位需要加在计算位的前一位,所以左移1位,即A(i)&B(i)<<1

所以找出规律 A+B=A^B+(A&B)<<1

即:函数的第一个参数接受不进位的操作结果,第二个参数接受进位操作的结果

代码实现

/**
+ * 【简单】不用加减乘除做加法
+ * - 利用自增
+ * @param num1
+ * @param num2
+ */
+function addOne(num1, num2) {
+  // 整数递增
+  if (num2 > 0) {
+    while (num2 > 0) {
+      num2--
+      num1++
+    }
+  }
+
+  // 负数递减
+  if (num2 < 0) {
+    while (num2 < 0) {
+      num2++
+      num1--
+    }
+  }
+  return num1
+}
+
+/**
+ * 【简单】不用加减乘除做加法
+ * - 利用位运算【递归】
+ * @param num1
+ * @param num2
+ */
+function addTwo(num1, num2) {
+  return num2 ? addTwo(num1 ^ num2, (num1 & num2) << 1) : num1
+}
+
+
+/**
+ * 【简单】不用加减乘除做加法
+ * - 利用位运算【循环】
+ * @param num1
+ * @param num2
+ * @returns {number}
+ */
+function addThree(num1, num2) {
+  let result = 0
+  let carry = 0
+  do {
+    // 不带进位的加法
+    result = num1 ^ num2
+    // 进位
+    carry = (num1 & num2) << 1
+    num1 = result
+    num2 = carry
+  } while (carry !== 0) // 进位不为0则继续执行加法处理进位
+  return result
+}
+
+console.log(addOne(1, 2))
+console.log(addTwo(3, 4))
+console.log(addThree(3, 4))
+

一些建议

  • 注意ES6中位运算,左移<< ,右移>>
  • 循环的写法
`,15);function v(b,h){const a=p("ExternalLinkIcon");return t(),o("div",null,[r,u,n("ul",null,[n("li",null,[n("a",d,[s("牛客网"),c(a)])]),m]),k])}const y=e(i,[["render",v],["__file","add.html.vue"]]);export{y as default}; diff --git a/assets/add.html-da1d181f.js b/assets/add.html-da1d181f.js new file mode 100644 index 000000000..b0799b558 --- /dev/null +++ b/assets/add.html-da1d181f.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-46e87e3b","path":"/manuscripts/solo-algorithm/sword-point/%E5%85%B6%E4%BB%96%E7%9B%B8%E5%85%B3/add.html","title":"不用加减乘除做加法","lang":"en-US","frontmatter":{"description":"题目链接 牛客网 (https://www.nowcoder.com/practice/59ac416b4b944300b617d4f7f111b215); 欢迎讨论 (); 题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 数据范围:两个数都满足−10≤n≤1000 进阶:空间复杂度O(1),时间复杂度O(1)...","head":[["meta",{"property":"og:url","content":"https://142vip.cn/JavaScriptCollection/manuscripts/solo-algorithm/sword-point/%E5%85%B6%E4%BB%96%E7%9B%B8%E5%85%B3/add.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:title","content":"不用加减乘除做加法"}],["meta",{"property":"og:description","content":"题目链接 牛客网 (https://www.nowcoder.com/practice/59ac416b4b944300b617d4f7f111b215); 欢迎讨论 (); 题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 数据范围:两个数都满足−10≤n≤1000 进阶:空间复杂度O(1),时间复杂度O(1)..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-10-20T09:29:35.000Z"}],["meta",{"property":"article:author","content":"微信公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-10-20T09:29:35.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"不用加减乘除做加法\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-10-20T09:29:35.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"微信公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[{"level":2,"title":"题目链接","slug":"题目链接","link":"#题目链接","children":[]},{"level":2,"title":"题目描述","slug":"题目描述","link":"#题目描述","children":[]},{"level":2,"title":"刷题思路","slug":"刷题思路","link":"#刷题思路","children":[]},{"level":2,"title":"代码实现","slug":"代码实现","link":"#代码实现","children":[]},{"level":2,"title":"一些建议","slug":"一些建议","link":"#一些建议","children":[]}],"git":{"createdTime":1694448705000,"updatedTime":1697794175000,"contributors":[{"name":"chufan","email":"fairy0115@2925.com","commits":1},{"name":"chufan","email":"fairy_vip@2925.com","commits":1}]},"readingTime":{"minutes":1.44,"words":287},"filePathRelative":"manuscripts/solo-algorithm/sword-point/其他相关/add.md","localizedDate":"September 11, 2023","autoDesc":true,"excerpt":""}');export{t as data}; diff --git a/assets/addInList-d694123a.png b/assets/addInList-d694123a.png new file mode 100644 index 0000000000000000000000000000000000000000..5c9adb29bf1e2f1c5d070788dc0807e46bf4a064 GIT binary patch literal 92736 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 z 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 WO4`)`%EPzmJk+H)U2Q=K;~@1(O$mbY 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 T7w6m=_$4o^EK_jX!2f>$1U$w@ literal 0 HcmV?d00001 diff --git a/assets/addList.html-0cff3922.js b/assets/addList.html-0cff3922.js new file mode 100644 index 000000000..a2e6a59f8 --- /dev/null +++ b/assets/addList.html-0cff3922.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-0f392b4a","path":"/manuscripts/solo-algorithm/link-table/addList.html","title":"BM11 链表相加(二)","lang":"en-US","frontmatter":{"title":"BM11 链表相加(二)","permalink":"/manuscripts/solo-algorithm/link-table/addList.html","description":"题目链接 牛客网 (https://www.nowcoder.com/share/jump/8484115461694840620281); 欢迎讨论 (); 题目描述 反转链表.png 刷题思路 代码实现 code js (@code/algorithm/interview-101/addInList.js) 一些建议","head":[["meta",{"property":"og:url","content":"https://142vip.cn/JavaScriptCollection/manuscripts/solo-algorithm/link-table/addList.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:title","content":"BM11 链表相加(二)"}],["meta",{"property":"og:description","content":"题目链接 牛客网 (https://www.nowcoder.com/share/jump/8484115461694840620281); 欢迎讨论 (); 题目描述 反转链表.png 刷题思路 代码实现 code js (@code/algorithm/interview-101/addInList.js) 一些建议"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-10-20T09:29:35.000Z"}],["meta",{"property":"article:author","content":"微信公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-10-20T09:29:35.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"BM11 链表相加(二)\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-10-20T09:29:35.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"微信公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[{"level":2,"title":"题目链接","slug":"题目链接","link":"#题目链接","children":[]},{"level":2,"title":"题目描述","slug":"题目描述","link":"#题目描述","children":[]},{"level":2,"title":"刷题思路","slug":"刷题思路","link":"#刷题思路","children":[]},{"level":2,"title":"代码实现","slug":"代码实现","link":"#代码实现","children":[]},{"level":2,"title":"一些建议","slug":"一些建议","link":"#一些建议","children":[]}],"git":{"createdTime":1694842162000,"updatedTime":1697794175000,"contributors":[{"name":"chufan","email":"fairy0115@2925.com","commits":1},{"name":"chufan","email":"fairy_vip@2925.com","commits":1}]},"readingTime":{"minutes":0.28,"words":57},"filePathRelative":"manuscripts/solo-algorithm/interview-101/链表/addInList.md","localizedDate":"September 16, 2023","autoDesc":true,"excerpt":""}');export{t as data}; diff --git a/assets/addList.html-df906ef2.js b/assets/addList.html-df906ef2.js new file mode 100644 index 000000000..dff11f432 --- /dev/null +++ b/assets/addList.html-df906ef2.js @@ -0,0 +1,19 @@ +import{_ as s}from"./plugin-vue_export-helper-c27b6911.js";import{r as i,o as t,c as d,a as n,b as a,d as r,f as c}from"./app-97115cb3.js";const o="/JavaScriptCollection/assets/addInList-d694123a.png",l={},p=n("h1",{id:"bm11-链表相加-二",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#bm11-链表相加-二","aria-hidden":"true"},"#"),a(" BM11 链表相加(二)")],-1),u=n("h2",{id:"题目链接",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#题目链接","aria-hidden":"true"},"#"),a(" 题目链接")],-1),h={href:"https://www.nowcoder.com/share/jump/8484115461694840620281",target:"_blank",rel:"noopener noreferrer"},m=n("li",null,[n("a",{href:""},"欢迎讨论")],-1),v=c('

题目描述

反转链表.png
反转链表.png

刷题思路

代码实现

/*
+ * function ListNode(x){
+ *   this.val = x;
+ *   this.next = null;
+ * }
+ */
+/**
+ *
+ * @param head1 ListNode类
+ * @param head2 ListNode类
+ * @return ListNode类
+ */
+function addInList(head1, head2) {
+  // write code here
+}
+module.exports = {
+  addInList
+}
+

一些建议

`,6);function b(k,_){const e=i("ExternalLinkIcon");return t(),d("div",null,[p,u,n("ul",null,[n("li",null,[n("a",h,[a("牛客网"),r(e)])]),m]),v])}const g=s(l,[["render",b],["__file","addList.html.vue"]]);export{g as default}; diff --git a/assets/ant-design-vue.html-60d22422.js b/assets/ant-design-vue.html-60d22422.js new file mode 100644 index 000000000..70876fdf5 --- /dev/null +++ b/assets/ant-design-vue.html-60d22422.js @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-c27b6911.js";import{o as n,c as a,a as e,b as s}from"./app-97115cb3.js";const o={},r=e("h1",{id:"ant-design-vue",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#ant-design-vue","aria-hidden":"true"},"#"),s(" Ant-Design-Vue")],-1),c=[r];function i(d,_){return n(),a("div",null,c)}const l=t(o,[["render",i],["__file","ant-design-vue.html.vue"]]);export{l as default}; diff --git a/assets/ant-design-vue.html-7bc3aa2a.js b/assets/ant-design-vue.html-7bc3aa2a.js new file mode 100644 index 000000000..bdd42f2db --- /dev/null +++ b/assets/ant-design-vue.html-7bc3aa2a.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-bfd7d336","path":"/manuscripts/front-end/ui-framework/ant-design-vue.html","title":"Ant-Design-Vue","lang":"en-US","frontmatter":{"title":"Ant-Design-Vue","permalink":"/manuscripts/front-end/ui-framework/ant-design-vue.html","description":"","head":[["meta",{"property":"og:url","content":"https://142vip.cn/JavaScriptCollection/manuscripts/front-end/ui-framework/ant-design-vue.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:title","content":"Ant-Design-Vue"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-10-20T09:29:35.000Z"}],["meta",{"property":"article:author","content":"微信公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-10-20T09:29:35.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Ant-Design-Vue\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-10-20T09:29:35.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"微信公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[],"git":{"createdTime":1694448705000,"updatedTime":1697794175000,"contributors":[{"name":"chufan","email":"fairy0115@2925.com","commits":1},{"name":"chufan","email":"fairy_vip@2925.com","commits":1}]},"readingTime":{"minutes":0.07,"words":13},"filePathRelative":"manuscripts/front-end/ui-framework/ant-design-vue.md","localizedDate":"September 11, 2023","autoDesc":true,"excerpt":""}');export{e as data}; diff --git a/assets/apollo.html-04c507df.js b/assets/apollo.html-04c507df.js new file mode 100644 index 000000000..df715a3c6 --- /dev/null +++ b/assets/apollo.html-04c507df.js @@ -0,0 +1 @@ +import{_ as o}from"./plugin-vue_export-helper-c27b6911.js";import{o as a,c as t,a as e,b as l}from"./app-97115cb3.js";const r={},c=e("h1",{id:"apollo",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#apollo","aria-hidden":"true"},"#"),l(" Apollo")],-1),s=[c];function n(_,d){return a(),t("div",null,s)}const p=o(r,[["render",n],["__file","apollo.html.vue"]]);export{p as default}; diff --git a/assets/apollo.html-1a50035a.js b/assets/apollo.html-1a50035a.js new file mode 100644 index 000000000..676c3bd81 --- /dev/null +++ b/assets/apollo.html-1a50035a.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-9f1f2872","path":"/manuscripts/microservice/apollo.html","title":"Apollo","lang":"en-US","frontmatter":{"title":"Apollo","permalink":"/manuscripts/microservice/apollo.html","description":"","head":[["meta",{"property":"og:url","content":"https://142vip.cn/JavaScriptCollection/manuscripts/microservice/apollo.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:title","content":"Apollo"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-10-20T09:29:35.000Z"}],["meta",{"property":"article:author","content":"微信公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-10-20T09:29:35.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Apollo\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-10-20T09:29:35.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"微信公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[],"git":{"createdTime":1697794175000,"updatedTime":1697794175000,"contributors":[{"name":"chufan","email":"fairy_vip@2925.com","commits":1}]},"readingTime":{"minutes":0.03,"words":5},"filePathRelative":"manuscripts/microservice/apollo.md","localizedDate":"October 20, 2023","autoDesc":true,"excerpt":""}');export{t as data}; diff --git a/assets/app-97115cb3.js b/assets/app-97115cb3.js new file mode 100644 index 000000000..e72c589af --- /dev/null +++ b/assets/app-97115cb3.js @@ -0,0 +1,18 @@ +const nd="modulepreload",od=function(e){return"/JavaScriptCollection/"+e},ws={},u=function(t,r,n){if(!r||r.length===0)return t();const o=document.getElementsByTagName("link");return Promise.all(r.map(i=>{if(i=od(i),i in ws)return;ws[i]=!0;const s=i.endsWith(".css"),l=s?'[rel="stylesheet"]':"";if(!!n)for(let m=o.length-1;m>=0;m--){const p=o[m];if(p.href===i&&(!s||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${l}`))return;const a=document.createElement("link");if(a.rel=s?"stylesheet":nd,s||(a.as="script",a.crossOrigin=""),a.href=i,document.head.appendChild(a),s)return new Promise((m,p)=>{a.addEventListener("load",m),a.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${i}`)))})})).then(()=>t()).catch(i=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=i,window.dispatchEvent(s),!s.defaultPrevented)throw i})};function Ei(e,t){const r=Object.create(null),n=e.split(",");for(let o=0;o!!r[o.toLowerCase()]:o=>!!r[o]}const we={},kr=[],mt=()=>{},id=()=>!1,sd=/^on[^a-z]/,pn=e=>sd.test(e),bi=e=>e.startsWith("onUpdate:"),xe=Object.assign,yi=(e,t)=>{const r=e.indexOf(t);r>-1&&e.splice(r,1)},ld=Object.prototype.hasOwnProperty,me=(e,t)=>ld.call(e,t),Y=Array.isArray,Lr=e=>to(e)==="[object Map]",ta=e=>to(e)==="[object Set]",re=e=>typeof e=="function",ie=e=>typeof e=="string",wi=e=>typeof e=="symbol",ye=e=>e!==null&&typeof e=="object",ra=e=>(ye(e)||re(e))&&re(e.then)&&re(e.catch),na=Object.prototype.toString,to=e=>na.call(e),ad=e=>to(e).slice(8,-1),oa=e=>to(e)==="[object Object]",Ai=e=>ie(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Xr=Ei(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ro=e=>{const t=Object.create(null);return r=>t[r]||(t[r]=e(r))},cd=/-(\w)/g,ot=ro(e=>e.replace(cd,(t,r)=>r?r.toUpperCase():"")),ud=/\B([A-Z])/g,ar=ro(e=>e.replace(ud,"-$1").toLowerCase()),vn=ro(e=>e.charAt(0).toUpperCase()+e.slice(1)),wo=ro(e=>e?`on${vn(e)}`:""),lr=(e,t)=>!Object.is(e,t),Fn=(e,t)=>{for(let r=0;r{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:r})},Go=e=>{const t=parseFloat(e);return isNaN(t)?e:t},dd=e=>{const t=ie(e)?Number(e):NaN;return isNaN(t)?e:t};let As;const Zo=()=>As||(As=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ti(e){if(Y(e)){const t={};for(let r=0;r{if(r){const n=r.split(pd);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function ki(e){let t="";if(ie(e))t=e;else if(Y(e))for(let r=0;rie(e)?e:e==null?"":Y(e)||ye(e)&&(e.toString===na||!re(e.toString))?JSON.stringify(e,sa,2):String(e),sa=(e,t)=>t&&t.__v_isRef?sa(e,t.value):Lr(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((r,[n,o])=>(r[`${n} =>`]=o,r),{})}:ta(t)?{[`Set(${t.size})`]:[...t.values()]}:ye(t)&&!Y(t)&&!oa(t)?String(t):t;let Ze;class gd{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Ze,!t&&Ze&&(this.index=(Ze.scopes||(Ze.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const r=Ze;try{return Ze=this,t()}finally{Ze=r}}}on(){Ze=this}off(){Ze=this.parent}stop(t){if(this._active){let r,n;for(r=0,n=this.effects.length;r{const t=new Set(e);return t.w=0,t.n=0,t},aa=e=>(e.w&Wt)>0,ca=e=>(e.n&Wt)>0,yd=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let r=0;for(let n=0;n{(m==="length"||m>=c)&&l.push(a)})}else switch(r!==void 0&&l.push(s.get(r)),t){case"add":Y(e)?Ai(r)&&l.push(s.get("length")):(l.push(s.get(or)),Lr(e)&&l.push(s.get(Xo)));break;case"delete":Y(e)||(l.push(s.get(or)),Lr(e)&&l.push(s.get(Xo)));break;case"set":Lr(e)&&l.push(s.get(or));break}if(l.length===1)l[0]&&Jo(l[0]);else{const c=[];for(const a of l)a&&c.push(...a);Jo(Li(c))}}function Jo(e,t){const r=Y(e)?e:[...e];for(const n of r)n.computed&&ks(n);for(const n of r)n.computed||ks(n)}function ks(e,t){(e!==ct||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}function Ad(e,t){var r;return(r=Kn.get(e))==null?void 0:r.get(t)}const Td=Ei("__proto__,__v_isRef,__isVue"),ma=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(wi)),Ls=kd();function kd(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...r){const n=ae(this);for(let i=0,s=this.length;i{e[t]=function(...r){Hr();const n=ae(this)[t].apply(this,r);return zr(),n}}),e}function Ld(e){const t=ae(this);return qe(t,"has",e),t.hasOwnProperty(e)}class pa{constructor(t=!1,r=!1){this._isReadonly=t,this._shallow=r}get(t,r,n){const o=this._isReadonly,i=this._shallow;if(r==="__v_isReactive")return!o;if(r==="__v_isReadonly")return o;if(r==="__v_isShallow")return i;if(r==="__v_raw"&&n===(o?i?Nd:_a:i?ha:fa).get(t))return t;const s=Y(t);if(!o){if(s&&me(Ls,r))return Reflect.get(Ls,r,n);if(r==="hasOwnProperty")return Ld}const l=Reflect.get(t,r,n);return(wi(r)?ma.has(r):Td(r))||(o||qe(t,"get",r),i)?l:De(l)?s&&Ai(r)?l:l.value:ye(l)?o?cr(l):fn(l):l}}class va extends pa{constructor(t=!1){super(!1,t)}set(t,r,n,o){let i=t[r];if(Sr(i)&&De(i)&&!De(n))return!1;if(!this._shallow&&(!Wn(n)&&!Sr(n)&&(i=ae(i),n=ae(n)),!Y(t)&&De(i)&&!De(n)))return i.value=n,!0;const s=Y(t)&&Ai(r)?Number(r)e,no=e=>Reflect.getPrototypeOf(e);function Tn(e,t,r=!1,n=!1){e=e.__v_raw;const o=ae(e),i=ae(t);r||(lr(t,i)&&qe(o,"get",t),qe(o,"get",i));const{has:s}=no(o),l=n?Ii:r?Di:on;if(s.call(o,t))return l(e.get(t));if(s.call(o,i))return l(e.get(i));e!==o&&e.get(t)}function kn(e,t=!1){const r=this.__v_raw,n=ae(r),o=ae(e);return t||(lr(e,o)&&qe(n,"has",e),qe(n,"has",o)),e===o?r.has(e):r.has(e)||r.has(o)}function Ln(e,t=!1){return e=e.__v_raw,!t&&qe(ae(e),"iterate",or),Reflect.get(e,"size",e)}function Ps(e){e=ae(e);const t=ae(this);return no(t).has.call(t,e)||(t.add(e),Ot(t,"add",e,e)),this}function Is(e,t){t=ae(t);const r=ae(this),{has:n,get:o}=no(r);let i=n.call(r,e);i||(e=ae(e),i=n.call(r,e));const s=o.call(r,e);return r.set(e,t),i?lr(t,s)&&Ot(r,"set",e,t):Ot(r,"add",e,t),this}function Rs(e){const t=ae(this),{has:r,get:n}=no(t);let o=r.call(t,e);o||(e=ae(e),o=r.call(t,e)),n&&n.call(t,e);const i=t.delete(e);return o&&Ot(t,"delete",e,void 0),i}function Os(){const e=ae(this),t=e.size!==0,r=e.clear();return t&&Ot(e,"clear",void 0,void 0),r}function Pn(e,t){return function(n,o){const i=this,s=i.__v_raw,l=ae(s),c=t?Ii:e?Di:on;return!e&&qe(l,"iterate",or),s.forEach((a,m)=>n.call(o,c(a),c(m),i))}}function In(e,t,r){return function(...n){const o=this.__v_raw,i=ae(o),s=Lr(i),l=e==="entries"||e===Symbol.iterator&&s,c=e==="keys"&&s,a=o[e](...n),m=r?Ii:t?Di:on;return!t&&qe(i,"iterate",c?Xo:or),{next(){const{value:p,done:v}=a.next();return v?{value:p,done:v}:{value:l?[m(p[0]),m(p[1])]:m(p),done:v}},[Symbol.iterator](){return this}}}}function Ct(e){return function(...t){return e==="delete"?!1:this}}function Dd(){const e={get(i){return Tn(this,i)},get size(){return Ln(this)},has:kn,add:Ps,set:Is,delete:Rs,clear:Os,forEach:Pn(!1,!1)},t={get(i){return Tn(this,i,!1,!0)},get size(){return Ln(this)},has:kn,add:Ps,set:Is,delete:Rs,clear:Os,forEach:Pn(!1,!0)},r={get(i){return Tn(this,i,!0)},get size(){return Ln(this,!0)},has(i){return kn.call(this,i,!0)},add:Ct("add"),set:Ct("set"),delete:Ct("delete"),clear:Ct("clear"),forEach:Pn(!0,!1)},n={get(i){return Tn(this,i,!0,!0)},get size(){return Ln(this,!0)},has(i){return kn.call(this,i,!0)},add:Ct("add"),set:Ct("set"),delete:Ct("delete"),clear:Ct("clear"),forEach:Pn(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=In(i,!1,!1),r[i]=In(i,!0,!1),t[i]=In(i,!1,!0),n[i]=In(i,!0,!0)}),[e,r,t,n]}const[xd,Sd,Cd,Vd]=Dd();function Ri(e,t){const r=t?e?Vd:Cd:e?Sd:xd;return(n,o,i)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?n:Reflect.get(me(r,o)&&o in n?r:n,o,i)}const Bd={get:Ri(!1,!1)},Md={get:Ri(!1,!0)},$d={get:Ri(!0,!1)},fa=new WeakMap,ha=new WeakMap,_a=new WeakMap,Nd=new WeakMap;function Fd(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Hd(e){return e.__v_skip||!Object.isExtensible(e)?0:Fd(ad(e))}function fn(e){return Sr(e)?e:Oi(e,!1,Id,Bd,fa)}function ga(e){return Oi(e,!1,Od,Md,ha)}function cr(e){return Oi(e,!0,Rd,$d,_a)}function Oi(e,t,r,n,o){if(!ye(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=o.get(e);if(i)return i;const s=Hd(e);if(s===0)return e;const l=new Proxy(e,s===2?n:r);return o.set(e,l),l}function Pr(e){return Sr(e)?Pr(e.__v_raw):!!(e&&e.__v_isReactive)}function Sr(e){return!!(e&&e.__v_isReadonly)}function Wn(e){return!!(e&&e.__v_isShallow)}function Ea(e){return Pr(e)||Sr(e)}function ae(e){const t=e&&e.__v_raw;return t?ae(t):e}function ba(e){return jn(e,"__v_skip",!0),e}const on=e=>ye(e)?fn(e):e,Di=e=>ye(e)?cr(e):e;function xi(e){jt&&ct&&(e=ae(e),da(e.dep||(e.dep=Li())))}function Si(e,t){e=ae(e);const r=e.dep;r&&Jo(r)}function De(e){return!!(e&&e.__v_isRef===!0)}function j(e){return ya(e,!1)}function Se(e){return ya(e,!0)}function ya(e,t){return De(e)?e:new zd(e,t)}class zd{constructor(t,r){this.__v_isShallow=r,this.dep=void 0,this.__v_isRef=!0,this._rawValue=r?t:ae(t),this._value=r?t:on(t)}get value(){return xi(this),this._value}set value(t){const r=this.__v_isShallow||Wn(t)||Sr(t);t=r?t:ae(t),lr(t,this._rawValue)&&(this._rawValue=t,this._value=r?t:on(t),Si(this))}}function ut(e){return De(e)?e.value:e}const jd={get:(e,t,r)=>ut(Reflect.get(e,t,r)),set:(e,t,r,n)=>{const o=e[t];return De(o)&&!De(r)?(o.value=r,!0):Reflect.set(e,t,r,n)}};function wa(e){return Pr(e)?e:new Proxy(e,jd)}class Kd{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:r,set:n}=t(()=>xi(this),()=>Si(this));this._get=r,this._set=n}get value(){return this._get()}set value(t){this._set(t)}}function Aa(e){return new Kd(e)}class Wd{constructor(t,r,n){this._object=t,this._key=r,this._defaultValue=n,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Ad(ae(this._object),this._key)}}class qd{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function oo(e,t,r){return De(e)?e:re(e)?new qd(e):ye(e)&&arguments.length>1?Ud(e,t,r):j(e)}function Ud(e,t,r){const n=e[t];return De(n)?n:new Wd(e,t,r)}class Gd{constructor(t,r,n,o){this._setter=r,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new Pi(t,()=>{this._dirty||(this._dirty=!0,Si(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=n}get value(){const t=ae(this);return xi(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function Zd(e,t,r=!1){let n,o;const i=re(e);return i?(n=e,o=mt):(n=e.get,o=e.set),new Gd(n,o,i||!o,r)}function Kt(e,t,r,n){let o;try{o=n?e(...n):e()}catch(i){hn(i,t,r)}return o}function nt(e,t,r,n){if(re(e)){const i=Kt(e,t,r,n);return i&&ra(i)&&i.catch(s=>{hn(s,t,r)}),i}const o=[];for(let i=0;i>>1;ln(Ne[n])yt&&Ne.splice(t,1)}function Qd(e){Y(e)?Ir.push(...e):(!It||!It.includes(e,e.allowRecurse?er+1:er))&&Ir.push(e),ka()}function Ds(e,t=sn?yt+1:0){for(;tln(r)-ln(n)),er=0;ere.id==null?1/0:e.id,em=(e,t)=>{const r=ln(e)-ln(t);if(r===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return r};function La(e){Qo=!1,sn=!0,Ne.sort(em);const t=mt;try{for(yt=0;ytie(_)?_.trim():_)),p&&(o=r.map(Go))}let l,c=n[l=wo(t)]||n[l=wo(ot(t))];!c&&i&&(c=n[l=wo(ar(t))]),c&&nt(c,e,6,o);const a=n[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,nt(a,e,6,o)}}function Pa(e,t,r=!1){const n=t.emitsCache,o=n.get(e);if(o!==void 0)return o;const i=e.emits;let s={},l=!1;if(!re(e)){const c=a=>{const m=Pa(a,t,!0);m&&(l=!0,xe(s,m))};!r&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?(ye(e)&&n.set(e,null),null):(Y(i)?i.forEach(c=>s[c]=null):xe(s,i),ye(e)&&n.set(e,s),s)}function so(e,t){return!e||!pn(t)?!1:(t=t.slice(2).replace(/Once$/,""),me(e,t[0].toLowerCase()+t.slice(1))||me(e,ar(t))||me(e,t))}let Me=null,lo=null;function Un(e){const t=Me;return Me=e,lo=e&&e.type.__scopeId||null,t}function v_(e){lo=e}function f_(){lo=null}function rm(e,t=Me,r){if(!t||e._n)return e;const n=(...o)=>{n._d&&js(-1);const i=Un(t);let s;try{s=e(...o)}finally{Un(i),n._d&&js(1)}return s};return n._n=!0,n._c=!0,n._d=!0,n}function Ao(e){const{type:t,vnode:r,proxy:n,withProxy:o,props:i,propsOptions:[s],slots:l,attrs:c,emit:a,render:m,renderCache:p,data:v,setupState:_,ctx:b,inheritAttrs:A}=e;let k,E;const y=Un(e);try{if(r.shapeFlag&4){const C=o||n;k=at(m.call(C,C,p,i,_,v,b)),E=c}else{const C=t;k=at(C.length>1?C(i,{attrs:c,slots:l,emit:a}):C(i,null)),E=t.props?c:nm(c)}}catch(C){en.length=0,hn(C,e,1),k=Te(Xe)}let S=k;if(E&&A!==!1){const C=Object.keys(E),{shapeFlag:K}=S;C.length&&K&7&&(s&&C.some(bi)&&(E=om(E,s)),S=qt(S,E))}return r.dirs&&(S=qt(S),S.dirs=S.dirs?S.dirs.concat(r.dirs):r.dirs),r.transition&&(S.transition=r.transition),k=S,Un(y),k}const nm=e=>{let t;for(const r in e)(r==="class"||r==="style"||pn(r))&&((t||(t={}))[r]=e[r]);return t},om=(e,t)=>{const r={};for(const n in e)(!bi(n)||!(n.slice(9)in t))&&(r[n]=e[n]);return r};function im(e,t,r){const{props:n,children:o,component:i}=e,{props:s,children:l,patchFlag:c}=t,a=i.emitsOptions;if(t.dirs||t.transition)return!0;if(r&&c>=0){if(c&1024)return!0;if(c&16)return n?xs(n,s,a):!!s;if(c&8){const m=t.dynamicProps;for(let p=0;pe.__isSuspense;function Ia(e,t){t&&t.pendingBranch?Y(e)?t.effects.push(...e):t.effects.push(e):Qd(e)}function Ra(e,t){return Vi(e,null,t)}const Rn={};function ne(e,t,r){return Vi(e,t,r)}function Vi(e,t,{immediate:r,deep:n,flush:o,onTrack:i,onTrigger:s}=we){var l;const c=la()===((l=Ce)==null?void 0:l.scope)?Ce:null;let a,m=!1,p=!1;if(De(e)?(a=()=>e.value,m=Wn(e)):Pr(e)?(a=()=>e,n=!0):Y(e)?(p=!0,m=e.some(C=>Pr(C)||Wn(C)),a=()=>e.map(C=>{if(De(C))return C.value;if(Pr(C))return nr(C);if(re(C))return Kt(C,c,2)})):re(e)?t?a=()=>Kt(e,c,2):a=()=>{if(!(c&&c.isUnmounted))return v&&v(),nt(e,c,3,[_])}:a=mt,t&&n){const C=a;a=()=>nr(C())}let v,_=C=>{v=y.onStop=()=>{Kt(C,c,4)}},b;if(Br)if(_=mt,t?r&&nt(t,c,3,[a(),p?[]:void 0,_]):a(),o==="sync"){const C=Qm();b=C.__watcherHandles||(C.__watcherHandles=[])}else return mt;let A=p?new Array(e.length).fill(Rn):Rn;const k=()=>{if(y.active)if(t){const C=y.run();(n||m||(p?C.some((K,x)=>lr(K,A[x])):lr(C,A)))&&(v&&v(),nt(t,c,3,[C,A===Rn?void 0:p&&A[0]===Rn?[]:A,_]),A=C)}else y.run()};k.allowRecurse=!!t;let E;o==="sync"?E=k:o==="post"?E=()=>je(k,c&&c.suspense):(k.pre=!0,c&&(k.id=c.uid),E=()=>io(k));const y=new Pi(a,E);t?r?k():A=y.run():o==="post"?je(y.run.bind(y),c&&c.suspense):y.run();const S=()=>{y.stop(),c&&c.scope&&yi(c.scope.effects,y)};return b&&b.push(S),S}function am(e,t,r){const n=this.proxy,o=ie(e)?e.includes(".")?Oa(n,e):()=>n[e]:e.bind(n,n);let i;re(t)?i=t:(i=t.handler,r=t);const s=Ce;Vr(this);const l=Vi(o,i.bind(n),r);return s?Vr(s):sr(),l}function Oa(e,t){const r=t.split(".");return()=>{let n=e;for(let o=0;o{nr(r,t)});else if(oa(e))for(const r in e)nr(e[r],t);return e}function h_(e,t){const r=Me;if(r===null)return e;const n=uo(r)||r.proxy,o=e.dirs||(e.dirs=[]);for(let i=0;i{e.isMounted=!0}),$i(()=>{e.isUnmounting=!0}),e}const et=[Function,Array],xa={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:et,onEnter:et,onAfterEnter:et,onEnterCancelled:et,onBeforeLeave:et,onLeave:et,onAfterLeave:et,onLeaveCancelled:et,onBeforeAppear:et,onAppear:et,onAfterAppear:et,onAppearCancelled:et},cm={name:"BaseTransition",props:xa,setup(e,{slots:t}){const r=mr(),n=Da();let o;return()=>{const i=t.default&&Bi(t.default(),!0);if(!i||!i.length)return;let s=i[0];if(i.length>1){for(const A of i)if(A.type!==Xe){s=A;break}}const l=ae(e),{mode:c}=l;if(n.isLeaving)return To(s);const a=Ss(s);if(!a)return To(s);const m=an(a,l,n,r);cn(a,m);const p=r.subTree,v=p&&Ss(p);let _=!1;const{getTransitionKey:b}=a.type;if(b){const A=b();o===void 0?o=A:A!==o&&(o=A,_=!0)}if(v&&v.type!==Xe&&(!tr(a,v)||_)){const A=an(v,l,n,r);if(cn(v,A),c==="out-in")return n.isLeaving=!0,A.afterLeave=()=>{n.isLeaving=!1,r.update.active!==!1&&r.update()},To(s);c==="in-out"&&a.type!==Xe&&(A.delayLeave=(k,E,y)=>{const S=Sa(n,v);S[String(v.key)]=v,k[Nt]=()=>{E(),k[Nt]=void 0,delete m.delayedLeave},m.delayedLeave=y})}return s}}},um=cm;function Sa(e,t){const{leavingVNodes:r}=e;let n=r.get(t.type);return n||(n=Object.create(null),r.set(t.type,n)),n}function an(e,t,r,n){const{appear:o,mode:i,persisted:s=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:a,onEnterCancelled:m,onBeforeLeave:p,onLeave:v,onAfterLeave:_,onLeaveCancelled:b,onBeforeAppear:A,onAppear:k,onAfterAppear:E,onAppearCancelled:y}=t,S=String(e.key),C=Sa(r,e),K=(I,z)=>{I&&nt(I,n,9,z)},x=(I,z)=>{const G=z[1];K(I,z),Y(I)?I.every(Q=>Q.length<=1)&&G():I.length<=1&&G()},Z={mode:i,persisted:s,beforeEnter(I){let z=l;if(!r.isMounted)if(o)z=A||l;else return;I[Nt]&&I[Nt](!0);const G=C[S];G&&tr(e,G)&&G.el[Nt]&&G.el[Nt](),K(z,[I])},enter(I){let z=c,G=a,Q=m;if(!r.isMounted)if(o)z=k||c,G=E||a,Q=y||m;else return;let H=!1;const ee=I[On]=q=>{H||(H=!0,q?K(Q,[I]):K(G,[I]),Z.delayedLeave&&Z.delayedLeave(),I[On]=void 0)};z?x(z,[I,ee]):ee()},leave(I,z){const G=String(e.key);if(I[On]&&I[On](!0),r.isUnmounting)return z();K(p,[I]);let Q=!1;const H=I[Nt]=ee=>{Q||(Q=!0,z(),ee?K(b,[I]):K(_,[I]),I[Nt]=void 0,C[G]===e&&delete C[G])};C[G]=e,v?x(v,[I,H]):H()},clone(I){return an(I,t,r,n)}};return Z}function To(e){if(_n(e))return e=qt(e),e.children=null,e}function Ss(e){return _n(e)?e.children?e.children[0]:void 0:e}function cn(e,t){e.shapeFlag&6&&e.component?cn(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 Bi(e,t=!1,r){let n=[],o=0;for(let i=0;i1)for(let i=0;ixe({name:e.name},t,{setup:e}))():e}const Rr=e=>!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function f(e){re(e)&&(e={loader:e});const{loader:t,loadingComponent:r,errorComponent:n,delay:o=200,timeout:i,suspensible:s=!0,onError:l}=e;let c=null,a,m=0;const p=()=>(m++,c=null,v()),v=()=>{let _;return c||(_=c=t().catch(b=>{if(b=b instanceof Error?b:new Error(String(b)),l)return new Promise((A,k)=>{l(b,()=>A(p()),()=>k(b),m+1)});throw b}).then(b=>_!==c&&c?c:(b&&(b.__esModule||b[Symbol.toStringTag]==="Module")&&(b=b.default),a=b,b)))};return $({name:"AsyncComponentWrapper",__asyncLoader:v,get __asyncResolved(){return a},setup(){const _=Ce;if(a)return()=>ko(a,_);const b=y=>{c=null,hn(y,_,13,!n)};if(s&&_.suspense||Br)return v().then(y=>()=>ko(y,_)).catch(y=>(b(y),()=>n?Te(n,{error:y}):null));const A=j(!1),k=j(),E=j(!!o);return o&&setTimeout(()=>{E.value=!1},o),i!=null&&setTimeout(()=>{if(!A.value&&!k.value){const y=new Error(`Async component timed out after ${i}ms.`);b(y),k.value=y}},i),v().then(()=>{A.value=!0,_.parent&&_n(_.parent.vnode)&&io(_.parent.update)}).catch(y=>{b(y),k.value=y}),()=>{if(A.value&&a)return ko(a,_);if(k.value&&n)return Te(n,{error:k.value});if(r&&!E.value)return Te(r)}}})}function ko(e,t){const{ref:r,props:n,children:o,ce:i}=t.vnode,s=Te(e,n,o);return s.ref=r,s.ce=i,delete t.vnode.ce,s}const _n=e=>e.type.__isKeepAlive;function dm(e,t){Ca(e,"a",t)}function mm(e,t){Ca(e,"da",t)}function Ca(e,t,r=Ce){const n=e.__wdc||(e.__wdc=()=>{let o=r;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(ao(t,n,r),r){let o=r.parent;for(;o&&o.parent;)_n(o.parent.vnode)&&pm(n,t,r,o),o=o.parent}}function pm(e,t,r,n){const o=ao(t,e,n,!0);dr(()=>{yi(n[t],o)},r)}function ao(e,t,r=Ce,n=!1){if(r){const o=r[e]||(r[e]=[]),i=t.__weh||(t.__weh=(...s)=>{if(r.isUnmounted)return;Hr(),Vr(r);const l=nt(t,r,e,s);return sr(),zr(),l});return n?o.unshift(i):o.push(i),i}}const Dt=e=>(t,r=Ce)=>(!Br||e==="sp")&&ao(e,(...n)=>t(...n),r),Mi=Dt("bm"),le=Dt("m"),vm=Dt("bu"),Va=Dt("u"),$i=Dt("bum"),dr=Dt("um"),fm=Dt("sp"),hm=Dt("rtg"),_m=Dt("rtc");function gm(e,t=Ce){ao("ec",e,t)}const Ba="components";function pt(e,t){return bm(Ba,e,!0,t)||e}const Em=Symbol.for("v-ndc");function bm(e,t,r=!0,n=!1){const o=Me||Ce;if(o){const i=o.type;if(e===Ba){const l=Ym(i,!1);if(l&&(l===t||l===ot(t)||l===vn(ot(t))))return i}const s=Cs(o[e]||i[e],t)||Cs(o.appContext[e],t);return!s&&n?i:s}}function Cs(e,t){return e&&(e[t]||e[ot(t)]||e[vn(ot(t))])}function __(e,t,r,n){let o;const i=r&&r[n];if(Y(e)||ie(e)){o=new Array(e.length);for(let s=0,l=e.length;st(s,l,void 0,i&&i[l]));else{const s=Object.keys(e);o=new Array(s.length);for(let l=0,c=s.length;lXn(t)?!(t.type===Xe||t.type===He&&!Ma(t.children)):!0)?e:null}const ei=e=>e?Ja(e)?uo(e)||e.proxy:ei(e.parent):null,Jr=xe(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=>ei(e.parent),$root:e=>ei(e.root),$emit:e=>e.emit,$options:e=>Ni(e),$forceUpdate:e=>e.f||(e.f=()=>io(e.update)),$nextTick:e=>e.n||(e.n=ur.bind(e.proxy)),$watch:e=>am.bind(e)}),Lo=(e,t)=>e!==we&&!e.__isScriptSetup&&me(e,t),ym={get({_:e},t){const{ctx:r,setupState:n,data:o,props:i,accessCache:s,type:l,appContext:c}=e;let a;if(t[0]!=="$"){const _=s[t];if(_!==void 0)switch(_){case 1:return n[t];case 2:return o[t];case 4:return r[t];case 3:return i[t]}else{if(Lo(n,t))return s[t]=1,n[t];if(o!==we&&me(o,t))return s[t]=2,o[t];if((a=e.propsOptions[0])&&me(a,t))return s[t]=3,i[t];if(r!==we&&me(r,t))return s[t]=4,r[t];ti&&(s[t]=0)}}const m=Jr[t];let p,v;if(m)return t==="$attrs"&&qe(e,"get",t),m(e);if((p=l.__cssModules)&&(p=p[t]))return p;if(r!==we&&me(r,t))return s[t]=4,r[t];if(v=c.config.globalProperties,me(v,t))return v[t]},set({_:e},t,r){const{data:n,setupState:o,ctx:i}=e;return Lo(o,t)?(o[t]=r,!0):n!==we&&me(n,t)?(n[t]=r,!0):me(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=r,!0)},has({_:{data:e,setupState:t,accessCache:r,ctx:n,appContext:o,propsOptions:i}},s){let l;return!!r[s]||e!==we&&me(e,s)||Lo(t,s)||(l=i[0])&&me(l,s)||me(n,s)||me(Jr,s)||me(o.config.globalProperties,s)},defineProperty(e,t,r){return r.get!=null?e._.accessCache[t]=0:me(r,"value")&&this.set(e,t,r.value,null),Reflect.defineProperty(e,t,r)}};function E_(e,t,r){const n=mr();if(r&&r.local){const o=j(e[t]);return ne(()=>e[t],i=>o.value=i),ne(o,i=>{i!==e[t]&&n.emit(`update:${t}`,i)}),o}else return{__v_isRef:!0,get value(){return e[t]},set value(o){n.emit(`update:${t}`,o)}}}function Vs(e){return Y(e)?e.reduce((t,r)=>(t[r]=null,t),{}):e}let ti=!0;function wm(e){const t=Ni(e),r=e.proxy,n=e.ctx;ti=!1,t.beforeCreate&&Bs(t.beforeCreate,e,"bc");const{data:o,computed:i,methods:s,watch:l,provide:c,inject:a,created:m,beforeMount:p,mounted:v,beforeUpdate:_,updated:b,activated:A,deactivated:k,beforeDestroy:E,beforeUnmount:y,destroyed:S,unmounted:C,render:K,renderTracked:x,renderTriggered:Z,errorCaptured:I,serverPrefetch:z,expose:G,inheritAttrs:Q,components:H,directives:ee,filters:q}=t;if(a&&Am(a,n,null),s)for(const pe in s){const ce=s[pe];re(ce)&&(n[pe]=ce.bind(r))}if(o){const pe=o.call(r,r);ye(pe)&&(e.data=fn(pe))}if(ti=!0,i)for(const pe in i){const ce=i[pe],Ve=re(ce)?ce.bind(r,r):re(ce.get)?ce.get.bind(r,r):mt,_t=!re(ce)&&re(ce.set)?ce.set.bind(r):mt,Qe=T({get:Ve,set:_t});Object.defineProperty(n,pe,{enumerable:!0,configurable:!0,get:()=>Qe.value,set:Be=>Qe.value=Be})}if(l)for(const pe in l)$a(l[pe],n,r,pe);if(c){const pe=re(c)?c.call(r):c;Reflect.ownKeys(pe).forEach(ce=>{ir(ce,pe[ce])})}m&&Bs(m,e,"c");function oe(pe,ce){Y(ce)?ce.forEach(Ve=>pe(Ve.bind(r))):ce&&pe(ce.bind(r))}if(oe(Mi,p),oe(le,v),oe(vm,_),oe(Va,b),oe(dm,A),oe(mm,k),oe(gm,I),oe(_m,x),oe(hm,Z),oe($i,y),oe(dr,C),oe(fm,z),Y(G))if(G.length){const pe=e.exposed||(e.exposed={});G.forEach(ce=>{Object.defineProperty(pe,ce,{get:()=>r[ce],set:Ve=>r[ce]=Ve})})}else e.exposed||(e.exposed={});K&&e.render===mt&&(e.render=K),Q!=null&&(e.inheritAttrs=Q),H&&(e.components=H),ee&&(e.directives=ee)}function Am(e,t,r=mt){Y(e)&&(e=ri(e));for(const n in e){const o=e[n];let i;ye(o)?"default"in o?i=_e(o.from||n,o.default,!0):i=_e(o.from||n):i=_e(o),De(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:s=>i.value=s}):t[n]=i}}function Bs(e,t,r){nt(Y(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,r)}function $a(e,t,r,n){const o=n.includes(".")?Oa(r,n):()=>r[n];if(ie(e)){const i=t[e];re(i)&&ne(o,i)}else if(re(e))ne(o,e.bind(r));else if(ye(e))if(Y(e))e.forEach(i=>$a(i,t,r,n));else{const i=re(e.handler)?e.handler.bind(r):t[e.handler];re(i)&&ne(o,i,e)}}function Ni(e){const t=e.type,{mixins:r,extends:n}=t,{mixins:o,optionsCache:i,config:{optionMergeStrategies:s}}=e.appContext,l=i.get(t);let c;return l?c=l:!o.length&&!r&&!n?c=t:(c={},o.length&&o.forEach(a=>Gn(c,a,s,!0)),Gn(c,t,s)),ye(t)&&i.set(t,c),c}function Gn(e,t,r,n=!1){const{mixins:o,extends:i}=t;i&&Gn(e,i,r,!0),o&&o.forEach(s=>Gn(e,s,r,!0));for(const s in t)if(!(n&&s==="expose")){const l=Tm[s]||r&&r[s];e[s]=l?l(e[s],t[s]):t[s]}return e}const Tm={data:Ms,props:$s,emits:$s,methods:Yr,computed:Yr,beforeCreate:Fe,created:Fe,beforeMount:Fe,mounted:Fe,beforeUpdate:Fe,updated:Fe,beforeDestroy:Fe,beforeUnmount:Fe,destroyed:Fe,unmounted:Fe,activated:Fe,deactivated:Fe,errorCaptured:Fe,serverPrefetch:Fe,components:Yr,directives:Yr,watch:Lm,provide:Ms,inject:km};function Ms(e,t){return t?e?function(){return xe(re(e)?e.call(this,this):e,re(t)?t.call(this,this):t)}:t:e}function km(e,t){return Yr(ri(e),ri(t))}function ri(e){if(Y(e)){const t={};for(let r=0;r1)return r&&re(t)?t.call(n&&n.proxy):t}}function Rm(e,t,r,n=!1){const o={},i={};jn(i,co,1),e.propsDefaults=Object.create(null),Fa(e,t,o,i);for(const s in e.propsOptions[0])s in o||(o[s]=void 0);r?e.props=n?o:ga(o):e.type.props?e.props=o:e.props=i,e.attrs=i}function Om(e,t,r,n){const{props:o,attrs:i,vnode:{patchFlag:s}}=e,l=ae(o),[c]=e.propsOptions;let a=!1;if((n||s>0)&&!(s&16)){if(s&8){const m=e.vnode.dynamicProps;for(let p=0;p{c=!0;const[v,_]=Ha(p,t,!0);xe(s,v),_&&l.push(..._)};!r&&t.mixins.length&&t.mixins.forEach(m),e.extends&&m(e.extends),e.mixins&&e.mixins.forEach(m)}if(!i&&!c)return ye(e)&&n.set(e,kr),kr;if(Y(i))for(let m=0;m-1,_[1]=A<0||b-1||me(_,"default"))&&l.push(p)}}}const a=[s,l];return ye(e)&&n.set(e,a),a}function Ns(e){return e[0]!=="$"}function Fs(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function Hs(e,t){return Fs(e)===Fs(t)}function zs(e,t){return Y(t)?t.findIndex(r=>Hs(r,e)):re(t)&&Hs(t,e)?0:-1}const za=e=>e[0]==="_"||e==="$stable",Fi=e=>Y(e)?e.map(at):[at(e)],Dm=(e,t,r)=>{if(t._n)return t;const n=rm((...o)=>Fi(t(...o)),r);return n._c=!1,n},ja=(e,t,r)=>{const n=e._ctx;for(const o in e){if(za(o))continue;const i=e[o];if(re(i))t[o]=Dm(o,i,n);else if(i!=null){const s=Fi(i);t[o]=()=>s}}},Ka=(e,t)=>{const r=Fi(t);e.slots.default=()=>r},xm=(e,t)=>{if(e.vnode.shapeFlag&32){const r=t._;r?(e.slots=ae(t),jn(t,"_",r)):ja(t,e.slots={})}else e.slots={},t&&Ka(e,t);jn(e.slots,co,1)},Sm=(e,t,r)=>{const{vnode:n,slots:o}=e;let i=!0,s=we;if(n.shapeFlag&32){const l=t._;l?r&&l===1?i=!1:(xe(o,t),!r&&l===1&&delete o._):(i=!t.$stable,ja(t,o)),s=t}else t&&(Ka(e,t),s={default:1});if(i)for(const l in o)!za(l)&&!(l in s)&&delete o[l]};function Yn(e,t,r,n,o=!1){if(Y(e)){e.forEach((v,_)=>Yn(v,t&&(Y(t)?t[_]:t),r,n,o));return}if(Rr(n)&&!o)return;const i=n.shapeFlag&4?uo(n.component)||n.component.proxy:n.el,s=o?null:i,{i:l,r:c}=e,a=t&&t.r,m=l.refs===we?l.refs={}:l.refs,p=l.setupState;if(a!=null&&a!==c&&(ie(a)?(m[a]=null,me(p,a)&&(p[a]=null)):De(a)&&(a.value=null)),re(c))Kt(c,l,12,[s,m]);else{const v=ie(c),_=De(c);if(v||_){const b=()=>{if(e.f){const A=v?me(p,c)?p[c]:m[c]:c.value;o?Y(A)&&yi(A,i):Y(A)?A.includes(i)||A.push(i):v?(m[c]=[i],me(p,c)&&(p[c]=m[c])):(c.value=[i],e.k&&(m[e.k]=c.value))}else v?(m[c]=s,me(p,c)&&(p[c]=s)):_&&(c.value=s,e.k&&(m[e.k]=s))};s?(b.id=-1,je(b,r)):b()}}}let Vt=!1;const Dn=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",xn=e=>e.nodeType===8;function Cm(e){const{mt:t,p:r,o:{patchProp:n,createText:o,nextSibling:i,parentNode:s,remove:l,insert:c,createComment:a}}=e,m=(E,y)=>{if(!y.hasChildNodes()){r(null,E,y),qn(),y._vnode=E;return}Vt=!1,p(y.firstChild,E,null,null,null),qn(),y._vnode=E,Vt&&console.error("Hydration completed but contains mismatches.")},p=(E,y,S,C,K,x=!1)=>{const Z=xn(E)&&E.data==="[",I=()=>A(E,y,S,C,K,Z),{type:z,ref:G,shapeFlag:Q,patchFlag:H}=y;let ee=E.nodeType;y.el=E,H===-2&&(x=!1,y.dynamicChildren=null);let q=null;switch(z){case Cr:ee!==3?y.children===""?(c(y.el=o(""),s(E),E),q=E):q=I():(E.data!==y.children&&(Vt=!0,E.data=y.children),q=i(E));break;case Xe:ee!==8||Z?q=I():q=i(E);break;case Qr:if(Z&&(E=i(E),ee=E.nodeType),ee===1||ee===3){q=E;const Pe=!y.children.length;for(let oe=0;oe{x=x||!!y.dynamicChildren;const{type:Z,props:I,patchFlag:z,shapeFlag:G,dirs:Q}=y,H=Z==="input"&&Q||Z==="option";if(H||z!==-1){if(Q&&bt(y,null,S,"created"),I)if(H||!x||z&48)for(const q in I)(H&&q.endsWith("value")||pn(q)&&!Xr(q))&&n(E,q,null,I[q],!1,void 0,S);else I.onClick&&n(E,"onClick",null,I.onClick,!1,void 0,S);let ee;if((ee=I&&I.onVnodeBeforeMount)&&tt(ee,S,y),Q&&bt(y,null,S,"beforeMount"),((ee=I&&I.onVnodeMounted)||Q)&&Ia(()=>{ee&&tt(ee,S,y),Q&&bt(y,null,S,"mounted")},C),G&16&&!(I&&(I.innerHTML||I.textContent))){let q=_(E.firstChild,y,E,S,C,K,x);for(;q;){Vt=!0;const Pe=q;q=q.nextSibling,l(Pe)}}else G&8&&E.textContent!==y.children&&(Vt=!0,E.textContent=y.children)}return E.nextSibling},_=(E,y,S,C,K,x,Z)=>{Z=Z||!!y.dynamicChildren;const I=y.children,z=I.length;for(let G=0;G{const{slotScopeIds:Z}=y;Z&&(K=K?K.concat(Z):Z);const I=s(E),z=_(i(E),y,I,S,C,K,x);return z&&xn(z)&&z.data==="]"?i(y.anchor=z):(Vt=!0,c(y.anchor=a("]"),I,z),z)},A=(E,y,S,C,K,x)=>{if(Vt=!0,y.el=null,x){const z=k(E);for(;;){const G=i(E);if(G&&G!==z)l(G);else break}}const Z=i(E),I=s(E);return l(E),r(null,y,I,Z,S,C,Dn(I),K),Z},k=E=>{let y=0;for(;E;)if(E=i(E),E&&xn(E)&&(E.data==="["&&y++,E.data==="]")){if(y===0)return i(E);y--}return E};return[m,p]}const je=Ia;function Vm(e){return Bm(e,Cm)}function Bm(e,t){const r=Zo();r.__VUE__=!0;const{insert:n,remove:o,patchProp:i,createElement:s,createText:l,createComment:c,setText:a,setElementText:m,parentNode:p,nextSibling:v,setScopeId:_=mt,insertStaticContent:b}=e,A=(h,g,w,L=null,R=null,O=null,N=!1,V=null,M=!!g.dynamicChildren)=>{if(h===g)return;h&&!tr(h,g)&&(L=P(h),Be(h,R,O,!0),h=null),g.patchFlag===-2&&(M=!1,g.dynamicChildren=null);const{type:D,ref:X,shapeFlag:W}=g;switch(D){case Cr:k(h,g,w,L);break;case Xe:E(h,g,w,L);break;case Qr:h==null&&y(g,w,L,N);break;case He:H(h,g,w,L,R,O,N,V,M);break;default:W&1?K(h,g,w,L,R,O,N,V,M):W&6?ee(h,g,w,L,R,O,N,V,M):(W&64||W&128)&&D.process(h,g,w,L,R,O,N,V,M,B)}X!=null&&R&&Yn(X,h&&h.ref,O,g||h,!g)},k=(h,g,w,L)=>{if(h==null)n(g.el=l(g.children),w,L);else{const R=g.el=h.el;g.children!==h.children&&a(R,g.children)}},E=(h,g,w,L)=>{h==null?n(g.el=c(g.children||""),w,L):g.el=h.el},y=(h,g,w,L)=>{[h.el,h.anchor]=b(h.children,g,w,L,h.el,h.anchor)},S=({el:h,anchor:g},w,L)=>{let R;for(;h&&h!==g;)R=v(h),n(h,w,L),h=R;n(g,w,L)},C=({el:h,anchor:g})=>{let w;for(;h&&h!==g;)w=v(h),o(h),h=w;o(g)},K=(h,g,w,L,R,O,N,V,M)=>{N=N||g.type==="svg",h==null?x(g,w,L,R,O,N,V,M):z(h,g,R,O,N,V,M)},x=(h,g,w,L,R,O,N,V)=>{let M,D;const{type:X,props:W,shapeFlag:J,transition:te,dirs:se}=h;if(M=h.el=s(h.type,O,W&&W.is,W),J&8?m(M,h.children):J&16&&I(h.children,M,null,L,R,O&&X!=="foreignObject",N,V),se&&bt(h,null,L,"created"),Z(M,h,h.scopeId,N,L),W){for(const he in W)he!=="value"&&!Xr(he)&&i(M,he,null,W[he],O,h.children,L,R,Ie);"value"in W&&i(M,"value",null,W.value),(D=W.onVnodeBeforeMount)&&tt(D,L,h)}se&&bt(h,null,L,"beforeMount");const be=(!R||R&&!R.pendingBranch)&&te&&!te.persisted;be&&te.beforeEnter(M),n(M,g,w),((D=W&&W.onVnodeMounted)||be||se)&&je(()=>{D&&tt(D,L,h),be&&te.enter(M),se&&bt(h,null,L,"mounted")},R)},Z=(h,g,w,L,R)=>{if(w&&_(h,w),L)for(let O=0;O{for(let D=M;D{const V=g.el=h.el;let{patchFlag:M,dynamicChildren:D,dirs:X}=g;M|=h.patchFlag&16;const W=h.props||we,J=g.props||we;let te;w&&Jt(w,!1),(te=J.onVnodeBeforeUpdate)&&tt(te,w,g,h),X&&bt(g,h,w,"beforeUpdate"),w&&Jt(w,!0);const se=R&&g.type!=="foreignObject";if(D?G(h.dynamicChildren,D,V,w,L,se,O):N||ce(h,g,V,null,w,L,se,O,!1),M>0){if(M&16)Q(V,g,W,J,w,L,R);else if(M&2&&W.class!==J.class&&i(V,"class",null,J.class,R),M&4&&i(V,"style",W.style,J.style,R),M&8){const be=g.dynamicProps;for(let he=0;he{te&&tt(te,w,g,h),X&&bt(g,h,w,"updated")},L)},G=(h,g,w,L,R,O,N)=>{for(let V=0;V{if(w!==L){if(w!==we)for(const V in w)!Xr(V)&&!(V in L)&&i(h,V,w[V],null,N,g.children,R,O,Ie);for(const V in L){if(Xr(V))continue;const M=L[V],D=w[V];M!==D&&V!=="value"&&i(h,V,D,M,N,g.children,R,O,Ie)}"value"in L&&i(h,"value",w.value,L.value)}},H=(h,g,w,L,R,O,N,V,M)=>{const D=g.el=h?h.el:l(""),X=g.anchor=h?h.anchor:l("");let{patchFlag:W,dynamicChildren:J,slotScopeIds:te}=g;te&&(V=V?V.concat(te):te),h==null?(n(D,w,L),n(X,w,L),I(g.children,w,X,R,O,N,V,M)):W>0&&W&64&&J&&h.dynamicChildren?(G(h.dynamicChildren,J,w,R,O,N,V),(g.key!=null||R&&g===R.subTree)&&Wa(h,g,!0)):ce(h,g,w,X,R,O,N,V,M)},ee=(h,g,w,L,R,O,N,V,M)=>{g.slotScopeIds=V,h==null?g.shapeFlag&512?R.ctx.activate(g,w,L,N,M):q(g,w,L,R,O,N,M):Pe(h,g,M)},q=(h,g,w,L,R,O,N)=>{const V=h.component=Wm(h,L,R);if(_n(h)&&(V.ctx.renderer=B),qm(V),V.asyncDep){if(R&&R.registerDep(V,oe),!h.el){const M=V.subTree=Te(Xe);E(null,M,g,w)}return}oe(V,h,g,w,R,O,N)},Pe=(h,g,w)=>{const L=g.component=h.component;if(im(h,g,w))if(L.asyncDep&&!L.asyncResolved){pe(L,g,w);return}else L.next=g,Jd(L.update),L.update();else g.el=h.el,L.vnode=g},oe=(h,g,w,L,R,O,N)=>{const V=()=>{if(h.isMounted){let{next:X,bu:W,u:J,parent:te,vnode:se}=h,be=X,he;Jt(h,!1),X?(X.el=se.el,pe(h,X,N)):X=se,W&&Fn(W),(he=X.props&&X.props.onVnodeBeforeUpdate)&&tt(he,te,X,se),Jt(h,!0);const Re=Ao(h),st=h.subTree;h.subTree=Re,A(st,Re,p(st.el),P(st),h,R,O),X.el=Re.el,be===null&&sm(h,Re.el),J&&je(J,R),(he=X.props&&X.props.onVnodeUpdated)&&je(()=>tt(he,te,X,se),R)}else{let X;const{el:W,props:J}=g,{bm:te,m:se,parent:be}=h,he=Rr(g);if(Jt(h,!1),te&&Fn(te),!he&&(X=J&&J.onVnodeBeforeMount)&&tt(X,be,g),Jt(h,!0),W&&ue){const Re=()=>{h.subTree=Ao(h),ue(W,h.subTree,h,R,null)};he?g.type.__asyncLoader().then(()=>!h.isUnmounted&&Re()):Re()}else{const Re=h.subTree=Ao(h);A(null,Re,w,L,h,R,O),g.el=Re.el}if(se&&je(se,R),!he&&(X=J&&J.onVnodeMounted)){const Re=g;je(()=>tt(X,be,Re),R)}(g.shapeFlag&256||be&&Rr(be.vnode)&&be.vnode.shapeFlag&256)&&h.a&&je(h.a,R),h.isMounted=!0,g=w=L=null}},M=h.effect=new Pi(V,()=>io(D),h.scope),D=h.update=()=>M.run();D.id=h.uid,Jt(h,!0),D()},pe=(h,g,w)=>{g.component=h;const L=h.vnode.props;h.vnode=g,h.next=null,Om(h,g.props,L,w),Sm(h,g.children,w),Hr(),Ds(),zr()},ce=(h,g,w,L,R,O,N,V,M=!1)=>{const D=h&&h.children,X=h?h.shapeFlag:0,W=g.children,{patchFlag:J,shapeFlag:te}=g;if(J>0){if(J&128){_t(D,W,w,L,R,O,N,V,M);return}else if(J&256){Ve(D,W,w,L,R,O,N,V,M);return}}te&8?(X&16&&Ie(D,R,O),W!==D&&m(w,W)):X&16?te&16?_t(D,W,w,L,R,O,N,V,M):Ie(D,R,O,!0):(X&8&&m(w,""),te&16&&I(W,w,L,R,O,N,V,M))},Ve=(h,g,w,L,R,O,N,V,M)=>{h=h||kr,g=g||kr;const D=h.length,X=g.length,W=Math.min(D,X);let J;for(J=0;JX?Ie(h,R,O,!0,!1,W):I(g,w,L,R,O,N,V,M,W)},_t=(h,g,w,L,R,O,N,V,M)=>{let D=0;const X=g.length;let W=h.length-1,J=X-1;for(;D<=W&&D<=J;){const te=h[D],se=g[D]=M?Ft(g[D]):at(g[D]);if(tr(te,se))A(te,se,w,null,R,O,N,V,M);else break;D++}for(;D<=W&&D<=J;){const te=h[W],se=g[J]=M?Ft(g[J]):at(g[J]);if(tr(te,se))A(te,se,w,null,R,O,N,V,M);else break;W--,J--}if(D>W){if(D<=J){const te=J+1,se=teJ)for(;D<=W;)Be(h[D],R,O,!0),D++;else{const te=D,se=D,be=new Map;for(D=se;D<=J;D++){const Ge=g[D]=M?Ft(g[D]):at(g[D]);Ge.key!=null&&be.set(Ge.key,D)}let he,Re=0;const st=J-se+1;let hr=!1,Es=0;const Wr=new Array(st);for(D=0;D=st){Be(Ge,R,O,!0);continue}let Et;if(Ge.key!=null)Et=be.get(Ge.key);else for(he=se;he<=J;he++)if(Wr[he-se]===0&&tr(Ge,g[he])){Et=he;break}Et===void 0?Be(Ge,R,O,!0):(Wr[Et-se]=D+1,Et>=Es?Es=Et:hr=!0,A(Ge,g[Et],w,null,R,O,N,V,M),Re++)}const bs=hr?Mm(Wr):kr;for(he=bs.length-1,D=st-1;D>=0;D--){const Ge=se+D,Et=g[Ge],ys=Ge+1{const{el:O,type:N,transition:V,children:M,shapeFlag:D}=h;if(D&6){Qe(h.component.subTree,g,w,L);return}if(D&128){h.suspense.move(g,w,L);return}if(D&64){N.move(h,g,w,B);return}if(N===He){n(O,g,w);for(let W=0;WV.enter(O),R);else{const{leave:W,delayLeave:J,afterLeave:te}=V,se=()=>n(O,g,w),be=()=>{W(O,()=>{se(),te&&te()})};J?J(O,se,be):be()}else n(O,g,w)},Be=(h,g,w,L=!1,R=!1)=>{const{type:O,props:N,ref:V,children:M,dynamicChildren:D,shapeFlag:X,patchFlag:W,dirs:J}=h;if(V!=null&&Yn(V,null,w,h,!0),X&256){g.ctx.deactivate(h);return}const te=X&1&&J,se=!Rr(h);let be;if(se&&(be=N&&N.onVnodeBeforeUnmount)&&tt(be,g,h),X&6)gt(h.component,w,L);else{if(X&128){h.suspense.unmount(w,L);return}te&&bt(h,null,g,"beforeUnmount"),X&64?h.type.remove(h,g,w,R,B,L):D&&(O!==He||W>0&&W&64)?Ie(D,g,w,!1,!0):(O===He&&W&384||!R&&X&16)&&Ie(M,g,w),L&&Ue(h)}(se&&(be=N&&N.onVnodeUnmounted)||te)&&je(()=>{be&&tt(be,g,h),te&&bt(h,null,g,"unmounted")},w)},Ue=h=>{const{type:g,el:w,anchor:L,transition:R}=h;if(g===He){At(w,L);return}if(g===Qr){C(h);return}const O=()=>{o(w),R&&!R.persisted&&R.afterLeave&&R.afterLeave()};if(h.shapeFlag&1&&R&&!R.persisted){const{leave:N,delayLeave:V}=R,M=()=>N(w,O);V?V(h.el,O,M):M()}else O()},At=(h,g)=>{let w;for(;h!==g;)w=v(h),o(h),h=w;o(g)},gt=(h,g,w)=>{const{bum:L,scope:R,update:O,subTree:N,um:V}=h;L&&Fn(L),R.stop(),O&&(O.active=!1,Be(N,h,g,w)),V&&je(V,g),je(()=>{h.isUnmounted=!0},g),g&&g.pendingBranch&&!g.isUnmounted&&h.asyncDep&&!h.asyncResolved&&h.suspenseId===g.pendingId&&(g.deps--,g.deps===0&&g.resolve())},Ie=(h,g,w,L=!1,R=!1,O=0)=>{for(let N=O;Nh.shapeFlag&6?P(h.component.subTree):h.shapeFlag&128?h.suspense.next():v(h.anchor||h.el),F=(h,g,w)=>{h==null?g._vnode&&Be(g._vnode,null,null,!0):A(g._vnode||null,h,g,null,null,null,w),Ds(),qn(),g._vnode=h},B={p:A,um:Be,m:Qe,r:Ue,mt:q,mc:I,pc:ce,pbc:G,n:P,o:e};let U,ue;return t&&([U,ue]=t(B)),{render:F,hydrate:U,createApp:Im(F,U)}}function Jt({effect:e,update:t},r){e.allowRecurse=t.allowRecurse=r}function Wa(e,t,r=!1){const n=e.children,o=t.children;if(Y(n)&&Y(o))for(let i=0;i>1,e[r[l]]0&&(t[n]=r[i-1]),r[i]=n)}}for(i=r.length,s=r[i-1];i-- >0;)r[i]=s,s=t[s];return r}const $m=e=>e.__isTeleport,He=Symbol.for("v-fgt"),Cr=Symbol.for("v-txt"),Xe=Symbol.for("v-cmt"),Qr=Symbol.for("v-stc"),en=[];let dt=null;function qa(e=!1){en.push(dt=e?null:[])}function Nm(){en.pop(),dt=en[en.length-1]||null}let un=1;function js(e){un+=e}function Ua(e){return e.dynamicChildren=un>0?dt||kr:null,Nm(),un>0&&dt&&dt.push(e),e}function b_(e,t,r,n,o,i){return Ua(Ya(e,t,r,n,o,i,!0))}function Ga(e,t,r,n,o){return Ua(Te(e,t,r,n,o,!0))}function Xn(e){return e?e.__v_isVNode===!0:!1}function tr(e,t){return e.type===t.type&&e.key===t.key}const co="__vInternal",Za=({key:e})=>e??null,Hn=({ref:e,ref_key:t,ref_for:r})=>(typeof e=="number"&&(e=""+e),e!=null?ie(e)||De(e)||re(e)?{i:Me,r:e,k:t,f:!!r}:e:null);function Ya(e,t=null,r=null,n=0,o=null,i=e===He?0:1,s=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Za(t),ref:t&&Hn(t),scopeId:lo,slotScopeIds:null,children:r,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:n,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:Me};return l?(Hi(c,r),i&128&&e.normalize(c)):r&&(c.shapeFlag|=ie(r)?8:16),un>0&&!s&&dt&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&dt.push(c),c}const Te=Fm;function Fm(e,t=null,r=null,n=0,o=null,i=!1){if((!e||e===Em)&&(e=Xe),Xn(e)){const l=qt(e,t,!0);return r&&Hi(l,r),un>0&&!i&&dt&&(l.shapeFlag&6?dt[dt.indexOf(e)]=l:dt.push(l)),l.patchFlag|=-2,l}if(Xm(e)&&(e=e.__vccOpts),t){t=Hm(t);let{class:l,style:c}=t;l&&!ie(l)&&(t.class=ki(l)),ye(c)&&(Ea(c)&&!Y(c)&&(c=xe({},c)),t.style=Ti(c))}const s=ie(e)?1:lm(e)?128:$m(e)?64:ye(e)?4:re(e)?2:0;return Ya(e,t,r,n,o,s,i,!0)}function Hm(e){return e?Ea(e)||co in e?xe({},e):e:null}function qt(e,t,r=!1){const{props:n,ref:o,patchFlag:i,children:s}=e,l=t?zm(n||{},t):n;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Za(l),ref:t&&t.ref?r&&o?Y(o)?o.concat(Hn(t)):[o,Hn(t)]:Hn(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,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&&qt(e.ssContent),ssFallback:e.ssFallback&&qt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function Xa(e=" ",t=0){return Te(Cr,null,e,t)}function y_(e,t){const r=Te(Qr,null,e);return r.staticCount=t,r}function w_(e="",t=!1){return t?(qa(),Ga(Xe,null,e)):Te(Xe,null,e)}function at(e){return e==null||typeof e=="boolean"?Te(Xe):Y(e)?Te(He,null,e.slice()):typeof e=="object"?Ft(e):Te(Cr,null,String(e))}function Ft(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:qt(e)}function Hi(e,t){let r=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Y(t))r=16;else if(typeof t=="object")if(n&65){const o=t.default;o&&(o._c&&(o._d=!1),Hi(e,o()),o._c&&(o._d=!0));return}else{r=32;const o=t._;!o&&!(co in t)?t._ctx=Me:o===3&&Me&&(Me.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else re(t)?(t={default:t,_ctx:Me},r=32):(t=String(t),n&64?(r=16,t=[Xa(t)]):r=8);e.children=t,e.shapeFlag|=r}function zm(...e){const t={};for(let r=0;rCe||Me;let zi,_r,Ks="__VUE_INSTANCE_SETTERS__";(_r=Zo()[Ks])||(_r=Zo()[Ks]=[]),_r.push(e=>Ce=e),zi=e=>{_r.length>1?_r.forEach(t=>t(e)):_r[0](e)};const Vr=e=>{zi(e),e.scope.on()},sr=()=>{Ce&&Ce.scope.off(),zi(null)};function Ja(e){return e.vnode.shapeFlag&4}let Br=!1;function qm(e,t=!1){Br=t;const{props:r,children:n}=e.vnode,o=Ja(e);Rm(e,r,o,t),xm(e,n);const i=o?Um(e,t):void 0;return Br=!1,i}function Um(e,t){const r=e.type;e.accessCache=Object.create(null),e.proxy=ba(new Proxy(e.ctx,ym));const{setup:n}=r;if(n){const o=e.setupContext=n.length>1?Zm(e):null;Vr(e),Hr();const i=Kt(n,e,0,[e.props,o]);if(zr(),sr(),ra(i)){if(i.then(sr,sr),t)return i.then(s=>{Ws(e,s,t)}).catch(s=>{hn(s,e,0)});e.asyncDep=i}else Ws(e,i,t)}else Qa(e,t)}function Ws(e,t,r){re(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ye(t)&&(e.setupState=wa(t)),Qa(e,r)}let qs;function Qa(e,t,r){const n=e.type;if(!e.render){if(!t&&qs&&!n.render){const o=n.template||Ni(e).template;if(o){const{isCustomElement:i,compilerOptions:s}=e.appContext.config,{delimiters:l,compilerOptions:c}=n,a=xe(xe({isCustomElement:i,delimiters:l},s),c);n.render=qs(o,a)}}e.render=n.render||mt}{Vr(e),Hr();try{wm(e)}finally{zr(),sr()}}}function Gm(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,r){return qe(e,"get","$attrs"),t[r]}}))}function Zm(e){const t=r=>{e.exposed=r||{}};return{get attrs(){return Gm(e)},slots:e.slots,emit:e.emit,expose:t}}function uo(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(wa(ba(e.exposed)),{get(t,r){if(r in t)return t[r];if(r in Jr)return Jr[r](e)},has(t,r){return r in t||r in Jr}}))}function Ym(e,t=!0){return re(e)?e.displayName||e.name:e.name||t&&e.__name}function Xm(e){return re(e)&&"__vccOpts"in e}const T=(e,t)=>Zd(e,t,Br);function d(e,t,r){const n=arguments.length;return n===2?ye(t)&&!Y(t)?Xn(t)?Te(e,null,[t]):Te(e,t):Te(e,null,t):(n>3?r=Array.prototype.slice.call(arguments,2):n===3&&Xn(r)&&(r=[r]),Te(e,t,r))}const Jm=Symbol.for("v-scx"),Qm=()=>_e(Jm),ep="3.3.5",tp="http://www.w3.org/2000/svg",rr=typeof document<"u"?document:null,Us=rr&&rr.createElement("template"),rp={insert:(e,t,r)=>{t.insertBefore(e,r||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,r,n)=>{const o=t?rr.createElementNS(tp,e):rr.createElement(e,r?{is:r}:void 0);return e==="select"&&n&&n.multiple!=null&&o.setAttribute("multiple",n.multiple),o},createText:e=>rr.createTextNode(e),createComment:e=>rr.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>rr.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,r,n,o,i){const s=r?r.previousSibling:t.lastChild;if(o&&(o===i||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),r),!(o===i||!(o=o.nextSibling)););else{Us.innerHTML=n?`${e}`:e;const l=Us.content;if(n){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,r)}return[s?s.nextSibling:t.firstChild,r?r.previousSibling:t.lastChild]}},Bt="transition",qr="animation",Mr=Symbol("_vtc"),Ut=(e,{slots:t})=>d(um,tc(e),t);Ut.displayName="Transition";const ec={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},np=Ut.props=xe({},xa,ec),Qt=(e,t=[])=>{Y(e)?e.forEach(r=>r(...t)):e&&e(...t)},Gs=e=>e?Y(e)?e.some(t=>t.length>1):e.length>1:!1;function tc(e){const t={};for(const H in e)H in ec||(t[H]=e[H]);if(e.css===!1)return t;const{name:r="v",type:n,duration:o,enterFromClass:i=`${r}-enter-from`,enterActiveClass:s=`${r}-enter-active`,enterToClass:l=`${r}-enter-to`,appearFromClass:c=i,appearActiveClass:a=s,appearToClass:m=l,leaveFromClass:p=`${r}-leave-from`,leaveActiveClass:v=`${r}-leave-active`,leaveToClass:_=`${r}-leave-to`}=e,b=op(o),A=b&&b[0],k=b&&b[1],{onBeforeEnter:E,onEnter:y,onEnterCancelled:S,onLeave:C,onLeaveCancelled:K,onBeforeAppear:x=E,onAppear:Z=y,onAppearCancelled:I=S}=t,z=(H,ee,q)=>{$t(H,ee?m:l),$t(H,ee?a:s),q&&q()},G=(H,ee)=>{H._isLeaving=!1,$t(H,p),$t(H,_),$t(H,v),ee&&ee()},Q=H=>(ee,q)=>{const Pe=H?Z:y,oe=()=>z(ee,H,q);Qt(Pe,[ee,oe]),Zs(()=>{$t(ee,H?c:i),kt(ee,H?m:l),Gs(Pe)||Ys(ee,n,A,oe)})};return xe(t,{onBeforeEnter(H){Qt(E,[H]),kt(H,i),kt(H,s)},onBeforeAppear(H){Qt(x,[H]),kt(H,c),kt(H,a)},onEnter:Q(!1),onAppear:Q(!0),onLeave(H,ee){H._isLeaving=!0;const q=()=>G(H,ee);kt(H,p),nc(),kt(H,v),Zs(()=>{H._isLeaving&&($t(H,p),kt(H,_),Gs(C)||Ys(H,n,k,q))}),Qt(C,[H,q])},onEnterCancelled(H){z(H,!1),Qt(S,[H])},onAppearCancelled(H){z(H,!0),Qt(I,[H])},onLeaveCancelled(H){G(H),Qt(K,[H])}})}function op(e){if(e==null)return null;if(ye(e))return[Po(e.enter),Po(e.leave)];{const t=Po(e);return[t,t]}}function Po(e){return dd(e)}function kt(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.add(r)),(e[Mr]||(e[Mr]=new Set)).add(t)}function $t(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.remove(n));const r=e[Mr];r&&(r.delete(t),r.size||(e[Mr]=void 0))}function Zs(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let ip=0;function Ys(e,t,r,n){const o=e._endId=++ip,i=()=>{o===e._endId&&n()};if(r)return setTimeout(i,r);const{type:s,timeout:l,propCount:c}=rc(e,t);if(!s)return n();const a=s+"end";let m=0;const p=()=>{e.removeEventListener(a,v),i()},v=_=>{_.target===e&&++m>=c&&p()};setTimeout(()=>{m(r[b]||"").split(", "),o=n(`${Bt}Delay`),i=n(`${Bt}Duration`),s=Xs(o,i),l=n(`${qr}Delay`),c=n(`${qr}Duration`),a=Xs(l,c);let m=null,p=0,v=0;t===Bt?s>0&&(m=Bt,p=s,v=i.length):t===qr?a>0&&(m=qr,p=a,v=c.length):(p=Math.max(s,a),m=p>0?s>a?Bt:qr:null,v=m?m===Bt?i.length:c.length:0);const _=m===Bt&&/\b(transform|all)(,|$)/.test(n(`${Bt}Property`).toString());return{type:m,timeout:p,propCount:v,hasTransform:_}}function Xs(e,t){for(;e.lengthJs(r)+Js(e[n])))}function Js(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function nc(){return document.body.offsetHeight}function sp(e,t,r){const n=e[Mr];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):r?e.setAttribute("class",t):e.className=t}const ji=Symbol("_vod"),A_={beforeMount(e,{value:t},{transition:r}){e[ji]=e.style.display==="none"?"":e.style.display,r&&t?r.beforeEnter(e):Ur(e,t)},mounted(e,{value:t},{transition:r}){r&&t&&r.enter(e)},updated(e,{value:t,oldValue:r},{transition:n}){!t!=!r&&(n?t?(n.beforeEnter(e),Ur(e,!0),n.enter(e)):n.leave(e,()=>{Ur(e,!1)}):Ur(e,t))},beforeUnmount(e,{value:t}){Ur(e,t)}};function Ur(e,t){e.style.display=t?e[ji]:"none"}function lp(e,t,r){const n=e.style,o=ie(r);if(r&&!o){if(t&&!ie(t))for(const i in t)r[i]==null&&oi(n,i,"");for(const i in r)oi(n,i,r[i])}else{const i=n.display;o?t!==r&&(n.cssText=r):t&&e.removeAttribute("style"),ji in e&&(n.display=i)}}const Qs=/\s*!important$/;function oi(e,t,r){if(Y(r))r.forEach(n=>oi(e,t,n));else if(r==null&&(r=""),t.startsWith("--"))e.setProperty(t,r);else{const n=ap(e,t);Qs.test(r)?e.setProperty(ar(n),r.replace(Qs,""),"important"):e[n]=r}}const el=["Webkit","Moz","ms"],Io={};function ap(e,t){const r=Io[t];if(r)return r;let n=ot(t);if(n!=="filter"&&n in e)return Io[t]=n;n=vn(n);for(let o=0;oRo||(vp.then(()=>Ro=0),Ro=Date.now());function hp(e,t){const r=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=r.attached)return;nt(_p(n,r.value),t,5,[n])};return r.value=e,r.attached=fp(),r}function _p(e,t){if(Y(t)){const r=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{r.call(e),e._stopped=!0},t.map(n=>o=>!o._stopped&&n&&n(o))}else return t}const ol=/^on[a-z]/,gp=(e,t,r,n,o=!1,i,s,l,c)=>{t==="class"?sp(e,n,o):t==="style"?lp(e,r,n):pn(t)?bi(t)||mp(e,t,r,n,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Ep(e,t,n,o))?up(e,t,n,i,s,l,c):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),cp(e,t,n,o))};function Ep(e,t,r,n){return n?!!(t==="innerHTML"||t==="textContent"||t in e&&ol.test(t)&&re(r)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||ol.test(t)&&ie(r)?!1:t in e}const oc=new WeakMap,ic=new WeakMap,Jn=Symbol("_moveCb"),il=Symbol("_enterCb"),sc={name:"TransitionGroup",props:xe({},np,{tag:String,moveClass:String}),setup(e,{slots:t}){const r=mr(),n=Da();let o,i;return Va(()=>{if(!o.length)return;const s=e.moveClass||`${e.name||"v"}-move`;if(!kp(o[0].el,r.vnode.el,s))return;o.forEach(wp),o.forEach(Ap);const l=o.filter(Tp);nc(),l.forEach(c=>{const a=c.el,m=a.style;kt(a,s),m.transform=m.webkitTransform=m.transitionDuration="";const p=a[Jn]=v=>{v&&v.target!==a||(!v||/transform$/.test(v.propertyName))&&(a.removeEventListener("transitionend",p),a[Jn]=null,$t(a,s))};a.addEventListener("transitionend",p)})}),()=>{const s=ae(e),l=tc(s);let c=s.tag||He;o=i,i=t.default?Bi(t.default()):[];for(let a=0;adelete e.mode;sc.props;const yp=sc;function wp(e){const t=e.el;t[Jn]&&t[Jn](),t[il]&&t[il]()}function Ap(e){ic.set(e,e.el.getBoundingClientRect())}function Tp(e){const t=oc.get(e),r=ic.get(e),n=t.left-r.left,o=t.top-r.top;if(n||o){const i=e.el.style;return i.transform=i.webkitTransform=`translate(${n}px,${o}px)`,i.transitionDuration="0s",e}}function kp(e,t,r){const n=e.cloneNode(),o=e[Mr];o&&o.forEach(l=>{l.split(/\s+/).forEach(c=>c&&n.classList.remove(c))}),r.split(/\s+/).forEach(l=>l&&n.classList.add(l)),n.style.display="none";const i=t.nodeType===1?t:t.parentNode;i.appendChild(n);const{hasTransform:s}=rc(n);return i.removeChild(n),s}const sl=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Y(t)?r=>Fn(t,r):t};function Lp(e){e.target.composing=!0}function ll(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Oo=Symbol("_assign"),T_={created(e,{modifiers:{lazy:t,trim:r,number:n}},o){e[Oo]=sl(o);const i=n||o.props&&o.props.type==="number";br(e,t?"change":"input",s=>{if(s.target.composing)return;let l=e.value;r&&(l=l.trim()),i&&(l=Go(l)),e[Oo](l)}),r&&br(e,"change",()=>{e.value=e.value.trim()}),t||(br(e,"compositionstart",Lp),br(e,"compositionend",ll),br(e,"change",ll))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:r,trim:n,number:o}},i){if(e[Oo]=sl(i),e.composing||document.activeElement===e&&e.type!=="range"&&(r||n&&e.value.trim()===t||(o||e.type==="number")&&Go(e.value)===t))return;const s=t??"";e.value!==s&&(e.value=s)}},Pp=["ctrl","shift","alt","meta"],Ip={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)=>Pp.some(r=>e[`${r}Key`]&&!t.includes(r))},k_=(e,t)=>(r,...n)=>{for(let o=0;or=>{if(!("key"in r))return;const n=ar(r.key);if(t.some(o=>o===n||Rp[o]===n))return e(r)},Op=xe({patchProp:gp},rp);let Do,al=!1;function Dp(){return Do=al?Do:Vm(Op),al=!0,Do}const xp=(...e)=>{const t=Dp().createApp(...e),{mount:r}=t;return t.mount=n=>{const o=Sp(n);if(o)return r(o,!0,o instanceof SVGElement)},t};function Sp(e){return ie(e)?document.querySelector(e):e}const Cp={"v-96f5eae0":()=>u(()=>import("./quick-start.html-c8bcffae.js"),[]).then(({data:e})=>e),"v-8daa1a0e":()=>u(()=>import("./index.html-f9674661.js"),[]).then(({data:e})=>e),"v-5c3fc1c0":()=>u(()=>import("./big-event-history.html-1ce79af1.js"),[]).then(({data:e})=>e),"v-3abd3180":()=>u(()=>import("./changelog.html-a03d305d.js"),[]).then(({data:e})=>e),"v-fe8a3626":()=>u(()=>import("./good-idea.html-b4468d2a.js"),[]).then(({data:e})=>e),"v-117dbc0f":()=>u(()=>import("./wechat-list.html-3ab3161f.js"),[]).then(({data:e})=>e),"v-59abb39d":()=>u(()=>import("./frequent-site-link.html-87609dcf.js"),[]).then(({data:e})=>e),"v-1fda7368":()=>u(()=>import("./index.html-69511381.js"),[]).then(({data:e})=>e),"v-12379a53":()=>u(()=>import("./social-recruit.html-51aa8bb0.js"),[]).then(({data:e})=>e),"v-34ae06ca":()=>u(()=>import("./monorepo.html-b033161e.js"),[]).then(({data:e})=>e),"v-f318cfc8":()=>u(()=>import("./package-manager.html-a86e0cff.js"),[]).then(({data:e})=>e),"v-5ab53f29":()=>u(()=>import("./index.html-bf2c4bb0.js"),[]).then(({data:e})=>e),"v-38955a0a":()=>u(()=>import("./software-install.html-a868c9dd.js"),[]).then(({data:e})=>e),"v-245c2313":()=>u(()=>import("./index.html-f92b55f8.js"),[]).then(({data:e})=>e),"v-b7b8ea24":()=>u(()=>import("./job-poster-bytedance.html-b8c09d9c.js"),[]).then(({data:e})=>e),"v-51375ce0":()=>u(()=>import("./index.html-1b5326be.js"),[]).then(({data:e})=>e),"v-9f1f2872":()=>u(()=>import("./apollo.html-1a50035a.js"),[]).then(({data:e})=>e),"v-006492a4":()=>u(()=>import("./consul.html-abadc4f5.js"),[]).then(({data:e})=>e),"v-1846ee71":()=>u(()=>import("./docker-compose.html-1ba484b3.js"),[]).then(({data:e})=>e),"v-9adcc5d4":()=>u(()=>import("./docker.html-ff2a21fa.js"),[]).then(({data:e})=>e),"v-ce69cb50":()=>u(()=>import("./gateway.html-acd3294f.js"),[]).then(({data:e})=>e),"v-f584fdd0":()=>u(()=>import("./grpc.html-20c8ea42.js"),[]).then(({data:e})=>e),"v-302f44a8":()=>u(()=>import("./istio.html-f7134441.js"),[]).then(({data:e})=>e),"v-5fa33676":()=>u(()=>import("./k8s.html-1c7ed1aa.js"),[]).then(({data:e})=>e),"v-c266df30":()=>u(()=>import("./nacos.html-e02a44c3.js"),[]).then(({data:e})=>e),"v-2886c41a":()=>u(()=>import("./node-grpc.html-9c6dd585.js"),[]).then(({data:e})=>e),"v-41fb3c7a":()=>u(()=>import("./index.html-15ccaa19.js"),[]).then(({data:e})=>e),"v-7ebffb01":()=>u(()=>import("./index.html-cc07ccb2.js"),[]).then(({data:e})=>e),"v-37edb9ba":()=>u(()=>import("./index.html-90429484.js"),[]).then(({data:e})=>e),"v-68cc8c50":()=>u(()=>import("./question-collections.html-97cfec9d.js"),[]).then(({data:e})=>e),"v-7e4cd0f3":()=>u(()=>import("./index.html-dda99f7e.js"),[]).then(({data:e})=>e),"v-adce7ae8":()=>u(()=>import("./template.html-909b9b89.js"),[]).then(({data:e})=>e),"v-724309f3":()=>u(()=>import("./index.html-ba648c74.js"),[]).then(({data:e})=>e),"v-b20e3242":()=>u(()=>import("./mysql.html-28207b72.js"),[]).then(({data:e})=>e),"v-d5238232":()=>u(()=>import("./nginx.html-4cbdbd32.js"),[]).then(({data:e})=>e),"v-6a18e5af":()=>u(()=>import("./node.html-ad0feafe.js"),[]).then(({data:e})=>e),"v-16e6e026":()=>u(()=>import("./lock.html-4d9b58c2.js"),[]).then(({data:e})=>e),"v-131cc465":()=>u(()=>import("./前端常考.html-002d35a9.js"),[]).then(({data:e})=>e),"v-2ca4c15e":()=>u(()=>import("./后端汇总.html-c1c409cb.js"),[]).then(({data:e})=>e),"v-bb720378":()=>u(()=>import("./interface-idempotent.html-12d2800f.js"),[]).then(({data:e})=>e),"v-14908ad9":()=>u(()=>import("./vite.html-7cc42f0f.js"),[]).then(({data:e})=>e),"v-c60651b0":()=>u(()=>import("./webpack.html-86fa0747.js"),[]).then(({data:e})=>e),"v-488fb0ea":()=>u(()=>import("./ci-cd.html-516368a0.js"),[]).then(({data:e})=>e),"v-4feabcc0":()=>u(()=>import("./git.html-1288e327.js"),[]).then(({data:e})=>e),"v-2b08f18d":()=>u(()=>import("./github-actions.html-6d9309c2.js"),[]).then(({data:e})=>e),"v-de4f2bfc":()=>u(()=>import("./github-ci.html-8b57288f.js"),[]).then(({data:e})=>e),"v-7dae599f":()=>u(()=>import("./code-platform.html-f1f0f744.js"),[]).then(({data:e})=>e),"v-3e5681dc":()=>u(()=>import("./jenkins.html-618983c2.js"),[]).then(({data:e})=>e),"v-5877be1a":()=>u(()=>import("./eslint.html-21b28776.js"),[]).then(({data:e})=>e),"v-05aea191":()=>u(()=>import("./prettier.html-482268c8.js"),[]).then(({data:e})=>e),"v-d44de036":()=>u(()=>import("./css.html-779733e5.js"),[]).then(({data:e})=>e),"v-1b38d8ac":()=>u(()=>import("./html-correlation.html-bbaf21fc.js"),[]).then(({data:e})=>e),"v-bd15cd06":()=>u(()=>import("./javascript.html-4e20db59.js"),[]).then(({data:e})=>e),"v-97d82a5a":()=>u(()=>import("./jquery.html-850b5197.js"),[]).then(({data:e})=>e),"v-d1a308e4":()=>u(()=>import("./nuxt.html-38531670.js"),[]).then(({data:e})=>e),"v-3042083b":()=>u(()=>import("./vue.html-80b4574a.js"),[]).then(({data:e})=>e),"v-a0295758":()=>u(()=>import("./vuepress.html-17e8c56d.js"),[]).then(({data:e})=>e),"v-d60988a6":()=>u(()=>import("./ssr-improve.html-d3bf36fe.js"),[]).then(({data:e})=>e),"v-399c0e78":()=>u(()=>import("./ssr.html-180d46b8.js"),[]).then(({data:e})=>e),"v-661b6aa4":()=>u(()=>import("./static-deploy.html-a4f4aca3.js"),[]).then(({data:e})=>e),"v-bfd7d336":()=>u(()=>import("./ant-design-vue.html-7bc3aa2a.js"),[]).then(({data:e})=>e),"v-04c4ad82":()=>u(()=>import("./bootstrap.html-1a8edc36.js"),[]).then(({data:e})=>e),"v-5cad2f74":()=>u(()=>import("./element.html-0943246a.js"),[]).then(({data:e})=>e),"v-c8c65136":()=>u(()=>import("./iview-design.html-8466fe4f.js"),[]).then(({data:e})=>e),"v-2728f912":()=>u(()=>import("./layer-ui.html-74b354b1.js"),[]).then(({data:e})=>e),"v-77440280":()=>u(()=>import("./vant-ui.html-bd5db29f.js"),[]).then(({data:e})=>e),"v-44e72eaa":()=>u(()=>import("./vue.html-8819f434.js"),[]).then(({data:e})=>e),"v-f69831ec":()=>u(()=>import("./elasticsearch.html-bbf76d08.js"),[]).then(({data:e})=>e),"v-8503c14e":()=>u(()=>import("./filebeat.html-ae3b47f0.js"),[]).then(({data:e})=>e),"v-4a54158a":()=>u(()=>import("./kibana.html-e3e914a3.js"),[]).then(({data:e})=>e),"v-6747f63a":()=>u(()=>import("./logstash.html-c019e11c.js"),[]).then(({data:e})=>e),"v-38d28c4a":()=>u(()=>import("./kafka.html-d4c5a044.js"),[]).then(({data:e})=>e),"v-66321ef3":()=>u(()=>import("./rabbitmq.html-54cd1b07.js"),[]).then(({data:e})=>e),"v-a75dca0e":()=>u(()=>import("./rocketmq.html-0f1a9b65.js"),[]).then(({data:e})=>e),"v-1859ce9e":()=>u(()=>import("./ES6标准入门.html-2d1ffb26.js"),[]).then(({data:e})=>e),"v-4cdbea82":()=>u(()=>import("./good-nodejs.html-55b04e11.js"),[]).then(({data:e})=>e),"v-53746564":()=>u(()=>import("./middleware-practice.html-22f6a3df.js"),[]).then(({data:e})=>e),"v-0499da5a":()=>u(()=>import("./base-nodejs.html-a35d151e.js"),[]).then(({data:e})=>e),"v-d65a619c":()=>u(()=>import("./better-nodejs.html-1d2f8261.js"),[]).then(({data:e})=>e),"v-f5754bd4":()=>u(()=>import("./high-performance-web-server.html-80079bcd.js"),[]).then(({data:e})=>e),"v-702c6586":()=>u(()=>import("./hello-alone.html-a0b63c12.js"),[]).then(({data:e})=>e),"v-016897c6":()=>u(()=>import("./brother.html-68f8adc3.js"),[]).then(({data:e})=>e),"v-520e4836":()=>u(()=>import("./shouting-drizzle.html-cd2ec1dc.js"),[]).then(({data:e})=>e),"v-0bc3da9b":()=>u(()=>import("./good-love.html-8237065c.js"),[]).then(({data:e})=>e),"v-6261a89d":()=>u(()=>import("./wen-city.html-e0570407.js"),[]).then(({data:e})=>e),"v-0baa60fe":()=>u(()=>import("./seven-day.html-67d0a69e.js"),[]).then(({data:e})=>e),"v-9c5c99c0":()=>u(()=>import("./OAuth2.0协议.html-e60b5571.js"),[]).then(({data:e})=>e),"v-6584f32b":()=>u(()=>import("./restFul.html-93e4fe89.js"),[]).then(({data:e})=>e),"v-34004219":()=>u(()=>import("./会话信息.html-3126fc77.js"),[]).then(({data:e})=>e),"v-5829eb58":()=>u(()=>import("./接口规范.html-d2320233.js"),[]).then(({data:e})=>e),"v-75118db8":()=>u(()=>import("./远程调用.html-d86e9561.js"),[]).then(({data:e})=>e),"v-faf27d94":()=>u(()=>import("./nginx-gzip.html-1e272987.js"),[]).then(({data:e})=>e),"v-56009894":()=>u(()=>import("./nginx-proxy.html-af1f7994.js"),[]).then(({data:e})=>e),"v-2b3b4795":()=>u(()=>import("./ssl-install.html-462c2fd7.js"),[]).then(({data:e})=>e),"v-4c0b63c0":()=>u(()=>import("./store-image.html-3049ba25.js"),[]).then(({data:e})=>e),"v-18167986":()=>u(()=>import("./web-domain.html-9ba91109.js"),[]).then(({data:e})=>e),"v-1ddc5b5e":()=>u(()=>import("./index.html-6c0b7c56.js"),[]).then(({data:e})=>e),"v-77e335b5":()=>u(()=>import("./docker-compose.html-16cadaeb.js"),[]).then(({data:e})=>e),"v-36092f4c":()=>u(()=>import("./docker.html-f7b2d624.js"),[]).then(({data:e})=>e),"v-66785044":()=>u(()=>import("./dockerfile.html-107e2e99.js"),[]).then(({data:e})=>e),"v-3f7ffa34":()=>u(()=>import("./egg-cluster.html-6228b3bf.js"),[]).then(({data:e})=>e),"v-50afd69d":()=>u(()=>import("./install.html-1b295a49.js"),[]).then(({data:e})=>e),"v-368ff623":()=>u(()=>import("./pm2.html-4c8dabab.js"),[]).then(({data:e})=>e),"v-b2470cec":()=>u(()=>import("./index.html-169b039b.js"),[]).then(({data:e})=>e),"v-edf2cb9e":()=>u(()=>import("./egg-learn.html-32a542ba.js"),[]).then(({data:e})=>e),"v-e9f7f034":()=>u(()=>import("./express-learn.html-a025395b.js"),[]).then(({data:e})=>e),"v-1a27a7b9":()=>u(()=>import("./koa-learn.html-85e77a70.js"),[]).then(({data:e})=>e),"v-3d1e3c27":()=>u(()=>import("./midway-learn.html-3252b861.js"),[]).then(({data:e})=>e),"v-00bd7854":()=>u(()=>import("./nest-learn.html-f14f032a.js"),[]).then(({data:e})=>e),"v-20ea6272":()=>u(()=>import("./base-shell.html-3d74f1c6.js"),[]).then(({data:e})=>e),"v-7cbebd4f":()=>u(()=>import("./curl.html-9737075c.js"),[]).then(({data:e})=>e),"v-8d24e7a2":()=>u(()=>import("./package-manage.html-444b419b.js"),[]).then(({data:e})=>e),"v-6d23ca9e":()=>u(()=>import("./index.html-36a8cebe.js"),[]).then(({data:e})=>e),"v-1fce2e03":()=>u(()=>import("./soft-install.html-a85a74d5.js"),[]).then(({data:e})=>e),"v-6ce8c59d":()=>u(()=>import("./vim.html-a953fd46.js"),[]).then(({data:e})=>e),"v-321d5bf6":()=>u(()=>import("./axios.html-80a49fc0.js"),[]).then(({data:e})=>e),"v-32675be7":()=>u(()=>import("./dayjs.html-7d46f3e7.js"),[]).then(({data:e})=>e),"v-a62ec21e":()=>u(()=>import("./lodash.html-a1dec0aa.js"),[]).then(({data:e})=>e),"v-228f7b88":()=>u(()=>import("./npm-package.html-5fc3d5b7.js"),[]).then(({data:e})=>e),"v-2af73bf7":()=>u(()=>import("./rxjs.html-a5845b69.js"),[]).then(({data:e})=>e),"v-df98e434":()=>u(()=>import("./stream.html-990a98df.js"),[]).then(({data:e})=>e),"v-42056f6c":()=>u(()=>import("./sequelize.html-eec9aefe.js"),[]).then(({data:e})=>e),"v-4ba91591":()=>u(()=>import("./typeorm.html-eff3df66.js"),[]).then(({data:e})=>e),"v-6208f302":()=>u(()=>import("./简介.html-2b4c4d8d.js"),[]).then(({data:e})=>e),"v-bd889dc4":()=>u(()=>import("./interview-top-101.html-b1d10e13.js"),[]).then(({data:e})=>e),"v-e987b23c":()=>u(()=>import("./index.html-ce946fc9.js"),[]).then(({data:e})=>e),"v-b3bd129c":()=>u(()=>import("./index.html-2334124b.js"),[]).then(({data:e})=>e),"v-0e176937":()=>u(()=>import("./shell-1.html-3a2a8b37.js"),[]).then(({data:e})=>e),"v-95ee7bea":()=>u(()=>import("./shell-10.html-54a2d776.js"),[]).then(({data:e})=>e),"v-9284caac":()=>u(()=>import("./shell-11.html-46767c57.js"),[]).then(({data:e})=>e),"v-8f1b196e":()=>u(()=>import("./shell-12.html-04de6dda.js"),[]).then(({data:e})=>e),"v-8bb16830":()=>u(()=>import("./shell-13.html-d5a1912a.js"),[]).then(({data:e})=>e),"v-8847b6f2":()=>u(()=>import("./shell-14.html-7f1c7d42.js"),[]).then(({data:e})=>e),"v-84de05b4":()=>u(()=>import("./shell-15.html-260ca07c.js"),[]).then(({data:e})=>e),"v-81745476":()=>u(()=>import("./shell-16.html-f3729423.js"),[]).then(({data:e})=>e),"v-7e0aa338":()=>u(()=>import("./shell-17.html-667e0a1a.js"),[]).then(({data:e})=>e),"v-7aa0f1fa":()=>u(()=>import("./shell-18.html-82ab3c35.js"),[]).then(({data:e})=>e),"v-773740bc":()=>u(()=>import("./shell-19.html-31b54c49.js"),[]).then(({data:e})=>e),"v-0fcc41d6":()=>u(()=>import("./shell-2.html-5033a8e2.js"),[]).then(({data:e})=>e),"v-2c220568":()=>u(()=>import("./shell-20.html-d9943aa0.js"),[]).then(({data:e})=>e),"v-28b8542a":()=>u(()=>import("./shell-21.html-5e766927.js"),[]).then(({data:e})=>e),"v-254ea2ec":()=>u(()=>import("./shell-22.html-ce4187ec.js"),[]).then(({data:e})=>e),"v-21e4f1ae":()=>u(()=>import("./shell-23.html-62e03ce5.js"),[]).then(({data:e})=>e),"v-1e7b4070":()=>u(()=>import("./shell-24.html-b5c98075.js"),[]).then(({data:e})=>e),"v-1b118f32":()=>u(()=>import("./shell-25.html-20b67d10.js"),[]).then(({data:e})=>e),"v-17a7ddf4":()=>u(()=>import("./shell-26.html-731f38ac.js"),[]).then(({data:e})=>e),"v-143e2cb6":()=>u(()=>import("./shell-27.html-7d6be0eb.js"),[]).then(({data:e})=>e),"v-10d47b78":()=>u(()=>import("./shell-28.html-ca5a3c97.js"),[]).then(({data:e})=>e),"v-0d6aca3a":()=>u(()=>import("./shell-29.html-184581fc.js"),[]).then(({data:e})=>e),"v-11811a75":()=>u(()=>import("./shell-3.html-92da1ffa.js"),[]).then(({data:e})=>e),"v-1ed5388d":()=>u(()=>import("./shell-30.html-d19e0d66.js"),[]).then(({data:e})=>e),"v-208a112c":()=>u(()=>import("./shell-31.html-f9302506.js"),[]).then(({data:e})=>e),"v-223ee9cb":()=>u(()=>import("./shell-32.html-f91ff3d8.js"),[]).then(({data:e})=>e),"v-23f3c26a":()=>u(()=>import("./shell-33.html-45122775.js"),[]).then(({data:e})=>e),"v-25a89b09":()=>u(()=>import("./shell-34.html-24def325.js"),[]).then(({data:e})=>e),"v-1335f314":()=>u(()=>import("./shell-4.html-81e88324.js"),[]).then(({data:e})=>e),"v-14eacbb3":()=>u(()=>import("./shell-5.html-00be7a0e.js"),[]).then(({data:e})=>e),"v-169fa452":()=>u(()=>import("./shell-6.html-755f966b.js"),[]).then(({data:e})=>e),"v-18547cf1":()=>u(()=>import("./shell-7.html-8f0474ac.js"),[]).then(({data:e})=>e),"v-1a095590":()=>u(()=>import("./shell-8.html-91567eeb.js"),[]).then(({data:e})=>e),"v-1bbe2e2f":()=>u(()=>import("./shell-9.html-4d3bdd8e.js"),[]).then(({data:e})=>e),"v-15143d2c":()=>u(()=>import("./install.html-979b3f7b.js"),[]).then(({data:e})=>e),"v-7aa4655e":()=>u(()=>import("./index.html-d48bd0b3.js"),[]).then(({data:e})=>e),"v-2acb2095":()=>u(()=>import("./base-install.html-a56d78e7.js"),[]).then(({data:e})=>e),"v-5b2ae744":()=>u(()=>import("./cluster.html-c19af36e.js"),[]).then(({data:e})=>e),"v-36537eb0":()=>u(()=>import("./master-slave.html-c9143b23.js"),[]).then(({data:e})=>e),"v-c523f0a0":()=>u(()=>import("./sentinel.html-6c5588da.js"),[]).then(({data:e})=>e),"v-5dac4b12":()=>u(()=>import("./use-rule.html-e94295ff.js"),[]).then(({data:e})=>e),"v-0c84d01e":()=>u(()=>import("./index.html-d0fa6fd1.js"),[]).then(({data:e})=>e),"v-7cf2c263":()=>u(()=>import("./最佳实践.html-35bbfc54.js"),[]).then(({data:e})=>e),"v-7e2a4d94":()=>u(()=>import("./index.html-9e67c5f9.js"),[]).then(({data:e})=>e),"v-2aa4f5b4":()=>u(()=>import("./fibonacci.html-c0820aa5.js"),[]).then(({data:e})=>e),"v-25fb5ece":()=>u(()=>import("./jumpFloor.html-6543fd49.js"),[]).then(({data:e})=>e),"v-0f392b4a":()=>u(()=>import("./addList.html-0cff3922.js"),[]).then(({data:e})=>e),"v-247156e8":()=>u(()=>import("./deleteDuplicates-one.html-7ba1083f.js"),[]).then(({data:e})=>e),"v-3b547f34":()=>u(()=>import("./deleteDuplicates-two.html-49f47ca9.js"),[]).then(({data:e})=>e),"v-74faff2a":()=>u(()=>import("./entryNodeOfLoop.html-54679702.js"),[]).then(({data:e})=>e),"v-44841676":()=>u(()=>import("./findFirstCommonNode.html-44a05323.js"),[]).then(({data:e})=>e),"v-424e9909":()=>u(()=>import("./findKthToTail.html-2abfb496.js"),[]).then(({data:e})=>e),"v-1f01c30c":()=>u(()=>import("./hasCycle.html-16b36e53.js"),[]).then(({data:e})=>e),"v-5381855a":()=>u(()=>import("./isPail.html-0801a8a2.js"),[]).then(({data:e})=>e),"v-7d75a6e2":()=>u(()=>import("./merge.html-f85b7998.js"),[]).then(({data:e})=>e),"v-f346c738":()=>u(()=>import("./mergeList.html-e25245cf.js"),[]).then(({data:e})=>e),"v-03ed4e86":()=>u(()=>import("./oddEventList.html-003cdc40.js"),[]).then(({data:e})=>e),"v-0c2c57b6":()=>u(()=>import("./removeNthFromEnd.html-2093ef21.js"),[]).then(({data:e})=>e),"v-46f2efb2":()=>u(()=>import("./reverseBetween.html-d4f35cb1.js"),[]).then(({data:e})=>e),"v-4065484a":()=>u(()=>import("./reverseGroup.html-4df2c3f7.js"),[]).then(({data:e})=>e),"v-098bbe8c":()=>u(()=>import("./reverseList.html-41206145.js"),[]).then(({data:e})=>e),"v-24922c37":()=>u(()=>import("./sortInList.html-fec9014f.js"),[]).then(({data:e})=>e),"v-6d17e385":()=>u(()=>import("./getNumberOfK.html-cf9b8cf1.js"),[]).then(({data:e})=>e),"v-80f530c8":()=>u(()=>import("./minNumberInRotateArray.html-d79516a4.js"),[]).then(({data:e})=>e),"v-7d1c5970":()=>u(()=>import("./findNumsAppearOnce.html-9aead938.js"),[]).then(({data:e})=>e),"v-36b0a716":()=>u(()=>import("./numberOf1.html-88b6b5d3.js"),[]).then(({data:e})=>e),"v-46e87e3b":()=>u(()=>import("./add.html-da1d181f.js"),[]).then(({data:e})=>e),"v-408052c6":()=>u(()=>import("./isContinuous.html-a5f1166d.js"),[]).then(({data:e})=>e),"v-8d1f691a":()=>u(()=>import("./strToInt.html-6281609d.js"),[]).then(({data:e})=>e),"v-23bb3fa4":()=>u(()=>import("./power.html-9108f181.js"),[]).then(({data:e})=>e),"v-f828f4c8":()=>u(()=>import("./fibonacci.html-f6317ca9.js"),[]).then(({data:e})=>e),"v-f878e6ce":()=>u(()=>import("./findGreatestSumOfSubArray.html-3778f6a6.js"),[]).then(({data:e})=>e),"v-21008b84":()=>u(()=>import("./getUglyNumber.html-fbb4b862.js"),[]).then(({data:e})=>e),"v-818d4178":()=>u(()=>import("./jumpFloor.html-412819ad.js"),[]).then(({data:e})=>e),"v-31e41b64":()=>u(()=>import("./jumpFloorII.html-b6336107.js"),[]).then(({data:e})=>e),"v-fad10828":()=>u(()=>import("./multiply.html-46f5dca2.js"),[]).then(({data:e})=>e),"v-da9706a2":()=>u(()=>import("./rectCover.html-8ca5b093.js"),[]).then(({data:e})=>e),"v-3ddceec7":()=>u(()=>import("./findContinuousSequence.html-3a377e32.js"),[]).then(({data:e})=>e),"v-2b83729c":()=>u(()=>import("./findNumbersWithSum.html-944dc7ce.js"),[]).then(({data:e})=>e),"v-001558dd":()=>u(()=>import("./leftRotateString.html-8c067b75.js"),[]).then(({data:e})=>e),"v-48d2fa9d":()=>u(()=>import("./reverseSentence.html-472a702f.js"),[]).then(({data:e})=>e),"v-2a7d8e0f":()=>u(()=>import("./printMinNumber.html-5e96afeb.js"),[]).then(({data:e})=>e),"v-0adb62df":()=>u(()=>import("./reOrderArray.html-8d260796.js"),[]).then(({data:e})=>e),"v-6496e807":()=>u(()=>import("./lastRemaining.html-5f8cd79e.js"),[]).then(({data:e})=>e),"v-5abf406c":()=>u(()=>import("./moreThanHalfNum.html-d3c6293f.js"),[]).then(({data:e})=>e),"v-633062b6":()=>u(()=>import("./numberOf1Between1AndN.html-5ff26fb4.js"),[]).then(({data:e})=>e),"v-62756918":()=>u(()=>import("./duplicate.html-89f7893a.js"),[]).then(({data:e})=>e),"v-28981616":()=>u(()=>import("./find.html-0b91a41e.js"),[]).then(({data:e})=>e),"v-51637169":()=>u(()=>import("./firstNotRepeatingChar.html-2acafc97.js"),[]).then(({data:e})=>e),"v-30383696":()=>u(()=>import("./printMatrix.html-db5892e4.js"),[]).then(({data:e})=>e),"v-5a9d2abd":()=>u(()=>import("./replaceSpace.html-7c0d079b.js"),[]).then(({data:e})=>e),"v-49a1d07f":()=>u(()=>import("./firstAppearingOnce.html-949de89e.js"),[]).then(({data:e})=>e),"v-2e660d84":()=>u(()=>import("./getLeastNumbers.html-7098fc8b.js"),[]).then(({data:e})=>e),"v-c80ef512":()=>u(()=>import("./getMinInJSStack.html-edd23281.js"),[]).then(({data:e})=>e),"v-7d68c18a":()=>u(()=>import("./insertAndGetMedian.html-661b728a.js"),[]).then(({data:e})=>e),"v-12af7de3":()=>u(()=>import("./maxInWindows.html-00b0bfd4.js"),[]).then(({data:e})=>e),"v-6e6c7962":()=>u(()=>import("./stackToQueue.html-3fafa4d4.js"),[]).then(({data:e})=>e),"v-0d5a8f2e":()=>u(()=>import("./findPath.html-5f97bffb.js"),[]).then(({data:e})=>e),"v-6eaf0302":()=>u(()=>import("./getNext.html-71253fbc.js"),[]).then(({data:e})=>e),"v-d29ebf7a":()=>u(()=>import("./hasSubtree.html-bd4b8195.js"),[]).then(({data:e})=>e),"v-27179433":()=>u(()=>import("./isSymmetrical.html-e436e46d.js"),[]).then(({data:e})=>e),"v-c092e642":()=>u(()=>import("./ktheNode.html-3583f7f0.js"),[]).then(({data:e})=>e),"v-6d601248":()=>u(()=>import("./mirror.html-493bb285.js"),[]).then(({data:e})=>e),"v-254d82be":()=>u(()=>import("./print.html-a43cabcd.js"),[]).then(({data:e})=>e),"v-a2a13430":()=>u(()=>import("./reConstructBinaryTree.html-b2e6b49e.js"),[]).then(({data:e})=>e),"v-7b707b69":()=>u(()=>import("./cutRope.html-b3c072eb.js"),[]).then(({data:e})=>e),"v-78d02c75":()=>u(()=>import("./maxProfit.html-03bc3f8f.js"),[]).then(({data:e})=>e),"v-228935c6":()=>u(()=>import("./deleteDuplication.html-2b44f379.js"),[]).then(({data:e})=>e),"v-3e52c1fa":()=>u(()=>import("./entryNodeOfLoop.html-52880ddb.js"),[]).then(({data:e})=>e),"v-712af885":()=>u(()=>import("./findFirstCommonNode.html-65de6730.js"),[]).then(({data:e})=>e),"v-b3e01b50":()=>u(()=>import("./findKthToTail.html-8263d535.js"),[]).then(({data:e})=>e),"v-20b0bf31":()=>u(()=>import("./merge.html-b9d6402e.js"),[]).then(({data:e})=>e),"v-9115502e":()=>u(()=>import("./printListFromTailToHead.html-7156b2b4.js"),[]).then(({data:e})=>e),"v-2260fc6e":()=>u(()=>import("./reverseList.html-4cd725d7.js"),[]).then(({data:e})=>e),"v-19fc293d":()=>u(()=>import("./egg-mysql.html-6e582c63.js"),[]).then(({data:e})=>e),"v-cebdb7f8":()=>u(()=>import("./egg-redis.html-678017c4.js"),[]).then(({data:e})=>e),"v-858e3230":()=>u(()=>import("./egg-sequelize.html-24b9c0f4.js"),[]).then(({data:e})=>e),"v-4a1cf3fd":()=>u(()=>import("./egg-validate.html-b6e004fd.js"),[]).then(({data:e})=>e),"v-76e57250":()=>u(()=>import("./中间件.html-5ede0b06.js"),[]).then(({data:e})=>e),"v-696a6a4b":()=>u(()=>import("./定时任务.html-6c09fccd.js"),[]).then(({data:e})=>e),"v-4499d738":()=>u(()=>import("./快速入门.html-1b7deddd.js"),[]).then(({data:e})=>e),"v-24ceb0dd":()=>u(()=>import("./控制器和服务.html-b737a493.js"),[]).then(({data:e})=>e),"v-20b0d7ba":()=>u(()=>import("./框架对象.html-d68f8f5e.js"),[]).then(({data:e})=>e),"v-1f4c22f0":()=>u(()=>import("./框架拓展.html-ee06327c.js"),[]).then(({data:e})=>e),"v-09c57234":()=>u(()=>import("./目录结构.html-4ce017a5.js"),[]).then(({data:e})=>e),"v-7503a813":()=>u(()=>import("./简介.html-2fa7fe24.js"),[]).then(({data:e})=>e),"v-a18b3132":()=>u(()=>import("./路由的使用.html-7af7c0a4.js"),[]).then(({data:e})=>e),"v-1b02aabe":()=>u(()=>import("./配置和运行环境.html-053a61c4.js"),[]).then(({data:e})=>e),"v-3706649a":()=>u(()=>import("./404.html-f3bf19c5.js"),[]).then(({data:e})=>e)},Vp=JSON.parse('{"base":"/JavaScriptCollection/","lang":"en-US","title":"凡是过往、皆为序章","description":"一本有趣的JavaScript合集","head":[["link",{"rel":"icon","href":"/fight_favicon.ico"}],["script",{"type":"text/javascript","src":"/_vercel/insights/script.js"}],["script",{},"\\n var _hmt = _hmt || [];\\n (function() {\\n var hm = document.createElement(\\"script\\");\\n hm.src = \\"https://hm.baidu.com/hm.js?613c9d7af9e1c9a7f9eef6a55aa2399d\\";\\n var s = document.getElementsByTagName(\\"script\\")[0];\\n s.parentNode.insertBefore(hm, s);\\n })();"],["link",{"rel":"icon","href":"/JavaScriptCollection/favicon.ico"}]],"locales":{}}');var Bp=([e,t,r])=>e==="meta"&&t.name?`${e}.${t.name}`:["title","base"].includes(e)?e:e==="template"&&t.id?`${e}.${t.id}`:JSON.stringify([e,t,r]),Mp=e=>{const t=new Set,r=[];return e.forEach(n=>{const o=Bp(n);t.has(o)||(t.add(o),r.push(n))}),r},lc=e=>e[e.length-1]==="/"||e.endsWith(".html")?e:`${e}/`,$p=e=>e.startsWith("ftp://"),Zt=e=>/^(https?:)?\/\//.test(e),Np=/.md((\?|#).*)?$/,dn=(e,t="/")=>!!(Zt(e)||$p(e)||e.startsWith("/")&&!e.startsWith(t)&&!Np.test(e)),ac=e=>/^mailto:/.test(e),Fp=e=>/^tel:/.test(e),Ki=e=>Object.prototype.toString.call(e)==="[object Object]",Wi=e=>e[e.length-1]==="/"?e.slice(0,-1):e,cc=e=>e[0]==="/"?e.slice(1):e,Hp=(e,t)=>{const r=Object.keys(e).sort((n,o)=>{const i=o.split("/").length-n.split("/").length;return i!==0?i:o.length-n.length});for(const n of r)if(t.startsWith(n))return n;return"/"};const uc={"v-96f5eae0":f(()=>u(()=>import("./quick-start.html-3b47544f.js"),["assets/quick-start.html-3b47544f.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-8daa1a0e":f(()=>u(()=>import("./index.html-105e6c32.js"),["assets/index.html-105e6c32.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5c3fc1c0":f(()=>u(()=>import("./big-event-history.html-13df0812.js"),["assets/big-event-history.html-13df0812.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-3abd3180":f(()=>u(()=>import("./changelog.html-27f452df.js"),["assets/changelog.html-27f452df.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-fe8a3626":f(()=>u(()=>import("./good-idea.html-9234ab0b.js"),["assets/good-idea.html-9234ab0b.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-117dbc0f":f(()=>u(()=>import("./wechat-list.html-101d1376.js"),["assets/wechat-list.html-101d1376.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-59abb39d":f(()=>u(()=>import("./frequent-site-link.html-aa408069.js"),["assets/frequent-site-link.html-aa408069.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1fda7368":f(()=>u(()=>import("./index.html-0edd21e6.js"),["assets/index.html-0edd21e6.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-12379a53":f(()=>u(()=>import("./social-recruit.html-c1d4f00c.js"),["assets/social-recruit.html-c1d4f00c.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-34ae06ca":f(()=>u(()=>import("./monorepo.html-3d60c649.js"),["assets/monorepo.html-3d60c649.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-f318cfc8":f(()=>u(()=>import("./package-manager.html-036d0457.js"),["assets/package-manager.html-036d0457.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5ab53f29":f(()=>u(()=>import("./index.html-4fc5152a.js"),["assets/index.html-4fc5152a.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-38955a0a":f(()=>u(()=>import("./software-install.html-fdeda0df.js"),["assets/software-install.html-fdeda0df.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-245c2313":f(()=>u(()=>import("./index.html-8c490c10.js"),["assets/index.html-8c490c10.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-b7b8ea24":f(()=>u(()=>import("./job-poster-bytedance.html-f5dadab5.js"),["assets/job-poster-bytedance.html-f5dadab5.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-51375ce0":f(()=>u(()=>import("./index.html-9caf14c2.js"),["assets/index.html-9caf14c2.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-9f1f2872":f(()=>u(()=>import("./apollo.html-04c507df.js"),["assets/apollo.html-04c507df.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-006492a4":f(()=>u(()=>import("./consul.html-cfc2d05c.js"),["assets/consul.html-cfc2d05c.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1846ee71":f(()=>u(()=>import("./docker-compose.html-51ac5a1f.js"),["assets/docker-compose.html-51ac5a1f.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-9adcc5d4":f(()=>u(()=>import("./docker.html-b38e34da.js"),["assets/docker.html-b38e34da.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-ce69cb50":f(()=>u(()=>import("./gateway.html-5b2b39b5.js"),["assets/gateway.html-5b2b39b5.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-f584fdd0":f(()=>u(()=>import("./grpc.html-44f84983.js"),["assets/grpc.html-44f84983.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-302f44a8":f(()=>u(()=>import("./istio.html-1bccd3cb.js"),["assets/istio.html-1bccd3cb.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5fa33676":f(()=>u(()=>import("./k8s.html-569fa77b.js"),["assets/k8s.html-569fa77b.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-c266df30":f(()=>u(()=>import("./nacos.html-1a10a215.js"),["assets/nacos.html-1a10a215.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2886c41a":f(()=>u(()=>import("./node-grpc.html-49da0454.js"),["assets/node-grpc.html-49da0454.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-41fb3c7a":f(()=>u(()=>import("./index.html-9fd8ab14.js"),["assets/index.html-9fd8ab14.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-7ebffb01":f(()=>u(()=>import("./index.html-2bc6bae6.js"),["assets/index.html-2bc6bae6.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-37edb9ba":f(()=>u(()=>import("./index.html-e823a74c.js"),["assets/index.html-e823a74c.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-68cc8c50":f(()=>u(()=>import("./question-collections.html-f0006c76.js"),["assets/question-collections.html-f0006c76.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-7e4cd0f3":f(()=>u(()=>import("./index.html-c16e2c7b.js"),["assets/index.html-c16e2c7b.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-adce7ae8":f(()=>u(()=>import("./template.html-229135e9.js"),["assets/template.html-229135e9.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-724309f3":f(()=>u(()=>import("./index.html-0fba9c62.js"),["assets/index.html-0fba9c62.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-b20e3242":f(()=>u(()=>import("./mysql.html-127bc048.js"),["assets/mysql.html-127bc048.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-d5238232":f(()=>u(()=>import("./nginx.html-03ff4cce.js"),["assets/nginx.html-03ff4cce.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-6a18e5af":f(()=>u(()=>import("./node.html-8858eb9e.js"),["assets/node.html-8858eb9e.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-16e6e026":f(()=>u(()=>import("./lock.html-981bf00d.js"),["assets/lock.html-981bf00d.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-131cc465":f(()=>u(()=>import("./前端常考.html-ebdd415b.js"),["assets/前端常考.html-ebdd415b.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2ca4c15e":f(()=>u(()=>import("./后端汇总.html-9d932669.js"),["assets/后端汇总.html-9d932669.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-bb720378":f(()=>u(()=>import("./interface-idempotent.html-65a92548.js"),["assets/interface-idempotent.html-65a92548.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-14908ad9":f(()=>u(()=>import("./vite.html-ec090d3f.js"),["assets/vite.html-ec090d3f.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-c60651b0":f(()=>u(()=>import("./webpack.html-502088b4.js"),["assets/webpack.html-502088b4.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-488fb0ea":f(()=>u(()=>import("./ci-cd.html-1cadfe89.js"),["assets/ci-cd.html-1cadfe89.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-4feabcc0":f(()=>u(()=>import("./git.html-a2ed39c3.js"),["assets/git.html-a2ed39c3.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2b08f18d":f(()=>u(()=>import("./github-actions.html-7b60760e.js"),["assets/github-actions.html-7b60760e.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-de4f2bfc":f(()=>u(()=>import("./github-ci.html-6d6871b2.js"),["assets/github-ci.html-6d6871b2.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-7dae599f":f(()=>u(()=>import("./code-platform.html-3a31f67b.js"),["assets/code-platform.html-3a31f67b.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-3e5681dc":f(()=>u(()=>import("./jenkins.html-856d9a18.js"),["assets/jenkins.html-856d9a18.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5877be1a":f(()=>u(()=>import("./eslint.html-45c36e0c.js"),["assets/eslint.html-45c36e0c.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-05aea191":f(()=>u(()=>import("./prettier.html-518f0454.js"),["assets/prettier.html-518f0454.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-d44de036":f(()=>u(()=>import("./css.html-3c4c6216.js"),["assets/css.html-3c4c6216.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1b38d8ac":f(()=>u(()=>import("./html-correlation.html-7d88c631.js"),["assets/html-correlation.html-7d88c631.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-bd15cd06":f(()=>u(()=>import("./javascript.html-a7760e57.js"),["assets/javascript.html-a7760e57.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-97d82a5a":f(()=>u(()=>import("./jquery.html-095b2e3e.js"),["assets/jquery.html-095b2e3e.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-d1a308e4":f(()=>u(()=>import("./nuxt.html-d29a6726.js"),["assets/nuxt.html-d29a6726.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-3042083b":f(()=>u(()=>import("./vue.html-afacf4bd.js"),["assets/vue.html-afacf4bd.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-a0295758":f(()=>u(()=>import("./vuepress.html-e12bcbd5.js"),["assets/vuepress.html-e12bcbd5.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-d60988a6":f(()=>u(()=>import("./ssr-improve.html-f29f5aba.js"),["assets/ssr-improve.html-f29f5aba.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-399c0e78":f(()=>u(()=>import("./ssr.html-a761e71b.js"),["assets/ssr.html-a761e71b.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-661b6aa4":f(()=>u(()=>import("./static-deploy.html-877ea072.js"),["assets/static-deploy.html-877ea072.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-bfd7d336":f(()=>u(()=>import("./ant-design-vue.html-60d22422.js"),["assets/ant-design-vue.html-60d22422.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-04c4ad82":f(()=>u(()=>import("./bootstrap.html-c27d32bb.js"),["assets/bootstrap.html-c27d32bb.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5cad2f74":f(()=>u(()=>import("./element.html-09cc06ae.js"),["assets/element.html-09cc06ae.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-c8c65136":f(()=>u(()=>import("./iview-design.html-c07f7466.js"),["assets/iview-design.html-c07f7466.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2728f912":f(()=>u(()=>import("./layer-ui.html-ef4ce20f.js"),["assets/layer-ui.html-ef4ce20f.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-77440280":f(()=>u(()=>import("./vant-ui.html-3dcdc61e.js"),["assets/vant-ui.html-3dcdc61e.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-44e72eaa":f(()=>u(()=>import("./vue.html-67fdd6ba.js"),["assets/vue.html-67fdd6ba.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-f69831ec":f(()=>u(()=>import("./elasticsearch.html-b0b009b0.js"),["assets/elasticsearch.html-b0b009b0.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-8503c14e":f(()=>u(()=>import("./filebeat.html-c8be6d4c.js"),["assets/filebeat.html-c8be6d4c.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-4a54158a":f(()=>u(()=>import("./kibana.html-0508a24e.js"),["assets/kibana.html-0508a24e.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-6747f63a":f(()=>u(()=>import("./logstash.html-7f404d4f.js"),["assets/logstash.html-7f404d4f.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-38d28c4a":f(()=>u(()=>import("./kafka.html-3bbdbd4c.js"),["assets/kafka.html-3bbdbd4c.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-66321ef3":f(()=>u(()=>import("./rabbitmq.html-f7aad78d.js"),["assets/rabbitmq.html-f7aad78d.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-a75dca0e":f(()=>u(()=>import("./rocketmq.html-d1280890.js"),["assets/rocketmq.html-d1280890.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1859ce9e":f(()=>u(()=>import("./ES6标准入门.html-e0d78135.js"),["assets/ES6标准入门.html-e0d78135.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-4cdbea82":f(()=>u(()=>import("./good-nodejs.html-db63ad25.js"),["assets/good-nodejs.html-db63ad25.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-53746564":f(()=>u(()=>import("./middleware-practice.html-e3a8e81a.js"),["assets/middleware-practice.html-e3a8e81a.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0499da5a":f(()=>u(()=>import("./base-nodejs.html-0c0a1978.js"),["assets/base-nodejs.html-0c0a1978.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-d65a619c":f(()=>u(()=>import("./better-nodejs.html-ff7293ce.js"),["assets/better-nodejs.html-ff7293ce.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-f5754bd4":f(()=>u(()=>import("./high-performance-web-server.html-1952fdde.js"),["assets/high-performance-web-server.html-1952fdde.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-702c6586":f(()=>u(()=>import("./hello-alone.html-55da41e0.js"),["assets/hello-alone.html-55da41e0.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-016897c6":f(()=>u(()=>import("./brother.html-20da24ad.js"),["assets/brother.html-20da24ad.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-520e4836":f(()=>u(()=>import("./shouting-drizzle.html-0107253f.js"),["assets/shouting-drizzle.html-0107253f.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0bc3da9b":f(()=>u(()=>import("./good-love.html-cfbeb8e9.js"),["assets/good-love.html-cfbeb8e9.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-6261a89d":f(()=>u(()=>import("./wen-city.html-61d85f8d.js"),["assets/wen-city.html-61d85f8d.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0baa60fe":f(()=>u(()=>import("./seven-day.html-591dc5a5.js"),["assets/seven-day.html-591dc5a5.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-9c5c99c0":f(()=>u(()=>import("./OAuth2.0协议.html-25517870.js"),["assets/OAuth2.0协议.html-25517870.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-6584f32b":f(()=>u(()=>import("./restFul.html-eed1b9b2.js"),["assets/restFul.html-eed1b9b2.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-34004219":f(()=>u(()=>import("./会话信息.html-c33c35a4.js"),["assets/会话信息.html-c33c35a4.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5829eb58":f(()=>u(()=>import("./接口规范.html-6a1f3dd0.js"),["assets/接口规范.html-6a1f3dd0.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-75118db8":f(()=>u(()=>import("./远程调用.html-ae4620ef.js"),["assets/远程调用.html-ae4620ef.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-faf27d94":f(()=>u(()=>import("./nginx-gzip.html-d4a83acb.js"),["assets/nginx-gzip.html-d4a83acb.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-56009894":f(()=>u(()=>import("./nginx-proxy.html-0337f652.js"),["assets/nginx-proxy.html-0337f652.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2b3b4795":f(()=>u(()=>import("./ssl-install.html-d9455382.js"),["assets/ssl-install.html-d9455382.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-4c0b63c0":f(()=>u(()=>import("./store-image.html-eff0e6c4.js"),["assets/store-image.html-eff0e6c4.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-18167986":f(()=>u(()=>import("./web-domain.html-b291b145.js"),["assets/web-domain.html-b291b145.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1ddc5b5e":f(()=>u(()=>import("./index.html-bf1ae4de.js"),["assets/index.html-bf1ae4de.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-77e335b5":f(()=>u(()=>import("./docker-compose.html-1834033a.js"),["assets/docker-compose.html-1834033a.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-36092f4c":f(()=>u(()=>import("./docker.html-56a929bf.js"),["assets/docker.html-56a929bf.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-66785044":f(()=>u(()=>import("./dockerfile.html-47edb47a.js"),["assets/dockerfile.html-47edb47a.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-3f7ffa34":f(()=>u(()=>import("./egg-cluster.html-90faa8ed.js"),["assets/egg-cluster.html-90faa8ed.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-50afd69d":f(()=>u(()=>import("./install.html-74ec5c57.js"),["assets/install.html-74ec5c57.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-368ff623":f(()=>u(()=>import("./pm2.html-a6fd1ee3.js"),["assets/pm2.html-a6fd1ee3.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-b2470cec":f(()=>u(()=>import("./index.html-69f8c783.js"),["assets/index.html-69f8c783.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-edf2cb9e":f(()=>u(()=>import("./egg-learn.html-bac555f1.js"),["assets/egg-learn.html-bac555f1.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-e9f7f034":f(()=>u(()=>import("./express-learn.html-832b0e52.js"),["assets/express-learn.html-832b0e52.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1a27a7b9":f(()=>u(()=>import("./koa-learn.html-ce3b0579.js"),["assets/koa-learn.html-ce3b0579.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-3d1e3c27":f(()=>u(()=>import("./midway-learn.html-096e0294.js"),["assets/midway-learn.html-096e0294.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-00bd7854":f(()=>u(()=>import("./nest-learn.html-c7b8d476.js"),["assets/nest-learn.html-c7b8d476.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-20ea6272":f(()=>u(()=>import("./base-shell.html-af137a47.js"),["assets/base-shell.html-af137a47.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-7cbebd4f":f(()=>u(()=>import("./curl.html-86b4a268.js"),["assets/curl.html-86b4a268.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-8d24e7a2":f(()=>u(()=>import("./package-manage.html-8075c2ba.js"),["assets/package-manage.html-8075c2ba.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-6d23ca9e":f(()=>u(()=>import("./index.html-3fbf79fa.js"),["assets/index.html-3fbf79fa.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1fce2e03":f(()=>u(()=>import("./soft-install.html-b4c5b0f7.js"),["assets/soft-install.html-b4c5b0f7.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-6ce8c59d":f(()=>u(()=>import("./vim.html-0d3f41fb.js"),["assets/vim.html-0d3f41fb.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-321d5bf6":f(()=>u(()=>import("./axios.html-ba334cf8.js"),["assets/axios.html-ba334cf8.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-32675be7":f(()=>u(()=>import("./dayjs.html-71b20631.js"),["assets/dayjs.html-71b20631.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-a62ec21e":f(()=>u(()=>import("./lodash.html-4b31aa0e.js"),["assets/lodash.html-4b31aa0e.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-228f7b88":f(()=>u(()=>import("./npm-package.html-44d434dd.js"),["assets/npm-package.html-44d434dd.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2af73bf7":f(()=>u(()=>import("./rxjs.html-db01a8f2.js"),["assets/rxjs.html-db01a8f2.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-df98e434":f(()=>u(()=>import("./stream.html-e4d35be5.js"),["assets/stream.html-e4d35be5.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-42056f6c":f(()=>u(()=>import("./sequelize.html-05f2d49f.js"),["assets/sequelize.html-05f2d49f.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-4ba91591":f(()=>u(()=>import("./typeorm.html-0e4b4ec6.js"),["assets/typeorm.html-0e4b4ec6.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-6208f302":f(()=>u(()=>import("./简介.html-9a919e93.js"),["assets/简介.html-9a919e93.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-bd889dc4":f(()=>u(()=>import("./interview-top-101.html-2892a351.js"),["assets/interview-top-101.html-2892a351.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-e987b23c":f(()=>u(()=>import("./index.html-d6c3a861.js"),["assets/index.html-d6c3a861.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-b3bd129c":f(()=>u(()=>import("./index.html-ba52b762.js"),["assets/index.html-ba52b762.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0e176937":f(()=>u(()=>import("./shell-1.html-5aa3c9c2.js"),["assets/shell-1.html-5aa3c9c2.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-95ee7bea":f(()=>u(()=>import("./shell-10.html-9997f9d3.js"),["assets/shell-10.html-9997f9d3.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-9284caac":f(()=>u(()=>import("./shell-11.html-6456da1c.js"),["assets/shell-11.html-6456da1c.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-8f1b196e":f(()=>u(()=>import("./shell-12.html-a777a9b2.js"),["assets/shell-12.html-a777a9b2.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-8bb16830":f(()=>u(()=>import("./shell-13.html-049eb8e3.js"),["assets/shell-13.html-049eb8e3.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-8847b6f2":f(()=>u(()=>import("./shell-14.html-7c903c39.js"),["assets/shell-14.html-7c903c39.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-84de05b4":f(()=>u(()=>import("./shell-15.html-2b6b4d2f.js"),["assets/shell-15.html-2b6b4d2f.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-81745476":f(()=>u(()=>import("./shell-16.html-aba5207d.js"),["assets/shell-16.html-aba5207d.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-7e0aa338":f(()=>u(()=>import("./shell-17.html-6f324ee2.js"),["assets/shell-17.html-6f324ee2.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-7aa0f1fa":f(()=>u(()=>import("./shell-18.html-25982269.js"),["assets/shell-18.html-25982269.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-773740bc":f(()=>u(()=>import("./shell-19.html-362062ed.js"),["assets/shell-19.html-362062ed.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0fcc41d6":f(()=>u(()=>import("./shell-2.html-d1ecd511.js"),["assets/shell-2.html-d1ecd511.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2c220568":f(()=>u(()=>import("./shell-20.html-24dceb86.js"),["assets/shell-20.html-24dceb86.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-28b8542a":f(()=>u(()=>import("./shell-21.html-5135582b.js"),["assets/shell-21.html-5135582b.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-254ea2ec":f(()=>u(()=>import("./shell-22.html-fcff3878.js"),["assets/shell-22.html-fcff3878.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-21e4f1ae":f(()=>u(()=>import("./shell-23.html-3f154c17.js"),["assets/shell-23.html-3f154c17.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1e7b4070":f(()=>u(()=>import("./shell-24.html-54f48925.js"),["assets/shell-24.html-54f48925.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1b118f32":f(()=>u(()=>import("./shell-25.html-9e815a7b.js"),["assets/shell-25.html-9e815a7b.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-17a7ddf4":f(()=>u(()=>import("./shell-26.html-08d49778.js"),["assets/shell-26.html-08d49778.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-143e2cb6":f(()=>u(()=>import("./shell-27.html-aa9c07ba.js"),["assets/shell-27.html-aa9c07ba.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-10d47b78":f(()=>u(()=>import("./shell-28.html-995867a3.js"),["assets/shell-28.html-995867a3.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0d6aca3a":f(()=>u(()=>import("./shell-29.html-72a70865.js"),["assets/shell-29.html-72a70865.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-11811a75":f(()=>u(()=>import("./shell-3.html-479303f6.js"),["assets/shell-3.html-479303f6.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1ed5388d":f(()=>u(()=>import("./shell-30.html-6252d6fc.js"),["assets/shell-30.html-6252d6fc.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-208a112c":f(()=>u(()=>import("./shell-31.html-7c6978a1.js"),["assets/shell-31.html-7c6978a1.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-223ee9cb":f(()=>u(()=>import("./shell-32.html-a53b5b5f.js"),["assets/shell-32.html-a53b5b5f.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-23f3c26a":f(()=>u(()=>import("./shell-33.html-007adc1a.js"),["assets/shell-33.html-007adc1a.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-25a89b09":f(()=>u(()=>import("./shell-34.html-6c69e4b0.js"),["assets/shell-34.html-6c69e4b0.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1335f314":f(()=>u(()=>import("./shell-4.html-cbf47693.js"),["assets/shell-4.html-cbf47693.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-14eacbb3":f(()=>u(()=>import("./shell-5.html-c4020dc1.js"),["assets/shell-5.html-c4020dc1.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-169fa452":f(()=>u(()=>import("./shell-6.html-70e882c4.js"),["assets/shell-6.html-70e882c4.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-18547cf1":f(()=>u(()=>import("./shell-7.html-362a1107.js"),["assets/shell-7.html-362a1107.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1a095590":f(()=>u(()=>import("./shell-8.html-9b4518fe.js"),["assets/shell-8.html-9b4518fe.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1bbe2e2f":f(()=>u(()=>import("./shell-9.html-844a7bf9.js"),["assets/shell-9.html-844a7bf9.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-15143d2c":f(()=>u(()=>import("./install.html-f8ea89c0.js"),["assets/install.html-f8ea89c0.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-7aa4655e":f(()=>u(()=>import("./index.html-44e3aed1.js"),["assets/index.html-44e3aed1.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2acb2095":f(()=>u(()=>import("./base-install.html-709ec529.js"),["assets/base-install.html-709ec529.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5b2ae744":f(()=>u(()=>import("./cluster.html-1c14a75e.js"),["assets/cluster.html-1c14a75e.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-36537eb0":f(()=>u(()=>import("./master-slave.html-ec9a2c05.js"),["assets/master-slave.html-ec9a2c05.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-c523f0a0":f(()=>u(()=>import("./sentinel.html-a9822ab5.js"),["assets/sentinel.html-a9822ab5.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5dac4b12":f(()=>u(()=>import("./use-rule.html-38f47aee.js"),["assets/use-rule.html-38f47aee.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0c84d01e":f(()=>u(()=>import("./index.html-519dcc10.js"),["assets/index.html-519dcc10.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-7cf2c263":f(()=>u(()=>import("./最佳实践.html-c43231a8.js"),["assets/最佳实践.html-c43231a8.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-7e2a4d94":f(()=>u(()=>import("./index.html-524a0438.js"),["assets/index.html-524a0438.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2aa4f5b4":f(()=>u(()=>import("./fibonacci.html-d7b4ac72.js"),["assets/fibonacci.html-d7b4ac72.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-25fb5ece":f(()=>u(()=>import("./jumpFloor.html-c68679ee.js"),["assets/jumpFloor.html-c68679ee.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0f392b4a":f(()=>u(()=>import("./addList.html-df906ef2.js"),["assets/addList.html-df906ef2.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-247156e8":f(()=>u(()=>import("./deleteDuplicates-one.html-b498a393.js"),["assets/deleteDuplicates-one.html-b498a393.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-3b547f34":f(()=>u(()=>import("./deleteDuplicates-two.html-6fb00cfc.js"),["assets/deleteDuplicates-two.html-6fb00cfc.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-74faff2a":f(()=>u(()=>import("./entryNodeOfLoop.html-75f9df3a.js"),["assets/entryNodeOfLoop.html-75f9df3a.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-44841676":f(()=>u(()=>import("./findFirstCommonNode.html-70a11e38.js"),["assets/findFirstCommonNode.html-70a11e38.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-424e9909":f(()=>u(()=>import("./findKthToTail.html-fc78e811.js"),["assets/findKthToTail.html-fc78e811.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1f01c30c":f(()=>u(()=>import("./hasCycle.html-c71c4f67.js"),["assets/hasCycle.html-c71c4f67.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5381855a":f(()=>u(()=>import("./isPail.html-4fd10a20.js"),["assets/isPail.html-4fd10a20.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-7d75a6e2":f(()=>u(()=>import("./merge.html-624748a3.js"),["assets/merge.html-624748a3.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-f346c738":f(()=>u(()=>import("./mergeList.html-3733987d.js"),["assets/mergeList.html-3733987d.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-03ed4e86":f(()=>u(()=>import("./oddEventList.html-441579e8.js"),["assets/oddEventList.html-441579e8.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0c2c57b6":f(()=>u(()=>import("./removeNthFromEnd.html-5c6fb39a.js"),["assets/removeNthFromEnd.html-5c6fb39a.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-46f2efb2":f(()=>u(()=>import("./reverseBetween.html-cf9a8c77.js"),["assets/reverseBetween.html-cf9a8c77.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-4065484a":f(()=>u(()=>import("./reverseGroup.html-d1169c3c.js"),["assets/reverseGroup.html-d1169c3c.js","assets/reverseList-5fa41028.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-098bbe8c":f(()=>u(()=>import("./reverseList.html-758e0ae5.js"),["assets/reverseList.html-758e0ae5.js","assets/reverseList-5fa41028.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-24922c37":f(()=>u(()=>import("./sortInList.html-ad5b8f8f.js"),["assets/sortInList.html-ad5b8f8f.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-6d17e385":f(()=>u(()=>import("./getNumberOfK.html-17356376.js"),["assets/getNumberOfK.html-17356376.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-80f530c8":f(()=>u(()=>import("./minNumberInRotateArray.html-3a6d73b9.js"),["assets/minNumberInRotateArray.html-3a6d73b9.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-7d1c5970":f(()=>u(()=>import("./findNumsAppearOnce.html-c886b6dd.js"),["assets/findNumsAppearOnce.html-c886b6dd.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-36b0a716":f(()=>u(()=>import("./numberOf1.html-4fe44c5f.js"),["assets/numberOf1.html-4fe44c5f.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-46e87e3b":f(()=>u(()=>import("./add.html-37b01284.js"),["assets/add.html-37b01284.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-408052c6":f(()=>u(()=>import("./isContinuous.html-135ad528.js"),["assets/isContinuous.html-135ad528.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-8d1f691a":f(()=>u(()=>import("./strToInt.html-facc45bc.js"),["assets/strToInt.html-facc45bc.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-23bb3fa4":f(()=>u(()=>import("./power.html-8d5023d4.js"),["assets/power.html-8d5023d4.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-f828f4c8":f(()=>u(()=>import("./fibonacci.html-2286b483.js"),["assets/fibonacci.html-2286b483.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-f878e6ce":f(()=>u(()=>import("./findGreatestSumOfSubArray.html-c696e35f.js"),["assets/findGreatestSumOfSubArray.html-c696e35f.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-21008b84":f(()=>u(()=>import("./getUglyNumber.html-32a169b4.js"),["assets/getUglyNumber.html-32a169b4.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-818d4178":f(()=>u(()=>import("./jumpFloor.html-881fea18.js"),["assets/jumpFloor.html-881fea18.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-31e41b64":f(()=>u(()=>import("./jumpFloorII.html-ed2d5f6a.js"),["assets/jumpFloorII.html-ed2d5f6a.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-fad10828":f(()=>u(()=>import("./multiply.html-22788e9d.js"),["assets/multiply.html-22788e9d.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-da9706a2":f(()=>u(()=>import("./rectCover.html-8fe87983.js"),["assets/rectCover.html-8fe87983.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-3ddceec7":f(()=>u(()=>import("./findContinuousSequence.html-f86c4dbd.js"),["assets/findContinuousSequence.html-f86c4dbd.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2b83729c":f(()=>u(()=>import("./findNumbersWithSum.html-6a838dec.js"),["assets/findNumbersWithSum.html-6a838dec.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-001558dd":f(()=>u(()=>import("./leftRotateString.html-d79cf899.js"),["assets/leftRotateString.html-d79cf899.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-48d2fa9d":f(()=>u(()=>import("./reverseSentence.html-c256d7af.js"),["assets/reverseSentence.html-c256d7af.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2a7d8e0f":f(()=>u(()=>import("./printMinNumber.html-51d70e0b.js"),["assets/printMinNumber.html-51d70e0b.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0adb62df":f(()=>u(()=>import("./reOrderArray.html-69d8448f.js"),["assets/reOrderArray.html-69d8448f.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-6496e807":f(()=>u(()=>import("./lastRemaining.html-a4708b98.js"),["assets/lastRemaining.html-a4708b98.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5abf406c":f(()=>u(()=>import("./moreThanHalfNum.html-2ccaa929.js"),["assets/moreThanHalfNum.html-2ccaa929.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-633062b6":f(()=>u(()=>import("./numberOf1Between1AndN.html-7d533cba.js"),["assets/numberOf1Between1AndN.html-7d533cba.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-62756918":f(()=>u(()=>import("./duplicate.html-9dab520a.js"),["assets/duplicate.html-9dab520a.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-28981616":f(()=>u(()=>import("./find.html-ab00cb8b.js"),["assets/find.html-ab00cb8b.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-51637169":f(()=>u(()=>import("./firstNotRepeatingChar.html-b63e95f9.js"),["assets/firstNotRepeatingChar.html-b63e95f9.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-30383696":f(()=>u(()=>import("./printMatrix.html-92e403f3.js"),["assets/printMatrix.html-92e403f3.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5a9d2abd":f(()=>u(()=>import("./replaceSpace.html-52dd6e86.js"),["assets/replaceSpace.html-52dd6e86.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-49a1d07f":f(()=>u(()=>import("./firstAppearingOnce.html-0405a006.js"),["assets/firstAppearingOnce.html-0405a006.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2e660d84":f(()=>u(()=>import("./getLeastNumbers.html-20bff421.js"),["assets/getLeastNumbers.html-20bff421.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-c80ef512":f(()=>u(()=>import("./getMinInJSStack.html-e4c22e03.js"),["assets/getMinInJSStack.html-e4c22e03.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-7d68c18a":f(()=>u(()=>import("./insertAndGetMedian.html-0759b95f.js"),["assets/insertAndGetMedian.html-0759b95f.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-12af7de3":f(()=>u(()=>import("./maxInWindows.html-65c68512.js"),["assets/maxInWindows.html-65c68512.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-6e6c7962":f(()=>u(()=>import("./stackToQueue.html-e021c18e.js"),["assets/stackToQueue.html-e021c18e.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0d5a8f2e":f(()=>u(()=>import("./findPath.html-6baac1fb.js"),["assets/findPath.html-6baac1fb.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-6eaf0302":f(()=>u(()=>import("./getNext.html-5037bea8.js"),["assets/getNext.html-5037bea8.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-d29ebf7a":f(()=>u(()=>import("./hasSubtree.html-bf6bcff2.js"),["assets/hasSubtree.html-bf6bcff2.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-27179433":f(()=>u(()=>import("./isSymmetrical.html-dc6de95b.js"),["assets/isSymmetrical.html-dc6de95b.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-c092e642":f(()=>u(()=>import("./ktheNode.html-582d5515.js"),["assets/ktheNode.html-582d5515.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-6d601248":f(()=>u(()=>import("./mirror.html-6053c095.js"),["assets/mirror.html-6053c095.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-254d82be":f(()=>u(()=>import("./print.html-9cfbc59a.js"),["assets/print.html-9cfbc59a.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-a2a13430":f(()=>u(()=>import("./reConstructBinaryTree.html-90c5d001.js"),["assets/reConstructBinaryTree.html-90c5d001.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-7b707b69":f(()=>u(()=>import("./cutRope.html-a2197d74.js"),["assets/cutRope.html-a2197d74.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-78d02c75":f(()=>u(()=>import("./maxProfit.html-f4229e8b.js"),["assets/maxProfit.html-f4229e8b.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-228935c6":f(()=>u(()=>import("./deleteDuplication.html-9d8609cb.js"),["assets/deleteDuplication.html-9d8609cb.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-3e52c1fa":f(()=>u(()=>import("./entryNodeOfLoop.html-dd593a30.js"),["assets/entryNodeOfLoop.html-dd593a30.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-712af885":f(()=>u(()=>import("./findFirstCommonNode.html-474366fd.js"),["assets/findFirstCommonNode.html-474366fd.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-b3e01b50":f(()=>u(()=>import("./findKthToTail.html-04bc3238.js"),["assets/findKthToTail.html-04bc3238.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-20b0bf31":f(()=>u(()=>import("./merge.html-b5284dee.js"),["assets/merge.html-b5284dee.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-9115502e":f(()=>u(()=>import("./printListFromTailToHead.html-18200f52.js"),["assets/printListFromTailToHead.html-18200f52.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2260fc6e":f(()=>u(()=>import("./reverseList.html-79ffea4f.js"),["assets/reverseList.html-79ffea4f.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-19fc293d":f(()=>u(()=>import("./egg-mysql.html-8a8e0974.js"),["assets/egg-mysql.html-8a8e0974.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-cebdb7f8":f(()=>u(()=>import("./egg-redis.html-c5735a90.js"),["assets/egg-redis.html-c5735a90.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-858e3230":f(()=>u(()=>import("./egg-sequelize.html-710accb5.js"),["assets/egg-sequelize.html-710accb5.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-4a1cf3fd":f(()=>u(()=>import("./egg-validate.html-69f0682b.js"),["assets/egg-validate.html-69f0682b.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-76e57250":f(()=>u(()=>import("./中间件.html-4faa87be.js"),["assets/中间件.html-4faa87be.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-696a6a4b":f(()=>u(()=>import("./定时任务.html-09368b72.js"),["assets/定时任务.html-09368b72.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-4499d738":f(()=>u(()=>import("./快速入门.html-3255b0a2.js"),["assets/快速入门.html-3255b0a2.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-24ceb0dd":f(()=>u(()=>import("./控制器和服务.html-def15d2d.js"),["assets/控制器和服务.html-def15d2d.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-20b0d7ba":f(()=>u(()=>import("./框架对象.html-4e71b7f0.js"),["assets/框架对象.html-4e71b7f0.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1f4c22f0":f(()=>u(()=>import("./框架拓展.html-11f52fe3.js"),["assets/框架拓展.html-11f52fe3.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-09c57234":f(()=>u(()=>import("./目录结构.html-60aa85c9.js"),["assets/目录结构.html-60aa85c9.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-7503a813":f(()=>u(()=>import("./简介.html-be69b676.js"),["assets/简介.html-be69b676.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-a18b3132":f(()=>u(()=>import("./路由的使用.html-2dd7aaa9.js"),["assets/路由的使用.html-2dd7aaa9.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1b02aabe":f(()=>u(()=>import("./配置和运行环境.html-d0431efd.js"),["assets/配置和运行环境.html-d0431efd.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-3706649a":f(()=>u(()=>import("./404.html-195926ee.js"),["assets/404.html-195926ee.js","assets/plugin-vue_export-helper-c27b6911.js"]))};var zp=Symbol(""),dc=Symbol(""),jp=cr({key:"",path:"",title:"",lang:"",frontmatter:{},headers:[]}),fe=()=>{const e=_e(dc);if(!e)throw new Error("pageData() is called without provider.");return e},mc=Symbol(""),Le=()=>{const e=_e(mc);if(!e)throw new Error("usePageFrontmatter() is called without provider.");return e},pc=Symbol(""),Kp=()=>{const e=_e(pc);if(!e)throw new Error("usePageHead() is called without provider.");return e},Wp=Symbol(""),vc=Symbol(""),qi=()=>{const e=_e(vc);if(!e)throw new Error("usePageLang() is called without provider.");return e},fc=Symbol(""),qp=()=>{const e=_e(fc);if(!e)throw new Error("usePageLayout() is called without provider.");return e},Up=j(Cp),Ui=Symbol(""),pr=()=>{const e=_e(Ui);if(!e)throw new Error("useRouteLocale() is called without provider.");return e},wr=j(Vp),Gp=()=>wr,hc=Symbol(""),mo=()=>{const e=_e(hc);if(!e)throw new Error("useSiteLocaleData() is called without provider.");return e},Zp=Symbol(""),Yp="Layout",Xp="NotFound",Lt=fn({resolveLayouts:e=>e.reduce((t,r)=>({...t,...r.layouts}),{}),resolvePageData:async e=>{const t=Up.value[e];return await(t==null?void 0:t())??jp},resolvePageFrontmatter:e=>e.frontmatter,resolvePageHead:(e,t,r)=>{const n=ie(t.description)?t.description:r.description,o=[...Y(t.head)?t.head:[],...r.head,["title",{},e],["meta",{name:"description",content:n}]];return Mp(o)},resolvePageHeadTitle:(e,t)=>[e.title,t.title].filter(r=>!!r).join(" | "),resolvePageLang:(e,t)=>e.lang||t.lang||"en-US",resolvePageLayout:(e,t)=>{let r;if(e.path){const n=e.frontmatter.layout;ie(n)?r=n:r=Yp}else r=Xp;return t[r]},resolveRouteLocale:(e,t)=>Hp(e,t),resolveSiteLocaleData:(e,t)=>({...e,...e.locales[t]})}),po=$({name:"ClientOnly",setup(e,t){const r=j(!1);return le(()=>{r.value=!0}),()=>{var n,o;return r.value?(o=(n=t.slots).default)==null?void 0:o.call(n):null}}}),Gi=$({name:"Content",props:{pageKey:{type:String,required:!1,default:""}},setup(e){const t=fe(),r=T(()=>uc[e.pageKey||t.value.key]);return()=>r.value?d(r.value):d("div","404 Not Found")}}),ht=(e={})=>e,$e=e=>Zt(e)?e:`/JavaScriptCollection/${cc(e)}`;const Jp={};/*! + * vue-router v4.2.5 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */const yr=typeof window<"u";function Qp(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const ve=Object.assign;function xo(e,t){const r={};for(const n in t){const o=t[n];r[n]=vt(o)?o.map(e):e(o)}return r}const tn=()=>{},vt=Array.isArray,e1=/\/$/,t1=e=>e.replace(e1,"");function So(e,t,r="/"){let n,o={},i="",s="";const l=t.indexOf("#");let c=t.indexOf("?");return l=0&&(c=-1),c>-1&&(n=t.slice(0,c),i=t.slice(c+1,l>-1?l:t.length),o=e(i)),l>-1&&(n=n||t.slice(0,l),s=t.slice(l,t.length)),n=i1(n??t,r),{fullPath:n+(i&&"?")+i+s,path:n,query:o,hash:s}}function r1(e,t){const r=t.query?e(t.query):"";return t.path+(r&&"?")+r+(t.hash||"")}function cl(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function n1(e,t,r){const n=t.matched.length-1,o=r.matched.length-1;return n>-1&&n===o&&$r(t.matched[n],r.matched[o])&&_c(t.params,r.params)&&e(t.query)===e(r.query)&&t.hash===r.hash}function $r(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function _c(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const r in e)if(!o1(e[r],t[r]))return!1;return!0}function o1(e,t){return vt(e)?ul(e,t):vt(t)?ul(t,e):e===t}function ul(e,t){return vt(t)?e.length===t.length&&e.every((r,n)=>r===t[n]):e.length===1&&e[0]===t}function i1(e,t){if(e.startsWith("/"))return e;if(!e)return t;const r=t.split("/"),n=e.split("/"),o=n[n.length-1];(o===".."||o===".")&&n.push("");let i=r.length-1,s,l;for(s=0;s1&&i--;else break;return r.slice(0,i).join("/")+"/"+n.slice(s-(s===n.length?1:0)).join("/")}var mn;(function(e){e.pop="pop",e.push="push"})(mn||(mn={}));var rn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(rn||(rn={}));function s1(e){if(!e)if(yr){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),t1(e)}const l1=/^[^#]+#/;function a1(e,t){return e.replace(l1,"#")+t}function c1(e,t){const r=document.documentElement.getBoundingClientRect(),n=e.getBoundingClientRect();return{behavior:t.behavior,left:n.left-r.left-(t.left||0),top:n.top-r.top-(t.top||0)}}const vo=()=>({left:window.pageXOffset,top:window.pageYOffset});function u1(e){let t;if("el"in e){const r=e.el,n=typeof r=="string"&&r.startsWith("#"),o=typeof r=="string"?n?document.getElementById(r.slice(1)):document.querySelector(r):r;if(!o)return;t=c1(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function dl(e,t){return(history.state?history.state.position-t:-1)+e}const ii=new Map;function d1(e,t){ii.set(e,t)}function m1(e){const t=ii.get(e);return ii.delete(e),t}let p1=()=>location.protocol+"//"+location.host;function gc(e,t){const{pathname:r,search:n,hash:o}=t,i=e.indexOf("#");if(i>-1){let l=o.includes(e.slice(i))?e.slice(i).length:1,c=o.slice(l);return c[0]!=="/"&&(c="/"+c),cl(c,"")}return cl(r,e)+n+o}function v1(e,t,r,n){let o=[],i=[],s=null;const l=({state:v})=>{const _=gc(e,location),b=r.value,A=t.value;let k=0;if(v){if(r.value=_,t.value=v,s&&s===b){s=null;return}k=A?v.position-A.position:0}else n(_);o.forEach(E=>{E(r.value,b,{delta:k,type:mn.pop,direction:k?k>0?rn.forward:rn.back:rn.unknown})})};function c(){s=r.value}function a(v){o.push(v);const _=()=>{const b=o.indexOf(v);b>-1&&o.splice(b,1)};return i.push(_),_}function m(){const{history:v}=window;v.state&&v.replaceState(ve({},v.state,{scroll:vo()}),"")}function p(){for(const v of i)v();i=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",m)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",m,{passive:!0}),{pauseListeners:c,listen:a,destroy:p}}function ml(e,t,r,n=!1,o=!1){return{back:e,current:t,forward:r,replaced:n,position:window.history.length,scroll:o?vo():null}}function f1(e){const{history:t,location:r}=window,n={value:gc(e,r)},o={value:t.state};o.value||i(n.value,{back:null,current:n.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(c,a,m){const p=e.indexOf("#"),v=p>-1?(r.host&&document.querySelector("base")?e:e.slice(p))+c:p1()+e+c;try{t[m?"replaceState":"pushState"](a,"",v),o.value=a}catch(_){console.error(_),r[m?"replace":"assign"](v)}}function s(c,a){const m=ve({},t.state,ml(o.value.back,c,o.value.forward,!0),a,{position:o.value.position});i(c,m,!0),n.value=c}function l(c,a){const m=ve({},o.value,t.state,{forward:c,scroll:vo()});i(m.current,m,!0);const p=ve({},ml(n.value,c,null),{position:m.position+1},a);i(c,p,!1),n.value=c}return{location:n,state:o,push:l,replace:s}}function h1(e){e=s1(e);const t=f1(e),r=v1(e,t.state,t.location,t.replace);function n(i,s=!0){s||r.pauseListeners(),history.go(i)}const o=ve({location:"",base:e,go:n,createHref:a1.bind(null,e)},t,r);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function _1(e){return typeof e=="string"||e&&typeof e=="object"}function Ec(e){return typeof e=="string"||typeof e=="symbol"}const Pt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},bc=Symbol("");var pl;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(pl||(pl={}));function Nr(e,t){return ve(new Error,{type:e,[bc]:!0},t)}function Tt(e,t){return e instanceof Error&&bc in e&&(t==null||!!(e.type&t))}const vl="[^/]+?",g1={sensitive:!1,strict:!1,start:!0,end:!0},E1=/[.+*?^${}()[\]/\\]/g;function b1(e,t){const r=ve({},g1,t),n=[];let o=r.start?"^":"";const i=[];for(const a of e){const m=a.length?[]:[90];r.strict&&!a.length&&(o+="/");for(let p=0;pt.length?t.length===1&&t[0]===40+40?1:-1:0}function w1(e,t){let r=0;const n=e.score,o=t.score;for(;r0&&t[t.length-1]<0}const A1={type:0,value:""},T1=/[a-zA-Z0-9_]/;function k1(e){if(!e)return[[]];if(e==="/")return[[A1]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(_){throw new Error(`ERR (${r})/"${a}": ${_}`)}let r=0,n=r;const o=[];let i;function s(){i&&o.push(i),i=[]}let l=0,c,a="",m="";function p(){a&&(r===0?i.push({type:0,value:a}):r===1||r===2||r===3?(i.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${a}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:a,regexp:m,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),a="")}function v(){a+=c}for(;l{s(y)}:tn}function s(m){if(Ec(m)){const p=n.get(m);p&&(n.delete(m),r.splice(r.indexOf(p),1),p.children.forEach(s),p.alias.forEach(s))}else{const p=r.indexOf(m);p>-1&&(r.splice(p,1),m.record.name&&n.delete(m.record.name),m.children.forEach(s),m.alias.forEach(s))}}function l(){return r}function c(m){let p=0;for(;p=0&&(m.record.path!==r[p].record.path||!yc(m,r[p]));)p++;r.splice(p,0,m),m.record.name&&!_l(m)&&n.set(m.record.name,m)}function a(m,p){let v,_={},b,A;if("name"in m&&m.name){if(v=n.get(m.name),!v)throw Nr(1,{location:m});A=v.record.name,_=ve(hl(p.params,v.keys.filter(y=>!y.optional).map(y=>y.name)),m.params&&hl(m.params,v.keys.map(y=>y.name))),b=v.stringify(_)}else if("path"in m)b=m.path,v=r.find(y=>y.re.test(b)),v&&(_=v.parse(b),A=v.record.name);else{if(v=p.name?n.get(p.name):r.find(y=>y.re.test(p.path)),!v)throw Nr(1,{location:m,currentLocation:p});A=v.record.name,_=ve({},p.params,m.params),b=v.stringify(_)}const k=[];let E=v;for(;E;)k.unshift(E.record),E=E.parent;return{name:A,path:b,params:_,matched:k,meta:O1(k)}}return e.forEach(m=>i(m)),{addRoute:i,resolve:a,removeRoute:s,getRoutes:l,getRecordMatcher:o}}function hl(e,t){const r={};for(const n of t)n in e&&(r[n]=e[n]);return r}function I1(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:R1(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function R1(e){const t={},r=e.props||!1;if("component"in e)t.default=r;else for(const n in e.components)t[n]=typeof r=="object"?r[n]:r;return t}function _l(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function O1(e){return e.reduce((t,r)=>ve(t,r.meta),{})}function gl(e,t){const r={};for(const n in e)r[n]=n in t?t[n]:e[n];return r}function yc(e,t){return t.children.some(r=>r===e||yc(e,r))}const wc=/#/g,D1=/&/g,x1=/\//g,S1=/=/g,C1=/\?/g,Ac=/\+/g,V1=/%5B/g,B1=/%5D/g,Tc=/%5E/g,M1=/%60/g,kc=/%7B/g,$1=/%7C/g,Lc=/%7D/g,N1=/%20/g;function Zi(e){return encodeURI(""+e).replace($1,"|").replace(V1,"[").replace(B1,"]")}function F1(e){return Zi(e).replace(kc,"{").replace(Lc,"}").replace(Tc,"^")}function si(e){return Zi(e).replace(Ac,"%2B").replace(N1,"+").replace(wc,"%23").replace(D1,"%26").replace(M1,"`").replace(kc,"{").replace(Lc,"}").replace(Tc,"^")}function H1(e){return si(e).replace(S1,"%3D")}function z1(e){return Zi(e).replace(wc,"%23").replace(C1,"%3F")}function j1(e){return e==null?"":z1(e).replace(x1,"%2F")}function Qn(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function K1(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;oi&&si(i)):[n&&si(n)]).forEach(i=>{i!==void 0&&(t+=(t.length?"&":"")+r,i!=null&&(t+="="+i))})}return t}function W1(e){const t={};for(const r in e){const n=e[r];n!==void 0&&(t[r]=vt(n)?n.map(o=>o==null?null:""+o):n==null?n:""+n)}return t}const q1=Symbol(""),bl=Symbol(""),fo=Symbol(""),Yi=Symbol(""),li=Symbol("");function Gr(){let e=[];function t(n){return e.push(n),()=>{const o=e.indexOf(n);o>-1&&e.splice(o,1)}}function r(){e=[]}return{add:t,list:()=>e.slice(),reset:r}}function Ht(e,t,r,n,o){const i=n&&(n.enterCallbacks[o]=n.enterCallbacks[o]||[]);return()=>new Promise((s,l)=>{const c=p=>{p===!1?l(Nr(4,{from:r,to:t})):p instanceof Error?l(p):_1(p)?l(Nr(2,{from:t,to:p})):(i&&n.enterCallbacks[o]===i&&typeof p=="function"&&i.push(p),s())},a=e.call(n&&n.instances[o],t,r,c);let m=Promise.resolve(a);e.length<3&&(m=m.then(c)),m.catch(p=>l(p))})}function Co(e,t,r,n){const o=[];for(const i of e)for(const s in i.components){let l=i.components[s];if(!(t!=="beforeRouteEnter"&&!i.instances[s]))if(U1(l)){const a=(l.__vccOpts||l)[t];a&&o.push(Ht(a,r,n,i,s))}else{let c=l();o.push(()=>c.then(a=>{if(!a)return Promise.reject(new Error(`Couldn't resolve component "${s}" at "${i.path}"`));const m=Qp(a)?a.default:a;i.components[s]=m;const v=(m.__vccOpts||m)[t];return v&&Ht(v,r,n,i,s)()}))}}return o}function U1(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function ai(e){const t=_e(fo),r=_e(Yi),n=T(()=>t.resolve(ut(e.to))),o=T(()=>{const{matched:c}=n.value,{length:a}=c,m=c[a-1],p=r.matched;if(!m||!p.length)return-1;const v=p.findIndex($r.bind(null,m));if(v>-1)return v;const _=yl(c[a-2]);return a>1&&yl(m)===_&&p[p.length-1].path!==_?p.findIndex($r.bind(null,c[a-2])):v}),i=T(()=>o.value>-1&&X1(r.params,n.value.params)),s=T(()=>o.value>-1&&o.value===r.matched.length-1&&_c(r.params,n.value.params));function l(c={}){return Y1(c)?t[ut(e.replace)?"replace":"push"](ut(e.to)).catch(tn):Promise.resolve()}return{route:n,href:T(()=>n.value.href),isActive:i,isExactActive:s,navigate:l}}const G1=$({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:ai,setup(e,{slots:t}){const r=fn(ai(e)),{options:n}=_e(fo),o=T(()=>({[wl(e.activeClass,n.linkActiveClass,"router-link-active")]:r.isActive,[wl(e.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:r.isExactActive}));return()=>{const i=t.default&&t.default(r);return e.custom?i:d("a",{"aria-current":r.isExactActive?e.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:o.value},i)}}}),Z1=G1;function Y1(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function X1(e,t){for(const r in t){const n=t[r],o=e[r];if(typeof n=="string"){if(n!==o)return!1}else if(!vt(o)||o.length!==n.length||n.some((i,s)=>i!==o[s]))return!1}return!0}function yl(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const wl=(e,t,r)=>e??t??r,J1=$({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:r}){const n=_e(li),o=T(()=>e.route||n.value),i=_e(bl,0),s=T(()=>{let a=ut(i);const{matched:m}=o.value;let p;for(;(p=m[a])&&!p.components;)a++;return a}),l=T(()=>o.value.matched[s.value]);ir(bl,T(()=>s.value+1)),ir(q1,l),ir(li,o);const c=j();return ne(()=>[c.value,l.value,e.name],([a,m,p],[v,_,b])=>{m&&(m.instances[p]=a,_&&_!==m&&a&&a===v&&(m.leaveGuards.size||(m.leaveGuards=_.leaveGuards),m.updateGuards.size||(m.updateGuards=_.updateGuards))),a&&m&&(!_||!$r(m,_)||!v)&&(m.enterCallbacks[p]||[]).forEach(A=>A(a))},{flush:"post"}),()=>{const a=o.value,m=e.name,p=l.value,v=p&&p.components[m];if(!v)return Al(r.default,{Component:v,route:a});const _=p.props[m],b=_?_===!0?a.params:typeof _=="function"?_(a):_:null,k=d(v,ve({},b,t,{onVnodeUnmounted:E=>{E.component.isUnmounted&&(p.instances[m]=null)},ref:c}));return Al(r.default,{Component:k,route:a})||k}}});function Al(e,t){if(!e)return null;const r=e(t);return r.length===1?r[0]:r}const Pc=J1;function Q1(e){const t=P1(e.routes,e),r=e.parseQuery||K1,n=e.stringifyQuery||El,o=e.history,i=Gr(),s=Gr(),l=Gr(),c=Se(Pt);let a=Pt;yr&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const m=xo.bind(null,P=>""+P),p=xo.bind(null,j1),v=xo.bind(null,Qn);function _(P,F){let B,U;return Ec(P)?(B=t.getRecordMatcher(P),U=F):U=P,t.addRoute(U,B)}function b(P){const F=t.getRecordMatcher(P);F&&t.removeRoute(F)}function A(){return t.getRoutes().map(P=>P.record)}function k(P){return!!t.getRecordMatcher(P)}function E(P,F){if(F=ve({},F||c.value),typeof P=="string"){const w=So(r,P,F.path),L=t.resolve({path:w.path},F),R=o.createHref(w.fullPath);return ve(w,L,{params:v(L.params),hash:Qn(w.hash),redirectedFrom:void 0,href:R})}let B;if("path"in P)B=ve({},P,{path:So(r,P.path,F.path).path});else{const w=ve({},P.params);for(const L in w)w[L]==null&&delete w[L];B=ve({},P,{params:p(w)}),F.params=p(F.params)}const U=t.resolve(B,F),ue=P.hash||"";U.params=m(v(U.params));const h=r1(n,ve({},P,{hash:F1(ue),path:U.path})),g=o.createHref(h);return ve({fullPath:h,hash:ue,query:n===El?W1(P.query):P.query||{}},U,{redirectedFrom:void 0,href:g})}function y(P){return typeof P=="string"?So(r,P,c.value.path):ve({},P)}function S(P,F){if(a!==P)return Nr(8,{from:F,to:P})}function C(P){return Z(P)}function K(P){return C(ve(y(P),{replace:!0}))}function x(P){const F=P.matched[P.matched.length-1];if(F&&F.redirect){const{redirect:B}=F;let U=typeof B=="function"?B(P):B;return typeof U=="string"&&(U=U.includes("?")||U.includes("#")?U=y(U):{path:U},U.params={}),ve({query:P.query,hash:P.hash,params:"path"in U?{}:P.params},U)}}function Z(P,F){const B=a=E(P),U=c.value,ue=P.state,h=P.force,g=P.replace===!0,w=x(B);if(w)return Z(ve(y(w),{state:typeof w=="object"?ve({},ue,w.state):ue,force:h,replace:g}),F||B);const L=B;L.redirectedFrom=F;let R;return!h&&n1(n,U,B)&&(R=Nr(16,{to:L,from:U}),Qe(U,U,!0,!1)),(R?Promise.resolve(R):G(L,U)).catch(O=>Tt(O)?Tt(O,2)?O:_t(O):ce(O,L,U)).then(O=>{if(O){if(Tt(O,2))return Z(ve({replace:g},y(O.to),{state:typeof O.to=="object"?ve({},ue,O.to.state):ue,force:h}),F||L)}else O=H(L,U,!0,g,ue);return Q(L,U,O),O})}function I(P,F){const B=S(P,F);return B?Promise.reject(B):Promise.resolve()}function z(P){const F=At.values().next().value;return F&&typeof F.runWithContext=="function"?F.runWithContext(P):P()}function G(P,F){let B;const[U,ue,h]=ev(P,F);B=Co(U.reverse(),"beforeRouteLeave",P,F);for(const w of U)w.leaveGuards.forEach(L=>{B.push(Ht(L,P,F))});const g=I.bind(null,P,F);return B.push(g),Ie(B).then(()=>{B=[];for(const w of i.list())B.push(Ht(w,P,F));return B.push(g),Ie(B)}).then(()=>{B=Co(ue,"beforeRouteUpdate",P,F);for(const w of ue)w.updateGuards.forEach(L=>{B.push(Ht(L,P,F))});return B.push(g),Ie(B)}).then(()=>{B=[];for(const w of h)if(w.beforeEnter)if(vt(w.beforeEnter))for(const L of w.beforeEnter)B.push(Ht(L,P,F));else B.push(Ht(w.beforeEnter,P,F));return B.push(g),Ie(B)}).then(()=>(P.matched.forEach(w=>w.enterCallbacks={}),B=Co(h,"beforeRouteEnter",P,F),B.push(g),Ie(B))).then(()=>{B=[];for(const w of s.list())B.push(Ht(w,P,F));return B.push(g),Ie(B)}).catch(w=>Tt(w,8)?w:Promise.reject(w))}function Q(P,F,B){l.list().forEach(U=>z(()=>U(P,F,B)))}function H(P,F,B,U,ue){const h=S(P,F);if(h)return h;const g=F===Pt,w=yr?history.state:{};B&&(U||g?o.replace(P.fullPath,ve({scroll:g&&w&&w.scroll},ue)):o.push(P.fullPath,ue)),c.value=P,Qe(P,F,B,g),_t()}let ee;function q(){ee||(ee=o.listen((P,F,B)=>{if(!gt.listening)return;const U=E(P),ue=x(U);if(ue){Z(ve(ue,{replace:!0}),U).catch(tn);return}a=U;const h=c.value;yr&&d1(dl(h.fullPath,B.delta),vo()),G(U,h).catch(g=>Tt(g,12)?g:Tt(g,2)?(Z(g.to,U).then(w=>{Tt(w,20)&&!B.delta&&B.type===mn.pop&&o.go(-1,!1)}).catch(tn),Promise.reject()):(B.delta&&o.go(-B.delta,!1),ce(g,U,h))).then(g=>{g=g||H(U,h,!1),g&&(B.delta&&!Tt(g,8)?o.go(-B.delta,!1):B.type===mn.pop&&Tt(g,20)&&o.go(-1,!1)),Q(U,h,g)}).catch(tn)}))}let Pe=Gr(),oe=Gr(),pe;function ce(P,F,B){_t(P);const U=oe.list();return U.length?U.forEach(ue=>ue(P,F,B)):console.error(P),Promise.reject(P)}function Ve(){return pe&&c.value!==Pt?Promise.resolve():new Promise((P,F)=>{Pe.add([P,F])})}function _t(P){return pe||(pe=!P,q(),Pe.list().forEach(([F,B])=>P?B(P):F()),Pe.reset()),P}function Qe(P,F,B,U){const{scrollBehavior:ue}=e;if(!yr||!ue)return Promise.resolve();const h=!B&&m1(dl(P.fullPath,0))||(U||!B)&&history.state&&history.state.scroll||null;return ur().then(()=>ue(P,F,h)).then(g=>g&&u1(g)).catch(g=>ce(g,P,F))}const Be=P=>o.go(P);let Ue;const At=new Set,gt={currentRoute:c,listening:!0,addRoute:_,removeRoute:b,hasRoute:k,getRoutes:A,resolve:E,options:e,push:C,replace:K,go:Be,back:()=>Be(-1),forward:()=>Be(1),beforeEach:i.add,beforeResolve:s.add,afterEach:l.add,onError:oe.add,isReady:Ve,install(P){const F=this;P.component("RouterLink",Z1),P.component("RouterView",Pc),P.config.globalProperties.$router=F,Object.defineProperty(P.config.globalProperties,"$route",{enumerable:!0,get:()=>ut(c)}),yr&&!Ue&&c.value===Pt&&(Ue=!0,C(o.location).catch(ue=>{}));const B={};for(const ue in Pt)Object.defineProperty(B,ue,{get:()=>c.value[ue],enumerable:!0});P.provide(fo,F),P.provide(Yi,ga(B)),P.provide(li,c);const U=P.unmount;At.add(P),P.unmount=function(){At.delete(P),At.size<1&&(a=Pt,ee&&ee(),ee=null,c.value=Pt,Ue=!1,pe=!1),U()}}};function Ie(P){return P.reduce((F,B)=>F.then(()=>z(B)),Promise.resolve())}return gt}function ev(e,t){const r=[],n=[],o=[],i=Math.max(t.matched.length,e.matched.length);for(let s=0;s$r(a,l))?n.push(l):r.push(l));const c=e.matched[s];c&&(t.matched.find(a=>$r(a,c))||o.push(c))}return[r,n,o]}function it(){return _e(fo)}function xt(){return _e(Yi)}var ze=Uint8Array,Ar=Uint16Array,tv=Int32Array,Ic=new ze([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Rc=new ze([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),rv=new ze([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Oc=function(e,t){for(var r=new Ar(31),n=0;n<31;++n)r[n]=t+=1<>1|(Ae&21845)<<1;Mt=(Mt&52428)>>2|(Mt&13107)<<2,Mt=(Mt&61680)>>4|(Mt&3855)<<4,ci[Ae]=((Mt&65280)>>8|(Mt&255)<<8)>>1}var nn=function(e,t,r){for(var n=e.length,o=0,i=new Ar(t);o>c]=a}else for(l=new Ar(n),o=0;o>15-e[o]);return l},gn=new ze(288);for(var Ae=0;Ae<144;++Ae)gn[Ae]=8;for(var Ae=144;Ae<256;++Ae)gn[Ae]=9;for(var Ae=256;Ae<280;++Ae)gn[Ae]=7;for(var Ae=280;Ae<288;++Ae)gn[Ae]=8;var Sc=new ze(32);for(var Ae=0;Ae<32;++Ae)Sc[Ae]=5;var sv=nn(gn,9,1),lv=nn(Sc,5,1),Vo=function(e){for(var t=e[0],r=1;rt&&(t=e[r]);return t},lt=function(e,t,r){var n=t/8|0;return(e[n]|e[n+1]<<8)>>(t&7)&r},Bo=function(e,t){var r=t/8|0;return(e[r]|e[r+1]<<8|e[r+2]<<16)>>(t&7)},av=function(e){return(e+7)/8|0},Xi=function(e,t,r){return(t==null||t<0)&&(t=0),(r==null||r>e.length)&&(r=e.length),new ze(e.subarray(t,r))},cv=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],rt=function(e,t,r){var n=new Error(t||cv[e]);if(n.code=e,Error.captureStackTrace&&Error.captureStackTrace(n,rt),!r)throw n;return n},uv=function(e,t,r,n){var o=e.length,i=n?n.length:0;if(!o||t.f&&!t.l)return r||new ze(0);var s=!r,l=s||t.i!=2,c=t.i;s&&(r=new ze(o*3));var a=function(ue){var h=r.length;if(ue>h){var g=new ze(Math.max(h*2,ue));g.set(r),r=g}},m=t.f||0,p=t.p||0,v=t.b||0,_=t.l,b=t.d,A=t.m,k=t.n,E=o*8;do{if(!_){m=lt(e,p,1);var y=lt(e,p+1,3);if(p+=3,y)if(y==1)_=sv,b=lv,A=9,k=5;else if(y==2){var x=lt(e,p,31)+257,Z=lt(e,p+10,15)+4,I=x+lt(e,p+5,31)+1;p+=14;for(var z=new ze(I),G=new ze(19),Q=0;Q>4;if(S<16)z[Q++]=S;else{var oe=0,pe=0;for(S==16?(pe=3+lt(e,p,3),p+=2,oe=z[Q-1]):S==17?(pe=3+lt(e,p,7),p+=3):S==18&&(pe=11+lt(e,p,127),p+=7);pe--;)z[Q++]=oe}}var ce=z.subarray(0,x),Ve=z.subarray(x);A=Vo(ce),k=Vo(Ve),_=nn(ce,A,1),b=nn(Ve,k,1)}else rt(1);else{var S=av(p)+4,C=e[S-4]|e[S-3]<<8,K=S+C;if(K>o){c&&rt(0);break}l&&a(v+C),r.set(e.subarray(S,K),v),t.b=v+=C,t.p=p=K*8,t.f=m;continue}if(p>E){c&&rt(0);break}}l&&a(v+131072);for(var _t=(1<>4;if(p+=oe&15,p>E){c&&rt(0);break}if(oe||rt(2),Ue<256)r[v++]=Ue;else if(Ue==256){Be=p,_=null;break}else{var At=Ue-254;if(Ue>264){var Q=Ue-257,gt=Ic[Q];At=lt(e,p,(1<>4;Ie||rt(3),p+=Ie&15;var Ve=iv[P];if(P>3){var gt=Rc[P];Ve+=Bo(e,p)&(1<E){c&&rt(0);break}l&&a(v+131072);var F=v+At;if(v>4>7||(e[0]<<8|e[1])%31)&&rt(6,"invalid zlib data"),(e[1]>>5&1)==+!t&&rt(6,"invalid zlib data: "+(e[1]&32?"need":"unexpected")+" dictionary"),(e[1]>>3&4)+2};function pv(e,t){return uv(e.subarray(mv(e,t&&t.dictionary),-4),{i:2},t&&t.out,t&&t.dictionary)}var Tl=typeof TextEncoder<"u"&&new TextEncoder,ui=typeof TextDecoder<"u"&&new TextDecoder,vv=0;try{ui.decode(dv,{stream:!0}),vv=1}catch{}var fv=function(e){for(var t="",r=0;;){var n=e[r++],o=(n>127)+(n>223)+(n>239);if(r+o>e.length)return{s:t,r:Xi(e,r-1)};o?o==3?(n=((n&15)<<18|(e[r++]&63)<<12|(e[r++]&63)<<6|e[r++]&63)-65536,t+=String.fromCharCode(55296|n>>10,56320|n&1023)):o&1?t+=String.fromCharCode((n&31)<<6|e[r++]&63):t+=String.fromCharCode((n&15)<<12|(e[r++]&63)<<6|e[r++]&63):t+=String.fromCharCode(n)}};function hv(e,t){if(t){for(var r=new ze(e.length),n=0;n>1)),s=0,l=function(m){i[s++]=m},n=0;ni.length){var c=new ze(s+8+(o-n<<1));c.set(i),i=c}var a=e.charCodeAt(n);a<128||t?l(a):a<2048?(l(192|a>>6),l(128|a&63)):a>55295&&a<57344?(a=65536+(a&1047552)|e.charCodeAt(++n)&1023,l(240|a>>18),l(128|a>>12&63),l(128|a>>6&63),l(128|a&63)):(l(224|a>>12),l(128|a>>6&63),l(128|a&63))}return Xi(i,0,s)}function _v(e,t){if(t){for(var r="",n=0;n{var n;return d("svg",{xmlns:"http://www.w3.org/2000/svg",class:["icon",`${e}-icon`],viewBox:"0 0 1024 1024",fill:t,"aria-label":`${e} icon`},(n=r.default)==null?void 0:n.call(r))};ge.displayName="IconBase";const vr=({size:e=48,stroke:t=4,wrapper:r=!0,height:n=2*e})=>{const o=d("svg",{xmlns:"http://www.w3.org/2000/svg",width:e,height:e,preserveAspectRatio:"xMidYMid",viewBox:"25 25 50 50"},[d("animateTransform",{attributeName:"transform",type:"rotate",dur:"2s",keyTimes:"0;1",repeatCount:"indefinite",values:"0;360"}),d("circle",{cx:"50",cy:"50",r:"20",fill:"none",stroke:"currentColor","stroke-width":t,"stroke-linecap":"round"},[d("animate",{attributeName:"stroke-dasharray",dur:"1.5s",keyTimes:"0;0.5;1",repeatCount:"indefinite",values:"1,200;90,200;1,200"}),d("animate",{attributeName:"stroke-dashoffset",dur:"1.5s",keyTimes:"0;0.5;1",repeatCount:"indefinite",values:"0;-35px;-125px"})])]);return r?d("div",{class:"loading-icon-wrapper",style:`display:flex;align-items:center;justify-content:center;height:${n}px`},o):o};vr.displayName="LoadingIcon";const Cc=(e,{slots:t})=>{var r;return(r=t.default)==null?void 0:r.call(t)},gv=e=>/\b(?:Android|iPhone)/i.test(e),Ev=e=>/version\/([\w.]+) .*(mobile ?safari|safari)/i.test(e),Vc=e=>[/\((ipad);[-\w),; ]+apple/i,/applecoremedia\/[\w.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i].some(t=>t.test(e)),bv=e=>[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/cfnetwork\/.+darwin/i].some(t=>t.test(e)),yv=e=>[/(mac os x) ?([\w. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i].some(t=>t.test(e)),wv=(e="")=>{if(e){if(typeof e=="number")return new Date(e);const t=Date.parse(e.toString());if(!Number.isNaN(t))return new Date(t)}return null},Bc=(e,t)=>{let r=1;for(let n=0;n>6;return r+=r<<3,r^=r>>11,r%t},Ji=Array.isArray,Av=e=>typeof e=="function",Tv=e=>typeof e=="string";var kv=e=>e.startsWith("ftp://"),Qi=e=>/^(https?:)?\/\//.test(e),Lv=/.md((\?|#).*)?$/,Pv=(e,t="/")=>!!(Qi(e)||kv(e)||e.startsWith("/")&&!e.startsWith(t)&&!Lv.test(e)),Or=e=>Object.prototype.toString.call(e)==="[object Object]";function Iv(){const e=j(!1);return mr()&&le(()=>{e.value=!0}),e}function Rv(e){return Iv(),T(()=>!!e())}const Mc=e=>typeof e=="function",wt=e=>typeof e=="string",jr=(e,t)=>wt(e)&&e.startsWith(t),Ov=(e,t)=>wt(e)&&e.endsWith(t),ho=Object.entries,Dv=Object.fromEntries,En=Object.keys,kl=(e,...t)=>{if(t.length===0)return e;const r=t.shift()||null;return r&&ho(r).forEach(([n,o])=>{n==="__proto__"||n==="constructor"||(Or(e[n])&&Or(o)?kl(e[n],o):Ji(o)?e[n]=[...o]:Or(o)?e[n]={...o}:e[n]=r[n])}),kl(e,...t)},xv=e=>(e.endsWith(".md")&&(e=`${e.slice(0,-3)}.html`),!e.endsWith("/")&&!e.endsWith(".html")&&(e=`${e}.html`),e=e.replace(/(^|\/)(?:README|index).html$/i,"$1"),e),$c=e=>{const[t,r=""]=e.split("#");return t?`${xv(t)}${r?`#${r}`:""}`:e},Ll=e=>Or(e)&&wt(e.name),Pl=(e,t=!1)=>e?Ji(e)?e.map(r=>wt(r)?{name:r}:Ll(r)?r:null).filter(r=>r!==null):wt(e)?[{name:e}]:Ll(e)?[e]:(console.error(`Expect "author" to be \`AuthorInfo[] | AuthorInfo | string[] | string ${t?"":"| false"} | undefined\`, but got`,e),[]):[],Nc=(e,t)=>{if(e){if(Ji(e)&&e.every(wt))return e;if(wt(e))return[e];console.error(`Expect ${t||"value"} to be \`string[] | string | undefined\`, but got`,e)}return[]},Sv=e=>Nc(e,"category"),Cv=e=>Nc(e,"tag"),_o=e=>jr(e,"/"),Fc=/#.*$/u,Vv=e=>{const t=Fc.exec(e);return t?t[0]:""},Il=e=>decodeURI(e).replace(Fc,"").replace(/(index)?\.(md|html)$/,""),es=(e,t)=>{if(t===void 0)return!1;const r=Il(e.path),n=Il(t),o=Vv(t);return o?o===e.hash&&(!n||r===n):r===n};let Bv=class{constructor(){this.popupElements={};const t="popup-container",r=document.getElementById(t);r?this.containerElement=r:(this.containerElement=document.createElement("div"),this.containerElement.id=t,document.body.appendChild(this.containerElement))}emit(t,r){const n=document.createElement("div"),o=document.createElement("div"),i=Date.now();return this.containerElement.appendChild(n),this.popupElements[i]=n,n.className="popup-wrapper appear",n.appendChild(o),n.addEventListener("click",()=>this.close(i)),o.className="popup-container",o.innerHTML=t,typeof r=="number"&&setTimeout(()=>{this.close(i)},r),i}close(t){if(t){const r=this.popupElements[t];r.classList.replace("appear","disappear"),r.children[0].addEventListener("animationend",()=>{r.remove(),delete this.popupElements[t]})}else En(this.popupElements).forEach(r=>this.close(Number(r)))}destroy(){document.body.removeChild(this.containerElement)}};const Hc=e=>{const t=atob(e);return _v(pv(hv(t,!0)))},Mv=e=>Qi(e)?e:`https://github.com/${e}`,zc=e=>!Qi(e)||/github\.com/.test(e)?"GitHub":/bitbucket\.org/.test(e)?"Bitbucket":/gitlab\.com/.test(e)?"GitLab":/gitee\.com/.test(e)?"Gitee":null,eo=(e,...t)=>{const r=e.resolve(...t),n=r.matched[r.matched.length-1];if(!(n!=null&&n.redirect))return r;const{redirect:o}=n,i=Av(o)?o(r):o,s=Tv(i)?{path:i}:i;return eo(e,{hash:r.hash,query:r.query,params:r.params,...s})},$v=e=>{if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget){const t=e.currentTarget.getAttribute("target");if(t!=null&&t.match(/\b_blank\b/i))return}return e.preventDefault(),!0}},Nv=()=>{const{availWidth:e,availHeight:t}=screen,{screenLeft:r,screenTop:n,innerWidth:o,innerHeight:i}=window,s=Math.max(e/2,600),l=Math.max(t/2,400);return{width:s,height:l,left:r+o/2-s/2,top:n+i/2-l/2}},Fv=(e,t="_blank",r=["resizable","status"])=>{var n,o;const{width:i,height:s,left:l,top:c}=Nv();(o=(n=window.open(e,t,`width=${i},height=${s},left=${l},top=${c},${r.join(",")}`))==null?void 0:n.focus)==null||o.call(n)},St=({to:e="",class:t="",...r},{slots:n})=>{var o;const i=it(),s=(l={})=>$v(l)?i.push(e).catch():Promise.resolve();return d("a",{...r,class:["vp-link",t],href:$e($c(e)),onClick:s},(o=n.default)==null?void 0:o.call(n))};St.displayName="VPLink";const jc=()=>d(ge,{name:"github"},()=>d("path",{d:"M511.957 21.333C241.024 21.333 21.333 240.981 21.333 512c0 216.832 140.544 400.725 335.574 465.664 24.49 4.395 32.256-10.07 32.256-23.083 0-11.69.256-44.245 0-85.205-136.448 29.61-164.736-64.64-164.736-64.64-22.315-56.704-54.4-71.765-54.4-71.765-44.587-30.464 3.285-29.824 3.285-29.824 49.195 3.413 75.179 50.517 75.179 50.517 43.776 75.008 114.816 53.333 142.762 40.79 4.523-31.66 17.152-53.377 31.19-65.537-108.971-12.458-223.488-54.485-223.488-242.602 0-53.547 19.114-97.323 50.517-131.67-5.035-12.33-21.93-62.293 4.779-129.834 0 0 41.258-13.184 134.912 50.346a469.803 469.803 0 0 1 122.88-16.554c41.642.213 83.626 5.632 122.88 16.554 93.653-63.488 134.784-50.346 134.784-50.346 26.752 67.541 9.898 117.504 4.864 129.834 31.402 34.347 50.474 78.123 50.474 131.67 0 188.586-114.73 230.016-224.042 242.09 17.578 15.232 33.578 44.672 33.578 90.454v135.85c0 13.142 7.936 27.606 32.854 22.87C862.25 912.597 1002.667 728.747 1002.667 512c0-271.019-219.648-490.667-490.71-490.667z"}));jc.displayName="GitHubIcon";const Kc=()=>d(ge,{name:"gitlab"},()=>d("path",{d:"M229.333 78.688C223.52 62 199.895 62 193.895 78.688L87.958 406.438h247.5c-.188 0-106.125-327.75-106.125-327.75zM33.77 571.438c-4.875 15 .563 31.687 13.313 41.25l464.812 345L87.77 406.438zm301.5-165 176.813 551.25 176.812-551.25zm655.125 165-54-165-424.312 551.25 464.812-345c12.938-9.563 18.188-26.25 13.5-41.25zM830.27 78.688c-5.812-16.688-29.437-16.688-35.437 0l-106.125 327.75h247.5z"}));Kc.displayName="GitLabIcon";const Wc=()=>d(ge,{name:"gitee"},()=>d("path",{d:"M512 992C246.92 992 32 777.08 32 512S246.92 32 512 32s480 214.92 480 480-214.92 480-480 480zm242.97-533.34H482.39a23.7 23.7 0 0 0-23.7 23.7l-.03 59.28c0 13.08 10.59 23.7 23.7 23.7h165.96a23.7 23.7 0 0 1 23.7 23.7v11.85a71.1 71.1 0 0 1-71.1 71.1H375.71a23.7 23.7 0 0 1-23.7-23.7V423.11a71.1 71.1 0 0 1 71.1-71.1h331.8a23.7 23.7 0 0 0 23.7-23.7l.06-59.25a23.73 23.73 0 0 0-23.7-23.73H423.11a177.78 177.78 0 0 0-177.78 177.75v331.83c0 13.08 10.62 23.7 23.7 23.7h349.62a159.99 159.99 0 0 0 159.99-159.99V482.33a23.7 23.7 0 0 0-23.7-23.7z"}));Wc.displayName="GiteeIcon";const qc=()=>d(ge,{name:"bitbucket"},()=>d("path",{d:"M575.256 490.862c6.29 47.981-52.005 85.723-92.563 61.147-45.714-20.004-45.714-92.562-1.133-113.152 38.29-23.442 93.696 7.424 93.696 52.005zm63.451-11.996c-10.276-81.152-102.29-134.839-177.152-101.156-47.433 21.138-79.433 71.424-77.129 124.562 2.853 69.705 69.157 126.866 138.862 120.576S647.3 548.571 638.708 478.83zm136.558-309.723c-25.161-33.134-67.986-38.839-105.728-45.13-106.862-17.151-216.576-17.7-323.438 1.134-35.438 5.706-75.447 11.996-97.719 43.996 36.572 34.304 88.576 39.424 135.424 45.129 84.553 10.862 171.447 11.447 256 .585 47.433-5.705 99.987-10.276 135.424-45.714zm32.585 591.433c-16.018 55.99-6.839 131.438-66.304 163.986-102.29 56.576-226.304 62.867-338.87 42.862-59.43-10.862-129.135-29.696-161.72-85.723-14.3-54.858-23.442-110.848-32.585-166.84l3.438-9.142 10.276-5.157c170.277 112.567 408.576 112.567 579.438 0 26.844 8.01 6.84 40.558 6.29 60.014zm103.424-549.157c-19.42 125.148-41.728 249.71-63.415 374.272-6.29 36.572-41.728 57.162-71.424 72.558-106.862 53.724-231.424 62.866-348.562 50.286-79.433-8.558-160.585-29.696-225.134-79.433-30.28-23.443-30.28-63.415-35.986-97.134-20.005-117.138-42.862-234.277-57.161-352.585 6.839-51.42 64.585-73.728 107.447-89.71 57.16-21.138 118.272-30.866 178.87-36.571 129.134-12.58 261.157-8.01 386.304 28.562 44.581 13.13 92.563 31.415 122.844 69.705 13.714 17.7 9.143 40.01 6.29 60.014z"}));qc.displayName="BitbucketIcon";const Uc=()=>d(ge,{name:"source"},()=>d("path",{d:"M601.92 475.2c0 76.428-8.91 83.754-28.512 99.594-14.652 11.88-43.956 14.058-78.012 16.434-18.81 1.386-40.392 2.97-62.172 6.534-18.612 2.97-36.432 9.306-53.064 17.424V299.772c37.818-21.978 63.36-62.766 63.36-109.692 0-69.894-56.826-126.72-126.72-126.72S190.08 120.186 190.08 190.08c0 46.926 25.542 87.714 63.36 109.692v414.216c-37.818 21.978-63.36 62.766-63.36 109.692 0 69.894 56.826 126.72 126.72 126.72s126.72-56.826 126.72-126.72c0-31.086-11.286-59.598-29.7-81.576 13.266-9.504 27.522-17.226 39.996-19.206 16.038-2.574 32.868-3.762 50.688-5.148 48.312-3.366 103.158-7.326 148.896-44.55 61.182-49.698 74.25-103.158 75.24-187.902V475.2h-126.72zM316.8 126.72c34.848 0 63.36 28.512 63.36 63.36s-28.512 63.36-63.36 63.36-63.36-28.512-63.36-63.36 28.512-63.36 63.36-63.36zm0 760.32c-34.848 0-63.36-28.512-63.36-63.36s28.512-63.36 63.36-63.36 63.36 28.512 63.36 63.36-28.512 63.36-63.36 63.36zM823.68 158.4h-95.04V63.36h-126.72v95.04h-95.04v126.72h95.04v95.04h126.72v-95.04h95.04z"}));Uc.displayName="SourceIcon";const Oe=(e,t)=>{const r=t?t._instance:mr();return Or(r==null?void 0:r.appContext.components)&&(e in r.appContext.components||ot(e)in r.appContext.components||vn(ot(e))in r.appContext.components)},Hv=()=>Rv(()=>typeof window<"u"&&window.navigator&&"userAgent"in window.navigator),Gc=()=>{const e=Hv();return T(()=>e.value&&/\b(?:Android|iPhone)/i.test(navigator.userAgent))},Yt=e=>{const t=pr();return T(()=>e[t.value])};var zv=$({name:"FontIcon",props:{icon:{type:String,default:""},color:{type:String,default:""},size:{type:[String,Number],default:""}},setup(e){const t=T(()=>{const n=["font-icon icon"],o=`${e.icon}`;return n.push(o),n}),r=T(()=>{const n={};return e.color&&(n.color=e.color),e.size&&(n["font-size"]=Number.isNaN(Number(e.size))?e.size:`${e.size}px`),En(n).length?n:null});return()=>e.icon?d("span",{key:e.icon,class:t.value,style:r.value}):null}});const zt=e=>Zt(e)?e:$e(e);var jv=$({name:"AudioPlayer",props:{options:{type:Object,default:()=>({})},src:{type:String,required:!0},title:{type:String,default:""},type:{type:String,default:""},poster:{type:String,default:""},width:{type:[String,Number],default:"100%"},loop:Boolean},setup(e){let t=null;const r=Se(),n=T(()=>({hideYouTubeDOMError:!0,...e.options}));return le(async()=>{const{default:o}=await u(()=>import("./plyr.min-d2156373.js"),[]);t=new o(r.value,n.value)}),Mi(()=>{try{t==null||t.destroy()}catch{}}),()=>d("div",{class:"vp-audio-player",style:{width:e.width}},[d("a",{class:"sr-only",href:zt(e.src),innerHTML:e.title||"An audio"}),e.poster?d("img",{class:"vp-audio-player-poster",src:zt(e.poster),"no-view":""}):null,d("div",{class:"vp-audio-player-info"},[e.title?d("div",{class:"vp-audio-player-title",innerHTML:e.title}):null,d("audio",{ref:r,crossorigin:"anonymous",preload:"metadata",controls:"",...e.loop?{loop:""}:{}},d("source",{src:zt(e.src),type:e.type}))])])}});const Zc=({type:e="info",text:t="",vertical:r,color:n},{slots:o})=>{var i;return d("span",{class:["vp-badge",e,{diy:n}],style:{verticalAlign:r??!1,backgroundColor:n??!1}},((i=o.default)==null?void 0:i.call(o))||t)};Zc.displayName="Badge";const ts="accelerometer; autoplay; clipboard-write; encrypted-media; fullscreen; gyroscope; picture-in-picture";function Rl(e,t){var r;const n=Se();return Ra(()=>{n.value=e()},{...t,flush:(r=t==null?void 0:t.flush)!=null?r:"sync"}),cr(n)}function Kv(e,t){let r,n,o;const i=j(!0),s=()=>{i.value=!0,o()};ne(e,s,{flush:"sync"});const l=typeof t=="function"?t:t.get,c=typeof t=="function"?void 0:t.set,a=Aa((m,p)=>(n=m,o=p,{get(){return i.value&&(r=l(),i.value=!1),n(),r},set(v){c==null||c(v)}}));return Object.isExtensible(a)&&(a.trigger=s),a}function fr(e){return la()?(bd(e),!0):!1}function Ke(e){return typeof e=="function"?e():ut(e)}const bn=typeof window<"u"&&typeof document<"u",Wv=Object.prototype.toString,qv=e=>Wv.call(e)==="[object Object]",Gt=()=>{},di=Uv();function Uv(){var e;return bn&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent)}function rs(e,t){function r(...n){return new Promise((o,i)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(o).catch(i)})}return r}const Yc=e=>e();function Gv(e,t={}){let r,n,o=Gt;const i=l=>{clearTimeout(l),o(),o=Gt};return l=>{const c=Ke(e),a=Ke(t.maxWait);return r&&i(r),c<=0||a!==void 0&&a<=0?(n&&(i(n),n=null),Promise.resolve(l())):new Promise((m,p)=>{o=t.rejectOnCancel?p:m,a&&!n&&(n=setTimeout(()=>{r&&i(r),n=null,m(l())},a)),r=setTimeout(()=>{n&&i(n),n=null,m(l())},c)})}}function Zv(e,t=!0,r=!0,n=!1){let o=0,i,s=!0,l=Gt,c;const a=()=>{i&&(clearTimeout(i),i=void 0,l(),l=Gt)};return p=>{const v=Ke(e),_=Date.now()-o,b=()=>c=p();return a(),v<=0?(o=Date.now(),b()):(_>v&&(r||!s)?(o=Date.now(),b()):t&&(c=new Promise((A,k)=>{l=n?k:A,i=setTimeout(()=>{o=Date.now(),s=!0,A(b()),a()},Math.max(0,v-_))})),!r&&!i&&(i=setTimeout(()=>s=!0,v)),s=!1,c)}}function Yv(e=Yc){const t=j(!0);function r(){t.value=!1}function n(){t.value=!0}const o=(...i)=>{t.value&&e(...i)};return{isActive:cr(t),pause:r,resume:n,eventFilter:o}}function Xv(...e){if(e.length!==1)return oo(...e);const t=e[0];return typeof t=="function"?cr(Aa(()=>({get:t,set:Gt}))):j(t)}function Jv(e,t=200,r={}){return rs(Gv(t,r),e)}function Qv(e,t=200,r=!1,n=!0,o=!1){return rs(Zv(t,r,n,o),e)}function e0(e,t,r={}){const{eventFilter:n=Yc,...o}=r;return ne(e,rs(n,t),o)}function t0(e,t,r={}){const{eventFilter:n,...o}=r,{eventFilter:i,pause:s,resume:l,isActive:c}=Yv(n);return{stop:e0(e,t,{...o,eventFilter:i}),pause:s,resume:l,isActive:c}}function r0(e,t=!0){mr()?le(e):t?e():ur(e)}function n0(e,t,r={}){const{immediate:n=!0}=r,o=j(!1);let i=null;function s(){i&&(clearTimeout(i),i=null)}function l(){o.value=!1,s()}function c(...a){s(),o.value=!0,i=setTimeout(()=>{o.value=!1,i=null,e(...a)},Ke(t))}return n&&(o.value=!0,bn&&c()),fr(l),{isPending:cr(o),start:c,stop:l}}function Ol(e=!1,t={}){const{truthyValue:r=!0,falsyValue:n=!1}=t,o=De(e),i=j(e);function s(l){if(arguments.length)return i.value=l,i.value;{const c=Ke(r);return i.value=i.value===c?Ke(n):c,i.value}}return o?s:[i,s]}function Ye(e){var t;const r=Ke(e);return(t=r==null?void 0:r.$el)!=null?t:r}const ft=bn?window:void 0,o0=bn?window.document:void 0,i0=bn?window.navigator:void 0;function ke(...e){let t,r,n,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([r,n,o]=e,t=ft):[t,r,n,o]=e,!t)return Gt;Array.isArray(r)||(r=[r]),Array.isArray(n)||(n=[n]);const i=[],s=()=>{i.forEach(m=>m()),i.length=0},l=(m,p,v,_)=>(m.addEventListener(p,v,_),()=>m.removeEventListener(p,v,_)),c=ne(()=>[Ye(t),Ke(o)],([m,p])=>{if(s(),!m)return;const v=qv(p)?{...p}:p;i.push(...r.flatMap(_=>n.map(b=>l(m,_,b,v))))},{immediate:!0,flush:"post"}),a=()=>{c(),s()};return fr(a),a}let Dl=!1;function Xc(e,t,r={}){const{window:n=ft,ignore:o=[],capture:i=!0,detectIframe:s=!1}=r;if(!n)return;di&&!Dl&&(Dl=!0,Array.from(n.document.body.children).forEach(v=>v.addEventListener("click",Gt)),n.document.documentElement.addEventListener("click",Gt));let l=!0;const c=v=>o.some(_=>{if(typeof _=="string")return Array.from(n.document.querySelectorAll(_)).some(b=>b===v.target||v.composedPath().includes(b));{const b=Ye(_);return b&&(v.target===b||v.composedPath().includes(b))}}),m=[ke(n,"click",v=>{const _=Ye(e);if(!(!_||_===v.target||v.composedPath().includes(_))){if(v.detail===0&&(l=!c(v)),!l){l=!0;return}t(v)}},{passive:!0,capture:i}),ke(n,"pointerdown",v=>{const _=Ye(e);_&&(l=!v.composedPath().includes(_)&&!c(v))},{passive:!0}),s&&ke(n,"blur",v=>{setTimeout(()=>{var _;const b=Ye(e);((_=n.document.activeElement)==null?void 0:_.tagName)==="IFRAME"&&!(b!=null&&b.contains(n.document.activeElement))&&t(v)},0)})].filter(Boolean);return()=>m.forEach(v=>v())}function s0(){const e=j(!1);return mr()&&le(()=>{e.value=!0}),e}function yn(e){const t=s0();return T(()=>(t.value,!!e()))}function Jc(e,t={}){const{window:r=ft}=t,n=yn(()=>r&&"matchMedia"in r&&typeof r.matchMedia=="function");let o;const i=j(!1),s=a=>{i.value=a.matches},l=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",s):o.removeListener(s))},c=Ra(()=>{n.value&&(l(),o=r.matchMedia(Ke(e)),"addEventListener"in o?o.addEventListener("change",s):o.addListener(s),i.value=o.matches)});return fr(()=>{c(),l(),o=void 0}),i}function l0(e={}){const{navigator:t=i0,read:r=!1,source:n,copiedDuring:o=1500,legacy:i=!1}=e,s=yn(()=>t&&"clipboard"in t),l=T(()=>s.value||i),c=j(""),a=j(!1),m=n0(()=>a.value=!1,o);function p(){s.value?t.clipboard.readText().then(A=>{c.value=A}):c.value=b()}l.value&&r&&ke(["copy","cut"],p);async function v(A=Ke(n)){l.value&&A!=null&&(s.value?await t.clipboard.writeText(A):_(A),c.value=A,a.value=!0,m.start())}function _(A){const k=document.createElement("textarea");k.value=A??"",k.style.position="absolute",k.style.opacity="0",document.body.appendChild(k),k.select(),document.execCommand("copy"),k.remove()}function b(){var A,k,E;return(E=(k=(A=document==null?void 0:document.getSelection)==null?void 0:A.call(document))==null?void 0:k.toString())!=null?E:""}return{isSupported:l,text:c,copied:a,copy:v}}const Sn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Cn="__vueuse_ssr_handlers__",a0=c0();function c0(){return Cn in Sn||(Sn[Cn]=Sn[Cn]||{}),Sn[Cn]}function u0(e,t){return a0[e]||t}function d0(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const m0={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},xl="vueuse-storage";function go(e,t,r,n={}){var o;const{flush:i="pre",deep:s=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:a=!1,shallow:m,window:p=ft,eventFilter:v,onError:_=I=>{console.error(I)}}=n,b=(m?Se:j)(t);if(!r)try{r=u0("getDefaultStorage",()=>{var I;return(I=ft)==null?void 0:I.localStorage})()}catch(I){_(I)}if(!r)return b;const A=Ke(t),k=d0(A),E=(o=n.serializer)!=null?o:m0[k],{pause:y,resume:S}=t0(b,()=>C(b.value),{flush:i,deep:s,eventFilter:v});return p&&l&&(ke(p,"storage",Z),ke(p,xl,x)),Z(),b;function C(I){try{if(I==null)r.removeItem(e);else{const z=E.write(I),G=r.getItem(e);G!==z&&(r.setItem(e,z),p&&p.dispatchEvent(new CustomEvent(xl,{detail:{key:e,oldValue:G,newValue:z,storageArea:r}})))}}catch(z){_(z)}}function K(I){const z=I?I.newValue:r.getItem(e);if(z==null)return c&&A!==null&&r.setItem(e,E.write(A)),A;if(!I&&a){const G=E.read(z);return typeof a=="function"?a(G,A):k==="object"&&!Array.isArray(G)?{...A,...G}:G}else return typeof z!="string"?z:E.read(z)}function x(I){Z(I.detail)}function Z(I){if(!(I&&I.storageArea!==r)){if(I&&I.key==null){b.value=A;return}if(!(I&&I.key!==e)){y();try{(I==null?void 0:I.newValue)!==E.write(b.value)&&(b.value=K(I))}catch(z){_(z)}finally{I?ur(S):S()}}}}}function p0(e){return Jc("(prefers-color-scheme: dark)",e)}function v0(e,t,r={}){const{window:n=ft,...o}=r;let i;const s=yn(()=>n&&"MutationObserver"in n),l=()=>{i&&(i.disconnect(),i=void 0)},c=ne(()=>Ye(e),m=>{l(),s.value&&n&&m&&(i=new MutationObserver(t),i.observe(m,o))},{immediate:!0}),a=()=>{l(),c()};return fr(a),{isSupported:s,stop:a}}function f0(e,t,r={}){const{window:n=ft,...o}=r;let i;const s=yn(()=>n&&"ResizeObserver"in n),l=()=>{i&&(i.disconnect(),i=void 0)},c=T(()=>Array.isArray(e)?e.map(p=>Ye(p)):[Ye(e)]),a=ne(c,p=>{if(l(),s.value&&n){i=new ResizeObserver(t);for(const v of p)v&&i.observe(v,o)}},{immediate:!0,flush:"post",deep:!0}),m=()=>{l(),a()};return fr(m),{isSupported:s,stop:m}}function h0(e,t={width:0,height:0},r={}){const{window:n=ft,box:o="content-box"}=r,i=T(()=>{var c,a;return(a=(c=Ye(e))==null?void 0:c.namespaceURI)==null?void 0:a.includes("svg")}),s=j(t.width),l=j(t.height);return f0(e,([c])=>{const a=o==="border-box"?c.borderBoxSize:o==="content-box"?c.contentBoxSize:c.devicePixelContentBoxSize;if(n&&i.value){const m=Ye(e);if(m){const p=n.getComputedStyle(m);s.value=Number.parseFloat(p.width),l.value=Number.parseFloat(p.height)}}else if(a){const m=Array.isArray(a)?a:[a];s.value=m.reduce((p,{inlineSize:v})=>p+v,0),l.value=m.reduce((p,{blockSize:v})=>p+v,0)}else s.value=c.contentRect.width,l.value=c.contentRect.height},r),ne(()=>Ye(e),c=>{s.value=c?t.width:0,l.value=c?t.height:0}),{width:s,height:l}}const Sl=["fullscreenchange","webkitfullscreenchange","webkitendfullscreen","mozfullscreenchange","MSFullscreenChange"];function ns(e,t={}){const{document:r=o0,autoExit:n=!1}=t,o=T(()=>{var E;return(E=Ye(e))!=null?E:r==null?void 0:r.querySelector("html")}),i=j(!1),s=T(()=>["requestFullscreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].find(E=>r&&E in r||o.value&&E in o.value)),l=T(()=>["exitFullscreen","webkitExitFullscreen","webkitExitFullScreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].find(E=>r&&E in r||o.value&&E in o.value)),c=T(()=>["fullScreen","webkitIsFullScreen","webkitDisplayingFullscreen","mozFullScreen","msFullscreenElement"].find(E=>r&&E in r||o.value&&E in o.value)),a=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"].find(E=>r&&E in r),m=yn(()=>o.value&&r&&s.value!==void 0&&l.value!==void 0&&c.value!==void 0),p=()=>a?(r==null?void 0:r[a])===o.value:!1,v=()=>{if(c.value){if(r&&r[c.value]!=null)return r[c.value];{const E=o.value;if((E==null?void 0:E[c.value])!=null)return!!E[c.value]}}return!1};async function _(){if(!(!m.value||!i.value)){if(l.value)if((r==null?void 0:r[l.value])!=null)await r[l.value]();else{const E=o.value;(E==null?void 0:E[l.value])!=null&&await E[l.value]()}i.value=!1}}async function b(){if(!m.value||i.value)return;v()&&await _();const E=o.value;s.value&&(E==null?void 0:E[s.value])!=null&&(await E[s.value](),i.value=!0)}async function A(){await(i.value?_():b())}const k=()=>{const E=v();(!E||E&&p())&&(i.value=E)};return ke(r,Sl,k,!1),ke(()=>Ye(o),Sl,k,!1),n&&fr(_),{isSupported:m,isFullscreen:i,enter:b,exit:_,toggle:A}}function Mo(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function I_(e,t,r={}){const{window:n=ft}=r;return go(e,t,n==null?void 0:n.localStorage,r)}function Qc(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}function os(e,t=!1){const r=j(t);let n=null,o;ne(Xv(e),l=>{const c=Mo(Ke(l));if(c){const a=c;o=a.style.overflow,r.value&&(a.style.overflow="hidden")}},{immediate:!0});const i=()=>{const l=Mo(Ke(e));!l||r.value||(di&&(n=ke(l,"touchmove",c=>{_0(c)},{passive:!1})),l.style.overflow="hidden",r.value=!0)},s=()=>{const l=Mo(Ke(e));!l||!r.value||(di&&(n==null||n()),l.style.overflow=o,r.value=!1)};return fr(s),T({get(){return r.value},set(l){l?i():s()}})}function g0(e={}){const{window:t=ft}=e;if(!t)return{x:j(0),y:j(0)};const r=j(t.scrollX),n=j(t.scrollY);return ke(t,"scroll",()=>{r.value=t.scrollX,n.value=t.scrollY},{capture:!1,passive:!0}),{x:r,y:n}}function E0(e={}){const{window:t=ft,initialWidth:r=Number.POSITIVE_INFINITY,initialHeight:n=Number.POSITIVE_INFINITY,listenOrientation:o=!0,includeScrollbar:i=!0}=e,s=j(r),l=j(n),c=()=>{t&&(i?(s.value=t.innerWidth,l.value=t.innerHeight):(s.value=t.document.documentElement.clientWidth,l.value=t.document.documentElement.clientHeight))};if(c(),r0(c),ke("resize",c,{passive:!0}),o){const a=Jc("(orientation: portrait)");ne(a,()=>c())}return{width:s,height:l}}const Cl=e=>ie(e)?e:`${e}px`,Kr=(e,t=0)=>{const r=Se(),n=T(()=>Cl(ut(e.width)||"100%")),o=j("auto"),i=c=>{if(ie(c)){const[a,m]=c.split(":"),p=Number(a)/Number(m);if(!Number.isNaN(p))return p}return typeof c=="number"?c:16/9},s=c=>{const a=ut(e.height),m=i(ut(e.ratio));return a?Cl(a):`${Number(c)/m+ut(t)}px`},l=()=>{r.value&&(o.value=s(r.value.clientWidth))};return le(()=>{l(),De(t)&&ne(t,()=>l()),ke("orientationchange",()=>l()),ke("resize",()=>l())}),{el:r,width:n,height:o}},Vl="https://player.bilibili.com/player.html";var b0=$({name:"BiliBili",props:{bvid:{type:String,default:""},aid:{type:String,default:""},cid:{type:String,default:""},title:{type:String,default:"A BiliBili video"},page:{type:[String,Number],default:1},width:{type:[String,Number],default:"100%"},height:{type:[String,Number],default:void 0},ratio:{type:[String,Number],default:16/9},time:{type:[String,Number],default:0},autoplay:Boolean},setup(e){const{el:t,width:r,height:n}=Kr(e),o=j(!1),i=T(()=>{const{aid:s,bvid:l,cid:c,autoplay:a,time:m,page:p}=e;return s&&c?`${Vl}?aid=${s}&cid=${c}&t=${m}&autoplay=${a?1:0}&page=${p}`:l?`${Vl}?bvid=${l}&t=${m}&autoplay=${a?1:0}`:null});return()=>i.value?[d("div",{class:"bilibili-desc"},d("a",{class:"sr-only",href:i.value},e.title)),d("iframe",{ref:t,src:i.value,title:e.title,class:"bilibili-iframe",allow:ts,style:{width:r.value,height:o.value?n.value:0},onLoad:()=>{o.value=!0}}),o.value?null:d(vr)]:[]}});const Bl="https://codepen.io",y0=e=>{let t="";for(const r in e)r!=="prefill"&&r!=="open"&&(t!==""&&(t+="&"),t+=r+"="+encodeURIComponent(e[r]));return t},eu=e=>{const t=e.preview==="true"?"embed/preview":"embed";if("prefill"in e)return[Bl,t,"prefill"].join("/");let r=e["slug-hash"];if(!r)throw new Error("slug-hash is required");return e.token&&(r+="/"+e.token),[Bl,e.user||"anon",t,r+"?"+y0(e)].join("/").replace(/\/\//g,"//")},mi=(e,t)=>{const r=document.createElement(e);for(const n in t)Object.prototype.hasOwnProperty.call(t,n)&&r.setAttribute(n,t[n].toString());return r},w0=e=>{const t=mi("form",{class:"code-pen-embed-form",style:"display: none;",method:"post",action:eu(e),target:e.name||""});for(const r in e)r!=="prefill"&&t.append(mi("input",{type:"hidden",name:r,value:e[r].toString()}));return t},A0=e=>{const{height:t=300,class:r="",name:n="CodePen Embed"}=e,o={class:`cp_embed_iframe ${r}`,src:eu(e),allowfullscreen:"",allowpaymentrequest:"",allowTransparency:"",frameborder:0,width:"100%",height:t,name:n,scrolling:"no",style:"width: 100%; overflow: hidden; display: block;",title:e["pen-title"]||n};return"prefill"in e||(o.loading="lazy"),e["slug-hash"]&&(o.id=`code-pen-embed-${e["slug-hash"].replace("/","_")}`),mi("iframe",o)},T0=(e,t)=>{if(e.parentNode){const r=document.createElement("div");return r.className="code-pen-embed-wrapper",r.append(t),e.parentNode.replaceChild(r,e),r}return e.append(t),e};let k0=1;const Ml=(e,t)=>{const r=typeof t=="string"?document.querySelector(t):t instanceof HTMLElement?t:null;e.user||(e.user="anon"),e.name||(e.name=r?`code-pen-api-${k0++}`:"_blank");const n=document.createDocumentFragment();let o=null;"prefill"in e&&(e.data=JSON.stringify(e.prefill||"{}"),o=w0(e),n.append(o)),r?(n.append(A0(e)),T0(r,n)):document.body.appendChild(n),o&&o.submit()};var L0=$({name:"CodePen",props:{link:{type:String,default:""},user:{type:String,default:""},slugHash:{type:String,default:""},title:{type:String,default:""},height:{type:[String,Number],default:380},theme:{type:String,default:"default"},defaultTab:{type:Array,default:()=>["result"]},status:{type:String,default:"preview"}},setup(e){const t=()=>{const i=/(?:^(?:https?:)?\/\/codepen.io\/|^\/|^)(.*?)\/(?:pen|embed)\/(.*?)\/?$/.exec(e.link);return{user:i==null?void 0:i[1],slugHash:i==null?void 0:i[2]}},r=T(()=>t().user||e.user),n=T(()=>t().slugHash||e.slugHash),o=T(()=>({user:r.value,"slug-hash":n.value,"theme-id":e.theme,"default-tab":e.defaultTab.join(","),"pen-title":e.title,height:e.height,preview:e.status==="preview"?"true":""}));return le(()=>{e.status!=="clicktorun"&&Ml(o.value,`.codepen-${n.value}`)}),()=>d("div",{class:["codepen-wrapper",`codepen-${n.value}`]},[e.status==="clicktorun"?d("button",{type:"button",class:"codepen-button",onClick:()=>{Ml(o.value,`.codepen-${n.value}`)}},"Run Code"):null,d("span",["See the Pen ",d("a",{href:e.link},[e.title])," by ",d("a",{href:`https://codepen.io/${r.value}`},[r.value])," on ",d("a",{href:"https://codepen.io"},["CodePen"]),"."])])}});const $o=e=>{console.error("[PDF]: "+e)},P0=e=>{for(;e.firstChild;)e.removeChild(e.firstChild)},I0=e=>e==="string"?document.querySelector(e):e instanceof HTMLElement?e:document.body,R0=e=>{let t="";return e&&(t+=ho(e).map(([r,n])=>r==="noToolbar"?`toolbar=${n?0:1}`:`${encodeURIComponent(r)}=${encodeURIComponent(n)}`).join("&"),t&&(t=`#${t.slice(0,t.length-1)}`)),t},O0=(e,t,r,n,o)=>{P0(t);const i=`${e==="pdfjs"?`${lc($e(null))}web/viewer.html?file=${encodeURIComponent(r)}`:r}${R0(n)}`,s=e==="pdfjs"||e==="iframe"?"iframe":"embed",l=document.createElement(s);return l.className="pdf-viewer",l.type="application/pdf",l.title=o,l.src=i,l instanceof HTMLIFrameElement&&(l.allow="fullscreen"),t.classList.add("pdf-viewer-container"),t.appendChild(l),t.getElementsByTagName(s)[0]},D0=(e,t=null,{title:r,hint:n,options:o={}})=>{var i,s;if(typeof window>"u"||!((i=window==null?void 0:window.navigator)!=null&&i.userAgent))return null;const{navigator:l}=window,{userAgent:c}=l,a=window.Promise!==void 0,m=Vc(c)||gv(c),p=!m&&Ev(c),v=!m&&/firefox/i.test(c)&&c.split("rv:").length>1?parseInt(c.split("rv:")[1].split(".")[0],10)>18:!1,_=!m&&(a||v);if(!ie(e))return $o("URL is not valid"),null;const b=I0(t);if(!b)return $o("Target element cannot be determined"),null;const A=r||((s=/\/([^/]+).pdf/.exec(e))==null?void 0:s[1])||"PDF Viewer";return _||!m?O0(p?"iframe":"embed",b,e,o,A):(b.innerHTML=n.replace(/\[url\]/g,e),$o("This browser does not support embedded PDFs"),null)};var x0=$({name:"PDF",props:{url:{type:String,required:!0},title:{type:String,default:""},width:{type:[String,Number],default:"100%"},height:{type:[String,Number],default:void 0},ratio:{type:[String,Number],default:16/9},page:{type:[String,Number],default:1},noToolbar:Boolean,zoom:{type:[String,Number],default:100}},setup(e){const{el:t,width:r,height:n}=Kr(e),o=Yt({"/":{hint:"

This browser does not support embedding PDFs. Please download the PDF to view it: Download PDF

"}});return le(()=>{D0(zt(e.url),t.value,{title:e.title,hint:o.value.hint,options:{page:e.page,noToolbar:e.noToolbar,zoom:e.zoom}})}),()=>d("div",{class:"pdf-viewer-wrapper",ref:t,style:{width:r.value,height:n.value}})}});var S0=$({name:"Replit",props:{link:{type:String,default:""},user:{type:String,default:""},repl:{type:String,default:""},width:{type:[String,Number],default:"100%"},height:{type:[String,Number],default:void 0},ratio:{type:[String,Number],default:16/9},theme:{type:String,default:"light"},file:{type:String,default:()=>null},plain:Boolean,text:{type:String,default:"Open on Replit"}},setup(e){const{el:t,width:r,height:n}=Kr(e),o=j(!1),i=T(()=>{var s;if(e.link){const l=new URL(e.link);return e.plain?l.searchParams.delete("embed"):l.searchParams.set("embed","true"),l.toString()}return e.user&&e.repl?`https://replit.com/@${e.user}/${e.repl}${e.plain?"":"?embed=true"}${(s=e.file)!=null&&s.length?`#${e.file}`:""}`:null});return()=>i.value?d("div",{class:"replit-wrapper"},e.plain?d("button",{type:"button",class:"replit-button",onClick:()=>{window.open(i.value,"_blank")}},e.text):[d("iframe",{ref:t,class:"replit-iframe",src:i.value,style:{width:r.value,height:o.value?n.value:0},onLoad:()=>{o.value=!0}}),o.value?null:d(vr)]):null}});const C0=500,V0=20,B0=300,M0="https://stackblitz.com",$l=["angular-cli","create-react-app","html","javascript","node","polymer","typescript","vue"],$0=["project","search","ports","settings"],N0=["light","dark"],F0=["editor","preview"],Nl={clickToLoad:e=>gr("ctl",e),devToolsHeight:e=>Fl("devtoolsheight",e),forceEmbedLayout:e=>gr("embed",e),hideDevTools:e=>gr("hidedevtools",e),hideExplorer:e=>gr("hideExplorer",e),hideNavigation:e=>gr("hideNavigation",e),openFile:e=>Hl("file",e),showSidebar:e=>H0("showSidebar",e),sidebarView:e=>No("sidebarView",e,$0),startScript:e=>Hl("startScript",e),terminalHeight:e=>Fl("terminalHeight",e),theme:e=>No("theme",e,N0),view:e=>No("view",e,F0),zenMode:e=>gr("zenMode",e)};function tu(e={}){const t=Object.entries(e).map(([r,n])=>n!=null&&Nl.hasOwnProperty(r)?Nl[r](n):"").filter(Boolean);return t.length?`?${t.join("&")}`:""}function gr(e,t){return t===!0?`${e}=1`:""}function H0(e,t){return typeof t=="boolean"?`${e}=${t?"1":"0"}`:""}function Fl(e,t){if(typeof t=="number"&&!Number.isNaN(t)){const r=Math.min(100,Math.max(0,t));return`${e}=${encodeURIComponent(Math.round(r))}`}return""}function No(e,t="",r=[]){return r.includes(t)?`${e}=${encodeURIComponent(t)}`:""}function Hl(e,t){return(Array.isArray(t)?t:[t]).filter(n=>typeof n=="string"&&n.trim()!=="").map(n=>`${e}=${encodeURIComponent(n)}`).join("&")}function ru(){return Math.random().toString(36).slice(2,6)+Math.random().toString(36).slice(2,6)}function is(e,t){return`${nu(t)}${e}${tu(t)}`}function ss(e,t){const r={forceEmbedLayout:!0};return t&&typeof t=="object"&&Object.assign(r,t),`${nu(r)}${e}${tu(r)}`}function nu(e={}){return(typeof e.origin=="string"?e.origin:M0).replace(/\/$/,"")}function ls(e,t,r){if(!t||!e||!e.parentNode)throw new Error("Invalid Element");e.id&&(t.id=e.id),e.className&&(t.className=e.className),z0(t,r),e.replaceWith(t)}function as(e){if(typeof e=="string"){const t=document.getElementById(e);if(!t)throw new Error(`Could not find element with id '${e}'`);return t}else if(e instanceof HTMLElement)return e;throw new Error(`Invalid element: ${e}`)}function cs(e){return e&&e.newWindow===!1?"_self":"_blank"}function z0(e,t={}){const r=Object.hasOwnProperty.call(t,"height")?`${t.height}`:`${B0}`,n=Object.hasOwnProperty.call(t,"width")?`${t.width}`:void 0;e.setAttribute("height",r),n?e.setAttribute("width",n):e.setAttribute("style","width:100%;")}class j0{constructor(t){this.pending={},this.port=t,this.port.onmessage=this.messageListener.bind(this)}request({type:t,payload:r}){return new Promise((n,o)=>{const i=ru();this.pending[i]={resolve:n,reject:o},this.port.postMessage({type:t,payload:{...r,__reqid:i}})})}messageListener(t){var l;if(typeof((l=t.data.payload)==null?void 0:l.__reqid)!="string")return;const{type:r,payload:n}=t.data,{__reqid:o,__success:i,__error:s}=n;this.pending[o]&&(i?this.pending[o].resolve(this.cleanResult(n)):this.pending[o].reject(s?`${r}: ${s}`:r),delete this.pending[o])}cleanResult(t){const r={...t};return delete r.__reqid,delete r.__success,delete r.__error,Object.keys(r).length?r:null}}class K0{constructor(t,r){this.editor={openFile:n=>this._rdc.request({type:"SDK_OPEN_FILE",payload:{path:n}}),setCurrentFile:n=>this._rdc.request({type:"SDK_SET_CURRENT_FILE",payload:{path:n}}),setTheme:n=>this._rdc.request({type:"SDK_SET_UI_THEME",payload:{theme:n}}),setView:n=>this._rdc.request({type:"SDK_SET_UI_VIEW",payload:{view:n}}),showSidebar:(n=!0)=>this._rdc.request({type:"SDK_TOGGLE_SIDEBAR",payload:{visible:n}})},this.preview={origin:"",getUrl:()=>this._rdc.request({type:"SDK_GET_PREVIEW_URL",payload:{}}).then(n=>(n==null?void 0:n.url)??null),setUrl:(n="/")=>{if(typeof n!="string"||!n.startsWith("/"))throw new Error(`Invalid argument: expected a path starting with '/', got '${n}'`);return this._rdc.request({type:"SDK_SET_PREVIEW_URL",payload:{path:n}})}},this._rdc=new j0(t),Object.defineProperty(this.preview,"origin",{value:typeof r.previewOrigin=="string"?r.previewOrigin:null,writable:!1})}applyFsDiff(t){const r=n=>n!==null&&typeof n=="object";if(!r(t)||!r(t.create))throw new Error("Invalid diff object: expected diff.create to be an object.");if(!Array.isArray(t.destroy))throw new Error("Invalid diff object: expected diff.destroy to be an array.");return this._rdc.request({type:"SDK_APPLY_FS_DIFF",payload:t})}getDependencies(){return this._rdc.request({type:"SDK_GET_DEPS_SNAPSHOT",payload:{}})}getFsSnapshot(){return this._rdc.request({type:"SDK_GET_FS_SNAPSHOT",payload:{}})}}const zn=[];class W0{constructor(t){this.id=ru(),this.element=t,this.pending=new Promise((r,n)=>{const o=({data:a,ports:m})=>{(a==null?void 0:a.action)==="SDK_INIT_SUCCESS"&&a.id===this.id&&(this.vm=new K0(m[0],a.payload),r(this.vm),s())},i=()=>{var a;(a=this.element.contentWindow)==null||a.postMessage({action:"SDK_INIT",id:this.id},"*")};function s(){window.clearInterval(c),window.removeEventListener("message",o)}window.addEventListener("message",o),i();let l=0;const c=window.setInterval(()=>{if(this.vm){s();return}if(l>=V0){s(),n("Timeout: Unable to establish a connection with the StackBlitz VM"),zn.forEach((a,m)=>{a.id===this.id&&zn.splice(m,1)});return}l++,i()},C0)}),zn.push(this)}}const q0=e=>{const t=e instanceof Element?"element":"id";return zn.find(r=>r[t]===e)??null};function U0(e,t){const r=document.createElement("input");return r.type="hidden",r.name=e,r.value=t,r}function G0(e){return e.replace(/\[/g,"%5B").replace(/\]/g,"%5D")}function ou({template:e,title:t,description:r,dependencies:n,files:o,settings:i}){if(!$l.includes(e)){const a=$l.map(m=>`'${m}'`).join(", ");console.warn(`Unsupported project.template: must be one of ${a}`)}const s=[],l=(a,m,p="")=>{s.push(U0(a,typeof m=="string"?m:p))};l("project[title]",t),typeof r=="string"&&r.length>0&&l("project[description]",r),l("project[template]",e,"javascript"),n&&(e==="node"?console.warn("Invalid project.dependencies: dependencies must be provided as a 'package.json' file when using the 'node' template."):l("project[dependencies]",JSON.stringify(n))),i&&l("project[settings]",JSON.stringify(i)),Object.entries(o).forEach(([a,m])=>{l(`project[files][${G0(a)}]`,m)});const c=document.createElement("form");return c.method="POST",c.setAttribute("style","display:none!important;"),c.append(...s),c}function Z0(e,t){const r=ou(e);return r.action=ss("/run",t),r.id="sb_run",` + + + + ${r.outerHTML} + 凡是过往、皆为序章 + + + + + + +
跳至主要內容

微信公众号:储凡Less than 1 minute

"Brain-maps"从字面意思来理解即为:大脑地图,这里用来代表思维导图,也称脑图。精炼的记录思维过程、方式,有规律、整洁的记录知识、资料,帮助复习知识点~

该目录下将会收集JavaScriptCollection仓库文章涉及到的所有思维导图,并按照主题进行整理,提供思维导图的xmind源文件和导出png图片。

软件介绍

  • Xmind2020(可能收费,可使用破解,工作有收入建议支持正版)
  • Typora
  • 坚果云(画流程图)

流程图

  • redis集群
  • mysql集群

思维导图

  • 完整大纲
  • redis
  • mysql
+ + + diff --git a/assets/store-image.html-3049ba25.js b/assets/store-image.html-3049ba25.js new file mode 100644 index 000000000..9243fd48e --- /dev/null +++ b/assets/store-image.html-3049ba25.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-4c0b63c0","path":"/manuscripts/server-end/build-website/store-image.html","title":"镜像托管","lang":"en-US","frontmatter":{"description":"","head":[["meta",{"property":"og:url","content":"https://142vip.cn/JavaScriptCollection/manuscripts/server-end/build-website/store-image.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:title","content":"镜像托管"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-10-16T09:36:51.000Z"}],["meta",{"property":"article:author","content":"微信公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-10-16T09:36:51.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"镜像托管\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-10-16T09:36:51.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"微信公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[],"git":{"createdTime":1697449011000,"updatedTime":1697449011000,"contributors":[{"name":"chufan","email":"fairy_vip@2925.com","commits":1}]},"readingTime":{"minutes":0.02,"words":4},"filePathRelative":"manuscripts/server-end/build-website/store-image.md","localizedDate":"October 16, 2023","autoDesc":true,"excerpt":""}');export{e as data}; diff --git a/assets/store-image.html-eff0e6c4.js b/assets/store-image.html-eff0e6c4.js new file mode 100644 index 000000000..0acd82732 --- /dev/null +++ b/assets/store-image.html-eff0e6c4.js @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-c27b6911.js";import{o as a,c as o,a as e,b as r}from"./app-97115cb3.js";const s={},c=e("h1",{id:"镜像托管",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#镜像托管","aria-hidden":"true"},"#"),r(" 镜像托管")],-1),n=[c];function _(d,i){return a(),o("div",null,n)}const m=t(s,[["render",_],["__file","store-image.html.vue"]]);export{m as default}; diff --git a/assets/strToInt.html-6281609d.js b/assets/strToInt.html-6281609d.js new file mode 100644 index 000000000..e45ceabf0 --- /dev/null +++ b/assets/strToInt.html-6281609d.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-8d1f691a","path":"/manuscripts/solo-algorithm/sword-point/%E5%85%B6%E4%BB%96%E7%9B%B8%E5%85%B3/strToInt.html","title":"算法相关文档格式模版","lang":"en-US","frontmatter":{"description":"题目链接 牛客网 (); 欢迎讨论 (); 题目描述 刷题思路 代码实现 code js (@code/algorithm/剑指/其他相关/strToInt.js) 一些建议","head":[["meta",{"property":"og:url","content":"https://142vip.cn/JavaScriptCollection/manuscripts/solo-algorithm/sword-point/%E5%85%B6%E4%BB%96%E7%9B%B8%E5%85%B3/strToInt.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:title","content":"算法相关文档格式模版"}],["meta",{"property":"og:description","content":"题目链接 牛客网 (); 欢迎讨论 (); 题目描述 刷题思路 代码实现 code js (@code/algorithm/剑指/其他相关/strToInt.js) 一些建议"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-10-20T09:29:35.000Z"}],["meta",{"property":"article:author","content":"微信公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-10-20T09:29:35.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"算法相关文档格式模版\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-10-20T09:29:35.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"微信公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[{"level":2,"title":"题目链接","slug":"题目链接","link":"#题目链接","children":[]},{"level":2,"title":"题目描述","slug":"题目描述","link":"#题目描述","children":[]},{"level":2,"title":"刷题思路","slug":"刷题思路","link":"#刷题思路","children":[]},{"level":2,"title":"代码实现","slug":"代码实现","link":"#代码实现","children":[]},{"level":2,"title":"一些建议","slug":"一些建议","link":"#一些建议","children":[]}],"git":{"createdTime":1694448705000,"updatedTime":1697794175000,"contributors":[{"name":"chufan","email":"fairy0115@2925.com","commits":1},{"name":"chufan","email":"fairy_vip@2925.com","commits":1}]},"readingTime":{"minutes":0.25,"words":49},"filePathRelative":"manuscripts/solo-algorithm/sword-point/其他相关/strToInt.md","localizedDate":"September 11, 2023","autoDesc":true,"excerpt":""}');export{t as data}; diff --git a/assets/strToInt.html-facc45bc.js b/assets/strToInt.html-facc45bc.js new file mode 100644 index 000000000..f081657d0 --- /dev/null +++ b/assets/strToInt.html-facc45bc.js @@ -0,0 +1,15 @@ +import{_ as n}from"./plugin-vue_export-helper-c27b6911.js";import{o as s,c as a,f as e}from"./app-97115cb3.js";const t={},p=e(`

算法相关文档格式模版

题目链接

题目描述

刷题思路

代码实现

/**
+ * 【较难】把字符串转换成整数
+ * @param str
+ * @returns {number|number|number}
+ */
+function StrToInt(str) {
+  if (!str) return 0
+  let bool = false; const firstLetter = str[0]
+  if (firstLetter === '-') bool = true
+  if (firstLetter === '-' || firstLetter === '+') str = str.substring(1)
+  const n = Number(str)
+  if (n === 0) return 0
+  return bool ? -n : n
+}
+

一些建议

`,8),o=[p];function r(c,l){return s(),a("div",null,o)}const d=n(t,[["render",r],["__file","strToInt.html.vue"]]);export{d as default}; diff --git a/assets/stream.html-990a98df.js b/assets/stream.html-990a98df.js new file mode 100644 index 000000000..3697df6c6 --- /dev/null +++ b/assets/stream.html-990a98df.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-df98e434","path":"/manuscripts/server-end/node-learn/stream.html","title":"node核心模块 stream","lang":"en-US","frontmatter":{"description":"什么是stream流 流(Stream),是一个数据传输手段,是端到端信息交换的一种方式,而且是有顺序、逐块读取数据、处理内容。常见使用场景http传输大文件,本地文件读取。 node中流的基本类型 Readable - 可读操作。; Writable - 可写操作。; Duplex - 可读可写操作.; Transform - 操作被写入数据,然后读...","head":[["meta",{"property":"og:url","content":"https://142vip.cn/JavaScriptCollection/manuscripts/server-end/node-learn/stream.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:title","content":"node核心模块 stream"}],["meta",{"property":"og:description","content":"什么是stream流 流(Stream),是一个数据传输手段,是端到端信息交换的一种方式,而且是有顺序、逐块读取数据、处理内容。常见使用场景http传输大文件,本地文件读取。 node中流的基本类型 Readable - 可读操作。; Writable - 可写操作。; Duplex - 可读可写操作.; Transform - 操作被写入数据,然后读..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-10-20T09:29:35.000Z"}],["meta",{"property":"article:author","content":"微信公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-10-20T09:29:35.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"node核心模块 stream\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-10-20T09:29:35.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"微信公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[{"level":2,"title":"什么是stream流","slug":"什么是stream流","link":"#什么是stream流","children":[]},{"level":2,"title":"node中流的基本类型","slug":"node中流的基本类型","link":"#node中流的基本类型","children":[]},{"level":2,"title":"使用express框架简单搭一个 http传输流","slug":"使用express框架简单搭一个-http传输流","link":"#使用express框架简单搭一个-http传输流","children":[]}],"git":{"createdTime":1694448705000,"updatedTime":1697794175000,"contributors":[{"name":"chufan","email":"fairy0115@2925.com","commits":1},{"name":"chufan","email":"fairy_vip@2925.com","commits":1}]},"readingTime":{"minutes":1.62,"words":324},"filePathRelative":"manuscripts/server-end/node-learn/stream.md","localizedDate":"September 11, 2023","autoDesc":true,"excerpt":""}');export{e as data}; diff --git a/assets/stream.html-e4d35be5.js b/assets/stream.html-e4d35be5.js new file mode 100644 index 000000000..ea9a4a973 --- /dev/null +++ b/assets/stream.html-e4d35be5.js @@ -0,0 +1,40 @@ +import{_ as n}from"./plugin-vue_export-helper-c27b6911.js";import{o as s,c as a,f as t}from"./app-97115cb3.js";const p={},e=t(`

node核心模块 stream

什么是stream流

流(Stream),是一个数据传输手段,是端到端信息交换的一种方式,而且是有顺序、逐块读取数据、处理内容。常见使用场景http传输大文件,本地文件读取。

node中流的基本类型

  • Readable - 可读操作。
  • Writable - 可写操作。
  • Duplex - 可读可写操作.
  • Transform - 操作被写入数据,然后读出结果。

常用事件:

  • data - 当有数据可读时触发。
  • end - 没有更多的数据可读时触发。
  • error - 在接收和写入过程中发生错误时触发。
  • finish - 所有数据已被写入到底层系统时触发。

使用express框架简单搭一个 http传输流

首先需要创建两个文件 input.txt 、output.txt

功能:读取input.txt中文件流式发送到服务端,服务端解析到output.txt

依赖

  "dependencies": {
+    "@types/axios": "^0.14.0",
+    "axios": "^1.2.2",
+    "express": "^4.18.2",
+  },
+  "devDependencies": {
+    "@types/express": "^4.17.15",
+    "@types/node": "^18.11.18",
+  }
+

服务端

import express from "express";
+import fs, { read } from 'fs';
+const app=express()
+
+app.post('/',(req, res) => {  // node中req res本身也是流
+    const writerStream = fs.createWriteStream('./output.txt');
+    req.pipe(writerStream)   // 管道传输 
+    req.on('end', () => {
+        res.write('结束');
+        res.end();
+    });
+})
+
+app.listen(8081)
+

客户端发送请求

import axios from "axios";
+import fs from 'fs'
+
+const file = fs.createReadStream('./input.txt');
+const url= "http://localhost:8081/"
+
+axios({
+    method:'post',
+    data:file,
+    url:url,
+    headers: {
+        'Content-Type': 'application/octet-stream',
+      },
+}).then(res=>{
+    console.log(res.data)
+})
+
`,16),o=[e];function c(i,l){return s(),a("div",null,o)}const d=n(p,[["render",c],["__file","stream.html.vue"]]);export{d as default}; diff --git a/assets/style-86d7735d.css b/assets/style-86d7735d.css new file mode 100644 index 000000000..10071493f --- /dev/null +++ b/assets/style-86d7735d.css @@ -0,0 +1,7 @@ +@charset "UTF-8";html[data-theme=dark]{--text-color: #9e9e9e;--bg-color: #0d1117;--bg-color-secondary: #161b22;--bg-color-tertiary: #21262c;--border-color: #30363d;--box-shadow: #282a32;--card-shadow: rgba(0, 0, 0, .3);--black: #fff;--dark-grey: #999;--light-grey: #666;--white: #000;--grey3: #bbb;--grey12: #333;--grey14: #111;--bg-color-light: #161b22;--bg-color-back: #0d1117;--bg-color-float: #161b22;--bg-color-blur: rgba(13, 17, 23, .9);--bg-color-float-blur: rgba(22, 27, 34, .9);--text-color-light: #a8a8a8;--text-color-lighter: #b1b1b1;--text-color-bright: #c5c5c5;--border-color-light: #2e333a;--border-color-dark: #394048}:root{--theme-color: #2196f3;--text-color: #2c3e50;--bg-color: #fff;--bg-color-secondary: #f8f8f8;--bg-color-tertiary: #efeef4;--border-color: #eaecef;--box-shadow: #f0f1f2;--card-shadow: rgba(0, 0, 0, .15);--black: #000;--dark-grey: #666;--light-grey: #999;--white: #fff;--grey3: #333;--grey12: #bbb;--grey14: #eee;--navbar-height: 3.75rem;--navbar-horizontal-padding: 1.5rem;--navbar-vertical-padding: .7rem;--navbar-mobile-height: 3.25rem;--navbar-mobile-horizontal-padding: 1rem;--navbar-mobile-vertical-padding: .5rem;--sidebar-width: 18rem;--sidebar-mobile-width: 16rem;--content-width: 780px;--home-page-width: 80rem;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", STHeiti, "Microsoft YaHei", SimSun, sans-serif;--font-family-heading: Georgia Pro, Crimson, Georgia, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", STHeiti, "Microsoft YaHei", SimSun, sans-serif;--font-family-mono: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;--line-numbers-width: 2.5rem;--color-transition: .3s ease;--transform-transition: .3s ease;--vp-bg: var(--bg-color);--vp-bgl: var(--bg-color-light);--vp-bglt: var(--bg-color-tertiary);--vp-c: var(--text-color);--vp-cl: var(--text-color-light);--vp-clt: var(--text-color-lighter);--vp-brc: var(--border-color);--vp-brcd: var(--border-color-dark);--vp-tc: var(--theme-color);--vp-tcl: var(--theme-color-light);--vp-ct: var(--color-transition);--vp-tt: var(--transform-transition);--bg-color-light: #fff;--bg-color-back: #f8f8f8;--bg-color-float: #fff;--bg-color-blur: rgba(255, 255, 255, .9);--bg-color-float-blur: rgba(255, 255, 255, .9);--text-color-light: #3a5169;--text-color-lighter: #476582;--text-color-bright: #6a8bad;--border-color-light: #eceef1;--border-color-dark: #cfd4db;--theme-color-dark: #0d89ec;--theme-color-light: #37a1f4;--theme-color-mask: rgba(33, 150, 243, .15)}.font-icon{display:inline-block}.theme-hope-content .font-icon{vertical-align:middle}@keyframes plyr-progress{to{background-position:25px 0;background-position:var(--plyr-progress-loading-size,25px) 0}}@keyframes plyr-popup{0%{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes plyr-fade-in{0%{opacity:0}to{opacity:1}}.plyr{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;align-items:center;direction:ltr;display:flex;flex-direction:column;font-family:inherit;font-family:var(--plyr-font-family,inherit);font-variant-numeric:tabular-nums;font-weight:400;font-weight:var(--plyr-font-weight-regular,400);line-height:1.7;line-height:var(--plyr-line-height,1.7);max-width:100%;min-width:200px;position:relative;text-shadow:none;transition:box-shadow .3s ease;z-index:0}.plyr audio,.plyr iframe,.plyr video{display:block;height:100%;width:100%}.plyr button{font:inherit;line-height:inherit;width:auto}.plyr:focus{outline:0}.plyr--full-ui{box-sizing:border-box}.plyr--full-ui *,.plyr--full-ui :after,.plyr--full-ui :before{box-sizing:inherit}.plyr--full-ui a,.plyr--full-ui button,.plyr--full-ui input,.plyr--full-ui label{touch-action:manipulation}.plyr__badge{background:#4a5464;background:var(--plyr-badge-background,#4a5464);border-radius:2px;border-radius:var(--plyr-badge-border-radius,2px);color:#fff;color:var(--plyr-badge-text-color,#fff);font-size:9px;font-size:var(--plyr-font-size-badge,9px);line-height:1;padding:3px 4px}.plyr--full-ui ::-webkit-media-text-track-container{display:none}.plyr__captions{animation:plyr-fade-in .3s ease;bottom:0;display:none;font-size:13px;font-size:var(--plyr-font-size-small,13px);left:0;padding:10px;padding:var(--plyr-control-spacing,10px);position:absolute;text-align:center;transition:transform .4s ease-in-out;width:100%}.plyr__captions span:empty{display:none}@media (min-width:480px){.plyr__captions{font-size:15px;font-size:var(--plyr-font-size-base,15px);padding:20px;padding:calc(var(--plyr-control-spacing, 10px)*2)}}@media (min-width:768px){.plyr__captions{font-size:18px;font-size:var(--plyr-font-size-large,18px)}}.plyr--captions-active .plyr__captions{display:block}.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty)~.plyr__captions{transform:translateY(-40px);transform:translateY(calc(var(--plyr-control-spacing, 10px)*-4))}.plyr__caption{background:#000c;background:var(--plyr-captions-background,#000c);border-radius:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone;color:#fff;color:var(--plyr-captions-text-color,#fff);line-height:185%;padding:.2em .5em;white-space:pre-wrap}.plyr__caption div{display:inline}.plyr__control{background:#0000;border:0;border-radius:4px;border-radius:var(--plyr-control-radius,4px);color:inherit;cursor:pointer;flex-shrink:0;overflow:visible;padding:7px;padding:calc(var(--plyr-control-spacing, 10px)*.7);position:relative;transition:all .3s ease}.plyr__control svg{fill:currentColor;display:block;height:18px;height:var(--plyr-control-icon-size,18px);pointer-events:none;width:18px;width:var(--plyr-control-icon-size,18px)}.plyr__control:focus{outline:0}.plyr__control:focus-visible{outline:2px dashed #00b2ff;outline:2px dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:2px}a.plyr__control{text-decoration:none}.plyr__control.plyr__control--pressed .icon--not-pressed,.plyr__control.plyr__control--pressed .label--not-pressed,.plyr__control:not(.plyr__control--pressed) .icon--pressed,.plyr__control:not(.plyr__control--pressed) .label--pressed,a.plyr__control:after,a.plyr__control:before{display:none}.plyr--full-ui ::-webkit-media-controls{display:none}.plyr__controls{align-items:center;display:flex;justify-content:flex-end;text-align:center}.plyr__controls .plyr__progress__container{flex:1;min-width:0}.plyr__controls .plyr__controls__item{margin-left:2.5px;margin-left:calc(var(--plyr-control-spacing, 10px)/4)}.plyr__controls .plyr__controls__item:first-child{margin-left:0;margin-right:auto}.plyr__controls .plyr__controls__item.plyr__progress__container{padding-left:2.5px;padding-left:calc(var(--plyr-control-spacing, 10px)/4)}.plyr__controls .plyr__controls__item.plyr__time{padding:0 5px;padding:0 calc(var(--plyr-control-spacing, 10px)/2)}.plyr__controls .plyr__controls__item.plyr__progress__container:first-child,.plyr__controls .plyr__controls__item.plyr__time+.plyr__time,.plyr__controls .plyr__controls__item.plyr__time:first-child{padding-left:0}.plyr [data-plyr=airplay],.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr [data-plyr=pip],.plyr__controls:empty{display:none}.plyr--airplay-supported [data-plyr=airplay],.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen],.plyr--pip-supported [data-plyr=pip]{display:inline-block}.plyr__menu{display:flex;position:relative}.plyr__menu .plyr__control svg{transition:transform .3s ease}.plyr__menu .plyr__control[aria-expanded=true] svg{transform:rotate(90deg)}.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip{display:none}.plyr__menu__container{animation:plyr-popup .2s ease;background:#ffffffe6;background:var(--plyr-menu-background,#ffffffe6);border-radius:8px;border-radius:var(--plyr-menu-radius,8px);bottom:100%;box-shadow:0 1px 2px #00000026;box-shadow:var(--plyr-menu-shadow,0 1px 2px #00000026);color:#4a5464;color:var(--plyr-menu-color,#4a5464);font-size:15px;font-size:var(--plyr-font-size-base,15px);margin-bottom:10px;position:absolute;right:-3px;text-align:left;white-space:nowrap;z-index:3}.plyr__menu__container>div{overflow:hidden;transition:height .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1)}.plyr__menu__container:after{border:4px solid #0000;border-top-color:#ffffffe6;border:var(--plyr-menu-arrow-size,4px) solid #0000;border-top-color:var(--plyr-menu-background,#ffffffe6);content:"";height:0;position:absolute;right:14px;right:calc(var(--plyr-control-icon-size, 18px)/2 + var(--plyr-control-spacing, 10px)*.7 - var(--plyr-menu-arrow-size, 4px)/2);top:100%;width:0}.plyr__menu__container [role=menu]{padding:7px;padding:calc(var(--plyr-control-spacing, 10px)*.7)}.plyr__menu__container [role=menuitem],.plyr__menu__container [role=menuitemradio]{margin-top:2px}.plyr__menu__container [role=menuitem]:first-child,.plyr__menu__container [role=menuitemradio]:first-child{margin-top:0}.plyr__menu__container .plyr__control{align-items:center;color:#4a5464;color:var(--plyr-menu-color,#4a5464);display:flex;font-size:13px;font-size:var(--plyr-font-size-menu,var(--plyr-font-size-small,13px));padding:4.66667px 10.5px;padding:calc(var(--plyr-control-spacing, 10px)*.7/1.5) calc(var(--plyr-control-spacing, 10px)*.7*1.5);-webkit-user-select:none;user-select:none;width:100%}.plyr__menu__container .plyr__control>span{align-items:inherit;display:flex;width:100%}.plyr__menu__container .plyr__control:after{border:4px solid #0000;border:var(--plyr-menu-item-arrow-size,4px) solid #0000;content:"";position:absolute;top:50%;transform:translateY(-50%)}.plyr__menu__container .plyr__control--forward{padding-right:28px;padding-right:calc(var(--plyr-control-spacing, 10px)*.7*4)}.plyr__menu__container .plyr__control--forward:after{border-left-color:#728197;border-left-color:var(--plyr-menu-arrow-color,#728197);right:6.5px;right:calc(var(--plyr-control-spacing, 10px)*.7*1.5 - var(--plyr-menu-item-arrow-size, 4px))}.plyr__menu__container .plyr__control--forward:focus-visible:after,.plyr__menu__container .plyr__control--forward:hover:after{border-left-color:initial}.plyr__menu__container .plyr__control--back{font-weight:400;font-weight:var(--plyr-font-weight-regular,400);margin:7px;margin:calc(var(--plyr-control-spacing, 10px)*.7);margin-bottom:3.5px;margin-bottom:calc(var(--plyr-control-spacing, 10px)*.7/2);padding-left:28px;padding-left:calc(var(--plyr-control-spacing, 10px)*.7*4);position:relative;width:calc(100% - 14px);width:calc(100% - var(--plyr-control-spacing, 10px)*.7*2)}.plyr__menu__container .plyr__control--back:after{border-right-color:#728197;border-right-color:var(--plyr-menu-arrow-color,#728197);left:6.5px;left:calc(var(--plyr-control-spacing, 10px)*.7*1.5 - var(--plyr-menu-item-arrow-size, 4px))}.plyr__menu__container .plyr__control--back:before{background:#dcdfe5;background:var(--plyr-menu-back-border-color,#dcdfe5);box-shadow:0 1px #fff;box-shadow:0 1px 0 var(--plyr-menu-back-border-shadow-color,#fff);content:"";height:1px;left:0;margin-top:3.5px;margin-top:calc(var(--plyr-control-spacing, 10px)*.7/2);overflow:hidden;position:absolute;right:0;top:100%}.plyr__menu__container .plyr__control--back:focus-visible:after,.plyr__menu__container .plyr__control--back:hover:after{border-right-color:initial}.plyr__menu__container .plyr__control[role=menuitemradio]{padding-left:7px;padding-left:calc(var(--plyr-control-spacing, 10px)*.7)}.plyr__menu__container .plyr__control[role=menuitemradio]:after,.plyr__menu__container .plyr__control[role=menuitemradio]:before{border-radius:100%}.plyr__menu__container .plyr__control[role=menuitemradio]:before{background:#0000001a;content:"";display:block;flex-shrink:0;height:16px;margin-right:10px;margin-right:var(--plyr-control-spacing,10px);transition:all .3s ease;width:16px}.plyr__menu__container .plyr__control[role=menuitemradio]:after{background:#fff;border:0;height:6px;left:12px;opacity:0;top:50%;transform:translateY(-50%) scale(0);transition:transform .3s ease,opacity .3s ease;width:6px}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:before{background:#00b2ff;background:var(--plyr-control-toggle-checked-background,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)))}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:after{opacity:1;transform:translateY(-50%) scale(1)}.plyr__menu__container .plyr__control[role=menuitemradio]:focus-visible:before,.plyr__menu__container .plyr__control[role=menuitemradio]:hover:before{background:#23282f1a}.plyr__menu__container .plyr__menu__value{align-items:center;display:flex;margin-left:auto;margin-right:-5px;margin-right:calc(var(--plyr-control-spacing, 10px)*.7*-1 - -2px);overflow:hidden;padding-left:24.5px;padding-left:calc(var(--plyr-control-spacing, 10px)*.7*3.5);pointer-events:none}.plyr--full-ui input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#0000;border:0;border-radius:26px;border-radius:calc(var(--plyr-range-thumb-height, 13px)*2);color:#00b2ff;color:var(--plyr-range-fill-background,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));display:block;height:19px;height:calc(var(--plyr-range-thumb-active-shadow-width, 3px)*2 + var(--plyr-range-thumb-height, 13px));margin:0;min-width:0;padding:0;transition:box-shadow .3s ease;width:100%}.plyr--full-ui input[type=range]::-webkit-slider-runnable-track{background:#0000;background-image:linear-gradient(90deg,currentColor 0,#0000 0);background-image:linear-gradient(to right,currentColor var(--value,0),#0000 var(--value,0));border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-webkit-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33);height:13px;height:var(--plyr-range-thumb-height,13px);margin-top:-4px;margin-top:calc((var(--plyr-range-thumb-height, 13px) - var(--plyr-range-track-height, 5px))/2*-1);position:relative;-webkit-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px)}.plyr--full-ui input[type=range]::-moz-range-track{background:#0000;border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-moz-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-moz-range-thumb{background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33);height:13px;height:var(--plyr-range-thumb-height,13px);position:relative;-moz-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px)}.plyr--full-ui input[type=range]::-moz-range-progress{background:currentColor;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px)}.plyr--full-ui input[type=range]::-ms-track{color:#0000}.plyr--full-ui input[type=range]::-ms-fill-upper,.plyr--full-ui input[type=range]::-ms-track{background:#0000;border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-ms-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-ms-fill-lower{background:#0000;background:currentColor;border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-ms-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-ms-thumb{background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33);height:13px;height:var(--plyr-range-thumb-height,13px);margin-top:0;position:relative;-ms-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px)}.plyr--full-ui input[type=range]::-ms-tooltip{display:none}.plyr--full-ui input[type=range]::-moz-focus-outer{border:0}.plyr--full-ui input[type=range]:focus{outline:0}.plyr--full-ui input[type=range]:focus-visible::-webkit-slider-runnable-track{outline:2px dashed #00b2ff;outline:2px dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:2px}.plyr--full-ui input[type=range]:focus-visible::-moz-range-track{outline:2px dashed #00b2ff;outline:2px dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:2px}.plyr--full-ui input[type=range]:focus-visible::-ms-track{outline:2px dashed #00b2ff;outline:2px dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:2px}.plyr__poster{background-color:#000;background-color:var(--plyr-video-background,var(--plyr-video-background,#000));background-position:50% 50%;background-repeat:no-repeat;background-size:contain;height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .2s ease;width:100%;z-index:1}.plyr--stopped.plyr__poster-enabled .plyr__poster{opacity:1}.plyr--youtube.plyr--paused.plyr__poster-enabled:not(.plyr--stopped) .plyr__poster{display:none}.plyr__time{font-size:13px;font-size:var(--plyr-font-size-time,var(--plyr-font-size-small,13px))}.plyr__time+.plyr__time:before{content:"⁄";margin-right:10px;margin-right:var(--plyr-control-spacing,10px)}@media (max-width:767px){.plyr__time+.plyr__time{display:none}}.plyr__tooltip{background:#fff;background:var(--plyr-tooltip-background,#fff);border-radius:5px;border-radius:var(--plyr-tooltip-radius,5px);bottom:100%;box-shadow:0 1px 2px #00000026;box-shadow:var(--plyr-tooltip-shadow,0 1px 2px #00000026);color:#4a5464;color:var(--plyr-tooltip-color,#4a5464);font-size:13px;font-size:var(--plyr-font-size-small,13px);font-weight:400;font-weight:var(--plyr-font-weight-regular,400);left:50%;line-height:1.3;margin-bottom:10px;margin-bottom:calc(var(--plyr-control-spacing, 10px)/2*2);opacity:0;padding:5px 7.5px;padding:calc(var(--plyr-control-spacing, 10px)/2) calc(var(--plyr-control-spacing, 10px)/2*1.5);pointer-events:none;position:absolute;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s ease .1s,opacity .2s ease .1s;white-space:nowrap;z-index:2}.plyr__tooltip:before{border-left:4px solid #0000;border-left:var(--plyr-tooltip-arrow-size,4px) solid #0000;border-right:4px solid #0000;border-right:var(--plyr-tooltip-arrow-size,4px) solid #0000;border-top:4px solid #fff;border-top:var(--plyr-tooltip-arrow-size,4px) solid var(--plyr-tooltip-background,#fff);bottom:-4px;bottom:calc(var(--plyr-tooltip-arrow-size, 4px)*-1);content:"";height:0;left:50%;position:absolute;transform:translate(-50%);width:0;z-index:2}.plyr .plyr__control:focus-visible .plyr__tooltip,.plyr .plyr__control:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%) scale(1)}.plyr .plyr__control:hover .plyr__tooltip{z-index:3}.plyr__controls>.plyr__control:first-child .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip{left:0;transform:translateY(10px) scale(.8);transform-origin:0 100%}.plyr__controls>.plyr__control:first-child .plyr__tooltip:before,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip:before{left:16px;left:calc(var(--plyr-control-icon-size, 18px)/2 + var(--plyr-control-spacing, 10px)*.7)}.plyr__controls>.plyr__control:last-child .plyr__tooltip{left:auto;right:0;transform:translateY(10px) scale(.8);transform-origin:100% 100%}.plyr__controls>.plyr__control:last-child .plyr__tooltip:before{left:auto;right:16px;right:calc(var(--plyr-control-icon-size, 18px)/2 + var(--plyr-control-spacing, 10px)*.7);transform:translate(50%)}.plyr__controls>.plyr__control:first-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control:focus-visible .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control:hover .plyr__tooltip,.plyr__controls>.plyr__control:first-child:focus-visible .plyr__tooltip,.plyr__controls>.plyr__control:first-child:hover .plyr__tooltip,.plyr__controls>.plyr__control:last-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:last-child:focus-visible .plyr__tooltip,.plyr__controls>.plyr__control:last-child:hover .plyr__tooltip{transform:translate(0) scale(1)}.plyr__progress{left:6.5px;left:calc(var(--plyr-range-thumb-height, 13px)*.5);margin-right:13px;margin-right:var(--plyr-range-thumb-height,13px);position:relative}.plyr__progress input[type=range],.plyr__progress__buffer{margin-left:-6.5px;margin-left:calc(var(--plyr-range-thumb-height, 13px)*-.5);margin-right:-6.5px;margin-right:calc(var(--plyr-range-thumb-height, 13px)*-.5);width:calc(100% + 13px);width:calc(100% + var(--plyr-range-thumb-height, 13px))}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress .plyr__tooltip{left:0;max-width:120px;overflow-wrap:break-word}.plyr__progress__buffer{-webkit-appearance:none;background:#0000;border:0;border-radius:100px;height:5px;height:var(--plyr-range-track-height,5px);left:0;margin-top:-2.5px;margin-top:calc((var(--plyr-range-track-height, 5px)/2)*-1);padding:0;position:absolute;top:50%}.plyr__progress__buffer::-webkit-progress-bar{background:#0000}.plyr__progress__buffer::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:5px;min-width:var(--plyr-range-track-height,5px);-webkit-transition:width .2s ease;transition:width .2s ease}.plyr__progress__buffer::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:5px;min-width:var(--plyr-range-track-height,5px);-moz-transition:width .2s ease;transition:width .2s ease}.plyr__progress__buffer::-ms-fill{border-radius:100px;-ms-transition:width .2s ease;transition:width .2s ease}.plyr--loading .plyr__progress__buffer{animation:plyr-progress 1s linear infinite;background-image:linear-gradient(-45deg,#23282f99 25%,#0000 0,#0000 50%,#23282f99 0,#23282f99 75%,#0000 0,#0000);background-image:linear-gradient(-45deg,var(--plyr-progress-loading-background,#23282f99) 25%,#0000 25%,#0000 50%,var(--plyr-progress-loading-background,#23282f99) 50%,var(--plyr-progress-loading-background,#23282f99) 75%,#0000 75%,#0000);background-repeat:repeat-x;background-size:25px 25px;background-size:var(--plyr-progress-loading-size,25px) var(--plyr-progress-loading-size,25px);color:#0000}.plyr--video.plyr--loading .plyr__progress__buffer{background-color:#ffffff40;background-color:var(--plyr-video-progress-buffered-background,#ffffff40)}.plyr--audio.plyr--loading .plyr__progress__buffer{background-color:#c1c8d199;background-color:var(--plyr-audio-progress-buffered-background,#c1c8d199)}.plyr__progress__marker{background-color:#fff;background-color:var(--plyr-progress-marker-background,#fff);border-radius:1px;height:5px;height:var(--plyr-range-track-height,5px);position:absolute;top:50%;transform:translate(-50%,-50%);width:3px;width:var(--plyr-progress-marker-width,3px);z-index:3}.plyr__volume{align-items:center;display:flex;position:relative}.plyr__volume input[type=range]{margin-left:5px;margin-left:calc(var(--plyr-control-spacing, 10px)/2);margin-right:5px;margin-right:calc(var(--plyr-control-spacing, 10px)/2);max-width:90px;min-width:60px;position:relative;z-index:2}.plyr--audio{display:block}.plyr--audio .plyr__controls{background:#fff;background:var(--plyr-audio-controls-background,#fff);border-radius:inherit;color:#4a5464;color:var(--plyr-audio-control-color,#4a5464);padding:10px;padding:var(--plyr-control-spacing,10px)}.plyr--audio .plyr__control:focus-visible,.plyr--audio .plyr__control:hover,.plyr--audio .plyr__control[aria-expanded=true]{background:#00b2ff;background:var(--plyr-audio-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));color:#fff;color:var(--plyr-audio-control-color-hover,#fff)}.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track{background-color:#c1c8d199;background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,#c1c8d199))}.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track{background-color:#c1c8d199;background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,#c1c8d199))}.plyr--full-ui.plyr--audio input[type=range]::-ms-track{background-color:#c1c8d199;background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,#c1c8d199))}.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #23282f1a;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#23282f1a)}.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #23282f1a;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#23282f1a)}.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #23282f1a;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#23282f1a)}.plyr--audio .plyr__progress__buffer{color:#c1c8d199;color:var(--plyr-audio-progress-buffered-background,#c1c8d199)}.plyr--video{overflow:hidden}.plyr--video.plyr--menu-open{overflow:visible}.plyr__video-wrapper{background:#000;background:var(--plyr-video-background,var(--plyr-video-background,#000));border-radius:inherit;height:100%;margin:auto;overflow:hidden;position:relative;width:100%}.plyr__video-embed,.plyr__video-wrapper--fixed-ratio{aspect-ratio:16/9}@supports not (aspect-ratio:16/9){.plyr__video-embed,.plyr__video-wrapper--fixed-ratio{height:0;padding-bottom:56.25%;position:relative}}.plyr__video-embed iframe,.plyr__video-wrapper--fixed-ratio video{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.plyr--full-ui .plyr__video-embed>.plyr__video-embed__container{padding-bottom:240%;position:relative;transform:translateY(-38.28125%)}.plyr--video .plyr__controls{background:linear-gradient(#0000,#000000bf);background:var(--plyr-video-controls-background,linear-gradient(#0000,#000000bf));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;bottom:0;color:#fff;color:var(--plyr-video-control-color,#fff);left:0;padding:5px;padding:calc(var(--plyr-control-spacing, 10px)/2);padding-top:20px;padding-top:calc(var(--plyr-control-spacing, 10px)*2);position:absolute;right:0;transition:opacity .4s ease-in-out,transform .4s ease-in-out;z-index:3}@media (min-width:480px){.plyr--video .plyr__controls{padding:10px;padding:var(--plyr-control-spacing,10px);padding-top:35px;padding-top:calc(var(--plyr-control-spacing, 10px)*3.5)}}.plyr--video.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none;transform:translateY(100%)}.plyr--video .plyr__control:focus-visible,.plyr--video .plyr__control:hover,.plyr--video .plyr__control[aria-expanded=true]{background:#00b2ff;background:var(--plyr-video-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));color:#fff;color:var(--plyr-video-control-color-hover,#fff)}.plyr__control--overlaid{background:#00b2ff;background:var(--plyr-video-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));border:0;border-radius:100%;color:#fff;color:var(--plyr-video-control-color,#fff);display:none;left:50%;opacity:.9;padding:15px;padding:calc(var(--plyr-control-spacing, 10px)*1.5);position:absolute;top:50%;transform:translate(-50%,-50%);transition:.3s;z-index:2}.plyr__control--overlaid svg{left:2px;position:relative}.plyr__control--overlaid:focus,.plyr__control--overlaid:hover{opacity:1}.plyr--playing .plyr__control--overlaid{opacity:0;visibility:hidden}.plyr--full-ui.plyr--video .plyr__control--overlaid{display:block}.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track{background-color:#ffffff40;background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,#ffffff40))}.plyr--full-ui.plyr--video input[type=range]::-moz-range-track{background-color:#ffffff40;background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,#ffffff40))}.plyr--full-ui.plyr--video input[type=range]::-ms-track{background-color:#ffffff40;background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,#ffffff40))}.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #ffffff80;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#ffffff80)}.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #ffffff80;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#ffffff80)}.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #ffffff80;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#ffffff80)}.plyr--video .plyr__progress__buffer{color:#ffffff40;color:var(--plyr-video-progress-buffered-background,#ffffff40)}.plyr:fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:fullscreen video{height:100%}.plyr:fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:fullscreen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:fullscreen .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}}.plyr--fullscreen-fallback{background:#000;border-radius:0!important;bottom:0;height:100%;left:0;margin:0;position:fixed;right:0;top:0;width:100%;z-index:10000000}.plyr--fullscreen-fallback video{height:100%}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen{display:block}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr--fullscreen-fallback.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr--fullscreen-fallback .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}}.plyr__ads{border-radius:inherit;bottom:0;cursor:pointer;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:-1}.plyr__ads>div,.plyr__ads>div iframe{height:100%;position:absolute;width:100%}.plyr__ads:after{background:#23282f;border-radius:2px;bottom:10px;bottom:var(--plyr-control-spacing,10px);color:#fff;content:attr(data-badge-text);font-size:11px;padding:2px 6px;pointer-events:none;position:absolute;right:10px;right:var(--plyr-control-spacing,10px);z-index:3}.plyr__ads:empty:after{display:none}.plyr__cues{background:currentColor;display:block;height:5px;height:var(--plyr-range-track-height,5px);left:0;opacity:.8;position:absolute;top:50%;transform:translateY(-50%);width:3px;z-index:3}.plyr__preview-thumb{background-color:#fff;background-color:var(--plyr-tooltip-background,#fff);border-radius:8px;border-radius:var(--plyr-menu-radius,8px);bottom:100%;box-shadow:0 1px 2px #00000026;box-shadow:var(--plyr-tooltip-shadow,0 1px 2px #00000026);margin-bottom:10px;margin-bottom:calc(var(--plyr-control-spacing, 10px)/2*2);opacity:0;padding:3px;pointer-events:none;position:absolute;transform:translateY(10px) scale(.8);transform-origin:50% 100%;transition:transform .2s ease .1s,opacity .2s ease .1s;z-index:2}.plyr__preview-thumb--is-shown{opacity:1;transform:translate(0) scale(1)}.plyr__preview-thumb:before{border-left:4px solid #0000;border-left:var(--plyr-tooltip-arrow-size,4px) solid #0000;border-right:4px solid #0000;border-right:var(--plyr-tooltip-arrow-size,4px) solid #0000;border-top:4px solid #fff;border-top:var(--plyr-tooltip-arrow-size,4px) solid var(--plyr-tooltip-background,#fff);bottom:-4px;bottom:calc(var(--plyr-tooltip-arrow-size, 4px)*-1);content:"";height:0;left:calc(50% + var(--preview-arrow-offset));position:absolute;transform:translate(-50%);width:0;z-index:2}.plyr__preview-thumb__image-container{background:#c1c8d1;border-radius:7px;border-radius:calc(var(--plyr-menu-radius, 8px) - 1px);overflow:hidden;position:relative;z-index:0}.plyr__preview-thumb__image-container img,.plyr__preview-thumb__image-container:after{height:100%;left:0;position:absolute;top:0;width:100%}.plyr__preview-thumb__image-container:after{border-radius:inherit;box-shadow:inset 0 0 0 1px #00000026;content:"";pointer-events:none}.plyr__preview-thumb__image-container img{max-height:none;max-width:none}.plyr__preview-thumb__time-container{background:linear-gradient(#0000,#000000bf);background:var(--plyr-video-controls-background,linear-gradient(#0000,#000000bf));border-bottom-left-radius:7px;border-bottom-left-radius:calc(var(--plyr-menu-radius, 8px) - 1px);border-bottom-right-radius:7px;border-bottom-right-radius:calc(var(--plyr-menu-radius, 8px) - 1px);bottom:0;left:0;line-height:1.1;padding:20px 6px 6px;position:absolute;right:0;z-index:3}.plyr__preview-thumb__time-container span{color:#fff;font-size:13px;font-size:var(--plyr-font-size-time,var(--plyr-font-size-small,13px))}.plyr__preview-scrubbing{bottom:0;filter:blur(1px);height:100%;left:0;margin:auto;opacity:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease;width:100%;z-index:1}.plyr__preview-scrubbing--is-shown{opacity:1}.plyr__preview-scrubbing img{height:100%;left:0;max-height:none;max-width:none;-o-object-fit:contain;object-fit:contain;position:absolute;top:0;width:100%}.plyr--no-transition{transition:none!important}.plyr__sr-only{clip:rect(1px,1px,1px,1px);border:0!important;height:1px!important;overflow:hidden;padding:0!important;position:absolute!important;width:1px!important}.plyr [hidden]{display:none!important}.vp-audio-player{--plyr-audio-controls-background: var(--vp-bg);--plyr-audio-control-color: var(--vp-c);--plyr-color-main: var(--vp-tc);position:relative;display:flex;align-items:center;margin-top:.375rem;padding:.5rem;border-radius:.5rem;box-shadow:2px 2px 10px 0 var(--card-shadow)}@media print{.vp-audio-player{display:none}}.vp-audio-player-poster{width:4rem;height:4rem}.vp-audio-player-info{flex:1}.vp-audio-player-title{padding:.5rem 1rem .25rem;font-weight:500;font-size:1.125rem;line-height:1.5}.vp-audio-player audio{display:block}@media print{.vp-audio-player audio{display:none}}:root{--badge-tip-color: #42b983;--badge-warning-color: #f4cd00;--badge-danger-color: #f55;--badge-info-color: #0295ff;--badge-note-color: #666}.vp-badge{display:inline-block;vertical-align:center;height:18px;padding:0 6px;border-radius:3px;background:var(--vp-tc);color:var(--white);font-size:14px;line-height:18px;transition:background var(--vp-ct),color var(--vp-ct)}.vp-badge+.vp-badge{margin-inline-start:5px}h1 .vp-badge,h2 .vp-badge,h3 .vp-badge,h4 .vp-badge,h5 .vp-badge,h6 .vp-badge{vertical-align:top}.vp-badge.tip{background:var(--badge-tip-color)}.vp-badge.warning{background:var(--badge-warning-color)}.vp-badge.danger{background:var(--badge-danger-color)}.vp-badge.info{background:var(--badge-info-color)}.vp-badge.note{background:var(--badge-note-color)}@media print{.bilibili-desc a{display:block}}.bilibili-iframe{margin:8px 0;border:none;border-radius:8px}@media print{.bilibili-iframe{display:none}}.codepen-wrapper{margin:1rem auto;padding:1rem;border:1px solid var(--vp-brc);text-align:center;transition:background var(--vp-ct),border var(--vp-ct)}.codepen-wrapper .codepen-button{display:block;margin:16px auto;padding:8px 16px;border:1px solid var(--vp-tc);border-radius:4px;background:transparent;color:var(--vp-tc);font-size:16px;cursor:pointer;transition:background var(--vp-ct),border var(--vp-ct),color var(--vp-ct)}.codepen-wrapper .codepen-button:hover{background:var(--vp-tcl);color:var(--vp-bg)}iframe[src*="codepen.io"]{border:none}.pdf-viewer-wrapper{position:relative;overflow:hidden;border-radius:8px}.pdf-viewer{width:100%;height:100%}.replit-wrapper{margin:8px 0;border:none;text-align:center}.replit-wrapper .replit-button{border-width:0;background:transparent;cursor:pointer;display:inline-block;margin:0 auto;padding:.5rem 1rem;border-radius:.5rem;background:var(--vp-bgl);color:var(--vp-c);font-weight:600;font-size:18;line-height:1.5;transition:background .3s ease,color .3s ease}.replit-wrapper .replit-button:hover{background:var(--vp-tc);color:var(--white, #fff)}.replit-iframe{border:none;border-radius:8px}.stackblitz-container{margin:8px 0;border-radius:8px;text-align:center}.stackblitz-button{border-width:0;background:transparent;cursor:pointer;margin:0 auto;padding:.5rem 1rem;border-radius:.5rem;background:var(--vp-bgl);color:var(--vp-c);font-weight:600;font-size:18;line-height:1.5;transition:background var(--vp-ct),color var(--vp-ct)}.stackblitz-button:hover{background:var(--vp-tc);color:var(--white)}.vp-video-player{--plyr-audio-controls-background: var(--vp-bg);--plyr-audio-control-color: var(--vp-c);--plyr-color-main: var(--vp-tc);position:relative;margin-top:5px;border-radius:6px;background:rgba(0,0,0,.15)}@media print{.vp-video-player{display:none}}.vp-video-player video{display:block;width:100%;height:100%}@media print{.vp-video-player video{display:none}}@media print{.youtube-desc a{display:block}}.youtube-iframe{margin:8px 0;border:none;border-radius:8px}@media print{.youtube-iframe{display:none}}:root{--balloon-border-radius: 2px;--balloon-color: rgba(16, 16, 16, .95);--balloon-text-color: #fff;--balloon-font-size: 12px;--balloon-move: 4px}button[aria-label][data-balloon-pos]{overflow:visible}[aria-label][data-balloon-pos]{position:relative;cursor:pointer}[aria-label][data-balloon-pos]:after{opacity:0;pointer-events:none;transition:all .18s ease-out .18s;text-indent:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:400;font-style:normal;text-shadow:none;font-size:var(--balloon-font-size);background:var(--balloon-color);border-radius:2px;color:var(--balloon-text-color);border-radius:var(--balloon-border-radius);content:attr(aria-label);padding:.5em 1em;position:absolute;white-space:nowrap;z-index:10}[aria-label][data-balloon-pos]:before{width:0;height:0;border:5px solid transparent;border-top-color:var(--balloon-color);opacity:0;pointer-events:none;transition:all .18s ease-out .18s;content:"";position:absolute;z-index:10}[aria-label][data-balloon-pos]:hover:before,[aria-label][data-balloon-pos]:hover:after,[aria-label][data-balloon-pos][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-visible]:after,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:before,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:after{opacity:1;pointer-events:none}[aria-label][data-balloon-pos].font-awesome:after{font-family:FontAwesome,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}[aria-label][data-balloon-pos][data-balloon-break]:after{white-space:pre}[aria-label][data-balloon-pos][data-balloon-break][data-balloon-length]:after{white-space:pre-line;word-break:break-word}[aria-label][data-balloon-pos][data-balloon-blunt]:before,[aria-label][data-balloon-pos][data-balloon-blunt]:after{transition:none}[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:after{transform:translate(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:before{transform:translate(-50%)}[aria-label][data-balloon-pos][data-balloon-pos*=-left]:after{left:0}[aria-label][data-balloon-pos][data-balloon-pos*=-left]:before{left:5px}[aria-label][data-balloon-pos][data-balloon-pos*=-right]:after{right:0}[aria-label][data-balloon-pos][data-balloon-pos*=-right]:before{right:5px}[aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:after,[aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:after{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:before,[aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:before{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-pos^=up]:before,[aria-label][data-balloon-pos][data-balloon-pos^=up]:after{bottom:100%;transform-origin:top;transform:translateY(var(--balloon-move))}[aria-label][data-balloon-pos][data-balloon-pos^=up]:after{margin-bottom:10px}[aria-label][data-balloon-pos][data-balloon-pos=up]:before,[aria-label][data-balloon-pos][data-balloon-pos=up]:after{left:50%;transform:translate(-50%,var(--balloon-move))}[aria-label][data-balloon-pos][data-balloon-pos^=down]:before,[aria-label][data-balloon-pos][data-balloon-pos^=down]:after{top:100%;transform:translateY(calc(var(--balloon-move) * -1))}[aria-label][data-balloon-pos][data-balloon-pos^=down]:after{margin-top:10px}[aria-label][data-balloon-pos][data-balloon-pos^=down]:before{width:0;height:0;border:5px solid transparent;border-bottom-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-pos=down]:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:before{left:50%;transform:translate(-50%,calc(var(--balloon-move) * -1))}[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:after{transform:translateY(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:before{transform:translateY(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:after,[aria-label][data-balloon-pos][data-balloon-pos=left]:before{right:100%;top:50%;transform:translate(var(--balloon-move),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:after{margin-right:10px}[aria-label][data-balloon-pos][data-balloon-pos=left]:before{width:0;height:0;border:5px solid transparent;border-left-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-pos=right]:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:before{left:100%;top:50%;transform:translate(calc(var(--balloon-move) * -1),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=right]:after{margin-left:10px}[aria-label][data-balloon-pos][data-balloon-pos=right]:before{width:0;height:0;border:5px solid transparent;border-right-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-length]:after{white-space:normal}[aria-label][data-balloon-pos][data-balloon-length=small]:after{width:80px}[aria-label][data-balloon-pos][data-balloon-length=medium]:after{width:150px}[aria-label][data-balloon-pos][data-balloon-length=large]:after{width:260px}[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{width:380px}@media screen and (max-width: 768px){[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{width:90vw}}[aria-label][data-balloon-pos][data-balloon-length=fit]:after{width:100%}@keyframes popup-appear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes popup-disappear{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}#popup-container .popup-wrapper{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.2)}#popup-container .popup-wrapper.appear .popup-container{animation:popup-appear .3s ease-in-out}#popup-container .popup-wrapper.disappear .popup-container{animation:popup-disappear .3s ease-in-out;animation-fill-mode:forwards}.vp-share-button{border-width:0;background:transparent;cursor:pointer;display:inline-block;padding:.25em}.vp-share-icon{width:2em;height:2em;color:#fff;transition:transform var(--vp-tt)}.vp-share-icon.plain{width:1.5em;height:1.5em;color:var(--dark-grey)}.vp-share-icon.plain :hover{color:var(--vp-tc)}.vp-share-icon:not(.plain):hover{transform:scale(1.1)}.vp-share-icon.colorful{width:1.5em;height:1.5em;padding:.25em;border-radius:50%}.vp-share-icon svg{display:block;width:100%;height:100%;fill:currentcolor}@media print{.xi-gua-desc a{display:block}}.xi-gua-iframe{margin:8px 0;border:none;border-radius:8px}@media print{.xi-gua-iframe{display:none}}.vp-back-to-top-button{border-width:0;background:transparent;cursor:pointer;position:fixed!important;right:16px;bottom:64px;z-index:100;width:48px;height:48px;padding:8px;border-radius:50%;background:var(--vp-bg);color:var(--vp-tc);box-shadow:2px 2px 10px 4px var(--card-shadow);transition:background var(--vp-ct),color var(--vp-ct),box-shadow var(--vp-ct)}@media (max-width: 719px){.vp-back-to-top-button{width:36px;height:36px}}@media print{.vp-back-to-top-button{display:none}}html[dir=rtl] .vp-back-to-top-button{right:unset;left:16px}.vp-back-to-top-button:hover{color:var(--vp-tcl)}.vp-back-to-top-button .back-to-top-icon{overflow:hidden;width:100%;border-radius:50%;fill:currentcolor}.vp-scroll-progress{position:absolute;right:-2px;bottom:-2px;width:52px;height:52px}@media (max-width: 719px){.vp-scroll-progress{width:40px;height:40px}}.vp-scroll-progress circle{opacity:.9;fill:none;stroke:var(--vp-tc);transform:rotate(-90deg);transform-origin:50% 50%;r:22;stroke-dasharray:0% 314.1593%;stroke-width:3px}@media (max-width: 719px){.vp-scroll-progress circle{r:18}}.fade-enter-active,.fade-leave-active{transition:opacity var(--vp-ct)}.fade-enter-from,.fade-leave-to{opacity:0}@media screen{.sr-only{position:absolute;overflow:hidden;clip:rect 0,0,0,0;width:1px;height:1px;margin:-1px;padding:0;border:0}}@media print{.sr-only{display:none}}:root{--external-link-icon-color: #aaa}.external-link-icon{position:relative;display:inline-block;color:var(--external-link-icon-color);vertical-align:middle;top:-1px}@media print{.external-link-icon{display:none}}.external-link-icon-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}:root{--nprogress-color: #29d;--nprogress-z-index: 1031}#nprogress{pointer-events:none}#nprogress .bar{background:var(--nprogress-color);position:fixed;z-index:var(--nprogress-z-index);top:0;left:0;width:100%;height:2px}:root{--copy-icon: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2'%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");--copied-icon: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2'%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")}div[class*=language-]>button.copy-code-button{border-width:0;background:transparent;position:absolute;outline:none;cursor:pointer}@media print{div[class*=language-]>button.copy-code-button{display:none}}div[class*=language-]>button.copy-code-button .copy-icon{background:currentcolor;-webkit-mask-image:var(--copy-icon);mask-image:var(--copy-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1em;mask-size:1em}div[class*=language-]>button.copy-code-button:not(.fancy){border-width:0;background:transparent;cursor:pointer;position:absolute;top:.5em;right:.5em;z-index:5;width:2.5rem;height:2.5rem;padding:0;border-radius:.5rem;opacity:0;transition:opacity .4s}div[class*=language-]>button.copy-code-button:not(.fancy):hover,div[class*=language-]>button.copy-code-button:not(.fancy).copied{background:var(--code-hl-bg-color, rgba(0, 0, 0, .66))}div[class*=language-]>button.copy-code-button:not(.fancy):focus,div[class*=language-]>button.copy-code-button:not(.fancy).copied{opacity:1}div[class*=language-]>button.copy-code-button:not(.fancy).copied:after{content:attr(data-copied);position:absolute;top:0;right:calc(100% + .25rem);display:block;height:1.25rem;padding:.625rem;border-radius:.5rem;background:var(--code-hl-bg-color, rgba(0, 0, 0, .66));color:var(--code-ln-color, #9e9e9e);font-weight:500;line-height:1.25rem;white-space:nowrap}div[class*=language-]>button.copy-code-button:not(.fancy) .copy-icon{width:1.25rem;height:1.25rem;padding:.625rem;color:var(--code-ln-color, #9e9e9e);font-size:1.25rem}div[class*=language-]>button.copy-code-button.fancy{right:-14px;bottom:-14px;z-index:5;width:2rem;height:2rem;padding:7px 8px;border-radius:50%;background:#339af0;color:#fff}@media (max-width: 419px){div[class*=language-]>button.copy-code-button.fancy{right:0;bottom:0;width:28px;height:28px;border-radius:50% 10% 0}}div[class*=language-]>button.copy-code-button.fancy:hover{background:#228be6}div[class*=language-]>button.copy-code-button.fancy .copy-icon{width:100%;height:100%;color:#fff;font-size:1.25rem}@media (max-width: 419px){div[class*=language-]>button.copy-code-button.fancy .copy-icon{position:relative;top:2px;left:2px}}div[class*=language-]>button.copy-code-button.copied .copy-icon{-webkit-mask-image:var(--copied-icon);mask-image:var(--copied-icon)}div[class*=language-]:hover:before{display:none}div[class*=language-]:hover>button.copy-code-button:not(.fancy){opacity:1}.vp-card{display:inline-flex;align-items:center;max-width:400px;margin:1rem .5rem;padding:1rem;border-radius:.5rem;background:var(--vp-bg);color:inherit;box-shadow:2px 2px 10px 0 var(--card-shadow);transition:background var(--vp-ct),box-shadow var(--vp-ct)}.vp-card:hover{background:var(--vp-bgl);text-decoration:none!important}.vp-card hr{margin:.25em 0}.vp-card-logo{width:3em;height:3em;margin-right:1em;border-radius:50%}.vp-card-content{flex:1}.vp-card-title{font-weight:500;font-size:1.1em}.vp-card-desc{color:#888;font-size:.9em;line-height:1.5;transition:color var(--vp-ct)}.vp-card-container{display:flex;flex-wrap:wrap;align-content:stretch;align-items:stretch;justify-content:center}.vp-card-container .vp-card{flex-basis:calc(50% - 3rem);max-width:unset;margin:.5rem}@media (max-width: 959px){.vp-card-container .vp-card{flex-basis:100%}}@media (max-width: 719px){.vp-card-container .vp-card{font-size:.95rem}}@media (max-width: 419px){.vp-card-container .vp-card{font-size:.9rem}}.vp-code-tabs-nav{overflow-x:auto;margin:.85rem 0 -.85rem;padding:0;border-radius:6px 6px 0 0;background:var(--code-tabs-nav-bg-color, #3a404c);list-style:none;white-space:nowrap;transition:background var(--vp-ct)}@media print{.vp-code-tabs-nav{display:none}}@media (max-width: 419px){.vp-code-tabs-nav{margin-right:-1.5rem;margin-left:-1.5rem;border-radius:0}}.vp-code-tab-nav{border-width:0;position:relative;min-width:3rem;margin:0;padding:6px 12px;border-radius:6px 6px 0 0;background:transparent;color:var(--code-tabs-nav-text-color, #eee);font-weight:600;font-size:.85em;line-height:1.4;cursor:pointer;transition:background var(--vp-ct),color var(--vp-ct)}.vp-code-tab-nav:hover{background:var(--code-tabs-nav-hover-color, #434a57)}.vp-code-tab-nav:before,.vp-code-tab-nav:after{content:" ";position:absolute;bottom:0;z-index:1;width:6px;height:6px}.vp-code-tab-nav:before{right:100%}.vp-code-tab-nav:after{left:100%}.vp-code-tab-nav.active{background:var(--code-bg-color, #282c34)}.vp-code-tab-nav.active:before{background:radial-gradient(12px at left top,transparent 50%,var(--code-bg-color, #282c34) 50%)}.vp-code-tab-nav.active:after{background:radial-gradient(12px at right top,transparent 50%,var(--code-bg-color, #282c34) 50%)}.vp-code-tab-nav:first-child:before{display:none}.vp-code-tab{display:none}.vp-code-tab.active{display:block}.vp-code-tab div[class*=language-]{border-top-left-radius:0;border-top-right-radius:0}@media (max-width: 419px){.vp-code-tab div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}@media print{.vp-code-tab div[class*=language-] code{white-space:pre-wrap}}.code-group-nav{display:flex;margin:.85rem 0 -.85rem;padding:0;border-radius:6px 6px 0 0;background:var(--code-tabs-nav-bg-color, #3a404c);list-style:none;transition:background var(--vp-ct)}@media (max-width: 419px){.code-group-nav{margin-right:-1.5rem;margin-left:-1.5rem;border-radius:0}}.code-group-nav-tab{border-width:0;position:relative;min-width:3rem;margin:0;padding:6px 10px;border-radius:6px 6px 0 0;background:transparent;color:var(--code-tabs-nav-text-color, #eee);font-weight:600;font-size:.85em;line-height:1.4;cursor:pointer;transition:background var(--vp-ct),color var(--vp-ct)}.code-group-nav-tab:hover{background:var(--code-tabs-nav-hover-color, #434a57)}.code-group-nav-tab:before,.code-group-nav-tab:after{content:" ";position:absolute;bottom:0;z-index:1;width:6px;height:6px}.code-group-nav-tab:before{right:100%}.code-group-nav-tab:after{left:100%}.code-group-nav-tab.active{background:var(--code-bg-color, #282c34)}.code-group-nav-tab.active:before{background:radial-gradient(12px at left top,transparent 50%,var(--code-bg-color, #282c34) 50%)}.code-group-nav-tab.active:after{background:radial-gradient(12px at right top,transparent 50%,var(--code-bg-color, #282c34) 50%)}.code-group-nav-tab:first-child:before{display:none}.code-group-item{display:none}.code-group-item.active{display:block}.code-group-item div[class*=language-]{border-top-left-radius:0;border-top-right-radius:0}:root{--info-title-color: #193c47;--info-bg-color: #eef9fd;--info-border-color: #4cb3d4;--info-code-bg-color: rgb(76 179 212 / 10%);--note-title-color: #474748;--note-bg-color: #fdfdfe;--note-border-color: #ccc;--note-code-bg-color: rgb(212 213 216 / 20%);--tip-title-color: #003100;--tip-bg-color: #e6f6e6;--tip-border-color: #009400;--tip-code-bg-color: rgb(0 148 0 / 15%);--warning-title-color: #4d3800;--warning-bg-color: #fff8e6;--warning-border-color: #e6a700;--warning-code-bg-color: rgb(230 167 0 / 15%);--danger-title-color: #4b1113;--danger-bg-color: #ffebec;--danger-border-color: #e13238;--danger-code-bg-color: rgb(225 50 56 / 15%);--detail-bg-color: #eee;--detail-text-color: inherit;--detail-code-bg-color: rgb(127 127 127 / 15%)}html[data-theme=dark]{--info-title-color: #eef9fd;--info-bg-color: #193c47;--note-title-color: #fdfdfe;--note-bg-color: #474748;--tip-title-color: #e6f6e6;--tip-bg-color: #003100;--warning-title-color: #fff8e6;--warning-bg-color: #4d3800;--danger-title-color: #ffebec;--danger-bg-color: #4b1113;--detail-bg-color: #333;--detail-text-color: #a8a8a8}.hint-container{position:relative;transition:background var(--vp-ct),border-color var(--vp-ct),color var(--vp-ct)}@media print{.hint-container{page-break-inside:avoid}}.hint-container .hint-container-title{position:relative;font-weight:600;line-height:1.25}.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.danger{margin:1rem 0;padding:.25rem 1rem;border-inline-start-width:.3rem;border-inline-start-style:solid;border-radius:.5rem;color:inherit}@media (max-width: 419px){.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.danger{margin-inline:-.75rem}}.hint-container.info .hint-container-title,.hint-container.note .hint-container-title,.hint-container.tip .hint-container-title,.hint-container.warning .hint-container-title,.hint-container.danger .hint-container-title{padding-inline-start:1.75rem}@media print{.hint-container.info .hint-container-title,.hint-container.note .hint-container-title,.hint-container.tip .hint-container-title,.hint-container.warning .hint-container-title,.hint-container.danger .hint-container-title{padding-inline-start:0}}.hint-container.info .hint-container-title:before,.hint-container.note .hint-container-title:before,.hint-container.tip .hint-container-title:before,.hint-container.warning .hint-container-title:before,.hint-container.danger .hint-container-title:before{content:" ";position:absolute;top:calc(50% - .6125em);left:0;width:1.25em;height:1.25em;background-position:left;background-repeat:no-repeat}@media print{.hint-container.info .hint-container-title:before,.hint-container.note .hint-container-title:before,.hint-container.tip .hint-container-title:before,.hint-container.warning .hint-container-title:before,.hint-container.danger .hint-container-title:before{display:none}}html[dir=rtl] .hint-container.info .hint-container-title:before,html[dir=rtl] .hint-container.note .hint-container-title:before,html[dir=rtl] .hint-container.tip .hint-container-title:before,html[dir=rtl] .hint-container.warning .hint-container-title:before,html[dir=rtl] .hint-container.danger .hint-container-title:before{right:0;left:unset}.hint-container.info p,.hint-container.note p,.hint-container.tip p,.hint-container.warning p,.hint-container.danger p{line-height:1.5}.hint-container.info a,.hint-container.note a,.hint-container.tip a,.hint-container.warning a,.hint-container.danger a{color:var(--vp-tc)}.hint-container.info{border-color:var(--info-border-color);background:var(--info-bg-color)}.hint-container.info>.hint-container-title{color:var(--info-title-color)}.hint-container.info>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z' fill='%234cb3d4'/%3E%3C/svg%3E")}.hint-container.info code{background:var(--info-code-bg-color)}.hint-container.note{border-color:var(--note-border-color);background:var(--note-bg-color)}.hint-container.note>.hint-container-title{color:var(--note-title-color)}.hint-container.note>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z' fill='%23ccc'/%3E%3C/svg%3E")}.hint-container.note code{background:var(--note-code-bg-color)}.hint-container.tip{border-color:var(--tip-border-color);background:var(--tip-bg-color)}.hint-container.tip>.hint-container-title{color:var(--tip-title-color)}.hint-container.tip>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23009400' d='M7.941 18c-.297-1.273-1.637-2.314-2.187-3a8 8 0 1 1 12.49.002c-.55.685-1.888 1.726-2.185 2.998H7.94zM16 20v1a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-1h8zm-3-9.995V6l-4.5 6.005H11v4l4.5-6H13z'/%3E%3C/svg%3E")}.hint-container.tip code{background:var(--tip-code-bg-color)}.hint-container.warning{border-color:var(--warning-border-color);background:var(--warning-bg-color)}.hint-container.warning>.hint-container-title{color:var(--warning-title-color)}.hint-container.warning>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M576.286 752.57v-95.425q0-7.031-4.771-11.802t-11.3-4.772h-96.43q-6.528 0-11.3 4.772t-4.77 11.802v95.424q0 7.031 4.77 11.803t11.3 4.77h96.43q6.528 0 11.3-4.77t4.77-11.803zm-1.005-187.836 9.04-230.524q0-6.027-5.022-9.543-6.529-5.524-12.053-5.524H456.754q-5.524 0-12.053 5.524-5.022 3.516-5.022 10.547l8.538 229.52q0 5.023 5.022 8.287t12.053 3.265h92.913q7.032 0 11.803-3.265t5.273-8.287zM568.25 95.65l385.714 707.142q17.578 31.641-1.004 63.282-8.538 14.564-23.354 23.102t-31.892 8.538H126.286q-17.076 0-31.892-8.538T71.04 866.074q-18.582-31.641-1.004-63.282L455.75 95.65q8.538-15.57 23.605-24.61T512 62t32.645 9.04 23.605 24.61z' fill='%23e6a700'/%3E%3C/svg%3E")}.hint-container.warning code{background:var(--warning-code-bg-color)}.hint-container.danger{border-color:var(--danger-border-color);background:var(--danger-bg-color)}.hint-container.danger>.hint-container-title{color:var(--danger-title-color)}.hint-container.danger>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c5.523 0 10 4.477 10 10v3.764a2 2 0 0 1-1.106 1.789L18 19v1a3 3 0 0 1-2.824 2.995L14.95 23a2.5 2.5 0 0 0 .044-.33L15 22.5V22a2 2 0 0 0-1.85-1.995L13 20h-2a2 2 0 0 0-1.995 1.85L9 22v.5c0 .171.017.339.05.5H9a3 3 0 0 1-3-3v-1l-2.894-1.447A2 2 0 0 1 2 15.763V12C2 6.477 6.477 2 12 2zm-4 9a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4z' fill='%23e13238'/%3E%3C/svg%3E")}.hint-container.danger code{background:var(--danger-code-bg-color)}.hint-container.details{position:relative;display:block;margin:1.6em 0;padding:1.5rem;border-radius:.5rem;background:var(--detail-bg-color);color:var(--detail-text-color);transition:background var(--vp-tt),color var(--vp-tt)}@media print{.hint-container.details{display:none}}@media (max-width: 419px){.hint-container.details{margin-inline:-.75rem}}.hint-container.details h4{margin-top:0}.hint-container.details figure:last-child,.hint-container.details p:last-child{margin-bottom:0;padding-bottom:0}.hint-container.details a{color:var(--vp-tc)}.hint-container.details code{background:var(--detail-code-bg-color)}.hint-container.details summary{position:relative;margin:-1.5rem;padding-top:1.5rem;padding-bottom:1.5rem;padding-inline-start:4rem;padding-inline-end:1.5rem;list-style:none;cursor:pointer}.hint-container.details summary::-webkit-details-marker,.hint-container.details summary::marker{color:transparent;font-size:0}.hint-container.details summary:before,.hint-container.details summary:after{content:" ";position:absolute;top:calc(50% - .75rem);left:1.5rem;width:1.5rem;height:1.5rem}@media print{.hint-container.details summary:before,.hint-container.details summary:after{display:block}}html[dir=rtl] .hint-container.details summary:before,html[dir=rtl] .hint-container.details summary:after{right:1.5rem;left:unset}.hint-container.details summary:before{border-radius:50%;background:#ccc;transition:background var(--vp-ct),transform var(--vp-tt)}html[data-theme=dark] .hint-container.details summary:before{background:#555}.hint-container.details summary:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");line-height:normal;transition:transform var(--vp-tt);transform:rotate(90deg)}html[data-theme=dark] .hint-container.details summary:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.hint-container.details[open]>summary{margin-bottom:.5em}.hint-container.details[open]>summary:after{transform:rotate(180deg)}.theme-hope-content figure{position:relative;display:flex;flex-direction:column;width:auto;margin:1rem auto;text-align:center;transition:transform var(--vp-tt)}.theme-hope-content figure img{overflow:hidden;margin:0 auto;border-radius:8px}.theme-hope-content figure img[tabindex]:hover,.theme-hope-content figure img[tabindex]:focus{box-shadow:2px 2px 10px 0 var(--card-shadow)}@media print{.theme-hope-content figure>a[href^="http://"]:after,.theme-hope-content figure>a[href^="https://"]:after{content:""}}.theme-hope-content figure>a .external-link-icon{display:none}.theme-hope-content figure figcaption{display:inline-block;margin:6px auto;font-size:.8rem}html[data-theme=light] img[data-mode=darkmode-only],html[data-theme=dark] img[data-mode=lightmode-only]{display:none!important}.mermaid-preview .node rect,.mermaid-preview .clusters rect,.mermaid-preview rect.note,.mermaid-preview .actor,.mermaid-wrapper .node rect,.mermaid-wrapper .clusters rect,.mermaid-wrapper rect.note,.mermaid-wrapper .actor{rx:8;ry:8}.mermaid-wrapper{position:relative;overflow-x:auto;padding:.6em .4em;text-align:center;transition:all 1s}@media (max-width: 419px){.mermaid-wrapper{margin:0 -1.5rem;padding:.6em 0}}.mermaid-loading{color:var(--vp-tc)}@media print{.mermaid-content{page-break-inside:avoid}}.mermaid-actions{text-align:end}.mermaid-preview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:800;display:flex;align-items:center;justify-content:center;background-color:#fffc}html[data-theme=dark] .mermaid-preview{background-color:#000c}.mermaid-preview svg{max-width:100%;max-height:100%}.preview-button,.download-button{border-width:0;background:transparent;cursor:pointer;width:2rem;height:2rem;padding:.25rem;color:var(--dark-grey)}@media (max-width: 719px){.preview-button,.download-button{width:1.5rem;height:1.5rem}}.preview-button:hover,.download-button:hover{color:var(--vp-tc)}.preview-button svg,.download-button svg{width:100%;height:100%}/*! +* reveal.js 4.5.0 +* https://revealjs.com +* MIT licensed +* +* Copyright (C) 2011-2023 Hakim El Hattab, https://hakim.se +*/.reveal .r-stretch,.reveal .stretch{max-width:none;max-height:none}.reveal pre.r-stretch code,.reveal pre.stretch code{height:100%;max-height:100%;box-sizing:border-box}.reveal .r-fit-text{display:inline-block;white-space:nowrap}.reveal .r-stack{display:grid}.reveal .r-stack>*{grid-area:1/1;margin:auto}.reveal .r-hstack,.reveal .r-vstack{display:flex}.reveal .r-hstack img,.reveal .r-hstack video,.reveal .r-vstack img,.reveal .r-vstack video{min-width:0;min-height:0;object-fit:contain}.reveal .r-vstack{flex-direction:column;align-items:center;justify-content:center}.reveal .r-hstack{flex-direction:row;align-items:center;justify-content:center}.reveal .items-stretch{align-items:stretch}.reveal .items-start{align-items:flex-start}.reveal .items-center{align-items:center}.reveal .items-end{align-items:flex-end}.reveal .justify-between{justify-content:space-between}.reveal .justify-around{justify-content:space-around}.reveal .justify-start{justify-content:flex-start}.reveal .justify-center{justify-content:center}.reveal .justify-end{justify-content:flex-end}html.reveal-full-page{width:100%;height:100%;height:100vh;height:calc(var(--vh,1vh) * 100);overflow:hidden}.reveal-viewport{height:100%;overflow:hidden;position:relative;line-height:1;margin:0;background-color:#fff;color:#000}.reveal-viewport:fullscreen{top:0!important;left:0!important;width:100%!important;height:100%!important;transform:none!important}.reveal .fragment{transition:all .2s ease}.reveal .fragment:not(.custom){opacity:0;visibility:hidden;will-change:opacity}.reveal .fragment.visible{opacity:1;visibility:inherit}.reveal .fragment.disabled{transition:none}.reveal .fragment.grow{opacity:1;visibility:inherit}.reveal .fragment.grow.visible{transform:scale(1.3)}.reveal .fragment.shrink{opacity:1;visibility:inherit}.reveal .fragment.shrink.visible{transform:scale(.7)}.reveal .fragment.zoom-in{transform:scale(.1)}.reveal .fragment.zoom-in.visible{transform:none}.reveal .fragment.fade-out{opacity:1;visibility:inherit}.reveal .fragment.fade-out.visible{opacity:0;visibility:hidden}.reveal .fragment.semi-fade-out{opacity:1;visibility:inherit}.reveal .fragment.semi-fade-out.visible{opacity:.5;visibility:inherit}.reveal .fragment.strike{opacity:1;visibility:inherit}.reveal .fragment.strike.visible{text-decoration:line-through}.reveal .fragment.fade-up{transform:translateY(40px)}.reveal .fragment.fade-up.visible{transform:translate(0)}.reveal .fragment.fade-down{transform:translateY(-40px)}.reveal .fragment.fade-down.visible{transform:translate(0)}.reveal .fragment.fade-right{transform:translate(-40px)}.reveal .fragment.fade-right.visible{transform:translate(0)}.reveal .fragment.fade-left{transform:translate(40px)}.reveal .fragment.fade-left.visible{transform:translate(0)}.reveal .fragment.current-visible,.reveal .fragment.fade-in-then-out{opacity:0;visibility:hidden}.reveal .fragment.current-visible.current-fragment,.reveal .fragment.fade-in-then-out.current-fragment{opacity:1;visibility:inherit}.reveal .fragment.fade-in-then-semi-out{opacity:0;visibility:hidden}.reveal .fragment.fade-in-then-semi-out.visible{opacity:.5;visibility:inherit}.reveal .fragment.fade-in-then-semi-out.current-fragment,.reveal .fragment.highlight-blue,.reveal .fragment.highlight-current-blue,.reveal .fragment.highlight-current-green,.reveal .fragment.highlight-current-red,.reveal .fragment.highlight-green,.reveal .fragment.highlight-red{opacity:1;visibility:inherit}.reveal .fragment.highlight-red.visible{color:#ff2c2d}.reveal .fragment.highlight-green.visible{color:#17ff2e}.reveal .fragment.highlight-blue.visible{color:#1b91ff}.reveal .fragment.highlight-current-red.current-fragment{color:#ff2c2d}.reveal .fragment.highlight-current-green.current-fragment{color:#17ff2e}.reveal .fragment.highlight-current-blue.current-fragment{color:#1b91ff}.reveal:after{content:"";font-style:italic}.reveal iframe{z-index:1}.reveal a{position:relative}@keyframes bounce-right{0%,10%,25%,40%,50%{transform:translate(0)}20%{transform:translate(10px)}30%{transform:translate(-5px)}}@keyframes bounce-left{0%,10%,25%,40%,50%{transform:translate(0)}20%{transform:translate(-10px)}30%{transform:translate(5px)}}@keyframes bounce-down{0%,10%,25%,40%,50%{transform:translateY(0)}20%{transform:translateY(10px)}30%{transform:translateY(-5px)}}.reveal .controls{display:none;position:absolute;top:auto;bottom:12px;right:12px;left:auto;z-index:11;color:#000;pointer-events:none;font-size:10px}.reveal .controls button{position:absolute;padding:0;background-color:transparent;border:0;outline:0;cursor:pointer;color:currentColor;transform:scale(.9999);transition:color .2s ease,opacity .2s ease,transform .2s ease;z-index:2;pointer-events:auto;font-size:inherit;visibility:hidden;opacity:0;-webkit-appearance:none;-webkit-tap-highlight-color:transparent}.reveal .controls .controls-arrow:after,.reveal .controls .controls-arrow:before{content:"";position:absolute;top:0;left:0;width:2.6em;height:.5em;border-radius:.25em;background-color:currentColor;transition:all .15s ease,background-color .8s ease;transform-origin:.2em 50%;will-change:transform}.reveal .controls .controls-arrow{position:relative;width:3.6em;height:3.6em}.reveal .controls .controls-arrow:before{transform:translate(.5em) translateY(1.55em) rotate(45deg)}.reveal .controls .controls-arrow:after{transform:translate(.5em) translateY(1.55em) rotate(-45deg)}.reveal .controls .controls-arrow:hover:before{transform:translate(.5em) translateY(1.55em) rotate(40deg)}.reveal .controls .controls-arrow:hover:after{transform:translate(.5em) translateY(1.55em) rotate(-40deg)}.reveal .controls .controls-arrow:active:before{transform:translate(.5em) translateY(1.55em) rotate(36deg)}.reveal .controls .controls-arrow:active:after{transform:translate(.5em) translateY(1.55em) rotate(-36deg)}.reveal .controls .navigate-left{right:6.4em;bottom:3.2em;transform:translate(-10px)}.reveal .controls .navigate-left.highlight{animation:bounce-left 2s 50 both ease-out}.reveal .controls .navigate-right{right:0;bottom:3.2em;transform:translate(10px)}.reveal .controls .navigate-right .controls-arrow{transform:rotate(180deg)}.reveal .controls .navigate-right.highlight{animation:bounce-right 2s 50 both ease-out}.reveal .controls .navigate-up{right:3.2em;bottom:6.4em;transform:translateY(-10px)}.reveal .controls .navigate-up .controls-arrow{transform:rotate(90deg)}.reveal .controls .navigate-down{right:3.2em;bottom:-1.4em;padding-bottom:1.4em;transform:translateY(10px)}.reveal .controls .navigate-down .controls-arrow{transform:rotate(-90deg)}.reveal .controls .navigate-down.highlight{animation:bounce-down 2s 50 both ease-out}.reveal .controls[data-controls-back-arrows=faded] .navigate-up.enabled{opacity:.3}.reveal .controls[data-controls-back-arrows=faded] .navigate-up.enabled:hover{opacity:1}.reveal .controls[data-controls-back-arrows=hidden] .navigate-up.enabled{opacity:0;visibility:hidden}.reveal .controls .enabled{visibility:visible;opacity:.9;cursor:pointer;transform:none}.reveal .controls .enabled.fragmented{opacity:.5}.reveal .controls .enabled.fragmented:hover,.reveal .controls .enabled:hover{opacity:1}.reveal:not(.rtl) .controls[data-controls-back-arrows=faded] .navigate-left.enabled{opacity:.3}.reveal:not(.rtl) .controls[data-controls-back-arrows=faded] .navigate-left.enabled:hover{opacity:1}.reveal:not(.rtl) .controls[data-controls-back-arrows=hidden] .navigate-left.enabled{opacity:0;visibility:hidden}.reveal.rtl .controls[data-controls-back-arrows=faded] .navigate-right.enabled{opacity:.3}.reveal.rtl .controls[data-controls-back-arrows=faded] .navigate-right.enabled:hover{opacity:1}.reveal.rtl .controls[data-controls-back-arrows=hidden] .navigate-right.enabled{opacity:0;visibility:hidden}.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-down,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-up{display:none}.reveal:not(.has-vertical-slides) .controls .navigate-left,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-left{bottom:1.4em;right:5.5em}.reveal:not(.has-vertical-slides) .controls .navigate-right,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-right{bottom:1.4em;right:.5em}.reveal:not(.has-horizontal-slides) .controls .navigate-up{right:1.4em;bottom:5em}.reveal:not(.has-horizontal-slides) .controls .navigate-down{right:1.4em;bottom:.5em}.reveal.has-dark-background .controls{color:#fff}.reveal.has-light-background .controls{color:#000}.reveal.no-hover .controls .controls-arrow:active:before,.reveal.no-hover .controls .controls-arrow:hover:before{transform:translate(.5em) translateY(1.55em) rotate(45deg)}.reveal.no-hover .controls .controls-arrow:active:after,.reveal.no-hover .controls .controls-arrow:hover:after{transform:translate(.5em) translateY(1.55em) rotate(-45deg)}@media screen and (min-width:500px){.reveal .controls[data-controls-layout=edges]{top:0;right:0;bottom:0;left:0}.reveal .controls[data-controls-layout=edges] .navigate-down,.reveal .controls[data-controls-layout=edges] .navigate-left,.reveal .controls[data-controls-layout=edges] .navigate-right,.reveal .controls[data-controls-layout=edges] .navigate-up{bottom:auto;right:auto}.reveal .controls[data-controls-layout=edges] .navigate-left{top:50%;left:.8em;margin-top:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-right{top:50%;right:.8em;margin-top:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-up{top:.8em;left:50%;margin-left:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-down{bottom:-.3em;left:50%;margin-left:-1.8em}}.reveal .progress{position:absolute;display:none;height:3px;width:100%;bottom:0;left:0;z-index:10;background-color:#0003;color:#fff}.reveal .progress:after{content:"";display:block;position:absolute;height:10px;width:100%;top:-10px}.reveal .progress span{display:block;height:100%;width:100%;background-color:currentColor;transition:transform .8s cubic-bezier(.26,.86,.44,.985);transform-origin:0 0;transform:scaleX(0)}.reveal .slide-number{position:absolute;display:block;right:8px;bottom:8px;z-index:31;font-family:Helvetica,sans-serif;font-size:12px;line-height:1;color:#fff;background-color:#0006;padding:5px}.reveal .slide-number a{color:currentColor}.reveal .slide-number-delimiter{margin:0 3px}.reveal{position:relative;width:100%;height:100%;overflow:hidden;touch-action:pinch-zoom}.reveal.embedded{touch-action:pan-y}.reveal .slides{position:absolute;width:100%;height:100%;top:0;right:0;bottom:0;left:0;margin:auto;pointer-events:none;overflow:visible;z-index:1;text-align:center;perspective:600px;perspective-origin:50% 40%}.reveal .slides>section{perspective:600px}.reveal .slides>section,.reveal .slides>section>section{display:none;position:absolute;width:100%;pointer-events:auto;z-index:10;transform-style:flat;transition:transform-origin .8s cubic-bezier(.26,.86,.44,.985),transform .8s cubic-bezier(.26,.86,.44,.985),visibility .8s cubic-bezier(.26,.86,.44,.985),opacity .8s cubic-bezier(.26,.86,.44,.985)}.reveal[data-transition-speed=fast] .slides section{transition-duration:.4s}.reveal[data-transition-speed=slow] .slides section{transition-duration:1.2s}.reveal .slides section[data-transition-speed=fast]{transition-duration:.4s}.reveal .slides section[data-transition-speed=slow]{transition-duration:1.2s}.reveal .slides>section.stack{padding-top:0;padding-bottom:0;pointer-events:none;height:100%}.reveal .slides>section.present,.reveal .slides>section>section.present{display:block;z-index:11;opacity:1}.reveal .slides>section:empty,.reveal .slides>section>section:empty,.reveal .slides>section>section[data-background-interactive],.reveal .slides>section[data-background-interactive]{pointer-events:none}.reveal.center,.reveal.center .slides,.reveal.center .slides section{min-height:0!important}.reveal .slides>section:not(.present),.reveal .slides>section>section:not(.present){pointer-events:none}.reveal.overview .slides>section,.reveal.overview .slides>section>section{pointer-events:auto}.reveal .slides>section.future,.reveal .slides>section.future>section,.reveal .slides>section.past,.reveal .slides>section.past>section,.reveal .slides>section>section.future,.reveal .slides>section>section.past{opacity:0}.reveal .slides>section[data-transition=slide].past,.reveal .slides>section[data-transition~=slide-out].past,.reveal.slide .slides>section:not([data-transition]).past{transform:translate(-150%)}.reveal .slides>section[data-transition=slide].future,.reveal .slides>section[data-transition~=slide-in].future,.reveal.slide .slides>section:not([data-transition]).future{transform:translate(150%)}.reveal .slides>section>section[data-transition=slide].past,.reveal .slides>section>section[data-transition~=slide-out].past,.reveal.slide .slides>section>section:not([data-transition]).past{transform:translateY(-150%)}.reveal .slides>section>section[data-transition=slide].future,.reveal .slides>section>section[data-transition~=slide-in].future,.reveal.slide .slides>section>section:not([data-transition]).future{transform:translateY(150%)}.reveal .slides>section[data-transition=linear].past,.reveal .slides>section[data-transition~=linear-out].past,.reveal.linear .slides>section:not([data-transition]).past{transform:translate(-150%)}.reveal .slides>section[data-transition=linear].future,.reveal .slides>section[data-transition~=linear-in].future,.reveal.linear .slides>section:not([data-transition]).future{transform:translate(150%)}.reveal .slides>section>section[data-transition=linear].past,.reveal .slides>section>section[data-transition~=linear-out].past,.reveal.linear .slides>section>section:not([data-transition]).past{transform:translateY(-150%)}.reveal .slides>section>section[data-transition=linear].future,.reveal .slides>section>section[data-transition~=linear-in].future,.reveal.linear .slides>section>section:not([data-transition]).future{transform:translateY(150%)}.reveal .slides section[data-transition=default].stack,.reveal.default .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=default].past,.reveal .slides>section[data-transition~=default-out].past,.reveal.default .slides>section:not([data-transition]).past{transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=default].future,.reveal .slides>section[data-transition~=default-in].future,.reveal.default .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=default].past,.reveal .slides>section>section[data-transition~=default-out].past,.reveal.default .slides>section>section:not([data-transition]).past{transform:translate3d(0,-300px,0) rotateX(70deg) translate3d(0,-300px,0)}.reveal .slides>section>section[data-transition=default].future,.reveal .slides>section>section[data-transition~=default-in].future,.reveal.default .slides>section>section:not([data-transition]).future{transform:translate3d(0,300px,0) rotateX(-70deg) translate3d(0,300px,0)}.reveal .slides section[data-transition=convex].stack,.reveal.convex .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=convex].past,.reveal .slides>section[data-transition~=convex-out].past,.reveal.convex .slides>section:not([data-transition]).past{transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=convex].future,.reveal .slides>section[data-transition~=convex-in].future,.reveal.convex .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=convex].past,.reveal .slides>section>section[data-transition~=convex-out].past,.reveal.convex .slides>section>section:not([data-transition]).past{transform:translate3d(0,-300px,0) rotateX(70deg) translate3d(0,-300px,0)}.reveal .slides>section>section[data-transition=convex].future,.reveal .slides>section>section[data-transition~=convex-in].future,.reveal.convex .slides>section>section:not([data-transition]).future{transform:translate3d(0,300px,0) rotateX(-70deg) translate3d(0,300px,0)}.reveal .slides section[data-transition=concave].stack,.reveal.concave .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=concave].past,.reveal .slides>section[data-transition~=concave-out].past,.reveal.concave .slides>section:not([data-transition]).past{transform:translate3d(-100%,0,0) rotateY(90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=concave].future,.reveal .slides>section[data-transition~=concave-in].future,.reveal.concave .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(-90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=concave].past,.reveal .slides>section>section[data-transition~=concave-out].past,.reveal.concave .slides>section>section:not([data-transition]).past{transform:translate3d(0,-80%,0) rotateX(-70deg) translate3d(0,-80%,0)}.reveal .slides>section>section[data-transition=concave].future,.reveal .slides>section>section[data-transition~=concave-in].future,.reveal.concave .slides>section>section:not([data-transition]).future{transform:translate3d(0,80%,0) rotateX(70deg) translate3d(0,80%,0)}.reveal .slides section[data-transition=zoom],.reveal.zoom .slides section:not([data-transition]){transition-timing-function:ease}.reveal .slides>section[data-transition=zoom].past,.reveal .slides>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section:not([data-transition]).past{visibility:hidden;transform:scale(16)}.reveal .slides>section[data-transition=zoom].future,.reveal .slides>section[data-transition~=zoom-in].future,.reveal.zoom .slides>section:not([data-transition]).future{visibility:hidden;transform:scale(.2)}.reveal .slides>section>section[data-transition=zoom].past,.reveal .slides>section>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section>section:not([data-transition]).past{transform:scale(16)}.reveal .slides>section>section[data-transition=zoom].future,.reveal .slides>section>section[data-transition~=zoom-in].future,.reveal.zoom .slides>section>section:not([data-transition]).future{transform:scale(.2)}.reveal.cube .slides{perspective:1300px}.reveal.cube .slides section{padding:30px;min-height:700px;backface-visibility:hidden;box-sizing:border-box;transform-style:preserve-3d}.reveal.center.cube .slides section{min-height:0}.reveal.cube .slides section:not(.stack):before{content:"";position:absolute;display:block;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,.1);border-radius:4px;transform:translateZ(-20px)}.reveal.cube .slides section:not(.stack):after{content:"";position:absolute;display:block;width:90%;height:30px;left:5%;bottom:0;background:0 0;z-index:1;border-radius:4px;box-shadow:0 95px 25px #0003;transform:translateZ(-90px) rotateX(65deg)}.reveal.cube .slides>section.stack{padding:0;background:0 0}.reveal.cube .slides>section.past{transform-origin:100% 0;transform:translate3d(-100%,0,0) rotateY(-90deg)}.reveal.cube .slides>section.future{transform-origin:0 0;transform:translate3d(100%,0,0) rotateY(90deg)}.reveal.cube .slides>section>section.past{transform-origin:0 100%;transform:translate3d(0,-100%,0) rotateX(90deg)}.reveal.cube .slides>section>section.future{transform-origin:0 0;transform:translate3d(0,100%,0) rotateX(-90deg)}.reveal.page .slides{perspective-origin:0 50%;perspective:3000px}.reveal.page .slides section{padding:30px;min-height:700px;box-sizing:border-box;transform-style:preserve-3d}.reveal.page .slides section.past{z-index:12}.reveal.page .slides section:not(.stack):before{content:"";position:absolute;display:block;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,.1);transform:translateZ(-20px)}.reveal.page .slides section:not(.stack):after{content:"";position:absolute;display:block;width:90%;height:30px;left:5%;bottom:0;background:0 0;z-index:1;border-radius:4px;box-shadow:0 95px 25px #0003;-webkit-transform:translateZ(-90px) rotateX(65deg)}.reveal.page .slides>section.stack{padding:0;background:0 0}.reveal.page .slides>section.past{transform-origin:0 0;transform:translate3d(-40%,0,0) rotateY(-80deg)}.reveal.page .slides>section.future{transform-origin:100% 0;transform:translateZ(0)}.reveal.page .slides>section>section.past{transform-origin:0 0;transform:translate3d(0,-40%,0) rotateX(80deg)}.reveal.page .slides>section>section.future{transform-origin:0 100%;transform:translateZ(0)}.reveal .slides section[data-transition=fade],.reveal.fade .slides section:not([data-transition]),.reveal.fade .slides>section>section:not([data-transition]){transform:none;transition:opacity .5s}.reveal.fade.overview .slides section,.reveal.fade.overview .slides>section>section{transition:none}.reveal .slides section[data-transition=none],.reveal.none .slides section:not([data-transition]){transform:none;transition:none}.reveal .pause-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;visibility:hidden;opacity:0;z-index:100;transition:all 1s ease}.reveal .pause-overlay .resume-button{position:absolute;bottom:20px;right:20px;color:#ccc;border-radius:2px;padding:6px 14px;border:2px solid #ccc;font-size:16px;background:0 0;cursor:pointer}.reveal .pause-overlay .resume-button:hover{color:#fff;border-color:#fff}.reveal.paused .pause-overlay{visibility:visible;opacity:1}.reveal .no-transition,.reveal .no-transition *,.reveal .slides.disable-slide-transitions section{transition:none!important}.reveal .slides.disable-slide-transitions section{transform:none!important}.reveal .backgrounds{position:absolute;width:100%;height:100%;top:0;left:0;perspective:600px}.reveal .slide-background{display:none;position:absolute;width:100%;height:100%;opacity:0;visibility:hidden;overflow:hidden;background-color:#0000;transition:all .8s cubic-bezier(.26,.86,.44,.985)}.reveal .slide-background-content{position:absolute;width:100%;height:100%;background-position:50% 50%;background-repeat:no-repeat;background-size:cover}.reveal .slide-background.stack{display:block}.reveal .slide-background.present{opacity:1;visibility:visible;z-index:2}.print-pdf .reveal .slide-background{opacity:1!important;visibility:visible!important}.reveal .slide-background video{position:absolute;width:100%;height:100%;max-width:none;max-height:none;top:0;left:0;object-fit:cover}.reveal .slide-background[data-background-size=contain] video{object-fit:contain}.reveal>.backgrounds .slide-background[data-background-transition=none],.reveal[data-background-transition=none]>.backgrounds .slide-background:not([data-background-transition]){transition:none}.reveal>.backgrounds .slide-background[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background:not([data-background-transition]){opacity:1}.reveal>.backgrounds .slide-background.past[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background.past:not([data-background-transition]){transform:translate(-100%)}.reveal>.backgrounds .slide-background.future[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background.future:not([data-background-transition]){transform:translate(100%)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){transform:translateY(-100%)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){transform:translateY(100%)}.reveal>.backgrounds .slide-background.past[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal>.backgrounds .slide-background.future[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(0,-100%,0) rotateX(90deg) translate3d(0,-100%,0)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(0,100%,0) rotateX(-90deg) translate3d(0,100%,0)}.reveal>.backgrounds .slide-background.past[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(-100%,0,0) rotateY(90deg) translate3d(-100%,0,0)}.reveal>.backgrounds .slide-background.future[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(100%,0,0) rotateY(-90deg) translate3d(100%,0,0)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(0,-100%,0) rotateX(-90deg) translate3d(0,-100%,0)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(0,100%,0) rotateX(90deg) translate3d(0,100%,0)}.reveal>.backgrounds .slide-background[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background:not([data-background-transition]){transition-timing-function:ease}.reveal>.backgrounds .slide-background.past[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background.past:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(16)}.reveal>.backgrounds .slide-background.future[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background.future:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(.2)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(16)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(.2)}.reveal[data-transition-speed=fast]>.backgrounds .slide-background{transition-duration:.4s}.reveal[data-transition-speed=slow]>.backgrounds .slide-background{transition-duration:1.2s}.reveal [data-auto-animate-target^=unmatched]{will-change:opacity}.reveal section[data-auto-animate]:not(.stack):not([data-auto-animate=running]) [data-auto-animate-target^=unmatched]{opacity:0}.reveal.overview{perspective-origin:50% 50%;perspective:700px}.reveal.overview .slides{-moz-transform-style:preserve-3d}.reveal.overview .slides section{height:100%;top:0!important;opacity:1!important;overflow:hidden;visibility:visible!important;cursor:pointer;box-sizing:border-box}.reveal.overview .slides section.present,.reveal.overview .slides section:hover{outline:10px solid rgba(150,150,150,.4);outline-offset:10px}.reveal.overview .slides section .fragment{opacity:1;transition:none}.reveal.overview .slides section:after,.reveal.overview .slides section:before{display:none!important}.reveal.overview .slides>section.stack{padding:0;top:0!important;background:0 0;outline:0;overflow:visible}.reveal.overview .backgrounds{perspective:inherit;-moz-transform-style:preserve-3d}.reveal.overview .backgrounds .slide-background{opacity:1;visibility:visible;outline:10px solid rgba(150,150,150,.1);outline-offset:10px}.reveal.overview .backgrounds .slide-background.stack{overflow:visible}.reveal.overview .slides section,.reveal.overview-deactivating .slides section{transition:none}.reveal.overview .backgrounds .slide-background,.reveal.overview-deactivating .backgrounds .slide-background{transition:none}.reveal.rtl .slides,.reveal.rtl .slides h1,.reveal.rtl .slides h2,.reveal.rtl .slides h3,.reveal.rtl .slides h4,.reveal.rtl .slides h5,.reveal.rtl .slides h6{direction:rtl;font-family:sans-serif}.reveal.rtl code,.reveal.rtl pre{direction:ltr}.reveal.rtl ol,.reveal.rtl ul{text-align:right}.reveal.rtl .progress span{transform-origin:100% 0}.reveal.has-parallax-background .backgrounds{transition:all .8s ease}.reveal.has-parallax-background[data-transition-speed=fast] .backgrounds{transition-duration:.4s}.reveal.has-parallax-background[data-transition-speed=slow] .backgrounds{transition-duration:1.2s}.reveal>.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000;background:rgba(0,0,0,.9);transition:all .3s ease}.reveal>.overlay .spinner{position:absolute;display:block;top:50%;left:50%;width:32px;height:32px;margin:-16px 0 0 -16px;z-index:10;background-image:url(data:image/gif;base64,R0lGODlhIAAgAPMAAJmZmf%2F%2F%2F6%2Bvr8nJybW1tcDAwOjo6Nvb26ioqKOjo7Ozs%2FLy8vz8%2FAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%2BQQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ%2FV%2FnmOM82XiHRLYKhKP1oZmADdEAAAh%2BQQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY%2FCZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB%2BA4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6%2BHo7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq%2BB6QDtuetcaBPnW6%2BO7wDHpIiK9SaVK5GgV543tzjgGcghAgAh%2BQQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK%2B%2BG%2Bw48edZPK%2BM6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE%2BG%2BcD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm%2BFNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk%2BaV%2BoJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0%2FVNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc%2BXiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30%2FiI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE%2FjiuL04RGEBgwWhShRgQExHBAAh%2BQQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR%2BipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY%2BYip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd%2BMFCN6HAAIKgNggY0KtEBAAh%2BQQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1%2BvsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d%2BjYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg%2BygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0%2Bbm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h%2BKr0SJ8MFihpNbx%2B4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX%2BBP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA%3D%3D);visibility:visible;opacity:.6;transition:all .3s ease}.reveal>.overlay header{position:absolute;left:0;top:0;width:100%;padding:5px;z-index:2;box-sizing:border-box}.reveal>.overlay header a{display:inline-block;width:40px;height:40px;line-height:36px;padding:0 10px;float:right;opacity:.6;box-sizing:border-box}.reveal>.overlay header a:hover{opacity:1}.reveal>.overlay header a .icon{display:inline-block;width:20px;height:20px;background-position:50% 50%;background-size:100%;background-repeat:no-repeat}.reveal>.overlay header a.close .icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABkklEQVRYR8WX4VHDMAxG6wnoJrABZQPYBCaBTWAD2g1gE5gg6OOsXuxIlr40d81dfrSJ9V4c2VLK7spHuTJ/5wpM07QXuXc5X0opX2tEJcadjHuV80li/FgxTIEK/5QBCICBD6xEhSMGHgQPgBgLiYVAB1dpSqKDawxTohFw4JSEA3clzgIBPCURwE2JucBR7rhPJJv5OpJwDX+SfDjgx1wACQeJG1aChP9K/IMmdZ8DtESV1WyP3Bt4MwM6sj4NMxMYiqUWHQu4KYA/SYkIjOsm3BXYWMKFDwU2khjCQ4ELJUJ4SmClRArOCmSXGuKma0fYD5CbzHxFpCSGAhfAVSSUGDUk2BWZaff2g6GE15BsBQ9nwmpIGDiyHQddwNTMKkbZaf9fajXQca1EX44puJZUsnY0ObGmITE3GVLCbEhQUjGVt146j6oasWN+49Vph2w1pZ5EansNZqKBm1txbU57iRRcZ86RWMDdWtBJUHBHwoQPi1GV+JCbntmvok7iTX4/Up9mgyTc/FJYDTcndgH/AA5A/CHsyEkVAAAAAElFTkSuQmCC)}.reveal>.overlay header a.external .icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAcElEQVRYR+2WSQoAIQwEzf8f7XiOMkUQxUPlGkM3hVmiQfQR9GYnH1SsAQlI4DiBqkCMoNb9y2e90IAEJPAcgdznU9+engMaeJ7Azh5Y1U67gAho4DqBqmB1buAf0MB1AlVBek83ZPkmJMGc1wAR+AAqod/B97TRpQAAAABJRU5ErkJggg==)}.reveal>.overlay .viewport{position:absolute;display:flex;top:50px;right:0;bottom:0;left:0}.reveal>.overlay.overlay-preview .viewport iframe{width:100%;height:100%;max-width:100%;max-height:100%;border:0;opacity:0;visibility:hidden;transition:all .3s ease}.reveal>.overlay.overlay-preview.loaded .viewport iframe{opacity:1;visibility:visible}.reveal>.overlay.overlay-preview.loaded .viewport-inner{position:absolute;z-index:-1;left:0;top:45%;width:100%;text-align:center;letter-spacing:normal}.reveal>.overlay.overlay-preview .x-frame-error{opacity:0;transition:opacity .3s ease .3s}.reveal>.overlay.overlay-preview.loaded .x-frame-error{opacity:1}.reveal>.overlay.overlay-preview.loaded .spinner{opacity:0;visibility:hidden;transform:scale(.2)}.reveal>.overlay.overlay-help .viewport{overflow:auto;color:#fff}.reveal>.overlay.overlay-help .viewport .viewport-inner{width:600px;margin:auto;padding:20px 20px 80px;text-align:center;letter-spacing:normal}.reveal>.overlay.overlay-help .viewport .viewport-inner .title{font-size:20px}.reveal>.overlay.overlay-help .viewport .viewport-inner table{border:1px solid #fff;border-collapse:collapse;font-size:16px}.reveal>.overlay.overlay-help .viewport .viewport-inner table td,.reveal>.overlay.overlay-help .viewport .viewport-inner table th{width:200px;padding:14px;border:1px solid #fff;vertical-align:middle}.reveal>.overlay.overlay-help .viewport .viewport-inner table th{padding-top:20px;padding-bottom:20px}.reveal .playback{position:absolute;left:15px;bottom:20px;z-index:30;cursor:pointer;transition:all .4s ease;-webkit-tap-highlight-color:transparent}.reveal.overview .playback{opacity:0;visibility:hidden}.reveal .hljs{min-height:100%}.reveal .hljs table{margin:initial}.reveal .hljs-ln-code,.reveal .hljs-ln-numbers{padding:0;border:0}.reveal .hljs-ln-numbers{opacity:.6;padding-right:.75em;text-align:right;vertical-align:top}.reveal .hljs.has-highlights tr:not(.highlight-line){opacity:.4}.reveal .hljs.has-highlights.fragment{transition:all .2s ease}.reveal .hljs:not(:first-child).fragment{position:absolute;top:0;left:0;width:100%;box-sizing:border-box}.reveal pre[data-auto-animate-target]{overflow:hidden}.reveal pre[data-auto-animate-target] code{height:100%}.reveal .roll{display:inline-block;line-height:1.2;overflow:hidden;vertical-align:top;perspective:400px;perspective-origin:50% 50%}.reveal .roll:hover{background:0 0;text-shadow:none}.reveal .roll span{display:block;position:relative;padding:0 2px;pointer-events:none;transition:all .4s ease;transform-origin:50% 0;transform-style:preserve-3d;backface-visibility:hidden}.reveal .roll:hover span{background:rgba(0,0,0,.5);transform:translateZ(-45px) rotateX(90deg)}.reveal .roll span:after{content:attr(data-title);display:block;position:absolute;left:0;top:0;padding:0 2px;backface-visibility:hidden;transform-origin:50% 0;transform:translate3d(0,110%,0) rotateX(-90deg)}.reveal aside.notes{display:none}.reveal .speaker-notes{display:none;position:absolute;width:33.3333333333%;height:100%;top:0;left:100%;padding:14px 18px;z-index:1;font-size:18px;line-height:1.4;border:1px solid rgba(0,0,0,.05);color:#222;background-color:#f5f5f5;overflow:auto;box-sizing:border-box;text-align:left;font-family:Helvetica,sans-serif;-webkit-overflow-scrolling:touch}.reveal .speaker-notes .notes-placeholder{color:#ccc;font-style:italic}.reveal .speaker-notes:focus{outline:0}.reveal .speaker-notes:before{content:"Speaker notes";display:block;margin-bottom:10px;opacity:.5}.reveal.show-notes{max-width:75%;overflow:visible}.reveal.show-notes .speaker-notes{display:block}@media screen and (min-width:1600px){.reveal .speaker-notes{font-size:20px}}@media screen and (max-width:1024px){.reveal.show-notes{border-left:0;max-width:none;max-height:70%;max-height:70vh;overflow:visible}.reveal.show-notes .speaker-notes{top:100%;left:0;width:100%;height:30vh;border:0}}@media screen and (max-width:600px){.reveal.show-notes{max-height:60%;max-height:60vh}.reveal.show-notes .speaker-notes{top:100%;height:40vh}.reveal .speaker-notes{font-size:14px}}.reveal .jump-to-slide{position:absolute;top:15px;left:15px;z-index:30;font-size:32px;-webkit-tap-highlight-color:transparent}.reveal .jump-to-slide-input{background:0 0;padding:8px;font-size:inherit;color:currentColor;border:0}.reveal .jump-to-slide-input::placeholder{color:currentColor;opacity:.5}.reveal.has-dark-background .jump-to-slide-input{color:#fff}.reveal.has-light-background .jump-to-slide-input{color:#222}.reveal .jump-to-slide-input:focus{outline:0}.zoomed .reveal *,.zoomed .reveal :after,.zoomed .reveal :before{backface-visibility:visible!important}.zoomed .reveal .controls,.zoomed .reveal .progress{opacity:0}.zoomed .reveal .roll span{background:0 0}.zoomed .reveal .roll span:after{visibility:hidden}html.print-pdf *{-webkit-print-color-adjust:exact}html.print-pdf{width:100%;height:100%;overflow:visible}html.print-pdf body{margin:0 auto!important;border:0;padding:0;float:none!important;overflow:visible}html.print-pdf .nestedarrow,html.print-pdf .reveal .controls,html.print-pdf .reveal .playback,html.print-pdf .reveal .progress,html.print-pdf .reveal.overview,html.print-pdf .state-background{display:none!important}html.print-pdf .reveal pre code{overflow:hidden!important}html.print-pdf .reveal{width:auto!important;height:auto!important;overflow:hidden!important}html.print-pdf .reveal .slides{position:static;width:100%!important;height:auto!important;zoom:1!important;pointer-events:initial;left:auto;top:auto;margin:0!important;padding:0!important;overflow:visible;display:block;perspective:none;perspective-origin:50% 50%}html.print-pdf .reveal .slides .pdf-page{position:relative;overflow:hidden;z-index:1;page-break-after:always}html.print-pdf .reveal .slides section{visibility:visible!important;display:block!important;position:absolute!important;margin:0!important;padding:0!important;box-sizing:border-box!important;min-height:1px;opacity:1!important;transform-style:flat!important;transform:none!important}html.print-pdf .reveal section.stack{position:relative!important;margin:0!important;padding:0!important;page-break-after:avoid!important;height:auto!important;min-height:auto!important}html.print-pdf .reveal img{box-shadow:none}html.print-pdf .reveal .backgrounds{display:none}html.print-pdf .reveal .slide-background{display:block!important;position:absolute;top:0;left:0;width:100%;height:100%;z-index:auto!important}html.print-pdf .reveal.show-notes{max-width:none;max-height:none}html.print-pdf .reveal .speaker-notes-pdf{display:block;width:100%;height:auto;max-height:none;top:auto;right:auto;bottom:auto;left:auto;z-index:100}html.print-pdf .reveal .speaker-notes-pdf[data-layout=separate-page]{position:relative;color:inherit;background-color:transparent;padding:20px;page-break-after:always;border:0}html.print-pdf .reveal .slide-number-pdf{display:block;position:absolute;font-size:14px}html.print-pdf .aria-status{display:none}@media print{html:not(.print-pdf){overflow:visible;width:auto;height:auto}html:not(.print-pdf) body{margin:0;padding:0;overflow:visible}html:not(.print-pdf) .reveal{background:#fff;font-size:20pt}html:not(.print-pdf) .reveal .backgrounds,html:not(.print-pdf) .reveal .controls,html:not(.print-pdf) .reveal .progress,html:not(.print-pdf) .reveal .slide-number,html:not(.print-pdf) .reveal .state-background{display:none!important}html:not(.print-pdf) .reveal li,html:not(.print-pdf) .reveal p,html:not(.print-pdf) .reveal td{font-size:20pt!important;color:#000}html:not(.print-pdf) .reveal h1,html:not(.print-pdf) .reveal h2,html:not(.print-pdf) .reveal h3,html:not(.print-pdf) .reveal h4,html:not(.print-pdf) .reveal h5,html:not(.print-pdf) .reveal h6{color:#000!important;height:auto;line-height:normal;text-align:left;letter-spacing:normal}html:not(.print-pdf) .reveal h1{font-size:28pt!important}html:not(.print-pdf) .reveal h2{font-size:24pt!important}html:not(.print-pdf) .reveal h3{font-size:22pt!important}html:not(.print-pdf) .reveal h4{font-size:22pt!important;font-variant:small-caps}html:not(.print-pdf) .reveal h5{font-size:21pt!important}html:not(.print-pdf) .reveal h6{font-size:20pt!important;font-style:italic}html:not(.print-pdf) .reveal a:link,html:not(.print-pdf) .reveal a:visited{color:#000!important;font-weight:700;text-decoration:underline}html:not(.print-pdf) .reveal div,html:not(.print-pdf) .reveal ol,html:not(.print-pdf) .reveal p,html:not(.print-pdf) .reveal ul{visibility:visible;position:static;width:auto;height:auto;display:block;overflow:visible;margin:0;text-align:left!important}html:not(.print-pdf) .reveal pre,html:not(.print-pdf) .reveal table{margin-left:0;margin-right:0}html:not(.print-pdf) .reveal pre code{padding:20px}html:not(.print-pdf) .reveal blockquote{margin:20px 0}html:not(.print-pdf) .reveal .slides{position:static!important;width:auto!important;height:auto!important;left:0!important;top:0!important;margin-left:0!important;margin-top:0!important;padding:0!important;zoom:1!important;transform:none!important;overflow:visible!important;display:block!important;text-align:left!important;perspective:none;perspective-origin:50% 50%}html:not(.print-pdf) .reveal .slides section{visibility:visible!important;position:static!important;width:auto!important;height:auto!important;display:block!important;overflow:visible!important;left:0!important;top:0!important;margin-left:0!important;margin-top:0!important;padding:60px 20px!important;z-index:auto!important;opacity:1!important;page-break-after:always!important;transform-style:flat!important;transform:none!important;transition:none!important}html:not(.print-pdf) .reveal .slides section.stack{padding:0!important}html:not(.print-pdf) .reveal .slides section:last-of-type{page-break-after:avoid!important}html:not(.print-pdf) .reveal .slides section .fragment{opacity:1!important;visibility:visible!important;transform:none!important}html:not(.print-pdf) .reveal .r-fit-text{white-space:normal!important}html:not(.print-pdf) .reveal section img{display:block;margin:15px 0;background:#fff;border:1px solid #666;box-shadow:none}html:not(.print-pdf) .reveal section small{font-size:.8em}html:not(.print-pdf) .reveal .hljs{max-height:100%;white-space:pre-wrap;word-wrap:break-word;word-break:break-word;font-size:15pt}html:not(.print-pdf) .reveal .hljs .hljs-ln-numbers{white-space:nowrap}html:not(.print-pdf) .reveal .hljs td{font-size:inherit!important;color:inherit!important}}html[data-theme=light] .reveal[data-theme=auto]{--r-background-color: #fff;--r-main-font: Source Sans Pro, helvetica, sans-serif;--r-main-font-size: 42px;--r-main-color: #222;--r-block-margin: 20px;--r-heading-margin: 0 0 20px 0;--r-heading-font: Source Sans Pro, helvetica, sans-serif;--r-heading-color: #222;--r-heading-line-height: 1.2;--r-heading-letter-spacing: normal;--r-heading-text-transform: uppercase;--r-heading-text-shadow: none;--r-heading-font-weight: 600;--r-heading1-text-shadow: none;--r-heading1-size: 2.5em;--r-heading2-size: 1.6em;--r-heading3-size: 1.3em;--r-heading4-size: 1em;--r-code-font: monospace;--r-link-color: #2a76dd;--r-link-color-hover: #4a8be2;--r-selection-background-color: #5f98e6;--r-selection-color: #fff;--r-viewport-color: #fff}html[data-theme=light] .reveal[data-theme=auto] .hljs-comment,html[data-theme=light] .reveal[data-theme=auto] .hljs-quote{color:#8e908c}html[data-theme=light] .reveal[data-theme=auto] .hljs-deletion,html[data-theme=light] .reveal[data-theme=auto] .hljs-name,html[data-theme=light] .reveal[data-theme=auto] .hljs-regexp,html[data-theme=light] .reveal[data-theme=auto] .hljs-selector-class,html[data-theme=light] .reveal[data-theme=auto] .hljs-selector-id,html[data-theme=light] .reveal[data-theme=auto] .hljs-tag,html[data-theme=light] .reveal[data-theme=auto] .hljs-template-variable,html[data-theme=light] .reveal[data-theme=auto] .hljs-variable{color:#c82829}html[data-theme=light] .reveal[data-theme=auto] .hljs-built_in,html[data-theme=light] .reveal[data-theme=auto] .hljs-builtin-name,html[data-theme=light] .reveal[data-theme=auto] .hljs-link,html[data-theme=light] .reveal[data-theme=auto] .hljs-literal,html[data-theme=light] .reveal[data-theme=auto] .hljs-meta,html[data-theme=light] .reveal[data-theme=auto] .hljs-number,html[data-theme=light] .reveal[data-theme=auto] .hljs-params,html[data-theme=light] .reveal[data-theme=auto] .hljs-type{color:#f5871f}html[data-theme=light] .reveal[data-theme=auto] .hljs-attribute{color:#eab700}html[data-theme=light] .reveal[data-theme=auto] .hljs-addition,html[data-theme=light] .reveal[data-theme=auto] .hljs-bullet,html[data-theme=light] .reveal[data-theme=auto] .hljs-string,html[data-theme=light] .reveal[data-theme=auto] .hljs-symbol{color:#718c00}html[data-theme=light] .reveal[data-theme=auto] .hljs-section,html[data-theme=light] .reveal[data-theme=auto] .hljs-title{color:#4271ae}html[data-theme=light] .reveal[data-theme=auto] .hljs-keyword,html[data-theme=light] .reveal[data-theme=auto] .hljs-selector-tag{color:#8959a8}html[data-theme=light] .reveal[data-theme=auto] .hljs{display:block;overflow-x:auto;padding:.5em;background:#fff;color:#4d4d4c}html[data-theme=light] .reveal[data-theme=auto] .hljs-emphasis{font-style:italic}html[data-theme=light] .reveal[data-theme=auto] .hljs-strong{font-weight:700}html[data-theme=dark] .reveal[data-theme=auto]{--r-background-color: #191919;--r-main-font: Source Sans Pro, helvetica, sans-serif;--r-main-font-size: 42px;--r-main-color: #fff;--r-block-margin: 20px;--r-heading-margin: 0 0 20px 0;--r-heading-font: Source Sans Pro, helvetica, sans-serif;--r-heading-color: #fff;--r-heading-line-height: 1.2;--r-heading-letter-spacing: normal;--r-heading-text-transform: uppercase;--r-heading-text-shadow: none;--r-heading-font-weight: 600;--r-heading1-text-shadow: none;--r-heading1-size: 2.5em;--r-heading2-size: 1.6em;--r-heading3-size: 1.3em;--r-heading4-size: 1em;--r-code-font: monospace;--r-link-color: #42affa;--r-link-color-hover: #5ebbfb;--r-selection-background-color: #71c3fb;--r-selection-color: #fff;--r-viewport-color: #191919}html[data-theme=dark] .reveal[data-theme=auto] .hljs-comment,html[data-theme=dark] .reveal[data-theme=auto] .hljs-quote{color:#b6b18b}html[data-theme=dark] .reveal[data-theme=auto] .hljs-deletion,html[data-theme=dark] .reveal[data-theme=auto] .hljs-name,html[data-theme=dark] .reveal[data-theme=auto] .hljs-regexp,html[data-theme=dark] .reveal[data-theme=auto] .hljs-selector-class,html[data-theme=dark] .reveal[data-theme=auto] .hljs-selector-id,html[data-theme=dark] .reveal[data-theme=auto] .hljs-tag,html[data-theme=dark] .reveal[data-theme=auto] .hljs-template-variable,html[data-theme=dark] .reveal[data-theme=auto] .hljs-variable{color:#eb3c54}html[data-theme=dark] .reveal[data-theme=auto] .hljs-built_in,html[data-theme=dark] .reveal[data-theme=auto] .hljs-builtin-name,html[data-theme=dark] .reveal[data-theme=auto] .hljs-link,html[data-theme=dark] .reveal[data-theme=auto] .hljs-literal,html[data-theme=dark] .reveal[data-theme=auto] .hljs-meta,html[data-theme=dark] .reveal[data-theme=auto] .hljs-number,html[data-theme=dark] .reveal[data-theme=auto] .hljs-params,html[data-theme=dark] .reveal[data-theme=auto] .hljs-type{color:#e7ce56}html[data-theme=dark] .reveal[data-theme=auto] .hljs-attribute{color:#ee7c2b}html[data-theme=dark] .reveal[data-theme=auto] .hljs-addition,html[data-theme=dark] .reveal[data-theme=auto] .hljs-bullet,html[data-theme=dark] .reveal[data-theme=auto] .hljs-string,html[data-theme=dark] .reveal[data-theme=auto] .hljs-symbol{color:#4fb4d7}html[data-theme=dark] .reveal[data-theme=auto] .hljs-section,html[data-theme=dark] .reveal[data-theme=auto] .hljs-title{color:#78bb65}html[data-theme=dark] .reveal[data-theme=auto] .hljs-keyword,html[data-theme=dark] .reveal[data-theme=auto] .hljs-selector-tag{color:#b45ea4}html[data-theme=dark] .reveal[data-theme=auto] .hljs{display:block;overflow-x:auto;padding:.5em;background:#1c1d21;color:#c0c5ce}html[data-theme=dark] .reveal[data-theme=auto] .hljs-emphasis{font-style:italic}html[data-theme=dark] .reveal[data-theme=auto] .hljs-strong{font-weight:700}.reveal-viewport{background-color:var(--r-background-color)}.reveal{font-weight:400;color:var(--r-main-color);font-size:var(--r-main-font-size);font-family:var(--r-main-font)}.reveal p{line-height:1.3}.reveal img,.reveal video,.reveal iframe{max-width:95%;max-height:95%}.reveal strong,.reveal b{font-weight:700}.reveal em{font-style:italic}.reveal ol,.reveal dl,.reveal ul{display:inline-block;margin:0 0 0 1em;text-align:start}.reveal ol{list-style-type:decimal}.reveal ul ul,.reveal ul ol,.reveal ol ol,.reveal ol ul{display:block;margin-left:40px}.reveal ul{list-style-type:disc}.reveal ul ul{list-style-type:square}.reveal ul ul ul{list-style-type:circle}.reveal dt{font-weight:700}.reveal dd{margin-left:40px}.reveal blockquote{position:relative;display:block;width:70%;padding:5px;background:rgba(255,255,255,.05);box-shadow:0 0 2px #0003;font-style:italic}.reveal blockquote p:first-child,.reveal blockquote p:last-child{display:inline-block}.reveal q{font-style:italic}.reveal pre{position:relative;display:block;width:90%;padding:0;box-shadow:0 5px 15px #00000026;font-size:.55em;line-height:1.2em;text-align:left;word-wrap:break-word}.reveal code{text-transform:none}.reveal pre code{display:block;overflow:auto;max-height:400px;padding:5px;word-wrap:normal}.reveal a{text-decoration:none;transition:color .15s ease}.reveal a:hover{border:none;text-shadow:none}.reveal table{margin:auto;border-spacing:0;border-collapse:collapse}.reveal th{font-weight:700}.reveal th,.reveal td{padding:.2em .5em;border-bottom:1px solid;text-align:left}.reveal th[align=center],.reveal td[align=center]{text-align:center}.reveal th[align=right],.reveal td[align=right]{text-align:right}.reveal tbody tr:last-child th,.reveal tbody tr:last-child td{border-bottom:none}.reveal sup{vertical-align:super;font-size:smaller}.reveal sub{vertical-align:sub;font-size:smaller}.reveal small{display:inline-block;vertical-align:top;font-size:.6em;line-height:1.2em}.reveal small *{vertical-align:top}@media print{.reveal .backgrounds{background-color:var(--r-background-color)}}.reveal ::-moz-selection{background:var(--r-selection-background-color);color:var(--r-selection-color);text-shadow:none}.reveal ::selection{background:var(--r-selection-background-color);color:var(--r-selection-color);text-shadow:none}.reveal .slides section,.reveal .slides section>section{font-weight:inherit;line-height:1.3}.reveal h1{font-size:var(--r-heading1-size);text-shadow:var(--r-heading1-text-shadow)}.reveal h2{font-size:var(--r-heading2-size)}.reveal h3{font-size:var(--r-heading3-size)}.reveal h4{font-size:var(--r-heading4-size)}.reveal p{margin:var(--r-block-margin) 0}.reveal h1,.reveal h2,.reveal h3,.reveal h4,.reveal h5,.reveal h6{margin:var(--r-heading-margin);color:var(--r-heading-color);font-weight:var(--r-heading-font-weight);font-family:var(--r-heading-font);line-height:var(--r-heading-line-height);letter-spacing:var(--r-heading-letter-spacing);text-transform:var(--r-heading-text-transform);text-shadow:var(--r-heading-text-shadow);word-wrap:break-word}.reveal h1:last-child,.reveal h2:last-child,.reveal h3:last-child,.reveal h4:last-child,.reveal h5:last-child,.reveal h6:last-child{margin-bottom:0}.reveal blockquote{margin:var(--r-block-margin) auto}.reveal pre{margin:var(--r-block-margin) auto;font-family:var(--r-code-font)}.reveal code{font-family:var(--r-code-font)}.reveal img{margin:var(--r-block-margin) 0}.reveal a{color:var(--r-link-color)}.reveal a:hover{color:var(--r-link-color-hover)}.reveal .roll span:after{background:var(--r-link-color-dark);color:#fff}.reveal .r-frame{border:4px solid var(--r-main-color);box-shadow:0 0 10px #00000026}.reveal a .r-frame{transition:all .15s linear}.reveal a:hover .r-frame{border-color:var(--r-link-color);box-shadow:0 0 20px #0000008c}.reveal .controls{color:var(--r-link-color)}.reveal .progress{background:rgba(0,0,0,.2);color:var(--r-link-color)}.reveal table.hljs-ln{display:table;width:100%}.reveal table.hljs-ln tr{border:none}.reveal table.hljs-ln tr:nth-child(2n){background:inherit!important}.reveal table.hljs-ln td{border:none}.vp-reveal{position:relative;width:100%;height:400px;min-height:400px}@media print{.vp-reveal{page-break-inside:avoid}}@media (max-width: 419px){.vp-reveal{width:calc(100% + 3rem);min-height:300px;margin:0 -1.5rem}}.reveal-loading{position:absolute;top:0;right:0;left:0;color:var(--vp-tc)}@font-face{font-weight:400;font-style:normal;font-family:League Gothic;src:url(/JavaScriptCollection/assets/league-gothic-8802c66a.eot);src:url(/JavaScriptCollection/assets/league-gothic-8802c66a.eot?#iefix) format("embedded-opentype"),url(/JavaScriptCollection/assets/league-gothic-5eef6df8.woff) format("woff"),url(/JavaScriptCollection/assets/league-gothic-38fcc721.ttf) format("truetype")}@font-face{font-weight:400;font-style:normal;font-family:Source Sans Pro;src:url(/JavaScriptCollection/assets/source-sans-pro-regular-dce8869d.eot);src:url(/JavaScriptCollection/assets/source-sans-pro-regular-dce8869d.eot?#iefix) format("embedded-opentype"),url(/JavaScriptCollection/assets/source-sans-pro-regular-d4eaa48b.woff) format("woff"),url(/JavaScriptCollection/assets/source-sans-pro-regular-c1865d89.ttf) format("truetype")}@font-face{font-weight:400;font-style:italic;font-family:Source Sans Pro;src:url(/JavaScriptCollection/assets/source-sans-pro-italic-ad4b0799.eot);src:url(/JavaScriptCollection/assets/source-sans-pro-italic-ad4b0799.eot?#iefix) format("embedded-opentype"),url(/JavaScriptCollection/assets/source-sans-pro-italic-05d3615f.woff) format("woff"),url(/JavaScriptCollection/assets/source-sans-pro-italic-d13268af.ttf) format("truetype")}@font-face{font-weight:600;font-style:normal;font-family:Source Sans Pro;src:url(/JavaScriptCollection/assets/source-sans-pro-semibold-ebb8918d.eot);src:url(/JavaScriptCollection/assets/source-sans-pro-semibold-ebb8918d.eot?#iefix) format("embedded-opentype"),url(/JavaScriptCollection/assets/source-sans-pro-semibold-b0abd273.woff) format("woff"),url(/JavaScriptCollection/assets/source-sans-pro-semibold-a53e2723.ttf) format("truetype")}@font-face{font-weight:600;font-style:italic;font-family:Source Sans Pro;src:url(/JavaScriptCollection/assets/source-sans-pro-semibolditalic-dfe0b47a.eot);src:url(/JavaScriptCollection/assets/source-sans-pro-semibolditalic-dfe0b47a.eot?#iefix) format("embedded-opentype"),url(/JavaScriptCollection/assets/source-sans-pro-semibolditalic-7225cacc.woff) format("woff"),url(/JavaScriptCollection/assets/source-sans-pro-semibolditalic-e8ec22b6.ttf) format("truetype")}.vp-playground{overflow:hidden;margin-top:1rem;margin-bottom:1rem;border:1px solid var(--vp-brc);border-radius:6px}@media print{.vp-playground{display:none!important}}.vp-playground-header{display:flex;flex-flow:row wrap;padding:8px 10px;border-bottom:1px solid var(--vp-brc);background:var(--playground-header-bg-color, #eee);font-weight:500;transition:background var(--vp-ct),border-color var(--vp-ct)}.vp-playground-title{flex:1;overflow:hidden;font-size:1.25rem;text-overflow:ellipsis;white-space:nowrap}.vp-playground-actions{display:flex;align-items:center}.vp-playground-action{display:inline-flex;margin-inline-start:10px}.vp-playground-action .icon{width:1.5rem;height:1.5rem;fill:#777}.vp-playground-action:hover .icon{fill:var(--vp-tc)}.vp-playground-container{position:relative;overflow:hidden;background:var(--vp-bg);transition:background var(--vp-ct)}@media print{.vp-playground-container{page-break-inside:avoid}}.vp-playground-container iframe{display:block;width:100%;height:100%;min-height:400px;border:none;resize:vertical}:root{--tab-bg-color: var(--vp-bg);--tab-nav-text-color: var(--vp-c);--tab-nav-bg-color: #e0e0e0;--tab-nav-hover-color: #eee}html[data-theme=dark]{--tab-nav-bg-color: #34343f;--tab-nav-hover-color: #2d2d38}.vp-tabs{margin:1.5rem 0;border:2px solid var(--vp-brc);border-radius:8px}@media (max-width: 419px){.theme-hope-content>.vp-tabs{margin-right:-1.5rem;margin-left:-1.5rem;border-radius:0}}.vp-tabs-nav{overflow-x:auto;margin:0;padding:0;border-radius:8px 8px 0 0;background:var(--tab-nav-bg-color);list-style:none;white-space:nowrap;transition:background var(--vp-ct)}@media print{.vp-tabs-nav{display:none}}@media (max-width: 419px){.vp-tabs-nav{border-radius:0}}.vp-tab-nav{border-width:0;position:relative;min-width:4rem;margin:0;padding:.5em 1em;border-radius:8px 8px 0 0;background:transparent;color:var(--tab-nav-text-color);font-weight:600;font-size:.85em;line-height:1.75;cursor:pointer;transition:background var(--vp-ct),color var(--vp-ct)}.vp-tab-nav:hover{background:var(--tab-nav-hover-color)}.vp-tab-nav:before,.vp-tab-nav:after{content:" ";position:absolute;bottom:0;z-index:1;width:8px;height:8px}.vp-tab-nav:before{right:100%}.vp-tab-nav:after{left:100%}.vp-tab-nav.active{background:var(--tab-bg-color)}.vp-tab-nav.active:before{background:radial-gradient(16px at left top,transparent 50%,var(--tab-bg-color) 50%)}.vp-tab-nav.active:after{background:radial-gradient(16px at right top,transparent 50%,var(--tab-bg-color) 50%)}.vp-tab-nav:first-child:before{display:none}.vp-tab{display:none;padding:1rem .75rem;background:var(--tab-bg-color);transition:background var(--vp-ct)}.vp-tab.active{display:block}.task-list-container{padding-inline-start:0;list-style-position:inside}.task-list-container .task-list-container{padding-inline-start:1.5em}.task-list-item{list-style:none}.task-list-item-checkbox{position:relative;width:0;margin-inline-end:1.5em;cursor:pointer}.task-list-item-checkbox:after{content:" ";position:absolute;top:0;display:inline-block;box-sizing:border-box;width:1em;height:1em;padding-inline-start:0;border:1px solid #ddd;border-radius:2px;background:#fff;text-align:center;visibility:visible;transition:background var(--vp-ct),border-color var(--vp-ct)}@media print{.task-list-item-checkbox:after{border-color:var(--vp-c)}}html[data-theme=dark] .task-list-item-checkbox:after{border-color:#666;background:#333}.task-list-item-checkbox:checked:after{content:"";border-color:var(--vp-tc);background:var(--vp-tc)}@media print{.task-list-item-checkbox:checked:after{border-color:var(--vp-c);background:transparent}}html[data-theme=dark] .task-list-item-checkbox:checked:after{border-color:var(--vp-tc);background:var(--vp-tc)}.task-list-item-checkbox:checked:before{content:"";position:absolute;top:.1em;left:.4em;z-index:1;width:.2em;height:.5em;border:solid var(--white);border-width:0 .15em .15em 0;transform:rotate(45deg)}@media print{.task-list-item-checkbox:checked:before{border-color:var(--vp-c)}}html[dir=rtl] .task-list-item-checkbox:checked:before{right:.4em;left:unset}/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */.pswp{--pswp-bg: #000;--pswp-placeholder-bg: #222;--pswp-root-z-index: 100000;--pswp-preloader-color: rgba(79, 79, 79, .4);--pswp-preloader-color-secondary: rgba(255, 255, 255, .9);--pswp-icon-color: #fff;--pswp-icon-color-secondary: #4f4f4f;--pswp-icon-stroke-color: #4f4f4f;--pswp-icon-stroke-width: 2px;--pswp-error-text-color: var(--pswp-icon-color)}.pswp{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--pswp-root-z-index);display:none;touch-action:none;outline:0;opacity:.003;contain:layout style size;-webkit-tap-highlight-color:rgba(0,0,0,0)}.pswp:focus{outline:0}.pswp *{box-sizing:border-box}.pswp img{max-width:none}.pswp--open{display:block}.pswp,.pswp__bg{transform:translateZ(0);will-change:opacity}.pswp__bg{opacity:.005;background:var(--pswp-bg)}.pswp,.pswp__scroll-wrap{overflow:hidden}.pswp__scroll-wrap,.pswp__bg,.pswp__container,.pswp__item,.pswp__content,.pswp__img,.pswp__zoom-wrap{position:absolute;top:0;left:0;width:100%;height:100%}.pswp__img,.pswp__zoom-wrap{width:auto;height:auto}.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img{cursor:zoom-in}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img{cursor:move;cursor:grab}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active{cursor:grabbing}.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,.pswp__img{cursor:zoom-out}.pswp__container,.pswp__img,.pswp__button,.pswp__counter{-webkit-user-select:none;-moz-user-select:none;user-select:none}.pswp__item{z-index:1;overflow:hidden}.pswp__hidden{display:none!important}.pswp__content{pointer-events:none}.pswp__content>*{pointer-events:auto}.pswp__error-msg-container{display:grid}.pswp__error-msg{margin:auto;font-size:1em;line-height:1;color:var(--pswp-error-text-color)}.pswp .pswp__hide-on-close{opacity:.005;will-change:opacity;transition:opacity var(--pswp-transition-duration) cubic-bezier(.4,0,.22,1);z-index:10;pointer-events:none}.pswp--ui-visible .pswp__hide-on-close{opacity:1;pointer-events:auto}.pswp__button{position:relative;display:block;width:50px;height:60px;padding:0;margin:0;overflow:hidden;cursor:pointer;background:none;border:0;box-shadow:none;opacity:.85;-webkit-appearance:none;-webkit-touch-callout:none}.pswp__button:hover,.pswp__button:active,.pswp__button:focus{transition:none;padding:0;background:none;border:0;box-shadow:none;opacity:1}.pswp__button:disabled{opacity:.3;cursor:auto}.pswp__icn{fill:var(--pswp-icon-color);color:var(--pswp-icon-color-secondary)}.pswp__icn{position:absolute;top:14px;left:9px;width:32px;height:32px;overflow:hidden;pointer-events:none}.pswp__icn-shadow{stroke:var(--pswp-icon-stroke-color);stroke-width:var(--pswp-icon-stroke-width);fill:none}.pswp__icn:focus{outline:0}div.pswp__img--placeholder,.pswp__img--with-bg{background:var(--pswp-placeholder-bg)}.pswp__top-bar{position:absolute;left:0;top:0;width:100%;height:60px;display:flex;flex-direction:row;justify-content:flex-end;z-index:10;pointer-events:none!important}.pswp__top-bar>*{pointer-events:auto;will-change:opacity}.pswp__button--close{margin-right:6px}.pswp__button--arrow{position:absolute;width:75px;height:100px;top:50%;margin-top:-50px}.pswp__button--arrow:disabled{display:none;cursor:default}.pswp__button--arrow .pswp__icn{top:50%;margin-top:-30px;width:60px;height:60px;background:none;border-radius:0}.pswp--one-slide .pswp__button--arrow{display:none}.pswp--touch .pswp__button--arrow{visibility:hidden}.pswp--has_mouse .pswp__button--arrow{visibility:visible}.pswp__button--arrow--prev{right:auto;left:0}.pswp__button--arrow--next{right:0}.pswp__button--arrow--next .pswp__icn{left:auto;right:14px;transform:scaleX(-1)}.pswp__button--zoom{display:none}.pswp--zoom-allowed .pswp__button--zoom{display:block}.pswp--zoomed-in .pswp__zoom-icn-bar-v{display:none}.pswp__preloader{position:relative;overflow:hidden;width:50px;height:60px;margin-right:auto}.pswp__preloader .pswp__icn{opacity:0;transition:opacity .2s linear;animation:pswp-clockwise .6s linear infinite}.pswp__preloader--active .pswp__icn{opacity:.85}@keyframes pswp-clockwise{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pswp__counter{height:30px;margin-top:15px;margin-inline-start:20px;font-size:14px;line-height:30px;color:var(--pswp-icon-color);text-shadow:1px 1px 3px var(--pswp-icon-color-secondary);opacity:.85}.pswp--one-slide .pswp__counter{display:none}.photo-swipe-loading{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;width:100vw;height:100vh}.photo-swipe-bullets-indicator{position:absolute;bottom:30px;left:50%;display:flex;flex-direction:row;align-items:center;transform:translate(-50%)}.photo-swipe-bullet{width:12px;height:6px;margin:0 5px;border-radius:3px;background:#fff;transition:width var(--vp-tt),color var(--vp-ct)}.photo-swipe-bullet.active{width:30px;background:var(--vp-tc)}.vp-reveal-page .vp-reveal{min-width:100vw;min-height:100vh}.vp-reveal-page .menu-button{left:2rem;z-index:50;vertical-align:middle;transition:transform .2s ease-in-out}.vp-reveal-page .menu-button:before{content:" ";margin-top:.125em}.vp-reveal-page .menu-button:after{content:" ";margin-bottom:.125em}.vp-reveal-page .menu-button .icon{margin:.2em 0}.vp-reveal-page .menu-button:before,.vp-reveal-page .menu-button:after,.vp-reveal-page .menu-button .icon{display:block;width:100%;height:.2em;border-radius:.05em;background:var(--white);transition:transform .2s ease-in-out}.vp-reveal-page .back-button{left:2rem;z-index:49;opacity:0;fill:var(--white);transition:left .2s ease-out,opacity .2s ease-out}.vp-reveal-page .home-button{left:2rem;z-index:48;opacity:0;fill:var(--white);transition:left .2s ease-out,opacity .2s ease-out}.vp-reveal-page .menu-button,.vp-reveal-page .back-button,.vp-reveal-page .home-button{border-width:0;background:transparent;cursor:pointer;position:fixed;bottom:2rem;box-sizing:content-box;width:1rem;height:1rem;padding:.5rem;border-radius:50%;background:rgba(127,127,127,.35);color:var(--white);outline:none}.vp-reveal-page .menu-button:hover,.vp-reveal-page .back-button:hover,.vp-reveal-page .home-button:hover{background:var(--vp-tc)}.vp-reveal-page .active .menu-button:before{transform:translateY(.4em) rotate(135deg)}.vp-reveal-page .active .menu-button .icon{transform:scale(0)}.vp-reveal-page .active .menu-button:after{transform:translateY(-.4em) rotate(-135deg)}.vp-reveal-page .active .back-button{left:4.5rem;opacity:1}.vp-reveal-page .active .home-button{left:7rem;opacity:1}:root{--navbar-bg-color: var(--bg-color-float-blur);--sidebar-bg-color: var(--bg-color-blur)}html[data-theme=dark]{--navbar-bg-color: var(--bg-color-blur);--sidebar-bg-color: var(--bg-color-blur)}#app{--code-hl-bg-color: var(--code-highlight-line-color);--code-ln-color: var(--code-line-color);--code-ln-wrapper-width: var(--line-numbers-width);--code-tabs-nav-text-color: var(--code-color);--code-tabs-nav-bg-color: var(--code-border-color);--code-tabs-nav-hover-color: var(--code-highlight-line-color);--sidebar-space: var(--sidebar-width)}@media (max-width: 959px){#app{--navbar-height: var(--navbar-mobile-height);--navbar-vertical-padding: var(--navbar-mobile-vertical-padding);--navbar-horizontal-padding: var(--navbar-mobile-horizontal-padding);--sidebar-width: var(--sidebar-mobile-width)}}@media (min-width: 1440px){#app{--sidebar-space: clamp( var(--sidebar-width), max(0px, calc((100vw - var(--content-width)) / 2 - 2rem)), 100vw )}}.DocSearch-Button,.DocSearch{--docsearch-primary-color: var(--vp-tc);--docsearch-text-color: var(--vp-c);--docsearch-highlight-color: var(--vp-tc);--docsearch-muted-color: var(--light-grey);--docsearch-container-background: rgb(9 10 17 / 80%);--docsearch-modal-background: var(--bg-color-float);--docsearch-searchbox-background: var(--bg-color-secondary);--docsearch-searchbox-focus-background: var(--vp-bg);--docsearch-searchbox-shadow: inset 0 0 0 2px var(--vp-tc);--docsearch-hit-color: var(--vp-cl);--docsearch-hit-active-color: var(--vp-bg);--docsearch-hit-background: var(--vp-bg);--docsearch-hit-shadow: 0 1px 3px 0 var(--border-color);--docsearch-footer-background: var(--vp-bg)}html[data-theme=dark] .DocSearch-Button,html[data-theme=dark] .DocSearch{--docsearch-logo-color: var(--vp-c);--docsearch-modal-shadow: inset 1px 1px 0 0 #2c2e40, 0 3px 8px 0 #000309;--docsearch-key-shadow: inset 0 -2px 0 0 #282d55, inset 0 0 1px 1px #51577d, 0 2px 2px 0 rgb(3 4 9 / 30%);--docsearch-key-gradient: linear-gradient(-225deg, #444950, #1c1e21);--docsearch-footer-shadow: inset 0 1px 0 0 rgb(73 76 106 / 50%), 0 -4px 8px 0 rgb(0 0 0 / 20%)}#nprogress{--nprogress-color: var(--vp-tc)}.search-box{--search-bg-color: var(--vp-bg);--search-accent-color: var(--vp-tc);--search-text-color: var(--vp-c);--search-border-color: var(--border-color);--search-item-text-color: var(--vp-clt);--search-item-focus-bg-color: var(--bg-color-secondary)}.external-link-icon{--external-link-icon-color: var(--light-grey)}html,body{margin:0;padding:0;background:#fff}html{font-size:16px;font-display:optional;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}@media print{html{font-size:12pt}}body{min-height:100vh;color:#2c3e50}a{color:#3eaf7c;font-weight:500;text-decoration:none;overflow-wrap:break-word}kbd{display:inline-block;min-width:1em;margin-inline:.125rem;padding:.25em;border:1px solid #eee;border-radius:.25em;box-shadow:1px 1px 4px #00000026;line-height:1;letter-spacing:-.1em;text-align:center}code{margin:0;padding:.2rem .4rem;border-radius:5px;background:rgba(127,127,127,.12);font-size:.85em;overflow-wrap:break-word}table code{padding:.1rem .4rem}p a code{color:#3eaf7c;font-weight:400}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.25;overflow-wrap:break-word}h1:hover .header-anchor,h2:hover .header-anchor,h3:hover .header-anchor,h4:hover .header-anchor,h5:hover .header-anchor,h6:hover .header-anchor{opacity:1}h1{font-size:2rem}h2{padding-bottom:.3rem;border-bottom:1px solid #eaecef;font-size:1.65rem}h3{font-size:1.35rem}h4{font-size:1.15rem}h5{font-size:1.05rem}h6{font-size:1rem}a.header-anchor{float:left;margin-top:.125em;margin-inline-start:-.87em;padding-inline-end:.23em;font-size:.85em;opacity:0;transition:opacity .2s}@media print{a.header-anchor{display:none!important}}a.header-anchor:hover{text-decoration:none}a.header-anchor:focus-visible{opacity:1}p,ul,ol{line-height:1.6;overflow-wrap:break-word}@media print{p,ul,ol{line-height:1.5}}ul,ol{padding-inline-start:1.2em}blockquote{margin:1rem 0;padding:.25rem 0 .25rem 1rem;border-inline-start:.2rem solid #ddd;color:#666;font-size:1rem;overflow-wrap:break-word}blockquote>p{margin:0}hr{border:0;border-top:1px solid #eaecef}table{display:block;overflow-x:auto;margin:1rem 0;border-collapse:collapse}tr:nth-child(2n){background:#f6f8fa}th,td{padding:.6em 1em;border:1px solid #dfe2e5}pre{direction:ltr}@page{margin:2cm;font-size:12pt;size:a4}@media print{*,:after,:before{box-shadow:none!important;text-shadow:none!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}a{color:inherit;font-weight:inherit!important;font-size:inherit!important;text-decoration:underline}a[href^="http://"]:after,a[href^="https://"]:after{content:" (" attr(href) ") "}abbr[title]:after{content:" (" attr(title) ")"}pre{border:1px solid #eee;white-space:pre-wrap!important}pre>code{white-space:pre-wrap!important}blockquote{border-inline-start:.2rem solid #ddd;color:inherit}blockquote,pre{orphans:5;widows:5}img,tr,canvas{page-break-inside:avoid}}@font-face{font-weight:400;font-style:normal;font-family:Crimson;src:url(data:font/truetype;charset=utf-8;base64,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) format("truetype")}html,body{background:var(--bg-color);transition:background var(--color-transition)}:root{color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{color:var(--text-color);font-family:var(--font-family)}@media (min-width: 1440px){body{font-size:17px}}a{color:var(--theme-color)}kbd{border-color:var(--border-color-dark);background:var(--bg-color-secondary);font-family:var(--font-family-mono)}code{font-family:var(--font-family-mono);transition:background var(--color-transition),color var(--color-transition)}html[data-theme=dark] code{background:#333}p a code{color:var(--theme-color)}blockquote{border-color:#eee;color:#666;transition:border-color var(--color-transition),color var(--color-transition)}html[data-theme=dark] blockquote{border-color:#333}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading)}@media (max-width: 419px){h1{font-size:1.9rem}}h2{border-color:var(--border-color);transition:border-bottom-color var(--color-transition)}hr{border-color:var(--border-color);transition:border-top-color var(--color-transition)}tr:nth-child(2n){background:var(--bg-color-secondary)}th,td{border-color:var(--border-color-dark)}@media print{@page{--text-color: #000 !important;--bg-color: #fff !important}div[class*=language-]{position:relative!important}}.theme-hope-content:not(.custom)>*:first-child{margin-top:0}.vp-breadcrumb{max-width:var(--content-width, 740px);margin-inline-start:auto;margin-inline-end:auto;padding-inline-start:2.5rem;padding-inline-end:2.5rem;position:relative;z-index:2;padding-top:1rem;font-size:15px}@media (max-width: 959px){.vp-breadcrumb{padding-inline-start:1.5rem;padding-inline-end:1.5rem}}@media print{.vp-breadcrumb{max-width:unset}}@media (max-width: 959px){.vp-breadcrumb{font-size:14px}}@media (max-width: 419px){.vp-breadcrumb{padding-top:.5rem;font-size:12.8px}}@media print{.vp-breadcrumb{display:none}}.vp-breadcrumb .icon{margin-inline-end:.25em}.vp-breadcrumb a{display:inline-block;padding:0 .5em}.vp-breadcrumb a:before{position:relative;bottom:.125rem;margin-inline-end:.25em}.vp-breadcrumb a:hover{color:var(--theme-color)}.vp-breadcrumb ol{margin:0;padding-inline-start:0;list-style:none}.vp-breadcrumb li{display:inline-block;line-height:1.5}.vp-breadcrumb li:first-child a{padding-inline-start:0}.vp-breadcrumb li:last-child a{padding-inline-end:0}.vp-breadcrumb li.is-active a{color:var(--light-grey);cursor:default;pointer-events:none}.vp-breadcrumb li+li:before{content:"/";color:var(--light-grey)}.toggle-sidebar-wrapper{position:fixed;top:var(--navbar-height);bottom:0;left:var(--sidebar-space);z-index:100;display:flex;align-items:center;justify-content:center;font-size:2rem;transition:left var(--transform-transition)}@media (max-width: 719px){.toggle-sidebar-wrapper{display:none}}@media (min-width: 1440px){.toggle-sidebar-wrapper{display:none}}html[dir=rtl] .toggle-sidebar-wrapper{right:var(--sidebar-space);left:unset}.toggle-sidebar-wrapper:hover{background:rgba(127,127,127,.05);cursor:pointer}.toggle-sidebar-wrapper .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");line-height:normal;transition:all .3s}html[data-theme=dark] .toggle-sidebar-wrapper .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.toggle-sidebar-wrapper .arrow.down{transform:rotate(180deg)}html[dir=rtl] .toggle-sidebar-wrapper .arrow.down{transform:rotate(-180deg)}.toggle-sidebar-wrapper .arrow.end{transform:rotate(90deg)}html[dir=rtl] .toggle-sidebar-wrapper .arrow.end,.toggle-sidebar-wrapper .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .toggle-sidebar-wrapper .arrow.start{transform:rotate(90deg)}.theme-container{display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.theme-container .vp-page{padding-top:var(--navbar-height);padding-inline-start:calc(var(--sidebar-space) + 2rem)}@media (max-width: 719px){.theme-container .vp-page{padding-inline-start:0;padding-inline-end:0}}@media (min-width: 1440px){.theme-container .vp-page{padding-inline-end:calc(100vw - var(--content-width) - var(--sidebar-space) - 6rem)}}.theme-container .vp-sidebar{top:var(--navbar-height)}.theme-container.no-navbar .vp-page{padding-top:0}.theme-container.no-navbar .vp-sidebar{top:0}@media (max-width: 719px){.theme-container.no-navbar .vp-sidebar{top:0}}@media (max-width: 719px){.theme-container.hide-navbar .vp-sidebar{top:0}}.theme-container.sidebar-collapsed .vp-page{padding-inline-start:0}.theme-container.sidebar-collapsed .vp-sidebar{box-shadow:none;transform:translate(-100%)}html[dir=rtl] .theme-container.sidebar-collapsed .vp-sidebar{transform:translate(100%)}.theme-container.sidebar-collapsed .toggle-sidebar-wrapper{left:0}html[dir=rtl] .theme-container.sidebar-collapsed .toggle-sidebar-wrapper{right:0;left:unset}.theme-container.no-sidebar .vp-page{padding-inline-start:0;padding-inline-end:0}@media (min-width: 1440px){.theme-container.no-sidebar.has-toc .vp-page{padding-inline-end:16rem}}.theme-container.no-sidebar .vp-toggle-sidebar-button,.theme-container.no-sidebar .toggle-sidebar-wrapper,.theme-container.no-sidebar .vp-sidebar{display:none}.theme-container.sidebar-open .vp-sidebar{box-shadow:2px 0 8px var(--card-shadow);transform:translate(0)}.fade-slide-y-enter-active{transition:all .3s ease!important}.fade-slide-y-leave-active{transition:all .3s cubic-bezier(1,.5,.8,1)!important}.fade-slide-y-enter-from,.fade-slide-y-leave-to{opacity:0;transform:translateY(10px)}.vp-feature-wrapper{position:relative}.vp-feature-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-attachment:fixed;background-position:50%;background-size:cover}.vp-feature-bg.light{display:inline-block}.vp-feature-bg.dark,html[data-theme=dark] .vp-feature-bg.light{display:none}html[data-theme=dark] .vp-feature-bg.dark{display:inline-block}.vp-feature{position:relative;z-index:1;margin:0 auto;padding:1.5rem 1rem;color:var(--text-color-lighter);text-align:center}.vp-feature-bg+.vp-feature{color:#222}html[data-theme=dark] .vp-feature-bg+.vp-feature{color:#eee}.vp-feature-bg+.vp-feature .icon{color:inherit}.vp-feature-image{height:10rem;margin:0 auto}@media (max-width: 959px){.vp-feature-image{height:8rem}}.vp-feature-image.light{display:inline-block}.vp-feature-image.dark,html[data-theme=dark] .vp-feature-image.light{display:none}html[data-theme=dark] .vp-feature-image.dark{display:inline-block}.vp-feature-header{margin-bottom:1.5rem;border-bottom:none;font-size:3rem;font-family:var(--font-family);text-align:center}@media (max-width: 959px){.vp-feature-header{font-size:2.5rem}}@media (max-width: 719px){.vp-feature-header{font-size:2.25rem}}@media (max-width: 419px){.vp-feature-header{font-size:2rem}}.vp-feature-description{font-size:1.125rem}.vp-features{z-index:1;display:flex;flex-wrap:wrap;align-content:stretch;align-items:stretch;justify-content:center;margin:1rem 0;text-align:start}@media print{.vp-features{display:block}}.vp-features:first-child{border-top:1px solid var(--border-color);transition:border-color var(--color-transition)}.vp-feature-item{position:relative;display:block;flex-basis:calc(33% - 3rem);margin:.5rem;padding:1rem;border-radius:.5rem;color:inherit;transition:background var(--color-transition),box-shadow var(--color-transition),transform var(--transform-transition)}@media (min-width: 1440px){.vp-feature-item{flex-basis:calc(25% - 3rem)}}@media (max-width: 959px){.vp-feature-item{flex-basis:calc(50% - 3rem)}}@media (max-width: 719px){.vp-feature-item{flex-basis:100%;font-size:.95rem}}@media (max-width: 419px){.vp-feature-item{margin:.5rem 0;font-size:.9rem}}.vp-feature-item.link{cursor:pointer}@media print{.vp-feature-item.link{text-decoration:none}}.vp-feature-item .icon{display:inline-block;width:1.1em;margin-inline-end:.5rem;color:var(--theme-color);font-weight:400;font-size:1.1em}.vp-feature-item:hover{background-color:var(--bg-color-secondary);box-shadow:0 2px 12px 0 var(--card-shadow);transform:translate(-2px,-2px);transform:scale(1.05)}.vp-feature-bg+.vp-feature .vp-feature-item:hover{background-color:transparent}.vp-feature-item:only-child{flex-basis:100%}.vp-feature-item:first-child:nth-last-child(2),.vp-feature-item:nth-child(2):last-child{flex-basis:calc(50% - 3rem)}@media (max-width: 719px){.vp-feature-item:first-child:nth-last-child(2),.vp-feature-item:nth-child(2):last-child{flex-basis:100%}}.vp-feature-title{margin:.25rem 0 .5rem;font-weight:700;font-size:1.3rem;font-family:var(--font-family)}@media (max-width: 419px){.vp-feature-title{font-size:1.2rem}}.vp-feature-details{margin:0;line-height:1.4}.vp-footer-wrapper{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-evenly;padding-top:.75rem;padding-bottom:.75rem;padding-inline-start:calc(var(--sidebar-space) + 2rem);padding-inline-end:2rem;border-top:1px solid var(--border-color);background:var(--bg-color);color:var(--dark-grey);text-align:center;transition:border-top-color var(--color-transition),background var(--color-transition),padding var(--transform-transition)}@media (max-width: 719px){.vp-footer-wrapper{padding-inline-start:2rem}}@media (min-width: 1440px){.vp-footer-wrapper{z-index:50;padding-inline-start:2rem}}@media print{.vp-footer-wrapper{margin:0!important;padding:0!important}}@media (max-width: 419px){.vp-footer-wrapper{display:block}}.no-sidebar .vp-footer-wrapper,.sidebar-collapsed .vp-footer-wrapper{padding-inline-start:2rem}.vp-footer{margin:.5rem 1rem;font-size:14px}@media print{.vp-footer{display:none}}.vp-copyright{margin:6px 0;font-size:13px}.vp-page:not(.not-found)+.vp-footer-wrapper{margin-top:-2rem}.vp-hero-info-wrapper{position:relative;display:flex;align-items:center;justify-content:center;margin-inline-start:auto;margin-inline-end:auto}.vp-hero-info-wrapper.fullscreen{height:calc(100vh - var(--navbar-height))!important}.vp-hero-info{z-index:1;width:100%;padding-inline-start:2.5rem;padding-inline-end:2.5rem}@media (max-width: 959px){.vp-hero-info{padding-inline-start:1.5em;padding-inline-end:1.5rem}}@media (min-width: 959px){.vp-hero-info{display:flex;align-items:center;justify-content:space-evenly}}.vp-hero-mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-position:50%;background-size:cover}.vp-hero-mask:after{content:" ";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:block}.vp-hero-mask.light{display:block}html[data-theme=dark] .vp-hero-mask.light,.vp-hero-mask.dark{display:none}html[data-theme=dark] .vp-hero-mask.dark{display:block}.vp-hero-infos{z-index:1;margin:0 .5rem}.vp-hero-image{display:block;max-width:100%;max-height:18rem;margin:1rem}@media (max-width: 959px){.vp-hero-image{margin:2rem auto}}@media (max-width: 719px){.vp-hero-image{max-height:16rem;margin:1.5rem auto}}@media (max-width: 419px){.vp-hero-image{max-height:14rem}}.vp-hero-image.light{display:block}html[data-theme=dark] .vp-hero-image.light,.vp-hero-image.dark{display:none}html[data-theme=dark] .vp-hero-image.dark{display:block}#main-title{margin:.5rem 0;background:linear-gradient(120deg,var(--theme-color-light),var(--theme-color) 30%,#7e21f3 100%);-webkit-background-clip:text;background-clip:text;font-weight:700;font-size:3.6rem;font-family:var(--font-family);line-height:1.5;-webkit-text-fill-color:transparent}@media (max-width: 719px){#main-title{margin:0}}@media (max-width: 959px){#main-title{font-size:2.5rem;text-align:center}}@media (max-width: 719px){#main-title{font-size:2.25rem;text-align:center}}@media (max-width: 419px){#main-title{margin:0 auto;font-size:2rem}}.vp-description,.vp-actions{margin:1.8rem 0}@media (max-width: 719px){.vp-description,.vp-actions{margin:1.5rem 0}}@media (max-width: 959px){.vp-description,.vp-actions{margin:1.5rem auto;text-align:center}}@media (max-width: 419px){.vp-description,.vp-actions{margin:1.2rem 0}}.vp-description{max-width:35rem;color:var(--text-color-light);font-weight:500;font-size:1.6rem;line-height:1.3}@media (max-width: 719px){.vp-description{font-size:1.4rem}}@media (max-width: 419px){.vp-description{font-size:1.2rem}}.vp-action{display:inline-block;overflow:hidden;min-width:4rem;margin:.5rem;padding:.5em 1.5rem;border-radius:2rem;background:var(--bg-color-secondary);color:var(--text-color);font-size:1.2rem;text-align:center;transition:color var(--color-transition),color var(--color-transition),transform var(--transform-transition)}@media (max-width: 719px){.vp-action{padding:.5rem 1rem;font-size:1.1rem}}@media (max-width: 419px){.vp-action{font-size:1rem}}@media print{.vp-action{text-decoration:none}}.vp-action:hover{background:var(--bg-color-tertiary)}.vp-action.primary{border-color:var(--theme-color);background:var(--theme-color);color:var(--white)}.vp-action.primary:hover{border-color:var(--theme-color-light);background:var(--theme-color-light)}.vp-project-home:not(.pure) .vp-action:active{transform:scale(.96)}.vp-highlight-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.vp-highlight-wrapper:nth-child(2n) .vp-highlight{flex-direction:row-reverse}.vp-highlight{z-index:1;display:flex;flex:1;align-items:center;justify-content:flex-end;max-width:var(--home-page-width);margin:0 auto;padding:1.5rem 2.5rem;color:#222}@media (max-width: 719px){.vp-highlight{display:block;padding-inline-start:1.5rem;padding-inline-end:1.5rem;text-align:center}}html[data-theme=dark] .vp-highlight{color:#eee}.vp-highlight-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-attachment:fixed;background-position:50%;background-size:cover}.vp-highlight-bg.light{display:inline-block}.vp-highlight-bg.dark,html[data-theme=dark] .vp-highlight-bg.light{display:none}html[data-theme=dark] .vp-highlight-bg.dark{display:inline-block}.vp-highlight-image{width:12rem;margin:2rem 4rem}@media (max-width: 959px){.vp-highlight-image{width:10rem}}@media (max-width: 719px){.vp-highlight-image{width:8rem;margin:0 auto}}.vp-highlight-image.light{display:inline-block}.vp-highlight-image.dark,html[data-theme=dark] .vp-highlight-image.light{display:none}html[data-theme=dark] .vp-highlight-image.dark{display:inline-block}.vp-highlight-info-wrapper{display:flex;flex:1;justify-content:center;padding:2rem}@media (max-width: 719px){.vp-highlight-info-wrapper{padding:1rem 0}}.vp-highlight-info-wrapper:only-child{flex:1 0 100%}.vp-highlight-info{text-align:start}.vp-highlight-header{margin-bottom:1.5rem;border-bottom:none;font-size:3rem;font-family:var(--font-family)}@media (max-width: 959px){.vp-highlight-header{font-size:2.5rem}}@media (max-width: 719px){.vp-highlight-header{font-size:2.25rem;text-align:center}}@media (max-width: 419px){.vp-highlight-header{font-size:2rem}}.vp-highlight-description{font-size:1.125rem}.vp-highlights{margin-inline-start:-1.25em;padding-inline-start:0}.vp-highlight-item-wrapper{padding:.5em .5em .5em 1.75em;border-radius:.5rem;list-style:none}.vp-highlight-item-wrapper.link{cursor:pointer}.vp-highlight-item-wrapper:hover{background-color:var(--bg-color-secondary);box-shadow:0 2px 12px 0 var(--card-shadow);transition:transform var(--transform-transition);transform:translate(-2px,-2px)}.vp-highlight-bg+.vp-highlight .vp-highlight-item-wrapper:hover{background-color:transparent}.vp-highlight-item-wrapper::marker{font-weight:700}.vp-highlight-item{display:list-item;color:inherit;list-style:initial}@media print{.vp-highlight-item{text-decoration:none}}.vp-highlight-title{margin:0;font-weight:600;font-size:1.125rem;font-family:var(--font-family)}.vp-highlight-title .icon{margin-inline-end:.25em}.vp-highlight-details{margin:.5rem 0 0}.vp-project-home{--content-width: var(--home-page-width);display:block;flex:1;padding-top:var(--navbar-height)}@media screen{.vp-project-home .vp-hero-info-wrapper:not(.fullscreen) .vp-hero-info{max-width:var(--home-page-width)}}@media screen{.vp-project-home .vp-feature{max-width:var(--home-page-width)}}.vp-project-home .theme-hope-content{padding-bottom:1.5rem!important}.vp-project-home .theme-hope-content:empty{padding:0!important}.not-found-hint{padding:2rem}.not-found-hint .error-code{margin:0;font-weight:700;font-size:4rem;line-height:4rem}.not-found-hint .error-title{font-weight:700}.not-found-hint .error-hint{margin:0;padding:12px 0;font-weight:600;font-size:20px;line-height:20px;letter-spacing:2px}.vp-page.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;width:100vw;max-width:var(--home-page-width);margin:0 auto;padding:calc(var(--navbar-height) + 1rem) 1rem 1rem!important;text-align:center}.vp-page.not-found .action-button{display:inline-block;box-sizing:border-box;margin:.25rem;padding:.75rem 1rem;border-width:0;border-bottom:1px solid var(--theme-color-dark);border-radius:3rem;background:var(--theme-color);color:var(--white);outline:none;font-size:1rem;transition:background .1s ease}.vp-page.not-found .action-button:hover{background:var(--theme-color-light);cursor:pointer}.vp-page-nav{display:flex;flex-wrap:wrap;min-height:2rem;margin-top:0;padding-top:.5rem;padding-bottom:.5rem;padding-inline-start:2rem;padding-inline-end:2rem;border-top:1px solid var(--border-color);transition:border-top var(--color-transition)}@media (max-width: 959px){.vp-page-nav{padding-inline-start:1rem;padding-inline-end:1rem}}@media print{.vp-page-nav{display:none}}.vp-page-nav .nav-link{display:inline-block;flex-grow:1;margin:.25rem;padding:.25rem .5rem;border:1px solid var(--border-color);border-radius:.25rem}.vp-page-nav .nav-link:hover{background:var(--bg-color-secondary)}.vp-page-nav .nav-link .hint{color:var(--light-grey);font-size:.875rem;line-height:2}.vp-page-nav .nav-link .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");line-height:normal;transition:all .3s;font-size:.75rem}html[data-theme=dark] .vp-page-nav .nav-link .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-page-nav .nav-link .arrow.down{transform:rotate(180deg)}html[dir=rtl] .vp-page-nav .nav-link .arrow.down{transform:rotate(-180deg)}.vp-page-nav .nav-link .arrow.end{transform:rotate(90deg)}html[dir=rtl] .vp-page-nav .nav-link .arrow.end,.vp-page-nav .nav-link .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .vp-page-nav .nav-link .arrow.start{transform:rotate(90deg)}.vp-page-nav .prev{text-align:start}.vp-page-nav .prev .icon{margin-inline-end:.25em}.vp-page-nav .next{text-align:end}.vp-page-nav .next .icon{margin-inline-start:.25em}.vp-page-title{max-width:var(--content-width, 740px);margin-inline-start:auto;margin-inline-end:auto;padding-inline-start:2.5rem;padding-inline-end:2.5rem;position:relative;z-index:1;padding-top:1rem;padding-bottom:0}@media (max-width: 959px){.vp-page-title{padding-inline-start:1.5rem;padding-inline-end:1.5rem}}@media print{.vp-page-title{max-width:unset}}@media print{.vp-page-title{padding-inline-start:0!important;padding-inline-end:0!important}}@media (max-width: 959px){.vp-page-title{padding-top:.5rem}}.vp-page-title h1{margin-top:calc(0px - var(--navbar-height))!important;margin-bottom:1rem;padding-top:var(--navbar-height)!important;font-size:2.2rem}@media (max-width: 959px){.vp-page-title h1{margin-bottom:.5rem}}.vp-page-title h1 .icon{margin-inline-end:.25em;color:var(--theme-color);font-size:.9em}.theme-hope-content:not(.custom){padding-top:0!important}.theme-hope-content:not(.custom) h1:first-child,.theme-hope-content:not(.custom) h2:first-child,.theme-hope-content:not(.custom) h3:first-child,.theme-hope-content:not(.custom) h4:first-child,.theme-hope-content:not(.custom) h5:first-child,.theme-hope-content:not(.custom) h6:first-child{margin-top:calc(.5rem - var(--navbar-height))!important;padding-top:var(--navbar-height)!important}.theme-hope-content:not(.custom)>h1:first-child{display:none}.vp-page{display:block;flex-grow:1;padding-bottom:2rem;transition:padding var(--transform-transition)}@media print{.vp-page{min-height:auto!important;margin:0!important;padding:0!important}}.page-cover{-o-object-fit:cover;object-fit:cover;width:calc(100% + 2rem);max-height:25vh;margin-left:-2rem}@media (max-width: 719px){.page-cover{width:100%;margin:0;border-radius:0}}@media (min-width: 1440px){.page-cover{width:calc(100% - 2rem);margin:0 1rem;border-radius:.5rem}}.page-cover .sidebar-collapsed{width:100%;margin-left:0}.vp-skip-link{top:.25rem;left:.25rem;z-index:999;padding:.65rem 1.5rem;border-radius:.5rem;background:var(--bg-color);color:var(--theme-color);box-shadow:var(--card-shadow);font-weight:700;font-size:.9em;text-decoration:none}@media print{.vp-skip-link{display:none}}.vp-skip-link:focus{clip:auto;width:auto;height:auto;-webkit-clip-path:none;clip-path:none}.theme-hope-content pre{overflow:auto;margin:.85rem 0;padding:1rem;border-radius:6px;line-height:1.375}.theme-hope-content pre code{padding:0;border-radius:0;background:transparent!important;color:var(--code-color);font-family:var(--font-family-mono);text-align:left;white-space:pre;word-spacing:normal;word-wrap:normal;word-break:normal;overflow-wrap:unset;-webkit-hyphens:none;hyphens:none;transition:color var(--color-transition);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}@media print{.theme-hope-content pre code{white-space:pre-wrap}}.theme-hope-content .line-number{font-family:var(--font-family-mono)}div[class*=language-]{position:relative;border-radius:6px;background:var(--code-bg-color);transition:background var(--color-transition)}@media (max-width: 419px){.theme-hope-content>div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}div[class*=language-]:before{content:attr(data-ext);position:absolute;top:0;right:1em;z-index:3;color:var(--code-line-color);font-size:.75rem;transition:color var(--color-transition)}div[class*=language-] pre{position:relative;z-index:1}div[class*=language-] .highlight-lines{position:absolute;top:0;left:0;width:100%;padding-top:1rem;line-height:1.375;-webkit-user-select:none;-moz-user-select:none;user-select:none}div[class*=language-] .highlight-line{background:var(--code-highlight-line-color);transition:background var(--color-transition)}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;top:0;left:0;z-index:2;width:var(--line-numbers-width);height:100%;border-right:1px solid var(--code-highlight-line-color);border-radius:6px 0 0 6px;transition:border-color var(--color-transition)}@media (max-width: 419px){div[class*=language-].line-numbers-mode:after{border-radius:0}}@media print{div[class*=language-].line-numbers-mode:after{display:none}}div[class*=language-].line-numbers-mode .highlight-line{position:relative}div[class*=language-].line-numbers-mode .highlight-line:before{content:" ";position:absolute;top:0;left:0;z-index:3;display:block;width:var(--line-numbers-width);height:100%}div[class*=language-].line-numbers-mode pre{vertical-align:middle;margin-left:var(--line-numbers-width);padding-left:.5rem}@media print{div[class*=language-].line-numbers-mode pre{margin-left:0;padding-left:1rem}}div[class*=language-].line-numbers-mode .line-numbers{position:absolute;top:0;left:0;width:var(--line-numbers-width);padding:1rem 0;color:var(--code-line-color);line-height:1.375;counter-reset:line-number;text-align:center;transition:color var(--color-transition);transform:translateY(1px)}@media print{div[class*=language-].line-numbers-mode .line-numbers{display:none}}div[class*=language-].line-numbers-mode .line-number{position:relative;z-index:4;height:1.375em;-webkit-user-select:none;-moz-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-number:before{content:counter(line-number);font-size:.85em;counter-increment:line-number}div[class*=language-]:not(.line-numbers-mode) .line-numbers{display:none}html[data-theme=light] #app{--code-color: #383a42;--code-line-color: rgba(56, 58, 66, .67);--code-bg-color: #ecf4fa;--code-border-color: #c3def3;--code-highlight-line-color: #d8e9f6}html[data-theme=light] code[class*=language-],html[data-theme=light] pre[class*=language-]{-moz-tab-size:2;-o-tab-size:2;tab-size:2}html[data-theme=light] code[class*=language-]::-moz-selection,html[data-theme=light] code[class*=language-] ::-moz-selection,html[data-theme=light] pre[class*=language-]::-moz-selection,html[data-theme=light] pre[class*=language-] ::-moz-selection{background:#e5e5e6;color:inherit}html[data-theme=light] code[class*=language-]::selection,html[data-theme=light] code[class*=language-] ::selection,html[data-theme=light] pre[class*=language-]::selection,html[data-theme=light] pre[class*=language-] ::selection{background:#e5e5e6;color:inherit}html[data-theme=light] .token.comment,html[data-theme=light] .token.prolog,html[data-theme=light] .token.cdata{color:#a0a1a7}html[data-theme=light] .token.doctype,html[data-theme=light] .token.punctuation,html[data-theme=light] .token.entity{color:#383a42}html[data-theme=light] .token.attr-name,html[data-theme=light] .token.class-name,html[data-theme=light] .token.boolean,html[data-theme=light] .token.constant,html[data-theme=light] .token.number,html[data-theme=light] .token.atrule{color:#b76b01}html[data-theme=light] .token.keyword{color:#a626a4}html[data-theme=light] .token.property,html[data-theme=light] .token.tag,html[data-theme=light] .token.symbol,html[data-theme=light] .token.deleted,html[data-theme=light] .token.important{color:#e45649}html[data-theme=light] .token.selector,html[data-theme=light] .token.string,html[data-theme=light] .token.char,html[data-theme=light] .token.builtin,html[data-theme=light] .token.inserted,html[data-theme=light] .token.regex,html[data-theme=light] .token.attr-value,html[data-theme=light] .token.attr-value>.token.punctuation{color:#50a14f}html[data-theme=light] .token.variable,html[data-theme=light] .token.operator,html[data-theme=light] .token.function{color:#4078f2}html[data-theme=light] .token.url{color:#0184bc}html[data-theme=light] .token.attr-value>.token.punctuation.attr-equals,html[data-theme=light] .token.special-attr>.token.attr-value>.token.value.css{color:#383a42}html[data-theme=light] .language-css .token.selector{color:#e45649}html[data-theme=light] .language-css .token.property{color:#383a42}html[data-theme=light] .language-css .token.function,html[data-theme=light] .language-css .token.url>.token.function{color:#0184bc}html[data-theme=light] .language-css .token.url>.token.string.url{color:#50a14f}html[data-theme=light] .language-css .token.important,html[data-theme=light] .language-css .token.atrule .token.rule,html[data-theme=light] .language-javascript .token.operator{color:#a626a4}html[data-theme=light] .language-javascript .token.template-string>.token.interpolation>.token.interpolation-punctuation.punctuation{color:#ca1243}html[data-theme=light] .language-json .token.operator{color:#383a42}html[data-theme=light] .language-json .token.null.keyword{color:#b76b01}html[data-theme=light] .language-markdown .token.url,html[data-theme=light] .language-markdown .token.url>.token.operator,html[data-theme=light] .language-markdown .token.url-reference.url>.token.string{color:#383a42}html[data-theme=light] .language-markdown .token.url>.token.content{color:#4078f2}html[data-theme=light] .language-markdown .token.url>.token.url,html[data-theme=light] .language-markdown .token.url-reference.url{color:#0184bc}html[data-theme=light] .language-markdown .token.blockquote.punctuation,html[data-theme=light] .language-markdown .token.hr.punctuation{color:#a0a1a7;font-style:italic}html[data-theme=light] .language-markdown .token.code-snippet{color:#50a14f}html[data-theme=light] .language-markdown .token.bold .token.content{color:#b76b01}html[data-theme=light] .language-markdown .token.italic .token.content{color:#a626a4}html[data-theme=light] .language-markdown .token.strike .token.content,html[data-theme=light] .language-markdown .token.strike .token.punctuation,html[data-theme=light] .language-markdown .token.list.punctuation,html[data-theme=light] .language-markdown .token.title.important>.token.punctuation{color:#e45649}html[data-theme=light] .token.bold{font-weight:700}html[data-theme=light] .token.comment,html[data-theme=light] .token.italic{font-style:italic}html[data-theme=light] .token.entity{cursor:help}html[data-theme=light] .token.namespace{opacity:.8}html[data-theme=dark] #app{--code-color: #abb2bf;--code-line-color: rgba(171, 178, 191, .67);--code-bg-color: #282c34;--code-border-color: #343e51;--code-highlight-line-color: #2f3542}html[data-theme=dark] code[class*=language-],html[data-theme=dark] pre[class*=language-]{text-shadow:0 1px rgba(0,0,0,.3);-moz-tab-size:2;-o-tab-size:2;tab-size:2}@media print{html[data-theme=dark] code[class*=language-],html[data-theme=dark] pre[class*=language-]{text-shadow:none}}html[data-theme=dark] code[class*=language-]::-moz-selection,html[data-theme=dark] code[class*=language-] ::-moz-selection,html[data-theme=dark] pre[class*=language-]::-moz-selection,html[data-theme=dark] pre[class*=language-] ::-moz-selection{background:#3e4451;color:inherit;text-shadow:none}html[data-theme=dark] code[class*=language-]::selection,html[data-theme=dark] code[class*=language-] ::selection,html[data-theme=dark] pre[class*=language-]::selection,html[data-theme=dark] pre[class*=language-] ::selection{background:#3e4451;color:inherit;text-shadow:none}html[data-theme=dark] .token.comment,html[data-theme=dark] .token.prolog,html[data-theme=dark] .token.cdata{color:#5c6370}html[data-theme=dark] .token.doctype,html[data-theme=dark] .token.punctuation,html[data-theme=dark] .token.entity{color:#abb2bf}html[data-theme=dark] .token.attr-name,html[data-theme=dark] .token.class-name,html[data-theme=dark] .token.boolean,html[data-theme=dark] .token.constant,html[data-theme=dark] .token.number,html[data-theme=dark] .token.atrule{color:#d19a66}html[data-theme=dark] .token.keyword{color:#c678dd}html[data-theme=dark] .token.property,html[data-theme=dark] .token.tag,html[data-theme=dark] .token.symbol,html[data-theme=dark] .token.deleted,html[data-theme=dark] .token.important{color:#e06c75}html[data-theme=dark] .token.selector,html[data-theme=dark] .token.string,html[data-theme=dark] .token.char,html[data-theme=dark] .token.builtin,html[data-theme=dark] .token.inserted,html[data-theme=dark] .token.regex,html[data-theme=dark] .token.attr-value,html[data-theme=dark] .token.attr-value>.token.punctuation{color:#98c379}html[data-theme=dark] .token.variable,html[data-theme=dark] .token.operator,html[data-theme=dark] .token.function{color:#61afef}html[data-theme=dark] .token.url{color:#56b6c2}html[data-theme=dark] .token.attr-value>.token.punctuation.attr-equals,html[data-theme=dark] .token.special-attr>.token.attr-value>.token.value.css{color:#abb2bf}html[data-theme=dark] .language-css .token.selector{color:#e06c75}html[data-theme=dark] .language-css .token.property{color:#abb2bf}html[data-theme=dark] .language-css .token.function,html[data-theme=dark] .language-css .token.url>.token.function{color:#56b6c2}html[data-theme=dark] .language-css .token.url>.token.string.url{color:#98c379}html[data-theme=dark] .language-css .token.important,html[data-theme=dark] .language-css .token.atrule .token.rule,html[data-theme=dark] .language-javascript .token.operator{color:#c678dd}html[data-theme=dark] .language-javascript .token.template-string>.token.interpolation>.token.interpolation-punctuation.punctuation{color:#be5046}html[data-theme=dark] .language-json .token.operator{color:#abb2bf}html[data-theme=dark] .language-json .token.null.keyword{color:#d19a66}html[data-theme=dark] .language-markdown .token.url,html[data-theme=dark] .language-markdown .token.url>.token.operator,html[data-theme=dark] .language-markdown .token.url-reference.url>.token.string{color:#abb2bf}html[data-theme=dark] .language-markdown .token.url>.token.content{color:#61afef}html[data-theme=dark] .language-markdown .token.url>.token.url,html[data-theme=dark] .language-markdown .token.url-reference.url{color:#56b6c2}html[data-theme=dark] .language-markdown .token.blockquote.punctuation,html[data-theme=dark] .language-markdown .token.hr.punctuation{color:#5c6370;font-style:italic}html[data-theme=dark] .language-markdown .token.code-snippet{color:#98c379}html[data-theme=dark] .language-markdown .token.bold .token.content{color:#d19a66}html[data-theme=dark] .language-markdown .token.italic .token.content{color:#c678dd}html[data-theme=dark] .language-markdown .token.strike .token.content,html[data-theme=dark] .language-markdown .token.strike .token.punctuation,html[data-theme=dark] .language-markdown .token.list.punctuation,html[data-theme=dark] .language-markdown .token.title.important>.token.punctuation{color:#e06c75}html[data-theme=dark] .token.bold{font-weight:700}html[data-theme=dark] .token.comment,html[data-theme=dark] .token.italic{font-style:italic}html[data-theme=dark] .token.entity{cursor:help}html[data-theme=dark] .token.namespace{opacity:.8}.sr-only{position:absolute;overflow:hidden;clip:rect(0,0,0,0);width:1px;height:1px;margin:-1px;padding:0;border-width:0;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media print{.theme-hope-content{margin:0!important;padding-inline-start:0!important;padding-inline-end:0!important}}.theme-hope-content.custom{margin:0;padding:0}.theme-hope-content:not(.custom){max-width:var(--content-width, 740px);margin:0 auto;padding:2rem 2.5rem;padding-top:0}@media (max-width: 959px){.theme-hope-content:not(.custom){padding:1.5rem}}@media (max-width: 419px){.theme-hope-content:not(.custom){padding:1rem 1.5rem}}@media print{.theme-hope-content:not(.custom){max-width:unset}}.theme-hope-content:not(.custom)>h1,.theme-hope-content:not(.custom)>h2,.theme-hope-content:not(.custom)>h3,.theme-hope-content:not(.custom)>h4,.theme-hope-content:not(.custom)>h5,.theme-hope-content:not(.custom)>h6{margin-top:calc(.5rem - var(--navbar-height));margin-bottom:.5rem;padding-top:calc(1rem + var(--navbar-height));outline:none}.theme-container.no-navbar .theme-hope-content:not(.custom)>h1,.theme-container.no-navbar .theme-hope-content:not(.custom)>h2,.theme-container.no-navbar .theme-hope-content:not(.custom)>h3,.theme-container.no-navbar .theme-hope-content:not(.custom)>h4,.theme-container.no-navbar .theme-hope-content:not(.custom)>h5,.theme-container.no-navbar .theme-hope-content:not(.custom)>h6{margin-top:1.5rem;padding-top:0}.theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p{text-align:justify;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}@media (max-width: 419px){.theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p{text-align:start}}@media print{.theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p{text-align:start}}.theme-hope-content a:hover{text-decoration:underline}.theme-hope-content img{max-width:100%}@media (min-width: 1280px){.chart-wrapper::-webkit-scrollbar,.flowchart-wrapper::-webkit-scrollbar,.mermaid-wrapper::-webkit-scrollbar{width:8px;height:8px}.chart-wrapper::-webkit-scrollbar-track-piece,.flowchart-wrapper::-webkit-scrollbar-track-piece,.mermaid-wrapper::-webkit-scrollbar-track-piece{border-radius:8px;background:rgba(0,0,0,.1)}}html[dir=rtl] a.header-anchor{float:right}#docsearch-container{min-width:145.7px!important}@media (max-width: 959px){#docsearch-container{min-width:36px!important}}.DocSearch.DocSearch-Button{margin-left:0}@media (max-width: 959px){.DocSearch.DocSearch-Button{min-width:36px!important}}.DocSearch .DocSearch-Button-Placeholder{display:inline-block;padding:4px 12px 4px 6px;font-size:14px}@media (max-width: 719px){.DocSearch .DocSearch-Button-Placeholder{display:none}}.DocSearch .DocSearch-Search-Icon{width:1.25em;height:1.25em}@media (max-width: 959px){.DocSearch .DocSearch-Button-Keys{display:none}}.DocSearch .DocSearch-Button-Key{background:var(--bg-color);box-shadow:none}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track-piece{border-radius:6px;background:rgba(0,0,0,.1)}::-webkit-scrollbar-thumb{border-radius:6px;background:var(--theme-color)}::-webkit-scrollbar-thumb:active{background:var(--theme-color-light)}@media (max-width: 719px){.hide-in-mobile{display:none!important}}@media (max-width: 959px){.hide-in-pad{display:none!important}}.page-author-item{display:inline-block;margin:0 4px;font-weight:400;overflow-wrap:break-word}.page-category-info{flex-wrap:wrap}.page-category-item{display:inline-block;margin:.125em .25em;padding:0 .25em;border-radius:.25em;background:var(--bg-color-secondary);color:var(--text-color-light);font-weight:700;font-size:.75rem;line-height:2;transition:background var(--color-transition),color var(--color-transition)}@media print{.page-category-item{padding:0;font-weight:400}.page-category-item:after{content:", "}.page-category-item:last-of-type:after{content:""}}.page-category-item.clickable>span:hover{color:var(--theme-color);cursor:pointer}.page-category-item.category0{background:#fde5e7;color:#ec2f3e}html[data-theme=dark] .page-category-item.category0{background:#340509;color:#ba111f}.page-category-item.category0:hover{background:#f9bec3}html[data-theme=dark] .page-category-item.category0:hover{background:#53080e}.page-category-item.category1{background:#ffeee8;color:#fb7649}html[data-theme=dark] .page-category-item.category1{background:#441201;color:#f54205}.page-category-item.category1:hover{background:#fed4c6}html[data-theme=dark] .page-category-item.category1:hover{background:#6d1d02}.page-category-item.category2{background:#fef5e7;color:#f5b041}html[data-theme=dark] .page-category-item.category2{background:#3e2703;color:#e08e0b}.page-category-item.category2:hover{background:#fce6c4}html[data-theme=dark] .page-category-item.category2:hover{background:#633f05}.page-category-item.category3{background:#eafaf1;color:#55d98d}html[data-theme=dark] .page-category-item.category3{background:#0c331c;color:#29b866}.page-category-item.category3:hover{background:#caf3db}html[data-theme=dark] .page-category-item.category3:hover{background:#12522d}.page-category-item.category4{background:#e6f9ee;color:#36d278}html[data-theme=dark] .page-category-item.category4{background:#092917;color:#219552}.page-category-item.category4:hover{background:#c0f1d5}html[data-theme=dark] .page-category-item.category4:hover{background:#0f4224}.page-category-item.category5{background:#e1fcfc;color:#16e1e1}html[data-theme=dark] .page-category-item.category5{background:#042929;color:#0e9595}.page-category-item.category5:hover{background:#b4f8f8}html[data-theme=dark] .page-category-item.category5:hover{background:#064242}.page-category-item.category6{background:#e4f0fe;color:#2589f6}html[data-theme=dark] .page-category-item.category6{background:#021b36;color:#0862c3}.page-category-item.category6:hover{background:#bbdafc}html[data-theme=dark] .page-category-item.category6:hover{background:#042c57}.page-category-item.category7{background:#f7f1fd;color:#bb8ced}html[data-theme=dark] .page-category-item.category7{background:#2a0b4b;color:#9851e4}.page-category-item.category7:hover{background:#eadbfa}html[data-theme=dark] .page-category-item.category7:hover{background:#431277}.page-category-item.category8{background:#fdeaf5;color:#ef59ab}html[data-theme=dark] .page-category-item.category8{background:#400626;color:#e81689}.page-category-item.category8:hover{background:#facbe5}html[data-theme=dark] .page-category-item.category8:hover{background:#670a3d}.page-original-info{position:relative;display:inline-block;vertical-align:middle;overflow:hidden;padding:0 .5em;border:.5px solid var(--dark-grey);border-radius:.75em;background:var(--bg-color);font-size:.75em;line-height:1.5!important}.page-info{display:flex;flex-wrap:wrap;align-content:stretch;align-items:center;justify-content:flex-start;color:var(--dark-grey);font-size:14px}@media print{.page-info{display:flex!important}}.page-info>span{display:flex;align-items:center;max-width:100%;margin-inline-end:.5em;line-height:2}@media (min-width: 1440px){.page-info>span{font-size:1.1em}}@media (max-width: 419px){.page-info>span{margin-inline-end:.3em;font-size:.875em}}@media print{.page-info>span{display:flex!important}}.page-info .icon{position:relative;display:inline-block;vertical-align:middle;width:1em;height:1em;margin-inline-end:.25em}.page-info a{color:inherit}.page-info a:hover,.page-info a:active{color:var(--theme-color)}.page-meta{max-width:var(--content-width, 740px);margin-inline-start:auto;margin-inline-end:auto;padding-inline-start:2.5rem;padding-inline-end:2.5rem;display:flex;flex-wrap:wrap;justify-content:space-between;overflow:auto;padding-top:.75rem;padding-bottom:.75rem}@media (max-width: 959px){.page-meta{padding-inline-start:1.5rem;padding-inline-end:1.5rem}}@media print{.page-meta{max-width:unset}}@media print{.page-meta{margin:0!important;padding-inline-start:0!important;padding-inline-end:0!important}}@media (max-width: 719px){.page-meta{display:block}}.page-meta .meta-item{flex-grow:1}.page-meta .meta-item .label{font-weight:500}.page-meta .meta-item .label:not(a){color:var(--text-color-lighter)}.page-meta .meta-item .info{color:var(--dark-grey);font-weight:400}.page-meta .git-info{text-align:end}.page-meta .edit-link{margin-top:.25rem;margin-bottom:.25rem;margin-inline-end:.5rem;font-size:14px}@media print{.page-meta .edit-link{display:none}}.page-meta .edit-link .icon{position:relative;bottom:-.125em;width:1em;height:1em;margin-inline-end:.25em}.page-meta .update-time,.page-meta .contributors{margin-top:.25rem;margin-bottom:.25rem;font-size:14px}@media (max-width: 719px){.page-meta .update-time,.page-meta .contributors{font-size:13px;text-align:start}}.print-button{border-width:0;background:transparent;cursor:pointer;box-sizing:content-box;width:1rem;height:1rem;padding:.5rem;border-radius:.25em;color:inherit;font-size:1rem;transform:translateY(.25rem)}@media print{.print-button{display:none}}.page-tag-info{flex-wrap:wrap}.page-tag-item{position:relative;display:inline-block;vertical-align:middle;overflow:hidden;min-width:1.5rem;margin:.125rem;padding:.125rem .25rem .125rem .625rem;background:var(--bg-color-secondary);background:linear-gradient(135deg,transparent .75em,var(--bg-color-secondary) 0) top,linear-gradient(45deg,transparent .75em,var(--bg-color-secondary) 0) bottom;background-size:100% 52%!important;background-repeat:no-repeat!important;color:var(--text-color-light);font-weight:700;font-size:.625rem;line-height:1.5;text-align:center;transition:background var(--color-transition),color var(--color-transition)}@media print{.page-tag-item{padding:0;font-weight:400}.page-tag-item:after{content:", "}.page-tag-item:last-of-type:after{content:""}}.page-tag-item.clickable:hover{cursor:pointer}.page-tag-item.tag0{background:#fde5e7;background:linear-gradient(135deg,transparent .75em,#fde5e7 0) top,linear-gradient(45deg,transparent .75em,#fde5e7 0) bottom;color:#ec2f3e}html[data-theme=dark] .page-tag-item.tag0{background:#340509;background:linear-gradient(135deg,transparent .75em,#340509 0) top,linear-gradient(45deg,transparent .75em,#340509 0) bottom;color:#ba111f}.page-tag-item.tag0.clickable:hover{background:#f9bec3;background:linear-gradient(135deg,transparent .75em,#f9bec3 0) top,linear-gradient(45deg,transparent .75em,#f9bec3 0) bottom}html[data-theme=dark] .page-tag-item.tag0.clickable:hover{background:#53080e;background:linear-gradient(135deg,transparent .75em,#53080e 0) top,linear-gradient(45deg,transparent .75em,#53080e 0) bottom}.page-tag-item.tag1{background:#ffeee8;background:linear-gradient(135deg,transparent .75em,#ffeee8 0) top,linear-gradient(45deg,transparent .75em,#ffeee8 0) bottom;color:#fb7649}html[data-theme=dark] .page-tag-item.tag1{background:#441201;background:linear-gradient(135deg,transparent .75em,#441201 0) top,linear-gradient(45deg,transparent .75em,#441201 0) bottom;color:#f54205}.page-tag-item.tag1.clickable:hover{background:#fed4c6;background:linear-gradient(135deg,transparent .75em,#fed4c6 0) top,linear-gradient(45deg,transparent .75em,#fed4c6 0) bottom}html[data-theme=dark] .page-tag-item.tag1.clickable:hover{background:#6d1d02;background:linear-gradient(135deg,transparent .75em,#6d1d02 0) top,linear-gradient(45deg,transparent .75em,#6d1d02 0) bottom}.page-tag-item.tag2{background:#fef5e7;background:linear-gradient(135deg,transparent .75em,#fef5e7 0) top,linear-gradient(45deg,transparent .75em,#fef5e7 0) bottom;color:#f5b041}html[data-theme=dark] .page-tag-item.tag2{background:#3e2703;background:linear-gradient(135deg,transparent .75em,#3e2703 0) top,linear-gradient(45deg,transparent .75em,#3e2703 0) bottom;color:#e08e0b}.page-tag-item.tag2.clickable:hover{background:#fce6c4;background:linear-gradient(135deg,transparent .75em,#fce6c4 0) top,linear-gradient(45deg,transparent .75em,#fce6c4 0) bottom}html[data-theme=dark] .page-tag-item.tag2.clickable:hover{background:#633f05;background:linear-gradient(135deg,transparent .75em,#633f05 0) top,linear-gradient(45deg,transparent .75em,#633f05 0) bottom}.page-tag-item.tag3{background:#eafaf1;background:linear-gradient(135deg,transparent .75em,#eafaf1 0) top,linear-gradient(45deg,transparent .75em,#eafaf1 0) bottom;color:#55d98d}html[data-theme=dark] .page-tag-item.tag3{background:#0c331c;background:linear-gradient(135deg,transparent .75em,#0c331c 0) top,linear-gradient(45deg,transparent .75em,#0c331c 0) bottom;color:#29b866}.page-tag-item.tag3.clickable:hover{background:#caf3db;background:linear-gradient(135deg,transparent .75em,#caf3db 0) top,linear-gradient(45deg,transparent .75em,#caf3db 0) bottom}html[data-theme=dark] .page-tag-item.tag3.clickable:hover{background:#12522d;background:linear-gradient(135deg,transparent .75em,#12522d 0) top,linear-gradient(45deg,transparent .75em,#12522d 0) bottom}.page-tag-item.tag4{background:#e6f9ee;background:linear-gradient(135deg,transparent .75em,#e6f9ee 0) top,linear-gradient(45deg,transparent .75em,#e6f9ee 0) bottom;color:#36d278}html[data-theme=dark] .page-tag-item.tag4{background:#092917;background:linear-gradient(135deg,transparent .75em,#092917 0) top,linear-gradient(45deg,transparent .75em,#092917 0) bottom;color:#219552}.page-tag-item.tag4.clickable:hover{background:#c0f1d5;background:linear-gradient(135deg,transparent .75em,#c0f1d5 0) top,linear-gradient(45deg,transparent .75em,#c0f1d5 0) bottom}html[data-theme=dark] .page-tag-item.tag4.clickable:hover{background:#0f4224;background:linear-gradient(135deg,transparent .75em,#0f4224 0) top,linear-gradient(45deg,transparent .75em,#0f4224 0) bottom}.page-tag-item.tag5{background:#e1fcfc;background:linear-gradient(135deg,transparent .75em,#e1fcfc 0) top,linear-gradient(45deg,transparent .75em,#e1fcfc 0) bottom;color:#16e1e1}html[data-theme=dark] .page-tag-item.tag5{background:#042929;background:linear-gradient(135deg,transparent .75em,#042929 0) top,linear-gradient(45deg,transparent .75em,#042929 0) bottom;color:#0e9595}.page-tag-item.tag5.clickable:hover{background:#b4f8f8;background:linear-gradient(135deg,transparent .75em,#b4f8f8 0) top,linear-gradient(45deg,transparent .75em,#b4f8f8 0) bottom}html[data-theme=dark] .page-tag-item.tag5.clickable:hover{background:#064242;background:linear-gradient(135deg,transparent .75em,#064242 0) top,linear-gradient(45deg,transparent .75em,#064242 0) bottom}.page-tag-item.tag6{background:#e4f0fe;background:linear-gradient(135deg,transparent .75em,#e4f0fe 0) top,linear-gradient(45deg,transparent .75em,#e4f0fe 0) bottom;color:#2589f6}html[data-theme=dark] .page-tag-item.tag6{background:#021b36;background:linear-gradient(135deg,transparent .75em,#021b36 0) top,linear-gradient(45deg,transparent .75em,#021b36 0) bottom;color:#0862c3}.page-tag-item.tag6.clickable:hover{background:#bbdafc;background:linear-gradient(135deg,transparent .75em,#bbdafc 0) top,linear-gradient(45deg,transparent .75em,#bbdafc 0) bottom}html[data-theme=dark] .page-tag-item.tag6.clickable:hover{background:#042c57;background:linear-gradient(135deg,transparent .75em,#042c57 0) top,linear-gradient(45deg,transparent .75em,#042c57 0) bottom}.page-tag-item.tag7{background:#f7f1fd;background:linear-gradient(135deg,transparent .75em,#f7f1fd 0) top,linear-gradient(45deg,transparent .75em,#f7f1fd 0) bottom;color:#bb8ced}html[data-theme=dark] .page-tag-item.tag7{background:#2a0b4b;background:linear-gradient(135deg,transparent .75em,#2a0b4b 0) top,linear-gradient(45deg,transparent .75em,#2a0b4b 0) bottom;color:#9851e4}.page-tag-item.tag7.clickable:hover{background:#eadbfa;background:linear-gradient(135deg,transparent .75em,#eadbfa 0) top,linear-gradient(45deg,transparent .75em,#eadbfa 0) bottom}html[data-theme=dark] .page-tag-item.tag7.clickable:hover{background:#431277;background:linear-gradient(135deg,transparent .75em,#431277 0) top,linear-gradient(45deg,transparent .75em,#431277 0) bottom}.page-tag-item.tag8{background:#fdeaf5;background:linear-gradient(135deg,transparent .75em,#fdeaf5 0) top,linear-gradient(45deg,transparent .75em,#fdeaf5 0) bottom;color:#ef59ab}html[data-theme=dark] .page-tag-item.tag8{background:#400626;background:linear-gradient(135deg,transparent .75em,#400626 0) top,linear-gradient(45deg,transparent .75em,#400626 0) bottom;color:#e81689}.page-tag-item.tag8.clickable:hover{background:#facbe5;background:linear-gradient(135deg,transparent .75em,#facbe5 0) top,linear-gradient(45deg,transparent .75em,#facbe5 0) bottom}html[data-theme=dark] .page-tag-item.tag8.clickable:hover{background:#670a3d;background:linear-gradient(135deg,transparent .75em,#670a3d 0) top,linear-gradient(45deg,transparent .75em,#670a3d 0) bottom}.toc-place-holder{margin-inline-start:auto;margin-inline-end:auto;padding-inline-start:2.5rem;padding-inline-end:2.5rem;position:sticky;top:calc(var(--navbar-height) + 2rem);z-index:99;max-width:var(--content-width, 740px)}@media (max-width: 959px){.toc-place-holder{padding-inline-start:1.5rem;padding-inline-end:1.5rem}}@media print{.toc-place-holder{max-width:unset}}.toc-place-holder+.theme-hope-content:not(.custom){padding-top:0}#toc{position:absolute;left:calc(100% + 1rem);display:none;min-width:10rem;max-width:15rem}@media (min-width: 1440px){.has-toc #toc{display:block}}@media print{#toc{display:none!important}}html[dir=rtl] #toc{right:calc(100% + 1rem);left:unset}#toc .toc-header{margin-bottom:.75rem;margin-inline-start:.5rem;font-weight:600;font-size:.875rem}#toc .toc-wrapper{position:relative;overflow-x:hidden;overflow-y:auto;max-height:75vh;margin:0 .5rem;padding-inline-start:8px;text-overflow:ellipsis;white-space:nowrap;scroll-behavior:smooth}#toc .toc-wrapper::-webkit-scrollbar-track-piece{background:transparent}#toc .toc-wrapper::-webkit-scrollbar{width:3px}#toc .toc-wrapper::-webkit-scrollbar-thumb:vertical{background:#ddd}html[data-theme=dark] #toc .toc-wrapper::-webkit-scrollbar-thumb:vertical{background:#333}#toc .toc-wrapper:before{content:" ";position:absolute;top:0;bottom:0;left:0;z-index:-1;width:2px;background:var(--border-color)}html[dir=rtl] #toc .toc-wrapper:before{right:0;left:unset}#toc .toc-list{position:relative;margin:0;padding:0}#toc .toc-marker{content:" ";position:absolute;top:0;left:0;z-index:2;width:2px;height:1.7rem;background:var(--theme-color);transition:top var(--vp-tt)}html[dir=rtl] #toc .toc-marker{right:0;left:unset}#toc .toc-link{position:relative;display:block;overflow:hidden;max-width:100%;color:var(--light-grey);line-height:inherit;text-overflow:ellipsis;white-space:nowrap}#toc .toc-link.level2{padding-inline-start:0px;font-size:14px}#toc .toc-link.level3{padding-inline-start:8px;font-size:13px}#toc .toc-link.level4{padding-inline-start:16px;font-size:12px}#toc .toc-link.level5{padding-inline-start:24px;font-size:11px}#toc .toc-link.level6{padding-inline-start:32px;font-size:10px}#toc .toc-item{position:relative;box-sizing:border-box;height:1.7rem;padding:0 .5rem;list-style:none;line-height:1.7rem}#toc .toc-item:hover>.toc-link{color:var(--theme-color)}#toc .toc-item.active>.toc-link{color:var(--theme-color);font-weight:700}.dropdown-wrapper{cursor:pointer}.dropdown-wrapper:not(:hover) .arrow{transform:rotate(-180deg)}.dropdown-wrapper .dropdown-title{border-width:0;background:transparent;cursor:pointer;padding:0 .25rem;color:var(--dark-grey);font-weight:500;font-size:inherit;font-family:inherit;line-height:inherit;cursor:inherit}.dropdown-wrapper .dropdown-title:hover{border-color:transparent}.dropdown-wrapper .dropdown-title .icon{margin-inline-end:.25em;font-size:1em}.dropdown-wrapper .dropdown-title .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");line-height:normal;transition:all .3s;font-size:1.2em}html[data-theme=dark] .dropdown-wrapper .dropdown-title .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.dropdown-wrapper .dropdown-title .arrow.down{transform:rotate(180deg)}html[dir=rtl] .dropdown-wrapper .dropdown-title .arrow.down{transform:rotate(-180deg)}.dropdown-wrapper .dropdown-title .arrow.end{transform:rotate(90deg)}html[dir=rtl] .dropdown-wrapper .dropdown-title .arrow.end,.dropdown-wrapper .dropdown-title .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .dropdown-wrapper .dropdown-title .arrow.start{transform:rotate(90deg)}.dropdown-wrapper ul{margin:0;padding:0;list-style-type:none}.dropdown-wrapper .nav-dropdown{position:absolute;top:100%;right:0;overflow-y:auto;box-sizing:border-box;min-width:6rem;max-height:calc(100vh - var(--navbar-height));margin:0;padding:.5rem .75rem;border:1px solid var(--grey14);border-radius:.5rem;background:var(--bg-color);box-shadow:2px 2px 10px var(--card-shadow);text-align:start;white-space:nowrap;opacity:0;visibility:hidden;transition:all .18s ease-out;transform:scale(.9)}html[dir=rtl] .dropdown-wrapper .nav-dropdown{right:unset;left:0}.dropdown-wrapper:hover .nav-dropdown,.dropdown-wrapper.open .nav-dropdown{z-index:2;opacity:1;visibility:visible;transform:none}.dropdown-wrapper .nav-link{position:relative;display:block;margin-bottom:0;border-bottom:none;color:var(--dark-grey);font-weight:400;font-size:.875rem;line-height:1.7rem;transition:color var(--color-transition)}.dropdown-wrapper .nav-link:hover,.dropdown-wrapper .nav-link.active{color:var(--theme-color)}.dropdown-wrapper .dropdown-subtitle{margin:0;padding:.5rem .25rem 0;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;text-transform:uppercase;transition:color var(--color-transition)}.dropdown-wrapper .dropdown-subitem-wrapper{padding:0 0 .25rem}.dropdown-wrapper .dropdown-item{color:inherit;line-height:1.7rem}.dropdown-wrapper .dropdown-item:last-child .dropdown-subtitle{padding-top:0}.dropdown-wrapper .dropdown-item:last-child .dropdown-subitem-wrapper{padding-bottom:0}.nav-screen-dropdown-title{border-width:0;background:transparent;position:relative;display:flex;align-items:center;width:100%;padding:0;color:var(--dark-grey);font-size:inherit;font-family:inherit;text-align:start;cursor:pointer}.nav-screen-dropdown-title:hover,.nav-screen-dropdown-title.active{color:var(--text-color)}.nav-screen-dropdown-title .title{flex:1}.nav-screen-dropdown-title .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");line-height:normal;transition:all .3s}html[data-theme=dark] .nav-screen-dropdown-title .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.nav-screen-dropdown-title .arrow.down{transform:rotate(180deg)}html[dir=rtl] .nav-screen-dropdown-title .arrow.down{transform:rotate(-180deg)}.nav-screen-dropdown-title .arrow.end{transform:rotate(90deg)}html[dir=rtl] .nav-screen-dropdown-title .arrow.end,.nav-screen-dropdown-title .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .nav-screen-dropdown-title .arrow.start{transform:rotate(90deg)}.nav-screen-dropdown{overflow:hidden;margin:.5rem 0 0;padding:0;list-style:none;transition:transform .1s ease-out;transform:scaleY(1);transform-origin:top}.nav-screen-dropdown.hide{height:0;margin:0;transform:scaleY(0)}.nav-screen-dropdown .nav-link{position:relative;display:block;padding-inline-start:.5rem;font-weight:400;line-height:2}.nav-screen-dropdown .nav-link:hover,.nav-screen-dropdown .nav-link.active{color:var(--theme-color)}.nav-screen-dropdown .nav-link .icon{font-size:1em}.nav-screen-dropdown .dropdown-item{color:inherit;line-height:1.7rem}.nav-screen-dropdown .dropdown-subtitle{margin:0;padding-inline-start:.25rem;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;text-transform:uppercase;transition:color var(--color-transition)}.nav-screen-dropdown .dropdown-subtitle .nav-link{padding:0}.nav-screen-dropdown .dropdown-subitem-wrapper{margin:0;padding:0;list-style:none}.nav-screen-dropdown .dropdown-subitem{padding-inline-start:.5rem;font-size:.9em}.nav-screen-links{display:none;padding-bottom:.75rem}@media (max-width: 719px){.nav-screen-links{display:block}}.nav-screen-links .navbar-links-item{position:relative;display:block;padding:12px 4px 11px 0;border-bottom:1px solid var(--border-color);font-size:16px;line-height:1.5rem;transition:border-bottom-color var(--color-transition)}.nav-screen-links .nav-link{display:inline-block;width:100%;color:var(--dark-grey);font-weight:400}.nav-screen-links .nav-link:hover{color:var(--text-color)}.nav-screen-links .nav-link.active{color:var(--theme-color)}.vp-nav-screen-container{max-width:320px;margin:0 auto;padding:2rem 0 4rem}#nav-screen{position:fixed;top:var(--navbar-height);right:0;bottom:0;left:0;z-index:150;display:none;overflow-y:auto;padding:0 2rem;background:var(--bg-color);transition:background .5s}@media (max-width: 719px){#nav-screen{display:block}}#nav-screen.fade-enter-active,#nav-screen.fade-leave-active{transition:opacity .25s}#nav-screen.fade-enter-active .vp-nav-screen-container,#nav-screen.fade-leave-active .vp-nav-screen-container{transition:transform .25s ease}#nav-screen.fade-enter-from,#nav-screen.fade-leave-to{opacity:0}#nav-screen.fade-enter-from .vp-nav-screen-container,#nav-screen.fade-leave-to .vp-nav-screen-container{transform:translateY(-8px)}#nav-screen .icon{margin-inline-end:.25em}.vp-outlook-wrapper{display:flex;justify-content:space-around}.vp-nav-logo{vertical-align:top;height:var(--navbar-line-height);margin-inline-end:.8rem}.vp-nav-logo.light{display:inline-block}.vp-nav-logo.dark,html[data-theme=dark] .vp-nav-logo.light{display:none}html[data-theme=dark] .vp-nav-logo.dark{display:inline-block}.vp-site-name{position:relative;color:var(--text-color);font-size:1.25rem}@media (max-width: 719px){.vp-site-name{overflow:hidden;width:calc(100vw - 9.4rem);text-overflow:ellipsis;white-space:nowrap}}.vp-brand:hover .vp-site-name{color:var(--theme-color)}.vp-navbar .vp-nav-links{display:flex;align-items:center;font-size:.875rem}.vp-navbar .nav-item{position:relative;margin:0 .25rem;line-height:2rem}.vp-navbar .nav-item:first-child{margin-inline-start:0}.vp-navbar .nav-item:last-child{margin-inline-end:0}.vp-navbar .nav-item>.nav-link{color:var(--dark-grey)}.vp-navbar .nav-item>.nav-link:after{content:" ";position:absolute;right:50%;bottom:0;left:50%;height:2px;border-radius:1px;background:var(--theme-color-light);visibility:hidden;transition:left .2s ease-in-out,right .2s ease-in-out}.vp-navbar .nav-item>.nav-link.active{color:var(--theme-color)}.vp-navbar .nav-item>.nav-link:hover:after,.vp-navbar .nav-item>.nav-link.active:after{right:0;left:0;visibility:visible}.vp-navbar{--navbar-line-height: calc( var(--navbar-height) - var(--navbar-vertical-padding) * 2 );position:fixed;top:0;right:0;left:0;z-index:175;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;height:var(--navbar-height);padding:var(--navbar-vertical-padding) var(--navbar-horizontal-padding);background:var(--navbar-bg-color);box-shadow:0 2px 8px var(--card-shadow);line-height:var(--navbar-line-height);white-space:nowrap;transition:transform ease-in-out .3s,background var(--color-transition),box-shadow var(--color-transition);-webkit-backdrop-filter:saturate(150%) blur(12px);backdrop-filter:saturate(150%) blur(12px)}@media print{.vp-navbar{display:none}}.hide-navbar .vp-navbar.auto-hide{transform:translateY(-100%)}.vp-navbar .nav-link{padding:0 .25rem;color:var(--dark-grey)}.vp-navbar .nav-link.active{color:var(--theme-color)}.vp-navbar .nav-link .icon{margin-inline-end:.25em;font-size:1em}.vp-navbar.hide-icon .vp-nav-links .icon{display:none!important}.vp-navbar-start,.vp-navbar-end,.vp-navbar-center{display:flex;flex:1;align-items:center}.vp-navbar-start>*,.vp-navbar-end>*,.vp-navbar-center>*{position:relative;margin:0 .25rem!important}.vp-navbar-start>*:first-child,.vp-navbar-end>*:first-child,.vp-navbar-center>*:first-child{margin-inline-start:0!important}.vp-navbar-start>*:last-child,.vp-navbar-end>*:last-child,.vp-navbar-center>*:last-child{margin-inline-end:0!important}.vp-navbar-start{justify-content:start}.vp-navbar-center{justify-content:center}.vp-navbar-end{justify-content:end}.vp-navbar .vp-repo{margin:0!important}.vp-navbar .vp-repo-link{display:inline-block;margin:auto;padding:6px;color:var(--dark-grey);line-height:1}.vp-navbar .vp-repo-link:hover,.vp-navbar .vp-repo-link:active{color:var(--theme-color)}.vp-toggle-navbar-button{border-width:0;background:transparent;cursor:pointer;position:relative;display:none;align-items:center;justify-content:center;padding:6px}@media screen and (max-width: 719px){.vp-toggle-navbar-button{display:flex}}.vp-toggle-navbar-button>span{position:relative;overflow:hidden;width:16px;height:14px}.vp-toggle-navbar-button .vp-top,.vp-toggle-navbar-button .vp-middle,.vp-toggle-navbar-button .vp-bottom{position:absolute;width:16px;height:2px;background:var(--dark-grey);transition:top .25s,background .5s,transform .25s}.vp-toggle-navbar-button .vp-top{top:0;left:0;transform:translate(0)}.vp-toggle-navbar-button .vp-middle{top:6px;left:0;transform:translate(8px)}.vp-toggle-navbar-button .vp-bottom{top:12px;left:0;transform:translate(4px)}.vp-toggle-navbar-button:hover .vp-top{top:0;left:0;transform:translate(4px)}.vp-toggle-navbar-button:hover .vp-middle{top:6;left:0;transform:translate(0)}.vp-toggle-navbar-button:hover .vp-bottom{top:12px;left:0;transform:translate(8px)}.vp-toggle-navbar-button.is-active .vp-top{top:6px;transform:translate(0) rotate(225deg)}.vp-toggle-navbar-button.is-active .vp-middle{top:6px;transform:translate(16px)}.vp-toggle-navbar-button.is-active .vp-bottom{top:6px;transform:translate(0) rotate(135deg)}.vp-toggle-navbar-button.is-active:hover .vp-top,.vp-toggle-navbar-button.is-active:hover .vp-middle,.vp-toggle-navbar-button.is-active:hover .vp-bottom{background:var(--theme-color);transition:top .25s,background .25s,transform .25s}.vp-toggle-sidebar-button{border-width:0;background:transparent;cursor:pointer;display:none;vertical-align:middle;box-sizing:content-box;width:1rem;height:1rem;padding:.5rem;font:unset;transition:transform .2s ease-in-out}@media screen and (max-width: 719px){.vp-toggle-sidebar-button{display:block;padding-inline-end:var(--navbar-mobile-horizontal-padding)}}.vp-toggle-sidebar-button:before,.vp-toggle-sidebar-button:after,.vp-toggle-sidebar-button .icon{display:block;width:100%;height:2px;border-radius:.05em;background:var(--dark-grey);transition:transform .2s ease-in-out}.vp-toggle-sidebar-button:before{content:" ";margin-top:.125em}.sidebar-open .vp-toggle-sidebar-button:before{transform:translateY(.34rem) rotate(135deg)}.vp-toggle-sidebar-button:after{content:" ";margin-bottom:.125em}.sidebar-open .vp-toggle-sidebar-button:after{transform:translateY(-.34rem) rotate(-135deg)}.vp-toggle-sidebar-button .icon{margin:.2em 0}.sidebar-open .vp-toggle-sidebar-button .icon{transform:scale(0)}.appearance-title{display:block;margin:0;padding:0 .25rem;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;transition:color var(--color-transition)}#appearance-switch{border-width:0;background:transparent;vertical-align:middle;padding:6px;color:var(--dark-grey);cursor:pointer;transition:color var(--color-transition)}#appearance-switch:hover{color:var(--theme-color)}#appearance-switch .icon{width:1.25rem;height:1.25rem}.outlook-button{border-width:0;background:transparent;cursor:pointer;position:relative;padding:.375rem;color:var(--dark-grey)}.outlook-button .icon{vertical-align:middle;width:1.25rem;height:1.25rem}.outlook-dropdown{position:absolute;top:100%;right:0;overflow-y:auto;box-sizing:border-box;min-width:100px;margin:0;padding:.5rem .75rem;border:1px solid var(--grey14);border-radius:.25rem;background:var(--bg-color);box-shadow:2px 2px 10px var(--card-shadow);text-align:start;white-space:nowrap;opacity:0;visibility:hidden;transition:all .18s ease-out;transform:scale(.8)}html[dir=rtl] .outlook-dropdown{right:unset;left:0}.outlook-dropdown>*:not(:last-child){padding-bottom:.5rem;border-bottom:1px solid var(--grey14)}.outlook-button:hover .outlook-dropdown,.outlook-button.open .outlook-dropdown{z-index:2;opacity:1;visibility:visible;transform:scale(1)}.theme-color-title{display:block;margin:0;padding:0 .25rem;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;transition:color var(--color-transition)}#theme-color-picker{display:flex;margin:0;padding:0;list-style-type:none;font-size:14px}#theme-color-picker li span{display:inline-block;vertical-align:middle;width:15px;height:15px;margin:0 2px;border-radius:2px}#theme-color-picker li span.theme-color,#theme-color-picker li span.theme-color html[data-theme=dark]{background:#2196f3}@media print{.full-screen-wrapper{display:none}}.full-screen-title{display:block;margin:0;padding:0 .25rem;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;transition:color var(--color-transition)}.full-screen,.cancel-full-screen{border-width:0;background:transparent;vertical-align:middle;padding:.375rem;color:var(--dark-grey);cursor:pointer}.full-screen:hover,.cancel-full-screen:hover{color:var(--theme-color)}.full-screen .icon,.cancel-full-screen .icon{width:1.25rem;height:1.25rem}.enter-fullscreen-icon:hover,.cancel-fullscreen-icon{color:var(--theme-color)}.cancel-fullscreen-icon:hover{color:var(--dark-grey)}.vp-sidebar-heading{display:flex;align-items:center;overflow:hidden;box-sizing:border-box;width:calc(100% - 1rem);margin:0;margin-inline:.5rem;padding:.25rem .5rem;border-width:0;border-radius:.375rem;background:transparent;color:var(--text-color);font-size:1.1em;line-height:1.5;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .15s ease;transform:rotate(0)}.vp-sidebar-heading.open{color:inherit}.vp-sidebar-heading.clickable:hover{background:var(--bg-color-secondary)}.vp-sidebar-heading.clickable.exact{border-inline-start-color:var(--theme-color);color:var(--theme-color)}.vp-sidebar-heading.clickable.exact a{color:inherit}.vp-sidebar-heading .icon{margin-inline-end:.25em}.vp-sidebar-heading .vp-sidebar-title{flex:1}.vp-sidebar-heading .vp-arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");line-height:normal;transition:all .3s;font-size:1.5em}html[data-theme=dark] .vp-sidebar-heading .vp-arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-sidebar-heading .vp-arrow.down{transform:rotate(180deg)}html[dir=rtl] .vp-sidebar-heading .vp-arrow.down{transform:rotate(-180deg)}.vp-sidebar-heading .vp-arrow.end{transform:rotate(90deg)}html[dir=rtl] .vp-sidebar-heading .vp-arrow.end,.vp-sidebar-heading .vp-arrow.start{transform:rotate(-90deg)}html[dir=rtl] .vp-sidebar-heading .vp-arrow.start{transform:rotate(90deg)}button.vp-sidebar-heading{outline:none;font-weight:inherit;font-family:inherit;line-height:inherit;text-align:start;cursor:pointer}.vp-sidebar-link{display:inline-block;box-sizing:border-box;width:calc(100% - 1rem);margin-inline:.5rem;padding:.25rem .5rem;border-radius:.375rem;color:var(--text-color);font-weight:400;font-size:1em;line-height:1.5}.vp-sidebar-link .icon{margin-inline-end:.25em}.vp-sidebar-link:hover{background:var(--bg-color-secondary)}.vp-sidebar-link.active{background:var(--theme-color-mask);color:var(--theme-color);font-weight:500}.vp-sidebar-link.active .icon{color:var(--theme-color)}.vp-sidebar-sub-headers .vp-sidebar-link{padding-top:.25rem;padding-bottom:.25rem;border-inline-start:none}.vp-sidebar-sub-headers .vp-sidebar-link.active{background:transparent;font-weight:500}.vp-sidebar-group:not(.collapsible) .vp-sidebar-heading:not(.clickable){color:inherit;cursor:auto}.vp-sidebar-group .vp-sidebar-group{padding-inline-start:.75rem}.vp-sidebar-group .vp-sidebar-group .vp-sidebar-heading{font-size:1em}.vp-sidebar-group .vp-sidebar-link{padding-inline-start:1.25rem}.vp-sidebar-links,.vp-sidebar-links ul{margin:0;padding:0}.vp-sidebar-links ul.vp-sidebar-sub-headers{padding-inline-start:.75rem;font-size:.95em}@media (min-width: 1440px){.has-toc .vp-sidebar-links ul.vp-sidebar-sub-headers{display:none}}.vp-sidebar-links li{list-style-type:none}.vp-sidebar>.vp-sidebar-links{padding:1.5rem 0}@media (max-width: 719px){.vp-sidebar>.vp-sidebar-links{padding:1rem 0}}.vp-sidebar>.vp-sidebar-links>li>.vp-sidebar-link{font-size:1.1em}.vp-sidebar>.vp-sidebar-links>li:not(:first-child){margin-top:.5rem}.vp-sidebar{position:fixed;top:0;bottom:0;left:0;z-index:1;overflow-y:auto;width:var(--sidebar-width);margin:0;padding-inline-start:calc(var(--sidebar-space) - var(--sidebar-width));background:var(--sidebar-bg-color);box-shadow:2px 0 8px var(--card-shadow);font-size:.94rem;transition:background var(--color-transition),box-shadow var(--color-transition),padding var(--transform-transition),transform var(--transform-transition);-webkit-backdrop-filter:saturate(150%) blur(12px);backdrop-filter:saturate(150%) blur(12px);scrollbar-color:var(--theme-color) var(--border-color);scrollbar-width:thin}@media (max-width: 959px){.vp-sidebar{font-size:.86em}}@media (max-width: 719px){.vp-sidebar{z-index:125;box-shadow:none;transform:translate(-100%)}html[dir=rtl] .vp-sidebar{transform:translate(100%)}}@media (min-width: 1440px){.vp-sidebar{padding-bottom:3rem;box-shadow:none;font-size:1rem}}@media print{.vp-sidebar{display:none}}html[dir=rtl] .vp-sidebar{right:0;left:unset}.vp-sidebar a{display:inline-block;color:var(--text-color);font-weight:400}.vp-sidebar .icon{margin-inline-end:.25em}.vp-sidebar.hide-icon .icon{display:none!important}.vp-sidebar-mask{position:fixed;top:0;left:0;z-index:9;width:100vw;height:100vh;background:rgba(0,0,0,.15)}.vp-sidebar-mask.fade-enter-active,.vp-sidebar-mask.fade-leave-active{transition:opacity .25s}.vp-sidebar-mask.fade-enter-from,.vp-sidebar-mask.fade-leave-to{opacity:0}:root{--c-brand: #4ce9ad;--c-brand-light: #42b983;--c-bg: #ffffff;--c-bg-light: #f3f4f5;--c-bg-lighter: #eeeeee;--c-bg-navbar: var(--c-bg);--c-bg-sidebar: var(--c-bg);--c-bg-arrow: #cccccc;--c-text: #2c3e50;--c-text-accent: var(--c-brand);--c-text-light: #3a5169;--c-text-lighter: #4e6e8e;--c-text-lightest: #6a8bad;--c-text-quote: #999999;--c-border: #eaecef;--c-border-dark: #dfe2e5;--c-tip: #42b983;--c-tip-bg: var(--c-bg-light);--c-tip-title: var(--c-text);--c-tip-text: var(--c-text);--c-tip-text-accent: var(--c-text-accent);--c-warning: #e7c000;--c-warning-bg: #fffae3;--c-warning-title: #ad9000;--c-warning-text: #746000;--c-warning-text-accent: var(--c-text);--c-danger: #cc0000;--c-danger-bg: #ffe0e0;--c-danger-title: #990000;--c-danger-text: #660000;--c-danger-text-accent: var(--c-text);--c-details-bg: #eeeeee;--c-badge-tip: var(--c-tip);--c-badge-warning: var(--c-warning);--c-badge-danger: var(--c-danger);--t-color: .3s ease;--t-transform: .3s ease;--code-bg-color: #282c34;--code-hl-bg-color: rgba(0, 0, 0, .66);--code-ln-color: #9e9e9e;--code-ln-wrapper-width: 3.5rem;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-code: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;--navbar-height: 3.6rem;--navbar-padding-v: .7rem;--navbar-padding-h: 1.5rem;--sidebar-width: 20rem;--sidebar-width-mobile: calc(var(--sidebar-width) * .82);--content-width: 740px;--homepage-width: 960px}.DocSearch{--docsearch-primary-color: var(--c-brand);--docsearch-text-color: var(--c-text);--docsearch-highlight-color: var(--c-brand);--docsearch-muted-color: var(--c-text-quote);--docsearch-container-background: rgba(9, 10, 17, .8);--docsearch-modal-background: var(--c-bg-light);--docsearch-searchbox-background: var(--c-bg-lighter);--docsearch-searchbox-focus-background: var(--c-bg);--docsearch-searchbox-shadow: inset 0 0 0 2px var(--c-brand);--docsearch-hit-color: var(--c-text-light);--docsearch-hit-active-color: var(--c-bg);--docsearch-hit-background: var(--c-bg);--docsearch-hit-shadow: 0 1px 3px 0 var(--c-border-dark);--docsearch-footer-background: var(--c-bg)}.external-link-icon{--external-link-icon-color: var(--c-text-quote)}.medium-zoom-overlay{--medium-zoom-bg-color: var(--c-bg)}.pwa-popup{--pwa-popup-text-color: var(--c-text);--pwa-popup-bg-color: var(--c-bg);--pwa-popup-border-color: var(--c-brand);--pwa-popup-shadow: 0 4px 16px var(--c-brand);--pwa-popup-btn-text-color: var(--c-bg);--pwa-popup-btn-bg-color: var(--c-brand);--pwa-popup-btn-hover-bg-color: var(--c-brand-light)}.search-box{--search-bg-color: var(--c-bg);--search-accent-color: var(--c-brand);--search-text-color: var(--c-text);--search-border-color: var(--c-border);--search-item-text-color: var(--c-text-lighter);--search-item-focus-bg-color: var(--c-bg-light)}.search-pro-button{border-width:0;background:transparent;display:inline-flex;align-items:center;box-sizing:content-box;height:1.25rem;margin-inline:1rem 0;margin-top:0;margin-bottom:0;padding:.5rem;border:0;border:1px solid var(--vp-bgl);border-radius:1rem;background:var(--vp-bgl);color:var(--vp-c);font-weight:500;cursor:pointer;transition:background var(--vp-ct),color var(--vp-ct)}@media print{.search-pro-button{display:none}}@media (max-width: 959px){.search-pro-button{border-radius:50%}}.search-pro-button:hover{border:1px solid var(--vp-tc);background-color:var(--vp-bglt);color:var(--vp-clt)}.search-pro-button .search-icon{width:1.25rem;height:1.25rem}.search-pro-placeholder{margin-inline:.25rem;font-size:1rem}@media (max-width: 959px){.search-pro-placeholder{display:none}}.search-pro-key-hints{font-size:.75rem}@media (max-width: 959px){.search-pro-key-hints{display:none}}.search-pro-key{display:inline-block;min-width:1em;margin-inline:.125rem;padding:.25rem;border:1px solid var(--vp-brc);border-radius:4px;box-shadow:1px 1px 4px 0 var(--card-shadow);line-height:1;letter-spacing:-.1em;transition:background var(--vp-ct),color var(--vp-ct),border var(--vp-ct) box-shadow var(--vp-ct)}@keyframes search-pro-fade-in{0%{opacity:.2}to{opacity:1}}.search-pro-modal-wrapper{position:fixed;top:0;left:0;z-index:997;display:flex;align-items:center;justify-content:center;overflow:auto;width:100vw;height:100vh;cursor:default}.search-pro-mask{position:fixed;top:0;left:0;z-index:998;width:100vw;height:100vh;animation:.25s search-pro-fade-in;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.search-pro-modal{position:absolute;z-index:999;display:flex;flex-direction:column;width:calc(100% - 6rem);max-width:50em;border-radius:10px;background:var(--vp-bg);box-shadow:2px 2px 10px 0 var(--card-shadow);transition:background var(--vp-ct);animation:.15s pwa-opened}@media (max-width: 1280px){.search-pro-modal{animation:.25s pwa-mobile}}@media (max-width: 719px){.search-pro-modal{width:100vw;max-width:unset;height:100vh}}.search-pro-box{display:flex;margin:1rem}.search-pro-box form{position:relative;display:flex;flex:1}.search-pro-box label{position:absolute;top:calc(50% - .75rem);left:.5rem;color:var(--vp-tc)}html[dir=rtl] .search-pro-box label{right:.5rem;left:unset}.search-pro-box label .search-icon{width:1.5rem;height:1.5rem}.search-pro-clear-button{border-width:0;background:transparent;cursor:pointer;position:absolute;top:calc(50% - 10px);right:.75rem;padding:0;color:var(--vp-tc)}html[dir=rtl] .search-pro-clear-button{right:.75rem;left:unset}.search-pro-clear-button:hover{border-radius:50%;background-color:#0000001a}.search-pro-close-button{border-width:0;background:transparent;cursor:pointer;display:none;margin-inline-start:.5rem;margin-inline-end:-.5rem;padding:.5rem;color:var(--grey3);font-size:1rem}@media (max-width: 719px){.search-pro-close-button{display:block}}.search-pro-input{flex:1;width:0;margin:0;padding-top:.25rem;padding-bottom:.25rem;padding-inline-start:2.5rem;padding-inline-end:2rem;border:0;border:2px solid var(--vp-tc);border-radius:8px;background:var(--vp-bg);color:var(--vp-c);outline:none;font-size:1.25rem;line-height:2.5;-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-pro-input::-webkit-search-cancel-button{display:none}.search-pro-suggestions{position:absolute;top:calc(100% + 4px);right:0;left:0;z-index:20;overflow:visible;overflow-y:auto;max-height:50vh;margin:0;padding:0;border-radius:.5rem;background-color:var(--vp-bg);box-shadow:2px 2px 10px 0 var(--card-shadow);list-style:none;line-height:1.5}.search-pro-suggestion{padding:.25rem 1rem;border-top:1px solid var(--vp-brc);cursor:pointer}.search-pro-suggestion:first-child{border-top:none}.search-pro-suggestion.active,.search-pro-suggestion:hover{background-color:var(--vp-bglt)}.search-pro-auto-complete{display:none;float:right;margin:0 .5rem;padding:4px;border:1px solid var(--vp-brc);border-radius:4px;box-shadow:1px 1px 4px 0 var(--card-shadow);font-size:12px;line-height:1}.search-pro-suggestion.active .search-pro-auto-complete{display:block}.search-pro-result-wrapper{flex-grow:1;overflow-y:auto;min-height:40vh;max-height:calc(80vh - 10rem);padding:0 1rem}@media (max-width: 719px){.search-pro-result-wrapper{min-height:unset;max-height:unset}}.search-pro-result-wrapper.loading,.search-pro-result-wrapper.empty{display:flex;align-items:center;justify-content:center;padding:1.5rem;font-weight:600;font-size:22px;text-align:center}.search-pro-hints{margin-top:1rem;padding:.75rem .5rem;box-shadow:0 -1px 4px 0 var(--card-shadow);line-height:1}.search-pro-hint{display:inline-flex;align-items:center;margin:0 .5rem}.search-pro-hint kbd{margin:0 .5rem;padding:2px;border:1px solid var(--vp-brc);border-radius:4px;box-shadow:1px 1px 4px 0 var(--card-shadow)}.search-pro-hint kbd+kbd{margin-inline-start:-.25rem}.search-pro-hint svg{display:block;width:15px;height:15px}.split-pane[data-v-b004c5a4]{display:flex;height:100%;position:relative}.split-pane.dragging[data-v-b004c5a4]{cursor:ew-resize}.dragging .left[data-v-b004c5a4],.dragging .right[data-v-b004c5a4]{pointer-events:none}.left[data-v-b004c5a4],.right[data-v-b004c5a4]{position:relative;height:100%}.left[data-v-b004c5a4]{border-right:1px solid var(--border)}.dragger[data-v-b004c5a4]{position:absolute;z-index:3;top:0;bottom:0;right:-5px;width:10px;cursor:ew-resize}.toggler[data-v-b004c5a4]{display:none;z-index:3;font-family:var(--font-code);color:var(--text-light);position:absolute;left:50%;bottom:20px;background-color:var(--bg);padding:8px 12px;border-radius:8px;transform:translate(-50%);box-shadow:0 3px 8px #00000040}.dark .toggler[data-v-b004c5a4]{background-color:var(--bg)}@media (min-width: 721px){.split-pane.vertical[data-v-b004c5a4]{display:block}.split-pane.vertical.dragging[data-v-b004c5a4]{cursor:ns-resize}.vertical .dragger[data-v-b004c5a4]{top:auto;height:10px;width:100%;left:0;right:0;bottom:-5px;cursor:ns-resize}.vertical .left[data-v-b004c5a4],.vertical .right[data-v-b004c5a4]{width:100%}.vertical .left[data-v-b004c5a4]{border-right:none;border-bottom:1px solid var(--border)}}@media (max-width: 720px){.left[data-v-b004c5a4],.right[data-v-b004c5a4]{width:100%!important;height:100%!important}.dragger[data-v-b004c5a4]{display:none}.split-pane .toggler[data-v-b004c5a4]{display:block}.split-pane .right[data-v-b004c5a4]{display:none}.split-pane.show-output .right[data-v-b004c5a4]{display:block}.split-pane.show-output .left[data-v-b004c5a4]{display:none}}.msg.err[data-v-3057e65b]{--color: #f56c6c;--bg-color: #fef0f0}.dark .msg.err[data-v-3057e65b]{--bg-color: #2b1d1d}.msg.warn[data-v-3057e65b]{--color: #e6a23c;--bg-color: #fdf6ec}.dark .msg.warn[data-v-3057e65b]{--bg-color: #292218}pre[data-v-3057e65b]{margin:0;padding:12px 20px;overflow:auto}.msg[data-v-3057e65b]{position:absolute;bottom:0;left:8px;right:8px;z-index:10;border:2px solid transparent;border-radius:6px;font-family:var(--font-code);white-space:pre-wrap;margin-bottom:8px;max-height:calc(100% - 300px);min-height:40px;display:flex;align-items:stretch;color:var(--color);border-color:var(--color);background-color:var(--bg-color)}.dismiss[data-v-3057e65b]{position:absolute;top:2px;right:2px;width:18px;height:18px;line-height:18px;border-radius:9px;text-align:center;display:block;font-size:9px;padding:0;color:var(--bg-color);background-color:var(--color)}@media (max-width: 720px){.dismiss[data-v-3057e65b]{top:-9px;right:-9px}.msg[data-v-3057e65b]{bottom:50px}}.fade-enter-active[data-v-3057e65b],.fade-leave-active[data-v-3057e65b]{transition:all .15s ease-out}.fade-enter-from[data-v-3057e65b],.fade-leave-to[data-v-3057e65b]{opacity:0;transform:translateY(10px)}.iframe-container[data-v-b9352b63],.iframe-container[data-v-b9352b63] iframe{width:100%;height:100%;border:none;background-color:#fff}.output-container[data-v-f221f6e0]{height:calc(100% - var(--header-height));overflow:hidden;position:relative}.tab-buttons[data-v-f221f6e0]{box-sizing:border-box;border-bottom:1px solid var(--border);background-color:var(--bg);height:var(--header-height);overflow:hidden}.tab-buttons button[data-v-f221f6e0]{padding:0;box-sizing:border-box}.tab-buttons span[data-v-f221f6e0]{font-size:13px;font-family:var(--font-code);text-transform:uppercase;color:var(--text-light);display:inline-block;padding:8px 16px 6px;line-height:20px}button.active[data-v-f221f6e0]{color:var(--color-branding-dark);border-bottom:3px solid var(--color-branding-dark)}.file-selector[data-v-f661725b]{display:flex;box-sizing:border-box;border-bottom:1px solid var(--border);background-color:var(--bg);overflow-y:hidden;overflow-x:auto;white-space:nowrap;position:relative;height:var(--header-height)}.file-selector[data-v-f661725b]::-webkit-scrollbar{height:1px}.file-selector[data-v-f661725b]::-webkit-scrollbar-track{background-color:var(--border)}.file-selector[data-v-f661725b]::-webkit-scrollbar-thumb{background-color:var(--color-branding)}.file-selector.has-import-map .add[data-v-f661725b]{margin-right:10px}.file[data-v-f661725b]{display:inline-block;font-size:13px;font-family:var(--font-code);cursor:pointer;color:var(--text-light);box-sizing:border-box}.file.active[data-v-f661725b]{color:var(--color-branding);border-bottom:3px solid var(--color-branding);cursor:text}.file span[data-v-f661725b]{display:inline-block;padding:8px 10px 6px;line-height:20px}.file.pending input[data-v-f661725b]{width:90px;height:30px;line-height:30px;outline:none;border:1px solid var(--border);border-radius:4px;padding:0 0 0 10px;margin-top:2px;margin-left:6px;font-family:var(--font-code);font-size:12px}.file .remove[data-v-f661725b]{display:inline-block;vertical-align:middle;line-height:12px;cursor:pointer;padding-left:0}.add[data-v-f661725b]{font-size:18px;font-family:var(--font-code);color:#999;vertical-align:middle;margin-left:6px;position:relative;top:-1px}.add[data-v-f661725b]:hover{color:var(--color-branding)}.icon[data-v-f661725b]{margin-top:-1px}.import-map-wrapper[data-v-f661725b]{position:sticky;margin-left:auto;top:0;right:0;padding-left:30px;background-color:var(--bg);background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,1) 25%)}.dark .import-map-wrapper[data-v-f661725b]{background:linear-gradient(90deg,rgba(26,26,26,0) 0%,rgba(26,26,26,1) 25%)}.wrapper[data-v-70b24951]{position:absolute;bottom:8px;right:15px;z-index:11;display:flex;align-items:center;background-color:var(--bg);color:var(--text-light);cursor:pointer;padding:4px 8px;border-radius:2px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toggle[data-v-70b24951]{display:inline-block;margin-left:4px;width:32px;height:18px;border-radius:12px;position:relative;background-color:var(--border)}.indicator[data-v-70b24951]{font-size:12px;background-color:var(--text-light);width:14px;height:14px;border-radius:50%;transition:transform ease-in-out .2s;position:absolute;left:2px;top:2px;color:var(--bg);text-align:center}.active .indicator[data-v-70b24951]{background-color:var(--color-branding);transform:translate(14px);color:#fff}.editor-container[data-v-3500c8e7]{height:calc(100% - var(--header-height));overflow:hidden;position:relative}.vue-repl[data-v-f0baea56]{--bg: #fff;--bg-soft: #f8f8f8;--border: #ddd;--text-light: #888;--font-code: Menlo, Monaco, Consolas, "Courier New", monospace;--color-branding: #42b883;--color-branding-dark: #416f9c;--header-height: 38px;height:100%;margin:0;overflow:hidden;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:var(--bg-soft)}.dark .vue-repl[data-v-f0baea56]{--bg: #1a1a1a;--bg-soft: #242424;--border: #383838;--text-light: #aaa;--color-branding: #42d392;--color-branding-dark: #89ddff}[data-v-f0baea56] button{border:none;outline:none;cursor:pointer;margin:0;background-color:transparent}.monaco-aria-container{position:absolute;left:-999em}::-ms-clear{display:none}.monaco-editor .editor-widget input{color:inherit}.monaco-editor{position:relative;overflow:visible;-webkit-text-size-adjust:100%;color:var(--vscode-editor-foreground);background-color:var(--vscode-editor-background)}.monaco-editor-background{background-color:var(--vscode-editor-background)}.monaco-editor .rangeHighlight{background-color:var(--vscode-editor-rangeHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-rangeHighlightBorder)}.monaco-editor.hc-black .rangeHighlight,.monaco-editor.hc-light .rangeHighlight{border-style:dotted}.monaco-editor .symbolHighlight{background-color:var(--vscode-editor-symbolHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-symbolHighlightBorder)}.monaco-editor.hc-black .symbolHighlight,.monaco-editor.hc-light .symbolHighlight{border-style:dotted}.monaco-editor .overflow-guard{position:relative;overflow:hidden}.monaco-editor .view-overlays{position:absolute;top:0}.monaco-editor .squiggly-error{border-bottom:4px double var(--vscode-editorError-border)}.monaco-editor .squiggly-error:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorError-background)}.monaco-editor .squiggly-warning{border-bottom:4px double var(--vscode-editorWarning-border)}.monaco-editor .squiggly-warning:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorWarning-background)}.monaco-editor .squiggly-info{border-bottom:4px double var(--vscode-editorInfo-border)}.monaco-editor .squiggly-info:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorInfo-background)}.monaco-editor .squiggly-hint{border-bottom:2px dotted var(--vscode-editorHint-border)}.monaco-editor.showUnused .squiggly-unnecessary{border-bottom:2px dashed var(--vscode-editorUnnecessaryCode-border)}.monaco-editor.showDeprecated .squiggly-inline-deprecated{text-decoration:line-through;text-decoration-color:var(--vscode-editor-foreground, inherit)}.monaco-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.monaco-scrollable-element>.visible{opacity:1;background:rgba(0,0,0,0);transition:opacity .1s linear;z-index:11}.monaco-scrollable-element>.invisible{opacity:0;pointer-events:none}.monaco-scrollable-element>.invisible.fade{transition:opacity .8s linear}.monaco-scrollable-element>.shadow{position:absolute;display:none}.monaco-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.monaco-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.scrollbar>.slider{background:var(--vscode-scrollbarSlider-background)}.monaco-scrollable-element>.scrollbar>.slider:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-scrollable-element>.scrollbar>.slider.active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .inputarea{min-width:0;min-height:0;margin:0;padding:0;position:absolute;outline:none!important;resize:none;border:none;overflow:hidden;color:transparent;background-color:transparent;z-index:-10}.monaco-editor .inputarea.ime-input{z-index:10;caret-color:var(--vscode-editorCursor-foreground);color:var(--vscode-editor-foreground)}.monaco-editor .margin-view-overlays .line-numbers{font-variant-numeric:tabular-nums;position:absolute;text-align:right;display:inline-block;vertical-align:middle;box-sizing:border-box;cursor:default;height:100%}.monaco-editor .relative-current-line-number{text-align:left;display:inline-block;width:100%}.monaco-editor .margin-view-overlays .line-numbers.lh-odd{margin-top:1px}.monaco-editor .line-numbers{color:var(--vscode-editorLineNumber-foreground)}.monaco-editor .line-numbers.active-line-number{color:var(--vscode-editorLineNumber-activeForeground)}.monaco-editor .margin{background-color:var(--vscode-editorGutter-background)}.monaco-mouse-cursor-text{cursor:text}.monaco-editor .view-overlays .current-line,.monaco-editor .margin-view-overlays .current-line{display:block;position:absolute;left:0;top:0;box-sizing:border-box}.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both{border-right:0}.monaco-editor .lines-content .cdr{position:absolute}.monaco-editor .lines-content .core-guide{position:absolute;box-sizing:border-box}.monaco-editor .lines-content .core-guide-indent{box-shadow:1px 0 0 0 var(--vscode-editorIndentGuide-background) inset}.monaco-editor .lines-content .core-guide-indent-active{box-shadow:1px 0 0 0 var(--vscode-editorIndentGuide-activeBackground, --vscode-editorIndentGuide-background) inset}.mtkcontrol{color:#fff!important;background:rgb(150,0,0)!important}.mtkoverflow{background-color:var(--vscode-button-background, --vscode-editor-background);color:var(--vscode-button-foreground, --vscode-editor-foreground);border-width:1px;border-style:solid;border-color:var(--vscode-contrastBorder);border-radius:2px;padding:4px;cursor:pointer}.mtkoverflow:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-editor.no-user-select .lines-content,.monaco-editor.no-user-select .view-line,.monaco-editor.no-user-select .view-lines{-moz-user-select:none;user-select:none;-webkit-user-select:none}.monaco-editor.mac .lines-content:hover,.monaco-editor.mac .view-line:hover,.monaco-editor.mac .view-lines:hover{-moz-user-select:text;user-select:text;-webkit-user-select:text;-ms-user-select:text}.monaco-editor.enable-user-select{-moz-user-select:initial;user-select:initial;-webkit-user-select:initial}.monaco-editor .view-lines{white-space:nowrap}.monaco-editor .view-line{position:absolute;width:100%}.monaco-editor .mtkw{color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .mtkz{display:inline-block;color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .lines-decorations{position:absolute;top:0;background:white}.monaco-editor .margin-view-overlays .cldr{position:absolute;height:100%}.monaco-editor .glyph-margin{position:absolute;top:0}.monaco-editor .glyph-margin-widgets .cgmr{position:absolute;display:flex;align-items:center}.monaco-editor .margin-view-overlays .cmdr{position:absolute;left:0;width:100%;height:100%}.monaco-editor .minimap.slider-mouseover .minimap-slider{opacity:0;transition:opacity .1s linear}.monaco-editor .minimap.slider-mouseover:hover .minimap-slider,.monaco-editor .minimap.slider-mouseover .minimap-slider.active{opacity:1}.monaco-editor .minimap-slider .minimap-slider-horizontal{background:var(--vscode-minimapSlider-background)}.monaco-editor .minimap-slider:hover .minimap-slider-horizontal{background:var(--vscode-minimapSlider-hoverBackground)}.monaco-editor .minimap-slider.active .minimap-slider-horizontal{background:var(--vscode-minimapSlider-activeBackground)}.monaco-editor .minimap-shadow-visible{box-shadow:var(--vscode-scrollbar-shadow) -6px 0 6px -6px inset}.monaco-editor .minimap-shadow-hidden{position:absolute;width:0}.monaco-editor .minimap-shadow-visible{position:absolute;left:-6px;width:6px}.monaco-editor.no-minimap-shadow .minimap-shadow-visible{position:absolute;left:-1px;width:1px}.minimap.autohide{opacity:0;transition:opacity .5s}.minimap.autohide:hover{opacity:1}.monaco-editor .overlayWidgets{position:absolute;top:0;left:0}.monaco-editor .view-ruler{position:absolute;top:0;box-shadow:1px 0 0 0 var(--vscode-editorRuler-foreground) inset}.monaco-editor .scroll-decoration{position:absolute;top:0;left:0;height:6px;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-editor .lines-content .cslr{position:absolute}.monaco-editor .focused .selected-text{background-color:var(--vscode-editor-selectionBackground)}.monaco-editor .selected-text{background-color:var(--vscode-editor-inactiveSelectionBackground)}.monaco-editor .top-left-radius{border-top-left-radius:3px}.monaco-editor .bottom-left-radius{border-bottom-left-radius:3px}.monaco-editor .top-right-radius{border-top-right-radius:3px}.monaco-editor .bottom-right-radius{border-bottom-right-radius:3px}.monaco-editor.hc-black .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-black .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-black .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-black .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor.hc-light .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-light .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-light .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-light .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor .cursors-layer{position:absolute;top:0}.monaco-editor .cursors-layer>.cursor{position:absolute;overflow:hidden;box-sizing:border-box}.monaco-editor .cursors-layer.cursor-smooth-caret-animation>.cursor{transition:all 80ms}.monaco-editor .cursors-layer.cursor-block-outline-style>.cursor{background:transparent!important;border-style:solid;border-width:1px}.monaco-editor .cursors-layer.cursor-underline-style>.cursor{border-bottom-width:2px;border-bottom-style:solid;background:transparent!important}.monaco-editor .cursors-layer.cursor-underline-thin-style>.cursor{border-bottom-width:1px;border-bottom-style:solid;background:transparent!important}@keyframes monaco-cursor-smooth{0%,20%{opacity:1}60%,to{opacity:0}}@keyframes monaco-cursor-phase{0%,20%{opacity:1}90%,to{opacity:0}}@keyframes monaco-cursor-expand{0%,20%{transform:scaleY(1)}80%,to{transform:scaleY(0)}}.cursor-smooth{animation:monaco-cursor-smooth .5s ease-in-out 0s 20 alternate}.cursor-phase{animation:monaco-cursor-phase .5s ease-in-out 0s 20 alternate}.cursor-expand>.cursor{animation:monaco-cursor-expand .5s ease-in-out 0s 20 alternate}.monaco-editor .blockDecorations-container{position:absolute;top:0;pointer-events:none}.monaco-editor .blockDecorations-block{position:absolute;box-sizing:border-box}.monaco-editor .mwh{position:absolute;color:var(--vscode-editorWhitespace-foreground)!important}:root{--vscode-sash-size: 4px}.monaco-sash{position:absolute;z-index:35;touch-action:none}.monaco-sash.disabled{pointer-events:none}.monaco-sash.mac.vertical{cursor:col-resize}.monaco-sash.vertical.minimum{cursor:e-resize}.monaco-sash.vertical.maximum{cursor:w-resize}.monaco-sash.mac.horizontal{cursor:row-resize}.monaco-sash.horizontal.minimum{cursor:s-resize}.monaco-sash.horizontal.maximum{cursor:n-resize}.monaco-sash.disabled{cursor:default!important;pointer-events:none!important}.monaco-sash.vertical{cursor:ew-resize;top:0;width:var(--vscode-sash-size);height:100%}.monaco-sash.horizontal{cursor:ns-resize;left:0;width:100%;height:var(--vscode-sash-size)}.monaco-sash:not(.disabled)>.orthogonal-drag-handle{content:" ";height:calc(var(--vscode-sash-size) * 2);width:calc(var(--vscode-sash-size) * 2);z-index:100;display:block;cursor:all-scroll;position:absolute}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.start,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.end{cursor:nwse-resize}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.end,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.start{cursor:nesw-resize}.monaco-sash.vertical>.orthogonal-drag-handle.start{left:calc(var(--vscode-sash-size) * -.5);top:calc(var(--vscode-sash-size) * -1)}.monaco-sash.vertical>.orthogonal-drag-handle.end{left:calc(var(--vscode-sash-size) * -.5);bottom:calc(var(--vscode-sash-size) * -1)}.monaco-sash.horizontal>.orthogonal-drag-handle.start{top:calc(var(--vscode-sash-size) * -.5);left:calc(var(--vscode-sash-size) * -1)}.monaco-sash.horizontal>.orthogonal-drag-handle.end{top:calc(var(--vscode-sash-size) * -.5);right:calc(var(--vscode-sash-size) * -1)}.monaco-sash:before{content:"";pointer-events:none;position:absolute;width:100%;height:100%;background:transparent}.monaco-workbench:not(.reduce-motion) .monaco-sash:before{transition:background-color .1s ease-out}.monaco-sash.hover:before,.monaco-sash.active:before{background:var(--vscode-sash-hoverBorder)}.monaco-sash.vertical:before{width:var(--vscode-sash-hover-size);left:calc(50% - (var(--vscode-sash-hover-size) / 2))}.monaco-sash.horizontal:before{height:var(--vscode-sash-hover-size);top:calc(50% - (var(--vscode-sash-hover-size) / 2))}.pointer-events-disabled{pointer-events:none!important}.monaco-sash.debug{background:cyan}.monaco-sash.debug.disabled{background:rgba(0,255,255,.2)}.monaco-sash.debug:not(.disabled)>.orthogonal-drag-handle{background:red}.monaco-diff-editor .diffOverview{z-index:9}.monaco-diff-editor .diffOverview .diffViewport{z-index:10}.monaco-diff-editor.vs .diffOverview{background:rgba(0,0,0,.03)}.monaco-diff-editor.vs-dark .diffOverview{background:rgba(255,255,255,.01)}.monaco-scrollable-element.modified-in-monaco-diff-editor.vs .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark .scrollbar{background:rgba(0,0,0,0)}.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-light .scrollbar{background:none}.monaco-scrollable-element.modified-in-monaco-diff-editor .slider{z-index:10}.modified-in-monaco-diff-editor .slider.active{background:rgba(171,171,171,.4)}.modified-in-monaco-diff-editor.hc-black .slider.active,.modified-in-monaco-diff-editor.hc-light .slider.active{background:none}.monaco-editor .insert-sign,.monaco-diff-editor .insert-sign,.monaco-editor .delete-sign,.monaco-diff-editor .delete-sign{font-size:11px!important;opacity:.7!important;display:flex!important;align-items:center}.monaco-editor.hc-black .insert-sign,.monaco-diff-editor.hc-black .insert-sign,.monaco-editor.hc-black .delete-sign,.monaco-diff-editor.hc-black .delete-sign,.monaco-editor.hc-light .insert-sign,.monaco-diff-editor.hc-light .insert-sign,.monaco-editor.hc-light .delete-sign,.monaco-diff-editor.hc-light .delete-sign{opacity:1}.monaco-editor .inline-deleted-margin-view-zone,.monaco-editor .inline-added-margin-view-zone{text-align:right}.monaco-editor .arrow-revert-change{z-index:10;position:absolute}.monaco-editor .arrow-revert-change:hover{cursor:pointer}.monaco-editor .view-zones .view-lines .view-line span{display:inline-block}.monaco-editor .margin-view-zones .lightbulb-glyph:hover{cursor:pointer}.monaco-editor .char-insert,.monaco-diff-editor .char-insert{background-color:var(--vscode-diffEditor-insertedTextBackground)}.monaco-editor .line-insert,.monaco-diff-editor .line-insert{background-color:var(--vscode-diffEditor-insertedLineBackground, --vscode-diffEditor-insertedTextBackground)}.monaco-editor .line-insert,.monaco-editor .char-insert{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-insertedTextBorder)}.monaco-editor.hc-black .line-insert,.monaco-editor.hc-light .line-insert,.monaco-editor.hc-black .char-insert,.monaco-editor.hc-light .char-insert{border-style:dashed}.monaco-editor .line-delete,.monaco-editor .char-delete{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-removedTextBorder)}.monaco-editor.hc-black .line-delete,.monaco-editor.hc-light .line-delete,.monaco-editor.hc-black .char-delete,.monaco-editor.hc-light .char-delete{border-style:dashed}.monaco-editor .inline-added-margin-view-zone,.monaco-editor .gutter-insert,.monaco-diff-editor .gutter-insert{background-color:var(--vscode-diffEditorGutter-insertedLineBackground, --vscode-diffEditor-insertedLineBackground, --vscode-diffEditor-insertedTextBackground)}.monaco-editor .char-delete,.monaco-diff-editor .char-delete{background-color:var(--vscode-diffEditor-removedTextBackground)}.monaco-editor .line-delete,.monaco-diff-editor .line-delete{background-color:var(--vscode-diffEditor-removedLineBackground, --vscode-diffEditor-removedTextBackground)}.monaco-editor .inline-deleted-margin-view-zone,.monaco-editor .gutter-delete,.monaco-diff-editor .gutter-delete{background-color:var(--vscode-diffEditorGutter-removedLineBackground, --vscode-diffEditor-removedLineBackground, --vscode-diffEditor-removedTextBackground)}.monaco-diff-editor.side-by-side .editor.modified{box-shadow:-6px 0 5px -5px var(--vscode-scrollbar-shadow);border-left:1px solid var(--vscode-diffEditor-border)}.monaco-diff-editor .diffViewport{background:var(--vscode-scrollbarSlider-background)}.monaco-diff-editor .diffViewport:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-diff-editor .diffViewport:active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-list{position:relative;height:100%;width:100%;white-space:nowrap}.monaco-list.mouse-support{-moz-user-select:none;user-select:none;-webkit-user-select:none}.monaco-list>.monaco-scrollable-element{height:100%}.monaco-list-rows{position:relative;width:100%;height:100%}.monaco-list.horizontal-scrolling .monaco-list-rows{width:auto;min-width:100%}.monaco-list-row{position:absolute;box-sizing:border-box;overflow:hidden;width:100%}.monaco-list.mouse-support .monaco-list-row{cursor:pointer;touch-action:none}.monaco-list-row.scrolling{display:none!important}.monaco-list.element-focused,.monaco-list.selection-single,.monaco-list.selection-multiple{outline:0!important}.monaco-drag-image{display:inline-block;padding:1px 7px;border-radius:10px;font-size:12px;position:absolute;z-index:1000}.monaco-list-type-filter-message{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;padding:40px 1em 1em;text-align:center;white-space:normal;opacity:.7;pointer-events:none}.monaco-list-type-filter-message:empty{display:none}.monaco-select-box-dropdown-padding{--dropdown-padding-top: 1px;--dropdown-padding-bottom: 1px}.hc-black .monaco-select-box-dropdown-padding,.hc-light .monaco-select-box-dropdown-padding{--dropdown-padding-top: 3px;--dropdown-padding-bottom: 4px}.monaco-select-box-dropdown-container{display:none;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown *{margin:0}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown a:focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown code{line-height:15px;font-family:var(--monaco-monospace-font)}.monaco-select-box-dropdown-container.visible{display:flex;flex-direction:column;text-align:left;width:1px;overflow:hidden;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container{flex:0 0 auto;align-self:flex-start;padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom);padding-left:1px;padding-right:1px;width:100%;overflow:hidden;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane{padding:5px}.hc-black .monaco-select-box-dropdown-container>.select-box-dropdown-list-container{padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom)}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row{cursor:pointer}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-text{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-detail{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left;opacity:.7}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-decorator-right{text-overflow:ellipsis;overflow:hidden;padding-right:10px;white-space:nowrap;float:right}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.visually-hidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control{flex:1 1 auto;align-self:flex-start;opacity:0}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div{overflow:hidden;max-height:0px}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div>.option-text-width-control{padding-left:4px;padding-right:8px;white-space:nowrap}.monaco-select-box{width:100%;cursor:pointer;border-radius:2px}.monaco-select-box-dropdown-container{font-size:13px;font-weight:400;text-transform:none}.monaco-action-bar .action-item.select-container{cursor:default}.monaco-action-bar .action-item .monaco-select-box{cursor:pointer;min-width:100px;min-height:18px;padding:2px 23px 2px 8px}.mac .monaco-action-bar .action-item .monaco-select-box{font-size:11px;border-radius:5px}.monaco-action-bar{white-space:nowrap;height:100%}.monaco-action-bar .actions-container{display:flex;margin:0 auto;padding:0;height:100%;width:100%;align-items:center}.monaco-action-bar.vertical .actions-container{display:inline-block}.monaco-action-bar .action-item{display:block;align-items:center;justify-content:center;cursor:pointer;position:relative}.monaco-action-bar .action-item.disabled{cursor:default}.monaco-action-bar .action-item .icon,.monaco-action-bar .action-item .codicon{display:block}.monaco-action-bar .action-item .codicon{display:flex;align-items:center;width:16px;height:16px}.monaco-action-bar .action-label{display:flex;font-size:11px;padding:3px;border-radius:5px}.monaco-action-bar .action-item.disabled .action-label,.monaco-action-bar .action-item.disabled .action-label:before,.monaco-action-bar .action-item.disabled .action-label:hover{opacity:.6}.monaco-action-bar.vertical{text-align:left}.monaco-action-bar.vertical .action-item{display:block}.monaco-action-bar.vertical .action-label.separator{display:block;border-bottom:1px solid #bbb;padding-top:1px;margin-left:.8em;margin-right:.8em}.monaco-action-bar .action-item .action-label.separator{width:1px;height:16px;margin:5px 4px!important;cursor:default;min-width:1px;padding:0;background-color:#bbb}.secondary-actions .monaco-action-bar .action-label{margin-left:6px}.monaco-action-bar .action-item.select-container{overflow:hidden;flex:1;max-width:170px;min-width:60px;display:flex;align-items:center;justify-content:center;margin-right:10px}.monaco-action-bar .action-item.action-dropdown-item{display:flex}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator{display:flex;align-items:center;cursor:default}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator>div{width:1px}.monaco-diff-editor .diff-review-line-number{text-align:right;display:inline-block;color:var(--vscode-editorLineNumber-foreground)}.monaco-diff-editor .diff-review{position:absolute;-moz-user-select:none;user-select:none;-webkit-user-select:none;z-index:99}.monaco-diff-editor .diff-review-summary{padding-left:10px}.monaco-diff-editor .diff-review-shadow{position:absolute;box-shadow:var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset}.monaco-diff-editor .diff-review-row{white-space:pre}.monaco-diff-editor .diff-review-table{display:table;min-width:100%}.monaco-diff-editor .diff-review-row{display:table-row;width:100%}.monaco-diff-editor .diff-review-spacer{display:inline-block;width:10px;vertical-align:middle}.monaco-diff-editor .diff-review-spacer>.codicon{font-size:9px!important}.monaco-diff-editor .diff-review-actions{display:inline-block;position:absolute;right:10px;top:2px;z-index:100}.monaco-diff-editor .diff-review-actions .action-label{width:16px;height:16px;margin:2px 0}.monaco-editor .selection-anchor{background-color:#007acc;width:2px!important}.monaco-editor .bracket-match{box-sizing:border-box;background-color:var(--vscode-editorBracketMatch-background);border:1px solid var(--vscode-editorBracketMatch-border)}@font-face{font-family:codicon;font-display:block;src:url(data:font/ttf;base64,AAEAAAALAIAAAwAwR1NVQiCLJXoAAAE4AAAAVE9TLzI3T0Y9AAABjAAAAGBjbWFwdZ40LQAACJQAABjeZ2x5Zl2Xvs4AACTMAADg3GhlYWRYl6BTAAAA4AAAADZoaGVhAlsC1QAAALwAAAAkaG10ePIP//wAAAHsAAAGqGxvY2FykTvAAAAhdAAAA1ZtYXhwAssBgQAAARgAAAAgbmFtZZP2uUoAAQWoAAAB+HBvc3TJSpWMAAEHoAAAF1UAAQAAASwAAAAAASz////+AS4AAQAAAAAAAAAAAAAAAAAAAaoAAQAAAAEAAMjfukxfDzz1AAsBLAAAAAB8JbCAAAAAAHwlsID////9AS4BLQAAAAgAAgAAAAAAAAABAAABqgF1ABcAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKADAAPgACREZMVAAObGF0bgAaAAQAAAAAAAAAAQAAAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAQBKwGQAAUAAAC+ANIAAAAqAL4A0gAAAJAADgBNAAACAAUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBmRWQAwOpg7BEBLAAAABsBRwADAAAAAQAAAAAAAAAAAAAAAAACAAAAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASz//wEsAAABLAAAASwAAAEsAAABLP//ASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLP//ASwAAAEsAAABLAAAASz//wEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAAAAABQAAAAMAAAAsAAAABAAABNYAAQAAAAAD0AADAAEAAAAsAAMACgAABNYABAOkAAAAEAAQAAMAAOqI6ozqx+rJ6wnrTuwR//8AAOpg6orqj+rJ6szrC+tQ//8AAAAAAAAAAAAAAAAAAAABABAAYABkANQA1AFOAdQAAAADAOEBMgEvAKoBIAF2AQ8BUQD6AVYASgGfAUUBTgFNAIkANAEZAH4AwADuAD8BdABzABYBnQCTAIABLAEIAP8BAAGHALoAngCuAYEBYQCDAXIBWgFpAWcBWwFqAXEBbAFlALABYAFuAAIABAAFAAoACwAMAA0ADgAPABAAEgAaABwAHQAeAFYAVwBYAFkAXABdACEAIgAjACQAJQAoACoAKwAsAC0ALgAvADAAMQAyADMAOgA3ADsAPAA9AD4AQABBAEMARABFAEcATwBQAFEAUgBhAGMAZQBoAGwAbgBvAHAAcQByAHQAdQB2AHcAeAB5AHoAewB8AH0AfwCBAIQAhwCIAIsAjACNAI4AjwCQAJEAkgCUAJYAlwCYAJkAmgCbAJ0AnwCgAKEAjACiAKMApACrAKwArwCxALUAtgC5ALsAvAC9AL4AxADFAMYAxwDIAMkAygDLAOAA4gDjAOYA6QDqAOsA7ADwAPEA9AD1APYA+QD7APwA/QD+AQIBAwEGAQcBCgELAREBFQEWARcBGAEaARsBHAEdAR4BHwEkASUBJgEnASgBKQEqASsBLQEuATABMQEzATQBNQE2ATcBOAE5AT4BPwFAAUEBQgFEAUkBSgFLAUwBTwFQAVMBVAFVAVcBWAFcAV0BXgFfAWIBYwFkAWYBaAFrAW0BbwF4AXkBggGDAYQBhQGGAYgBiQGKAYsBjAGQAZIBkwGUAZcBmAGZAZsBnAGgAaEBogGjAaQBqAGpAOQA5QDnAOgAWgBbAGoAOABrAF4BcABpAG0AZwBVACYAJwD3AIUAigC3AZEAAQAXAF8A3wEJATsBcwETAK0BSAFHAQ0BWQEUASIAVAGaAEIA+ACGALIA7wEFASMAKQESAQwANQA2AEYBdQGVAY8BjQGOAKYBOgE8AQQAZgGlAacBpgF7AXwBfQF+AX8BgAF6ABEATgEOAJUBngBkAMIAzgDNAMwATQBMAEsAFADDAKUApwBTAGIBPQCcAGAAFQCzALQBEAAfACAA7QATAZYBAQDeAM8A0ADVANMA1ADXANgA2gDcAN0A0gDRAXcAvwEhAIIABgAHAAgACQDbANYA2QAbALgA8wDyADkAGQAYAEkAqACpAUMASAFGAVIAwQAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAUCAAAAAAAAAGqAADqYAAA6mAAAAADAADqYQAA6mEAAADhAADqYgAA6mIAAAEyAADqYwAA6mMAAAEvAADqZAAA6mQAAACqAADqZQAA6mUAAAEgAADqZgAA6mYAAAF2AADqZwAA6mcAAAEPAADqaAAA6mgAAAFRAADqaQAA6mkAAAD6AADqagAA6moAAAFWAADqawAA6msAAABKAADqbAAA6mwAAAGfAADqbQAA6m0AAAFFAADqbgAA6m4AAAFOAADqbwAA6m8AAAFNAADqcAAA6nAAAACJAADqcQAA6nEAAAA0AADqcgAA6nIAAAEZAADqcwAA6nMAAAB+AADqdAAA6nQAAADAAADqdQAA6nUAAADuAADqdgAA6nYAAAA/AADqdwAA6ncAAAF0AADqeAAA6ngAAABzAADqeQAA6nkAAAAWAADqegAA6noAAAGdAADqewAA6nsAAACTAADqfAAA6nwAAACAAADqfQAA6n0AAAEsAADqfgAA6n4AAAEIAADqfwAA6n8AAAD/AADqgAAA6oAAAAEAAADqgQAA6oEAAAGHAADqggAA6oIAAAC6AADqgwAA6oMAAACeAADqhAAA6oQAAACuAADqhQAA6oUAAAGBAADqhgAA6oYAAAFhAADqhwAA6ocAAACDAADqiAAA6ogAAAFyAADqigAA6ooAAAFaAADqiwAA6osAAAFpAADqjAAA6owAAAFnAADqjwAA6o8AAAFbAADqkAAA6pAAAAFqAADqkQAA6pEAAAFxAADqkgAA6pIAAAFsAADqkwAA6pMAAAFlAADqlAAA6pQAAACwAADqlQAA6pUAAAFgAADqlgAA6pYAAAFuAADqlwAA6pcAAAACAADqmAAA6pgAAAAEAADqmQAA6pkAAAAFAADqmgAA6poAAAAKAADqmwAA6psAAAALAADqnAAA6pwAAAAMAADqnQAA6p0AAAANAADqngAA6p4AAAAOAADqnwAA6p8AAAAPAADqoAAA6qAAAAAQAADqoQAA6qEAAAASAADqogAA6qIAAAAaAADqowAA6qMAAAAcAADqpAAA6qQAAAAdAADqpQAA6qUAAAAeAADqpgAA6qYAAABWAADqpwAA6qcAAABXAADqqAAA6qgAAABYAADqqQAA6qkAAABZAADqqgAA6qoAAABcAADqqwAA6qsAAABdAADqrAAA6qwAAAAhAADqrQAA6q0AAAAiAADqrgAA6q4AAAAjAADqrwAA6q8AAAAkAADqsAAA6rAAAAAlAADqsQAA6rEAAAAoAADqsgAA6rIAAAAqAADqswAA6rMAAAArAADqtAAA6rQAAAAsAADqtQAA6rUAAAAtAADqtgAA6rYAAAAuAADqtwAA6rcAAAAvAADquAAA6rgAAAAwAADquQAA6rkAAAAxAADqugAA6roAAAAyAADquwAA6rsAAAAzAADqvAAA6rwAAAA6AADqvQAA6r0AAAA3AADqvgAA6r4AAAA7AADqvwAA6r8AAAA8AADqwAAA6sAAAAA9AADqwQAA6sEAAAA+AADqwgAA6sIAAABAAADqwwAA6sMAAABBAADqxAAA6sQAAABDAADqxQAA6sUAAABEAADqxgAA6sYAAABFAADqxwAA6scAAABHAADqyQAA6skAAABPAADqzAAA6swAAABQAADqzQAA6s0AAABRAADqzgAA6s4AAABSAADqzwAA6s8AAABhAADq0AAA6tAAAABjAADq0QAA6tEAAABlAADq0gAA6tIAAABoAADq0wAA6tMAAABsAADq1AAA6tQAAABuAADq1QAA6tUAAABvAADq1gAA6tYAAABwAADq1wAA6tcAAABxAADq2AAA6tgAAAByAADq2QAA6tkAAAB0AADq2gAA6toAAAB1AADq2wAA6tsAAAB2AADq3AAA6twAAAB3AADq3QAA6t0AAAB4AADq3gAA6t4AAAB5AADq3wAA6t8AAAB6AADq4AAA6uAAAAB7AADq4QAA6uEAAAB8AADq4gAA6uIAAAB9AADq4wAA6uMAAAB/AADq5AAA6uQAAACBAADq5QAA6uUAAACEAADq5gAA6uYAAACHAADq5wAA6ucAAACIAADq6AAA6ugAAACLAADq6QAA6ukAAACMAADq6gAA6uoAAACNAADq6wAA6usAAACOAADq7AAA6uwAAACPAADq7QAA6u0AAACQAADq7gAA6u4AAACRAADq7wAA6u8AAACSAADq8AAA6vAAAACUAADq8QAA6vEAAACWAADq8gAA6vIAAACXAADq8wAA6vMAAACYAADq9AAA6vQAAACZAADq9QAA6vUAAACaAADq9gAA6vYAAACbAADq9wAA6vcAAACdAADq+AAA6vgAAACfAADq+QAA6vkAAACgAADq+gAA6voAAAChAADq+wAA6vsAAACMAADq/AAA6vwAAACiAADq/QAA6v0AAACjAADq/gAA6v4AAACkAADq/wAA6v8AAACrAADrAAAA6wAAAACsAADrAQAA6wEAAACvAADrAgAA6wIAAACxAADrAwAA6wMAAAC1AADrBAAA6wQAAAC2AADrBQAA6wUAAAC5AADrBgAA6wYAAAC7AADrBwAA6wcAAAC8AADrCAAA6wgAAAC9AADrCQAA6wkAAAC+AADrCwAA6wsAAADEAADrDAAA6wwAAADFAADrDQAA6w0AAADGAADrDgAA6w4AAADHAADrDwAA6w8AAADIAADrEAAA6xAAAADJAADrEQAA6xEAAADKAADrEgAA6xIAAADLAADrEwAA6xMAAADgAADrFAAA6xQAAADiAADrFQAA6xUAAADjAADrFgAA6xYAAADmAADrFwAA6xcAAADpAADrGAAA6xgAAADqAADrGQAA6xkAAADrAADrGgAA6xoAAADsAADrGwAA6xsAAADwAADrHAAA6xwAAADxAADrHQAA6x0AAAD0AADrHgAA6x4AAAD1AADrHwAA6x8AAAD2AADrIAAA6yAAAAD5AADrIQAA6yEAAAD7AADrIgAA6yIAAAD8AADrIwAA6yMAAAD9AADrJAAA6yQAAAD+AADrJQAA6yUAAAECAADrJgAA6yYAAAEDAADrJwAA6ycAAAEGAADrKAAA6ygAAAEHAADrKQAA6ykAAAEKAADrKgAA6yoAAAELAADrKwAA6ysAAAERAADrLAAA6ywAAAEVAADrLQAA6y0AAAEWAADrLgAA6y4AAAEXAADrLwAA6y8AAAEYAADrMAAA6zAAAAEaAADrMQAA6zEAAAEbAADrMgAA6zIAAAEcAADrMwAA6zMAAAEdAADrNAAA6zQAAAEeAADrNQAA6zUAAAEfAADrNgAA6zYAAAEkAADrNwAA6zcAAAElAADrOAAA6zgAAAEmAADrOQAA6zkAAAEnAADrOgAA6zoAAAEoAADrOwAA6zsAAAEpAADrPAAA6zwAAAEqAADrPQAA6z0AAAErAADrPgAA6z4AAAEtAADrPwAA6z8AAAEuAADrQAAA60AAAAEwAADrQQAA60EAAAExAADrQgAA60IAAAEzAADrQwAA60MAAAE0AADrRAAA60QAAAE1AADrRQAA60UAAAE2AADrRgAA60YAAAE3AADrRwAA60cAAAE4AADrSAAA60gAAAE5AADrSQAA60kAAAE+AADrSgAA60oAAAE/AADrSwAA60sAAAFAAADrTAAA60wAAAFBAADrTQAA600AAAFCAADrTgAA604AAAFEAADrUAAA61AAAAFJAADrUQAA61EAAAFKAADrUgAA61IAAAFLAADrUwAA61MAAAFMAADrVAAA61QAAAFPAADrVQAA61UAAAFQAADrVgAA61YAAAFTAADrVwAA61cAAAFUAADrWAAA61gAAAFVAADrWQAA61kAAAFXAADrWgAA61oAAAFYAADrWwAA61sAAAFcAADrXAAA61wAAAFdAADrXQAA610AAAFeAADrXgAA614AAAFfAADrXwAA618AAAFiAADrYAAA62AAAAFjAADrYQAA62EAAAFkAADrYgAA62IAAAFmAADrYwAA62MAAAFoAADrZAAA62QAAAFrAADrZQAA62UAAAFtAADrZgAA62YAAAFvAADrZwAA62cAAAF4AADraAAA62gAAAF5AADraQAA62kAAAGCAADragAA62oAAAGDAADrawAA62sAAAGEAADrbAAA62wAAAGFAADrbQAA620AAAGGAADrbgAA624AAAGIAADrbwAA628AAAGJAADrcAAA63AAAAGKAADrcQAA63EAAAGLAADrcgAA63IAAAGMAADrcwAA63MAAAGQAADrdAAA63QAAAGSAADrdQAA63UAAAGTAADrdgAA63YAAAGUAADrdwAA63cAAAGXAADreAAA63gAAAGYAADreQAA63kAAAGZAADregAA63oAAAGbAADrewAA63sAAAGcAADrfAAA63wAAAGgAADrfQAA630AAAGhAADrfgAA634AAAGiAADrfwAA638AAAGjAADrgAAA64AAAAGkAADrgQAA64EAAAGoAADrggAA64IAAAGpAADrgwAA64MAAADkAADrhAAA64QAAADlAADrhQAA64UAAADnAADrhgAA64YAAADoAADrhwAA64cAAABaAADriAAA64gAAABbAADriQAA64kAAABqAADrigAA64oAAAA4AADriwAA64sAAABrAADrjAAA64wAAABeAADrjQAA640AAAFwAADrjgAA644AAABpAADrjwAA648AAABtAADrkAAA65AAAABnAADrkQAA65EAAABVAADrkgAA65IAAAAmAADrkwAA65MAAAAnAADrlAAA65QAAAD3AADrlQAA65UAAACFAADrlgAA65YAAACKAADrlwAA65cAAAC3AADrmAAA65gAAAGRAADrmQAA65kAAAABAADrmgAA65oAAAAXAADrmwAA65sAAABfAADrnAAA65wAAADfAADrnQAA650AAAEJAADrngAA654AAAE7AADrnwAA658AAAFzAADroAAA66AAAAETAADroQAA66EAAACtAADrogAA66IAAAFIAADrowAA66MAAAFHAADrpAAA66QAAAENAADrpQAA66UAAAFZAADrpgAA66YAAAEUAADrpwAA66cAAAEiAADrqAAA66gAAABUAADrqQAA66kAAAGaAADrqgAA66oAAABCAADrqwAA66sAAAD4AADrrAAA66wAAACGAADrrQAA660AAACyAADrrgAA664AAADvAADrrwAA668AAAEFAADrsAAA67AAAAEjAADrsQAA67EAAAApAADrsgAA67IAAAESAADrswAA67MAAAEMAADrtAAA67QAAAA1AADrtQAA67UAAAA2AADrtgAA67YAAABGAADrtwAA67cAAAF1AADruAAA67gAAAGVAADruQAA67kAAAGPAADrugAA67oAAAGNAADruwAA67sAAAGOAADrvAAA67wAAACmAADrvQAA670AAAE6AADrvgAA674AAAE8AADrvwAA678AAAEEAADrwAAA68AAAABmAADrwQAA68EAAAGlAADrwgAA68IAAAGnAADrwwAA68MAAAGmAADrxAAA68QAAAF7AADrxQAA68UAAAF8AADrxgAA68YAAAF9AADrxwAA68cAAAF+AADryAAA68gAAAF/AADryQAA68kAAAGAAADrygAA68oAAAF6AADrywAA68sAAAARAADrzAAA68wAAABOAADrzQAA680AAAEOAADrzgAA684AAACVAADrzwAA688AAAGeAADr0AAA69AAAABkAADr0QAA69EAAADCAADr0gAA69IAAADOAADr0wAA69MAAADNAADr1AAA69QAAADMAADr1QAA69UAAABNAADr1gAA69YAAABMAADr1wAA69cAAABLAADr2AAA69gAAAAUAADr2QAA69kAAADDAADr2gAA69oAAAClAADr2wAA69sAAACnAADr3AAA69wAAABTAADr3QAA690AAABiAADr3gAA694AAAE9AADr3wAA698AAACcAADr4AAA6+AAAABgAADr4QAA6+EAAAAVAADr4gAA6+IAAACzAADr4wAA6+MAAAC0AADr5AAA6+QAAAEQAADr5QAA6+UAAAAfAADr5gAA6+YAAAAgAADr5wAA6+cAAADtAADr6AAA6+gAAAATAADr6QAA6+kAAAGWAADr6gAA6+oAAAEBAADr6wAA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AAAAAAAAAAAAAAAAAAAAAAAAAAABqgECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkBOgE7ATwBPQE+AT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAVEBUgFTAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8BcAFxAXIBcwF0AXUBdgF3AXgBeQF6AXsBfAF9AX4BfwGAAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B3wHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMB9AH1AfYB9wH4AfkB+gH7AfwB/QH+Af8CAAIBAgICAwIEAgUCBgIHAggCCQIKAgsCDAINAg4CDwIQAhECEgITAhQCFQIWAhcCGAIZAhoCGwIcAh0CHgIfAiACIQIiAiMCJAIlAiYCJwIoAikCKgIrAiwCLQIuAi8CMAIxAjICMwI0AjUCNgI3AjgCOQI6AjsCPAI9Aj4CPwJAAkECQgJDAkQCRQJGAkcCSAJJAkoCSwJMAk0CTgJPAlACUQJSAlMCVAJVAlYCVwJYAlkCWgJbAlwCXQJeAl8CYAJhAmICYwJkAmUCZgJnAmgCaQJqAmsCbAJtAm4CbwJwAnECcgJzAnQCdQJ2AncCeAJ5AnoCewJ8An0CfgJ/AoACgQKCAoMChAKFAoYChwKIAokCigKLAowCjQKOAo8CkAKRApICkwKUApUClgKXApgCmQKaApsCnAKdAp4CnwKgAqECogKjAqQCpQKmAqcCqAKpAqoCqwAHYWNjb3VudBRhY3RpdmF0ZS1icmVha3BvaW50cwNhZGQHYXJjaGl2ZQphcnJvdy1ib3RoEWFycm93LWNpcmNsZS1kb3duEWFycm93LWNpcmNsZS1sZWZ0EmFycm93LWNpcmNsZS1yaWdodA9hcnJvdy1jaXJjbGUtdXAKYXJyb3ctZG93bgphcnJvdy1sZWZ0C2Fycm93LXJpZ2h0EGFycm93LXNtYWxsLWRvd24QYXJyb3ctc21hbGwtbGVmdBFhcnJvdy1zbWFsbC1yaWdodA5hcnJvdy1zbWFsbC11cAphcnJvdy1zd2FwCGFycm93LXVwDGF6dXJlLWRldm9wcwVhenVyZQtiZWFrZXItc3RvcAZiZWFrZXIIYmVsbC1kb3QOYmVsbC1zbGFzaC1kb3QKYmVsbC1zbGFzaARiZWxsBWJsYW5rBGJvbGQEYm9vawhib29rbWFyawticmFja2V0LWRvdA1icmFja2V0LWVycm9yCWJyaWVmY2FzZQlicm9hZGNhc3QHYnJvd3NlcgNidWcIY2FsZW5kYXINY2FsbC1pbmNvbWluZw1jYWxsLW91dGdvaW5nDmNhc2Utc2Vuc2l0aXZlCWNoZWNrLWFsbAVjaGVjawljaGVja2xpc3QMY2hldnJvbi1kb3duDGNoZXZyb24tbGVmdA1jaGV2cm9uLXJpZ2h0CmNoZXZyb24tdXAMY2hyb21lLWNsb3NlD2Nocm9tZS1tYXhpbWl6ZQ9jaHJvbWUtbWluaW1pemUOY2hyb21lLXJlc3RvcmUNY2lyY2xlLWZpbGxlZBNjaXJjbGUtbGFyZ2UtZmlsbGVkDGNpcmNsZS1sYXJnZQxjaXJjbGUtc2xhc2gTY2lyY2xlLXNtYWxsLWZpbGxlZAxjaXJjbGUtc21hbGwGY2lyY2xlDWNpcmN1aXQtYm9hcmQJY2xlYXItYWxsBmNsaXBweQljbG9zZS1hbGwFY2xvc2UOY2xvdWQtZG93bmxvYWQMY2xvdWQtdXBsb2FkBWNsb3VkBGNvZGUMY29sbGFwc2UtYWxsCmNvbG9yLW1vZGUHY29tYmluZRJjb21tZW50LWRpc2N1c3Npb24NY29tbWVudC1kcmFmdBJjb21tZW50LXVucmVzb2x2ZWQHY29tbWVudA5jb21wYXNzLWFjdGl2ZQtjb21wYXNzLWRvdAdjb21wYXNzBGNvcHkLY3JlZGl0LWNhcmQEZGFzaAlkYXNoYm9hcmQIZGF0YWJhc2UJZGVidWctYWxsD2RlYnVnLWFsdC1zbWFsbAlkZWJ1Zy1hbHQnZGVidWctYnJlYWtwb2ludC1jb25kaXRpb25hbC11bnZlcmlmaWVkHGRlYnVnLWJyZWFrcG9pbnQtY29uZGl0aW9uYWwgZGVidWctYnJlYWtwb2ludC1kYXRhLXVudmVyaWZpZWQVZGVidWctYnJlYWtwb2ludC1kYXRhJGRlYnVnLWJyZWFrcG9pbnQtZnVuY3Rpb24tdW52ZXJpZmllZBlkZWJ1Zy1icmVha3BvaW50LWZ1bmN0aW9uH2RlYnVnLWJyZWFrcG9pbnQtbG9nLXVudmVyaWZpZWQUZGVidWctYnJlYWtwb2ludC1sb2ccZGVidWctYnJlYWtwb2ludC11bnN1cHBvcnRlZA1kZWJ1Zy1jb25zb2xlFGRlYnVnLWNvbnRpbnVlLXNtYWxsDmRlYnVnLWNvbnRpbnVlDmRlYnVnLWNvdmVyYWdlEGRlYnVnLWRpc2Nvbm5lY3QSZGVidWctbGluZS1ieS1saW5lC2RlYnVnLXBhdXNlC2RlYnVnLXJlcnVuE2RlYnVnLXJlc3RhcnQtZnJhbWUNZGVidWctcmVzdGFydBZkZWJ1Zy1yZXZlcnNlLWNvbnRpbnVlF2RlYnVnLXN0YWNrZnJhbWUtYWN0aXZlEGRlYnVnLXN0YWNrZnJhbWULZGVidWctc3RhcnQPZGVidWctc3RlcC1iYWNrD2RlYnVnLXN0ZXAtaW50bw5kZWJ1Zy1zdGVwLW91dA9kZWJ1Zy1zdGVwLW92ZXIKZGVidWctc3RvcAVkZWJ1ZxBkZXNrdG9wLWRvd25sb2FkE2RldmljZS1jYW1lcmEtdmlkZW8NZGV2aWNlLWNhbWVyYQ1kZXZpY2UtbW9iaWxlCmRpZmYtYWRkZWQMZGlmZi1pZ25vcmVkDWRpZmYtbW9kaWZpZWQMZGlmZi1yZW1vdmVkDGRpZmYtcmVuYW1lZARkaWZmB2Rpc2NhcmQEZWRpdA1lZGl0b3ItbGF5b3V0CGVsbGlwc2lzDGVtcHR5LXdpbmRvdwtlcnJvci1zbWFsbAVlcnJvcgdleGNsdWRlCmV4cGFuZC1hbGwGZXhwb3J0CmV4dGVuc2lvbnMKZXllLWNsb3NlZANleWUIZmVlZGJhY2sLZmlsZS1iaW5hcnkJZmlsZS1jb2RlCmZpbGUtbWVkaWEIZmlsZS1wZGYOZmlsZS1zdWJtb2R1bGUWZmlsZS1zeW1saW5rLWRpcmVjdG9yeRFmaWxlLXN5bWxpbmstZmlsZQhmaWxlLXppcARmaWxlBWZpbGVzDWZpbHRlci1maWxsZWQGZmlsdGVyBWZsYW1lCWZvbGQtZG93bgdmb2xkLXVwBGZvbGQNZm9sZGVyLWFjdGl2ZQ5mb2xkZXItbGlicmFyeQ1mb2xkZXItb3BlbmVkBmZvbGRlcgRnZWFyBGdpZnQLZ2lzdC1zZWNyZXQKZ2l0LWNvbW1pdAtnaXQtY29tcGFyZQlnaXQtbWVyZ2UXZ2l0LXB1bGwtcmVxdWVzdC1jbG9zZWQXZ2l0LXB1bGwtcmVxdWVzdC1jcmVhdGUWZ2l0LXB1bGwtcmVxdWVzdC1kcmFmdB5naXQtcHVsbC1yZXF1ZXN0LWdvLXRvLWNoYW5nZXMcZ2l0LXB1bGwtcmVxdWVzdC1uZXctY2hhbmdlcxBnaXQtcHVsbC1yZXF1ZXN0DWdpdGh1Yi1hY3Rpb24KZ2l0aHViLWFsdA9naXRodWItaW52ZXJ0ZWQGZ2l0aHViBWdsb2JlCmdvLXRvLWZpbGUHZ3JhYmJlcgpncmFwaC1sZWZ0CmdyYXBoLWxpbmUNZ3JhcGgtc2NhdHRlcgVncmFwaAdncmlwcGVyEWdyb3VwLWJ5LXJlZi10eXBlDGhlYXJ0LWZpbGxlZAVoZWFydAdoaXN0b3J5BGhvbWUPaG9yaXpvbnRhbC1ydWxlBWh1Ym90BWluYm94BmluZGVudARpbmZvBmluc2VydAdpbnNwZWN0C2lzc3VlLWRyYWZ0Dmlzc3VlLXJlb3BlbmVkBmlzc3VlcwZpdGFsaWMGamVyc2V5BGpzb24Oa2ViYWItdmVydGljYWwDa2V5A2xhdw1sYXllcnMtYWN0aXZlCmxheWVycy1kb3QGbGF5ZXJzF2xheW91dC1hY3Rpdml0eWJhci1sZWZ0GGxheW91dC1hY3Rpdml0eWJhci1yaWdodA9sYXlvdXQtY2VudGVyZWQObGF5b3V0LW1lbnViYXITbGF5b3V0LXBhbmVsLWNlbnRlchRsYXlvdXQtcGFuZWwtanVzdGlmeRFsYXlvdXQtcGFuZWwtbGVmdBBsYXlvdXQtcGFuZWwtb2ZmEmxheW91dC1wYW5lbC1yaWdodAxsYXlvdXQtcGFuZWwXbGF5b3V0LXNpZGViYXItbGVmdC1vZmYTbGF5b3V0LXNpZGViYXItbGVmdBhsYXlvdXQtc2lkZWJhci1yaWdodC1vZmYUbGF5b3V0LXNpZGViYXItcmlnaHQQbGF5b3V0LXN0YXR1c2JhcgZsYXlvdXQHbGlicmFyeRFsaWdodGJ1bGItYXV0b2ZpeAlsaWdodGJ1bGINbGluay1leHRlcm5hbARsaW5rC2xpc3QtZmlsdGVyCWxpc3QtZmxhdAxsaXN0LW9yZGVyZWQObGlzdC1zZWxlY3Rpb24JbGlzdC10cmVlDmxpc3QtdW5vcmRlcmVkCmxpdmUtc2hhcmUHbG9hZGluZwhsb2NhdGlvbgpsb2NrLXNtYWxsBGxvY2sGbWFnbmV0CW1haWwtcmVhZARtYWlsCm1hcC1maWxsZWQDbWFwCG1hcmtkb3duCW1lZ2FwaG9uZQdtZW50aW9uBG1lbnUFbWVyZ2UJbWlsZXN0b25lBm1pcnJvcgxtb3J0YXItYm9hcmQEbW92ZRBtdWx0aXBsZS13aW5kb3dzBG11dGUIbmV3LWZpbGUKbmV3LWZvbGRlcgduZXdsaW5lCm5vLW5ld2xpbmUEbm90ZRFub3RlYm9vay10ZW1wbGF0ZQhub3RlYm9vawhvY3RvZmFjZQxvcGVuLXByZXZpZXcMb3JnYW5pemF0aW9uBm91dHB1dAdwYWNrYWdlCHBhaW50Y2FuC3Bhc3MtZmlsbGVkBHBhc3MKcGVyc29uLWFkZAZwZXJzb24JcGllLWNoYXJ0A3BpbgxwaW5uZWQtZGlydHkGcGlubmVkC3BsYXktY2lyY2xlBHBsYXkEcGx1Zw1wcmVzZXJ2ZS1jYXNlB3ByZXZpZXcQcHJpbWl0aXZlLXNxdWFyZQdwcm9qZWN0BXB1bHNlCHF1ZXN0aW9uBXF1b3RlC3JhZGlvLXRvd2VyCXJlYWN0aW9ucwtyZWNvcmQta2V5cwxyZWNvcmQtc21hbGwGcmVjb3JkBHJlZG8KcmVmZXJlbmNlcwdyZWZyZXNoBXJlZ2V4D3JlbW90ZS1leHBsb3JlcgZyZW1vdGUGcmVtb3ZlC3JlcGxhY2UtYWxsB3JlcGxhY2UFcmVwbHkKcmVwby1jbG9uZQ9yZXBvLWZvcmNlLXB1c2gLcmVwby1mb3JrZWQJcmVwby1wdWxsCXJlcG8tcHVzaARyZXBvBnJlcG9ydA9yZXF1ZXN0LWNoYW5nZXMGcm9ja2V0EnJvb3QtZm9sZGVyLW9wZW5lZAtyb290LWZvbGRlcgNyc3MEcnVieQlydW4tYWJvdmUHcnVuLWFsbAlydW4tYmVsb3cKcnVuLWVycm9ycwhzYXZlLWFsbAdzYXZlLWFzBHNhdmULc2NyZWVuLWZ1bGwNc2NyZWVuLW5vcm1hbAxzZWFyY2gtZnV6enkLc2VhcmNoLXN0b3AGc2VhcmNoBHNlbmQSc2VydmVyLWVudmlyb25tZW50DnNlcnZlci1wcm9jZXNzBnNlcnZlcg1zZXR0aW5ncy1nZWFyCHNldHRpbmdzBnNoaWVsZAdzaWduLWluCHNpZ24tb3V0BnNtaWxleQ9zb3J0LXByZWNlZGVuY2UOc291cmNlLWNvbnRyb2wHc3BhcmtsZRBzcGxpdC1ob3Jpem9udGFsDnNwbGl0LXZlcnRpY2FsCHNxdWlycmVsCnN0YXItZW1wdHkJc3Rhci1mdWxsCXN0YXItaGFsZgtzdG9wLWNpcmNsZQxzeW1ib2wtYXJyYXkOc3ltYm9sLWJvb2xlYW4Mc3ltYm9sLWNsYXNzDHN5bWJvbC1jb2xvcg9zeW1ib2wtY29uc3RhbnQSc3ltYm9sLWVudW0tbWVtYmVyC3N5bWJvbC1lbnVtDHN5bWJvbC1ldmVudAxzeW1ib2wtZmllbGQLc3ltYm9sLWZpbGUQc3ltYm9sLWludGVyZmFjZQpzeW1ib2wta2V5DnN5bWJvbC1rZXl3b3JkDXN5bWJvbC1tZXRob2QLc3ltYm9sLW1pc2MQc3ltYm9sLW5hbWVzcGFjZQ5zeW1ib2wtbnVtZXJpYw9zeW1ib2wtb3BlcmF0b3IQc3ltYm9sLXBhcmFtZXRlcg9zeW1ib2wtcHJvcGVydHkMc3ltYm9sLXJ1bGVyDnN5bWJvbC1zbmlwcGV0DXN5bWJvbC1zdHJpbmcQc3ltYm9sLXN0cnVjdHVyZQ9zeW1ib2wtdmFyaWFibGUMc3luYy1pZ25vcmVkBHN5bmMFdGFibGUDdGFnBnRhcmdldAh0YXNrbGlzdAl0ZWxlc2NvcGUNdGVybWluYWwtYmFzaAx0ZXJtaW5hbC1jbWQPdGVybWluYWwtZGViaWFuDnRlcm1pbmFsLWxpbnV4E3Rlcm1pbmFsLXBvd2Vyc2hlbGwNdGVybWluYWwtdG11eA90ZXJtaW5hbC11YnVudHUIdGVybWluYWwJdGV4dC1zaXplCnRocmVlLWJhcnMKdGh1bWJzZG93bgh0aHVtYnN1cAV0b29scwV0cmFzaA10cmlhbmdsZS1kb3duDXRyaWFuZ2xlLWxlZnQOdHJpYW5nbGUtcmlnaHQLdHJpYW5nbGUtdXAHdHdpdHRlchJ0eXBlLWhpZXJhcmNoeS1zdWIUdHlwZS1oaWVyYXJjaHktc3VwZXIOdHlwZS1oaWVyYXJjaHkGdW5mb2xkE3VuZ3JvdXAtYnktcmVmLXR5cGUGdW5sb2NrBnVubXV0ZQp1bnZlcmlmaWVkDnZhcmlhYmxlLWdyb3VwD3ZlcmlmaWVkLWZpbGxlZAh2ZXJpZmllZAh2ZXJzaW9ucwl2bS1hY3RpdmUKdm0tY29ubmVjdAp2bS1vdXRsaW5lCnZtLXJ1bm5pbmcCdm0Ed2FuZAd3YXJuaW5nBXdhdGNoCndoaXRlc3BhY2UKd2hvbGUtd29yZAZ3aW5kb3cJd29yZC13cmFwEXdvcmtzcGFjZS10cnVzdGVkEXdvcmtzcGFjZS11bmtub3duE3dvcmtzcGFjZS11bnRydXN0ZWQHem9vbS1pbgh6b29tLW91dAAAAAAA) format("truetype")}.codicon[class*=codicon-]{font: 16px/1 codicon;display:inline-block;text-decoration:none;text-rendering:auto;text-align:center;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-user-select:none;user-select:none;-webkit-user-select:none}.codicon-wrench-subaction{opacity:.5}@keyframes codicon-spin{to{transform:rotate(360deg)}}.codicon-sync.codicon-modifier-spin,.codicon-loading.codicon-modifier-spin,.codicon-gear.codicon-modifier-spin,.codicon-notebook-state-executing.codicon-modifier-spin{animation:codicon-spin 1.5s steps(30) infinite}.codicon-modifier-disabled{opacity:.4}.codicon-loading,.codicon-tree-item-loading:before{animation-duration:1s!important;animation-timing-function:cubic-bezier(.53,.21,.29,.67)!important}.monaco-editor .codicon.codicon-symbol-array,.monaco-workbench .codicon.codicon-symbol-array{color:var(--vscode-symbolIcon-arrayForeground)}.monaco-editor .codicon.codicon-symbol-boolean,.monaco-workbench .codicon.codicon-symbol-boolean{color:var(--vscode-symbolIcon-booleanForeground)}.monaco-editor .codicon.codicon-symbol-class,.monaco-workbench .codicon.codicon-symbol-class{color:var(--vscode-symbolIcon-classForeground)}.monaco-editor .codicon.codicon-symbol-method,.monaco-workbench .codicon.codicon-symbol-method{color:var(--vscode-symbolIcon-methodForeground)}.monaco-editor .codicon.codicon-symbol-color,.monaco-workbench .codicon.codicon-symbol-color{color:var(--vscode-symbolIcon-colorForeground)}.monaco-editor .codicon.codicon-symbol-constant,.monaco-workbench .codicon.codicon-symbol-constant{color:var(--vscode-symbolIcon-constantForeground)}.monaco-editor .codicon.codicon-symbol-constructor,.monaco-workbench .codicon.codicon-symbol-constructor{color:var(--vscode-symbolIcon-constructorForeground)}.monaco-editor .codicon.codicon-symbol-value,.monaco-workbench .codicon.codicon-symbol-value,.monaco-editor .codicon.codicon-symbol-enum,.monaco-workbench .codicon.codicon-symbol-enum{color:var(--vscode-symbolIcon-enumeratorForeground)}.monaco-editor .codicon.codicon-symbol-enum-member,.monaco-workbench .codicon.codicon-symbol-enum-member{color:var(--vscode-symbolIcon-enumeratorMemberForeground)}.monaco-editor .codicon.codicon-symbol-event,.monaco-workbench .codicon.codicon-symbol-event{color:var(--vscode-symbolIcon-eventForeground)}.monaco-editor .codicon.codicon-symbol-field,.monaco-workbench .codicon.codicon-symbol-field{color:var(--vscode-symbolIcon-fieldForeground)}.monaco-editor .codicon.codicon-symbol-file,.monaco-workbench .codicon.codicon-symbol-file{color:var(--vscode-symbolIcon-fileForeground)}.monaco-editor .codicon.codicon-symbol-folder,.monaco-workbench .codicon.codicon-symbol-folder{color:var(--vscode-symbolIcon-folderForeground)}.monaco-editor .codicon.codicon-symbol-function,.monaco-workbench .codicon.codicon-symbol-function{color:var(--vscode-symbolIcon-functionForeground)}.monaco-editor .codicon.codicon-symbol-interface,.monaco-workbench .codicon.codicon-symbol-interface{color:var(--vscode-symbolIcon-interfaceForeground)}.monaco-editor .codicon.codicon-symbol-key,.monaco-workbench .codicon.codicon-symbol-key{color:var(--vscode-symbolIcon-keyForeground)}.monaco-editor .codicon.codicon-symbol-keyword,.monaco-workbench .codicon.codicon-symbol-keyword{color:var(--vscode-symbolIcon-keywordForeground)}.monaco-editor .codicon.codicon-symbol-module,.monaco-workbench .codicon.codicon-symbol-module{color:var(--vscode-symbolIcon-moduleForeground)}.monaco-editor .codicon.codicon-symbol-namespace,.monaco-workbench .codicon.codicon-symbol-namespace{color:var(--vscode-symbolIcon-namespaceForeground)}.monaco-editor .codicon.codicon-symbol-null,.monaco-workbench .codicon.codicon-symbol-null{color:var(--vscode-symbolIcon-nullForeground)}.monaco-editor .codicon.codicon-symbol-number,.monaco-workbench .codicon.codicon-symbol-number{color:var(--vscode-symbolIcon-numberForeground)}.monaco-editor .codicon.codicon-symbol-object,.monaco-workbench .codicon.codicon-symbol-object{color:var(--vscode-symbolIcon-objectForeground)}.monaco-editor .codicon.codicon-symbol-operator,.monaco-workbench .codicon.codicon-symbol-operator{color:var(--vscode-symbolIcon-operatorForeground)}.monaco-editor .codicon.codicon-symbol-package,.monaco-workbench .codicon.codicon-symbol-package{color:var(--vscode-symbolIcon-packageForeground)}.monaco-editor .codicon.codicon-symbol-property,.monaco-workbench .codicon.codicon-symbol-property{color:var(--vscode-symbolIcon-propertyForeground)}.monaco-editor .codicon.codicon-symbol-reference,.monaco-workbench .codicon.codicon-symbol-reference{color:var(--vscode-symbolIcon-referenceForeground)}.monaco-editor .codicon.codicon-symbol-snippet,.monaco-workbench .codicon.codicon-symbol-snippet{color:var(--vscode-symbolIcon-snippetForeground)}.monaco-editor .codicon.codicon-symbol-string,.monaco-workbench .codicon.codicon-symbol-string{color:var(--vscode-symbolIcon-stringForeground)}.monaco-editor .codicon.codicon-symbol-struct,.monaco-workbench .codicon.codicon-symbol-struct{color:var(--vscode-symbolIcon-structForeground)}.monaco-editor .codicon.codicon-symbol-text,.monaco-workbench .codicon.codicon-symbol-text{color:var(--vscode-symbolIcon-textForeground)}.monaco-editor .codicon.codicon-symbol-type-parameter,.monaco-workbench .codicon.codicon-symbol-type-parameter{color:var(--vscode-symbolIcon-typeParameterForeground)}.monaco-editor .codicon.codicon-symbol-unit,.monaco-workbench .codicon.codicon-symbol-unit{color:var(--vscode-symbolIcon-unitForeground)}.monaco-editor .codicon.codicon-symbol-variable,.monaco-workbench .codicon.codicon-symbol-variable{color:var(--vscode-symbolIcon-variableForeground)}.monaco-editor .lightBulbWidget{display:flex;align-items:center;justify-content:center}.monaco-editor .lightBulbWidget:hover{cursor:pointer}.monaco-editor .lightBulbWidget.codicon-light-bulb{color:var(--vscode-editorLightBulb-foreground)}.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix{color:var(--vscode-editorLightBulbAutoFix-foreground, var(--vscode-editorLightBulb-foreground))}.monaco-editor .lightBulbWidget:before{position:relative;z-index:2}.monaco-editor .lightBulbWidget:after{position:absolute;top:0;left:0;content:"";display:block;width:100%;height:100%;opacity:.3;background-color:var(--vscode-editor-background);z-index:1}.monaco-editor .monaco-editor-overlaymessage{padding-bottom:8px;z-index:10000}.monaco-editor .monaco-editor-overlaymessage.below{padding-bottom:0;padding-top:8px;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.monaco-editor .monaco-editor-overlaymessage.fadeIn{animation:fadeIn .15s ease-out}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.monaco-editor .monaco-editor-overlaymessage.fadeOut{animation:fadeOut .1s ease-out}.monaco-editor .monaco-editor-overlaymessage .message{padding:2px 4px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-inputValidation-infoBorder);border-radius:3px}.monaco-editor .monaco-editor-overlaymessage .message p{margin-block:0px}.monaco-editor .monaco-editor-overlaymessage .message a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-editor-overlaymessage .message a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor.hc-black .monaco-editor-overlaymessage .message,.monaco-editor.hc-light .monaco-editor-overlaymessage .message{border-width:2px}.monaco-editor .monaco-editor-overlaymessage .anchor{width:0!important;height:0!important;border-color:transparent;border-style:solid;z-index:1000;border-width:8px;position:absolute;left:2px}.monaco-editor .monaco-editor-overlaymessage .anchor.top{border-bottom-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage .anchor.below{border-top-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top,.monaco-editor .monaco-editor-overlaymessage.below .anchor.below{display:none}.monaco-editor .monaco-editor-overlaymessage.below .anchor.top{display:inherit;top:-8px}.monaco-editor .rendered-markdown kbd{background-color:var(--vscode-keybindingLabel-background);color:var(--vscode-keybindingLabel-foreground);border-style:solid;border-width:1px;border-radius:3px;border-color:var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow);vertical-align:middle;padding:1px 3px}.action-widget{font-size:13px;border-radius:0;min-width:160px;max-width:500px;z-index:40;display:block;width:100%;border:1px solid var(--vscode-editorWidget-border)!important;background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground)}.context-view-block{position:fixed;cursor:initial;left:0;top:0;width:100%;height:100%;z-index:-1}.context-view-pointerBlock{position:fixed;cursor:initial;left:0;top:0;width:100%;height:100%;z-index:2}.action-widget .monaco-list{-moz-user-select:none;user-select:none;-webkit-user-select:none;border:none!important;border-width:0!important}.action-widget .monaco-list:focus:before{outline:0!important}.action-widget .monaco-list .monaco-scrollable-element{overflow:visible}.action-widget .monaco-list .monaco-list-row{padding:0 10px;white-space:nowrap;cursor:pointer;touch-action:none;width:100%}.action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled){background-color:var(--vscode-quickInputList-focusBackground)!important;color:var(--vscode-quickInputList-focusForeground);outline:1px solid var(--vscode-menu-selectionBorder, transparent);outline-offset:-1px}.action-widget .monaco-list-row.group-header{color:var(--vscode-pickerGroup-foreground)!important;font-weight:600}.action-widget .monaco-list .group-header,.action-widget .monaco-list .option-disabled,.action-widget .monaco-list .option-disabled:before,.action-widget .monaco-list .option-disabled .focused,.action-widget .monaco-list .option-disabled .focused:before{cursor:default!important;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent!important;outline:0 solid!important}.action-widget .monaco-list-row.action{display:flex;gap:6px;align-items:center}.action-widget .monaco-list-row.action.option-disabled{color:var(--vscode-disabledForeground)}.action-widget .monaco-list-row.action.option-disabled .codicon{opacity:.4}.action-widget .monaco-list-row.action:not(.option-disabled) .codicon{color:inherit}.action-widget .monaco-list-row.action .title{flex:1;overflow:hidden;text-overflow:ellipsis}.action-widget .action-widget-action-bar{background-color:var(--vscode-editorHoverWidget-statusBarBackground);border-top:1px solid var(--vscode-editorHoverWidget-border)}.action-widget .action-widget-action-bar:before{display:block;content:"";width:100%}.action-widget .action-widget-action-bar .actions-container{padding:0 8px}.action-widget-action-bar .action-label{color:var(--vscode-textLink-activeForeground);font-size:12px;line-height:22px;padding:0;pointer-events:all}.action-widget-action-bar .action-item{margin-right:16px;pointer-events:none}.action-widget-action-bar .action-label:hover{background-color:transparent!important}.monaco-keybinding{display:flex;align-items:center;line-height:10px}.monaco-keybinding>.monaco-keybinding-key{display:inline-block;border-style:solid;border-width:1px;border-radius:3px;vertical-align:middle;font-size:11px;padding:3px 5px;margin:0 2px}.monaco-keybinding>.monaco-keybinding-key:first-child{margin-left:0}.monaco-keybinding>.monaco-keybinding-key:last-child{margin-right:0}.monaco-keybinding>.monaco-keybinding-key-separator{display:inline-block}.monaco-keybinding>.monaco-keybinding-key-chord-separator{width:6px}.monaco-editor .codelens-decoration{overflow:hidden;display:inline-block;text-overflow:ellipsis;white-space:nowrap;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize);padding-right:calc(var(--vscode-editorCodeLens-fontSize)*.5);font-feature-settings:var(--vscode-editorCodeLens-fontFeatureSettings);font-family:var(--vscode-editorCodeLens-fontFamily),var(--vscode-editorCodeLens-fontFamilyDefault)}.monaco-editor .codelens-decoration>span,.monaco-editor .codelens-decoration>a{-moz-user-select:none;user-select:none;-webkit-user-select:none;white-space:nowrap;vertical-align:sub}.monaco-editor .codelens-decoration>a{text-decoration:none}.monaco-editor .codelens-decoration>a:hover{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration>a:hover .codicon{color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration .codicon{vertical-align:middle;color:currentColor!important;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize)}.monaco-editor .codelens-decoration>a:hover .codicon:before{cursor:pointer}@keyframes fadein{0%{opacity:0;visibility:visible}to{opacity:1}}.monaco-editor .codelens-decoration.fadein{animation:fadein .1s linear}.colorpicker-widget{height:190px;-moz-user-select:none;user-select:none;-webkit-user-select:none}.colorpicker-color-decoration,.hc-light .colorpicker-color-decoration{border:solid .1em #000;box-sizing:border-box;margin:.1em .2em 0;width:.8em;height:.8em;line-height:.8em;display:inline-block;cursor:pointer}.hc-black .colorpicker-color-decoration,.vs-dark .colorpicker-color-decoration{border:solid .1em #eee}.colorpicker-header{display:flex;height:24px;position:relative;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-header .picked-color{width:240px;display:flex;align-items:center;justify-content:center;line-height:24px;cursor:pointer;color:#fff;flex:1}.colorpicker-header .picked-color .codicon{color:inherit;font-size:14px;position:absolute;left:8px}.colorpicker-header .picked-color.light{color:#000}.colorpicker-header .original-color{width:74px;z-index:inherit;cursor:pointer}.standalone-colorpicker{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header.standalone-colorpicker{border-bottom:none}.colorpicker-header .close-button{cursor:pointer;background-color:var(--vscode-editorHoverWidget-background);border-left:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header .close-button-inner-div{width:100%;height:100%;text-align:center}.colorpicker-header .close-button-inner-div:hover{background-color:var(--vscode-toolbar-hoverBackground)}.colorpicker-header .close-icon{padding:3px}.colorpicker-body{display:flex;padding:8px;position:relative}.colorpicker-body .saturation-wrap{overflow:hidden;height:150px;position:relative;min-width:220px;flex:1}.colorpicker-body .saturation-box{height:150px;position:absolute}.colorpicker-body .saturation-selection{width:9px;height:9px;margin:-5px 0 0 -5px;border:1px solid rgb(255,255,255);border-radius:100%;box-shadow:0 0 2px #000c;position:absolute}.colorpicker-body .strip{width:25px;height:150px}.colorpicker-body .standalone-strip{width:25px;height:122px}.colorpicker-body .hue-strip{position:relative;margin-left:8px;cursor:grab;background:linear-gradient(to bottom,#ff0000 0%,#ffff00 17%,#00ff00 33%,#00ffff 50%,#0000ff 67%,#ff00ff 83%,#ff0000 100%)}.colorpicker-body .opacity-strip{position:relative;margin-left:8px;cursor:grab;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-body .strip.grabbing{cursor:grabbing}.colorpicker-body .slider{position:absolute;top:0;left:-2px;width:calc(100% + 4px);height:4px;box-sizing:border-box;border:1px solid rgba(255,255,255,.71);box-shadow:0 0 1px #000000d9}.colorpicker-body .strip .overlay{height:150px;pointer-events:none}.colorpicker-body .standalone-strip .standalone-overlay{height:122px;pointer-events:none}.standalone-colorpicker-body{display:block;border:1px solid transparent;border-bottom:1px solid var(--vscode-editorHoverWidget-border);overflow:hidden}.colorpicker-body .insert-button{position:absolute;height:20px;width:58px;padding:0;right:8px;bottom:8px;background:var(--vscode-button-background);color:var(--vscode-button-foreground);border-radius:2px;border:none;cursor:pointer}.colorpicker-body .insert-button:hover{background:var(--vscode-button-hoverBackground)}.monaco-editor .goto-definition-link{text-decoration:underline;cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .peekview-widget .head{box-sizing:border-box;display:flex;justify-content:space-between;flex-wrap:nowrap}.monaco-editor .peekview-widget .head .peekview-title{display:flex;align-items:baseline;font-size:13px;margin-left:20px;min-width:0;text-overflow:ellipsis;overflow:hidden}.monaco-editor .peekview-widget .head .peekview-title.clickable{cursor:pointer}.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty){font-size:.9em;margin-left:.5em}.monaco-editor .peekview-widget .head .peekview-title .meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monaco-editor .peekview-widget .head .peekview-title .dirname,.monaco-editor .peekview-widget .head .peekview-title .filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty):before{content:"-";padding:0 .3em}.monaco-editor .peekview-widget .head .peekview-actions{flex:1;text-align:right;padding-right:2px}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar{display:inline-block}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar,.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar>.actions-container{height:100%}.monaco-editor .peekview-widget>.body{border-top:1px solid;position:relative}.monaco-editor .peekview-widget .head .peekview-title .codicon{margin-right:4px;align-self:center}.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon{color:inherit!important}.monaco-editor .zone-widget{position:absolute;z-index:10}.monaco-editor .zone-widget .zone-widget-container{border-top-style:solid;border-bottom-style:solid;border-top-width:0;border-bottom-width:0;position:relative}.monaco-dropdown{height:100%;padding:0}.monaco-dropdown>.dropdown-label{cursor:pointer;height:100%;display:flex;align-items:center;justify-content:center}.monaco-dropdown>.dropdown-label>.action-label.disabled{cursor:default}.monaco-dropdown-with-primary{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-primary>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:center center;background-repeat:no-repeat}.monaco-action-bar .action-item.menu-entry .action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-default>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-default>.action-container.menu-entry>.action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:center center;background-repeat:no-repeat}.monaco-split-view2{position:relative;width:100%;height:100%}.monaco-split-view2>.sash-container{position:absolute;width:100%;height:100%;pointer-events:none}.monaco-split-view2>.sash-container>.monaco-sash{pointer-events:initial}.monaco-split-view2>.monaco-scrollable-element{width:100%;height:100%}.monaco-split-view2>.monaco-scrollable-element>.split-view-container{width:100%;height:100%;white-space:nowrap;position:relative}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view{white-space:initial;position:absolute}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view:not(.visible){display:none}.monaco-split-view2.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view{width:100%}.monaco-split-view2.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view{height:100%}.monaco-split-view2.separator-border>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{content:" ";position:absolute;top:0;left:0;z-index:5;pointer-events:none;background-color:var(--separator-border)}.monaco-split-view2.separator-border.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:100%;width:1px}.monaco-split-view2.separator-border.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:1px;width:100%}.monaco-table{display:flex;flex-direction:column;position:relative;height:100%;width:100%;white-space:nowrap;overflow:hidden}.monaco-table>.monaco-split-view2{border-bottom:1px solid transparent}.monaco-table>.monaco-list{flex:1}.monaco-table-tr{display:flex;height:100%}.monaco-table-th{width:100%;height:100%;font-weight:700;overflow:hidden;text-overflow:ellipsis}.monaco-table-th,.monaco-table-td{box-sizing:border-box;flex-shrink:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{content:"";position:absolute;left:calc(var(--vscode-sash-size) / 2);width:0;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2,.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{transition:border-color .2s ease-out}.monaco-custom-toggle{margin-left:2px;float:left;cursor:pointer;overflow:hidden;width:20px;height:20px;border-radius:3px;border:1px solid transparent;padding:1px;box-sizing:border-box;-moz-user-select:none;user-select:none;-webkit-user-select:none}.monaco-custom-toggle:hover{background-color:var(--vscode-inputOption-hoverBackground)}.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{border:1px dashed var(--vscode-focusBorder)}.hc-black .monaco-custom-toggle,.hc-light .monaco-custom-toggle,.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{background:none}.monaco-custom-toggle.monaco-checkbox{height:18px;width:18px;border:1px solid transparent;border-radius:3px;margin-right:9px;margin-left:0;padding:0;opacity:1;background-size:16px!important}.monaco-custom-toggle.monaco-checkbox:not(.checked):before{visibility:hidden}.monaco-inputbox{position:relative;display:block;padding:0;box-sizing:border-box;border-radius:2px;font-size:inherit}.monaco-inputbox>.ibwrapper>.input,.monaco-inputbox>.ibwrapper>.mirror{padding:4px 6px}.monaco-inputbox>.ibwrapper{position:relative;width:100%;height:100%}.monaco-inputbox>.ibwrapper>.input{display:inline-block;box-sizing:border-box;width:100%;height:100%;line-height:inherit;border:none;font-family:inherit;font-size:inherit;resize:none;color:inherit}.monaco-inputbox>.ibwrapper>input{text-overflow:ellipsis}.monaco-inputbox>.ibwrapper>textarea.input{display:block;scrollbar-width:none;outline:none}.monaco-inputbox>.ibwrapper>textarea.input::-webkit-scrollbar{display:none}.monaco-inputbox>.ibwrapper>textarea.input.empty{white-space:nowrap}.monaco-inputbox>.ibwrapper>.mirror{position:absolute;display:inline-block;width:100%;top:0;left:0;box-sizing:border-box;white-space:pre-wrap;visibility:hidden;word-wrap:break-word}.monaco-inputbox-container{text-align:right}.monaco-inputbox-container .monaco-inputbox-message{display:inline-block;overflow:hidden;text-align:left;width:100%;box-sizing:border-box;padding:.4em;font-size:12px;line-height:17px;margin-top:-1px;word-wrap:break-word}.monaco-inputbox .monaco-action-bar{position:absolute;right:2px;top:4px}.monaco-inputbox .monaco-action-bar .action-item{margin-left:2px}.monaco-inputbox .monaco-action-bar .action-item .codicon{background-repeat:no-repeat;width:16px;height:16px}.monaco-findInput{position:relative}.monaco-findInput .monaco-inputbox{font-size:13px;width:100%}.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.vs .monaco-findInput.disabled{background-color:#e1e1e1}.vs-dark .monaco-findInput.disabled{background-color:#333}.monaco-findInput.highlight-0 .controls,.hc-light .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-0 .1s linear 0s}.monaco-findInput.highlight-1 .controls,.hc-light .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-1 .1s linear 0s}.hc-black .monaco-findInput.highlight-0 .controls,.vs-dark .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-dark-0 .1s linear 0s}.hc-black .monaco-findInput.highlight-1 .controls,.vs-dark .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-dark-1 .1s linear 0s}@keyframes monaco-findInput-highlight-0{0%{background:rgba(253,255,0,.8)}to{background:transparent}}@keyframes monaco-findInput-highlight-1{0%{background:rgba(253,255,0,.8)}99%{background:transparent}}@keyframes monaco-findInput-highlight-dark-0{0%{background:rgba(255,255,255,.44)}to{background:transparent}}@keyframes monaco-findInput-highlight-dark-1{0%{background:rgba(255,255,255,.44)}99%{background:transparent}}.monaco-tl-row{display:flex;height:100%;align-items:center;position:relative}.monaco-tl-row.disabled{cursor:default}.monaco-tl-indent{height:100%;position:absolute;top:0;left:16px;pointer-events:none}.hide-arrows .monaco-tl-indent{left:12px}.monaco-tl-indent>.indent-guide{display:inline-block;box-sizing:border-box;height:100%;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-tl-indent>.indent-guide{transition:border-color .1s linear}.monaco-tl-twistie,.monaco-tl-contents{height:100%}.monaco-tl-twistie{font-size:10px;text-align:right;padding-right:6px;flex-shrink:0;width:16px;display:flex!important;align-items:center;justify-content:center;transform:translate(3px)}.monaco-tl-contents{flex:1;overflow:hidden}.monaco-tl-twistie:before{border-radius:20px}.monaco-tl-twistie.collapsed:before{transform:rotate(-90deg)}.monaco-tl-twistie.codicon-tree-item-loading:before{animation:codicon-spin 1.25s steps(30) infinite}.monaco-tree-type-filter{position:absolute;top:0;display:flex;padding:3px;max-width:200px;z-index:100;margin:0 6px;border:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-workbench:not(.reduce-motion) .monaco-tree-type-filter{transition:top .3s}.monaco-tree-type-filter.disabled{top:-40px!important}.monaco-tree-type-filter-grab{display:flex!important;align-items:center;justify-content:center;cursor:grab;margin-right:2px}.monaco-tree-type-filter-grab.grabbing{cursor:grabbing}.monaco-tree-type-filter-input{flex:1}.monaco-tree-type-filter-input .monaco-inputbox{height:23px}.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.input,.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.mirror{padding:2px 4px}.monaco-tree-type-filter-input .monaco-findInput>.controls{top:2px}.monaco-tree-type-filter-actionbar{margin-left:4px}.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label{padding:2px}.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget{border-top-width:1px;border-bottom-width:1px}.monaco-editor .reference-zone-widget .inline{display:inline-block;vertical-align:top}.monaco-editor .reference-zone-widget .messages{height:100%;width:100%;text-align:center;padding:3em 0}.monaco-editor .reference-zone-widget .ref-tree{line-height:23px;background-color:var(--vscode-peekViewResult-background);color:var(--vscode-peekViewResult-lineForeground)}.monaco-editor .reference-zone-widget .ref-tree .reference{text-overflow:ellipsis;overflow:hidden}.monaco-editor .reference-zone-widget .ref-tree .reference-file{display:inline-flex;width:100%;height:100%;color:var(--vscode-peekViewResult-fileForeground)}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file{color:inherit!important}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows>.monaco-list-row.selected:not(.highlighted){background-color:var(--vscode-peekViewResult-selectionBackground);color:var(--vscode-peekViewResult-selectionForeground)!important}.monaco-editor .reference-zone-widget .ref-tree .reference-file .count{margin-right:12px;margin-left:auto}.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight{background-color:var(--vscode-peekViewResult-matchHighlightBackground)}.monaco-editor .reference-zone-widget .preview .reference-decoration{background-color:var(--vscode-peekViewEditor-matchHighlightBackground);border:2px solid var(--vscode-peekViewEditor-matchHighlightBorder);box-sizing:border-box}.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input{background-color:var(--vscode-peekViewEditor-background)}.monaco-editor .reference-zone-widget .preview .monaco-editor .margin{background-color:var(--vscode-peekViewEditorGutter-background)}.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file,.monaco-editor.hc-light .reference-zone-widget .ref-tree .reference-file{font-weight:700}.monaco-editor.hc-black .reference-zone-widget .ref-tree .referenceMatch .highlight,.monaco-editor.hc-light .reference-zone-widget .ref-tree .referenceMatch .highlight{border:1px dotted var(--vscode-contrastActiveBorder, transparent);box-sizing:border-box}.monaco-count-badge{padding:3px 6px;border-radius:11px;font-size:11px;min-width:18px;min-height:18px;line-height:11px;font-weight:400;text-align:center;display:inline-block;box-sizing:border-box}.monaco-count-badge.long{padding:2px 3px;border-radius:2px;min-height:auto;line-height:normal}.monaco-icon-label{display:flex;overflow:hidden;text-overflow:ellipsis}.monaco-icon-label:before{background-size:16px;background-position:left center;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;line-height:inherit!important;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top;flex-shrink:0}.monaco-icon-label-container.disabled{color:var(--vscode-disabledForeground)}.monaco-icon-label>.monaco-icon-label-container{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{color:inherit;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name>.label-separator{margin:0 2px;opacity:.5}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.7;margin-left:.5em;font-size:.9em;white-space:pre}.monaco-icon-label.nowrap>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{white-space:nowrap}.vs .monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.95}.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{font-style:italic}.monaco-icon-label.deprecated{text-decoration:line-through;opacity:.66}.monaco-icon-label.italic:after{font-style:italic}.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{text-decoration:line-through}.monaco-icon-label:after{opacity:.75;font-size:90%;font-weight:600;margin:auto 16px 0 5px;text-align:center}.monaco-list:focus .selected .monaco-icon-label,.monaco-list:focus .selected .monaco-icon-label:after{color:inherit!important}.monaco-list-row.focused.selected .label-description,.monaco-list-row.selected .label-description{opacity:.8}.monaco-hover{cursor:default;position:absolute;overflow:hidden;-moz-user-select:text;user-select:text;-webkit-user-select:text;box-sizing:border-box;animation:fadein .1s linear;line-height:1.5em}.monaco-hover.hidden{display:none}.monaco-hover a:hover:not(.disabled){cursor:pointer}.monaco-hover .hover-contents:not(.html-hover-contents){padding:4px 8px}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents){max-width:500px;word-wrap:break-word}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents) hr{min-width:100%}.monaco-hover p,.monaco-hover .code,.monaco-hover ul,.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{margin:8px 0}.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{line-height:1.1}.monaco-hover code{font-family:var(--monaco-monospace-font)}.monaco-hover hr{box-sizing:border-box;border-left:0px;border-right:0px;margin:4px -8px -4px;height:1px}.monaco-hover p:first-child,.monaco-hover .code:first-child,.monaco-hover ul:first-child{margin-top:0}.monaco-hover p:last-child,.monaco-hover .code:last-child,.monaco-hover ul:last-child{margin-bottom:0}.monaco-hover ul,.monaco-hover ol{padding-left:20px}.monaco-hover li>p{margin-bottom:0}.monaco-hover li>ul{margin-top:0}.monaco-hover code{border-radius:3px;padding:0 .4em}.monaco-hover .monaco-tokenized-source{white-space:pre-wrap}.monaco-hover .hover-row.status-bar{font-size:12px;line-height:22px}.monaco-hover .hover-row.status-bar .info{font-style:italic;padding:0 8px}.monaco-hover .hover-row.status-bar .actions{display:flex;padding:0 8px}.monaco-hover .hover-row.status-bar .actions .action-container{margin-right:16px;cursor:pointer}.monaco-hover .hover-row.status-bar .actions .action-container .action .icon{padding-right:4px}.monaco-hover .markdown-hover .hover-contents .codicon{color:inherit;font-size:inherit;vertical-align:middle}.monaco-hover .hover-contents a.code-link:hover,.monaco-hover .hover-contents a.code-link{color:inherit}.monaco-hover .hover-contents a.code-link:before{content:"("}.monaco-hover .hover-contents a.code-link:after{content:")"}.monaco-hover .hover-contents a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-foreground)}.monaco-hover .hover-contents a.code-link>span:hover{color:var(--vscode-textLink-activeForeground)}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span{margin-bottom:4px;display:inline-block}.monaco-hover-content .action-container a{-webkit-user-select:none;-moz-user-select:none;user-select:none}.monaco-hover-content .action-container.disabled{pointer-events:none;opacity:.4;cursor:default}.monaco-editor .peekview-widget .head .peekview-title .severity-icon{display:inline-block;vertical-align:text-top;margin-right:4px}.monaco-editor .marker-widget{text-overflow:ellipsis;white-space:nowrap}.monaco-editor .marker-widget>.stale{opacity:.6;font-style:italic}.monaco-editor .marker-widget .title{display:inline-block;padding-right:5px}.monaco-editor .marker-widget .descriptioncontainer{position:absolute;white-space:pre;-moz-user-select:text;user-select:text;-webkit-user-select:text;padding:8px 12px 0 20px}.monaco-editor .marker-widget .descriptioncontainer .message{display:flex;flex-direction:column}.monaco-editor .marker-widget .descriptioncontainer .message .details{padding-left:6px}.monaco-editor .marker-widget .descriptioncontainer .message .source,.monaco-editor .marker-widget .descriptioncontainer .message span.code{opacity:.6}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link{opacity:.6;color:inherit}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before{content:"("}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after{content:")"}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-foreground)}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link>span{color:var(--vscode-textLink-activeForeground)}.monaco-editor .marker-widget .descriptioncontainer .filename{cursor:pointer}.monaco-editor .zone-widget .codicon.codicon-error,.markers-panel .marker-icon.error,.markers-panel .marker-icon .codicon.codicon-error,.text-search-provider-messages .providerMessage .codicon.codicon-error,.extensions-viewlet>.extensions .codicon.codicon-error,.extension-editor .codicon.codicon-error,.preferences-editor .codicon.codicon-error{color:var(--vscode-problemsErrorIcon-foreground)}.monaco-editor .zone-widget .codicon.codicon-warning,.markers-panel .marker-icon.warning,.markers-panel .marker-icon .codicon.codicon-warning,.text-search-provider-messages .providerMessage .codicon.codicon-warning,.extensions-viewlet>.extensions .codicon.codicon-warning,.extension-editor .codicon.codicon-warning,.preferences-editor .codicon.codicon-warning{color:var(--vscode-problemsWarningIcon-foreground)}.monaco-editor .zone-widget .codicon.codicon-info,.markers-panel .marker-icon.info,.markers-panel .marker-icon .codicon.codicon-info,.text-search-provider-messages .providerMessage .codicon.codicon-info,.extensions-viewlet>.extensions .codicon.codicon-info,.extension-editor .codicon.codicon-info,.preferences-editor .codicon.codicon-info{color:var(--vscode-problemsInfoIcon-foreground)}.monaco-editor .inlineSuggestionsHints.withBorder{z-index:39;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .inlineSuggestionsHints a,.monaco-editor .inlineSuggestionsHints a:hover{color:var(--vscode-foreground)}.monaco-editor .inlineSuggestionsHints .keybinding{display:flex;margin-left:4px;opacity:.6}.monaco-editor .inlineSuggestionsHints .keybinding .monaco-keybinding-key{font-size:8px;padding:2px 3px}.monaco-editor .inlineSuggestionsHints .custom-actions .action-item:nth-child(2) a{display:flex;min-width:19px;justify-content:center}.monaco-editor .inlineSuggestionStatusBarItemLabel{margin-right:2px}.monaco-toolbar{height:100%}.monaco-toolbar .toolbar-toggle-more{display:inline-block;padding:0}.monaco-editor .hoverHighlight{background-color:var(--vscode-editor-hoverHighlightBackground)}.monaco-editor .monaco-hover{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);border-radius:3px}.monaco-editor .monaco-hover a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-hover a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .monaco-hover .hover-row .actions{background-color:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-editor .monaco-hover code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor.vs .dnd-target,.monaco-editor.hc-light .dnd-target{border-right:2px dotted black;color:#fff}.monaco-editor.vs-dark .dnd-target{border-right:2px dotted #AEAFAD;color:#51504f}.monaco-editor.hc-black .dnd-target{border-right:2px dotted #fff;color:#000}.monaco-editor.mouse-default .view-lines,.monaco-editor.vs-dark.mac.mouse-default .view-lines,.monaco-editor.hc-black.mac.mouse-default .view-lines,.monaco-editor.hc-light.mac.mouse-default .view-lines{cursor:default}.monaco-editor.mouse-copy .view-lines,.monaco-editor.vs-dark.mac.mouse-copy .view-lines,.monaco-editor.hc-black.mac.mouse-copy .view-lines,.monaco-editor.hc-light.mac.mouse-copy .view-lines{cursor:copy}.inline-editor-progress-decoration{display:inline-block;width:1em;height:1em}.inline-progress-widget{display:flex!important;justify-content:center;align-items:center}.inline-progress-widget .icon{font-size:80%!important}.inline-progress-widget:hover .icon{font-size:90%!important;animation:none}.inline-progress-widget:hover .icon:before{content:""}.monaco-text-button{box-sizing:border-box;display:flex;width:100%;padding:4px;border-radius:2px;text-align:center;cursor:pointer;justify-content:center;align-items:center;border:1px solid var(--vscode-button-border, transparent);line-height:18px}.monaco-text-button:focus{outline-offset:2px!important}.monaco-text-button:hover{text-decoration:none!important}.monaco-button.disabled:focus,.monaco-button.disabled{opacity:.4!important;cursor:default}.monaco-text-button .codicon{margin:0 .2em;color:inherit!important}.monaco-text-button.monaco-text-button-with-short-label{flex-direction:row;flex-wrap:wrap;padding:0 4px;overflow:hidden;height:28px}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label{flex-basis:100%}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{flex-grow:1;width:0;overflow:hidden}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label,.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{display:flex;justify-content:center;align-items:center;font-weight:400;font-style:inherit;padding:4px 0}.monaco-button-dropdown{display:flex;cursor:pointer}.monaco-button-dropdown.disabled{cursor:default}.monaco-button-dropdown>.monaco-button:focus{outline-offset:-1px!important}.monaco-button-dropdown.disabled>.monaco-button.disabled,.monaco-button-dropdown.disabled>.monaco-button.disabled:focus,.monaco-button-dropdown.disabled>.monaco-button-dropdown-separator{opacity:.4!important}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-right-width:0!important}.monaco-button-dropdown .monaco-button-dropdown-separator{padding:4px 0;cursor:default}.monaco-button-dropdown .monaco-button-dropdown-separator>div{height:100%;width:1px}.monaco-button-dropdown>.monaco-button.monaco-dropdown-button{border:1px solid var(--vscode-button-border, transparent);border-left-width:0!important;border-radius:0 2px 2px 0}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-radius:2px 0 0 2px}.monaco-description-button{display:flex;flex-direction:column;align-items:center;margin:4px 5px}.monaco-description-button .monaco-button-description{font-style:italic;font-size:11px;padding:4px 20px}.monaco-description-button .monaco-button-label,.monaco-description-button .monaco-button-description{display:flex;justify-content:center;align-items:center}.monaco-description-button .monaco-button-label>.codicon,.monaco-description-button .monaco-button-description>.codicon{margin:0 .2em;color:inherit!important}.monaco-button.default-colors,.monaco-button-dropdown.default-colors>.monaco-button{color:var(--vscode-button-foreground);background-color:var(--vscode-button-background)}.monaco-button.default-colors:hover,.monaco-button-dropdown.default-colors>.monaco-button:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-button.default-colors.secondary,.monaco-button-dropdown.default-colors>.monaco-button.secondary{color:var(--vscode-button-secondaryForeground);background-color:var(--vscode-button-secondaryBackground)}.monaco-button.default-colors.secondary:hover,.monaco-button-dropdown.default-colors>.monaco-button.secondary:hover{background-color:var(--vscode-button-secondaryHoverBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator{background-color:var(--vscode-button-background);border-top:1px solid var(--vscode-button-border);border-bottom:1px solid var(--vscode-button-border)}.monaco-button-dropdown.default-colors .monaco-button.secondary+.monaco-button-dropdown-separator{background-color:var(--vscode-button-secondaryBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator>div{background-color:var(--vscode-button-separator)}.post-edit-widget{box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:1px solid var(--vscode-widget-border, transparent);border-radius:4px;background-color:var(--vscode-editorWidget-background);overflow:hidden}.post-edit-widget .monaco-button{padding:2px;border:none;border-radius:0}.post-edit-widget .monaco-button:hover{background-color:var(--vscode-button-secondaryHoverBackground)!important}.post-edit-widget .monaco-button .codicon{margin:0}.monaco-editor .findOptionsWidget{background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground);box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:2px solid var(--vscode-contrastBorder)}.monaco-editor .find-widget{position:absolute;z-index:35;height:33px;overflow:hidden;line-height:19px;transition:transform .2s linear;padding:0 4px;box-sizing:border-box;transform:translateY(calc(-100% - 10px));border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-workbench.reduce-motion .monaco-editor .find-widget{transition:transform 0ms linear}.monaco-editor .find-widget textarea{margin:0}.monaco-editor .find-widget.hiddenEditor{display:none}.monaco-editor .find-widget.replaceToggled>.replace-part{display:flex}.monaco-editor .find-widget.visible{transform:translateY(0)}.monaco-editor .find-widget .monaco-inputbox.synthetic-focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-editor .find-widget .monaco-inputbox .input{background-color:transparent;min-height:0}.monaco-editor .find-widget .monaco-findInput .input{font-size:13px}.monaco-editor .find-widget>.find-part,.monaco-editor .find-widget>.replace-part{margin:3px 25px 0 17px;font-size:12px;display:flex}.monaco-editor .find-widget>.find-part .monaco-inputbox,.monaco-editor .find-widget>.replace-part .monaco-inputbox{min-height:25px}.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-right:22px}.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.mirror,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-top:2px;padding-bottom:2px}.monaco-editor .find-widget>.find-part .find-actions{height:25px;display:flex;align-items:center}.monaco-editor .find-widget>.replace-part .replace-actions{height:25px;display:flex;align-items:center}.monaco-editor .find-widget .monaco-findInput{vertical-align:middle;display:flex;flex:1}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element{width:100%}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical{opacity:0}.monaco-editor .find-widget .matchesCount{display:flex;flex:initial;margin:0 0 0 3px;padding:2px 0 0 2px;height:25px;vertical-align:middle;box-sizing:border-box;text-align:center;line-height:23px}.monaco-editor .find-widget .button{width:16px;height:16px;padding:3px;border-radius:5px;flex:initial;margin-left:3px;background-position:center center;background-repeat:no-repeat;cursor:pointer;display:flex;align-items:center;justify-content:center}.monaco-editor .find-widget .codicon-find-selection{width:22px;height:22px;padding:3px;border-radius:5px}.monaco-editor .find-widget .button.left{margin-left:0;margin-right:3px}.monaco-editor .find-widget .button.wide{width:auto;padding:1px 6px;top:-1px}.monaco-editor .find-widget .button.toggle{position:absolute;top:0;left:3px;width:18px;height:100%;border-radius:0;box-sizing:border-box}.monaco-editor .find-widget .button.toggle.disabled{display:none}.monaco-editor .find-widget .disabled{color:var(--vscode-disabledForeground);cursor:default}.monaco-editor .find-widget>.replace-part{display:none}.monaco-editor .find-widget>.replace-part>.monaco-findInput{position:relative;display:flex;vertical-align:middle;flex:auto;flex-grow:0;flex-shrink:0}.monaco-editor .find-widget>.replace-part>.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.monaco-editor .find-widget.reduced-find-widget .matchesCount{display:none}.monaco-editor .find-widget.narrow-find-widget{max-width:257px!important}.monaco-editor .find-widget.collapsed-find-widget{max-width:170px!important}.monaco-editor .find-widget.collapsed-find-widget .button.previous,.monaco-editor .find-widget.collapsed-find-widget .button.next,.monaco-editor .find-widget.collapsed-find-widget .button.replace,.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,.monaco-editor .find-widget.collapsed-find-widget>.find-part .monaco-findInput .controls{display:none}.monaco-editor .findMatch{animation-duration:0;animation-name:inherit!important}.monaco-editor .find-widget .monaco-sash{left:0!important}.monaco-editor.hc-black .find-widget .button:before{position:relative;top:1px;left:2px}.monaco-editor .find-widget>.button.codicon-widget-close{position:absolute;top:5px;right:4px}.monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,.monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-editor .margin-view-overlays .codicon-folding-collapsed{cursor:pointer;opacity:0;transition:opacity .5s;display:flex;align-items:center;justify-content:center;font-size:140%;margin-left:2px}.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-collapsed{transition:initial}.monaco-editor .margin-view-overlays:hover .codicon,.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon.codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons{opacity:1}.monaco-editor .inline-folded:after{color:gray;margin:.1em .2em 0;content:"⋯";display:inline;line-height:1em;cursor:pointer}.monaco-editor .folded-background{background-color:var(--vscode-editor-foldBackground)}.monaco-editor .cldr.codicon.codicon-folding-expanded,.monaco-editor .cldr.codicon.codicon-folding-collapsed,.monaco-editor .cldr.codicon.codicon-folding-manual-expanded,.monaco-editor .cldr.codicon.codicon-folding-manual-collapsed{color:var(--vscode-editorGutter-foldingControlForeground)!important}.monaco-editor .suggest-preview-additional-widget{white-space:nowrap}.monaco-editor .suggest-preview-additional-widget .content-spacer{color:transparent;white-space:pre}.monaco-editor .suggest-preview-additional-widget .button{display:inline-block;cursor:pointer;text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-hidden{opacity:0;font-size:0}.monaco-editor .ghost-text-decoration,.monaco-editor .suggest-preview-text .ghost-text{font-style:italic}.monaco-editor .inline-completion-text-to-replace{text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-decoration,.monaco-editor .ghost-text-decoration-preview,.monaco-editor .suggest-preview-text .ghost-text{color:var(--vscode-editorGhostText-foreground)!important;background-color:var(--vscode-editorGhostText-background);border:1px solid var(--vscode-editorGhostText-border)}.monaco-editor .snippet-placeholder{min-width:2px;outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetTabstopHighlightBackground, transparent);outline-color:var(--vscode-editor-snippetTabstopHighlightBorder, transparent)}.monaco-editor .finish-snippet-placeholder{outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetFinalTabstopHighlightBackground, transparent);outline-color:var(--vscode-editor-snippetFinalTabstopHighlightBorder, transparent)}.monaco-editor .suggest-widget{width:430px;z-index:40;display:flex;flex-direction:column;border-radius:3px}.monaco-editor .suggest-widget.message{flex-direction:row;align-items:center}.monaco-editor .suggest-widget,.monaco-editor .suggest-details{flex:0 1 auto;width:100%;border-style:solid;border-width:1px;border-color:var(--vscode-editorSuggestWidget-border);background-color:var(--vscode-editorSuggestWidget-background)}.monaco-editor.hc-black .suggest-widget,.monaco-editor.hc-black .suggest-details,.monaco-editor.hc-light .suggest-widget,.monaco-editor.hc-light .suggest-details{border-width:2px}.monaco-editor .suggest-widget .suggest-status-bar{box-sizing:border-box;display:none;flex-flow:row nowrap;justify-content:space-between;width:100%;font-size:80%;padding:0 4px;border-top:1px solid var(--vscode-editorSuggestWidget-border);overflow:hidden}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar{display:flex}.monaco-editor .suggest-widget .suggest-status-bar .left{padding-right:8px}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label{color:var(--vscode-editorSuggestWidgetStatus-foreground)}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label{margin-right:0}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label:after{content:", ";margin-right:.3em}.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row>.contents>.main>.right>.readMore,.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover>.contents>.main>.right.can-expand-details>.details-label{width:100%}.monaco-editor .suggest-widget>.message{padding-left:22px}.monaco-editor .suggest-widget>.tree{height:100%;width:100%}.monaco-editor .suggest-widget .monaco-list{-moz-user-select:none;user-select:none;-webkit-user-select:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row{display:flex;-mox-box-sizing:border-box;box-sizing:border-box;padding-right:10px;background-repeat:no-repeat;background-position:2px 2px;white-space:nowrap;cursor:pointer;touch-action:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused{color:var(--vscode-editorSuggestWidget-selectedForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon{color:var(--vscode-editorSuggestWidget-selectedIconForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents{flex:1;height:100%;overflow:hidden;padding-left:2px}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main{display:flex;overflow:hidden;text-overflow:ellipsis;white-space:pre;justify-content:space-between}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{display:flex}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused)>.contents>.main .monaco-icon-label{color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight{font-weight:700}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-highlightForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-focusHighlightForeground)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:before{color:inherit;opacity:1;font-size:14px;cursor:pointer}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close{position:absolute;top:6px;right:2px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close:hover,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:hover{opacity:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{opacity:.7}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.signature-label{overflow:hidden;text-overflow:ellipsis;opacity:.6}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.qualifier-label{margin-left:12px;opacity:.4;font-size:85%;line-height:initial;text-overflow:ellipsis;overflow:hidden;align-self:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{font-size:85%;margin-left:1.1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label>.monaco-tokenized-source{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{display:none}.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label)>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right.can-expand-details>.details-label{width:calc(100% - 26px)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left{flex-shrink:1;flex-grow:1;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.monaco-icon-label{flex-shrink:0}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.left>.monaco-icon-label{max-width:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.left>.monaco-icon-label{flex-shrink:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{overflow:hidden;flex-shrink:4;max-width:70%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:inline-block;position:absolute;right:10px;width:18px;height:18px;visibility:hidden}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:inline-block}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right>.readMore{visibility:visible}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated{opacity:.66;text-decoration:unset}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated>.monaco-icon-label-container>.monaco-icon-name-container{text-decoration:line-through}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label:before{height:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon{display:block;height:16px;width:16px;margin-left:2px;background-repeat:no-repeat;background-size:80%;background-position:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon{display:flex;align-items:center;margin-right:4px}.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon:before{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan{margin:0 0 0 .3em;border:.1em solid #000;width:.7em;height:.7em;display:inline-block}.monaco-editor .suggest-details-container{z-index:41}.monaco-editor .suggest-details{display:flex;flex-direction:column;cursor:default;color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-details.focused{border-color:var(--vscode-focusBorder)}.monaco-editor .suggest-details a{color:var(--vscode-textLink-foreground)}.monaco-editor .suggest-details a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .suggest-details code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .suggest-details.no-docs{display:none}.monaco-editor .suggest-details>.monaco-scrollable-element{flex:1}.monaco-editor .suggest-details>.monaco-scrollable-element>.body{box-sizing:border-box;height:100%;width:100%}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type{flex:2;overflow:hidden;text-overflow:ellipsis;opacity:.7;white-space:pre;margin:0 24px 0 0;padding:4px 0 12px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type.auto-wrap{white-space:normal;word-break:break-all}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs{margin:0;padding:4px 5px;white-space:pre-wrap}.monaco-editor .suggest-details.no-type>.monaco-scrollable-element>.body>.docs{margin-right:24px;overflow:hidden}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs{padding:0;white-space:initial;min-height:calc(1rem + 8px)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div,.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>span:not(:empty){padding:4px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:first-child{margin-top:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:last-child{margin-bottom:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .monaco-tokenized-source{white-space:pre}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs .code{white-space:pre-wrap;word-wrap:break-word}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .codicon{vertical-align:sub}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>p:empty{display:none}.monaco-editor .suggest-details code{border-radius:3px;padding:0 .4em}.monaco-editor .suggest-details ul,.monaco-editor .suggest-details ol{padding-left:20px}.monaco-editor .suggest-details p code{font-family:var(--monaco-monospace-font)}.monaco-editor.vs .valueSetReplacement{outline:solid 2px var(--vscode-editorBracketMatch-border)}.monaco-editor .linked-editing-decoration{background-color:var(--vscode-editor-linkedEditingBackground);min-width:1px}.monaco-editor .detected-link,.monaco-editor .detected-link-active{text-decoration:underline;text-underline-position:under}.monaco-editor .detected-link-active{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .focused .selectionHighlight{background-color:var(--vscode-editor-selectionHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-selectionHighlightBorder)}.monaco-editor.hc-black .focused .selectionHighlight,.monaco-editor.hc-light .focused .selectionHighlight{border-style:dotted}.monaco-editor .wordHighlight{background-color:var(--vscode-editor-wordHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightBorder)}.monaco-editor.hc-black .wordHighlight,.monaco-editor.hc-light .wordHighlight{border-style:dotted}.monaco-editor .wordHighlightStrong{background-color:var(--vscode-editor-wordHighlightStrongBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightStrongBorder)}.monaco-editor.hc-black .wordHighlightStrong,.monaco-editor.hc-light .wordHighlightStrong{border-style:dotted}.monaco-editor .wordHighlightText{background-color:var(--vscode-editor-wordHighlightTextBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightTextBorder)}.monaco-editor.hc-black .wordHighlightText,.monaco-editor.hc-light .wordHighlightText{border-style:dotted}.monaco-editor .parameter-hints-widget{z-index:39;display:flex;flex-direction:column;line-height:1.5em;cursor:default;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.hc-black .monaco-editor .parameter-hints-widget,.hc-light .monaco-editor .parameter-hints-widget{border-width:2px}.monaco-editor .parameter-hints-widget>.phwrapper{max-width:440px;display:flex;flex-direction:row}.monaco-editor .parameter-hints-widget.multiple{min-height:3.3em;padding:0}.monaco-editor .parameter-hints-widget.multiple .body:before{content:"";display:block;height:100%;position:absolute;opacity:.5;border-left:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget p,.monaco-editor .parameter-hints-widget ul{margin:8px 0}.monaco-editor .parameter-hints-widget .monaco-scrollable-element,.monaco-editor .parameter-hints-widget .body{display:flex;flex:1;flex-direction:column;min-height:100%}.monaco-editor .parameter-hints-widget .signature{padding:4px 5px;position:relative}.monaco-editor .parameter-hints-widget .signature.has-docs:after{content:"";display:block;position:absolute;left:0;width:100%;padding-top:4px;opacity:.5;border-bottom:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget .docs{padding:0 10px 0 5px;white-space:pre-wrap}.monaco-editor .parameter-hints-widget .docs.empty{display:none}.monaco-editor .parameter-hints-widget .docs a{color:var(--vscode-textLink-foreground)}.monaco-editor .parameter-hints-widget .docs a:hover{color:var(--vscode-textLink-activeForeground);cursor:pointer}.monaco-editor .parameter-hints-widget .docs .markdown-docs{white-space:initial}.monaco-editor .parameter-hints-widget .docs code{font-family:var(--monaco-monospace-font);border-radius:3px;padding:0 .4em;background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .parameter-hints-widget .docs .monaco-tokenized-source,.monaco-editor .parameter-hints-widget .docs .code{white-space:pre-wrap}.monaco-editor .parameter-hints-widget .controls{display:none;flex-direction:column;align-items:center;min-width:22px;justify-content:flex-end}.monaco-editor .parameter-hints-widget.multiple .controls{display:flex;padding:0 2px}.monaco-editor .parameter-hints-widget.multiple .button{width:16px;height:16px;background-repeat:no-repeat;cursor:pointer}.monaco-editor .parameter-hints-widget .button.previous{bottom:24px}.monaco-editor .parameter-hints-widget .overloads{text-align:center;height:12px;line-height:12px;font-family:var(--monaco-monospace-font)}.monaco-editor .parameter-hints-widget .signature .parameter.active{color:var(--vscode-editorHoverWidget-highlightForeground);font-weight:700}.monaco-editor .parameter-hints-widget .documentation-parameter>.parameter{font-weight:700;margin-right:.5em}.monaco-editor .rename-box{z-index:100;color:inherit;border-radius:4px}.monaco-editor .rename-box.preview{padding:4px 4px 0}.monaco-editor .rename-box .rename-input{padding:3px;border-radius:2px}.monaco-editor .rename-box .rename-label{display:none;opacity:.8}.monaco-editor .rename-box.preview .rename-label{display:inherit}.monaco-editor .sticky-line{color:var(--vscode-editorLineNumber-foreground);overflow:hidden;white-space:nowrap;display:inline-block}.monaco-editor .sticky-line-number{text-align:right;float:left}.monaco-editor .sticky-line-root{background-color:inherit;overflow:hidden;white-space:nowrap;width:100%}.monaco-editor.hc-black .sticky-widget,.monaco-editor.hc-light .sticky-widget{border-bottom:1px solid var(--vscode-contrastBorder)}.monaco-editor .sticky-line-root:hover{background-color:var(--vscode-editorStickyScrollHover-background);cursor:pointer}.monaco-editor .sticky-widget{width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 3px 2px -2px;z-index:4;background-color:var(--vscode-editorStickyScroll-background)}.monaco-editor .sticky-widget.peek{background-color:var(--vscode-peekViewEditorStickyScroll-background)}.monaco-editor .unicode-highlight{border:1px solid var(--vscode-editorUnicodeHighlight-border);background-color:var(--vscode-editorUnicodeHighlight-background);box-sizing:border-box}.editor-banner{box-sizing:border-box;cursor:default;width:100%;font-size:12px;display:flex;overflow:visible;height:26px;background:var(--vscode-banner-background)}.editor-banner .icon-container{display:flex;flex-shrink:0;align-items:center;padding:0 6px 0 10px}.editor-banner .icon-container.custom-icon{background-repeat:no-repeat;background-position:center center;background-size:16px;width:16px;padding:0;margin:0 6px 0 10px}.editor-banner .message-container{display:flex;align-items:center;line-height:26px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor-banner .message-container p{margin-block-start:0;margin-block-end:0}.editor-banner .message-actions-container{flex-grow:1;flex-shrink:0;line-height:26px;margin:0 4px}.editor-banner .message-actions-container a.monaco-button{width:inherit;margin:2px 8px;padding:0 12px}.editor-banner .message-actions-container a{padding:3px;margin-left:12px;text-decoration:underline}.editor-banner .action-container{padding:0 10px 0 6px}.editor-banner{background-color:var(--vscode-banner-background)}.editor-banner,.editor-banner .action-container .codicon,.editor-banner .message-actions-container .monaco-link{color:var(--vscode-banner-foreground)}.editor-banner .icon-container .codicon{color:var(--vscode-banner-iconForeground)}.monaco-link{color:var(--vscode-textLink-foreground)}.monaco-link:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .iPadShowKeyboard{width:58px;min-width:0;height:36px;min-height:0;margin:0;padding:0;position:absolute;resize:none;overflow:hidden;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjNDI0MjQyIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==) center center no-repeat;border:4px solid #F6F6F6;border-radius:4px}.monaco-editor.vs-dark .iPadShowKeyboard{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjQzVDNUM1Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==) center center no-repeat;border:4px solid #252526}.monaco-editor .tokens-inspect-widget{z-index:50;-moz-user-select:text;user-select:text;-webkit-user-select:text;padding:10px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor.hc-black .tokens-inspect-widget,.monaco-editor.hc-light .tokens-inspect-widget{border-width:2px}.monaco-editor .tokens-inspect-widget .tokens-inspect-separator{height:1px;border:0;background-color:var(--vscode-editorHoverWidget-border)}.monaco-editor .tokens-inspect-widget .tm-token{font-family:var(--monaco-monospace-font)}.monaco-editor .tokens-inspect-widget .tm-token-length{font-weight:400;font-size:60%;float:right}.monaco-editor .tokens-inspect-widget .tm-metadata-table{width:100%}.monaco-editor .tokens-inspect-widget .tm-metadata-value{font-family:var(--monaco-monospace-font);text-align:right}.monaco-editor .tokens-inspect-widget .tm-token-type{font-family:var(--monaco-monospace-font)}.monaco-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,HelveticaNeue-Light,system-ui,Ubuntu,Droid Sans,sans-serif;--monaco-monospace-font: "SF Mono", Monaco, Menlo, Consolas, "Ubuntu Mono", "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace}.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-hover p{margin:0}.monaco-aria-container{position:absolute!important;top:0;height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%)}.context-view{position:absolute}.context-view.fixed{all:initial;font-family:inherit;font-size:13px;position:fixed;color:inherit}.quick-input-widget{font-size:13px}.quick-input-widget .monaco-highlighted-label .highlight{color:#0066bf}.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight{color:#9dddff}.vs-dark .quick-input-widget .monaco-highlighted-label .highlight{color:#0097fb}.hc-black .quick-input-widget .monaco-highlighted-label .highlight{color:#f38518}.hc-light .quick-input-widget .monaco-highlighted-label .highlight{color:#0f4a85}.monaco-keybinding>.monaco-keybinding-key{background-color:#ddd6;border:solid 1px rgba(204,204,204,.4);border-bottom-color:#bbb6;box-shadow:inset 0 -1px #bbb6;color:#555}.hc-black .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:solid 1px rgb(111,195,223);box-shadow:none;color:#fff}.hc-light .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:solid 1px #0F4A85;box-shadow:none;color:#292929}.vs-dark .monaco-keybinding>.monaco-keybinding-key{background-color:#8080802b;border:solid 1px rgba(51,51,51,.6);border-bottom-color:#4449;box-shadow:inset 0 -1px #4449;color:#ccc}.monaco-progress-container{width:100%;height:5px;overflow:hidden}.monaco-progress-container .progress-bit{width:2%;height:5px;position:absolute;left:0;display:none}.monaco-progress-container.active .progress-bit{display:inherit}.monaco-progress-container.discrete .progress-bit{left:0;transition:width .1s linear}.monaco-progress-container.discrete.done .progress-bit{width:100%}.monaco-progress-container.infinite .progress-bit{animation-name:progress;animation-duration:4s;animation-iteration-count:infinite;transform:translateZ(0);animation-timing-function:linear}.monaco-progress-container.infinite.infinite-long-running .progress-bit{animation-timing-function:steps(100)}@keyframes progress{0%{transform:translate(0) scaleX(1)}50%{transform:translate(2500%) scaleX(3)}to{transform:translate(4900%) scaleX(1)}}.quick-input-widget{position:absolute;width:600px;z-index:2550;left:50%;margin-left:-300px;-webkit-app-region:no-drag;border-radius:6px}.quick-input-titlebar{display:flex;align-items:center;border-top-left-radius:5px;border-top-right-radius:5px}.quick-input-left-action-bar{display:flex;margin-left:4px;flex:1}.quick-input-title{padding:3px 0;text-align:center;text-overflow:ellipsis;overflow:hidden}.quick-input-right-action-bar{display:flex;margin-right:4px;flex:1}.quick-input-right-action-bar>.actions-container{justify-content:flex-end}.quick-input-titlebar .monaco-action-bar .action-label.codicon{background-position:center;background-repeat:no-repeat;padding:2px}.quick-input-description{margin:6px}.quick-input-header .quick-input-description{margin:4px 2px}.quick-input-header{display:flex;padding:8px 6px 6px}.quick-input-widget.hidden-input .quick-input-header{padding:0;margin-bottom:0}.quick-input-and-message{display:flex;flex-direction:column;flex-grow:1;min-width:0;position:relative}.quick-input-check-all{align-self:center;margin:0}.quick-input-filter{flex-grow:1;display:flex;position:relative}.quick-input-box{flex-grow:1}.quick-input-widget.show-checkboxes .quick-input-box,.quick-input-widget.show-checkboxes .quick-input-message{margin-left:5px}.quick-input-visible-count{position:absolute;left:-10000px}.quick-input-count{align-self:center;position:absolute;right:4px;display:flex;align-items:center}.quick-input-count .monaco-count-badge{vertical-align:middle;padding:2px 4px;border-radius:2px;min-height:auto;line-height:normal}.quick-input-action{margin-left:6px}.quick-input-action .monaco-text-button{font-size:11px;padding:0 6px;display:flex;height:25px;align-items:center}.quick-input-message{margin-top:-1px;padding:5px;overflow-wrap:break-word}.quick-input-message>.codicon{margin:0 .2em;vertical-align:text-bottom}.quick-input-message a{color:inherit}.quick-input-progress.monaco-progress-container{position:relative}.quick-input-progress.monaco-progress-container,.quick-input-progress.monaco-progress-container .progress-bit{height:2px}.quick-input-list{line-height:22px}.quick-input-widget.hidden-input .quick-input-list{margin-top:4px;padding-bottom:4px}.quick-input-list .monaco-list{overflow:hidden;max-height:440px;padding-bottom:5px}.quick-input-list .monaco-scrollable-element{padding:0 5px}.quick-input-list .quick-input-list-entry{box-sizing:border-box;overflow:hidden;display:flex;height:100%;padding:0 6px}.quick-input-list .quick-input-list-entry.quick-input-list-separator-border{border-top-width:1px;border-top-style:solid}.quick-input-list .monaco-list-row{border-radius:3px}.quick-input-list .monaco-list-row[data-index="0"] .quick-input-list-entry.quick-input-list-separator-border{border-top-style:none}.quick-input-list .quick-input-list-label{overflow:hidden;display:flex;height:100%;flex:1}.quick-input-list .quick-input-list-checkbox{align-self:center;margin:0}.quick-input-list .quick-input-list-icon{background-size:16px;background-position:left center;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;display:flex;align-items:center;justify-content:center}.quick-input-list .quick-input-list-rows{overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;height:100%;flex:1;margin-left:5px}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows{margin-left:10px}.quick-input-widget .quick-input-list .quick-input-list-checkbox{display:none}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-checkbox{display:inline}.quick-input-list .quick-input-list-rows>.quick-input-list-row{display:flex;align-items:center}.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label,.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.quick-input-list .quick-input-list-rows>.quick-input-list-row .codicon[class*=codicon-]{vertical-align:text-bottom}.quick-input-list .quick-input-list-rows .monaco-highlighted-label>span{opacity:1}.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding{margin-right:8px}.quick-input-list .quick-input-list-label-meta{opacity:.7;line-height:normal;text-overflow:ellipsis;overflow:hidden}.quick-input-list .monaco-highlighted-label .highlight{font-weight:700}.quick-input-list .quick-input-list-entry .quick-input-list-separator{margin-right:4px}.quick-input-list .quick-input-list-entry-action-bar{display:flex;flex:0;overflow:visible}.quick-input-list .quick-input-list-entry-action-bar .action-label{display:none}.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon{margin-right:4px;padding:0 2px 2px}.quick-input-list .quick-input-list-entry-action-bar{margin-top:1px}.quick-input-list .quick-input-list-entry-action-bar{margin-right:4px}.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label,.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label{display:flex}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator{color:inherit}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key{background:none}.monaco-editor .diff-hidden-lines-widget{width:100%}.monaco-editor .diff-hidden-lines{height:0px;transform:translateY(-10px);font-size:13px;line-height:14px}.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover,.diff-hidden-lines:not(.dragging) .bottom:hover,.diff-hidden-lines .top.dragging,.diff-hidden-lines .bottom.dragging{background-color:var(--vscode-focusBorder)}.monaco-editor .diff-hidden-lines .top,.diff-hidden-lines .bottom{transition:background-color .1s ease-out;height:4px;background-color:transparent;background-clip:padding-box;border-bottom:2px solid transparent;border-top:4px solid transparent;cursor:ns-resize}.monaco-editor .diff-hidden-lines .top{transform:translateY(4px)}.monaco-editor .diff-hidden-lines .bottom{transform:translateY(-6px)}.monaco-editor .diff-unchanged-lines{background:var(--vscode-diffEditor-unchangedCodeBackground)}.monaco-editor .noModificationsOverlay{z-index:1;background:var(--vscode-editor-background);display:flex;justify-content:center;align-items:center}.monaco-editor .diff-hidden-lines .center{background:var(--vscode-diffEditor-unchangedRegionBackground);color:var(--vscode-diffEditor-unchangedRegionForeground);overflow:hidden;display:block;text-overflow:ellipsis;white-space:nowrap;height:24px}.monaco-editor .diff-hidden-lines .center span.codicon{vertical-align:middle}.monaco-editor .diff-hidden-lines .center a:hover .codicon{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .movedOriginal,.monaco-editor .movedModified{border:2px solid var(--vscode-diffEditor-move-border)}.monaco-diff-editor .moved-blocks-lines{position:absolute;pointer-events:none}.monaco-diff-editor .moved-blocks-lines path{fill:none;stroke:var(--vscode-diffEditor-move-border);stroke-width:2}.monaco-editor .char-delete.diff-range-empty{margin-left:-1px;border-left:solid var(--vscode-diffEditor-removedTextBackground) 3px}.monaco-editor .char-insert.diff-range-empty{border-left:solid var(--vscode-diffEditor-insertedTextBackground) 3px}.monaco-editor .fold-unchanged{cursor:pointer}.CodeMirror-dialog{position:absolute;left:0;right:0;background:inherit;z-index:15;padding:.1em .8em;overflow:hidden;color:inherit}.CodeMirror-dialog-top{border-bottom:1px solid #eee;top:0}.CodeMirror-dialog-bottom{border-top:1px solid #eee;bottom:0}.CodeMirror-dialog input{border:none;outline:none;background:transparent;width:20em;color:inherit;font-family:monospace}.CodeMirror-dialog button{font-size:70%}.CodeMirror{color:var(--symbols);--symbols: #777;--base: #545281;--comment: hsl(210, 25%, 60%);--keyword: #af4ab1;--variable: var(--base);--function: #c25205;--string: #2ba46d;--number: #c25205;--tags: #dd0000;--brackets: var(--comment);--qualifier: #ff6032;--important: var(--string);--attribute: #9c3eda;--property: #6182b8;--selected-bg: #d7d4f0;--selected-bg-non-focus: #d9d9d9;--cursor: #000;direction:ltr;font-family:var(--font-code);height:auto}.dark .CodeMirror{color:var(--symbols);--symbols: #89ddff;--base: #a6accd;--comment: #6d6d6d;--keyword: #89ddff;--string: #c3e88d;--variable: #82aaff;--number: #f78c6c;--tags: #f07178;--brackets: var(--symbols);--property: #f07178;--attribute: #c792ea;--cursor: #fff;--selected-bg: rgba(255, 255, 255, .1);--selected-bg-non-focus: rgba(255, 255, 255, .15)}.CodeMirror-lines{padding:4px 0}.CodeMirror pre{padding:0 4px}.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid var(--border);background-color:transparent;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:var(--comment);white-space:nowrap;opacity:.6}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-foldmarker{color:#414141;text-shadow:#ff9966 1px 1px 2px,#ff9966 -1px -1px 2px,#ff9966 1px -1px 2px,#ff9966 -1px 1px 2px;font-family:arial;line-height:.3;cursor:pointer}.CodeMirror-foldgutter{width:.7em}.CodeMirror-foldgutter-open,.CodeMirror-foldgutter-folded{cursor:pointer}.CodeMirror-foldgutter-open:after,.CodeMirror-foldgutter-folded:after{content:">";font-size:.8em;opacity:.8;transition:transform .2s;display:inline-block;top:-.1em;position:relative;transform:rotate(90deg)}.CodeMirror-foldgutter-folded:after{transform:none}.CodeMirror-cursor{border-left:1px solid var(--cursor);border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor-mark{background-color:#14ff1480;animation:blink 1.06s steps(1) infinite}.cm-animate-fat-cursor{width:auto;border:0;animation:blink 1.06s steps(1) infinite;background-color:#7e7}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:-20px;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default.CodeMirror{background-color:transparent}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-atom,.cm-s-default .cm-def,.cm-s-default .cm-variable-2,.cm-s-default .cm-variable-3,.cm-s-default .cm-punctuation{color:var(--base)}.cm-s-default .cm-property{color:var(--property)}.cm-s-default .cm-hr,.cm-s-default .cm-comment{color:var(--comment)}.cm-s-default .cm-attribute{color:var(--attribute)}.cm-s-default .cm-keyword{color:var(--keyword)}.cm-s-default .cm-variable{color:var(--variable)}.cm-s-default .cm-tag{color:var(--tags)}.cm-s-default .cm-bracket{color:var(--brackets)}.cm-s-default .cm-number{color:var(--number)}.cm-s-default .cm-string,.cm-s-default .cm-string-2{color:var(--string)}.cm-s-default .cm-type{color:#ffd000}.cm-s-default .cm-meta{color:#555}.cm-s-default .cm-qualifier{color:var(--qualifier)}.cm-s-default .cm-builtin{color:#7539ff}.cm-s-default .cm-link{color:var(--flash)}.cm-s-default .cm-error,.cm-invalidchar{color:#ff008c}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:white}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-30px;margin-right:-30px;padding-bottom:30px;height:100%;outline:none;position:relative}.CodeMirror-sizer{position:relative;border-right:30px solid transparent}.CodeMirror-vscrollbar,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{position:absolute;z-index:6;display:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-30px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:none!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre{border-radius:0;border-width:0;background:transparent;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;font-variant-ligatures:contextual}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:none}.CodeMirror-scroll,.CodeMirror-sizer,.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber{box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}div.CodeMirror-dragcursors,.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:var(--selected-bg-non-focus)}.CodeMirror-focused .CodeMirror-selected{background:var(--selected-bg)}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:var(--selected-bg)}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:var(--selected-bg)}.cm-searching{background-color:#ffa;background-color:#ff06}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:none}.CodeMirror-dialog{background-color:var(--bg)}.editor{position:relative;height:100%;width:100%;overflow:hidden}.CodeMirror{font-family:var(--font-code);line-height:1.5;height:100%}:root{--playground-header-bg-color: #eee}html[data-theme=dark]{--playground-header-bg-color: #333}html[data-theme=dark] .vue-repl{--bg: #1a1a1a;--bg-soft: #242424;--border: #383838;--text-light: #aaa;--color-branding: #42d392;--color-branding-dark: #89ddff}html[data-theme=dark] .vue-repl .import-map-wrapper{background:linear-gradient(90deg,rgba(26,26,26,0) 0%,rgb(26,26,26) 25%)!important}html[data-theme=dark] .vue-repl .CodeMirror{--symbols: #89ddff;--base: #a6accd;--comment: #6d6d6d;--keyword: #89ddff;--string: #c3e88d;--variable: #82aaff;--number: #f78c6c;--tags: #f07178;--brackets: var(--symbols);--property: #f07178;--attribute: #c792ea;--cursor: #fff;--selected-bg: rgb(255 255 255 / 10%);--selected-bg-non-focus: rgb(255 255 255 / 15%);color:var(--symbols)}.vue-playground-wrapper{overflow:hidden;margin-top:1rem;margin-bottom:1rem;border:1px solid var(--vp-brc);border-radius:6px}.vue-playground-wrapper .header{padding:.5rem .75rem;border-bottom:1px solid var(--vp-brc);background:var(--playground-header-bg-color, #eee);font-weight:500;font-size:1.1rem;line-height:1.5;overflow-wrap:break-word;transition:background var(--vp-ct) border-color var(--vp-ct)}.vue-playground-wrapper .preview-loading{color:var(--vp-tc)}.vue-playground-wrapper .source-container{display:none}.vue-playground-wrapper .source-container.show{display:block}.vue-playground-wrapper .repl-container{position:relative;overflow:hidden;height:auto;background:var(--vp-bg);transition:background var(--vp-ct)}@media print{.vue-playground-wrapper .repl-container{page-break-inside:avoid}}.vue-playground-wrapper .repl-container .vue-repl{height:300px}.theme-hope-content .vue-playground-wrapper .repl-container pre,.theme-hope-content .vue-playground-wrapper .repl-container pre[class*=language-]{margin:0;padding:0;border-radius:0}.search-pro-result-wrapper{scrollbar-color:var(--vp-tc) var(--vp-brc);scrollbar-width:thin}@media (max-width: 419px){.search-pro-result-wrapper{font-size:14px}}.search-pro-result-wrapper::-webkit-scrollbar{width:6px;height:6px}.search-pro-result-wrapper::-webkit-scrollbar-track-piece{border-radius:6px;background:rgba(0,0,0,.1)}.search-pro-result-wrapper::-webkit-scrollbar-thumb{border-radius:6px;background:var(--vp-tc)}.search-pro-result-wrapper::-webkit-scrollbar-thumb:active{background:var(--vp-tcl)}.search-pro-result-wrapper mark{border-radius:.25em;line-height:1}.search-pro-result-list{margin:0;padding:0}.search-pro-result-list-item{display:block;list-style:none}.search-pro-result-title{position:sticky;top:-2px;z-index:10;margin:-4px;margin-bottom:.25rem;padding:4px;background:var(--vp-bg);color:var(--vp-tc);font-weight:600;font-size:.85em;line-height:2rem;text-indent:.5em}.search-pro-result-item.active .search-pro-result-title{color:var(--vp-tc)}.search-pro-result-type{display:block;width:1rem;height:1rem;margin-inline-start:-.5rem;padding:.5rem;color:var(--vp-tc)}.search-pro-remove-icon{border-width:0;background:transparent;cursor:pointer;box-sizing:content-box;height:1.5rem;padding:0;border-radius:50%;color:var(--vp-tc);font-size:1rem}.search-pro-remove-icon svg{width:1.5rem;height:1.5rem}.search-pro-remove-icon:hover{background:rgba(128,128,128,.3)}.search-pro-result-content{display:flex;flex-grow:1;flex-direction:column;align-items:stretch;justify-content:center;line-height:1.5}.search-pro-result-content .content-header{margin-bottom:.25rem;border-bottom:1px solid var(--vp-brcd);font-size:.9em}.search-pro-result-item{display:flex;align-items:center;margin:.5rem 0;padding:.5rem .75rem;border-radius:.25rem;background:var(--vp-bgl);color:inherit;box-shadow:0 1px 3px 0 var(--card-shadow);font-weight:400;white-space:pre-wrap;word-wrap:break-word}.search-pro-result-item strong{color:var(--vp-tc)}.search-pro-result-item:hover,.search-pro-result-item.active{background-color:var(--vp-tcl);color:var(--white);cursor:pointer}.search-pro-result-item:hover .search-pro-result-type,.search-pro-result-item:hover .search-pro-remove-icon,.search-pro-result-item:hover strong,.search-pro-result-item.active .search-pro-result-type,.search-pro-result-item.active .search-pro-remove-icon,.search-pro-result-item.active strong{color:var(--white)} diff --git a/assets/styles-0671a096-6e2274e0.js b/assets/styles-0671a096-6e2274e0.js new file mode 100644 index 000000000..d91986ba9 --- /dev/null +++ b/assets/styles-0671a096-6e2274e0.js @@ -0,0 +1,110 @@ +import{G as V}from"./layout-9ab4d959.js";import{ag as D,ah as M,ai as R,aj as j,ak as F,al as U,ad as H,p as N,l as y,q as W,c as $,j as G,r as C,o as E,h as _,y as X,t as J,am as K}from"./mermaid.core-b9e4ef5d.js";import{r as Q}from"./index-f9462f3f-2c188ac0.js";function Y(e){return typeof e=="string"?new D([document.querySelectorAll(e)],[document.documentElement]):new D([R(e)],M)}const Z=(e,r)=>j.lang.round(F.parse(e)[r]),O=Z;function be(e,r){return!!e.children(r).length}function fe(e){return L(e.v)+":"+L(e.w)+":"+L(e.name)}var ee=/:/g;function L(e){return e?String(e).replace(ee,"\\:"):""}function te(e,r){r&&e.attr("style",r)}function ue(e,r,c){r&&e.attr("class",r).attr("class",c+" "+e.attr("class"))}function we(e,r){var c=r.graph();if(U(c)){var a=c.transition;if(H(a))return a(e)}return e}function le(e,r){var c=e.append("foreignObject").attr("width","100000"),a=c.append("xhtml:div");a.attr("xmlns","http://www.w3.org/1999/xhtml");var i=r.label;switch(typeof i){case"function":a.insert(i);break;case"object":a.insert(function(){return i});break;default:a.html(i)}te(a,r.labelStyle),a.style("display","inline-block"),a.style("white-space","nowrap");var d=a.node().getBoundingClientRect();return c.attr("width",d.width).attr("height",d.height),c}const z={},re=function(e){const r=Object.keys(e);for(const c of r)z[c]=e[c]},q=function(e,r,c,a,i,d){const u=a.select(`[id="${c}"]`);Object.keys(e).forEach(function(p){const l=e[p];let g="default";l.classes.length>0&&(g=l.classes.join(" ")),g=g+" flowchart-label";const w=N(l.styles);let t=l.text!==void 0?l.text:l.id,s;if(y.info("vertex",l,l.labelType),l.labelType==="markdown")y.info("vertex",l,l.labelType);else if(W($().flowchart.htmlLabels)){const m={label:t.replace(/fa[blrs]?:fa-[\w-]+/g,k=>``)};s=le(u,m).node(),s.parentNode.removeChild(s)}else{const m=i.createElementNS("http://www.w3.org/2000/svg","text");m.setAttribute("style",w.labelStyle.replace("color:","fill:"));const k=t.split(G.lineBreakRegex);for(const T of k){const v=i.createElementNS("http://www.w3.org/2000/svg","tspan");v.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),v.setAttribute("dy","1em"),v.setAttribute("x","1"),v.textContent=T,m.appendChild(v)}s=m}let b=0,o="";switch(l.type){case"round":b=5,o="rect";break;case"square":o="rect";break;case"diamond":o="question";break;case"hexagon":o="hexagon";break;case"odd":o="rect_left_inv_arrow";break;case"lean_right":o="lean_right";break;case"lean_left":o="lean_left";break;case"trapezoid":o="trapezoid";break;case"inv_trapezoid":o="inv_trapezoid";break;case"odd_right":o="rect_left_inv_arrow";break;case"circle":o="circle";break;case"ellipse":o="ellipse";break;case"stadium":o="stadium";break;case"subroutine":o="subroutine";break;case"cylinder":o="cylinder";break;case"group":o="rect";break;case"doublecircle":o="doublecircle";break;default:o="rect"}r.setNode(l.id,{labelStyle:w.labelStyle,shape:o,labelText:t,labelType:l.labelType,rx:b,ry:b,class:g,style:w.style,id:l.id,link:l.link,linkTarget:l.linkTarget,tooltip:d.db.getTooltip(l.id)||"",domId:d.db.lookUpDomId(l.id),haveCallback:l.haveCallback,width:l.type==="group"?500:void 0,dir:l.dir,type:l.type,props:l.props,padding:$().flowchart.padding}),y.info("setNode",{labelStyle:w.labelStyle,labelType:l.labelType,shape:o,labelText:t,rx:b,ry:b,class:g,style:w.style,id:l.id,domId:d.db.lookUpDomId(l.id),width:l.type==="group"?500:void 0,type:l.type,dir:l.dir,props:l.props,padding:$().flowchart.padding})})},P=function(e,r,c){y.info("abc78 edges = ",e);let a=0,i={},d,u;if(e.defaultStyle!==void 0){const n=N(e.defaultStyle);d=n.style,u=n.labelStyle}e.forEach(function(n){a++;const p="L-"+n.start+"-"+n.end;i[p]===void 0?(i[p]=0,y.info("abc78 new entry",p,i[p])):(i[p]++,y.info("abc78 new entry",p,i[p]));let l=p+"-"+i[p];y.info("abc78 new link id to be used is",p,l,i[p]);const g="LS-"+n.start,w="LE-"+n.end,t={style:"",labelStyle:""};switch(t.minlen=n.length||1,n.type==="arrow_open"?t.arrowhead="none":t.arrowhead="normal",t.arrowTypeStart="arrow_open",t.arrowTypeEnd="arrow_open",n.type){case"double_arrow_cross":t.arrowTypeStart="arrow_cross";case"arrow_cross":t.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":t.arrowTypeStart="arrow_point";case"arrow_point":t.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":t.arrowTypeStart="arrow_circle";case"arrow_circle":t.arrowTypeEnd="arrow_circle";break}let s="",b="";switch(n.stroke){case"normal":s="fill:none;",d!==void 0&&(s=d),u!==void 0&&(b=u),t.thickness="normal",t.pattern="solid";break;case"dotted":t.thickness="normal",t.pattern="dotted",t.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":t.thickness="thick",t.pattern="solid",t.style="stroke-width: 3.5px;fill:none;";break;case"invisible":t.thickness="invisible",t.pattern="solid",t.style="stroke-width: 0;fill:none;";break}if(n.style!==void 0){const o=N(n.style);s=o.style,b=o.labelStyle}t.style=t.style+=s,t.labelStyle=t.labelStyle+=b,n.interpolate!==void 0?t.curve=C(n.interpolate,E):e.defaultInterpolate!==void 0?t.curve=C(e.defaultInterpolate,E):t.curve=C(z.curve,E),n.text===void 0?n.style!==void 0&&(t.arrowheadStyle="fill: #333"):(t.arrowheadStyle="fill: #333",t.labelpos="c"),t.labelType=n.labelType,t.label=n.text.replace(G.lineBreakRegex,` +`),n.style===void 0&&(t.style=t.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),t.labelStyle=t.labelStyle.replace("color:","fill:"),t.id=l,t.classes="flowchart-link "+g+" "+w,r.setEdge(n.start,n.end,t,a)})},ae=function(e,r){return r.db.getClasses()},oe=async function(e,r,c,a){y.info("Drawing flowchart");let i=a.db.getDirection();i===void 0&&(i="TD");const{securityLevel:d,flowchart:u}=$(),n=u.nodeSpacing||50,p=u.rankSpacing||50;let l;d==="sandbox"&&(l=_("#i"+r));const g=d==="sandbox"?_(l.nodes()[0].contentDocument.body):_("body"),w=d==="sandbox"?l.nodes()[0].contentDocument:document,t=new V({multigraph:!0,compound:!0}).setGraph({rankdir:i,nodesep:n,ranksep:p,marginx:0,marginy:0}).setDefaultEdgeLabel(function(){return{}});let s;const b=a.db.getSubGraphs();y.info("Subgraphs - ",b);for(let f=b.length-1;f>=0;f--)s=b[f],y.info("Subgraph - ",s),a.db.addVertex(s.id,{text:s.title,type:s.labelType},"group",void 0,s.classes,s.dir);const o=a.db.getVertices(),m=a.db.getEdges();y.info("Edges",m);let k=0;for(k=b.length-1;k>=0;k--){s=b[k],Y("cluster").append("text");for(let f=0;f{const c=O,a=c(e,"r"),i=c(e,"g"),d=c(e,"b");return K(a,i,d,r)},se=e=>`.label { + font-family: ${e.fontFamily}; + color: ${e.nodeTextColor||e.textColor}; + } + .cluster-label text { + fill: ${e.titleColor}; + } + .cluster-label span,p { + color: ${e.titleColor}; + } + + .label text,span,p { + fill: ${e.nodeTextColor||e.textColor}; + color: ${e.nodeTextColor||e.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder}; + stroke-width: 1px; + } + .flowchart-label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${e.arrowheadColor}; + } + + .edgePath .path { + stroke: ${e.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${e.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${e.edgeLabelBackground}; + rect { + opacity: 0.5; + background-color: ${e.edgeLabelBackground}; + fill: ${e.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${ne(e.edgeLabelBackground,.5)}; + // background-color: + } + + .cluster rect { + fill: ${e.clusterBkg}; + stroke: ${e.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${e.titleColor}; + } + + .cluster span,p { + color: ${e.titleColor}; + } + /* .cluster div { + color: ${e.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${e.fontFamily}; + font-size: 12px; + background: ${e.tertiaryColor}; + border: 1px solid ${e.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${e.textColor}; + } +`,ye=se;export{te as a,le as b,we as c,ue as d,fe as e,he as f,ye as g,be as i,Y as s}; diff --git a/assets/styles-24dfea38-14655b49.js b/assets/styles-24dfea38-14655b49.js new file mode 100644 index 000000000..9034e3e5e --- /dev/null +++ b/assets/styles-24dfea38-14655b49.js @@ -0,0 +1,207 @@ +import{c as Y,g as Ut,s as zt,a as Mt,b as Ht,v as Xt,x as Kt,l as D,j as ot,z as Wt,b2 as Jt}from"./mermaid.core-b9e4ef5d.js";var gt=function(){var t=function(C,r,n,i){for(n=n||{},i=C.length;i--;n[C[i]]=r);return n},s=[1,2],a=[1,3],h=[1,4],f=[2,4],d=[1,9],y=[1,11],k=[1,15],u=[1,16],E=[1,17],T=[1,18],R=[1,30],G=[1,19],j=[1,20],U=[1,21],z=[1,22],M=[1,23],H=[1,25],X=[1,26],K=[1,27],W=[1,28],J=[1,29],q=[1,32],Q=[1,33],Z=[1,34],tt=[1,35],w=[1,31],c=[1,4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],et=[1,4,5,13,14,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],Dt=[4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],ht={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,cssClassStatement:11,idStatement:12,DESCR:13,"-->":14,HIDE_EMPTY:15,scale:16,WIDTH:17,COMPOSIT_STATE:18,STRUCT_START:19,STRUCT_STOP:20,STATE_DESCR:21,AS:22,ID:23,FORK:24,JOIN:25,CHOICE:26,CONCURRENT:27,note:28,notePosition:29,NOTE_TEXT:30,direction:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,classDef:37,CLASSDEF_ID:38,CLASSDEF_STYLEOPTS:39,DEFAULT:40,class:41,CLASSENTITY_IDS:42,STYLECLASS:43,direction_tb:44,direction_bt:45,direction_rl:46,direction_lr:47,eol:48,";":49,EDGE_STATE:50,STYLE_SEPARATOR:51,left_of:52,right_of:53,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",13:"DESCR",14:"-->",15:"HIDE_EMPTY",16:"scale",17:"WIDTH",18:"COMPOSIT_STATE",19:"STRUCT_START",20:"STRUCT_STOP",21:"STATE_DESCR",22:"AS",23:"ID",24:"FORK",25:"JOIN",26:"CHOICE",27:"CONCURRENT",28:"note",30:"NOTE_TEXT",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"classDef",38:"CLASSDEF_ID",39:"CLASSDEF_STYLEOPTS",40:"DEFAULT",41:"class",42:"CLASSENTITY_IDS",43:"STYLECLASS",44:"direction_tb",45:"direction_bt",46:"direction_rl",47:"direction_lr",49:";",50:"EDGE_STATE",51:"STYLE_SEPARATOR",52:"left_of",53:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[31,1],[31,1],[31,1],[31,1],[48,1],[48,1],[12,1],[12,1],[12,3],[12,3],[29,1],[29,1]],performAction:function(r,n,i,o,p,e,$){var l=e.length-1;switch(p){case 3:return o.setRootDoc(e[l]),e[l];case 4:this.$=[];break;case 5:e[l]!="nl"&&(e[l-1].push(e[l]),this.$=e[l-1]);break;case 6:case 7:this.$=e[l];break;case 8:this.$="nl";break;case 11:this.$=e[l];break;case 12:const B=e[l-1];B.description=o.trimColon(e[l]),this.$=B;break;case 13:this.$={stmt:"relation",state1:e[l-2],state2:e[l]};break;case 14:const ft=o.trimColon(e[l]);this.$={stmt:"relation",state1:e[l-3],state2:e[l-1],description:ft};break;case 18:this.$={stmt:"state",id:e[l-3],type:"default",description:"",doc:e[l-1]};break;case 19:var v=e[l],O=e[l-2].trim();if(e[l].match(":")){var st=e[l].split(":");v=st[0],O=[O,st[1]]}this.$={stmt:"state",id:v,type:"default",description:O};break;case 20:this.$={stmt:"state",id:e[l-3],type:"default",description:e[l-5],doc:e[l-1]};break;case 21:this.$={stmt:"state",id:e[l],type:"fork"};break;case 22:this.$={stmt:"state",id:e[l],type:"join"};break;case 23:this.$={stmt:"state",id:e[l],type:"choice"};break;case 24:this.$={stmt:"state",id:o.getDividerId(),type:"divider"};break;case 25:this.$={stmt:"state",id:e[l-1].trim(),note:{position:e[l-2].trim(),text:e[l].trim()}};break;case 28:this.$=e[l].trim(),o.setAccTitle(this.$);break;case 29:case 30:this.$=e[l].trim(),o.setAccDescription(this.$);break;case 31:case 32:this.$={stmt:"classDef",id:e[l-1].trim(),classes:e[l].trim()};break;case 33:this.$={stmt:"applyClass",id:e[l-1].trim(),styleClass:e[l].trim()};break;case 34:o.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 35:o.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 36:o.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 37:o.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 40:case 41:this.$={stmt:"state",id:e[l].trim(),type:"default",description:""};break;case 42:this.$={stmt:"state",id:e[l-2].trim(),classes:[e[l].trim()],type:"default",description:""};break;case 43:this.$={stmt:"state",id:e[l-2].trim(),classes:[e[l].trim()],type:"default",description:""};break}},table:[{3:1,4:s,5:a,6:h},{1:[3]},{3:5,4:s,5:a,6:h},{3:6,4:s,5:a,6:h},t([1,4,5,15,16,18,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],f,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:d,5:y,8:8,9:10,10:12,11:13,12:14,15:k,16:u,18:E,21:T,23:R,24:G,25:j,26:U,27:z,28:M,31:24,32:H,34:X,36:K,37:W,41:J,44:q,45:Q,46:Z,47:tt,50:w},t(c,[2,5]),{9:36,10:12,11:13,12:14,15:k,16:u,18:E,21:T,23:R,24:G,25:j,26:U,27:z,28:M,31:24,32:H,34:X,36:K,37:W,41:J,44:q,45:Q,46:Z,47:tt,50:w},t(c,[2,7]),t(c,[2,8]),t(c,[2,9]),t(c,[2,10]),t(c,[2,11],{13:[1,37],14:[1,38]}),t(c,[2,15]),{17:[1,39]},t(c,[2,17],{19:[1,40]}),{22:[1,41]},t(c,[2,21]),t(c,[2,22]),t(c,[2,23]),t(c,[2,24]),{29:42,30:[1,43],52:[1,44],53:[1,45]},t(c,[2,27]),{33:[1,46]},{35:[1,47]},t(c,[2,30]),{38:[1,48],40:[1,49]},{42:[1,50]},t(et,[2,40],{51:[1,51]}),t(et,[2,41],{51:[1,52]}),t(c,[2,34]),t(c,[2,35]),t(c,[2,36]),t(c,[2,37]),t(c,[2,6]),t(c,[2,12]),{12:53,23:R,50:w},t(c,[2,16]),t(Dt,f,{7:54}),{23:[1,55]},{23:[1,56]},{22:[1,57]},{23:[2,44]},{23:[2,45]},t(c,[2,28]),t(c,[2,29]),{39:[1,58]},{39:[1,59]},{43:[1,60]},{23:[1,61]},{23:[1,62]},t(c,[2,13],{13:[1,63]}),{4:d,5:y,8:8,9:10,10:12,11:13,12:14,15:k,16:u,18:E,20:[1,64],21:T,23:R,24:G,25:j,26:U,27:z,28:M,31:24,32:H,34:X,36:K,37:W,41:J,44:q,45:Q,46:Z,47:tt,50:w},t(c,[2,19],{19:[1,65]}),{30:[1,66]},{23:[1,67]},t(c,[2,31]),t(c,[2,32]),t(c,[2,33]),t(et,[2,42]),t(et,[2,43]),t(c,[2,14]),t(c,[2,18]),t(Dt,f,{7:68}),t(c,[2,25]),t(c,[2,26]),{4:d,5:y,8:8,9:10,10:12,11:13,12:14,15:k,16:u,18:E,20:[1,69],21:T,23:R,24:G,25:j,26:U,27:z,28:M,31:24,32:H,34:X,36:K,37:W,41:J,44:q,45:Q,46:Z,47:tt,50:w},t(c,[2,20])],defaultActions:{5:[2,1],6:[2,2],44:[2,44],45:[2,45]},parseError:function(r,n){if(n.recoverable)this.trace(r);else{var i=new Error(r);throw i.hash=n,i}},parse:function(r){var n=this,i=[0],o=[],p=[null],e=[],$=this.table,l="",v=0,O=0,st=2,B=1,ft=e.slice.call(arguments,1),S=Object.create(this.lexer),A={yy:{}};for(var dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,dt)&&(A.yy[dt]=this.yy[dt]);S.setInput(r,A.yy),A.yy.lexer=S,A.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var yt=S.yylloc;e.push(yt);var Gt=S.options&&S.options.ranges;typeof A.yy.parseError=="function"?this.parseError=A.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function jt(){var x;return x=o.pop()||S.lex()||B,typeof x!="number"&&(x instanceof Array&&(o=x,x=o.pop()),x=n.symbols_[x]||x),x}for(var _,L,m,pt,N={},it,b,Ct,rt;;){if(L=i[i.length-1],this.defaultActions[L]?m=this.defaultActions[L]:((_===null||typeof _>"u")&&(_=jt()),m=$[L]&&$[L][_]),typeof m>"u"||!m.length||!m[0]){var St="";rt=[];for(it in $[L])this.terminals_[it]&&it>st&&rt.push("'"+this.terminals_[it]+"'");S.showPosition?St="Parse error on line "+(v+1)+`: +`+S.showPosition()+` +Expecting `+rt.join(", ")+", got '"+(this.terminals_[_]||_)+"'":St="Parse error on line "+(v+1)+": Unexpected "+(_==B?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(St,{text:S.match,token:this.terminals_[_]||_,line:S.yylineno,loc:yt,expected:rt})}if(m[0]instanceof Array&&m.length>1)throw new Error("Parse Error: multiple actions possible at state: "+L+", token: "+_);switch(m[0]){case 1:i.push(_),p.push(S.yytext),e.push(S.yylloc),i.push(m[1]),_=null,O=S.yyleng,l=S.yytext,v=S.yylineno,yt=S.yylloc;break;case 2:if(b=this.productions_[m[1]][1],N.$=p[p.length-b],N._$={first_line:e[e.length-(b||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(b||1)].first_column,last_column:e[e.length-1].last_column},Gt&&(N._$.range=[e[e.length-(b||1)].range[0],e[e.length-1].range[1]]),pt=this.performAction.apply(N,[l,O,v,A.yy,m[1],p,e].concat(ft)),typeof pt<"u")return pt;b&&(i=i.slice(0,-1*b*2),p=p.slice(0,-1*b),e=e.slice(0,-1*b)),i.push(this.productions_[m[1]][0]),p.push(N.$),e.push(N._$),Ct=$[i[i.length-2]][i[i.length-1]],i.push(Ct);break;case 3:return!0}}return!0}},Yt=function(){var C={EOF:1,parseError:function(n,i){if(this.yy.parser)this.yy.parser.parseError(n,i);else throw new Error(n)},setInput:function(r,n){return this.yy=n||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var n=r.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},unput:function(r){var n=r.length,i=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var o=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var p=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===o.length?this.yylloc.first_column:0)+o[o.length-i.length].length-i[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(r){this.unput(this.match.slice(r))},pastInput:function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var r=this.pastInput(),n=new Array(r.length+1).join("-");return r+this.upcomingInput()+` +`+n+"^"},test_match:function(r,n){var i,o,p;if(this.options.backtrack_lexer&&(p={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(p.yylloc.range=this.yylloc.range.slice(0))),o=r[0].match(/(?:\r\n?|\n).*/g),o&&(this.yylineno+=o.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:o?o[o.length-1].length-o[o.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+r[0].length},this.yytext+=r[0],this.match+=r[0],this.matches=r,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(r[0].length),this.matched+=r[0],i=this.performAction.call(this,this.yy,this,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var e in p)this[e]=p[e];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var r,n,i,o;this._more||(this.yytext="",this.match="");for(var p=this._currentRules(),e=0;en[0].length)){if(n=i,o=e,this.options.backtrack_lexer){if(r=this.test_match(i,p[e]),r!==!1)return r;if(this._backtrack){n=!1;continue}else return!1}else if(!this.options.flex)break}return n?(r=this.test_match(n,p[o]),r!==!1?r:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var n=this.next();return n||this.lex()},begin:function(n){this.conditionStack.push(n)},popState:function(){var n=this.conditionStack.length-1;return n>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(n){return n=this.conditionStack.length-1-Math.abs(n||0),n>=0?this.conditionStack[n]:"INITIAL"},pushState:function(n){this.begin(n)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(n,i,o,p){switch(o){case 0:return 40;case 1:return 44;case 2:return 45;case 3:return 46;case 4:return 47;case 5:break;case 6:break;case 7:return 5;case 8:break;case 9:break;case 10:break;case 11:break;case 12:return this.pushState("SCALE"),16;case 13:return 17;case 14:this.popState();break;case 15:return this.begin("acc_title"),32;case 16:return this.popState(),"acc_title_value";case 17:return this.begin("acc_descr"),34;case 18:return this.popState(),"acc_descr_value";case 19:this.begin("acc_descr_multiline");break;case 20:this.popState();break;case 21:return"acc_descr_multiline_value";case 22:return this.pushState("CLASSDEF"),37;case 23:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 24:return this.popState(),this.pushState("CLASSDEFID"),38;case 25:return this.popState(),39;case 26:return this.pushState("CLASS"),41;case 27:return this.popState(),this.pushState("CLASS_STYLE"),42;case 28:return this.popState(),43;case 29:return this.pushState("SCALE"),16;case 30:return 17;case 31:this.popState();break;case 32:this.pushState("STATE");break;case 33:return this.popState(),i.yytext=i.yytext.slice(0,-8).trim(),24;case 34:return this.popState(),i.yytext=i.yytext.slice(0,-8).trim(),25;case 35:return this.popState(),i.yytext=i.yytext.slice(0,-10).trim(),26;case 36:return this.popState(),i.yytext=i.yytext.slice(0,-8).trim(),24;case 37:return this.popState(),i.yytext=i.yytext.slice(0,-8).trim(),25;case 38:return this.popState(),i.yytext=i.yytext.slice(0,-10).trim(),26;case 39:return 44;case 40:return 45;case 41:return 46;case 42:return 47;case 43:this.pushState("STATE_STRING");break;case 44:return this.pushState("STATE_ID"),"AS";case 45:return this.popState(),"ID";case 46:this.popState();break;case 47:return"STATE_DESCR";case 48:return 18;case 49:this.popState();break;case 50:return this.popState(),this.pushState("struct"),19;case 51:break;case 52:return this.popState(),20;case 53:break;case 54:return this.begin("NOTE"),28;case 55:return this.popState(),this.pushState("NOTE_ID"),52;case 56:return this.popState(),this.pushState("NOTE_ID"),53;case 57:this.popState(),this.pushState("FLOATING_NOTE");break;case 58:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 59:break;case 60:return"NOTE_TEXT";case 61:return this.popState(),"ID";case 62:return this.popState(),this.pushState("NOTE_TEXT"),23;case 63:return this.popState(),i.yytext=i.yytext.substr(2).trim(),30;case 64:return this.popState(),i.yytext=i.yytext.slice(0,-8).trim(),30;case 65:return 6;case 66:return 6;case 67:return 15;case 68:return 50;case 69:return 23;case 70:return i.yytext=i.yytext.trim(),13;case 71:return 14;case 72:return 27;case 73:return 51;case 74:return 5;case 75:return"INVALID"}},rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[9,10],inclusive:!1},struct:{rules:[9,10,22,26,32,39,40,41,42,51,52,53,54,68,69,70,71,72],inclusive:!1},FLOATING_NOTE_ID:{rules:[61],inclusive:!1},FLOATING_NOTE:{rules:[58,59,60],inclusive:!1},NOTE_TEXT:{rules:[63,64],inclusive:!1},NOTE_ID:{rules:[62],inclusive:!1},NOTE:{rules:[55,56,57],inclusive:!1},CLASS_STYLE:{rules:[28],inclusive:!1},CLASS:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[25],inclusive:!1},CLASSDEF:{rules:[23,24],inclusive:!1},acc_descr_multiline:{rules:[20,21],inclusive:!1},acc_descr:{rules:[18],inclusive:!1},acc_title:{rules:[16],inclusive:!1},SCALE:{rules:[13,14,30,31],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[45],inclusive:!1},STATE_STRING:{rules:[46,47],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,33,34,35,36,37,38,43,44,48,49,50],inclusive:!1},ID:{rules:[9,10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,10,11,12,15,17,19,22,26,29,32,50,54,65,66,67,68,69,70,71,73,74,75],inclusive:!0}}};return C}();ht.lexer=Yt;function ut(){this.yy={}}return ut.prototype=ht,ht.Parser=ut,new ut}();gt.parser=gt;const De=gt,qt="LR",Ce="TB",_t="state",It="relation",Qt="classDef",Zt="applyClass",Et="default",te="divider",bt="[*]",Ot="start",Nt=bt,Rt="end",vt="color",At="fill",ee="bgFill",se=",";function wt(){return{}}let $t=qt,lt=[],P=wt();const Bt=()=>({relations:[],states:{},documents:{}});let ct={root:Bt()},g=ct.root,F=0,Lt=0;const ie={LINE:0,DOTTED_LINE:1},re={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},nt=t=>JSON.parse(JSON.stringify(t)),ne=t=>{D.info("Setting root doc",t),lt=t},ae=()=>lt,at=(t,s,a)=>{if(s.stmt===It)at(t,s.state1,!0),at(t,s.state2,!1);else if(s.stmt===_t&&(s.id==="[*]"?(s.id=a?t.id+"_start":t.id+"_end",s.start=a):s.id=s.id.trim()),s.doc){const h=[];let f=[],d;for(d=0;d0&&f.length>0){const y={stmt:_t,id:Jt(),type:"divider",doc:nt(f)};h.push(nt(y)),s.doc=h}s.doc.forEach(y=>at(s,y,!0))}},le=()=>(at({id:"root"},{id:"root",doc:lt},!0),{id:"root",doc:lt}),ce=t=>{let s;t.doc?s=t.doc:s=t,D.info(s),Pt(!0),D.info("Extract",s),s.forEach(a=>{switch(a.stmt){case _t:I(a.id.trim(),a.type,a.doc,a.description,a.note,a.classes,a.styles,a.textStyles);break;case It:Ft(a.state1,a.state2,a.description);break;case Qt:Vt(a.id.trim(),a.classes);break;case Zt:xt(a.id.trim(),a.styleClass);break}})},I=function(t,s=Et,a=null,h=null,f=null,d=null,y=null,k=null){const u=t==null?void 0:t.trim();g.states[u]===void 0?(D.info("Adding state ",u,h),g.states[u]={id:u,descriptions:[],type:s,doc:a,note:f,classes:[],styles:[],textStyles:[]}):(g.states[u].doc||(g.states[u].doc=a),g.states[u].type||(g.states[u].type=s)),h&&(D.info("Setting state description",u,h),typeof h=="string"&&kt(u,h.trim()),typeof h=="object"&&h.forEach(E=>kt(u,E.trim()))),f&&(g.states[u].note=f,g.states[u].note.text=ot.sanitizeText(g.states[u].note.text,Y())),d&&(D.info("Setting state classes",u,d),(typeof d=="string"?[d]:d).forEach(T=>xt(u,T.trim()))),y&&(D.info("Setting state styles",u,y),(typeof y=="string"?[y]:y).forEach(T=>_e(u,T.trim()))),k&&(D.info("Setting state styles",u,y),(typeof k=="string"?[k]:k).forEach(T=>me(u,T.trim())))},Pt=function(t){ct={root:Bt()},g=ct.root,F=0,P=wt(),t||Wt()},V=function(t){return g.states[t]},oe=function(){return g.states},he=function(){D.info("Documents = ",ct)},ue=function(){return g.relations};function mt(t=""){let s=t;return t===bt&&(F++,s=`${Ot}${F}`),s}function Tt(t="",s=Et){return t===bt?Ot:s}function fe(t=""){let s=t;return t===Nt&&(F++,s=`${Rt}${F}`),s}function de(t="",s=Et){return t===Nt?Rt:s}function ye(t,s,a){let h=mt(t.id.trim()),f=Tt(t.id.trim(),t.type),d=mt(s.id.trim()),y=Tt(s.id.trim(),s.type);I(h,f,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),I(d,y,s.doc,s.description,s.note,s.classes,s.styles,s.textStyles),g.relations.push({id1:h,id2:d,relationTitle:ot.sanitizeText(a,Y())})}const Ft=function(t,s,a){if(typeof t=="object")ye(t,s,a);else{const h=mt(t.trim()),f=Tt(t),d=fe(s.trim()),y=de(s);I(h,f),I(d,y),g.relations.push({id1:h,id2:d,title:ot.sanitizeText(a,Y())})}},kt=function(t,s){const a=g.states[t],h=s.startsWith(":")?s.replace(":","").trim():s;a.descriptions.push(ot.sanitizeText(h,Y()))},pe=function(t){return t.substring(0,1)===":"?t.substr(2).trim():t.trim()},Se=()=>(Lt++,"divider-id-"+Lt),Vt=function(t,s=""){P[t]===void 0&&(P[t]={id:t,styles:[],textStyles:[]});const a=P[t];s!=null&&s.split(se).forEach(h=>{const f=h.replace(/([^;]*);/,"$1").trim();if(h.match(vt)){const y=f.replace(At,ee).replace(vt,At);a.textStyles.push(y)}a.styles.push(f)})},ge=function(){return P},xt=function(t,s){t.split(",").forEach(function(a){let h=V(a);if(h===void 0){const f=a.trim();I(f),h=V(f)}h.classes.push(s)})},_e=function(t,s){const a=V(t);a!==void 0&&a.textStyles.push(s)},me=function(t,s){const a=V(t);a!==void 0&&a.textStyles.push(s)},Te=()=>$t,ke=t=>{$t=t},Ee=t=>t&&t[0]===":"?t.substr(1).trim():t.trim(),ve={getConfig:()=>Y().state,addState:I,clear:Pt,getState:V,getStates:oe,getRelations:ue,getClasses:ge,getDirection:Te,addRelation:Ft,getDividerId:Se,setDirection:ke,cleanupLabel:pe,lineType:ie,relationType:re,logDocuments:he,getRootDoc:ae,setRootDoc:ne,getRootDocV2:le,extract:ce,trimColon:Ee,getAccTitle:Ut,setAccTitle:zt,getAccDescription:Mt,setAccDescription:Ht,addStyleClass:Vt,setCssClass:xt,addDescription:kt,setDiagramTitle:Xt,getDiagramTitle:Kt},be=t=>` +defs #statediagram-barbEnd { + fill: ${t.transitionColor}; + stroke: ${t.transitionColor}; + } +g.stateGroup text { + fill: ${t.nodeBorder}; + stroke: none; + font-size: 10px; +} +g.stateGroup text { + fill: ${t.textColor}; + stroke: none; + font-size: 10px; + +} +g.stateGroup .state-title { + font-weight: bolder; + fill: ${t.stateLabelColor}; +} + +g.stateGroup rect { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; +} + +g.stateGroup line { + stroke: ${t.lineColor}; + stroke-width: 1; +} + +.transition { + stroke: ${t.transitionColor}; + stroke-width: 1; + fill: none; +} + +.stateGroup .composit { + fill: ${t.background}; + border-bottom: 1px +} + +.stateGroup .alt-composit { + fill: #e0e0e0; + border-bottom: 1px +} + +.state-note { + stroke: ${t.noteBorderColor}; + fill: ${t.noteBkgColor}; + + text { + fill: ${t.noteTextColor}; + stroke: none; + font-size: 10px; + } +} + +.stateLabel .box { + stroke: none; + stroke-width: 0; + fill: ${t.mainBkg}; + opacity: 0.5; +} + +.edgeLabel .label rect { + fill: ${t.labelBackgroundColor}; + opacity: 0.5; +} +.edgeLabel .label text { + fill: ${t.transitionLabelColor||t.tertiaryTextColor}; +} +.label div .edgeLabel { + color: ${t.transitionLabelColor||t.tertiaryTextColor}; +} + +.stateLabel text { + fill: ${t.stateLabelColor}; + font-size: 10px; + font-weight: bold; +} + +.node circle.state-start { + fill: ${t.specialStateColor}; + stroke: ${t.specialStateColor}; +} + +.node .fork-join { + fill: ${t.specialStateColor}; + stroke: ${t.specialStateColor}; +} + +.node circle.state-end { + fill: ${t.innerEndBackground}; + stroke: ${t.background}; + stroke-width: 1.5 +} +.end-state-inner { + fill: ${t.compositeBackground||t.background}; + // stroke: ${t.background}; + stroke-width: 1.5 +} + +.node rect { + fill: ${t.stateBkg||t.mainBkg}; + stroke: ${t.stateBorder||t.nodeBorder}; + stroke-width: 1px; +} +.node polygon { + fill: ${t.mainBkg}; + stroke: ${t.stateBorder||t.nodeBorder};; + stroke-width: 1px; +} +#statediagram-barbEnd { + fill: ${t.lineColor}; +} + +.statediagram-cluster rect { + fill: ${t.compositeTitleBackground}; + stroke: ${t.stateBorder||t.nodeBorder}; + stroke-width: 1px; +} + +.cluster-label, .nodeLabel { + color: ${t.stateLabelColor}; +} + +.statediagram-cluster rect.outer { + rx: 5px; + ry: 5px; +} +.statediagram-state .divider { + stroke: ${t.stateBorder||t.nodeBorder}; +} + +.statediagram-state .title-state { + rx: 5px; + ry: 5px; +} +.statediagram-cluster.statediagram-cluster .inner { + fill: ${t.compositeBackground||t.background}; +} +.statediagram-cluster.statediagram-cluster-alt .inner { + fill: ${t.altBackground?t.altBackground:"#efefef"}; +} + +.statediagram-cluster .inner { + rx:0; + ry:0; +} + +.statediagram-state rect.basic { + rx: 5px; + ry: 5px; +} +.statediagram-state rect.divider { + stroke-dasharray: 10,10; + fill: ${t.altBackground?t.altBackground:"#efefef"}; +} + +.note-edge { + stroke-dasharray: 5; +} + +.statediagram-note rect { + fill: ${t.noteBkgColor}; + stroke: ${t.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} +.statediagram-note rect { + fill: ${t.noteBkgColor}; + stroke: ${t.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} + +.statediagram-note text { + fill: ${t.noteTextColor}; +} + +.statediagram-note .nodeLabel { + color: ${t.noteTextColor}; +} +.statediagram .edgeLabel { + color: red; // ${t.noteTextColor}; +} + +#dependencyStart, #dependencyEnd { + fill: ${t.lineColor}; + stroke: ${t.lineColor}; + stroke-width: 1; +} + +.statediagramTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; +} +`,Ae=be;export{Et as D,It as S,te as a,_t as b,Ce as c,ve as d,De as p,Ae as s}; diff --git a/assets/styles-8b67d7cb-5b9ad786.js b/assets/styles-8b67d7cb-5b9ad786.js new file mode 100644 index 000000000..1101a07ef --- /dev/null +++ b/assets/styles-8b67d7cb-5b9ad786.js @@ -0,0 +1,160 @@ +import{s as Xe,g as We,a as qe,b as He,c as F,v as Je,x as Ze,j as v,z as $e,l as et,y as Pe,h as U,d as tt,ar as ye}from"./mermaid.core-b9e4ef5d.js";var De=function(){var e=function(L,u,a,o){for(a=a||{},o=L.length;o--;a[L[o]]=u);return a},n=[1,16],r=[1,17],h=[1,18],l=[1,37],A=[1,38],g=[1,24],D=[1,22],B=[1,23],_=[1,29],ne=[1,30],ue=[1,31],re=[1,32],ae=[1,33],le=[1,34],ce=[1,25],oe=[1,26],he=[1,27],Ae=[1,28],d=[1,42],E=[1,39],C=[1,40],m=[1,41],k=[1,43],pe=[1,9],c=[1,8,9],Y=[1,54],K=[1,55],j=[1,56],Q=[1,57],X=[1,58],fe=[1,59],de=[1,60],W=[1,8,9,38],Ne=[1,71],V=[1,8,9,12,13,21,36,38,41,58,59,60,61,62,63,64,69,71],q=[1,8,9,12,13,19,21,36,38,41,45,58,59,60,61,62,63,64,69,71,84,86,87,88,89],H=[13,84,86,87,88,89],M=[13,63,64,84,86,87,88,89],ve=[13,58,59,60,61,62,84,86,87,88,89],Ee=[1,90],Ce=[1,8,9,36,38,41],J=[1,8,9,21],me={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,cssClassStatement:27,noteStatement:28,direction:29,acc_title:30,acc_title_value:31,acc_descr:32,acc_descr_value:33,acc_descr_multiline_value:34,namespaceIdentifier:35,STRUCT_START:36,classStatements:37,STRUCT_STOP:38,NAMESPACE:39,classIdentifier:40,STYLE_SEPARATOR:41,members:42,CLASS:43,ANNOTATION_START:44,ANNOTATION_END:45,MEMBER:46,SEPARATOR:47,relation:48,NOTE_FOR:49,noteText:50,NOTE:51,direction_tb:52,direction_bt:53,direction_rl:54,direction_lr:55,relationType:56,lineType:57,AGGREGATION:58,EXTENSION:59,COMPOSITION:60,DEPENDENCY:61,LOLLIPOP:62,LINE:63,DOTTED_LINE:64,CALLBACK:65,LINK:66,LINK_TARGET:67,CLICK:68,CALLBACK_NAME:69,CALLBACK_ARGS:70,HREF:71,CSSCLASS:72,commentToken:73,textToken:74,graphCodeTokens:75,textNoTagsToken:76,TAGSTART:77,TAGEND:78,"==":79,"--":80,PCT:81,DEFAULT:82,SPACE:83,MINUS:84,keywords:85,UNICODE_TEXT:86,NUM:87,ALPHA:88,BQUOTE_STR:89,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",30:"acc_title",31:"acc_title_value",32:"acc_descr",33:"acc_descr_value",34:"acc_descr_multiline_value",36:"STRUCT_START",38:"STRUCT_STOP",39:"NAMESPACE",41:"STYLE_SEPARATOR",43:"CLASS",44:"ANNOTATION_START",45:"ANNOTATION_END",46:"MEMBER",47:"SEPARATOR",49:"NOTE_FOR",51:"NOTE",52:"direction_tb",53:"direction_bt",54:"direction_rl",55:"direction_lr",58:"AGGREGATION",59:"EXTENSION",60:"COMPOSITION",61:"DEPENDENCY",62:"LOLLIPOP",63:"LINE",64:"DOTTED_LINE",65:"CALLBACK",66:"LINK",67:"LINK_TARGET",68:"CLICK",69:"CALLBACK_NAME",70:"CALLBACK_ARGS",71:"HREF",72:"CSSCLASS",75:"graphCodeTokens",77:"TAGSTART",78:"TAGEND",79:"==",80:"--",81:"PCT",82:"DEFAULT",83:"SPACE",84:"MINUS",85:"keywords",86:"UNICODE_TEXT",87:"NUM",88:"ALPHA",89:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[35,2],[37,1],[37,2],[37,3],[23,1],[23,3],[23,4],[23,6],[40,2],[40,3],[25,4],[42,1],[42,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[28,3],[28,2],[29,1],[29,1],[29,1],[29,1],[48,3],[48,2],[48,2],[48,1],[56,1],[56,1],[56,1],[56,1],[56,1],[57,1],[57,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[73,1],[73,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[76,1],[76,1],[76,1],[76,1],[16,1],[16,1],[16,1],[16,1],[18,1],[50,1]],performAction:function(u,a,o,i,p,t,G){var s=t.length-1;switch(p){case 8:this.$=t[s-1];break;case 9:case 11:case 12:this.$=t[s];break;case 10:case 13:this.$=t[s-1]+t[s];break;case 14:case 15:this.$=t[s-1]+"~"+t[s]+"~";break;case 16:i.addRelation(t[s]);break;case 17:t[s-1].title=i.cleanupLabel(t[s]),i.addRelation(t[s-1]);break;case 26:this.$=t[s].trim(),i.setAccTitle(this.$);break;case 27:case 28:this.$=t[s].trim(),i.setAccDescription(this.$);break;case 29:i.addClassesToNamespace(t[s-3],t[s-1]);break;case 30:i.addClassesToNamespace(t[s-4],t[s-1]);break;case 31:this.$=t[s],i.addNamespace(t[s]);break;case 32:this.$=[t[s]];break;case 33:this.$=[t[s-1]];break;case 34:t[s].unshift(t[s-2]),this.$=t[s];break;case 36:i.setCssClass(t[s-2],t[s]);break;case 37:i.addMembers(t[s-3],t[s-1]);break;case 38:i.setCssClass(t[s-5],t[s-3]),i.addMembers(t[s-5],t[s-1]);break;case 39:this.$=t[s],i.addClass(t[s]);break;case 40:this.$=t[s-1],i.addClass(t[s-1]),i.setClassLabel(t[s-1],t[s]);break;case 41:i.addAnnotation(t[s],t[s-2]);break;case 42:this.$=[t[s]];break;case 43:t[s].push(t[s-1]),this.$=t[s];break;case 44:break;case 45:i.addMember(t[s-1],i.cleanupLabel(t[s]));break;case 46:break;case 47:break;case 48:this.$={id1:t[s-2],id2:t[s],relation:t[s-1],relationTitle1:"none",relationTitle2:"none"};break;case 49:this.$={id1:t[s-3],id2:t[s],relation:t[s-1],relationTitle1:t[s-2],relationTitle2:"none"};break;case 50:this.$={id1:t[s-3],id2:t[s],relation:t[s-2],relationTitle1:"none",relationTitle2:t[s-1]};break;case 51:this.$={id1:t[s-4],id2:t[s],relation:t[s-2],relationTitle1:t[s-3],relationTitle2:t[s-1]};break;case 52:i.addNote(t[s],t[s-1]);break;case 53:i.addNote(t[s]);break;case 54:i.setDirection("TB");break;case 55:i.setDirection("BT");break;case 56:i.setDirection("RL");break;case 57:i.setDirection("LR");break;case 58:this.$={type1:t[s-2],type2:t[s],lineType:t[s-1]};break;case 59:this.$={type1:"none",type2:t[s],lineType:t[s-1]};break;case 60:this.$={type1:t[s-1],type2:"none",lineType:t[s]};break;case 61:this.$={type1:"none",type2:"none",lineType:t[s]};break;case 62:this.$=i.relationType.AGGREGATION;break;case 63:this.$=i.relationType.EXTENSION;break;case 64:this.$=i.relationType.COMPOSITION;break;case 65:this.$=i.relationType.DEPENDENCY;break;case 66:this.$=i.relationType.LOLLIPOP;break;case 67:this.$=i.lineType.LINE;break;case 68:this.$=i.lineType.DOTTED_LINE;break;case 69:case 75:this.$=t[s-2],i.setClickEvent(t[s-1],t[s]);break;case 70:case 76:this.$=t[s-3],i.setClickEvent(t[s-2],t[s-1]),i.setTooltip(t[s-2],t[s]);break;case 71:this.$=t[s-2],i.setLink(t[s-1],t[s]);break;case 72:this.$=t[s-3],i.setLink(t[s-2],t[s-1],t[s]);break;case 73:this.$=t[s-3],i.setLink(t[s-2],t[s-1]),i.setTooltip(t[s-2],t[s]);break;case 74:this.$=t[s-4],i.setLink(t[s-3],t[s-2],t[s]),i.setTooltip(t[s-3],t[s-1]);break;case 77:this.$=t[s-3],i.setClickEvent(t[s-2],t[s-1],t[s]);break;case 78:this.$=t[s-4],i.setClickEvent(t[s-3],t[s-2],t[s-1]),i.setTooltip(t[s-3],t[s]);break;case 79:this.$=t[s-3],i.setLink(t[s-2],t[s]);break;case 80:this.$=t[s-4],i.setLink(t[s-3],t[s-1],t[s]);break;case 81:this.$=t[s-4],i.setLink(t[s-3],t[s-1]),i.setTooltip(t[s-3],t[s]);break;case 82:this.$=t[s-5],i.setLink(t[s-4],t[s-2],t[s]),i.setTooltip(t[s-4],t[s-1]);break;case 83:i.setCssClass(t[s-1],t[s]);break}},table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:35,17:19,18:36,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:n,32:r,34:h,35:20,39:l,40:21,43:A,44:g,46:D,47:B,49:_,51:ne,52:ue,53:re,54:ae,55:le,65:ce,66:oe,68:he,72:Ae,84:d,86:E,87:C,88:m,89:k},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},e(pe,[2,5],{8:[1,44]}),{8:[1,45]},e(c,[2,16],{21:[1,46]}),e(c,[2,18]),e(c,[2,19]),e(c,[2,20]),e(c,[2,21]),e(c,[2,22]),e(c,[2,23]),e(c,[2,24]),e(c,[2,25]),{31:[1,47]},{33:[1,48]},e(c,[2,28]),e(c,[2,44],{48:49,56:52,57:53,13:[1,50],21:[1,51],58:Y,59:K,60:j,61:Q,62:X,63:fe,64:de}),{36:[1,61]},e(W,[2,35],{36:[1,63],41:[1,62]}),e(c,[2,46]),e(c,[2,47]),{16:64,84:d,86:E,87:C,88:m},{16:35,17:65,18:36,84:d,86:E,87:C,88:m,89:k},{16:35,17:66,18:36,84:d,86:E,87:C,88:m,89:k},{16:35,17:67,18:36,84:d,86:E,87:C,88:m,89:k},{13:[1,68]},{16:35,17:69,18:36,84:d,86:E,87:C,88:m,89:k},{13:Ne,50:70},e(c,[2,54]),e(c,[2,55]),e(c,[2,56]),e(c,[2,57]),e(V,[2,11],{16:35,18:36,17:72,19:[1,73],84:d,86:E,87:C,88:m,89:k}),e(V,[2,12],{19:[1,74]}),{15:75,16:76,84:d,86:E,87:C,88:m},{16:35,17:77,18:36,84:d,86:E,87:C,88:m,89:k},e(q,[2,97]),e(q,[2,98]),e(q,[2,99]),e(q,[2,100]),e([1,8,9,12,13,19,21,36,38,41,58,59,60,61,62,63,64,69,71],[2,101]),e(pe,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,17:19,35:20,40:21,16:35,18:36,5:78,30:n,32:r,34:h,39:l,43:A,44:g,46:D,47:B,49:_,51:ne,52:ue,53:re,54:ae,55:le,65:ce,66:oe,68:he,72:Ae,84:d,86:E,87:C,88:m,89:k}),{5:79,10:5,16:35,17:19,18:36,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:n,32:r,34:h,35:20,39:l,40:21,43:A,44:g,46:D,47:B,49:_,51:ne,52:ue,53:re,54:ae,55:le,65:ce,66:oe,68:he,72:Ae,84:d,86:E,87:C,88:m,89:k},e(c,[2,17]),e(c,[2,26]),e(c,[2,27]),{13:[1,81],16:35,17:80,18:36,84:d,86:E,87:C,88:m,89:k},{48:82,56:52,57:53,58:Y,59:K,60:j,61:Q,62:X,63:fe,64:de},e(c,[2,45]),{57:83,63:fe,64:de},e(H,[2,61],{56:84,58:Y,59:K,60:j,61:Q,62:X}),e(M,[2,62]),e(M,[2,63]),e(M,[2,64]),e(M,[2,65]),e(M,[2,66]),e(ve,[2,67]),e(ve,[2,68]),{8:[1,86],23:87,37:85,40:21,43:A},{16:88,84:d,86:E,87:C,88:m},{42:89,46:Ee},{45:[1,91]},{13:[1,92]},{13:[1,93]},{69:[1,94],71:[1,95]},{16:96,84:d,86:E,87:C,88:m},{13:Ne,50:97},e(c,[2,53]),e(c,[2,102]),e(V,[2,13]),e(V,[2,14]),e(V,[2,15]),{36:[2,31]},{15:98,16:76,36:[2,9],84:d,86:E,87:C,88:m},e(Ce,[2,39],{11:99,12:[1,100]}),e(pe,[2,7]),{9:[1,101]},e(J,[2,48]),{16:35,17:102,18:36,84:d,86:E,87:C,88:m,89:k},{13:[1,104],16:35,17:103,18:36,84:d,86:E,87:C,88:m,89:k},e(H,[2,60],{56:105,58:Y,59:K,60:j,61:Q,62:X}),e(H,[2,59]),{38:[1,106]},{23:87,37:107,40:21,43:A},{8:[1,108],38:[2,32]},e(W,[2,36],{36:[1,109]}),{38:[1,110]},{38:[2,42],42:111,46:Ee},{16:35,17:112,18:36,84:d,86:E,87:C,88:m,89:k},e(c,[2,69],{13:[1,113]}),e(c,[2,71],{13:[1,115],67:[1,114]}),e(c,[2,75],{13:[1,116],70:[1,117]}),{13:[1,118]},e(c,[2,83]),e(c,[2,52]),{36:[2,10]},e(Ce,[2,40]),{13:[1,119]},{1:[2,4]},e(J,[2,50]),e(J,[2,49]),{16:35,17:120,18:36,84:d,86:E,87:C,88:m,89:k},e(H,[2,58]),e(c,[2,29]),{38:[1,121]},{23:87,37:122,38:[2,33],40:21,43:A},{42:123,46:Ee},e(W,[2,37]),{38:[2,43]},e(c,[2,41]),e(c,[2,70]),e(c,[2,72]),e(c,[2,73],{67:[1,124]}),e(c,[2,76]),e(c,[2,77],{13:[1,125]}),e(c,[2,79],{13:[1,127],67:[1,126]}),{14:[1,128]},e(J,[2,51]),e(c,[2,30]),{38:[2,34]},{38:[1,129]},e(c,[2,74]),e(c,[2,78]),e(c,[2,80]),e(c,[2,81],{67:[1,130]}),e(Ce,[2,8]),e(W,[2,38]),e(c,[2,82])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],75:[2,31],98:[2,10],101:[2,4],111:[2,43],122:[2,34]},parseError:function(u,a){if(a.recoverable)this.trace(u);else{var o=new Error(u);throw o.hash=a,o}},parse:function(u){var a=this,o=[0],i=[],p=[null],t=[],G=this.table,s="",Z=0,Le=0,Ye=2,xe=1,Ke=t.slice.call(arguments,1),b=Object.create(this.lexer),I={yy:{}};for(var ge in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ge)&&(I.yy[ge]=this.yy[ge]);b.setInput(u,I.yy),I.yy.lexer=b,I.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var ke=b.yylloc;t.push(ke);var je=b.options&&b.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Qe(){var N;return N=i.pop()||b.lex()||xe,typeof N!="number"&&(N instanceof Array&&(i=N,N=i.pop()),N=a.symbols_[N]||N),N}for(var T,O,y,Te,w={},$,S,Ie,ee;;){if(O=o[o.length-1],this.defaultActions[O]?y=this.defaultActions[O]:((T===null||typeof T>"u")&&(T=Qe()),y=G[O]&&G[O][T]),typeof y>"u"||!y.length||!y[0]){var Fe="";ee=[];for($ in G[O])this.terminals_[$]&&$>Ye&&ee.push("'"+this.terminals_[$]+"'");b.showPosition?Fe="Parse error on line "+(Z+1)+`: +`+b.showPosition()+` +Expecting `+ee.join(", ")+", got '"+(this.terminals_[T]||T)+"'":Fe="Parse error on line "+(Z+1)+": Unexpected "+(T==xe?"end of input":"'"+(this.terminals_[T]||T)+"'"),this.parseError(Fe,{text:b.match,token:this.terminals_[T]||T,line:b.yylineno,loc:ke,expected:ee})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+O+", token: "+T);switch(y[0]){case 1:o.push(T),p.push(b.yytext),t.push(b.yylloc),o.push(y[1]),T=null,Le=b.yyleng,s=b.yytext,Z=b.yylineno,ke=b.yylloc;break;case 2:if(S=this.productions_[y[1]][1],w.$=p[p.length-S],w._$={first_line:t[t.length-(S||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(S||1)].first_column,last_column:t[t.length-1].last_column},je&&(w._$.range=[t[t.length-(S||1)].range[0],t[t.length-1].range[1]]),Te=this.performAction.apply(w,[s,Le,Z,I.yy,y[1],p,t].concat(Ke)),typeof Te<"u")return Te;S&&(o=o.slice(0,-1*S*2),p=p.slice(0,-1*S),t=t.slice(0,-1*S)),o.push(this.productions_[y[1]][0]),p.push(w.$),t.push(w._$),Ie=G[o[o.length-2]][o[o.length-1]],o.push(Ie);break;case 3:return!0}}return!0}},ze=function(){var L={EOF:1,parseError:function(a,o){if(this.yy.parser)this.yy.parser.parseError(a,o);else throw new Error(a)},setInput:function(u,a){return this.yy=a||this.yy||{},this._input=u,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var u=this._input[0];this.yytext+=u,this.yyleng++,this.offset++,this.match+=u,this.matched+=u;var a=u.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),u},unput:function(u){var a=u.length,o=u.split(/(?:\r\n?|\n)/g);this._input=u+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),o.length-1&&(this.yylineno-=o.length-1);var p=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:o?(o.length===i.length?this.yylloc.first_column:0)+i[i.length-o.length].length-o[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(u){this.unput(this.match.slice(u))},pastInput:function(){var u=this.matched.substr(0,this.matched.length-this.match.length);return(u.length>20?"...":"")+u.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var u=this.match;return u.length<20&&(u+=this._input.substr(0,20-u.length)),(u.substr(0,20)+(u.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var u=this.pastInput(),a=new Array(u.length+1).join("-");return u+this.upcomingInput()+` +`+a+"^"},test_match:function(u,a){var o,i,p;if(this.options.backtrack_lexer&&(p={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(p.yylloc.range=this.yylloc.range.slice(0))),i=u[0].match(/(?:\r\n?|\n).*/g),i&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+u[0].length},this.yytext+=u[0],this.match+=u[0],this.matches=u,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(u[0].length),this.matched+=u[0],o=this.performAction.call(this,this.yy,this,a,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),o)return o;if(this._backtrack){for(var t in p)this[t]=p[t];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var u,a,o,i;this._more||(this.yytext="",this.match="");for(var p=this._currentRules(),t=0;ta[0].length)){if(a=o,i=t,this.options.backtrack_lexer){if(u=this.test_match(o,p[t]),u!==!1)return u;if(this._backtrack){a=!1;continue}else return!1}else if(!this.options.flex)break}return a?(u=this.test_match(a,p[i]),u!==!1?u:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var a=this.next();return a||this.lex()},begin:function(a){this.conditionStack.push(a)},popState:function(){var a=this.conditionStack.length-1;return a>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(a){return a=this.conditionStack.length-1-Math.abs(a||0),a>=0?this.conditionStack[a]:"INITIAL"},pushState:function(a){this.begin(a)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(a,o,i,p){switch(i){case 0:return 52;case 1:return 53;case 2:return 54;case 3:return 55;case 4:break;case 5:break;case 6:return this.begin("acc_title"),30;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),32;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 69;case 22:this.popState();break;case 23:return 70;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return this.begin("namespace"),39;case 28:return this.popState(),8;case 29:break;case 30:return this.begin("namespace-body"),36;case 31:return this.popState(),38;case 32:return"EOF_IN_STRUCT";case 33:return 8;case 34:break;case 35:return"EDGE_STATE";case 36:return this.begin("class"),43;case 37:return this.popState(),8;case 38:break;case 39:return this.popState(),this.popState(),38;case 40:return this.begin("class-body"),36;case 41:return this.popState(),38;case 42:return"EOF_IN_STRUCT";case 43:return"EDGE_STATE";case 44:return"OPEN_IN_STRUCT";case 45:break;case 46:return"MEMBER";case 47:return 72;case 48:return 65;case 49:return 66;case 50:return 68;case 51:return 49;case 52:return 51;case 53:return 44;case 54:return 45;case 55:return 71;case 56:this.popState();break;case 57:return"GENERICTYPE";case 58:this.begin("generic");break;case 59:this.popState();break;case 60:return"BQUOTE_STR";case 61:this.begin("bqstring");break;case 62:return 67;case 63:return 67;case 64:return 67;case 65:return 67;case 66:return 59;case 67:return 59;case 68:return 61;case 69:return 61;case 70:return 60;case 71:return 58;case 72:return 62;case 73:return 63;case 74:return 64;case 75:return 21;case 76:return 41;case 77:return 84;case 78:return"DOT";case 79:return"PLUS";case 80:return 81;case 81:return"EQUALS";case 82:return"EQUALS";case 83:return 88;case 84:return 12;case 85:return 14;case 86:return"PUNCTUATION";case 87:return 87;case 88:return 86;case 89:return 83;case 90:return 9}},rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,31,32,33,34,35,36,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},namespace:{rules:[26,27,28,29,30,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},"class-body":{rules:[26,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},class:{rules:[26,37,38,39,40,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},acc_descr:{rules:[9,26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},acc_title:{rules:[7,26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},callback_args:{rules:[22,23,26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},callback_name:{rules:[19,20,21,26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},href:{rules:[26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},struct:{rules:[26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},generic:{rules:[26,47,48,49,50,51,52,53,54,55,56,57,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},bqstring:{rules:[26,47,48,49,50,51,52,53,54,55,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},string:{rules:[24,25,26,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,36,47,48,49,50,51,52,53,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],inclusive:!0}}};return L}();me.lexer=ze;function be(){this.yy={}}return be.prototype=me,me.Parser=be,new be}();De.parser=De;const Nt=De,Oe=["#","+","~","-",""];class Re{constructor(n,r){this.memberType=r,this.visibility="",this.classifier="";const h=tt(n,F());this.parseMember(h)}getDisplayDetails(){let n=this.visibility+ye(this.id);this.memberType==="method"&&(n+=`(${ye(this.parameters.trim())})`,this.returnType&&(n+=" : "+ye(this.returnType))),n=n.trim();const r=this.parseClassifier();return{displayText:n,cssStyle:r}}parseMember(n){let r="";if(this.memberType==="method"){const h=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/,l=n.match(h);if(l){const A=l[1]?l[1].trim():"";if(Oe.includes(A)&&(this.visibility=A),this.id=l[2].trim(),this.parameters=l[3]?l[3].trim():"",r=l[4]?l[4].trim():"",this.returnType=l[5]?l[5].trim():"",r===""){const g=this.returnType.substring(this.returnType.length-1);g.match(/[$*]/)&&(r=g,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const h=n.length,l=n.substring(0,1),A=n.substring(h-1);Oe.includes(l)&&(this.visibility=l),A.match(/[*?]/)&&(r=A),this.id=n.substring(this.visibility===""?0:1,r===""?h:h-1)}this.classifier=r}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}const ie="classId-";let _e=[],f={},te=[],we=0,x={},Be=0,z=[];const R=e=>v.sanitizeText(e,F()),P=function(e){const n=v.sanitizeText(e,F());let r="",h=n;if(n.indexOf("~")>0){const l=n.split("~");h=R(l[0]),r=R(l[1])}return{className:h,type:r}},st=function(e,n){const r=v.sanitizeText(e,F());n&&(n=R(n));const{className:h}=P(r);f[h].label=n},se=function(e){const n=v.sanitizeText(e,F()),{className:r,type:h}=P(n);if(Object.hasOwn(f,r))return;const l=v.sanitizeText(r,F());f[l]={id:l,type:h,label:l,cssClasses:[],methods:[],members:[],annotations:[],domId:ie+l+"-"+we},we++},Ve=function(e){const n=v.sanitizeText(e,F());if(n in f)return f[n].domId;throw new Error("Class not found: "+n)},it=function(){_e=[],f={},te=[],z=[],z.push(Ge),x={},Be=0,$e()},nt=function(e){return f[e]},ut=function(){return f},rt=function(){return _e},at=function(){return te},lt=function(e){et.debug("Adding relation: "+JSON.stringify(e)),se(e.id1),se(e.id2),e.id1=P(e.id1).className,e.id2=P(e.id2).className,e.relationTitle1=v.sanitizeText(e.relationTitle1.trim(),F()),e.relationTitle2=v.sanitizeText(e.relationTitle2.trim(),F()),_e.push(e)},ct=function(e,n){const r=P(e).className;f[r].annotations.push(n)},Me=function(e,n){se(e);const r=P(e).className,h=f[r];if(typeof n=="string"){const l=n.trim();l.startsWith("<<")&&l.endsWith(">>")?h.annotations.push(R(l.substring(2,l.length-2))):l.indexOf(")")>0?h.methods.push(new Re(l,"method")):l&&h.members.push(new Re(l,"attribute"))}},ot=function(e,n){Array.isArray(n)&&(n.reverse(),n.forEach(r=>Me(e,r)))},ht=function(e,n){const r={id:`note${te.length}`,class:n,text:e};te.push(r)},At=function(e){return e.startsWith(":")&&(e=e.substring(1)),R(e.trim())},Se=function(e,n){e.split(",").forEach(function(r){let h=r;r[0].match(/\d/)&&(h=ie+h),f[h]!==void 0&&f[h].cssClasses.push(n)})},pt=function(e,n){e.split(",").forEach(function(r){n!==void 0&&(f[r].tooltip=R(n))})},ft=function(e,n){return n?x[n].classes[e].tooltip:f[e].tooltip},dt=function(e,n,r){const h=F();e.split(",").forEach(function(l){let A=l;l[0].match(/\d/)&&(A=ie+A),f[A]!==void 0&&(f[A].link=Pe.formatUrl(n,h),h.securityLevel==="sandbox"?f[A].linkTarget="_top":typeof r=="string"?f[A].linkTarget=R(r):f[A].linkTarget="_blank")}),Se(e,"clickable")},Et=function(e,n,r){e.split(",").forEach(function(h){Ct(h,n,r),f[h].haveCallback=!0}),Se(e,"clickable")},Ct=function(e,n,r){const h=v.sanitizeText(e,F());if(F().securityLevel!=="loose"||n===void 0)return;const A=h;if(f[A]!==void 0){const g=Ve(A);let D=[];if(typeof r=="string"){D=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let B=0;B")),l.classed("hover",!0)}).on("mouseout",function(){n.transition().duration(500).style("opacity",0),U(this).classed("hover",!1)})};z.push(Ge);let Ue="TB";const kt=()=>Ue,Tt=e=>{Ue=e},Ft=function(e){x[e]===void 0&&(x[e]={id:e,classes:{},children:{},domId:ie+e+"-"+Be},Be++)},yt=function(e){return x[e]},Dt=function(){return x},Bt=function(e,n){x[e]!==void 0&&n.map(r=>{f[r].parent=e,x[e].classes[r]=f[r]})},vt={setAccTitle:Xe,getAccTitle:We,getAccDescription:qe,setAccDescription:He,getConfig:()=>F().class,addClass:se,bindFunctions:mt,clear:it,getClass:nt,getClasses:ut,getNotes:at,addAnnotation:ct,addNote:ht,getRelations:rt,addRelation:lt,getDirection:kt,setDirection:Tt,addMember:Me,addMembers:ot,cleanupLabel:At,lineType:bt,relationType:gt,setClickEvent:Et,setCssClass:Se,setLink:dt,getTooltip:ft,setTooltip:pt,lookUpDomId:Ve,setDiagramTitle:Je,getDiagramTitle:Ze,setClassLabel:st,addNamespace:Ft,addClassesToNamespace:Bt,getNamespace:yt,getNamespaces:Dt},_t=e=>`g.classGroup text { + fill: ${e.nodeBorder}; + fill: ${e.classText}; + stroke: none; + font-family: ${e.fontFamily}; + font-size: 10px; + + .title { + font-weight: bolder; + } + +} + +.nodeLabel, .edgeLabel { + color: ${e.classText}; +} +.edgeLabel .label rect { + fill: ${e.mainBkg}; +} +.label text { + fill: ${e.classText}; +} +.edgeLabel .label span { + background: ${e.mainBkg}; +} + +.classTitle { + font-weight: bolder; +} +.node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder}; + stroke-width: 1px; + } + + +.divider { + stroke: ${e.nodeBorder}; + stroke-width: 1; +} + +g.clickable { + cursor: pointer; +} + +g.classGroup rect { + fill: ${e.mainBkg}; + stroke: ${e.nodeBorder}; +} + +g.classGroup line { + stroke: ${e.nodeBorder}; + stroke-width: 1; +} + +.classLabel .box { + stroke: none; + stroke-width: 0; + fill: ${e.mainBkg}; + opacity: 0.5; +} + +.classLabel .label { + fill: ${e.nodeBorder}; + font-size: 10px; +} + +.relation { + stroke: ${e.lineColor}; + stroke-width: 1; + fill: none; +} + +.dashed-line{ + stroke-dasharray: 3; +} + +.dotted-line{ + stroke-dasharray: 1 2; +} + +#compositionStart, .composition { + fill: ${e.lineColor} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#compositionEnd, .composition { + fill: ${e.lineColor} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${e.lineColor} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${e.lineColor} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#extensionStart, .extension { + fill: transparent !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#extensionEnd, .extension { + fill: transparent !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#aggregationStart, .aggregation { + fill: transparent !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#aggregationEnd, .aggregation { + fill: transparent !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#lollipopStart, .lollipop { + fill: ${e.mainBkg} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +#lollipopEnd, .lollipop { + fill: ${e.mainBkg} !important; + stroke: ${e.lineColor} !important; + stroke-width: 1; +} + +.edgeTerminals { + font-size: 11px; +} + +.classTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${e.textColor}; +} +`,Lt=_t;export{vt as d,Nt as p,Lt as s}; diff --git a/assets/subjective-down-2d7f88d6.png b/assets/subjective-down-2d7f88d6.png new file mode 100644 index 0000000000000000000000000000000000000000..5d41847ba5a15e7985508c782249af903491a33c GIT binary patch literal 171749 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≀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 r=s.append("rect");if(r.attr("x",t.x),r.attr("y",t.y),r.attr("fill",t.fill),r.attr("stroke",t.stroke),r.attr("width",t.width),r.attr("height",t.height),t.rx!==void 0&&r.attr("rx",t.rx),t.ry!==void 0&&r.attr("ry",t.ry),t.attrs!==void 0)for(const e in t.attrs)r.attr(e,t.attrs[e]);return t.class!==void 0&&r.attr("class",t.class),r},x=(s,t)=>{const r={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};c(s,r).lower()},d=(s,t)=>{const r=t.text.replace(o," "),e=s.append("text");e.attr("x",t.x),e.attr("y",t.y),e.attr("class","legend"),e.style("text-anchor",t.anchor),t.class!==void 0&&e.attr("class",t.class);const n=e.append("tspan");return n.attr("x",t.x+t.textMargin*2),n.text(r),e},h=(s,t,r,e)=>{const n=s.append("image");n.attr("x",t),n.attr("y",r);const a=i.sanitizeUrl(e);n.attr("xlink:href",a)},y=(s,t,r,e)=>{const n=s.append("use");n.attr("x",t),n.attr("y",r);const a=i.sanitizeUrl(e);n.attr("xlink:href",`#${a}`)},g=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),p=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0});export{x as a,y as b,h as c,c as d,p as e,d as f,g}; diff --git a/assets/template.html-229135e9.js b/assets/template.html-229135e9.js new file mode 100644 index 000000000..82406b462 --- /dev/null +++ b/assets/template.html-229135e9.js @@ -0,0 +1,75 @@ +import{_ as n}from"./plugin-vue_export-helper-c27b6911.js";import{o as s,c as a,f as t}from"./app-97115cb3.js";const p={},e=t(`

算法相关文档格式模版

题目链接

题目描述

刷题思路

代码实现

/*
+ * @Description:第一个只出现一次的字符
+ * @Version: Beta1.0
+ * @Author: 【B站&公众号】储凡
+ * @Date: 2021-04-28 22:23:51
+ * @LastEditors: 【B站&公众号】储凡
+ * @LastEditTime: 2021-04-28 22:24:20
+ */
+
+/**
+ * 利用indexOf和lastIndexOf角标不一致
+ * @param str
+ * @returns {number}
+ */
+function firstNotRepeatingCharOne(str) {
+  const arr = str.split('')
+  for (let index = 0; index < arr.length; index++) {
+    if (arr.indexOf(arr[index]) === arr.lastIndexOf(arr[index])) {
+      return index
+    }
+  }
+  return -1
+}
+
+
+/**
+ * 数组按字母查找
+ * @param str
+ * @returns {number}
+ */
+function firstNotRepeatingCharTwo(str) {
+  const len = str.length
+  for (let index = 0; index < len - 1; index++) {
+    const s = str.slice(index, index + 1)
+    const remainStr = \`\${str.slice(0, index)}\${str.slice(index + 1)}\`
+    if (remainStr.indexOf(s) === -1) {
+      return index
+    }
+  }
+  return -1
+}
+
+
+/**
+ * 使用Map结构计数
+ * @param str
+ * @returns {number|*}
+ */
+function firstNotRepeatingCharThree(str) {
+  const resMap = new Map()
+  const resArr = str.split('')
+
+  // 计数操作
+  resArr.forEach((r, index) => {
+    if (resMap.has(r)) {
+      resMap.set(r, resMap.get(r) + 1)
+    } else {
+      resMap.set(r, 1)
+    }
+  })
+
+  for (const [key, value] of resMap) {
+    if (value === 1) {
+      return str.indexOf(key)
+    }
+  }
+
+  return -1
+}
+
+
+console.log(firstNotRepeatingCharOne('google'))
+console.log(firstNotRepeatingCharTwo('google'))
+console.log(firstNotRepeatingCharThree('google'))
+

一些建议

`,8),o=[e];function c(i,l){return s(),a("div",null,o)}const k=n(p,[["render",c],["__file","template.html.vue"]]);export{k as default}; diff --git a/assets/template.html-909b9b89.js b/assets/template.html-909b9b89.js new file mode 100644 index 000000000..cb53d940c --- /dev/null +++ b/assets/template.html-909b9b89.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-adce7ae8","path":"/manuscripts/solo-algorithm/template.html","title":"算法相关文档格式模版","lang":"en-US","frontmatter":{"description":"题目链接 牛客网 (); 欢迎讨论 (); 题目描述 刷题思路 代码实现 code js (@code/algorithm/剑指/数组和矩阵/FirstNotRepeatingChar.js) 一些建议","head":[["meta",{"property":"og:url","content":"https://142vip.cn/JavaScriptCollection/manuscripts/solo-algorithm/template.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:title","content":"算法相关文档格式模版"}],["meta",{"property":"og:description","content":"题目链接 牛客网 (); 欢迎讨论 (); 题目描述 刷题思路 代码实现 code js (@code/algorithm/剑指/数组和矩阵/FirstNotRepeatingChar.js) 一些建议"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-10-20T09:29:35.000Z"}],["meta",{"property":"article:author","content":"微信公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-10-20T09:29:35.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"算法相关文档格式模版\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-10-20T09:29:35.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"微信公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[{"level":2,"title":"题目链接","slug":"题目链接","link":"#题目链接","children":[]},{"level":2,"title":"题目描述","slug":"题目描述","link":"#题目描述","children":[]},{"level":2,"title":"刷题思路","slug":"刷题思路","link":"#刷题思路","children":[]},{"level":2,"title":"代码实现","slug":"代码实现","link":"#代码实现","children":[]},{"level":2,"title":"一些建议","slug":"一些建议","link":"#一些建议","children":[]}],"git":{"createdTime":1694448705000,"updatedTime":1697794175000,"contributors":[{"name":"chufan","email":"fairy0115@2925.com","commits":1},{"name":"chufan","email":"fairy_vip@2925.com","commits":1}]},"readingTime":{"minutes":0.25,"words":50},"filePathRelative":"manuscripts/solo-algorithm/template.md","localizedDate":"September 11, 2023","autoDesc":true,"excerpt":""}');export{e as data}; diff --git a/assets/timeline-definition-8b56e66a-8fab9ea0.js b/assets/timeline-definition-8b56e66a-8fab9ea0.js new file mode 100644 index 000000000..a294120b5 --- /dev/null +++ b/assets/timeline-definition-8b56e66a-8fab9ea0.js @@ -0,0 +1,61 @@ +import{b3 as ft,z as gt,c as mt,l as E,h as G,t as xt,b4 as bt,b5 as _t,b6 as kt}from"./mermaid.core-b9e4ef5d.js";import{a as D}from"./arc-4d305f8d.js";import"./app-97115cb3.js";import"./path-53f90ab3.js";var K=function(){var n=function(g,i,r,c){for(r=r||{},c=g.length;c--;r[g[c]]=i);return r},t=[6,8,10,11,12,14,16,17,20,21],e=[1,9],a=[1,10],s=[1,11],h=[1,12],l=[1,13],p=[1,16],y=[1,17],f={trace:function(){},yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:function(i,r,c,d,u,o,$){var x=o.length-1;switch(u){case 1:return o[x-1];case 2:this.$=[];break;case 3:o[x-1].push(o[x]),this.$=o[x-1];break;case 4:case 5:this.$=o[x];break;case 6:case 7:this.$=[];break;case 8:d.getCommonDb().setDiagramTitle(o[x].substr(6)),this.$=o[x].substr(6);break;case 9:this.$=o[x].trim(),d.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=o[x].trim(),d.getCommonDb().setAccDescription(this.$);break;case 12:d.addSection(o[x].substr(8)),this.$=o[x].substr(8);break;case 15:d.addTask(o[x],0,""),this.$=o[x];break;case 16:d.addEvent(o[x].substr(2)),this.$=o[x];break}},table:[{3:1,4:[1,2]},{1:[3]},n(t,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:e,12:a,14:s,16:h,17:l,18:14,19:15,20:p,21:y},n(t,[2,7],{1:[2,1]}),n(t,[2,3]),{9:18,11:e,12:a,14:s,16:h,17:l,18:14,19:15,20:p,21:y},n(t,[2,5]),n(t,[2,6]),n(t,[2,8]),{13:[1,19]},{15:[1,20]},n(t,[2,11]),n(t,[2,12]),n(t,[2,13]),n(t,[2,14]),n(t,[2,15]),n(t,[2,16]),n(t,[2,4]),n(t,[2,9]),n(t,[2,10])],defaultActions:{},parseError:function(i,r){if(r.recoverable)this.trace(i);else{var c=new Error(i);throw c.hash=r,c}},parse:function(i){var r=this,c=[0],d=[],u=[null],o=[],$=this.table,x="",T=0,W=0,C=2,A=1,B=o.slice.call(arguments,1),k=Object.create(this.lexer),w={yy:{}};for(var v in this.yy)Object.prototype.hasOwnProperty.call(this.yy,v)&&(w.yy[v]=this.yy[v]);k.setInput(i,w.yy),w.yy.lexer=k,w.yy.parser=this,typeof k.yylloc>"u"&&(k.yylloc={});var I=k.yylloc;o.push(I);var P=k.options&&k.options.ranges;typeof w.yy.parseError=="function"?this.parseError=w.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function z(){var M;return M=d.pop()||k.lex()||A,typeof M!="number"&&(M instanceof Array&&(d=M,M=d.pop()),M=r.symbols_[M]||M),M}for(var _,L,S,Z,R={},O,N,Y,j;;){if(L=c[c.length-1],this.defaultActions[L]?S=this.defaultActions[L]:((_===null||typeof _>"u")&&(_=z()),S=$[L]&&$[L][_]),typeof S>"u"||!S.length||!S[0]){var J="";j=[];for(O in $[L])this.terminals_[O]&&O>C&&j.push("'"+this.terminals_[O]+"'");k.showPosition?J="Parse error on line "+(T+1)+`: +`+k.showPosition()+` +Expecting `+j.join(", ")+", got '"+(this.terminals_[_]||_)+"'":J="Parse error on line "+(T+1)+": Unexpected "+(_==A?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(J,{text:k.match,token:this.terminals_[_]||_,line:k.yylineno,loc:I,expected:j})}if(S[0]instanceof Array&&S.length>1)throw new Error("Parse Error: multiple actions possible at state: "+L+", token: "+_);switch(S[0]){case 1:c.push(_),u.push(k.yytext),o.push(k.yylloc),c.push(S[1]),_=null,W=k.yyleng,x=k.yytext,T=k.yylineno,I=k.yylloc;break;case 2:if(N=this.productions_[S[1]][1],R.$=u[u.length-N],R._$={first_line:o[o.length-(N||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(N||1)].first_column,last_column:o[o.length-1].last_column},P&&(R._$.range=[o[o.length-(N||1)].range[0],o[o.length-1].range[1]]),Z=this.performAction.apply(R,[x,W,T,w.yy,S[1],u,o].concat(B)),typeof Z<"u")return Z;N&&(c=c.slice(0,-1*N*2),u=u.slice(0,-1*N),o=o.slice(0,-1*N)),c.push(this.productions_[S[1]][0]),u.push(R.$),o.push(R._$),Y=$[c[c.length-2]][c[c.length-1]],c.push(Y);break;case 3:return!0}}return!0}},b=function(){var g={EOF:1,parseError:function(r,c){if(this.yy.parser)this.yy.parser.parseError(r,c);else throw new Error(r)},setInput:function(i,r){return this.yy=r||this.yy||{},this._input=i,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var r=i.match(/(?:\r\n?|\n).*/g);return r?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},unput:function(i){var r=i.length,c=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-r),this.offset-=r;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var u=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===d.length?this.yylloc.first_column:0)+d[d.length-c.length].length-c[0].length:this.yylloc.first_column-r},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-r]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(i){this.unput(this.match.slice(i))},pastInput:function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var i=this.pastInput(),r=new Array(i.length+1).join("-");return i+this.upcomingInput()+` +`+r+"^"},test_match:function(i,r){var c,d,u;if(this.options.backtrack_lexer&&(u={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(u.yylloc.range=this.yylloc.range.slice(0))),d=i[0].match(/(?:\r\n?|\n).*/g),d&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+i[0].length},this.yytext+=i[0],this.match+=i[0],this.matches=i,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(i[0].length),this.matched+=i[0],c=this.performAction.call(this,this.yy,this,r,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),c)return c;if(this._backtrack){for(var o in u)this[o]=u[o];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var i,r,c,d;this._more||(this.yytext="",this.match="");for(var u=this._currentRules(),o=0;or[0].length)){if(r=c,d=o,this.options.backtrack_lexer){if(i=this.test_match(c,u[o]),i!==!1)return i;if(this._backtrack){r=!1;continue}else return!1}else if(!this.options.flex)break}return r?(i=this.test_match(r,u[d]),i!==!1?i:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var r=this.next();return r||this.lex()},begin:function(r){this.conditionStack.push(r)},popState:function(){var r=this.conditionStack.length-1;return r>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(r){return r=this.conditionStack.length-1-Math.abs(r||0),r>=0?this.conditionStack[r]:"INITIAL"},pushState:function(r){this.begin(r)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(r,c,d,u){switch(d){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}},rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?::\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}};return g}();f.lexer=b;function m(){this.yy={}}return m.prototype=f,f.Parser=m,new m}();K.parser=K;const vt=K;let F="",st=0;const Q=[],q=[],V=[],it=()=>ft,rt=function(){Q.length=0,q.length=0,F="",V.length=0,gt()},at=function(n){F=n,Q.push(n)},lt=function(){return Q},ot=function(){let n=tt();const t=100;let e=0;for(;!n&&ee.id===st-1).events.push(n)},dt=function(n){const t={section:F,type:F,description:n,task:n,classes:[]};q.push(t)},tt=function(){const n=function(e){return V[e].processed};let t=!0;for(const[e,a]of V.entries())n(e),t=t&&a.processed;return t},wt={clear:rt,getCommonDb:it,addSection:at,getSections:lt,getTasks:ot,addTask:ct,addTaskOrg:dt,addEvent:ht},St=Object.freeze(Object.defineProperty({__proto__:null,addEvent:ht,addSection:at,addTask:ct,addTaskOrg:dt,clear:rt,default:wt,getCommonDb:it,getSections:lt,getTasks:ot},Symbol.toStringTag,{value:"Module"})),Et=12,U=function(n,t){const e=n.append("rect");return e.attr("x",t.x),e.attr("y",t.y),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("width",t.width),e.attr("height",t.height),e.attr("rx",t.rx),e.attr("ry",t.ry),t.class!==void 0&&e.attr("class",t.class),e},Tt=function(n,t){const a=n.append("circle").attr("cx",t.cx).attr("cy",t.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),s=n.append("g");s.append("circle").attr("cx",t.cx-15/3).attr("cy",t.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),s.append("circle").attr("cx",t.cx+15/3).attr("cy",t.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function h(y){const f=D().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);y.append("path").attr("class","mouth").attr("d",f).attr("transform","translate("+t.cx+","+(t.cy+2)+")")}function l(y){const f=D().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);y.append("path").attr("class","mouth").attr("d",f).attr("transform","translate("+t.cx+","+(t.cy+7)+")")}function p(y){y.append("line").attr("class","mouth").attr("stroke",2).attr("x1",t.cx-5).attr("y1",t.cy+7).attr("x2",t.cx+5).attr("y2",t.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return t.score>3?h(s):t.score<3?l(s):p(s),a},It=function(n,t){const e=n.append("circle");return e.attr("cx",t.cx),e.attr("cy",t.cy),e.attr("class","actor-"+t.pos),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("r",t.r),e.class!==void 0&&e.attr("class",e.class),t.title!==void 0&&e.append("title").text(t.title),e},ut=function(n,t){const e=t.text.replace(//gi," "),a=n.append("text");a.attr("x",t.x),a.attr("y",t.y),a.attr("class","legend"),a.style("text-anchor",t.anchor),t.class!==void 0&&a.attr("class",t.class);const s=a.append("tspan");return s.attr("x",t.x+t.textMargin*2),s.text(e),a},$t=function(n,t){function e(s,h,l,p,y){return s+","+h+" "+(s+l)+","+h+" "+(s+l)+","+(h+p-y)+" "+(s+l-y*1.2)+","+(h+p)+" "+s+","+(h+p)}const a=n.append("polygon");a.attr("points",e(t.x,t.y,50,20,7)),a.attr("class","labelBox"),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,ut(n,t)},Nt=function(n,t,e){const a=n.append("g"),s=X();s.x=t.x,s.y=t.y,s.fill=t.fill,s.width=e.width,s.height=e.height,s.class="journey-section section-type-"+t.num,s.rx=3,s.ry=3,U(a,s),pt(e)(t.text,a,s.x,s.y,s.width,s.height,{class:"journey-section section-type-"+t.num},e,t.colour)};let et=-1;const Mt=function(n,t,e){const a=t.x+e.width/2,s=n.append("g");et++;const h=300+5*30;s.append("line").attr("id","task"+et).attr("x1",a).attr("y1",t.y).attr("x2",a).attr("y2",h).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Tt(s,{cx:a,cy:300+(5-t.score)*30,score:t.score});const l=X();l.x=t.x,l.y=t.y,l.fill=t.fill,l.width=e.width,l.height=e.height,l.class="task task-type-"+t.num,l.rx=3,l.ry=3,U(s,l),t.x+14,pt(e)(t.task,s,l.x,l.y,l.width,l.height,{class:"task"},e,t.colour)},Lt=function(n,t){U(n,{x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,class:"rect"}).lower()},At=function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},X=function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},pt=function(){function n(s,h,l,p,y,f,b,m){const g=h.append("text").attr("x",l+y/2).attr("y",p+f/2+5).style("font-color",m).style("text-anchor","middle").text(s);a(g,b)}function t(s,h,l,p,y,f,b,m,g){const{taskFontSize:i,taskFontFamily:r}=m,c=s.split(//gi);for(let d=0;d)/).reverse(),s,h=[],l=1.1,p=e.attr("y"),y=parseFloat(e.attr("dy")),f=e.text(null).append("tspan").attr("x",0).attr("y",p).attr("dy",y+"em");for(let b=0;bt||s==="
")&&(h.pop(),f.text(h.join(" ").trim()),s==="
"?h=[""]:h=[s],f=e.append("tspan").attr("x",0).attr("y",p).attr("dy",l+"em").text(s))})}const Ht=function(n,t,e,a){const s=e%Et-1,h=n.append("g");t.section=s,h.attr("class",(t.class?t.class+" ":"")+"timeline-node "+("section-"+s));const l=h.append("g"),p=h.append("g"),f=p.append("text").text(t.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(yt,t.width).node().getBBox(),b=a.fontSize&&a.fontSize.replace?a.fontSize.replace("px",""):a.fontSize;return t.height=f.height+b*1.1*.5+t.padding,t.height=Math.max(t.height,t.maxHeight),t.width=t.width+2*t.padding,p.attr("transform","translate("+t.width/2+", "+t.padding/2+")"),zt(l,t,s),t},Ct=function(n,t,e){const a=n.append("g"),h=a.append("text").text(t.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(yt,t.width).node().getBBox(),l=e.fontSize&&e.fontSize.replace?e.fontSize.replace("px",""):e.fontSize;return a.remove(),h.height+l*1.1*.5+t.padding},zt=function(n,t,e){n.append("path").attr("id","node-"+t.id).attr("class","node-bkg node-"+t.type).attr("d",`M0 ${t.height-5} v${-t.height+2*5} q0,-5 5,-5 h${t.width-2*5} q5,0 5,5 v${t.height-5} H0 Z`),n.append("line").attr("class","node-line-"+e).attr("x1",0).attr("y1",t.height).attr("x2",t.width).attr("y2",t.height)},H={drawRect:U,drawCircle:It,drawSection:Nt,drawText:ut,drawLabel:$t,drawTask:Mt,drawBackgroundRect:Lt,getTextObj:At,getNoteRect:X,initGraphics:Pt,drawNode:Ht,getVirtualNodeHeight:Ct},Rt=function(n,t,e,a){var s,h;const l=mt(),p=l.leftMargin??50;E.debug("timeline",a.db);const y=l.securityLevel;let f;y==="sandbox"&&(f=G("#i"+t));const m=(y==="sandbox"?G(f.nodes()[0].contentDocument.body):G("body")).select("#"+t);m.append("g");const g=a.db.getTasks(),i=a.db.getCommonDb().getDiagramTitle();E.debug("task",g),H.initGraphics(m);const r=a.db.getSections();E.debug("sections",r);let c=0,d=0,u=0,o=0,$=50+p,x=50;o=50;let T=0,W=!0;r.forEach(function(w){const v={number:T,descr:w,section:T,width:150,padding:20,maxHeight:c},I=H.getVirtualNodeHeight(m,v,l);E.debug("sectionHeight before draw",I),c=Math.max(c,I+20)});let C=0,A=0;E.debug("tasks.length",g.length);for(const[w,v]of g.entries()){const I={number:w,descr:v,section:v.section,width:150,padding:20,maxHeight:d},P=H.getVirtualNodeHeight(m,I,l);E.debug("taskHeight before draw",P),d=Math.max(d,P+20),C=Math.max(C,v.events.length);let z=0;for(let _=0;_0?r.forEach(w=>{const v=g.filter(_=>_.section===w),I={number:T,descr:w,section:T,width:200*Math.max(v.length,1)-50,padding:20,maxHeight:c};E.debug("sectionNode",I);const P=m.append("g"),z=H.drawNode(P,I,T,l);E.debug("sectionNode output",z),P.attr("transform",`translate(${$}, ${o})`),x+=c+50,v.length>0&&nt(m,v,T,$,x,d,l,C,A,c,!1),$+=200*Math.max(v.length,1),x=o,T++}):(W=!1,nt(m,g,T,$,x,d,l,C,A,c,!0));const B=m.node().getBBox();E.debug("bounds",B),i&&m.append("text").text(i).attr("x",B.width/2-p).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),u=W?c+d+150:d+100,m.append("g").attr("class","lineWrapper").append("line").attr("x1",p).attr("y1",u).attr("x2",B.width+3*p).attr("y2",u).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),xt(void 0,m,((s=l.timeline)==null?void 0:s.padding)??50,((h=l.timeline)==null?void 0:h.useMaxWidth)??!1)},nt=function(n,t,e,a,s,h,l,p,y,f,b){var m;for(const g of t){const i={descr:g.task,section:e,number:e,width:150,padding:20,maxHeight:h};E.debug("taskNode",i);const r=n.append("g").attr("class","taskWrapper"),d=H.drawNode(r,i,e,l).height;if(E.debug("taskHeight after draw",d),r.attr("transform",`translate(${a}, ${s})`),h=Math.max(h,d),g.events){const u=n.append("g").attr("class","lineWrapper");let o=h;s+=100,o=o+Ft(n,g.events,e,a,s,l),s-=100,u.append("line").attr("x1",a+190/2).attr("y1",s+h).attr("x2",a+190/2).attr("y2",s+h+(b?h:f)+y+120).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}a=a+200,b&&!((m=l.timeline)!=null&&m.disableMulticolor)&&e++}s=s-10},Ft=function(n,t,e,a,s,h){let l=0;const p=s;s=s+100;for(const y of t){const f={descr:y,section:e,number:e,width:150,padding:20,maxHeight:50};E.debug("eventNode",f);const b=n.append("g").attr("class","eventWrapper"),g=H.drawNode(b,f,e,h).height;l=l+g,b.attr("transform",`translate(${a}, ${s})`),s=s+10+g}return s=p,l},Vt={setConf:()=>{},draw:Rt},Wt=n=>{let t="";for(let e=0;e` + .edge { + stroke-width: 3; + } + ${Wt(n)} + .section-root rect, .section-root path, .section-root circle { + fill: ${n.git0}; + } + .section-root text { + fill: ${n.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .eventWrapper { + filter: brightness(120%); + } +`,Ot=Bt,Zt={db:St,renderer:Vt,parser:vt,styles:Ot};export{Zt as diagram}; diff --git a/assets/typeorm.html-0e4b4ec6.js b/assets/typeorm.html-0e4b4ec6.js new file mode 100644 index 000000000..f9c6c0a70 --- /dev/null +++ b/assets/typeorm.html-0e4b4ec6.js @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-c27b6911.js";import{o as r,c as o,a as e,b as a}from"./app-97115cb3.js";const c={},s=e("h1",{id:"typeorm",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#typeorm","aria-hidden":"true"},"#"),a(" TypeOrm")],-1),n=[s];function _(d,m){return r(),o("div",null,n)}const l=t(c,[["render",_],["__file","typeorm.html.vue"]]);export{l as default}; diff --git a/assets/typeorm.html-eff3df66.js b/assets/typeorm.html-eff3df66.js new file mode 100644 index 000000000..e7fe9edb5 --- /dev/null +++ b/assets/typeorm.html-eff3df66.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-4ba91591","path":"/manuscripts/server-end/orm/typeorm.html","title":"TypeOrm","lang":"en-US","frontmatter":{"description":"","head":[["meta",{"property":"og:url","content":"https://142vip.cn/JavaScriptCollection/manuscripts/server-end/orm/typeorm.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:title","content":"TypeOrm"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-09-11T16:11:45.000Z"}],["meta",{"property":"article:author","content":"微信公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-09-11T16:11:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"TypeOrm\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-09-11T16:11:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"微信公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[],"git":{"createdTime":1694448705000,"updatedTime":1694448705000,"contributors":[{"name":"chufan","email":"fairy0115@2925.com","commits":1}]},"readingTime":{"minutes":0.01,"words":1},"filePathRelative":"manuscripts/server-end/orm/typeorm.md","localizedDate":"September 11, 2023","autoDesc":true,"excerpt":""}');export{e as data}; diff --git a/assets/use-rule.html-38f47aee.js b/assets/use-rule.html-38f47aee.js new file mode 100644 index 000000000..aec9218f2 --- /dev/null +++ b/assets/use-rule.html-38f47aee.js @@ -0,0 +1,2 @@ +import{_ as a}from"./plugin-vue_export-helper-c27b6911.js";import{r,o as d,c as o,a as e,b as s,d as t,f as i}from"./app-97115cb3.js";const n={},c=i(`

Redis-Key命名规范

建议风格一致

key的书写风格保持一致,常见的变量风格有:

  • 同时大驼峰,例如:UserAdmin
  • 同时小驼峰,例如:userAdmin
  • 同时下划线,例如:user_admin

做到项目级别的风格统一; 个人建议采用小驼峰

长度约束

  • key不能太长也不能太短,合理设计
  • 键名越长越占资源,太短可读性太差

以冒号分开

  • redis-key 单词与单词之间以,冒号:分开

  • 市面上的redis可视化工具,冒号:比较容易进行下级选择和业务分类

使用命名空间

一个项目一个命名空间,项目内业务不同命名空间也不同

一般情况下:

  • 第一段放置项目名或缩写 ,例如: userAdmin

  • 第二段把表名转换为key前缀,例如: user

  • 第三段放置用于区分区key的字段,对应mysql中的主键的列名,例如:id

  • 第四段放置主键值,如18,16

结合起来 PRO:USER:UID:18 直接意思就是,xx项目下的xx表中xx字段对应的值

以上是单机模式,当在redis集群中使用相关业务时候,常常需要将部分业务散列到相同的slot中,这时hash tag的作用就显得 非常重要; 做法是在key中添加{}前缀prefix

key分发模型

key空间分为16384个槽,有效地设置了16384个主节点的簇大小的上限(但建议的最大节点大小约为1000个节点)。 集群中的每个主节点处理16384个散列槽的子集。

当没有正在进行的集群重新配置时(即散列插槽从一个节点移动到另一个节点),集群是稳定的。

当集群稳定时,单个节点将提供单个散列槽(但是,在网络分裂或故障的情况下,服务节点可以有一个或多个将替换它的从属,并且可以用于扩展读取过时数据的读取操作)。 用于将键映射到散列槽的基本算法如下(读取此规则的散列标记异常的下一段):

HASH_SLOT = CRC16(key) mod 16384
+
  • Name:XMODEM(也称为ZMODEM或CRC-16 / ACORN)
  • Width:16位
  • Poly:1021(实际上是x^16 + x^12 + x^5 + 1)
  • Initialization:0000
  • Reflect Input byte:False
  • Reflect Output CRC:错误
  • Xor constant to output CRC:0000
  • Output for "123456789":31C3

使用16个CRC16输出位中的14个(这就是为什么在上面的公式中存在模16384运算的原因)。

在实际测试中,CRC16在16384个插槽中均匀分配不同类型的key时表现非常出色。

键哈希标签

计算用于实现散列标记的散列槽有一个例外。 散列标记是一种确保在同一散列槽中分配多个key的方法。这用于在Redis集群中实现多键操作。 为了实现散列标签,在某些条件下以稍微不同的方式计算key的散列槽。

如果key包含一个{...}模式仅是{and}之间的子串 ,以获得散列slot被散列。

但是,由于可能存在多次出现{or},以下规则很好地指定了算法:

  • 如果key包含一个{字符。
  • 如果{右边有一个字符}
  • 如果第一次出现{和第一次出现}之间有一个或多个字符。

如果满足条件三,不是对key进行散列,而是仅对第一次出现{和第一次出现}之间的内容进行散列。

例如:

  • 两个key{user1000}.following{user1000}.followers将散列到相同的散列slot, 因为只有在子串user1000会计算散列slot。

  • 对于键foo{}{bar},通常将整个键进行哈希处理,因为第一次出现{右侧是},而中间没有字符。

  • 对于键foo{{bar}}zap,子串{bar将被散列,因为它是第一次出现{和右边第一次出现}之间的子串。

  • 对于keyfoo{bar}{zap}的子串bar将被散列,算法在第一个有效或无效(无内部字节)匹配{and}后停止匹配。

该算法的结果是,如果key开头{},则保证整个散列。当使用二进制数据作为键名时,这很有用。

参考资料

`,33),p={href:"https://blog.csdn.net/qq_36042938/article/details/108845426",target:"_blank",rel:"noopener noreferrer"},h=i('

使用规范

在项目中,redis属于高频使用,遇到了各种各样的redis问题,针对自身情况梳理了一个redis使用规范。

Key的设计

  • 禁止包含特殊字符(比如空格、换行、单双引号以及其他转义字符)

  • 建议风格一致 建议同时大驼峰、同时小驼峰或者下划线;是项目级别的统一

  • key不能太长也不能太短,键名越长越占资源,太短可读性太差

  • key 单词与单词之间以冒号分开。市面上的redis可视化工具,:比较容易进行下级选择

  • redis使用的时候注意命名空间,一个项目一个命名空间,项目内业务不同命名空间也不同

一般情况下:

  • 第一段放置项目名或缩写 如 project
  • 第二段把表名转换为key前缀 如, user:
  • 第三段放置用于区分区key的字段,对应mysql中的主键的列名,如userid
  • 第四段放置主键值,如18,16

结合起来 PRO:USER:UID:18 就很清晰

value设计

  • 拒绝大key操作,禁用超过10K的string大key(虽然redis支持512MB大小的string),如果1mb的key每秒重复写入10次,就会导致写入网络IO达10MB。

  • 设计key时使用合适的数据类型(在资源利用和性能之间作平衡)。例如:将一个普通字符串弄成hash类型进行存储这是不合理的

  • 控制key的生命周期,例如:key设置为永不过期是不合理的,也不建议过期时间全部一样,避免key大面积失效,mysql被打满

  • 控制value长度。例如string类型,如果value为'8个字节的长整型'则内部使用int类型,如果value为'小于等于39个字节的字符串'则内部使用embstr类型,如果value为'大于39个字节的字符串'则内部使用raw类型。这样能很好的利用redis的性能。

数据按需存储

不需要的数据千万不要存储在redis,只会浪费内存空间

命令使用

  • 禁止使用keys、flushall、hmgetall等命令

为防止业务研发的误操作,通常可以在交付redis实例之前将默认命令rename掉;而真正需要删除或者遍历key时可以使用scan家族命令

  • 慎用hgetall、lrange、smembers、zrange等命令

除非业务场景需要,尽量不要使用这些命令。如果没有控制好会导致操作量过大,形成阻塞。

项目实战

  • 项目redis使用问题

当前的使用方式是,每个接入的应用要配置核心项目的redis配置。这样是不合理的,核心项目的redis应该只能在核心项目中使用,对外应该是提供api接口或者rpc进行访问。

  • 注意key的过期时间设置

在报名等高峰期的时候,key值设置过短容易造成缓存穿透,导致大量请求直接打到mysql数据库。

  • 提防缓存穿透

空值也应该被缓存,经常使用会只给有数据的结果进行缓存,结果导致空数据无法缓存,相同查询直接每次都到达数据库,所以

  • 不建议将redis做为消息队列

如没有非常特殊的需求,严禁将 Redis 当作消息队列使用。redis 当作消息队列使用,会有容量、网络、效率、功能方面的多种问题。 如需要消息队列,可使用高吞吐的 Kafka 或者高可靠的 RocketMQ,nsq,(花园同步有时间前后要求,且量不大才使用的)。

查询使用

线上Redis禁止使用Keys正则匹配操作

redis是单线程处理,在线上Key数量较多时,操作效率极低【时间复杂度为O(N)】,该命令一旦执行会严重阻塞线上其它命令的正常请求,而且在高QPS情况下会直接造成redis服务崩溃!如果有类似需求,可以使用scan命令代替。

',28);function u(k,y){const l=r("ExternalLinkIcon");return d(),o("div",null,[c,e("ul",null,[e("li",null,[e("a",p,[s("https://blog.csdn.net/qq_36042938/article/details/108845426"),t(l)])])]),h])}const x=a(n,[["render",u],["__file","use-rule.html.vue"]]);export{x as default}; diff --git a/assets/use-rule.html-e94295ff.js b/assets/use-rule.html-e94295ff.js new file mode 100644 index 000000000..3770d78af --- /dev/null +++ b/assets/use-rule.html-e94295ff.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-5dac4b12","path":"/manuscripts/server-end/database/redis/use-rule.html","title":"数据库","lang":"en-US","frontmatter":{"title":"数据库","permalink":"/manuscripts/server-end/database/redis/use-rule.html","description":"建议风格一致 key的书写风格保持一致,常见的变量风格有: 同时大驼峰,例如:UserAdmin; 同时小驼峰,例如:userAdmin; 同时下划线,例如:user_admin; 做到项目级别的风格统一; 个人建议采用小驼峰 长度约束 key不能太长也不能太短,合理设计; 键名越长越占资源,太短可读性太差; 以冒号分开 redis-key 单词与单词...","head":[["meta",{"property":"og:url","content":"https://142vip.cn/JavaScriptCollection/manuscripts/server-end/database/redis/use-rule.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:title","content":"数据库"}],["meta",{"property":"og:description","content":"建议风格一致 key的书写风格保持一致,常见的变量风格有: 同时大驼峰,例如:UserAdmin; 同时小驼峰,例如:userAdmin; 同时下划线,例如:user_admin; 做到项目级别的风格统一; 个人建议采用小驼峰 长度约束 key不能太长也不能太短,合理设计; 键名越长越占资源,太短可读性太差; 以冒号分开 redis-key 单词与单词..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-10-20T09:29:35.000Z"}],["meta",{"property":"article:author","content":"微信公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-10-20T09:29:35.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"数据库\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-10-20T09:29:35.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"微信公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[{"level":2,"title":"建议风格一致","slug":"建议风格一致","link":"#建议风格一致","children":[]},{"level":2,"title":"长度约束","slug":"长度约束","link":"#长度约束","children":[]},{"level":2,"title":"以冒号分开","slug":"以冒号分开","link":"#以冒号分开","children":[]},{"level":2,"title":"使用命名空间","slug":"使用命名空间","link":"#使用命名空间","children":[]},{"level":2,"title":"key分发模型","slug":"key分发模型","link":"#key分发模型","children":[]},{"level":2,"title":"键哈希标签","slug":"键哈希标签","link":"#键哈希标签","children":[]},{"level":2,"title":"参考资料","slug":"参考资料","link":"#参考资料","children":[{"level":3,"title":"Key的设计","slug":"key的设计","link":"#key的设计","children":[]},{"level":3,"title":"value设计","slug":"value设计","link":"#value设计","children":[{"level":4,"title":"数据按需存储","slug":"数据按需存储","link":"#数据按需存储","children":[]}]},{"level":3,"title":"命令使用","slug":"命令使用","link":"#命令使用","children":[]},{"level":3,"title":"项目实战","slug":"项目实战","link":"#项目实战","children":[{"level":4,"title":"查询使用","slug":"查询使用","link":"#查询使用","children":[]}]}]}],"git":{"createdTime":1694448705000,"updatedTime":1697794175000,"contributors":[{"name":"chufan","email":"fairy_vip@2925.com","commits":2},{"name":"chufan","email":"fairy0115@2925.com","commits":1}]},"readingTime":{"minutes":10.67,"words":2133},"filePathRelative":"manuscripts/server-end/database/redis/use-rule.md","localizedDate":"September 11, 2023","autoDesc":true,"excerpt":""}');export{e as data}; diff --git a/assets/utils-a5e1dbae-143be013.js b/assets/utils-a5e1dbae-143be013.js new file mode 100644 index 000000000..23e9266e5 --- /dev/null +++ b/assets/utils-a5e1dbae-143be013.js @@ -0,0 +1 @@ +var pr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function dr(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var k=Uint8Array,G=Uint16Array,xr=Int32Array,lr=new k([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),or=new k([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),yr=new k([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Ar=function(r,a){for(var e=new G(31),n=0;n<31;++n)e[n]=a+=1<>1|(y&21845)<<1;$=($&52428)>>2|($&13107)<<2,$=($&61680)>>4|($&3855)<<4,Cr[y]=(($&65280)>>8|($&255)<<8)>>1}var Q=function(r,a,e){for(var n=r.length,f=0,l=new G(a);f>w]=u}else for(t=new G(n),f=0;f>15-r[f]);return t},_=new k(288);for(var y=0;y<144;++y)_[y]=8;for(var y=144;y<256;++y)_[y]=9;for(var y=256;y<280;++y)_[y]=7;for(var y=280;y<288;++y)_[y]=8;var vr=new k(32);for(var y=0;y<32;++y)vr[y]=5;var Rr=Q(_,9,0),Wr=Q(_,9,1),jr=Q(vr,5,0),Hr=Q(vr,5,1),cr=function(r){for(var a=r[0],e=1;ea&&(a=r[e]);return a},J=function(r,a,e){var n=a/8|0;return(r[n]|r[n+1]<<8)>>(a&7)&e},wr=function(r,a){var e=a/8|0;return(r[e]|r[e+1]<<8|r[e+2]<<16)>>(a&7)},Fr=function(r){return(r+7)/8|0},ir=function(r,a,e){(a==null||a<0)&&(a=0),(e==null||e>r.length)&&(e=r.length);var n=new k(e-a);return n.set(r.subarray(a,e)),n},Jr=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],W=function(r,a,e){var n=new Error(a||Jr[r]);if(n.code=r,Error.captureStackTrace&&Error.captureStackTrace(n,W),!e)throw n;return n},Kr=function(r,a,e,n){var f=r.length,l=n?n.length:0;if(!f||a.f&&!a.l)return e||new k(0);var o=!e||a.i!=2,t=a.i;e||(e=new k(f*3));var w=function(rr){var ar=e.length;if(rr>ar){var er=new k(Math.max(ar*2,rr));er.set(e),e=er}},u=a.f||0,v=a.p||0,i=a.b||0,M=a.l,b=a.d,z=a.m,C=a.n,P=f*8;do{if(!M){u=J(r,v,1);var j=J(r,v+1,3);if(v+=3,j)if(j==1)M=Wr,b=Hr,z=9,C=5;else if(j==2){var E=J(r,v,31)+257,q=J(r,v+10,15)+4,A=E+J(r,v+5,31)+1;v+=14;for(var c=new k(A),h=new k(19),g=0;g>4;if(x<16)c[g++]=x;else{var S=0,I=0;for(x==16?(I=3+J(r,v,3),v+=2,S=c[g-1]):x==17?(I=3+J(r,v,7),v+=3):x==18&&(I=11+J(r,v,127),v+=7);I--;)c[g++]=S}}var F=c.subarray(0,E),s=c.subarray(E);z=cr(F),C=cr(s),M=Q(F,z,1),b=Q(s,C,1)}else W(1);else{var x=Fr(v)+4,H=r[x-4]|r[x-3]<<8,U=x+H;if(U>f){t&&W(0);break}o&&w(i+H),e.set(r.subarray(x,U),i),a.b=i+=H,a.p=v=U*8,a.f=u;continue}if(v>P){t&&W(0);break}}o&&w(i+131072);for(var K=(1<>4;if(v+=S&15,v>P){t&&W(0);break}if(S||W(2),R<256)e[i++]=R;else if(R==256){D=v,M=null;break}else{var X=R-254;if(R>264){var g=R-257,m=lr[g];X=J(r,v,(1<>4;T||W(3),v+=T&15;var s=Pr[N];if(N>3){var m=or[N];s+=wr(r,v)&(1<P){t&&W(0);break}o&&w(i+131072);var L=i+X;if(i>8},nr=function(r,a,e){e<<=a&7;var n=a/8|0;r[n]|=e,r[n+1]|=e>>8,r[n+2]|=e>>16},gr=function(r,a){for(var e=[],n=0;nM&&(M=l[n].s);var b=new G(M+1),z=Mr(e[v-1],b,0);if(z>a){var n=0,C=0,P=z-a,j=1<a)C+=j-(1<>=P;C>0;){var H=l[n].s;b[H]=0&&C;--n){var U=l[n].s;b[U]==a&&(--b[U],++C)}z=a}return{t:new k(b),l:z}},Mr=function(r,a,e){return r.s==-1?Math.max(Mr(r.l,a,e+1),Mr(r.r,a,e+1)):a[r.s]=e},kr=function(r){for(var a=r.length;a&&!r[--a];);for(var e=new G(++a),n=0,f=r[0],l=1,o=function(w){e[n++]=w},t=1;t<=a;++t)if(r[t]==f&&t!=a)++l;else{if(!f&&l>2){for(;l>138;l-=138)o(32754);l>2&&(o(l>10?l-11<<5|28690:l-3<<5|12305),l=0)}else if(l>3){for(o(f),--l;l>6;l-=6)o(8304);l>2&&(o(l-3<<5|8208),l=0)}for(;l--;)o(f);l=1,f=r[t]}return{c:e.subarray(0,n),n:a}},fr=function(r,a){for(var e=0,n=0;n>8,r[f+2]=r[f]^255,r[f+3]=r[f+1]^255;for(var l=0;l4&&!g[yr[O-1]];--O);var Z=u+5<<3,B=fr(f,_)+fr(l,vr)+o,S=fr(f,M)+fr(l,C)+o+14+3*O+fr(A,g)+2*A[16]+3*A[17]+7*A[18];if(w>=0&&Z<=B&&Z<=S)return Or(a,v,r.subarray(w,w+u));var I,F,s,K;if(Y(a,v,1+(S15&&(Y(a,v,X[c]>>5&127),v+=X[c]>>12)}}else I=Rr,F=_,s=jr,K=vr;for(var c=0;c255){var m=T>>18&31;nr(a,v,I[m+257]),v+=F[m+257],m>7&&(Y(a,v,T>>23&31),v+=lr[m]);var N=T&31;nr(a,v,s[N]),v+=K[N],N>3&&(nr(a,v,T>>5&8191),v+=or[N])}else nr(a,v,I[T]),v+=F[T]}return nr(a,v,I[256]),v+F[256]},Nr=new xr([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Ir=new k(0),Qr=function(r,a,e,n,f,l){var o=l.z||r.length,t=new k(n+o+5*(1+Math.ceil(o/7e3))+f),w=t.subarray(n,t.length-f),u=l.l,v=(l.r||0)&7;if(a){v&&(w[0]=l.r>>3);for(var i=Nr[a-1],M=i>>13,b=i&8191,z=(1<7e3||g>24576)&&(I>423||!u)){v=Sr(r,w,0,U,E,q,c,g,O,h-O,v),g=A=c=0,O=h;for(var F=0;F<286;++F)E[F]=0;for(var F=0;F<30;++F)q[F]=0}var s=2,K=0,d=b,D=B-S&32767;if(I>2&&Z==H(h-D))for(var R=Math.min(M,I)-1,X=Math.min(32767,h),m=Math.min(258,I);D<=X&&--d&&B!=S;){if(r[h+s]==r[h+s-D]){for(var T=0;Ts){if(s=T,K=D,T>R)break;for(var N=Math.min(D,T-2),L=0,F=0;FL&&(L=rr,S=p)}}}B=S,S=C[B],D+=B-S&32767}if(K){U[g++]=268435456|sr[s]<<18|Tr[K];var ar=sr[s]&31,er=Tr[K]&31;c+=lr[ar]+or[er],++E[257+ar],++q[er],V=h+s,++A}else U[g++]=r[h],++E[r[h]]}}for(h=Math.max(h,V);h=o&&(w[v/8|0]=u,ur=o),v=Or(w,v+1,r.subarray(h,ur))}l.i=o}return ir(t,0,n+Fr(v)+f)},qr=function(){var r=1,a=0;return{p:function(e){for(var n=r,f=a,l=e.length|0,o=0;o!=l;){for(var t=Math.min(o+2655,l);o>16),f=(f&65535)+15*(f>>16)}r=n,a=f},d:function(){return r%=65521,a%=65521,(r&255)<<24|(r&65280)<<8|(a&255)<<8|a>>8}}},Vr=function(r,a,e,n,f){if(!f&&(f={l:1},a.dictionary)){var l=a.dictionary.subarray(-32768),o=new k(l.length+r.length);o.set(l),o.set(r,l.length),r=o,f.w=l.length}return Qr(r,a.level==null?6:a.level,a.mem==null?Math.ceil(Math.max(8,Math.min(13,Math.log(r.length)))*1.5):12+a.mem,e,n,f)},Br=function(r,a,e){for(;e;++a)r[a]=e,e>>>=8},Xr=function(r,a){var e=a.level,n=e==0?0:e<6?1:e==9?3:2;if(r[0]=120,r[1]=n<<6|(a.dictionary&&32),r[1]|=31-(r[0]<<8|r[1])%31,a.dictionary){var f=qr();f.p(a.dictionary),Br(r,2,f.d())}},Yr=function(r,a){return((r[0]&15)!=8||r[0]>>4>7||(r[0]<<8|r[1])%31)&&W(6,"invalid zlib data"),(r[1]>>5&1)==+!a&&W(6,"invalid zlib data: "+(r[1]&32?"need":"unexpected")+" dictionary"),(r[1]>>3&4)+2};function Zr(r,a){a||(a={});var e=qr();e.p(r);var n=Vr(r,a,a.dictionary?6:2,4);return Xr(n,a),Br(n,n.length-4,e.d()),n}function $r(r,a){return Kr(r.subarray(Yr(r,a&&a.dictionary),-4),{i:2},a&&a.out,a&&a.dictionary)}var zr=typeof TextEncoder<"u"&&new TextEncoder,br=typeof TextDecoder<"u"&&new TextDecoder,_r=0;try{br.decode(Ir,{stream:!0}),_r=1}catch{}var Lr=function(r){for(var a="",e=0;;){var n=r[e++],f=(n>127)+(n>223)+(n>239);if(e+f>r.length)return{s:a,r:ir(r,e-1)};f?f==3?(n=((n&15)<<18|(r[e++]&63)<<12|(r[e++]&63)<<6|r[e++]&63)-65536,a+=String.fromCharCode(55296|n>>10,56320|n&1023)):f&1?a+=String.fromCharCode((n&31)<<6|r[e++]&63):a+=String.fromCharCode((n&15)<<12|(r[e++]&63)<<6|r[e++]&63):a+=String.fromCharCode(n)}};function Dr(r,a){if(a){for(var e=new k(r.length),n=0;n>1)),o=0,t=function(v){l[o++]=v},n=0;nl.length){var w=new k(o+8+(f-n<<1));w.set(l),l=w}var u=r.charCodeAt(n);u<128||a?t(u):u<2048?(t(192|u>>6),t(128|u&63)):u>55295&&u<57344?(u=65536+(u&1047552)|r.charCodeAt(++n)&1023,t(240|u>>18),t(128|u>>12&63),t(128|u>>6&63),t(128|u&63)):(t(224|u>>12),t(128|u>>6&63),t(128|u&63))}return ir(l,0,o)}function Gr(r,a){if(a){for(var e="",n=0;n{e&&clearTimeout(e),e=setTimeout(()=>{r(...n)},a)}}function aa(r){const a=Dr(r),e=Zr(a,{level:9}),n=Gr(e,!0);return btoa(n)}function ea(r){const a=atob(r);if(a.startsWith("xÚ")){const e=Dr(a,!0),n=$r(e);return Gr(n)}return decodeURIComponent(escape(a))}export{ea as a,pr as c,ra as d,dr as g,aa as u}; diff --git a/assets/vant-ui.html-3dcdc61e.js b/assets/vant-ui.html-3dcdc61e.js new file mode 100644 index 000000000..37c74d203 --- /dev/null +++ b/assets/vant-ui.html-3dcdc61e.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-c27b6911.js";import{o as t,c}from"./app-97115cb3.js";const o={};function r(n,_){return t(),c("div")}const f=e(o,[["render",r],["__file","vant-ui.html.vue"]]);export{f as default}; diff --git a/assets/vant-ui.html-bd5db29f.js b/assets/vant-ui.html-bd5db29f.js new file mode 100644 index 000000000..845216ebf --- /dev/null +++ b/assets/vant-ui.html-bd5db29f.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-77440280","path":"/manuscripts/front-end/ui-framework/vant-ui.html","title":"VAnt-UI","lang":"en-US","frontmatter":{"title":"VAnt-UI","description":"","head":[["meta",{"property":"og:url","content":"https://142vip.cn/JavaScriptCollection/manuscripts/front-end/ui-framework/vant-ui.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:title","content":"VAnt-UI"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-09-11T16:11:45.000Z"}],["meta",{"property":"article:author","content":"微信公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-09-11T16:11:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"VAnt-UI\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-09-11T16:11:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"微信公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[],"git":{"createdTime":1694448705000,"updatedTime":1694448705000,"contributors":[{"name":"chufan","email":"fairy0115@2925.com","commits":1}]},"readingTime":{"minutes":0.02,"words":3},"filePathRelative":"manuscripts/front-end/ui-framework/vant-ui.md","localizedDate":"September 11, 2023","autoDesc":true,"excerpt":""}');export{t as data}; diff --git a/assets/vim-53b51753.gif b/assets/vim-53b51753.gif new file mode 100644 index 0000000000000000000000000000000000000000..7caed810beaa2e207e128a55132ad843e07f3d02 GIT binary patch literal 134161 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

S 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 Y`k)YspeeANds(3tdZ8GamjM9)JBlsC0{{R3 literal 0 HcmV?d00001 diff --git a/assets/vim.html-0d3f41fb.js b/assets/vim.html-0d3f41fb.js new file mode 100644 index 000000000..ac06cbbb3 --- /dev/null +++ b/assets/vim.html-0d3f41fb.js @@ -0,0 +1 @@ +import{_ as l}from"./plugin-vue_export-helper-c27b6911.js";import{r as c,o as a,c as r,a as e,b as o,d,f as n}from"./app-97115cb3.js";const t="/JavaScriptCollection/assets/vim-53b51753.gif",h={},u=n('

Linux vi/vim

  • 命令模式(Command mode):VIM 的默认模式,可以用于移动游标查看内容;
  • 编辑模式(Insert mode):按下 "i" 等按键之后进入,可以对文本进行编辑;
  • 指令列模式(Bottom-line mode):按下 ":" 按键之后进入,用于保存退出等操作。

在指令列模式下,离开或者保存文件常用命令:

  • :w 写入磁盘
  • :w! 当文件为只读时,强制写入磁盘。到底能不能写入,与用户对该文件的权限有关
  • :q 离开
  • :q! 强制离开不保存
  • :wq 写入磁盘后离开
  • :wq! 强制写入磁盘后离开

命令模式

用户刚刚启动 vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

以下是常用的几个命令:

  • i 切换到输入模式,以输入字符。
  • x 删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令。 若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。

命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令

输入模式

在命令模式下按下i就进入了输入模式。

在输入模式中,可以使用以下按键:

  • 字符按键以及Shift组合,输入字符
  • ENTER 回车键,换行
  • BACK SPACE 退格键,删除光标前一个字符
  • DEL 删除键,删除光标后一个字符
  • HOME/END 移动光标到行首/行尾
  • Page Up/Page Down 上/下翻页
  • Insert 切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC 退出输入模式,切换到命令模式

指令列模式

在输入模式模式下按下:(英文冒号)就能进入。

指令列模式可以输入单个或多个字符的命令,可用的命令非常多。

在指令列模式中,基本的命令有(已经省略了冒号):

  • q 退出程序
  • w 保存文件

ESC键可随时退出指令列模式。

常用命令操作

退出

  • :wq! 强制保存退出
  • :wq 保存退出
  • :x 作用和:wq 一样
  • ZZ 作用和:wq一样,(注意Z是大写的,并且不是在命令模式)
  • :q 退出
  • :q! 强制退出

移动

  • h 在当前行向左移动一个字符
  • j 移动到下一行
  • k 移动到上一行
  • l 在当前行向右移动一个字符
  • Ctrl +f 向前滚动一页
  • Ctrl +b 向后滚动一页
  • :n 将光标定位到第n行
  • :$ 将光标定位到最后一行
  • 0 将光标定位到本行的行首
  • $ 将光标定位到本行的行尾
  • G 将光标定位到本文章的最后一行,与:$功能相同。

搜索

  • / 后面跟要查找的东西,在文件中向前搜索
  • ? 后面跟要查找的东西,在文件中向后搜索
  • n 向前重复搜索
  • N 向后重复搜索

插入

  • i 在当前位置的字符前面进入插入模式
  • I 在当前行的开头进行插入
  • a 在当前位置的字符后面进入插入模式
  • A 在当前行的结尾进行插入
  • o 在当前行下面打开一个新行进行插入
  • O 在当前行上面打开一个新行进行插入

删除或剪切

  • dd 删除当前行
  • dw 删除一个单词
  • x 删除一个字符
  • nx 删除n个字符
  • dG 删除当前光标到文件末尾的所有内容。
  • d0 删除当前光标到本行行首的所有内容
  • d$ 删除当前光标到本行行尾的所有内容
  • :1,100d 删除1~100
  • :100d 删除第100行
  • :1,100 mo $ 将1~100行的内容移动到最后一行。

参考资料

',33),s={href:"https://github.com/vim/vim",target:"_blank",rel:"noopener noreferrer"},p={href:"https://www.runoob.com/linux/linux-vim.html",target:"_blank",rel:"noopener noreferrer"},m={href:"https://zhuanlan.zhihu.com/p/61515833",target:"_blank",rel:"noopener noreferrer"};function f(x,_){const i=c("ExternalLinkIcon");return a(),r("div",null,[u,e("ul",null,[e("li",null,[e("a",s,[o("https://github.com/vim/vim"),d(i)])]),e("li",null,[e("a",p,[o("https://www.runoob.com/linux/linux-vim.html"),d(i)])]),e("li",null,[e("a",m,[o("https://zhuanlan.zhihu.com/p/61515833"),d(i)])])])])}const w=l(h,[["render",f],["__file","vim.html.vue"]]);export{w as default}; diff --git a/assets/vim.html-a953fd46.js b/assets/vim.html-a953fd46.js new file mode 100644 index 000000000..011f41594 --- /dev/null +++ b/assets/vim.html-a953fd46.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-6ce8c59d","path":"/manuscripts/server-end/linux/vim.html","title":"Linux vi/vim","lang":"en-US","frontmatter":{"description":"命令模式(Command mode):VIM 的默认模式,可以用于移动游标查看内容;; 编辑模式(Insert mode):按下 \\"i\\" 等按键之后进入,可以对文本进行编辑;; 指令列模式(Bottom-line mode):按下 \\":\\" 按键之后进入,用于保存退出等操作。; 在指令列模式下,离开或者保存文件常用命令: :w\\t写入磁盘; :w!\\t当文件...","head":[["meta",{"property":"og:url","content":"https://142vip.cn/JavaScriptCollection/manuscripts/server-end/linux/vim.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:title","content":"Linux vi/vim"}],["meta",{"property":"og:description","content":"命令模式(Command mode):VIM 的默认模式,可以用于移动游标查看内容;; 编辑模式(Insert mode):按下 \\"i\\" 等按键之后进入,可以对文本进行编辑;; 指令列模式(Bottom-line mode):按下 \\":\\" 按键之后进入,用于保存退出等操作。; 在指令列模式下,离开或者保存文件常用命令: :w\\t写入磁盘; :w!\\t当文件..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-10-20T09:29:35.000Z"}],["meta",{"property":"article:author","content":"微信公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-10-20T09:29:35.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Linux vi/vim\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-10-20T09:29:35.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"微信公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[{"level":2,"title":"命令模式","slug":"命令模式","link":"#命令模式","children":[]},{"level":2,"title":"输入模式","slug":"输入模式","link":"#输入模式","children":[]},{"level":2,"title":"指令列模式","slug":"指令列模式","link":"#指令列模式","children":[]},{"level":2,"title":"常用命令操作","slug":"常用命令操作","link":"#常用命令操作","children":[{"level":3,"title":"退出","slug":"退出","link":"#退出","children":[]},{"level":3,"title":"移动","slug":"移动","link":"#移动","children":[]},{"level":3,"title":"搜索","slug":"搜索","link":"#搜索","children":[]},{"level":3,"title":"插入","slug":"插入","link":"#插入","children":[]},{"level":3,"title":"删除或剪切","slug":"删除或剪切","link":"#删除或剪切","children":[]}]},{"level":2,"title":"参考资料","slug":"参考资料","link":"#参考资料","children":[]}],"git":{"createdTime":1694448705000,"updatedTime":1697794175000,"contributors":[{"name":"chufan","email":"fairy0115@2925.com","commits":1},{"name":"chufan","email":"fairy_vip@2925.com","commits":1}]},"readingTime":{"minutes":5.13,"words":1025},"filePathRelative":"manuscripts/server-end/linux/vim.md","localizedDate":"September 11, 2023","autoDesc":true,"excerpt":""}');export{e as data}; diff --git a/assets/vite.html-7cc42f0f.js b/assets/vite.html-7cc42f0f.js new file mode 100644 index 000000000..49a6848e4 --- /dev/null +++ b/assets/vite.html-7cc42f0f.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-14908ad9","path":"/manuscripts/develop-skill/build-tools/vite.html","title":"Vite","lang":"en-US","frontmatter":{"title":"Vite","permalink":"/manuscripts/develop-skill/build-tools/vite.html","description":"官网:https://vitejs.dev/guide/","head":[["meta",{"property":"og:url","content":"https://142vip.cn/JavaScriptCollection/manuscripts/develop-skill/build-tools/vite.html"}],["meta",{"property":"og:site_name","content":"凡是过往、皆为序章"}],["meta",{"property":"og:title","content":"Vite"}],["meta",{"property":"og:description","content":"官网:https://vitejs.dev/guide/"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-10-23T09:02:44.000Z"}],["meta",{"property":"article:author","content":"微信公众号:储凡"}],["meta",{"property":"article:modified_time","content":"2023-10-23T09:02:44.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Vite\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-10-23T09:02:44.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"微信公众号:储凡\\",\\"email\\":\\"fairy_vip@2925.com\\",\\"url\\":\\"https://www.142vip.cn\\"}]}"]]},"headers":[],"git":{"createdTime":1697449011000,"updatedTime":1698051764000,"contributors":[{"name":"chufan","email":"fairy_vip@2925.com","commits":2}]},"readingTime":{"minutes":0.06,"words":11},"filePathRelative":"manuscripts/develop-skill/build-tools/vite.md","localizedDate":"October 16, 2023","autoDesc":true,"excerpt":""}');export{t as data}; diff --git a/assets/vite.html-ec090d3f.js b/assets/vite.html-ec090d3f.js new file mode 100644 index 000000000..d9148de0e --- /dev/null +++ b/assets/vite.html-ec090d3f.js @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-c27b6911.js";import{o,c as s,a as e,b as a}from"./app-97115cb3.js";const c={},i=e("h1",{id:"vite",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#vite","aria-hidden":"true"},"#"),a(" vite")],-1),r=e("blockquote",null,[e("p",null,"官网:https://vitejs.dev/guide/")],-1),n=[i,r];function _(d,l){return o(),s("div",null,n)}const f=t(c,[["render",_],["__file","vite.html.vue"]]);export{f as default}; diff --git a/assets/vue-repl-edddac03.js b/assets/vue-repl-edddac03.js new file mode 100644 index 000000000..97ea6beb8 --- /dev/null +++ b/assets/vue-repl-edddac03.js @@ -0,0 +1,758 @@ +import{M as wy,N as Td,P as _y,x as io,_ as W_,g as $s,Q as ss,i as Zt,k as z_,G as H_,o as pt,c as wt,S as Lh,T as xy,a as it,d as Yr,U as Dh,e as xs,V as jn,W as Vs,t as Yo,w as Ju,j as Va,X as kd,Y as Ty,$ as Ed,a0 as El,a1 as Ts,a2 as G_,a3 as ky,a4 as ct,a5 as K_,a6 as Pd,a7 as J_,a8 as Ey,a9 as Py}from"./app-97115cb3.js";import{c as ur,a as Y_,u as X_,g as Q_,d as Z_}from"./utils-a5e1dbae-143be013.js";function Pt(r,e){const t=Object.create(null),s=r.split(",");for(let n=0;n!!t[n.toLowerCase()]:n=>!!t[n]}const ex=Object.freeze({}),Ad=()=>{},_a=()=>!1,tx=/^on[^a-z]/,Ay=r=>tx.test(r),ns=Object.assign,rx=Object.prototype.hasOwnProperty,Pl=(r,e)=>rx.call(r,e),Ft=Array.isArray,sx=r=>Rh(r)==="[object Map]",nx=r=>Rh(r)==="[object Set]",Iy=r=>typeof r=="function",Me=r=>typeof r=="string",ni=r=>typeof r=="symbol",hs=r=>r!==null&&typeof r=="object",Cy=Object.prototype.toString,Rh=r=>Cy.call(r),ix=r=>Rh(r)==="[object Object]",Id=Pt(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Mh=Pt("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),Al=r=>{const e=Object.create(null);return t=>e[t]||(e[t]=r(t))},ox=/-(\w)/g,br=Al(r=>r.replace(ox,(e,t)=>t?t.toUpperCase():"")),ax=/\B([A-Z])/g,Ny=Al(r=>r.replace(ax,"-$1").toLowerCase()),Os=Al(r=>r.charAt(0).toUpperCase()+r.slice(1)),lx=Al(r=>r?`on${Os(r)}`:""),cx=/^[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*$/;function Un(r){return cx.test(r)?`__props.${r}`:`__props[${JSON.stringify(r)}]`}const Nr={1:"TEXT",2:"CLASS",4:"STYLE",8:"PROPS",16:"FULL_PROPS",32:"HYDRATE_EVENTS",64:"STABLE_FRAGMENT",128:"KEYED_FRAGMENT",256:"UNKEYED_FRAGMENT",512:"NEED_PATCH",1024:"DYNAMIC_SLOTS",2048:"DEV_ROOT_FRAGMENT",[-1]:"HOISTED",[-2]:"BAIL"},ux={1:"STABLE",2:"DYNAMIC",3:"FORWARDED"},px="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console",Oy=Pt(px),Cd=2;function qn(r,e=0,t=r.length){let s=r.split(/(\r?\n)/);const n=s.filter((a,l)=>l%2===1);s=s.filter((a,l)=>l%2===0);let i=0;const o=[];for(let a=0;a=e){for(let l=a-Cd;l<=a+Cd||t>i;l++){if(l<0||l>=s.length)continue;const u=l+1;o.push(`${u}${" ".repeat(Math.max(3-String(u).length,0))}| ${s[l]}`);const p=s[l].length,h=n[l]&&n[l].length||0;if(l===a){const d=e-(i-(p+h)),m=Math.max(1,t>i?p-d:t-e);o.push(" | "+" ".repeat(d)+"^".repeat(m))}else if(l>a){if(t>i){const d=Math.max(Math.min(t-i,p),1);o.push(" | "+"^".repeat(d))}i+=p+h}}break}return o.join(` +`)}function Ly(r){if(Ft(r)){const e={};for(let t=0;t{if(t){const s=t.split(fx);s.length>1&&(e[s[0].trim()]=s[1].trim())}}),e}function mx(r){let e="";if(!r||Me(r))return e;for(const t in r){const s=r[t],n=t.startsWith("--")?t:Ny(t);(Me(s)||typeof s=="number")&&(e+=`${n}:${s};`)}return e}function Ry(r){let e="";if(Me(r))e=r;else if(Ft(r))for(let t=0;t/="'\u0009\u000a\u000c\u0020]/,du={};function xx(r){if(du.hasOwnProperty(r))return du[r];const e=_x.test(r);return e&&console.error(`unsafe attribute name: ${r}`),du[r]=!e}const Tx={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},kx=Pt("accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap"),Ex=Pt("xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan"),Px=/["'&<>]/;function Ar(r){const e=""+r,t=Px.exec(e);if(!t)return e;let s="",n,i,o=0;for(i=t.index;iMe(r)?r:r==null?"":Ft(r)||hs(r)&&(r.toString===Cy||!Iy(r.toString))?JSON.stringify(r,Fy,2):String(r),Fy=(r,e)=>e&&e.__v_isRef?Fy(r,e.value):sx(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((t,[s,n])=>(t[`${s} =>`]=n,t),{})}:nx(e)?{[`Set(${e.size})`]:[...e.values()]}:hs(e)&&!Ft(e)&&!ix(e)?String(e):e;function Fh(r){throw r}function By(r){console.warn(`[Vue warn] ${r.message}`)}function je(r,e,t,s){const n=(t||Ax)[r]+(s||""),i=new SyntaxError(String(n));return i.code=r,i.loc=e,i}const Ax={0:"Illegal comment.",1:"CDATA section is allowed only in XML context.",2:"Duplicate attribute.",3:"End tag cannot have attributes.",4:"Illegal '/' in tags.",5:"Unexpected EOF in tag.",6:"Unexpected EOF in CDATA section.",7:"Unexpected EOF in comment.",8:"Unexpected EOF in script.",9:"Unexpected EOF in tag.",10:"Incorrectly closed comment.",11:"Incorrectly opened comment.",12:"Illegal tag name. Use '<' to print '<'.",13:"Attribute value was expected.",14:"End tag name was expected.",15:"Whitespace was expected.",16:"Unexpected '=0;){const u=o[a];u&&u.type===9&&(l+=u.branches.length)}return()=>{if(i)s.codegenNode=am(n,l,t);else{const u=TE(s.codegenNode);u.alternate=am(n,l+s.branches.length-1,t)}}}));function _f(r,e,t,s){if(e.name!=="else"&&(!e.exp||!e.exp.content.trim())){const n=e.exp?e.exp.loc:r.loc;t.onError(je(28,e.loc)),e.exp=ae("true",!1,n)}if(t.prefixIdentifiers&&e.exp&&(e.exp=$t(e.exp,t)),e.name==="if"){const n=om(r,e),i={type:9,loc:r.loc,branches:[n]};if(t.replaceNode(i),s)return s(i,n,!0)}else{const n=t.parent.children,i=[];let o=n.indexOf(r);for(;o-->=-1;){const a=n[o];if(a&&a.type===3){t.removeNode(a),i.unshift(a);continue}if(a&&a.type===2&&!a.content.trim().length){t.removeNode(a);continue}if(a&&a.type===9){e.name==="else-if"&&a.branches[a.branches.length-1].condition===void 0&&t.onError(je(30,r.loc)),t.removeNode();const l=om(r,e);i.length&&!(t.parent&&t.parent.type===1&&yr(t.parent.tag,"transition"))&&(l.children=[...i,...l.children]);{const p=l.userKey;p&&a.branches.forEach(({userKey:h})=>{xE(h,p)&&t.onError(je(29,l.userKey.loc))})}a.branches.push(l);const u=s&&s(a,l,!1);ci(l,t),u&&u(),t.currentNode=null}else t.onError(je(30,r.loc));break}}}function om(r,e){const t=r.tagType===3;return{type:10,loc:r.loc,condition:e.name==="else"?void 0:e.exp,children:t&&!yt(r,"for")?r.children:[r],userKey:Wt(r,"key"),isTemplateIf:t}}function am(r,e,t){return r.condition?Or(r.condition,lm(r,e,t),Se(t.helper(oi),['"v-if"',"true"])):lm(r,e,t)}function lm(r,e,t){const{helper:s}=t,n=Ve("key",ae(`${e}`,!1,nt,2)),{children:i}=r,o=i[0];if(i.length!==1||o.type!==1)if(i.length===1&&o.type===11){const l=o.codegenNode;return po(l,n,t),l}else{let l=64,u=Nr[64];return!r.isTemplateIf&&i.filter(p=>p.type!==3).length===1&&(l|=2048,u+=`, ${Nr[2048]}`),Gn(t,s(Vn),Vt([n]),i,l+` /* ${u} */`,void 0,void 0,!0,!1,!1,r.loc)}else{const l=o.codegenNode,u=gv(l);return u.type===13&&ql(u,t),po(u,n,t),l}}function xE(r,e){if(!r||r.type!==e.type)return!1;if(r.type===6){if(r.value.content!==e.value.content)return!1}else{const t=r.exp,s=e.exp;if(t.type!==s.type||t.type!==4||t.isStatic!==s.isStatic||t.content!==s.content)return!1}return!0}function TE(r){for(;;)if(r.type===19)if(r.alternate.type===19)r=r.alternate;else return r;else r.type===20&&(r=r.value)}const kE=Fo("for",(r,e,t)=>{const{helper:s,removeHelper:n}=t;return xf(r,e,t,i=>{const o=Se(s(Dl),[i.source]),a=Jn(r),l=yt(r,"memo"),u=Wt(r,"key"),p=u&&(u.type===6?ae(u.value.content,!0):u.exp),h=u?Ve("key",p):null;a&&(l&&(l.exp=$t(l.exp,t)),h&&u.type!==6&&(h.value=$t(h.value,t)));const d=i.source.type===4&&i.source.constType>0,m=d?64:u?128:256;return i.codegenNode=Gn(t,s(Vn),void 0,o,m+` /* ${Nr[m]} */`,void 0,void 0,!0,!d,!1,r.loc),()=>{let v;const{children:g}=i;a&&r.children.some(_=>{if(_.type===1){const S=Wt(_,"key");if(S)return t.onError(je(33,S.loc)),!0}});const b=g.length!==1||g[0].type!==1,y=Yn(r)?r:a&&r.children.length===1&&Yn(r.children[0])?r.children[0]:null;if(y?(v=y.codegenNode,a&&h&&po(v,h,t)):b?v=Gn(t,s(Vn),h?Vt([h]):void 0,r.children,`64 /* ${Nr[64]} */`,void 0,void 0,!0,void 0,!1):(v=g[0].codegenNode,a&&h&&po(v,h,t),v.isBlock!==!d&&(v.isBlock?(n(Ls),n(cn(t.inSSR,v.isComponent))):n(ln(t.inSSR,v.isComponent))),v.isBlock=!d,v.isBlock?(s(Ls),s(cn(t.inSSR,v.isComponent))):s(ln(t.inSSR,v.isComponent))),l){const _=nr(go(i.parseResult,[ae("_cached")]));_.body=Ro([_t(["const _memo = (",l.exp,")"]),_t(["if (_cached",...p?[" && _cached.key === ",p]:[],` && ${t.helperString(Wh)}(_cached, _memo)) return _cached`]),_t(["const _item = ",v]),ae("_item.memo = _memo"),ae("return _item")]),o.arguments.push(_,ae("_cache"),ae(String(t.cached++)))}else o.arguments.push(nr(go(i.parseResult),v,!0))}})});function xf(r,e,t,s){if(!e.exp){t.onError(je(31,e.loc));return}const n=Tf(e.exp,t);if(!n){t.onError(je(32,e.loc));return}const{addIdentifiers:i,removeIdentifiers:o,scopes:a}=t,{source:l,value:u,key:p,index:h}=n,d={type:11,loc:e.loc,source:l,valueAlias:u,keyAlias:p,objectIndexAlias:h,parseResult:n,children:Jn(r)?r.children:[r]};t.replaceNode(d),a.vFor++,t.prefixIdentifiers&&(u&&i(u),p&&i(p),h&&i(h));const m=s&&s(d);return()=>{a.vFor--,t.prefixIdentifiers&&(u&&o(u),p&&o(p),h&&o(h)),m&&m()}}const EE=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,cm=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,PE=/^\(|\)$/g;function Tf(r,e){const t=r.loc,s=r.content,n=s.match(EE);if(!n)return;const[,i,o]=n,a={source:Zo(t,o.trim(),s.indexOf(o,i.length)),value:void 0,key:void 0,index:void 0};e.prefixIdentifiers&&(a.source=$t(a.source,e));let l=i.trim().replace(PE,"").trim();const u=i.indexOf(l),p=l.match(cm);if(p){l=l.replace(cm,"").trim();const h=p[1].trim();let d;if(h&&(d=s.indexOf(h,u+l.length),a.key=Zo(t,h,d),e.prefixIdentifiers&&(a.key=$t(a.key,e,!0))),p[2]){const m=p[2].trim();m&&(a.index=Zo(t,m,s.indexOf(m,a.key?d+h.length:u+l.length)),e.prefixIdentifiers&&(a.index=$t(a.index,e,!0)))}}return l&&(a.value=Zo(t,l,u),e.prefixIdentifiers&&(a.value=$t(a.value,e,!0))),a}function Zo(r,e,t){return ae(e,!1,lf(r,t,e.length))}function go({value:r,key:e,index:t},s=[]){return AE([r,e,t,...s])}function AE(r){let e=r.length;for(;e--&&!r[e];);return r.slice(0,e+1).map((t,s)=>t||ae("_".repeat(s+1),!1))}const um=ae("undefined",!1),kf=(r,e)=>{if(r.type===1&&(r.tagType===1||r.tagType===3)){const t=yt(r,"slot");if(t){const s=t.exp;return e.prefixIdentifiers&&s&&e.addIdentifiers(s),e.scopes.vSlot++,()=>{e.prefixIdentifiers&&s&&e.removeIdentifiers(s),e.scopes.vSlot--}}}},Ef=(r,e)=>{let t;if(Jn(r)&&r.props.some(cf)&&(t=yt(r,"for"))){const s=t.parseResult=Tf(t.exp,e);if(s){const{value:n,key:i,index:o}=s,{addIdentifiers:a,removeIdentifiers:l}=e;return n&&a(n),i&&a(i),o&&a(o),()=>{n&&l(n),i&&l(i),o&&l(o)}}}},IE=(r,e,t)=>nr(r,e,!1,!0,e.length?e[0].loc:t);function yo(r,e,t=IE){e.helper(jl);const{children:s,loc:n}=r,i=[],o=[];let a=e.scopes.vSlot>0||e.scopes.vFor>0;!e.ssr&&e.prefixIdentifiers&&(a=Ut(r,e.identifiers));const l=yt(r,"slot",!0);if(l){const{arg:b,exp:y}=l;b&&!xt(b)&&(a=!0),i.push(Ve(b||ae("default",!0),t(y,s,n)))}let u=!1,p=!1;const h=[],d=new Set;let m=0;for(let b=0;b{const S=t(y,_,n);return Ve("default",S)};u?h.length&&h.some(y=>Bv(y))&&(p?e.onError(je(39,h[0].loc)):i.push(b(void 0,h))):i.push(b(void 0,s))}const v=a?2:Ca(r.children)?3:1;let g=Vt(i.concat(Ve("_",ae(v+` /* ${ux[v]} */`,!1))),n);return o.length&&(g=Se(e.helper(Vh),[g,mn(o)])),{slots:g,hasDynamicSlots:a}}function ea(r,e,t){const s=[Ve("name",r),Ve("fn",e)];return t!=null&&s.push(Ve("key",ae(String(t),!0))),Vt(s)}function Ca(r){for(let e=0;efunction(){if(r=e.currentNode,!(r.type===1&&(r.tagType===0||r.tagType===1)))return;const{tag:s,props:n}=r,i=r.tagType===1;let o=i?nc(r,e):`"${s}"`;const a=hs(o)&&o.callee===Wn;let l,u,p,h=0,d,m,v,g=a||o===Qs||o===ii||!i&&(s==="svg"||s==="foreignObject");if(n.length>0){const b=mi(r,e,void 0,i,a);l=b.props,h=b.patchFlag,m=b.dynamicPropNames;const y=b.directives;v=y&&y.length?mn(y.map(_=>Pf(_,e))):void 0,b.shouldUseBlock&&(g=!0)}if(r.children.length>0)if(o===oo&&(g=!0,h|=1024,r.children.length>1&&e.onError(je(46,{start:r.children[0].loc.start,end:r.children[r.children.length-1].loc.end,source:""}))),i&&o!==Qs&&o!==oo){const{slots:y,hasDynamicSlots:_}=yo(r,e);u=y,_&&(h|=1024)}else if(r.children.length===1&&o!==Qs){const y=r.children[0],_=y.type,S=_===5||_===8;S&&Yt(y,e)===0&&(h|=1),S||_===2?u=y:u=r.children}else u=r.children;if(h!==0){if(h<0)p=h+` /* ${Nr[h]} */`;else{const b=Object.keys(Nr).map(Number).filter(y=>y>0&&h&y).map(y=>Nr[y]).join(", ");p=h+` /* ${b} */`}m&&m.length&&(d=NE(m))}r.codegenNode=Gn(e,o,l,u,p,d,v,!!g,!1,i,r.loc)};function nc(r,e,t=!1){let{tag:s}=r;const n=ip(s),i=Wt(r,"is");if(i)if(n){const l=i.type===6?i.value&&ae(i.value.content,!0):i.exp;if(l)return Se(e.helper(Wn),[l])}else i.type===6&&i.value.content.startsWith("vue:")&&(s=i.value.content.slice(4));const o=!n&&yt(r,"is");if(o&&o.exp)return e.onWarn(je(52,o.loc)),Se(e.helper(Wn),[o.exp]);const a=of(s)||e.isBuiltInComponent(s);if(a)return t||e.helper(a),a;{const l=np(s,e);if(l)return l;const u=s.indexOf(".");if(u>0){const p=np(s.slice(0,u),e);if(p)return p+s.slice(u)}}return e.selfName&&Os(br(s))===e.selfName?(e.helper(ao),e.components.add(s+"__self"),ho(s,"component")):(e.helper(ao),e.components.add(s),ho(s,"component"))}function np(r,e){const t=e.bindingMetadata;if(!t||t.__isScriptSetup===!1)return;const s=br(r),n=Os(s),i=l=>{if(t[r]===l)return r;if(t[s]===l)return s;if(t[n]===l)return n},o=i("setup-const")||i("setup-reactive-const")||i("literal-const");if(o)return e.inline?o:`$setup[${JSON.stringify(o)}]`;const a=i("setup-let")||i("setup-ref")||i("setup-maybe-ref");if(a)return e.inline?`${e.helperString(Hn)}(${a})`:`$setup[${JSON.stringify(a)}]`}function mi(r,e,t=r.props,s,n,i=!1){const{tag:o,loc:a,children:l}=r;let u=[];const p=[],h=[],d=l.length>0;let m=!1,v=0,g=!1,b=!1,y=!1,_=!1,S=!1,x=!1;const w=[],C=k=>{u.length&&(p.push(Vt(pm(u),a)),u=[]),k&&p.push(k)},E=({key:k,value:A})=>{if(xt(k)){const N=k.content,z=Ay(N);if(z&&(!s||n)&&N.toLowerCase()!=="onclick"&&N!=="onUpdate:modelValue"&&!Id(N)&&(_=!0),z&&Id(N)&&(x=!0),A.type===20||(A.type===4||A.type===8)&&Yt(A,e)>0)return;N==="ref"?g=!0:N==="class"?b=!0:N==="style"?y=!0:N!=="key"&&!w.includes(N)&&w.push(N),s&&(N==="class"||N==="style")&&!w.includes(N)&&w.push(N)}else S=!0};for(let k=0;k0&&u.push(Ve(ae("ref_for",!0),ae("true"))),ee&&e.inline)){const ne=e.bindingMetadata[ee.content];(ne==="setup-let"||ne==="setup-ref"||ne==="setup-maybe-ref")&&(ie=!1,u.push(Ve(ae("ref_key",!0),ae(ee.content,!0,ee.loc))))}if(z==="is"&&(ip(o)||ee&&ee.content.startsWith("vue:")))continue;u.push(Ve(ae(z,!0,lf(N,0,z.length)),ae(ee?ee.content:"",ie,ee?ee.loc:N)))}else{const{name:N,arg:z,exp:ee,loc:ie}=A,ne=N==="bind",le=N==="on";if(N==="slot"){s||e.onError(je(40,ie));continue}if(N==="once"||N==="memo"||N==="is"||ne&&Qr(z,"is")&&ip(o)||le&&i)continue;if((ne&&Qr(z,"key")||le&&d&&Qr(z,"vue:before-update"))&&(m=!0),ne&&Qr(z,"ref")&&e.scopes.vFor>0&&u.push(Ve(ae("ref_for",!0),ae("true"))),!z&&(ne||le)){S=!0,ee?ne?(C(),p.push(ee)):C({type:14,loc:ie,callee:e.helper($l),arguments:s?[ee]:[ee,"true"]}):e.onError(je(ne?34:35,ie));continue}const ge=e.directiveTransforms[N];if(ge){const{props:we,needRuntime:G}=ge(A,r,e);!i&&we.forEach(E),le&&z&&!xt(z)?C(Vt(we,a)):u.push(...we),G&&(h.push(A),ni(G)&&jv.set(A,G))}else Mh(N)||(h.push(A),d&&(m=!0))}}let T;if(p.length?(C(),p.length>1?T=Se(e.helper(an),p,a):T=p[0]):u.length&&(T=Vt(pm(u),a)),S?v|=16:(b&&!s&&(v|=2),y&&!s&&(v|=4),w.length&&(v|=8),_&&(v|=32)),!m&&(v===0||v===32)&&(g||x||h.length>0)&&(v|=512),!e.inSSR&&T)switch(T.type){case 15:let k=-1,A=-1,N=!1;for(let ie=0;ieVe(o,i)),n))}return mn(t,r.loc)}function NE(r){let e="[";for(let t=0,s=r.length;t{if(Yn(r)){const{children:t,loc:s}=r,{slotName:n,slotProps:i}=Af(r,e),o=[e.prefixIdentifiers?"_ctx.$slots":"$slots",n,"{}","undefined","true"];let a=2;i&&(o[2]=i,a=3),t.length&&(o[3]=nr([],t,!1,!1,s),a=4),e.scopeId&&!e.slotted&&(a=5),o.splice(a),r.codegenNode=Se(e.helper(qh),o,s)}};function Af(r,e){let t='"default"',s;const n=[];for(let i=0;i0){const{props:i,directives:o}=mi(r,e,n,!1,!1);s=i,o.length&&e.onError(je(36,o[0].loc))}return{slotName:t,slotProps:s}}const LE=/^\s*([\w$_]+|(async\s*)?\([^)]*?\))\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/,ic=(r,e,t,s)=>{const{loc:n,modifiers:i,arg:o}=r;!r.exp&&!i.length&&t.onError(je(35,n));let a;if(o.type===4)if(o.isStatic){let h=o.content;h.startsWith("vnode")&&t.onWarn(je(51,o.loc)),h.startsWith("vue:")&&(h=`vnode-${h.slice(4)}`);const d=e.tagType!==0||h.startsWith("vnode")||!/[A-Z]/.test(h)?lx(br(h)):`on:${h}`;a=ae(d,!0,o.loc)}else a=_t([`${t.helperString(za)}(`,o,")"]);else a=o,a.children.unshift(`${t.helperString(za)}(`),a.children.push(")");let l=r.exp;l&&!l.content.trim()&&(l=void 0);let u=t.cacheHandlers&&!l&&!t.inVOnce;if(l){const h=af(l.content,t),d=!(h||LE.test(l.content)),m=l.content.includes(";");t.prefixIdentifiers&&(d&&t.addIdentifiers("$event"),l=r.exp=$t(l,t,!1,m),d&&t.removeIdentifiers("$event"),u=t.cacheHandlers&&!t.inVOnce&&!(l.type===4&&l.constType>0)&&!(h&&e.tagType===1)&&!Ut(l,t.identifiers),u&&h&&(l.type===4?l.content=`${l.content} && ${l.content}(...args)`:l.children=[...l.children," && ",...l.children,"(...args)"])),(d||u&&h)&&(l=_t([`${d?t.isTS?"($event: any)":"$event":`${t.isTS?` +//@ts-ignore +`:""}(...args)`} => ${m?"{":"("}`,l,m?"}":")"]))}let p={props:[Ve(a,l||ae("() => {}",!1,n))]};return s&&(p=s(p)),u&&(p.props[0].value=t.cache(p.props[0].value)),p.props.forEach(h=>h.key.isHandlerKey=!0),p},If=(r,e,t)=>{const{exp:s,modifiers:n,loc:i}=r,o=r.arg;return o.type!==4?(o.children.unshift("("),o.children.push(') || ""')):o.isStatic||(o.content=`${o.content} || ""`),n.includes("camel")&&(o.type===4?o.isStatic?o.content=br(o.content):o.content=`${t.helperString(Wa)}(${o.content})`:(o.children.unshift(`${t.helperString(Wa)}(`),o.children.push(")"))),t.inSSR||(n.includes("prop")&&hm(o,"."),n.includes("attr")&&hm(o,"^")),!s||s.type===4&&!s.content.trim()?(t.onError(je(34,i)),{props:[Ve(o,ae("",!0,i))]}):{props:[Ve(o,s)]}},hm=(r,e)=>{r.type===4?r.isStatic?r.content=e+r.content:r.content=`\`${e}\${${r.content}}\``:(r.children.unshift(`'${e}' + (`),r.children.push(")"))},DE=(r,e)=>{if(r.type===0||r.type===1||r.type===11||r.type===10)return()=>{const t=r.children;let s,n=!1;for(let i=0;ii.type===7&&!e.directiveTransforms[i.name]))))for(let i=0;i{if(r.type===1&&yt(r,"once",!0))return fm.has(r)||e.inVOnce||e.inSSR?void 0:(fm.add(r),e.inVOnce=!0,e.helper(lo),()=>{e.inVOnce=!1;const t=e.currentNode;t.codegenNode&&(t.codegenNode=e.cache(t.codegenNode,!0))})},oc=(r,e,t)=>{const{exp:s,arg:n}=r;if(!s)return t.onError(je(41,r.loc)),Ci();const i=s.loc.source,o=s.type===4?s.content:i,a=t.bindingMetadata[i];if(a==="props"||a==="props-aliased")return t.onError(je(44,s.loc)),Ci();const l=t.inline&&(a==="setup-let"||a==="setup-ref"||a==="setup-maybe-ref");if(!o.trim()||!af(o,t)&&!l)return t.onError(je(42,s.loc)),Ci();if(t.prefixIdentifiers&&Rs(o)&&t.identifiers[o])return t.onError(je(43,s.loc)),Ci();const u=n||ae("modelValue",!0),p=n?xt(n)?`onUpdate:${br(n.content)}`:_t(['"onUpdate:" + ',n]):"onUpdate:modelValue";let h;const d=t.isTS?"($event: any)":"$event";if(l)if(a==="setup-ref")h=_t([`${d} => ((`,ae(i,!1,s.loc),").value = $event)"]);else{const v=a==="setup-let"?`${i} = $event`:"null";h=_t([`${d} => (${t.helperString(co)}(${i}) ? (`,ae(i,!1,s.loc),`).value = $event : ${v})`])}else h=_t([`${d} => ((`,s,") = $event)"]);const m=[Ve(u,r.exp),Ve(p,h)];if(t.prefixIdentifiers&&!t.inVOnce&&t.cacheHandlers&&!Ut(s,t.identifiers)&&(m[1].value=t.cache(m[1].value)),r.modifiers.length&&e.tagType===1){const v=r.modifiers.map(b=>(Rs(b)?b:JSON.stringify(b))+": true").join(", "),g=n?xt(n)?`${n.content}Modifiers`:_t([n,' + "Modifiers"']):"modelModifiers";m.push(Ve(g,ae(`{ ${v} }`,!1,r.loc,2)))}return Ci(m)};function Ci(r=[]){return{props:r}}const dm=new WeakSet,ME=(r,e)=>{if(r.type===1){const t=yt(r,"memo");return!t||dm.has(r)?void 0:(dm.add(r),()=>{const s=r.codegenNode||e.currentNode.codegenNode;s&&s.type===13&&(r.tagType!==1&&ql(s,e),r.codegenNode=Se(e.helper(Ul),[t.exp,nr(void 0,s),"_cache",String(e.cached++)]))})}};function Cf(r){return[[RE,_E,ME,kE,...r?[Ef,wf]:[],OE,Uv,kf,DE],{on:ic,bind:If,model:oc}]}function qv(r,e={}){const t=e.onError||Fh,s=e.mode==="module",n=e.prefixIdentifiers===!0||s;!n&&e.cacheHandlers&&t(je(49)),e.scopeId&&!s&&t(je(50));const i=Me(r)?Kl(r,e):r,[o,a]=Cf(n);if(e.isTS){const{expressionPlugins:l}=e;(!l||!l.includes("typescript"))&&(e.expressionPlugins=[...l||[],"typescript"])}return Yl(i,ns({},e,{prefixIdentifiers:n,nodeTransforms:[...o,...e.nodeTransforms||[]],directiveTransforms:ns({},a,e.directiveTransforms||{})})),bf(i,ns({},e,{prefixIdentifiers:n}))}const Ji=()=>({props:[]}),Nf=Symbol("vModelRadio"),Of=Symbol("vModelCheckbox"),Lf=Symbol("vModelText"),Df=Symbol("vModelSelect"),el=Symbol("vModelDynamic"),Rf=Symbol("vOnModifiersGuard"),Mf=Symbol("vOnKeysGuard"),$f=Symbol("vShow"),gi=Symbol("Transition"),Uo=Symbol("TransitionGroup");zh({[Nf]:"vModelRadio",[Of]:"vModelCheckbox",[Lf]:"vModelText",[Df]:"vModelSelect",[el]:"vModelDynamic",[Rf]:"withModifiers",[Mf]:"withKeys",[$f]:"vShow",[gi]:"Transition",[Uo]:"TransitionGroup"});var mm={GT:">",gt:">",LT:"<",lt:"<","ac;":"∾","af;":"⁡",AMP:"&",amp:"&","ap;":"≈","DD;":"ⅅ","dd;":"ⅆ",deg:"°","ee;":"ⅇ","eg;":"⪚","el;":"⪙",ETH:"Ð",eth:"ð","gE;":"≧","ge;":"≥","Gg;":"⋙","gg;":"≫","gl;":"≷","GT;":">","Gt;":"≫","gt;":">","ic;":"⁣","ii;":"ⅈ","Im;":"ℑ","in;":"∈","it;":"⁢","lE;":"≦","le;":"≤","lg;":"≶","Ll;":"⋘","ll;":"≪","LT;":"<","Lt;":"≪","lt;":"<","mp;":"∓","Mu;":"Μ","mu;":"μ","ne;":"≠","ni;":"∋",not:"¬","Nu;":"Ν","nu;":"ν","Or;":"⩔","or;":"∨","oS;":"Ⓢ","Pi;":"Π","pi;":"π","pm;":"±","Pr;":"⪻","pr;":"≺","Re;":"ℜ",REG:"®",reg:"®","rx;":"℞","Sc;":"⪼","sc;":"≻",shy:"­",uml:"¨","wp;":"℘","wr;":"≀","Xi;":"Ξ","xi;":"ξ",yen:"¥","acd;":"∿","acE;":"∾̳","Acy;":"А","acy;":"а","Afr;":"𝔄","afr;":"𝔞","AMP;":"&","amp;":"&","And;":"⩓","and;":"∧","ang;":"∠","apE;":"⩰","ape;":"≊","ast;":"*",Auml:"Ä",auml:"ä","Bcy;":"Б","bcy;":"б","Bfr;":"𝔅","bfr;":"𝔟","bne;":"=⃥","bot;":"⊥","Cap;":"⋒","cap;":"∩",cent:"¢","Cfr;":"ℭ","cfr;":"𝔠","Chi;":"Χ","chi;":"χ","cir;":"○",COPY:"©",copy:"©","Cup;":"⋓","cup;":"∪","Dcy;":"Д","dcy;":"д","deg;":"°","Del;":"∇","Dfr;":"𝔇","dfr;":"𝔡","die;":"¨","div;":"÷","Dot;":"¨","dot;":"˙","Ecy;":"Э","ecy;":"э","Efr;":"𝔈","efr;":"𝔢","egs;":"⪖","ell;":"ℓ","els;":"⪕","ENG;":"Ŋ","eng;":"ŋ","Eta;":"Η","eta;":"η","ETH;":"Ð","eth;":"ð",Euml:"Ë",euml:"ë","Fcy;":"Ф","fcy;":"ф","Ffr;":"𝔉","ffr;":"𝔣","gap;":"⪆","Gcy;":"Г","gcy;":"г","gEl;":"⪌","gel;":"⋛","geq;":"≥","ges;":"⩾","Gfr;":"𝔊","gfr;":"𝔤","ggg;":"⋙","gla;":"⪥","glE;":"⪒","glj;":"⪤","gnE;":"≩","gne;":"⪈","Hat;":"^","Hfr;":"ℌ","hfr;":"𝔥","Icy;":"И","icy;":"и","iff;":"⇔","Ifr;":"ℑ","ifr;":"𝔦","Int;":"∬","int;":"∫",Iuml:"Ï",iuml:"ï","Jcy;":"Й","jcy;":"й","Jfr;":"𝔍","jfr;":"𝔧","Kcy;":"К","kcy;":"к","Kfr;":"𝔎","kfr;":"𝔨","lap;":"⪅","lat;":"⪫","Lcy;":"Л","lcy;":"л","lEg;":"⪋","leg;":"⋚","leq;":"≤","les;":"⩽","Lfr;":"𝔏","lfr;":"𝔩","lgE;":"⪑","lnE;":"≨","lne;":"⪇","loz;":"◊","lrm;":"‎","Lsh;":"↰","lsh;":"↰",macr:"¯","Map;":"⤅","map;":"↦","Mcy;":"М","mcy;":"м","Mfr;":"𝔐","mfr;":"𝔪","mho;":"℧","mid;":"∣","nap;":"≉",nbsp:" ","Ncy;":"Н","ncy;":"н","Nfr;":"𝔑","nfr;":"𝔫","ngE;":"≧̸","nge;":"≱","nGg;":"⋙̸","nGt;":"≫⃒","ngt;":"≯","nis;":"⋼","niv;":"∋","nlE;":"≦̸","nle;":"≰","nLl;":"⋘̸","nLt;":"≪⃒","nlt;":"≮","Not;":"⫬","not;":"¬","npr;":"⊀","nsc;":"⊁","num;":"#","Ocy;":"О","ocy;":"о","Ofr;":"𝔒","ofr;":"𝔬","ogt;":"⧁","ohm;":"Ω","olt;":"⧀","ord;":"⩝",ordf:"ª",ordm:"º","orv;":"⩛",Ouml:"Ö",ouml:"ö","par;":"∥",para:"¶","Pcy;":"П","pcy;":"п","Pfr;":"𝔓","pfr;":"𝔭","Phi;":"Φ","phi;":"φ","piv;":"ϖ","prE;":"⪳","pre;":"⪯","Psi;":"Ψ","psi;":"ψ","Qfr;":"𝔔","qfr;":"𝔮",QUOT:'"',quot:'"',"Rcy;":"Р","rcy;":"р","REG;":"®","reg;":"®","Rfr;":"ℜ","rfr;":"𝔯","Rho;":"Ρ","rho;":"ρ","rlm;":"‏","Rsh;":"↱","rsh;":"↱","scE;":"⪴","sce;":"⪰","Scy;":"С","scy;":"с",sect:"§","Sfr;":"𝔖","sfr;":"𝔰","shy;":"­","sim;":"∼","smt;":"⪪","sol;":"/","squ;":"□","Sub;":"⋐","sub;":"⊂","Sum;":"∑","sum;":"∑","Sup;":"⋑","sup;":"⊃",sup1:"¹",sup2:"²",sup3:"³","Tab;":" ","Tau;":"Τ","tau;":"τ","Tcy;":"Т","tcy;":"т","Tfr;":"𝔗","tfr;":"𝔱","top;":"⊤","Ucy;":"У","ucy;":"у","Ufr;":"𝔘","ufr;":"𝔲","uml;":"¨",Uuml:"Ü",uuml:"ü","Vcy;":"В","vcy;":"в","Vee;":"⋁","vee;":"∨","Vfr;":"𝔙","vfr;":"𝔳","Wfr;":"𝔚","wfr;":"𝔴","Xfr;":"𝔛","xfr;":"𝔵","Ycy;":"Ы","ycy;":"ы","yen;":"¥","Yfr;":"𝔜","yfr;":"𝔶",yuml:"ÿ","Zcy;":"З","zcy;":"з","Zfr;":"ℨ","zfr;":"𝔷","zwj;":"‍",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ","andd;":"⩜","andv;":"⩚","ange;":"⦤","Aopf;":"𝔸","aopf;":"𝕒","apid;":"≋","apos;":"'",Aring:"Å",aring:"å","Ascr;":"𝒜","ascr;":"𝒶","Auml;":"Ä","auml;":"ä","Barv;":"⫧","bbrk;":"⎵","Beta;":"Β","beta;":"β","beth;":"ℶ","bNot;":"⫭","bnot;":"⌐","Bopf;":"𝔹","bopf;":"𝕓","boxH;":"═","boxh;":"─","boxV;":"║","boxv;":"│","Bscr;":"ℬ","bscr;":"𝒷","bsim;":"∽","bsol;":"\\","bull;":"•","bump;":"≎","caps;":"∩︀","Cdot;":"Ċ","cdot;":"ċ",cedil:"¸","cent;":"¢","CHcy;":"Ч","chcy;":"ч","circ;":"ˆ","cirE;":"⧃","cire;":"≗","comp;":"∁","cong;":"≅","Copf;":"ℂ","copf;":"𝕔","COPY;":"©","copy;":"©","Cscr;":"𝒞","cscr;":"𝒸","csub;":"⫏","csup;":"⫐","cups;":"∪︀","Darr;":"↡","dArr;":"⇓","darr;":"↓","dash;":"‐","dHar;":"⥥","diam;":"⋄","DJcy;":"Ђ","djcy;":"ђ","Dopf;":"𝔻","dopf;":"𝕕","Dscr;":"𝒟","dscr;":"𝒹","DScy;":"Ѕ","dscy;":"ѕ","dsol;":"⧶","dtri;":"▿","DZcy;":"Џ","dzcy;":"џ","ecir;":"≖",Ecirc:"Ê",ecirc:"ê","Edot;":"Ė","eDot;":"≑","edot;":"ė","emsp;":" ","ensp;":" ","Eopf;":"𝔼","eopf;":"𝕖","epar;":"⋕","epsi;":"ε","Escr;":"ℰ","escr;":"ℯ","Esim;":"⩳","esim;":"≂","Euml;":"Ë","euml;":"ë","euro;":"€","excl;":"!","flat;":"♭","fnof;":"ƒ","Fopf;":"𝔽","fopf;":"𝕗","fork;":"⋔","Fscr;":"ℱ","fscr;":"𝒻","Gdot;":"Ġ","gdot;":"ġ","geqq;":"≧","gesl;":"⋛︀","GJcy;":"Ѓ","gjcy;":"ѓ","gnap;":"⪊","gneq;":"⪈","Gopf;":"𝔾","gopf;":"𝕘","Gscr;":"𝒢","gscr;":"ℊ","gsim;":"≳","gtcc;":"⪧","gvnE;":"≩︀","half;":"½","hArr;":"⇔","harr;":"↔","hbar;":"ℏ","Hopf;":"ℍ","hopf;":"𝕙","Hscr;":"ℋ","hscr;":"𝒽",Icirc:"Î",icirc:"î","Idot;":"İ","IEcy;":"Е","iecy;":"е",iexcl:"¡","imof;":"⊷","IOcy;":"Ё","iocy;":"ё","Iopf;":"𝕀","iopf;":"𝕚","Iota;":"Ι","iota;":"ι","Iscr;":"ℐ","iscr;":"𝒾","isin;":"∈","Iuml;":"Ï","iuml;":"ï","Jopf;":"𝕁","jopf;":"𝕛","Jscr;":"𝒥","jscr;":"𝒿","KHcy;":"Х","khcy;":"х","KJcy;":"Ќ","kjcy;":"ќ","Kopf;":"𝕂","kopf;":"𝕜","Kscr;":"𝒦","kscr;":"𝓀","Lang;":"⟪","lang;":"⟨",laquo:"«","Larr;":"↞","lArr;":"⇐","larr;":"←","late;":"⪭","lcub;":"{","ldca;":"⤶","ldsh;":"↲","leqq;":"≦","lesg;":"⋚︀","lHar;":"⥢","LJcy;":"Љ","ljcy;":"љ","lnap;":"⪉","lneq;":"⪇","Lopf;":"𝕃","lopf;":"𝕝","lozf;":"⧫","lpar;":"(","Lscr;":"ℒ","lscr;":"𝓁","lsim;":"≲","lsqb;":"[","ltcc;":"⪦","ltri;":"◃","lvnE;":"≨︀","macr;":"¯","male;":"♂","malt;":"✠",micro:"µ","mlcp;":"⫛","mldr;":"…","Mopf;":"𝕄","mopf;":"𝕞","Mscr;":"ℳ","mscr;":"𝓂","nang;":"∠⃒","napE;":"⩰̸","nbsp;":" ","ncap;":"⩃","ncup;":"⩂","ngeq;":"≱","nges;":"⩾̸","ngtr;":"≯","nGtv;":"≫̸","nisd;":"⋺","NJcy;":"Њ","njcy;":"њ","nldr;":"‥","nleq;":"≰","nles;":"⩽̸","nLtv;":"≪̸","nmid;":"∤","Nopf;":"ℕ","nopf;":"𝕟","npar;":"∦","npre;":"⪯̸","nsce;":"⪰̸","Nscr;":"𝒩","nscr;":"𝓃","nsim;":"≁","nsub;":"⊄","nsup;":"⊅","ntgl;":"≹","ntlg;":"≸","nvap;":"≍⃒","nvge;":"≥⃒","nvgt;":">⃒","nvle;":"≤⃒","nvlt;":"<⃒","oast;":"⊛","ocir;":"⊚",Ocirc:"Ô",ocirc:"ô","odiv;":"⨸","odot;":"⊙","ogon;":"˛","oint;":"∮","omid;":"⦶","Oopf;":"𝕆","oopf;":"𝕠","opar;":"⦷","ordf;":"ª","ordm;":"º","oror;":"⩖","Oscr;":"𝒪","oscr;":"ℴ","osol;":"⊘","Ouml;":"Ö","ouml;":"ö","para;":"¶","part;":"∂","perp;":"⊥","phiv;":"ϕ","plus;":"+","Popf;":"ℙ","popf;":"𝕡",pound:"£","prap;":"⪷","prec;":"≺","prnE;":"⪵","prod;":"∏","prop;":"∝","Pscr;":"𝒫","pscr;":"𝓅","qint;":"⨌","Qopf;":"ℚ","qopf;":"𝕢","Qscr;":"𝒬","qscr;":"𝓆","QUOT;":'"',"quot;":'"',"race;":"∽̱","Rang;":"⟫","rang;":"⟩",raquo:"»","Rarr;":"↠","rArr;":"⇒","rarr;":"→","rcub;":"}","rdca;":"⤷","rdsh;":"↳","real;":"ℜ","rect;":"▭","rHar;":"⥤","rhov;":"ϱ","ring;":"˚","Ropf;":"ℝ","ropf;":"𝕣","rpar;":")","Rscr;":"ℛ","rscr;":"𝓇","rsqb;":"]","rtri;":"▹","scap;":"⪸","scnE;":"⪶","sdot;":"⋅","sect;":"§","semi;":";","sext;":"✶","SHcy;":"Ш","shcy;":"ш","sime;":"≃","simg;":"⪞","siml;":"⪝","smid;":"∣","smte;":"⪬","solb;":"⧄","Sopf;":"𝕊","sopf;":"𝕤","spar;":"∥","Sqrt;":"√","squf;":"▪","Sscr;":"𝒮","sscr;":"𝓈","Star;":"⋆","star;":"☆","subE;":"⫅","sube;":"⊆","succ;":"≻","sung;":"♪","sup1;":"¹","sup2;":"²","sup3;":"³","supE;":"⫆","supe;":"⊇",szlig:"ß","tbrk;":"⎴","tdot;":"⃛",THORN:"Þ",thorn:"þ",times:"×","tint;":"∭","toea;":"⤨","Topf;":"𝕋","topf;":"𝕥","tosa;":"⤩","trie;":"≜","Tscr;":"𝒯","tscr;":"𝓉","TScy;":"Ц","tscy;":"ц","Uarr;":"↟","uArr;":"⇑","uarr;":"↑",Ucirc:"Û",ucirc:"û","uHar;":"⥣","Uopf;":"𝕌","uopf;":"𝕦","Upsi;":"ϒ","upsi;":"υ","Uscr;":"𝒰","uscr;":"𝓊","utri;":"▵","Uuml;":"Ü","uuml;":"ü","vArr;":"⇕","varr;":"↕","Vbar;":"⫫","vBar;":"⫨","Vert;":"‖","vert;":"|","Vopf;":"𝕍","vopf;":"𝕧","Vscr;":"𝒱","vscr;":"𝓋","Wopf;":"𝕎","wopf;":"𝕨","Wscr;":"𝒲","wscr;":"𝓌","xcap;":"⋂","xcup;":"⋃","xmap;":"⟼","xnis;":"⋻","Xopf;":"𝕏","xopf;":"𝕩","Xscr;":"𝒳","xscr;":"𝓍","xvee;":"⋁","YAcy;":"Я","yacy;":"я","YIcy;":"Ї","yicy;":"ї","Yopf;":"𝕐","yopf;":"𝕪","Yscr;":"𝒴","yscr;":"𝓎","YUcy;":"Ю","yucy;":"ю","Yuml;":"Ÿ","yuml;":"ÿ","Zdot;":"Ż","zdot;":"ż","Zeta;":"Ζ","zeta;":"ζ","ZHcy;":"Ж","zhcy;":"ж","Zopf;":"ℤ","zopf;":"𝕫","Zscr;":"𝒵","zscr;":"𝓏","zwnj;":"‌",Aacute:"Á",aacute:"á","Acirc;":"Â","acirc;":"â","acute;":"´","AElig;":"Æ","aelig;":"æ",Agrave:"À",agrave:"à","aleph;":"ℵ","Alpha;":"Α","alpha;":"α","Amacr;":"Ā","amacr;":"ā","amalg;":"⨿","angle;":"∠","angrt;":"∟","angst;":"Å","Aogon;":"Ą","aogon;":"ą","Aring;":"Å","aring;":"å","asymp;":"≈",Atilde:"Ã",atilde:"ã","awint;":"⨑","bcong;":"≌","bdquo;":"„","bepsi;":"϶","blank;":"␣","blk12;":"▒","blk14;":"░","blk34;":"▓","block;":"█","boxDL;":"╗","boxDl;":"╖","boxdL;":"╕","boxdl;":"┐","boxDR;":"╔","boxDr;":"╓","boxdR;":"╒","boxdr;":"┌","boxHD;":"╦","boxHd;":"╤","boxhD;":"╥","boxhd;":"┬","boxHU;":"╩","boxHu;":"╧","boxhU;":"╨","boxhu;":"┴","boxUL;":"╝","boxUl;":"╜","boxuL;":"╛","boxul;":"┘","boxUR;":"╚","boxUr;":"╙","boxuR;":"╘","boxur;":"└","boxVH;":"╬","boxVh;":"╫","boxvH;":"╪","boxvh;":"┼","boxVL;":"╣","boxVl;":"╢","boxvL;":"╡","boxvl;":"┤","boxVR;":"╠","boxVr;":"╟","boxvR;":"╞","boxvr;":"├","Breve;":"˘","breve;":"˘",brvbar:"¦","bsemi;":"⁏","bsime;":"⋍","bsolb;":"⧅","bumpE;":"⪮","bumpe;":"≏","caret;":"⁁","caron;":"ˇ","ccaps;":"⩍",Ccedil:"Ç",ccedil:"ç","Ccirc;":"Ĉ","ccirc;":"ĉ","ccups;":"⩌","cedil;":"¸","check;":"✓","clubs;":"♣","Colon;":"∷","colon;":":","comma;":",","crarr;":"↵","Cross;":"⨯","cross;":"✗","csube;":"⫑","csupe;":"⫒","ctdot;":"⋯","cuepr;":"⋞","cuesc;":"⋟","cupor;":"⩅",curren:"¤","cuvee;":"⋎","cuwed;":"⋏","cwint;":"∱","Dashv;":"⫤","dashv;":"⊣","dblac;":"˝","ddarr;":"⇊","Delta;":"Δ","delta;":"δ","dharl;":"⇃","dharr;":"⇂","diams;":"♦","disin;":"⋲",divide:"÷","doteq;":"≐","dtdot;":"⋱","dtrif;":"▾","duarr;":"⇵","duhar;":"⥯",Eacute:"É",eacute:"é","Ecirc;":"Ê","ecirc;":"ê","eDDot;":"⩷","efDot;":"≒",Egrave:"È",egrave:"è","Emacr;":"Ē","emacr;":"ē","empty;":"∅","Eogon;":"Ę","eogon;":"ę","eplus;":"⩱","epsiv;":"ϵ","eqsim;":"≂","Equal;":"⩵","equiv;":"≡","erarr;":"⥱","erDot;":"≓","esdot;":"≐","exist;":"∃","fflig;":"ff","filig;":"fi","fjlig;":"fj","fllig;":"fl","fltns;":"▱","forkv;":"⫙",frac12:"½",frac14:"¼",frac34:"¾","frasl;":"⁄","frown;":"⌢","Gamma;":"Γ","gamma;":"γ","Gcirc;":"Ĝ","gcirc;":"ĝ","gescc;":"⪩","gimel;":"ℷ","gneqq;":"≩","gnsim;":"⋧","grave;":"`","gsime;":"⪎","gsiml;":"⪐","gtcir;":"⩺","gtdot;":"⋗","Hacek;":"ˇ","harrw;":"↭","Hcirc;":"Ĥ","hcirc;":"ĥ","hoarr;":"⇿",Iacute:"Í",iacute:"í","Icirc;":"Î","icirc;":"î","iexcl;":"¡",Igrave:"Ì",igrave:"ì","iiint;":"∭","iiota;":"℩","IJlig;":"IJ","ijlig;":"ij","Imacr;":"Ī","imacr;":"ī","image;":"ℑ","imath;":"ı","imped;":"Ƶ","infin;":"∞","Iogon;":"Į","iogon;":"į","iprod;":"⨼",iquest:"¿","isinE;":"⋹","isins;":"⋴","isinv;":"∈","Iukcy;":"І","iukcy;":"і","Jcirc;":"Ĵ","jcirc;":"ĵ","jmath;":"ȷ","Jukcy;":"Є","jukcy;":"є","Kappa;":"Κ","kappa;":"κ","lAarr;":"⇚","langd;":"⦑","laquo;":"«","larrb;":"⇤","lates;":"⪭︀","lBarr;":"⤎","lbarr;":"⤌","lbbrk;":"❲","lbrke;":"⦋","lceil;":"⌈","ldquo;":"“","lescc;":"⪨","lhard;":"↽","lharu;":"↼","lhblk;":"▄","llarr;":"⇇","lltri;":"◺","lneqq;":"≨","lnsim;":"⋦","loang;":"⟬","loarr;":"⇽","lobrk;":"⟦","lopar;":"⦅","lrarr;":"⇆","lrhar;":"⇋","lrtri;":"⊿","lsime;":"⪍","lsimg;":"⪏","lsquo;":"‘","ltcir;":"⩹","ltdot;":"⋖","ltrie;":"⊴","ltrif;":"◂","mdash;":"—","mDDot;":"∺","micro;":"µ",middot:"·","minus;":"−","mumap;":"⊸","nabla;":"∇","napid;":"≋̸","napos;":"ʼn","natur;":"♮","nbump;":"≎̸","ncong;":"≇","ndash;":"–","neArr;":"⇗","nearr;":"↗","nedot;":"≐̸","nesim;":"≂̸","ngeqq;":"≧̸","ngsim;":"≵","nhArr;":"⇎","nharr;":"↮","nhpar;":"⫲","nlArr;":"⇍","nlarr;":"↚","nleqq;":"≦̸","nless;":"≮","nlsim;":"≴","nltri;":"⋪","notin;":"∉","notni;":"∌","npart;":"∂̸","nprec;":"⊀","nrArr;":"⇏","nrarr;":"↛","nrtri;":"⋫","nsime;":"≄","nsmid;":"∤","nspar;":"∦","nsubE;":"⫅̸","nsube;":"⊈","nsucc;":"⊁","nsupE;":"⫆̸","nsupe;":"⊉",Ntilde:"Ñ",ntilde:"ñ","numsp;":" ","nvsim;":"∼⃒","nwArr;":"⇖","nwarr;":"↖",Oacute:"Ó",oacute:"ó","Ocirc;":"Ô","ocirc;":"ô","odash;":"⊝","OElig;":"Œ","oelig;":"œ","ofcir;":"⦿",Ograve:"Ò",ograve:"ò","ohbar;":"⦵","olarr;":"↺","olcir;":"⦾","oline;":"‾","Omacr;":"Ō","omacr;":"ō","Omega;":"Ω","omega;":"ω","operp;":"⦹","oplus;":"⊕","orarr;":"↻","order;":"ℴ",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ","ovbar;":"⌽","parsl;":"⫽","phone;":"☎","plusb;":"⊞","pluse;":"⩲",plusmn:"±","pound;":"£","prcue;":"≼","Prime;":"″","prime;":"′","prnap;":"⪹","prsim;":"≾","quest;":"?","rAarr;":"⇛","radic;":"√","rangd;":"⦒","range;":"⦥","raquo;":"»","rarrb;":"⇥","rarrc;":"⤳","rarrw;":"↝","ratio;":"∶","RBarr;":"⤐","rBarr;":"⤏","rbarr;":"⤍","rbbrk;":"❳","rbrke;":"⦌","rceil;":"⌉","rdquo;":"”","reals;":"ℝ","rhard;":"⇁","rharu;":"⇀","rlarr;":"⇄","rlhar;":"⇌","rnmid;":"⫮","roang;":"⟭","roarr;":"⇾","robrk;":"⟧","ropar;":"⦆","rrarr;":"⇉","rsquo;":"’","rtrie;":"⊵","rtrif;":"▸","sbquo;":"‚","sccue;":"≽","Scirc;":"Ŝ","scirc;":"ŝ","scnap;":"⪺","scsim;":"≿","sdotb;":"⊡","sdote;":"⩦","seArr;":"⇘","searr;":"↘","setmn;":"∖","sharp;":"♯","Sigma;":"Σ","sigma;":"σ","simeq;":"≃","simgE;":"⪠","simlE;":"⪟","simne;":"≆","slarr;":"←","smile;":"⌣","smtes;":"⪬︀","sqcap;":"⊓","sqcup;":"⊔","sqsub;":"⊏","sqsup;":"⊐","srarr;":"→","starf;":"★","strns;":"¯","subnE;":"⫋","subne;":"⊊","supnE;":"⫌","supne;":"⊋","swArr;":"⇙","swarr;":"↙","szlig;":"ß","Theta;":"Θ","theta;":"θ","thkap;":"≈","THORN;":"Þ","thorn;":"þ","Tilde;":"∼","tilde;":"˜","times;":"×","TRADE;":"™","trade;":"™","trisb;":"⧍","TSHcy;":"Ћ","tshcy;":"ћ","twixt;":"≬",Uacute:"Ú",uacute:"ú","Ubrcy;":"Ў","ubrcy;":"ў","Ucirc;":"Û","ucirc;":"û","udarr;":"⇅","udhar;":"⥮",Ugrave:"Ù",ugrave:"ù","uharl;":"↿","uharr;":"↾","uhblk;":"▀","ultri;":"◸","Umacr;":"Ū","umacr;":"ū","Union;":"⋃","Uogon;":"Ų","uogon;":"ų","uplus;":"⊎","upsih;":"ϒ","UpTee;":"⊥","Uring;":"Ů","uring;":"ů","urtri;":"◹","utdot;":"⋰","utrif;":"▴","uuarr;":"⇈","varpi;":"ϖ","vBarv;":"⫩","VDash;":"⊫","Vdash;":"⊩","vDash;":"⊨","vdash;":"⊢","veeeq;":"≚","vltri;":"⊲","vnsub;":"⊂⃒","vnsup;":"⊃⃒","vprop;":"∝","vrtri;":"⊳","Wcirc;":"Ŵ","wcirc;":"ŵ","Wedge;":"⋀","wedge;":"∧","xcirc;":"◯","xdtri;":"▽","xhArr;":"⟺","xharr;":"⟷","xlArr;":"⟸","xlarr;":"⟵","xodot;":"⨀","xrArr;":"⟹","xrarr;":"⟶","xutri;":"△",Yacute:"Ý",yacute:"ý","Ycirc;":"Ŷ","ycirc;":"ŷ","Aacute;":"Á","aacute;":"á","Abreve;":"Ă","abreve;":"ă","Agrave;":"À","agrave;":"à","andand;":"⩕","angmsd;":"∡","angsph;":"∢","apacir;":"⩯","approx;":"≈","Assign;":"≔","Atilde;":"Ã","atilde;":"ã","barvee;":"⊽","Barwed;":"⌆","barwed;":"⌅","becaus;":"∵","bernou;":"ℬ","bigcap;":"⋂","bigcup;":"⋃","bigvee;":"⋁","bkarow;":"⤍","bottom;":"⊥","bowtie;":"⋈","boxbox;":"⧉","bprime;":"‵","brvbar;":"¦","bullet;":"•","Bumpeq;":"≎","bumpeq;":"≏","Cacute;":"Ć","cacute;":"ć","capand;":"⩄","capcap;":"⩋","capcup;":"⩇","capdot;":"⩀","Ccaron;":"Č","ccaron;":"č","Ccedil;":"Ç","ccedil;":"ç","circeq;":"≗","cirmid;":"⫯","Colone;":"⩴","colone;":"≔","commat;":"@","compfn;":"∘","Conint;":"∯","conint;":"∮","coprod;":"∐","copysr;":"℗","cularr;":"↶","CupCap;":"≍","cupcap;":"⩆","cupcup;":"⩊","cupdot;":"⊍","curarr;":"↷","curren;":"¤","cylcty;":"⌭","Dagger;":"‡","dagger;":"†","daleth;":"ℸ","Dcaron;":"Ď","dcaron;":"ď","dfisht;":"⥿","divide;":"÷","divonx;":"⋇","dlcorn;":"⌞","dlcrop;":"⌍","dollar;":"$","DotDot;":"⃜","drcorn;":"⌟","drcrop;":"⌌","Dstrok;":"Đ","dstrok;":"đ","Eacute;":"É","eacute;":"é","easter;":"⩮","Ecaron;":"Ě","ecaron;":"ě","ecolon;":"≕","Egrave;":"È","egrave;":"è","egsdot;":"⪘","elsdot;":"⪗","emptyv;":"∅","emsp13;":" ","emsp14;":" ","eparsl;":"⧣","eqcirc;":"≖","equals;":"=","equest;":"≟","Exists;":"∃","female;":"♀","ffilig;":"ffi","ffllig;":"ffl","ForAll;":"∀","forall;":"∀","frac12;":"½","frac13;":"⅓","frac14;":"¼","frac15;":"⅕","frac16;":"⅙","frac18;":"⅛","frac23;":"⅔","frac25;":"⅖","frac34;":"¾","frac35;":"⅗","frac38;":"⅜","frac45;":"⅘","frac56;":"⅚","frac58;":"⅝","frac78;":"⅞","gacute;":"ǵ","Gammad;":"Ϝ","gammad;":"ϝ","Gbreve;":"Ğ","gbreve;":"ğ","Gcedil;":"Ģ","gesdot;":"⪀","gesles;":"⪔","gtlPar;":"⦕","gtrarr;":"⥸","gtrdot;":"⋗","gtrsim;":"≳","hairsp;":" ","hamilt;":"ℋ","HARDcy;":"Ъ","hardcy;":"ъ","hearts;":"♥","hellip;":"…","hercon;":"⊹","homtht;":"∻","horbar;":"―","hslash;":"ℏ","Hstrok;":"Ħ","hstrok;":"ħ","hybull;":"⁃","hyphen;":"‐","Iacute;":"Í","iacute;":"í","Igrave;":"Ì","igrave;":"ì","iiiint;":"⨌","iinfin;":"⧜","incare;":"℅","inodot;":"ı","intcal;":"⊺","iquest;":"¿","isinsv;":"⋳","Itilde;":"Ĩ","itilde;":"ĩ","Jsercy;":"Ј","jsercy;":"ј","kappav;":"ϰ","Kcedil;":"Ķ","kcedil;":"ķ","kgreen;":"ĸ","Lacute;":"Ĺ","lacute;":"ĺ","lagran;":"ℒ","Lambda;":"Λ","lambda;":"λ","langle;":"⟨","larrfs;":"⤝","larrhk;":"↩","larrlp;":"↫","larrpl;":"⤹","larrtl;":"↢","lAtail;":"⤛","latail;":"⤙","lbrace;":"{","lbrack;":"[","Lcaron;":"Ľ","lcaron;":"ľ","Lcedil;":"Ļ","lcedil;":"ļ","ldquor;":"„","lesdot;":"⩿","lesges;":"⪓","lfisht;":"⥼","lfloor;":"⌊","lharul;":"⥪","llhard;":"⥫","Lmidot;":"Ŀ","lmidot;":"ŀ","lmoust;":"⎰","loplus;":"⨭","lowast;":"∗","lowbar;":"_","lparlt;":"⦓","lrhard;":"⥭","lsaquo;":"‹","lsquor;":"‚","Lstrok;":"Ł","lstrok;":"ł","lthree;":"⋋","ltimes;":"⋉","ltlarr;":"⥶","ltrPar;":"⦖","mapsto;":"↦","marker;":"▮","mcomma;":"⨩","midast;":"*","midcir;":"⫰","middot;":"·","minusb;":"⊟","minusd;":"∸","mnplus;":"∓","models;":"⊧","mstpos;":"∾","Nacute;":"Ń","nacute;":"ń","nbumpe;":"≏̸","Ncaron;":"Ň","ncaron;":"ň","Ncedil;":"Ņ","ncedil;":"ņ","nearhk;":"⤤","nequiv;":"≢","nesear;":"⤨","nexist;":"∄","nltrie;":"⋬","notinE;":"⋹̸","nparsl;":"⫽⃥","nprcue;":"⋠","nrarrc;":"⤳̸","nrarrw;":"↝̸","nrtrie;":"⋭","nsccue;":"⋡","nsimeq;":"≄","Ntilde;":"Ñ","ntilde;":"ñ","numero;":"№","nVDash;":"⊯","nVdash;":"⊮","nvDash;":"⊭","nvdash;":"⊬","nvHarr;":"⤄","nvlArr;":"⤂","nvrArr;":"⤃","nwarhk;":"⤣","nwnear;":"⤧","Oacute;":"Ó","oacute;":"ó","Odblac;":"Ő","odblac;":"ő","odsold;":"⦼","Ograve;":"Ò","ograve;":"ò","ominus;":"⊖","origof;":"⊶","Oslash;":"Ø","oslash;":"ø","Otilde;":"Õ","otilde;":"õ","Otimes;":"⨷","otimes;":"⊗","parsim;":"⫳","percnt;":"%","period;":".","permil;":"‰","phmmat;":"ℳ","planck;":"ℏ","plankv;":"ℏ","plusdo;":"∔","plusdu;":"⨥","plusmn;":"±","preceq;":"⪯","primes;":"ℙ","prnsim;":"⋨","propto;":"∝","prurel;":"⊰","puncsp;":" ","qprime;":"⁗","Racute;":"Ŕ","racute;":"ŕ","rangle;":"⟩","rarrap;":"⥵","rarrfs;":"⤞","rarrhk;":"↪","rarrlp;":"↬","rarrpl;":"⥅","Rarrtl;":"⤖","rarrtl;":"↣","rAtail;":"⤜","ratail;":"⤚","rbrace;":"}","rbrack;":"]","Rcaron;":"Ř","rcaron;":"ř","Rcedil;":"Ŗ","rcedil;":"ŗ","rdquor;":"”","rfisht;":"⥽","rfloor;":"⌋","rharul;":"⥬","rmoust;":"⎱","roplus;":"⨮","rpargt;":"⦔","rsaquo;":"›","rsquor;":"’","rthree;":"⋌","rtimes;":"⋊","Sacute;":"Ś","sacute;":"ś","Scaron;":"Š","scaron;":"š","Scedil;":"Ş","scedil;":"ş","scnsim;":"⋩","searhk;":"⤥","seswar;":"⤩","sfrown;":"⌢","SHCHcy;":"Щ","shchcy;":"щ","sigmaf;":"ς","sigmav;":"ς","simdot;":"⩪","smashp;":"⨳","SOFTcy;":"Ь","softcy;":"ь","solbar;":"⌿","spades;":"♠","sqcaps;":"⊓︀","sqcups;":"⊔︀","sqsube;":"⊑","sqsupe;":"⊒","Square;":"□","square;":"□","squarf;":"▪","ssetmn;":"∖","ssmile;":"⌣","sstarf;":"⋆","subdot;":"⪽","Subset;":"⋐","subset;":"⊂","subsim;":"⫇","subsub;":"⫕","subsup;":"⫓","succeq;":"⪰","supdot;":"⪾","Supset;":"⋑","supset;":"⊃","supsim;":"⫈","supsub;":"⫔","supsup;":"⫖","swarhk;":"⤦","swnwar;":"⤪","target;":"⌖","Tcaron;":"Ť","tcaron;":"ť","Tcedil;":"Ţ","tcedil;":"ţ","telrec;":"⌕","there4;":"∴","thetav;":"ϑ","thinsp;":" ","thksim;":"∼","timesb;":"⊠","timesd;":"⨰","topbot;":"⌶","topcir;":"⫱","tprime;":"‴","tridot;":"◬","Tstrok;":"Ŧ","tstrok;":"ŧ","Uacute;":"Ú","uacute;":"ú","Ubreve;":"Ŭ","ubreve;":"ŭ","Udblac;":"Ű","udblac;":"ű","ufisht;":"⥾","Ugrave;":"Ù","ugrave;":"ù","ulcorn;":"⌜","ulcrop;":"⌏","urcorn;":"⌝","urcrop;":"⌎","Utilde;":"Ũ","utilde;":"ũ","vangrt;":"⦜","varphi;":"ϕ","varrho;":"ϱ","Vdashl;":"⫦","veebar;":"⊻","vellip;":"⋮","Verbar;":"‖","verbar;":"|","vsubnE;":"⫋︀","vsubne;":"⊊︀","vsupnE;":"⫌︀","vsupne;":"⊋︀","Vvdash;":"⊪","wedbar;":"⩟","wedgeq;":"≙","weierp;":"℘","wreath;":"≀","xoplus;":"⨁","xotime;":"⨂","xsqcup;":"⨆","xuplus;":"⨄","xwedge;":"⋀","Yacute;":"Ý","yacute;":"ý","Zacute;":"Ź","zacute;":"ź","Zcaron;":"Ž","zcaron;":"ž","zeetrf;":"ℨ","alefsym;":"ℵ","angrtvb;":"⊾","angzarr;":"⍼","asympeq;":"≍","backsim;":"∽","Because;":"∵","because;":"∵","bemptyv;":"⦰","between;":"≬","bigcirc;":"◯","bigodot;":"⨀","bigstar;":"★","bnequiv;":"≡⃥","boxplus;":"⊞","Cayleys;":"ℭ","Cconint;":"∰","ccupssm;":"⩐","Cedilla;":"¸","cemptyv;":"⦲","cirscir;":"⧂","coloneq;":"≔","congdot;":"⩭","cudarrl;":"⤸","cudarrr;":"⤵","cularrp;":"⤽","curarrm;":"⤼","dbkarow;":"⤏","ddagger;":"‡","ddotseq;":"⩷","demptyv;":"⦱","Diamond;":"⋄","diamond;":"⋄","digamma;":"ϝ","dotplus;":"∔","DownTee;":"⊤","dwangle;":"⦦","Element;":"∈","Epsilon;":"Ε","epsilon;":"ε","eqcolon;":"≕","equivDD;":"⩸","gesdoto;":"⪂","gtquest;":"⩼","gtrless;":"≷","harrcir;":"⥈","Implies;":"⇒","intprod;":"⨼","isindot;":"⋵","larrbfs;":"⤟","larrsim;":"⥳","lbrksld;":"⦏","lbrkslu;":"⦍","ldrdhar;":"⥧","LeftTee;":"⊣","lesdoto;":"⪁","lessdot;":"⋖","lessgtr;":"≶","lesssim;":"≲","lotimes;":"⨴","lozenge;":"◊","ltquest;":"⩻","luruhar;":"⥦","maltese;":"✠","minusdu;":"⨪","napprox;":"≉","natural;":"♮","nearrow;":"↗","NewLine;":` +`,"nexists;":"∄","NoBreak;":"⁠","notinva;":"∉","notinvb;":"⋷","notinvc;":"⋶","NotLess;":"≮","notniva;":"∌","notnivb;":"⋾","notnivc;":"⋽","npolint;":"⨔","npreceq;":"⪯̸","nsqsube;":"⋢","nsqsupe;":"⋣","nsubset;":"⊂⃒","nsucceq;":"⪰̸","nsupset;":"⊃⃒","nvinfin;":"⧞","nvltrie;":"⊴⃒","nvrtrie;":"⊵⃒","nwarrow;":"↖","olcross;":"⦻","Omicron;":"Ο","omicron;":"ο","orderof;":"ℴ","orslope;":"⩗","OverBar;":"‾","pertenk;":"‱","planckh;":"ℎ","pluscir;":"⨢","plussim;":"⨦","plustwo;":"⨧","precsim;":"≾","Product;":"∏","quatint;":"⨖","questeq;":"≟","rarrbfs;":"⤠","rarrsim;":"⥴","rbrksld;":"⦎","rbrkslu;":"⦐","rdldhar;":"⥩","realine;":"ℛ","rotimes;":"⨵","ruluhar;":"⥨","searrow;":"↘","simplus;":"⨤","simrarr;":"⥲","subedot;":"⫃","submult;":"⫁","subplus;":"⪿","subrarr;":"⥹","succsim;":"≿","supdsub;":"⫘","supedot;":"⫄","suphsol;":"⟉","suphsub;":"⫗","suplarr;":"⥻","supmult;":"⫂","supplus;":"⫀","swarrow;":"↙","topfork;":"⫚","triplus;":"⨹","tritime;":"⨻","UpArrow;":"↑","Uparrow;":"⇑","uparrow;":"↑","Upsilon;":"Υ","upsilon;":"υ","uwangle;":"⦧","vzigzag;":"⦚","zigrarr;":"⇝","andslope;":"⩘","angmsdaa;":"⦨","angmsdab;":"⦩","angmsdac;":"⦪","angmsdad;":"⦫","angmsdae;":"⦬","angmsdaf;":"⦭","angmsdag;":"⦮","angmsdah;":"⦯","angrtvbd;":"⦝","approxeq;":"≊","awconint;":"∳","backcong;":"≌","barwedge;":"⌅","bbrktbrk;":"⎶","bigoplus;":"⨁","bigsqcup;":"⨆","biguplus;":"⨄","bigwedge;":"⋀","boxminus;":"⊟","boxtimes;":"⊠","bsolhsub;":"⟈","capbrcup;":"⩉","circledR;":"®","circledS;":"Ⓢ","cirfnint;":"⨐","clubsuit;":"♣","cupbrcap;":"⩈","curlyvee;":"⋎","cwconint;":"∲","DDotrahd;":"⤑","doteqdot;":"≑","DotEqual;":"≐","dotminus;":"∸","drbkarow;":"⤐","dzigrarr;":"⟿","elinters;":"⏧","emptyset;":"∅","eqvparsl;":"⧥","fpartint;":"⨍","geqslant;":"⩾","gesdotol;":"⪄","gnapprox;":"⪊","hksearow;":"⤥","hkswarow;":"⤦","imagline;":"ℐ","imagpart;":"ℑ","infintie;":"⧝","integers;":"ℤ","Integral;":"∫","intercal;":"⊺","intlarhk;":"⨗","laemptyv;":"⦴","ldrushar;":"⥋","leqslant;":"⩽","lesdotor;":"⪃","LessLess;":"⪡","llcorner;":"⌞","lnapprox;":"⪉","lrcorner;":"⌟","lurdshar;":"⥊","mapstoup;":"↥","multimap;":"⊸","naturals;":"ℕ","ncongdot;":"⩭̸","NotEqual;":"≠","notindot;":"⋵̸","NotTilde;":"≁","otimesas;":"⨶","parallel;":"∥","PartialD;":"∂","plusacir;":"⨣","pointint;":"⨕","Precedes;":"≺","precneqq;":"⪵","precnsim;":"⋨","profalar;":"⌮","profline;":"⌒","profsurf;":"⌓","raemptyv;":"⦳","realpart;":"ℜ","RightTee;":"⊢","rppolint;":"⨒","rtriltri;":"⧎","scpolint;":"⨓","setminus;":"∖","shortmid;":"∣","smeparsl;":"⧤","sqsubset;":"⊏","sqsupset;":"⊐","subseteq;":"⊆","Succeeds;":"≻","succneqq;":"⪶","succnsim;":"⋩","SuchThat;":"∋","Superset;":"⊃","supseteq;":"⊇","thetasym;":"ϑ","thicksim;":"∼","timesbar;":"⨱","triangle;":"▵","triminus;":"⨺","trpezium;":"⏢","Uarrocir;":"⥉","ulcorner;":"⌜","UnderBar;":"_","urcorner;":"⌝","varkappa;":"ϰ","varsigma;":"ς","vartheta;":"ϑ","backprime;":"‵","backsimeq;":"⋍","Backslash;":"∖","bigotimes;":"⨂","CenterDot;":"·","centerdot;":"·","checkmark;":"✓","CircleDot;":"⊙","complexes;":"ℂ","Congruent;":"≡","Coproduct;":"∐","dotsquare;":"⊡","DoubleDot;":"¨","DownArrow;":"↓","Downarrow;":"⇓","downarrow;":"↓","DownBreve;":"̑","gtrapprox;":"⪆","gtreqless;":"⋛","gvertneqq;":"≩︀","heartsuit;":"♥","HumpEqual;":"≏","LeftArrow;":"←","Leftarrow;":"⇐","leftarrow;":"←","LeftFloor;":"⌊","lesseqgtr;":"⋚","LessTilde;":"≲","lvertneqq;":"≨︀","Mellintrf;":"ℳ","MinusPlus;":"∓","ngeqslant;":"⩾̸","nleqslant;":"⩽̸","NotCupCap;":"≭","NotExists;":"∄","NotSubset;":"⊂⃒","nparallel;":"∦","nshortmid;":"∤","nsubseteq;":"⊈","nsupseteq;":"⊉","OverBrace;":"⏞","pitchfork;":"⋔","PlusMinus;":"±","rationals;":"ℚ","spadesuit;":"♠","subseteqq;":"⫅","subsetneq;":"⊊","supseteqq;":"⫆","supsetneq;":"⊋","Therefore;":"∴","therefore;":"∴","ThinSpace;":" ","triangleq;":"≜","TripleDot;":"⃛","UnionPlus;":"⊎","varpropto;":"∝","Bernoullis;":"ℬ","circledast;":"⊛","CirclePlus;":"⊕","complement;":"∁","curlywedge;":"⋏","eqslantgtr;":"⪖","EqualTilde;":"≂","Fouriertrf;":"ℱ","gtreqqless;":"⪌","ImaginaryI;":"ⅈ","Laplacetrf;":"ℒ","LeftVector;":"↼","lessapprox;":"⪅","lesseqqgtr;":"⪋","Lleftarrow;":"⇚","lmoustache;":"⎰","longmapsto;":"⟼","mapstodown;":"↧","mapstoleft;":"↤","nLeftarrow;":"⇍","nleftarrow;":"↚","NotElement;":"∉","NotGreater;":"≯","nsubseteqq;":"⫅̸","nsupseteqq;":"⫆̸","precapprox;":"⪷","Proportion;":"∷","RightArrow;":"→","Rightarrow;":"⇒","rightarrow;":"→","RightFloor;":"⌋","rmoustache;":"⎱","sqsubseteq;":"⊑","sqsupseteq;":"⊒","subsetneqq;":"⫋","succapprox;":"⪸","supsetneqq;":"⫌","ThickSpace;":"  ","TildeEqual;":"≃","TildeTilde;":"≈","UnderBrace;":"⏟","UpArrowBar;":"⤒","UpTeeArrow;":"↥","upuparrows;":"⇈","varepsilon;":"ϵ","varnothing;":"∅","backepsilon;":"϶","blacksquare;":"▪","circledcirc;":"⊚","circleddash;":"⊝","CircleMinus;":"⊖","CircleTimes;":"⊗","curlyeqprec;":"⋞","curlyeqsucc;":"⋟","diamondsuit;":"♦","eqslantless;":"⪕","Equilibrium;":"⇌","expectation;":"ℰ","GreaterLess;":"≷","LeftCeiling;":"⌈","LessGreater;":"≶","MediumSpace;":" ","NotLessLess;":"≪̸","NotPrecedes;":"⊀","NotSucceeds;":"⊁","NotSuperset;":"⊃⃒","nRightarrow;":"⇏","nrightarrow;":"↛","OverBracket;":"⎴","preccurlyeq;":"≼","precnapprox;":"⪹","quaternions;":"ℍ","RightVector;":"⇀","Rrightarrow;":"⇛","RuleDelayed;":"⧴","SmallCircle;":"∘","SquareUnion;":"⊔","straightphi;":"ϕ","SubsetEqual;":"⊆","succcurlyeq;":"≽","succnapprox;":"⪺","thickapprox;":"≈","UpDownArrow;":"↕","Updownarrow;":"⇕","updownarrow;":"↕","VerticalBar;":"∣","blacklozenge;":"⧫","DownArrowBar;":"⤓","DownTeeArrow;":"↧","ExponentialE;":"ⅇ","exponentiale;":"ⅇ","GreaterEqual;":"≥","GreaterTilde;":"≳","HilbertSpace;":"ℋ","HumpDownHump;":"≎","Intersection;":"⋂","LeftArrowBar;":"⇤","LeftTeeArrow;":"↤","LeftTriangle;":"⊲","LeftUpVector;":"↿","NotCongruent;":"≢","NotHumpEqual;":"≏̸","NotLessEqual;":"≰","NotLessTilde;":"≴","Proportional;":"∝","RightCeiling;":"⌉","risingdotseq;":"≓","RoundImplies;":"⥰","ShortUpArrow;":"↑","SquareSubset;":"⊏","triangledown;":"▿","triangleleft;":"◃","UnderBracket;":"⎵","varsubsetneq;":"⊊︀","varsupsetneq;":"⊋︀","VerticalLine;":"|","ApplyFunction;":"⁡","bigtriangleup;":"△","blacktriangle;":"▴","DifferentialD;":"ⅆ","divideontimes;":"⋇","DoubleLeftTee;":"⫤","DoubleUpArrow;":"⇑","fallingdotseq;":"≒","hookleftarrow;":"↩","leftarrowtail;":"↢","leftharpoonup;":"↼","LeftTeeVector;":"⥚","LeftVectorBar;":"⥒","LessFullEqual;":"≦","LongLeftArrow;":"⟵","Longleftarrow;":"⟸","longleftarrow;":"⟵","looparrowleft;":"↫","measuredangle;":"∡","NotEqualTilde;":"≂̸","NotTildeEqual;":"≄","NotTildeTilde;":"≉","ntriangleleft;":"⋪","Poincareplane;":"ℌ","PrecedesEqual;":"⪯","PrecedesTilde;":"≾","RightArrowBar;":"⇥","RightTeeArrow;":"↦","RightTriangle;":"⊳","RightUpVector;":"↾","shortparallel;":"∥","smallsetminus;":"∖","SucceedsEqual;":"⪰","SucceedsTilde;":"≿","SupersetEqual;":"⊇","triangleright;":"▹","UpEquilibrium;":"⥮","upharpoonleft;":"↿","varsubsetneqq;":"⫋︀","varsupsetneqq;":"⫌︀","VerticalTilde;":"≀","VeryThinSpace;":" ","curvearrowleft;":"↶","DiacriticalDot;":"˙","doublebarwedge;":"⌆","DoubleRightTee;":"⊨","downdownarrows;":"⇊","DownLeftVector;":"↽","GreaterGreater;":"⪢","hookrightarrow;":"↪","HorizontalLine;":"─","InvisibleComma;":"⁣","InvisibleTimes;":"⁢","LeftDownVector;":"⇃","leftleftarrows;":"⇇","LeftRightArrow;":"↔","Leftrightarrow;":"⇔","leftrightarrow;":"↔","leftthreetimes;":"⋋","LessSlantEqual;":"⩽","LongRightArrow;":"⟶","Longrightarrow;":"⟹","longrightarrow;":"⟶","looparrowright;":"↬","LowerLeftArrow;":"↙","NestedLessLess;":"≪","NotGreaterLess;":"≹","NotLessGreater;":"≸","NotSubsetEqual;":"⊈","NotVerticalBar;":"∤","nshortparallel;":"∦","ntriangleright;":"⋫","OpenCurlyQuote;":"‘","ReverseElement;":"∋","rightarrowtail;":"↣","rightharpoonup;":"⇀","RightTeeVector;":"⥛","RightVectorBar;":"⥓","ShortDownArrow;":"↓","ShortLeftArrow;":"←","SquareSuperset;":"⊐","TildeFullEqual;":"≅","trianglelefteq;":"⊴","upharpoonright;":"↾","UpperLeftArrow;":"↖","ZeroWidthSpace;":"​","bigtriangledown;":"▽","circlearrowleft;":"↺","CloseCurlyQuote;":"’","ContourIntegral;":"∮","curvearrowright;":"↷","DoubleDownArrow;":"⇓","DoubleLeftArrow;":"⇐","downharpoonleft;":"⇃","DownRightVector;":"⇁","leftharpoondown;":"↽","leftrightarrows;":"⇆","LeftRightVector;":"⥎","LeftTriangleBar;":"⧏","LeftUpTeeVector;":"⥠","LeftUpVectorBar;":"⥘","LowerRightArrow;":"↘","nLeftrightarrow;":"⇎","nleftrightarrow;":"↮","NotGreaterEqual;":"≱","NotGreaterTilde;":"≵","NotHumpDownHump;":"≎̸","NotLeftTriangle;":"⋪","NotSquareSubset;":"⊏̸","ntrianglelefteq;":"⋬","OverParenthesis;":"⏜","RightDownVector;":"⇂","rightleftarrows;":"⇄","rightsquigarrow;":"↝","rightthreetimes;":"⋌","ShortRightArrow;":"→","straightepsilon;":"ϵ","trianglerighteq;":"⊵","UpperRightArrow;":"↗","vartriangleleft;":"⊲","circlearrowright;":"↻","DiacriticalAcute;":"´","DiacriticalGrave;":"`","DiacriticalTilde;":"˜","DoubleRightArrow;":"⇒","DownArrowUpArrow;":"⇵","downharpoonright;":"⇂","EmptySmallSquare;":"◻","GreaterEqualLess;":"⋛","GreaterFullEqual;":"≧","LeftAngleBracket;":"⟨","LeftUpDownVector;":"⥑","LessEqualGreater;":"⋚","NonBreakingSpace;":" ","NotPrecedesEqual;":"⪯̸","NotRightTriangle;":"⋫","NotSucceedsEqual;":"⪰̸","NotSucceedsTilde;":"≿̸","NotSupersetEqual;":"⊉","ntrianglerighteq;":"⋭","rightharpoondown;":"⇁","rightrightarrows;":"⇉","RightTriangleBar;":"⧐","RightUpTeeVector;":"⥜","RightUpVectorBar;":"⥔","twoheadleftarrow;":"↞","UnderParenthesis;":"⏝","UpArrowDownArrow;":"⇅","vartriangleright;":"⊳","blacktriangledown;":"▾","blacktriangleleft;":"◂","DoubleUpDownArrow;":"⇕","DoubleVerticalBar;":"∥","DownLeftTeeVector;":"⥞","DownLeftVectorBar;":"⥖","FilledSmallSquare;":"◼","GreaterSlantEqual;":"⩾","LeftDoubleBracket;":"⟦","LeftDownTeeVector;":"⥡","LeftDownVectorBar;":"⥙","leftrightharpoons;":"⇋","LeftTriangleEqual;":"⊴","NegativeThinSpace;":"​","NotGreaterGreater;":"≫̸","NotLessSlantEqual;":"⩽̸","NotNestedLessLess;":"⪡̸","NotReverseElement;":"∌","NotSquareSuperset;":"⊐̸","NotTildeFullEqual;":"≇","RightAngleBracket;":"⟩","rightleftharpoons;":"⇌","RightUpDownVector;":"⥏","SquareSubsetEqual;":"⊑","twoheadrightarrow;":"↠","VerticalSeparator;":"❘","blacktriangleright;":"▸","DownRightTeeVector;":"⥟","DownRightVectorBar;":"⥗","LongLeftRightArrow;":"⟷","Longleftrightarrow;":"⟺","longleftrightarrow;":"⟷","NegativeThickSpace;":"​","NotLeftTriangleBar;":"⧏̸","PrecedesSlantEqual;":"≼","ReverseEquilibrium;":"⇋","RightDoubleBracket;":"⟧","RightDownTeeVector;":"⥝","RightDownVectorBar;":"⥕","RightTriangleEqual;":"⊵","SquareIntersection;":"⊓","SucceedsSlantEqual;":"≽","DoubleLongLeftArrow;":"⟸","DownLeftRightVector;":"⥐","LeftArrowRightArrow;":"⇆","leftrightsquigarrow;":"↭","NegativeMediumSpace;":"​","NotGreaterFullEqual;":"≧̸","NotRightTriangleBar;":"⧐̸","RightArrowLeftArrow;":"⇄","SquareSupersetEqual;":"⊒","CapitalDifferentialD;":"ⅅ","DoubleLeftRightArrow;":"⇔","DoubleLongRightArrow;":"⟹","EmptyVerySmallSquare;":"▫","NestedGreaterGreater;":"≫","NotDoubleVerticalBar;":"∦","NotGreaterSlantEqual;":"⩾̸","NotLeftTriangleEqual;":"⋬","NotSquareSubsetEqual;":"⋢","OpenCurlyDoubleQuote;":"“","ReverseUpEquilibrium;":"⥯","CloseCurlyDoubleQuote;":"”","DoubleContourIntegral;":"∯","FilledVerySmallSquare;":"▪","NegativeVeryThinSpace;":"​","NotPrecedesSlantEqual;":"⋠","NotRightTriangleEqual;":"⋭","NotSucceedsSlantEqual;":"⋡","DiacriticalDoubleAcute;":"˝","NotSquareSupersetEqual;":"⋣","NotNestedGreaterGreater;":"⪢̸","ClockwiseContourIntegral;":"∲","DoubleLongLeftRightArrow;":"⟺","CounterClockwiseContourIntegral;":"∳"};let wu;const $E=(r,e)=>{let t=0;const s=r.length;let n="";function i(o){t+=o,r=r.slice(o)}for(;t=s){const a=s-t;n+=r.slice(0,a),i(a);break}if(n+=r.slice(0,o.index),i(o.index),o[0]==="&"){let a="",l;if(/[0-9a-z]/i.test(r[1])){wu||(wu=Object.keys(mm).reduce((u,p)=>Math.max(u,p.length),0));for(let u=wu;!l&&u>0;--u)a=r.slice(1,1+u),l=mm[a];if(l){const u=a.endsWith(";");e&&!u&&/[=a-z0-9]/i.test(r[a.length+1]||"")?(n+="&"+a,i(1+a.length)):(n+=l,i(1+a.length))}else n+="&"+a,i(1+a.length)}else n+="&",i(1)}else{const a=o[0]==="&#x",u=(a?/^&#x([0-9a-f]+);?/i:/^&#([0-9]+);?/).exec(r);if(!u)n+=o[0],i(o[0].length);else{let p=Number.parseInt(u[1],a?16:10);p===0||p>1114111||p>=55296&&p<=57343?p=65533:p>=64976&&p<=65007||(p&65534)===65534||(p>=1&&p<=8||p===11||p>=13&&p<=31||p>=127&&p<=159)&&(p=FE[p]||p),n+=String.fromCodePoint(p),i(u[0].length)}}}return n},FE={128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376},BE=Pt("style,iframe,script,noscript",!0),Qn={isVoidTag:My,isNativeTag:r=>bx(r)||Sx(r),isPreTag:r=>r==="pre",decodeEntities:$E,isBuiltInComponent:r=>{if(yr(r,"Transition"))return gi;if(yr(r,"TransitionGroup"))return Uo},getNamespace(r,e){let t=e?e.ns:0;if(e&&t===2)if(e.tag==="annotation-xml"){if(r==="svg")return 1;e.props.some(s=>s.type===6&&s.name==="encoding"&&s.value!=null&&(s.value.content==="text/html"||s.value.content==="application/xhtml+xml"))&&(t=0)}else/^m(?:[ions]|text)$/.test(e.tag)&&r!=="mglyph"&&r!=="malignmark"&&(t=0);else e&&t===1&&(e.tag==="foreignObject"||e.tag==="desc"||e.tag==="title")&&(t=0);if(t===0){if(r==="svg")return 1;if(r==="math")return 2}return t},getTextMode({tag:r,ns:e}){if(e===0){if(r==="textarea"||r==="title")return 1;if(BE(r))return 2}return 0}},Ff=r=>{r.type===1&&r.props.forEach((e,t)=>{e.type===6&&e.name==="style"&&e.value&&(r.props[t]={type:7,name:"bind",arg:ae("style",!0,e.loc),exp:jE(e.value.content,e.loc),modifiers:[],loc:e.loc})})},jE=(r,e)=>{const t=Dy(r);return ae(JSON.stringify(t),!1,e,3)};function Ct(r,e){return je(r,e,UE)}const UE={53:"v-html is missing expression.",54:"v-html will override element children.",55:"v-text is missing expression.",56:"v-text will override element children.",57:"v-model can only be used on ,