diff --git a/.gitignore b/.gitignore index 4803e09..6a421d1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ node_modules/ docs/.vuepress/.cache/ docs/.vuepress/.temp/ -docs/.vuepress/dist/ +# docs/.vuepress/dist/ diff --git a/docs/.vuepress/dist/404.html b/docs/.vuepress/dist/404.html new file mode 100644 index 0000000..03d5b69 --- /dev/null +++ b/docs/.vuepress/dist/404.html @@ -0,0 +1,40 @@ + + + + + + + + + + Node.js Docs + + + + + +
Skip to main content

404

Page not found

That’s a Four-Oh-Four.

+ + + diff --git a/docs/.vuepress/dist/assets/404.html-DKowkC1c.js b/docs/.vuepress/dist/assets/404.html-DKowkC1c.js new file mode 100644 index 0000000..5016f46 --- /dev/null +++ b/docs/.vuepress/dist/assets/404.html-DKowkC1c.js @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as e,c as o,b as n}from"./app-DxD832dz.js";const r={},a=n("p",null,"404 Not Found",-1),c=[a];function p(s,i){return e(),o("div",null,c)}const d=t(r,[["render",p],["__file","404.html.vue"]]),h=JSON.parse('{"path":"/404.html","title":"","lang":"en-US","frontmatter":{"layout":"NotFound","description":"404 Not Found","head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/404.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:description","content":"404 Not Found"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"article:author","content":"Aahil"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"\\",\\"description\\":\\"404 Not Found\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0.01,"words":3},"filePathRelative":null,"autoDesc":true}');export{d as comp,h as data}; diff --git a/docs/.vuepress/dist/assets/Blinking_LED.html-XoGTRZiE.js b/docs/.vuepress/dist/assets/Blinking_LED.html-XoGTRZiE.js new file mode 100644 index 0000000..6101c10 --- /dev/null +++ b/docs/.vuepress/dist/assets/Blinking_LED.html-XoGTRZiE.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as i}from"./app-DxD832dz.js";const o={};function n(r,a){return t(),i("div")}const p=e(o,[["render",n],["__file","Blinking_LED.html.vue"]]),m=JSON.parse('{"path":"/docs/RaspberryPi/Blinking_LED.html","title":"Blinking LED","lang":"en-US","frontmatter":{"title":"Blinking LED","index":true,"icon":"lightbulb","category":["Docs-Raspberry Pi"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/RaspberryPi/Blinking_LED.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Blinking LED"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:13:01.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:13:01.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Blinking LED\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:13:01.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713276781000,"updatedTime":1713276781000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.04,"words":13},"filePathRelative":"docs/RaspberryPi/Blinking_LED.md","localizedDate":"April 16, 2024"}');export{p as comp,m as data}; diff --git a/docs/.vuepress/dist/assets/Collection.html-C8yjkV_J.js b/docs/.vuepress/dist/assets/Collection.html-C8yjkV_J.js new file mode 100644 index 0000000..a045124 --- /dev/null +++ b/docs/.vuepress/dist/assets/Collection.html-C8yjkV_J.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-DxD832dz.js";const n={};function a(r,c){return t(),o("div")}const p=e(n,[["render",a],["__file","Collection.html.vue"]]),m=JSON.parse('{"path":"/docs/MongoDB/Collection.html","title":"Collection","lang":"en-US","frontmatter":{"title":"Collection","index":true,"icon":"table","category":["Docs-MongoDB"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/MongoDB/Collection.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Collection"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:13:30.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:13:30.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Collection\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:13:30.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713263701000,"updatedTime":1713276810000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.04,"words":11},"filePathRelative":"docs/MongoDB/Collection.md","localizedDate":"April 16, 2024"}');export{p as comp,m as data}; diff --git a/docs/.vuepress/dist/assets/Components.html-mzjZgoCQ.js b/docs/.vuepress/dist/assets/Components.html-mzjZgoCQ.js new file mode 100644 index 0000000..cb71393 --- /dev/null +++ b/docs/.vuepress/dist/assets/Components.html-mzjZgoCQ.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-DxD832dz.js";const n={};function r(a,p){return t(),o("div")}const c=e(n,[["render",r],["__file","Components.html.vue"]]),s=JSON.parse('{"path":"/docs/RaspberryPi/Components.html","title":"Components","lang":"en-US","frontmatter":{"title":"Components","index":true,"icon":"people-group","category":["Docs-Raspberry Pi"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/RaspberryPi/Components.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Components"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:13:01.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:13:01.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Components\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:13:01.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713276781000,"updatedTime":1713276781000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.04,"words":13},"filePathRelative":"docs/RaspberryPi/Components.md","localizedDate":"April 16, 2024"}');export{c as comp,s as data}; diff --git a/docs/.vuepress/dist/assets/Create Database.html-CVdT9oPv.js b/docs/.vuepress/dist/assets/Create Database.html-CVdT9oPv.js new file mode 100644 index 0000000..5cd8496 --- /dev/null +++ b/docs/.vuepress/dist/assets/Create Database.html-CVdT9oPv.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-DxD832dz.js";const o={};function r(n,c){return t(),a("div")}const s=e(o,[["render",r],["__file","Create Database.html.vue"]]),m=JSON.parse('{"path":"/docs/MySQL/Create%20Database.html","title":"Create Database","lang":"en-US","frontmatter":{"title":"Create Database","index":true,"icon":"layer-group","category":["Docs-MySQL"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/MySQL/Create%20Database.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Create Database"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T10:35:01.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T10:35:01.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Create Database\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T10:35:01.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713263701000,"updatedTime":1713263701000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.04,"words":13},"filePathRelative":"docs/MySQL/Create Database.md","localizedDate":"April 16, 2024"}');export{s as comp,m as data}; diff --git a/docs/.vuepress/dist/assets/Create Database.html-Dk4ojBIe.js b/docs/.vuepress/dist/assets/Create Database.html-Dk4ojBIe.js new file mode 100644 index 0000000..52a8fff --- /dev/null +++ b/docs/.vuepress/dist/assets/Create Database.html-Dk4ojBIe.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-DxD832dz.js";const o={};function r(n,c){return t(),a("div")}const s=e(o,[["render",r],["__file","Create Database.html.vue"]]),m=JSON.parse('{"path":"/docs/MongoDB/Create%20Database.html","title":"Create Database","lang":"en-US","frontmatter":{"title":"Create Database","index":true,"icon":"layer-group","category":["Docs-MongoDB"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/MongoDB/Create%20Database.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Create Database"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:13:30.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:13:30.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Create Database\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:13:30.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713263701000,"updatedTime":1713276810000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.04,"words":13},"filePathRelative":"docs/MongoDB/Create Database.md","localizedDate":"April 16, 2024"}');export{s as comp,m as data}; diff --git a/docs/.vuepress/dist/assets/Create Table.html-yXFdAChD.js b/docs/.vuepress/dist/assets/Create Table.html-yXFdAChD.js new file mode 100644 index 0000000..e4bd51f --- /dev/null +++ b/docs/.vuepress/dist/assets/Create Table.html-yXFdAChD.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as a}from"./app-DxD832dz.js";const o={};function r(n,c){return t(),a("div")}const p=e(o,[["render",r],["__file","Create Table.html.vue"]]),m=JSON.parse('{"path":"/docs/MySQL/Create%20Table.html","title":"Create Table","lang":"en-US","frontmatter":{"title":"Create Table","index":true,"icon":"table","category":["Docs-MySQL"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/MySQL/Create%20Table.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Create Table"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T10:35:01.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T10:35:01.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Create Table\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T10:35:01.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713263701000,"updatedTime":1713263701000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.04,"words":12},"filePathRelative":"docs/MySQL/Create Table.md","localizedDate":"April 16, 2024"}');export{p as comp,m as data}; diff --git a/docs/.vuepress/dist/assets/Delete.html-CdR3XArU.js b/docs/.vuepress/dist/assets/Delete.html-CdR3XArU.js new file mode 100644 index 0000000..df6fe92 --- /dev/null +++ b/docs/.vuepress/dist/assets/Delete.html-CdR3XArU.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-DxD832dz.js";const r={};function a(n,c){return t(),o("div")}const p=e(r,[["render",a],["__file","Delete.html.vue"]]),m=JSON.parse('{"path":"/docs/MySQL/Delete.html","title":"Delete","lang":"en-US","frontmatter":{"title":"Delete","index":true,"icon":"trash","category":["Docs-MySQL"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/MySQL/Delete.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Delete"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T10:35:01.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T10:35:01.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Delete\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T10:35:01.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713263632000,"updatedTime":1713263701000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.04,"words":11},"filePathRelative":"docs/MySQL/Delete.md","localizedDate":"April 16, 2024"}');export{p as comp,m as data}; diff --git a/docs/.vuepress/dist/assets/Delete.html-r2LkCo81.js b/docs/.vuepress/dist/assets/Delete.html-r2LkCo81.js new file mode 100644 index 0000000..b015642 --- /dev/null +++ b/docs/.vuepress/dist/assets/Delete.html-r2LkCo81.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-DxD832dz.js";const r={};function a(n,c){return t(),o("div")}const p=e(r,[["render",a],["__file","Delete.html.vue"]]),m=JSON.parse('{"path":"/docs/MongoDB/Delete.html","title":"Delete","lang":"en-US","frontmatter":{"title":"Delete","index":true,"icon":"trash","category":["Docs-MongoDB"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/MongoDB/Delete.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Delete"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:13:30.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:13:30.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Delete\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:13:30.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713263632000,"updatedTime":1713276810000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.04,"words":11},"filePathRelative":"docs/MongoDB/Delete.md","localizedDate":"April 16, 2024"}');export{p as comp,m as data}; diff --git a/docs/.vuepress/dist/assets/Drop Collection.html-D7slu1cU.js b/docs/.vuepress/dist/assets/Drop Collection.html-D7slu1cU.js new file mode 100644 index 0000000..fac7249 --- /dev/null +++ b/docs/.vuepress/dist/assets/Drop Collection.html-D7slu1cU.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-DxD832dz.js";const r={};function n(a,c){return t(),o("div")}const p=e(r,[["render",n],["__file","Drop Collection.html.vue"]]),m=JSON.parse('{"path":"/docs/MongoDB/Drop%20Collection.html","title":"Drop Collection","lang":"en-US","frontmatter":{"title":"Drop Collection","index":true,"icon":"square-caret-down","category":["Docs-MongoDB"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/MongoDB/Drop%20Collection.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Drop Collection"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:13:30.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:13:30.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Drop Collection\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:13:30.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713263701000,"updatedTime":1713276810000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.05,"words":14},"filePathRelative":"docs/MongoDB/Drop Collection.md","localizedDate":"April 16, 2024"}');export{p as comp,m as data}; diff --git a/docs/.vuepress/dist/assets/Drop Table.html-CJklxQ0O.js b/docs/.vuepress/dist/assets/Drop Table.html-CJklxQ0O.js new file mode 100644 index 0000000..f0d529b --- /dev/null +++ b/docs/.vuepress/dist/assets/Drop Table.html-CJklxQ0O.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-DxD832dz.js";const r={};function a(n,p){return t(),o("div")}const l=e(r,[["render",a],["__file","Drop Table.html.vue"]]),m=JSON.parse('{"path":"/docs/MySQL/Drop%20Table.html","title":"Drop Table","lang":"en-US","frontmatter":{"title":"Drop Table","index":true,"icon":"square-caret-down","category":["Docs-MySQL"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/MySQL/Drop%20Table.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Drop Table"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T10:35:01.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T10:35:01.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Drop Table\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T10:35:01.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713263701000,"updatedTime":1713263701000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.05,"words":14},"filePathRelative":"docs/MySQL/Drop Table.md","localizedDate":"April 16, 2024"}');export{l as comp,m as data}; diff --git a/docs/.vuepress/dist/assets/Email.html-OZtoihag.js b/docs/.vuepress/dist/assets/Email.html-OZtoihag.js new file mode 100644 index 0000000..fdc54e6 --- /dev/null +++ b/docs/.vuepress/dist/assets/Email.html-OZtoihag.js @@ -0,0 +1,39 @@ +import{_ as n}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as s,c as a,a as e}from"./app-DxD832dz.js";const t={},o=e(`

In this tutorial, we'll explore how to use the Nodemailer module to send emails from your Node.js server.

The Nodemailer Module

The Nodemailer module simplifies the process of sending emails from your computer. You can easily download and install the Nodemailer module using npm:

npm install nodemailer
+

After installing the Nodemailer module, you can include it in any application:

var nodemailer = require('nodemailer');
+

Sending an Email

Now that you've installed the Nodemailer module, you're ready to send emails from your server. Let's walk through an example of sending an email using your Gmail account:

var nodemailer = require('nodemailer');
+
+var transporter = nodemailer.createTransport({
+  service: 'gmail',
+  auth: {
+    user: 'youremail@gmail.com',
+    pass: 'yourpassword'
+  }
+});
+
+var mailOptions = {
+  from: 'youremail@gmail.com',
+  to: 'myfriend@yahoo.com',
+  subject: 'Sending Email using Node.js',
+  text: 'That was easy!'
+};
+
+transporter.sendMail(mailOptions, function(error, info){
+  if (error) {
+    console.log(error);
+  } else {
+    console.log('Email sent: ' + info.response);
+  }
+});
+

And that's it! Your server is now capable of sending emails.

Multiple Receivers

To send an email to multiple receivers, simply add them to the to property of the mailOptions object, separated by commas:

var mailOptions = {
+  from: 'youremail@gmail.com',
+  to: 'myfriend@yahoo.com, myotherfriend@yahoo.com',
+  subject: 'Sending Email using Node.js',
+  text: 'That was easy!'
+}
+

Send HTML

If you want to send HTML-formatted text in your email, use the html property instead of the text property:

var mailOptions = {
+  from: 'youremail@gmail.com',
+  to: 'myfriend@yahoo.com',
+  subject: 'Sending Email using Node.js',
+  html: '<h1>Welcome</h1><p>That was easy!</p>'
+}
+

That's all you need to know to start sending emails from your Node.js server using the Nodemailer module.

`,17),p=[o];function l(i,r){return s(),a("div",null,p)}const u=n(t,[["render",l],["__file","Email.html.vue"]]),m=JSON.parse(`{"path":"/docs/Basics/Email.html","title":"Email","lang":"en-US","frontmatter":{"title":"Email","index":true,"icon":"envelope","category":["Docs-Basics"],"footer":false,"description":"In this tutorial, we'll explore how to use the Nodemailer module to send emails from your Node.js server. The Nodemailer Module The Nodemailer module simplifies the process of s...","head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/Basics/Email.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Email"}],["meta",{"property":"og:description","content":"In this tutorial, we'll explore how to use the Nodemailer module to send emails from your Node.js server. The Nodemailer Module The Nodemailer module simplifies the process of s..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:12:27.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:12:27.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Email\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:12:27.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[{"level":2,"title":"The Nodemailer Module","slug":"the-nodemailer-module","link":"#the-nodemailer-module","children":[]},{"level":2,"title":"Sending an Email","slug":"sending-an-email","link":"#sending-an-email","children":[]},{"level":2,"title":"Multiple Receivers","slug":"multiple-receivers","link":"#multiple-receivers","children":[]},{"level":2,"title":"Send HTML","slug":"send-html","link":"#send-html","children":[]}],"git":{"createdTime":1713263632000,"updatedTime":1713276747000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":2}]},"readingTime":{"minutes":0.9,"words":269},"filePathRelative":"docs/Basics/Email.md","localizedDate":"April 16, 2024","autoDesc":true}`);export{u as comp,m as data}; diff --git a/docs/.vuepress/dist/assets/Events.html-Bwplr5d5.js b/docs/.vuepress/dist/assets/Events.html-Bwplr5d5.js new file mode 100644 index 0000000..9cf8adb --- /dev/null +++ b/docs/.vuepress/dist/assets/Events.html-Bwplr5d5.js @@ -0,0 +1,21 @@ +import{_ as n}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as e,c as s,a}from"./app-DxD832dz.js";const t={},o=a(`

In this tutorial, we'll explore how Node.js is ideal for building event-driven applications.

Events in Node.js

Node.js is well-suited for event-driven applications, where every action on a computer is treated as an event. For example, when a connection is made or a file is opened, these are considered events.

Objects in Node.js can fire events, such as the readStream object which fires events when opening and closing a file. Let's see an example:

var fs = require('fs');
+var rs = fs.createReadStream('./demofile.txt');
+rs.on('open', function () {
+  console.log('The file is open');
+});
+

Events Module

Node.js provides a built-in module called "Events" that allows you to create, fire, and listen for your own events.

To include the built-in Events module, use the require() method. Additionally, all event properties and methods are instances of an EventEmitter object. To access these properties and methods, create an EventEmitter object:

var events = require('events');
+var eventEmitter = new events.EventEmitter();
+

The EventEmitter Object

You can assign event handlers to your own events using the EventEmitter object. In the following example, we've created a function that will be executed when a "scream" event is fired. To fire an event, use the emit() method.

var events = require('events');
+var eventEmitter = new events.EventEmitter();
+
+// Create an event handler:
+var myEventHandler = function () {
+  console.log('I hear a scream!');
+}
+
+// Assign the event handler to an event:
+eventEmitter.on('scream', myEventHandler);
+
+// Fire the 'scream' event:
+eventEmitter.emit('scream');
+
`,12),i=[o];function p(c,l){return e(),s("div",null,i)}const d=n(t,[["render",p],["__file","Events.html.vue"]]),v=JSON.parse(`{"path":"/docs/Basics/Events.html","title":"Events","lang":"en-US","frontmatter":{"title":"Events","index":true,"icon":"bell","category":["Docs-Basics"],"footer":false,"description":"In this tutorial, we'll explore how Node.js is ideal for building event-driven applications. Events in Node.js Node.js is well-suited for event-driven applications, where every ...","head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/Basics/Events.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Events"}],["meta",{"property":"og:description","content":"In this tutorial, we'll explore how Node.js is ideal for building event-driven applications. Events in Node.js Node.js is well-suited for event-driven applications, where every ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:12:27.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:12:27.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Events\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:12:27.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[{"level":2,"title":"Events in Node.js","slug":"events-in-node-js","link":"#events-in-node-js","children":[]},{"level":2,"title":"Events Module","slug":"events-module","link":"#events-module","children":[]},{"level":2,"title":"The EventEmitter Object","slug":"the-eventemitter-object","link":"#the-eventemitter-object","children":[]}],"git":{"createdTime":1713263632000,"updatedTime":1713276747000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":2}]},"readingTime":{"minutes":0.84,"words":253},"filePathRelative":"docs/Basics/Events.md","localizedDate":"April 16, 2024","autoDesc":true}`);export{d as comp,v as data}; diff --git a/docs/.vuepress/dist/assets/File System.html-Cyvo9sIZ.js b/docs/.vuepress/dist/assets/File System.html-Cyvo9sIZ.js new file mode 100644 index 0000000..13a545d --- /dev/null +++ b/docs/.vuepress/dist/assets/File System.html-Cyvo9sIZ.js @@ -0,0 +1,54 @@ +import{_ as n}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as s,c as a,a as e}from"./app-DxD832dz.js";const t={},p=e(`

In this tutorial, we'll explore how to work with the file system on your computer using Node.js.

Node.js as a File Server

The Node.js file system module allows you to perform various operations on files, such as reading, creating, updating, deleting, and renaming files. To include the File System module, use the require() method:

var fs = require('fs');
+

Read Files

The fs.readFile() method is used to read files on your computer. Let's see an example of reading an HTML file:

var http = require('http');
+var fs = require('fs');
+
+http.createServer(function (req, res) {
+  fs.readFile('demofile1.html', function(err, data) {
+    res.writeHead(200, {'Content-Type': 'text/html'});
+    res.write(data);
+    return res.end();
+  });
+}).listen(8080);
+

Create Files

The File System module provides methods for creating new files, such as fs.appendFile(), fs.open(), and fs.writeFile(). Let's see examples of creating new files:

var fs = require('fs');
+
+fs.appendFile('mynewfile1.txt', 'Hello content!', function (err) {
+  if (err) throw err;
+  console.log('Saved!');
+});
+
var fs = require('fs');
+
+fs.open('mynewfile2.txt', 'w', function (err, file) {
+  if (err) throw err;
+  console.log('Saved!');
+});
+
var fs = require('fs');
+
+fs.writeFile('mynewfile3.txt', 'Hello content!', function (err) {
+  if (err) throw err;
+  console.log('Saved!');
+});
+

Update and Delete Files

The File System module also provides methods for updating and deleting files, such as fs.appendFile(), fs.writeFile(), and fs.unlink(). Let's see examples of updating and deleting files:

var fs = require('fs');
+
+fs.appendFile('mynewfile1.txt', ' This is my text.', function (err) {
+  if (err) throw err;
+  console.log('Updated!');
+});
+
var fs = require('fs');
+
+fs.writeFile('mynewfile3.txt', 'This is my text', function (err) {
+  if (err) throw err;
+  console.log('Replaced!');
+});
+
var fs = require('fs');
+
+fs.unlink('mynewfile2.txt', function (err) {
+  if (err) throw err;
+  console.log('File deleted!');
+});
+

Rename Files

To rename a file, use the fs.rename() method:

var fs = require('fs');
+
+fs.rename('mynewfile1.txt', 'myrenamedfile.txt', function (err) {
+  if (err) throw err;
+  console.log('File Renamed!');
+});
+

You can perform various file operations easily using these methods 📁

`,21),o=[p];function c(i,l){return s(),a("div",null,o)}const d=n(t,[["render",c],["__file","File System.html.vue"]]),k=JSON.parse(`{"path":"/docs/Basics/File%20System.html","title":"File System","lang":"en-US","frontmatter":{"title":"File System","index":true,"icon":"file","category":["Docs-Basics"],"footer":false,"description":"In this tutorial, we'll explore how to work with the file system on your computer using Node.js. Node.js as a File Server The Node.js file system module allows you to perform va...","head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/Basics/File%20System.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"File System"}],["meta",{"property":"og:description","content":"In this tutorial, we'll explore how to work with the file system on your computer using Node.js. Node.js as a File Server The Node.js file system module allows you to perform va..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:12:27.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:12:27.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"File System\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:12:27.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[{"level":2,"title":"Node.js as a File Server","slug":"node-js-as-a-file-server","link":"#node-js-as-a-file-server","children":[]},{"level":2,"title":"Read Files","slug":"read-files","link":"#read-files","children":[]},{"level":2,"title":"Create Files","slug":"create-files","link":"#create-files","children":[]},{"level":2,"title":"Update and Delete Files","slug":"update-and-delete-files","link":"#update-and-delete-files","children":[]},{"level":2,"title":"Rename Files","slug":"rename-files","link":"#rename-files","children":[]}],"git":{"createdTime":1713263632000,"updatedTime":1713276747000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":2}]},"readingTime":{"minutes":1.08,"words":325},"filePathRelative":"docs/Basics/File System.md","localizedDate":"April 16, 2024","autoDesc":true}`);export{d as comp,k as data}; diff --git a/docs/.vuepress/dist/assets/Find.html-i8fnYBKQ.js b/docs/.vuepress/dist/assets/Find.html-i8fnYBKQ.js new file mode 100644 index 0000000..66a47a8 --- /dev/null +++ b/docs/.vuepress/dist/assets/Find.html-i8fnYBKQ.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-DxD832dz.js";const n={};function a(i,r){return t(),o("div")}const m=e(n,[["render",a],["__file","Find.html.vue"]]),d=JSON.parse('{"path":"/docs/MongoDB/Find.html","title":"Find","lang":"en-US","frontmatter":{"title":"Find","index":true,"icon":"magnifying-glass","category":["Docs-MongoDB"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/MongoDB/Find.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Find"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:13:30.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:13:30.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Find\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:13:30.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713276810000,"updatedTime":1713276810000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.04,"words":12},"filePathRelative":"docs/MongoDB/Find.md","localizedDate":"April 16, 2024"}');export{m as comp,d as data}; diff --git a/docs/.vuepress/dist/assets/Flowing_LED.html-yxxD0ouy.js b/docs/.vuepress/dist/assets/Flowing_LED.html-yxxD0ouy.js new file mode 100644 index 0000000..802eaf5 --- /dev/null +++ b/docs/.vuepress/dist/assets/Flowing_LED.html-yxxD0ouy.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-DxD832dz.js";const r={};function a(i,n){return t(),o("div")}const l=e(r,[["render",a],["__file","Flowing_LED.html.vue"]]),m=JSON.parse('{"path":"/docs/RaspberryPi/Flowing_LED.html","title":"Flowing LED","lang":"en-US","frontmatter":{"title":"Flowing LED","index":true,"icon":"water","category":["Docs-Raspberry Pi"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/RaspberryPi/Flowing_LED.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Flowing LED"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:13:01.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:13:01.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Flowing LED\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:13:01.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713276781000,"updatedTime":1713276781000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.04,"words":13},"filePathRelative":"docs/RaspberryPi/Flowing_LED.md","localizedDate":"April 16, 2024"}');export{l as comp,m as data}; diff --git a/docs/.vuepress/dist/assets/GPIO_Introduction.html-D-NPgKme.js b/docs/.vuepress/dist/assets/GPIO_Introduction.html-D-NPgKme.js new file mode 100644 index 0000000..20ad749 --- /dev/null +++ b/docs/.vuepress/dist/assets/GPIO_Introduction.html-D-NPgKme.js @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as e,c as o}from"./app-DxD832dz.js";const r={};function n(a,i){return e(),o("div")}const m=t(r,[["render",n],["__file","GPIO_Introduction.html.vue"]]),d=JSON.parse('{"path":"/docs/RaspberryPi/GPIO_Introduction.html","title":"GPIO Introduction","lang":"en-US","frontmatter":{"title":"GPIO Introduction","index":true,"icon":"plug","category":["Docs-Raspberry Pi"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/RaspberryPi/GPIO_Introduction.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"GPIO Introduction"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:13:01.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:13:01.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"GPIO Introduction\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:13:01.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713276781000,"updatedTime":1713276781000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.04,"words":13},"filePathRelative":"docs/RaspberryPi/GPIO_Introduction.md","localizedDate":"April 16, 2024"}');export{m as comp,d as data}; diff --git a/docs/.vuepress/dist/assets/HTTP Modules.html-kJ4VRSIz.js b/docs/.vuepress/dist/assets/HTTP Modules.html-kJ4VRSIz.js new file mode 100644 index 0000000..d3ad2de --- /dev/null +++ b/docs/.vuepress/dist/assets/HTTP Modules.html-kJ4VRSIz.js @@ -0,0 +1,32 @@ +import{_ as n}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as s,c as a,a as t}from"./app-DxD832dz.js";const e={},p=t(`

Let's explore how Node.js utilizes the built-in HTTP module to transfer data over the Hyper Text Transfer Protocol (HTTP).

The Built-in HTTP Module

Node.js provides a built-in module called HTTP, which allows you to create HTTP servers and handle HTTP requests and responses. To include the HTTP module, use the require() method:

var http = require('http');
+

Node.js as a Web Server

With the HTTP module, Node.js can act as a web server by creating an HTTP server that listens to server ports and responds to client requests. Use the createServer() method to create an HTTP server:

var http = require('http');
+
+// Create a server object:
+http.createServer(function (req, res) {
+  res.write('Hello World!'); // Write a response to the client
+  res.end(); // End the response
+}).listen(8080); // The server object listens on port 8080
+

The function passed into the http.createServer() method will be executed when someone tries to access the computer on port 8080.

Add an HTTP Header

To display the response from the HTTP server as HTML, include an HTTP header with the correct content type:

var http = require('http');
+
+http.createServer(function (req, res) {
+  res.writeHead(200, {'Content-Type': 'text/html'});
+  res.write('Hello World!');
+  res.end();
+}).listen(8080);
+

The first argument of the res.writeHead() method is the status code, where 200 means that all is OK, and the second argument is an object containing the response headers.

Read the Query String

The req argument of the function passed into http.createServer() represents the request from the client as an object (http.IncomingMessage object). It has a property called "url" which holds the part of the URL that comes after the domain name:

var http = require('http');
+
+http.createServer(function (req, res) {
+  res.writeHead(200, {'Content-Type': 'text/html'});
+  res.write(req.url);
+  res.end();
+}).listen(8080);
+

Split the Query String

You can easily split the query string into readable parts using the built-in URL module:

var http = require('http');
+var url = require('url');
+
+http.createServer(function (req, res) {
+  res.writeHead(200, {'Content-Type': 'text/html'});
+  var q = url.parse(req.url, true).query;
+  var txt = q.year + " " + q.month;
+  res.end(txt);
+}).listen(8080);
+
`,18),o=[p];function c(i,l){return s(),a("div",null,o)}const d=n(e,[["render",c],["__file","HTTP Modules.html.vue"]]),k=JSON.parse(`{"path":"/docs/Basics/HTTP%20Modules.html","title":"HTTP Modules","lang":"en-US","frontmatter":{"title":"HTTP Modules","index":true,"icon":"folder","category":["Docs-Basics"],"footer":false,"description":"Let's explore how Node.js utilizes the built-in HTTP module to transfer data over the Hyper Text Transfer Protocol (HTTP). The Built-in HTTP Module Node.js provides a built-in m...","head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/Basics/HTTP%20Modules.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"HTTP Modules"}],["meta",{"property":"og:description","content":"Let's explore how Node.js utilizes the built-in HTTP module to transfer data over the Hyper Text Transfer Protocol (HTTP). The Built-in HTTP Module Node.js provides a built-in m..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:12:27.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:12:27.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"HTTP Modules\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:12:27.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[{"level":2,"title":"The Built-in HTTP Module","slug":"the-built-in-http-module","link":"#the-built-in-http-module","children":[]},{"level":2,"title":"Node.js as a Web Server","slug":"node-js-as-a-web-server","link":"#node-js-as-a-web-server","children":[]},{"level":2,"title":"Add an HTTP Header","slug":"add-an-http-header","link":"#add-an-http-header","children":[]},{"level":2,"title":"Read the Query String","slug":"read-the-query-string","link":"#read-the-query-string","children":[]},{"level":2,"title":"Split the Query String","slug":"split-the-query-string","link":"#split-the-query-string","children":[]}],"git":{"createdTime":1713263632000,"updatedTime":1713276747000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":2}]},"readingTime":{"minutes":1.2,"words":360},"filePathRelative":"docs/Basics/HTTP Modules.md","localizedDate":"April 16, 2024","autoDesc":true}`);export{d as comp,k as data}; diff --git a/docs/.vuepress/dist/assets/Insert Into.html-CTcNepGb.js b/docs/.vuepress/dist/assets/Insert Into.html-CTcNepGb.js new file mode 100644 index 0000000..4f18fc0 --- /dev/null +++ b/docs/.vuepress/dist/assets/Insert Into.html-CTcNepGb.js @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as e,c as o}from"./app-DxD832dz.js";const n={};function r(a,i){return e(),o("div")}const p=t(n,[["render",r],["__file","Insert Into.html.vue"]]),m=JSON.parse('{"path":"/docs/MySQL/Insert%20Into.html","title":"Insert Into","lang":"en-US","frontmatter":{"title":"Insert Into","index":true,"icon":"file-arrow-down","category":["Docs-MySQL"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/MySQL/Insert%20Into.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Insert Into"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T10:35:01.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T10:35:01.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Insert Into\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T10:35:01.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713263701000,"updatedTime":1713263701000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.05,"words":14},"filePathRelative":"docs/MySQL/Insert Into.md","localizedDate":"April 16, 2024"}');export{p as comp,m as data}; diff --git a/docs/.vuepress/dist/assets/Insert.html-DCepr2n7.js b/docs/.vuepress/dist/assets/Insert.html-DCepr2n7.js new file mode 100644 index 0000000..ed5fd71 --- /dev/null +++ b/docs/.vuepress/dist/assets/Insert.html-DCepr2n7.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-DxD832dz.js";const r={};function n(a,i){return t(),o("div")}const p=e(r,[["render",n],["__file","Insert.html.vue"]]),m=JSON.parse('{"path":"/docs/MongoDB/Insert.html","title":"Insert","lang":"en-US","frontmatter":{"title":"Insert","index":true,"icon":"file-arrow-down","category":["Docs-MongoDB"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/MongoDB/Insert.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Insert"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:13:30.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:13:30.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Insert\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:13:30.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713263701000,"updatedTime":1713276810000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.04,"words":13},"filePathRelative":"docs/MongoDB/Insert.md","localizedDate":"April 16, 2024"}');export{p as comp,m as data}; diff --git a/docs/.vuepress/dist/assets/Install_RaspberryPi.html-Bq5OgObQ.js b/docs/.vuepress/dist/assets/Install_RaspberryPi.html-Bq5OgObQ.js new file mode 100644 index 0000000..21e0cbb --- /dev/null +++ b/docs/.vuepress/dist/assets/Install_RaspberryPi.html-Bq5OgObQ.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as r}from"./app-DxD832dz.js";const a={};function o(i,n){return t(),r("div")}const p=e(a,[["render",o],["__file","Install_RaspberryPi.html.vue"]]),c=JSON.parse('{"path":"/docs/RaspberryPi/Install_RaspberryPi.html","title":"Install Raspberry Pi","lang":"en-US","frontmatter":{"title":"Install Raspberry Pi","index":true,"icon":"download","category":["Docs-Raspberry Pi"],"order":2,"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/RaspberryPi/Install_RaspberryPi.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Install Raspberry Pi"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:13:01.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:13:01.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Install Raspberry Pi\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:13:01.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713276781000,"updatedTime":1713276781000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.05,"words":16},"filePathRelative":"docs/RaspberryPi/Install_RaspberryPi.md","localizedDate":"April 16, 2024"}');export{p as comp,c as data}; diff --git a/docs/.vuepress/dist/assets/Join.html-CPC23AI2.js b/docs/.vuepress/dist/assets/Join.html-CPC23AI2.js new file mode 100644 index 0000000..3bafae1 --- /dev/null +++ b/docs/.vuepress/dist/assets/Join.html-CPC23AI2.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-DxD832dz.js";const n={};function r(a,i){return t(),o("div")}const m=e(n,[["render",r],["__file","Join.html.vue"]]),l=JSON.parse('{"path":"/docs/MySQL/Join.html","title":"Join","lang":"en-US","frontmatter":{"title":"Join","index":true,"icon":"object-ungroup","category":["Docs-MySQL"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/MySQL/Join.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Join"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T10:35:01.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T10:35:01.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Join\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T10:35:01.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713263701000,"updatedTime":1713263701000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.04,"words":12},"filePathRelative":"docs/MySQL/Join.md","localizedDate":"April 16, 2024"}');export{m as comp,l as data}; diff --git a/docs/.vuepress/dist/assets/Join.html-CpGKlvem.js b/docs/.vuepress/dist/assets/Join.html-CpGKlvem.js new file mode 100644 index 0000000..9750bf2 --- /dev/null +++ b/docs/.vuepress/dist/assets/Join.html-CpGKlvem.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-DxD832dz.js";const n={};function r(a,i){return t(),o("div")}const m=e(n,[["render",r],["__file","Join.html.vue"]]),l=JSON.parse('{"path":"/docs/MongoDB/Join.html","title":"Join","lang":"en-US","frontmatter":{"title":"Join","index":true,"icon":"object-ungroup","category":["Docs-MongoDB"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/MongoDB/Join.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Join"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:13:30.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:13:30.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Join\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:13:30.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713263701000,"updatedTime":1713276810000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.04,"words":12},"filePathRelative":"docs/MongoDB/Join.md","localizedDate":"April 16, 2024"}');export{m as comp,l as data}; diff --git a/docs/.vuepress/dist/assets/LED___Pushbutton.html-CmRkC5Za.js b/docs/.vuepress/dist/assets/LED___Pushbutton.html-CmRkC5Za.js new file mode 100644 index 0000000..88b44f8 --- /dev/null +++ b/docs/.vuepress/dist/assets/LED___Pushbutton.html-CmRkC5Za.js @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as e,c as o}from"./app-DxD832dz.js";const r={};function a(n,i){return e(),o("div")}const p=t(r,[["render",a],["__file","LED___Pushbutton.html.vue"]]),m=JSON.parse('{"path":"/docs/RaspberryPi/LED___Pushbutton.html","title":"LED & Pushbutton","lang":"en-US","frontmatter":{"title":"LED & Pushbutton","index":true,"icon":"group-arrows-rotate","category":["Docs-Raspberry Pi"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/RaspberryPi/LED___Pushbutton.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"LED & Pushbutton"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:13:01.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:13:01.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"LED & Pushbutton\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:13:01.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713276781000,"updatedTime":1713276781000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.05,"words":15},"filePathRelative":"docs/RaspberryPi/LED_&_Pushbutton.md","localizedDate":"April 16, 2024"}');export{p as comp,m as data}; diff --git a/docs/.vuepress/dist/assets/Limit.html-EWlXSVQe.js b/docs/.vuepress/dist/assets/Limit.html-EWlXSVQe.js new file mode 100644 index 0000000..a6e94d3 --- /dev/null +++ b/docs/.vuepress/dist/assets/Limit.html-EWlXSVQe.js @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as e,c as o}from"./app-DxD832dz.js";const i={};function a(r,n){return e(),o("div")}const p=t(i,[["render",a],["__file","Limit.html.vue"]]),l=JSON.parse('{"path":"/docs/MySQL/Limit.html","title":"Limit","lang":"en-US","frontmatter":{"title":"Limit","index":true,"icon":"hourglass-half","category":["Docs-MySQL"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/MySQL/Limit.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Limit"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T10:35:01.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T10:35:01.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Limit\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T10:35:01.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713263701000,"updatedTime":1713263701000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.04,"words":12},"filePathRelative":"docs/MySQL/Limit.md","localizedDate":"April 16, 2024"}');export{p as comp,l as data}; diff --git a/docs/.vuepress/dist/assets/Limit.html-dcFZt02z.js b/docs/.vuepress/dist/assets/Limit.html-dcFZt02z.js new file mode 100644 index 0000000..56cac3b --- /dev/null +++ b/docs/.vuepress/dist/assets/Limit.html-dcFZt02z.js @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as e,c as o}from"./app-DxD832dz.js";const i={};function a(r,n){return e(),o("div")}const p=t(i,[["render",a],["__file","Limit.html.vue"]]),l=JSON.parse('{"path":"/docs/MongoDB/Limit.html","title":"Limit","lang":"en-US","frontmatter":{"title":"Limit","index":true,"icon":"hourglass-half","category":["Docs-MongoDB"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/MongoDB/Limit.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Limit"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:13:30.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:13:30.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Limit\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:13:30.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713263701000,"updatedTime":1713276810000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.04,"words":12},"filePathRelative":"docs/MongoDB/Limit.md","localizedDate":"April 16, 2024"}');export{p as comp,l as data}; diff --git a/docs/.vuepress/dist/assets/Modules.html-BLPyvUii.js b/docs/.vuepress/dist/assets/Modules.html-BLPyvUii.js new file mode 100644 index 0000000..e995d32 --- /dev/null +++ b/docs/.vuepress/dist/assets/Modules.html-BLPyvUii.js @@ -0,0 +1,20 @@ +import{_ as n}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as s,a}from"./app-DxD832dz.js";const e={},o=a(`

In this tutorial, we'll explore how modules work in Node.js, including built-in modules and how to create and include your own modules.

What is a Module in Node.js?

In Node.js, modules are similar to JavaScript libraries. They consist of a set of functions or pieces of code that you can include in your application.

Built-in Modules

Node.js comes with a rich set of built-in modules that you can use right out of the box, without any additional installation. These modules provide essential functionalities for various tasks.

Here's a list of some built-in modules available in Node.js version 6.10.3:

ModuleDescription
assertProvides a set of assertion tests
bufferHandles binary data
child_processRuns a child process
clusterSplits a single Node process into multiple processes
cryptoHandles OpenSSL cryptographic functions
dgramProvides implementation of UDP datagram sockets
dnsPerforms DNS lookups and name resolution functions
domainDeprecated. Handles unhandled errors
eventsHandles events
fsHandles the file system
httpMakes Node.js act as an HTTP server
httpsMakes Node.js act as an HTTPS server
netCreates servers and clients
osProvides information about the operating system
pathHandles file paths
punycodeDeprecated. A character encoding scheme
querystringHandles URL query strings
readlineHandles readable streams one line at a time
streamHandles streaming data
string_decoderDecodes buffer objects into strings
timersExecutes a function after a given number of milliseconds
tlsImplements TLS and SSL protocols
ttyProvides classes used by a text terminal
urlParses URL strings
utilAccesses utility functions
v8Accesses information about V8 (the JavaScript engine)
vmCompiles JavaScript code in a virtual machine
zlibCompresses or decompresses files

To include a built-in module, use the require() function with the name of the module:

var http = require('http');
+

Now your application has access to the HTTP module, allowing you to create a server like this:

http.createServer(function (req, res) {
+  res.writeHead(200, {'Content-Type': 'text/html'});
+  res.end('Hello World!');
+}).listen(8080);
+

Create Your Own Modules

You can also create your own modules and easily include them in your applications. Let's create an example module that returns the current date and time:

// myfirstmodule.js
+
+exports.myDateTime = function () {
+  return Date();
+};
+

Use the exports keyword to make properties and methods available outside the module file.

Include Your Own Module

Now that you've created your own module, you can include and use it in any of your Node.js files. Here's how to use the "myfirstmodule" module in a Node.js file:

var http = require('http');
+var dt = require('./myfirstmodule');
+
+http.createServer(function (req, res) {
+  res.writeHead(200, {'Content-Type': 'text/html'});
+  res.write("The date and time are currently: " + dt.myDateTime());
+  res.end();
+}).listen(8080);
+

Notice that we use ./ to locate the module, indicating that the module is located in the same folder as the Node.js file.

Save the code above in a file called "demo_module.js", and initiate the file:

C:\\Users\\Your Name>node demo_module.js
+
`,21),i=[o];function p(d,l){return t(),s("div",null,i)}const u=n(e,[["render",p],["__file","Modules.html.vue"]]),m=JSON.parse(`{"path":"/docs/Basics/Modules.html","title":"Modules","lang":"en-US","frontmatter":{"title":"Modules","index":true,"icon":"server","category":["Docs-Basics"],"footer":false,"description":"In this tutorial, we'll explore how modules work in Node.js, including built-in modules and how to create and include your own modules. What is a Module in Node.js? In Node.js, ...","head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/Basics/Modules.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Modules"}],["meta",{"property":"og:description","content":"In this tutorial, we'll explore how modules work in Node.js, including built-in modules and how to create and include your own modules. What is a Module in Node.js? In Node.js, ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:12:27.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:12:27.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Modules\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:12:27.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[{"level":2,"title":"What is a Module in Node.js?","slug":"what-is-a-module-in-node-js","link":"#what-is-a-module-in-node-js","children":[]},{"level":2,"title":"Built-in Modules","slug":"built-in-modules","link":"#built-in-modules","children":[]},{"level":2,"title":"Create Your Own Modules","slug":"create-your-own-modules","link":"#create-your-own-modules","children":[]},{"level":2,"title":"Include Your Own Module","slug":"include-your-own-module","link":"#include-your-own-module","children":[]}],"git":{"createdTime":1713263632000,"updatedTime":1713276747000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":2}]},"readingTime":{"minutes":1.68,"words":503},"filePathRelative":"docs/Basics/Modules.md","localizedDate":"April 16, 2024","autoDesc":true}`);export{u as comp,m as data}; diff --git a/docs/.vuepress/dist/assets/NPM.html-Df7drL4u.js b/docs/.vuepress/dist/assets/NPM.html-Df7drL4u.js new file mode 100644 index 0000000..a7e26f6 --- /dev/null +++ b/docs/.vuepress/dist/assets/NPM.html-Df7drL4u.js @@ -0,0 +1,14 @@ +import{_ as s}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as t,o,c as p,b as n,d as a,e as c,a as i}from"./app-DxD832dz.js";const l={},r={href:"https://www.npmjs.com/",target:"_blank",rel:"noopener noreferrer"},u=i(`

The NPM program comes pre-installed on your computer when you install Node.js, making it readily available for use without any additional setup.

What is a Package?

In the context of Node.js, a package contains all the files necessary for a module. Modules are JavaScript libraries that you can include and utilize within your projects.

Download a Package

Downloading a package using NPM is straightforward. Simply open your command line interface and instruct NPM to download the desired package. For example, to download a package named "upper-case", you would use the following command:

C:\\Users\\Your Name>npm install upper-case
+

This command will download and install the "upper-case" package onto your system. NPM creates a folder named "node_modules" where the downloaded package is placed. Any future packages you install will also be stored in this folder.

Using a Package

Once the package is installed, you can easily include it in your Node.js files just like any other module. For instance, to use the "upper-case" package, you would include it in your file as follows:

var uc = require('upper-case');
+

Now, you can utilize the functionalities provided by the "upper-case" package in your code. Here's an example of creating a Node.js file that converts the output "Hello World!" into uppercase letters using the "upper-case" package:

// demo_uppercase.js
+
+var http = require('http');
+var uc = require('upper-case');
+
+http.createServer(function (req, res) {
+  res.writeHead(200, {'Content-Type': 'text/html'});
+  res.write(uc.upperCase("Hello World!"));
+  res.end();
+}).listen(8080);
+

Save the above code in a file named "demo_uppercase.js" and execute it in your command line interface:

C:\\Users\\Your Name>node demo_uppercase.js
+
`,14);function d(k,m){const e=t("ExternalLinkIcon");return o(),p("div",null,[n("p",null,[a("NPM, short for Node Package Manager, is a package manager designed specifically for Node.js packages or modules. It serves as a central repository where you can find and download thousands of free packages to use in your Node.js projects. You can explore available packages at "),n("a",r,[a("www.npmjs.com"),c(e)]),a(".")]),u])}const v=s(l,[["render",d],["__file","NPM.html.vue"]]),f=JSON.parse('{"path":"/docs/Basics/NPM.html","title":"NPM","lang":"en-US","frontmatter":{"title":"NPM","index":true,"icon":"/assets/icon/npm.svg","category":["Docs-Basics"],"footer":false,"description":"NPM, short for Node Package Manager, is a package manager designed specifically for Node.js packages or modules. It serves as a central repository where you can find and downloa...","head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/Basics/NPM.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"NPM"}],["meta",{"property":"og:description","content":"NPM, short for Node Package Manager, is a package manager designed specifically for Node.js packages or modules. It serves as a central repository where you can find and downloa..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:12:27.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:12:27.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"NPM\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:12:27.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[{"level":2,"title":"What is a Package?","slug":"what-is-a-package","link":"#what-is-a-package","children":[]},{"level":2,"title":"Download a Package","slug":"download-a-package","link":"#download-a-package","children":[]},{"level":2,"title":"Using a Package","slug":"using-a-package","link":"#using-a-package","children":[]}],"git":{"createdTime":1713263632000,"updatedTime":1713276747000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":3}]},"readingTime":{"minutes":1.12,"words":335},"filePathRelative":"docs/Basics/NPM.md","localizedDate":"April 16, 2024","autoDesc":true}');export{v as comp,f as data}; diff --git a/docs/.vuepress/dist/assets/Order By.html-BS3Cahtv.js b/docs/.vuepress/dist/assets/Order By.html-BS3Cahtv.js new file mode 100644 index 0000000..b5250a0 --- /dev/null +++ b/docs/.vuepress/dist/assets/Order By.html-BS3Cahtv.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as r}from"./app-DxD832dz.js";const o={};function a(n,c){return t(),r("div")}const m=e(o,[["render",a],["__file","Order By.html.vue"]]),d=JSON.parse('{"path":"/docs/MySQL/Order%20By.html","title":"Order By","lang":"en-US","frontmatter":{"title":"Order By","index":true,"icon":"arrow-up-z-a","category":["Docs-MySQL"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/MySQL/Order%20By.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Order By"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T10:35:01.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T10:35:01.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Order By\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T10:35:01.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713263701000,"updatedTime":1713263701000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.05,"words":15},"filePathRelative":"docs/MySQL/Order By.md","localizedDate":"April 16, 2024"}');export{m as comp,d as data}; diff --git a/docs/.vuepress/dist/assets/Query.html-CLSatCzA.js b/docs/.vuepress/dist/assets/Query.html-CLSatCzA.js new file mode 100644 index 0000000..1b7699e --- /dev/null +++ b/docs/.vuepress/dist/assets/Query.html-CLSatCzA.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-DxD832dz.js";const r={};function a(n,c){return t(),o("div")}const m=e(r,[["render",a],["__file","Query.html.vue"]]),l=JSON.parse('{"path":"/docs/MongoDB/Query.html","title":"Query","lang":"en-US","frontmatter":{"title":"Query","index":true,"icon":"location-crosshairs","category":["Docs-MongoDB"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/MongoDB/Query.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Query"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:13:30.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:13:30.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Query\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:13:30.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713263701000,"updatedTime":1713276810000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.04,"words":12},"filePathRelative":"docs/MongoDB/Query.md","localizedDate":"April 16, 2024"}');export{m as comp,l as data}; diff --git a/docs/.vuepress/dist/assets/RGB_LED_WebSocket.html-D6ZaiHLl.js b/docs/.vuepress/dist/assets/RGB_LED_WebSocket.html-D6ZaiHLl.js new file mode 100644 index 0000000..d31f96d --- /dev/null +++ b/docs/.vuepress/dist/assets/RGB_LED_WebSocket.html-D6ZaiHLl.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-DxD832dz.js";const r={};function a(c,i){return t(),o("div")}const m=e(r,[["render",a],["__file","RGB_LED_WebSocket.html.vue"]]),s=JSON.parse('{"path":"/docs/RaspberryPi/RGB_LED_WebSocket.html","title":"RGB LED WebSocket","lang":"en-US","frontmatter":{"title":"RGB LED WebSocket","index":true,"icon":"circle-nodes","category":["Docs-Raspberry Pi"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/RaspberryPi/RGB_LED_WebSocket.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"RGB LED WebSocket"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:13:01.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:13:01.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"RGB LED WebSocket\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:13:01.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713276781000,"updatedTime":1713276781000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.05,"words":15},"filePathRelative":"docs/RaspberryPi/RGB_LED_WebSocket.md","localizedDate":"April 16, 2024"}');export{m as comp,s as data}; diff --git a/docs/.vuepress/dist/assets/Select From.html-BXfc5VwS.js b/docs/.vuepress/dist/assets/Select From.html-BXfc5VwS.js new file mode 100644 index 0000000..b10580b --- /dev/null +++ b/docs/.vuepress/dist/assets/Select From.html-BXfc5VwS.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-DxD832dz.js";const r={};function c(a,n){return t(),o("div")}const l=e(r,[["render",c],["__file","Select From.html.vue"]]),p=JSON.parse('{"path":"/docs/MySQL/Select%20From.html","title":"Select From","lang":"en-US","frontmatter":{"title":"Select From","index":true,"icon":"check-double","category":["Docs-MySQL"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/MySQL/Select%20From.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Select From"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T10:35:01.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T10:35:01.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Select From\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T10:35:01.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713263701000,"updatedTime":1713263701000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.04,"words":13},"filePathRelative":"docs/MySQL/Select From.md","localizedDate":"April 16, 2024"}');export{l as comp,p as data}; diff --git a/docs/.vuepress/dist/assets/Sort.html-EVorkOcD.js b/docs/.vuepress/dist/assets/Sort.html-EVorkOcD.js new file mode 100644 index 0000000..0481b77 --- /dev/null +++ b/docs/.vuepress/dist/assets/Sort.html-EVorkOcD.js @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as e,c as o}from"./app-DxD832dz.js";const r={};function a(n,c){return e(),o("div")}const m=t(r,[["render",a],["__file","Sort.html.vue"]]),l=JSON.parse('{"path":"/docs/MongoDB/Sort.html","title":"Sort","lang":"en-US","frontmatter":{"title":"Sort","index":true,"icon":"sort","category":["Docs-MongoDB"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/MongoDB/Sort.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Sort"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:13:30.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:13:30.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Sort\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:13:30.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713263632000,"updatedTime":1713276810000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.04,"words":11},"filePathRelative":"docs/MongoDB/Sort.md","localizedDate":"April 16, 2024"}');export{m as comp,l as data}; diff --git a/docs/.vuepress/dist/assets/URL Module.html-DXhp6KuV.js b/docs/.vuepress/dist/assets/URL Module.html-DXhp6KuV.js new file mode 100644 index 0000000..62f1b29 --- /dev/null +++ b/docs/.vuepress/dist/assets/URL Module.html-DXhp6KuV.js @@ -0,0 +1,47 @@ +import{_ as p}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as o,o as l,c,b as n,d as s,e,a}from"./app-DxD832dz.js";const i={},u=a(`

In this tutorial, we'll explore how Node.js uses the built-in URL module to parse web addresses.

The Built-in URL Module

The URL module in Node.js helps split a web address into readable parts. To include the URL module, use the require() method:

var url = require('url');
+

You can parse a web address using the url.parse() method, which returns a URL object with each part of the address as properties:

var adr = 'http://localhost:8080/default.htm?year=2017&month=february';
+var q = url.parse(adr, true);
+
+console.log(q.host); // returns 'localhost:8080'
+console.log(q.pathname); // returns '/default.htm'
+console.log(q.search); // returns '?year=2017&month=february'
+
+var qdata = q.query; // returns an object: { year: 2017, month: 'february' }
+console.log(qdata.month); // returns 'february'
+

Node.js File Server

Now, let's combine our knowledge of parsing query strings with serving files using Node.js as a file server.

Step 1: Create HTML Files

Create two HTML files, summer.html and winter.html, and save them in the same folder as your Node.js files.

summer.html
<!DOCTYPE html>
+<html>
+<body>
+<h1>Summer</h1>
+<p>I love the sun!</p>
+</body>
+</html>
+
winter.html
<!DOCTYPE html>
+<html>
+<body>
+<h1>Winter</h1>
+<p>I love the snow!</p>
+</body>
+</html>
+

Step 2: Create the File Server

Now, create a Node.js file, demo_fileserver.js, that opens the requested file and returns its content to the client. If anything goes wrong, throw a 404 error:

var http = require('http');
+var url = require('url');
+var fs = require('fs');
+
+http.createServer(function (req, res) {
+  var q = url.parse(req.url, true);
+  var filename = "." + q.pathname;
+  fs.readFile(filename, function(err, data) {
+    if (err) {
+      res.writeHead(404, {'Content-Type': 'text/html'});
+      return res.end("404 Not Found");
+    } 
+    res.writeHead(200, {'Content-Type': 'text/html'});
+    res.write(data);
+    return res.end();
+  });
+}).listen(8080);
+

Remember to initiate the file:

C:\\Users\\Your Name>node demo_fileserver.js
+

If you have followed the same steps on your computer, you should see two different results when opening these two addresses:

`,20),r={href:"http://localhost:8080/summer.html",target:"_blank",rel:"noopener noreferrer"},d=a(`
Summer
+I love the sun!
+
`,1),k={href:"http://localhost:8080/winter.html",target:"_blank",rel:"noopener noreferrer"},m=a(`
Winter
+I love the snow!
+
`,1);function h(v,g){const t=o("ExternalLinkIcon");return l(),c("div",null,[u,n("ul",null,[n("li",null,[n("p",null,[n("a",r,[s("http://localhost:8080/summer.html"),e(t)]),s(" will display:")]),d]),n("li",null,[n("p",null,[n("a",k,[s("http://localhost:8080/winter.html"),e(t)]),s(" will display:")]),m])])])}const y=p(i,[["render",h],["__file","URL Module.html.vue"]]),w=JSON.parse(`{"path":"/docs/Basics/URL%20Module.html","title":"URL Module","lang":"en-US","frontmatter":{"title":"URL Module","index":true,"icon":"file-code","category":["Docs-Basics"],"footer":false,"description":"In this tutorial, we'll explore how Node.js uses the built-in URL module to parse web addresses. The Built-in URL Module The URL module in Node.js helps split a web address into...","head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/Basics/URL%20Module.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"URL Module"}],["meta",{"property":"og:description","content":"In this tutorial, we'll explore how Node.js uses the built-in URL module to parse web addresses. The Built-in URL Module The URL module in Node.js helps split a web address into..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:12:27.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:12:27.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"URL Module\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:12:27.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[{"level":2,"title":"The Built-in URL Module","slug":"the-built-in-url-module","link":"#the-built-in-url-module","children":[{"level":3,"title":"Node.js File Server","slug":"node-js-file-server","link":"#node-js-file-server","children":[]}]}],"git":{"createdTime":1713263632000,"updatedTime":1713276747000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":2}]},"readingTime":{"minutes":1.21,"words":362},"filePathRelative":"docs/Basics/URL Module.md","localizedDate":"April 16, 2024","autoDesc":true}`);export{y as comp,w as data}; diff --git a/docs/.vuepress/dist/assets/Update.html-BWs7THOB.js b/docs/.vuepress/dist/assets/Update.html-BWs7THOB.js new file mode 100644 index 0000000..3fd36a4 --- /dev/null +++ b/docs/.vuepress/dist/assets/Update.html-BWs7THOB.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-DxD832dz.js";const a={};function r(n,p){return t(),o("div")}const m=e(a,[["render",r],["__file","Update.html.vue"]]),d=JSON.parse('{"path":"/docs/MongoDB/Update.html","title":"Update","lang":"en-US","frontmatter":{"title":"Update","index":true,"icon":"upload","category":["Docs-MongoDB"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/MongoDB/Update.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Update"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:13:30.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:13:30.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Update\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:13:30.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713263632000,"updatedTime":1713276810000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.04,"words":11},"filePathRelative":"docs/MongoDB/Update.md","localizedDate":"April 16, 2024"}');export{m as comp,d as data}; diff --git a/docs/.vuepress/dist/assets/Update.html-DJhdAiGF.js b/docs/.vuepress/dist/assets/Update.html-DJhdAiGF.js new file mode 100644 index 0000000..2e9b782 --- /dev/null +++ b/docs/.vuepress/dist/assets/Update.html-DJhdAiGF.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-DxD832dz.js";const a={};function r(p,n){return t(),o("div")}const m=e(a,[["render",r],["__file","Update.html.vue"]]),d=JSON.parse('{"path":"/docs/MySQL/Update.html","title":"Update","lang":"en-US","frontmatter":{"title":"Update","index":true,"icon":"upload","category":["Docs-MySQL"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/MySQL/Update.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Update"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T10:35:01.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T10:35:01.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Update\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T10:35:01.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713263632000,"updatedTime":1713263701000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.04,"words":11},"filePathRelative":"docs/MySQL/Update.md","localizedDate":"April 16, 2024"}');export{m as comp,d as data}; diff --git a/docs/.vuepress/dist/assets/Upload Files.html-BlJJeg4z.js b/docs/.vuepress/dist/assets/Upload Files.html-BlJJeg4z.js new file mode 100644 index 0000000..b281f9d --- /dev/null +++ b/docs/.vuepress/dist/assets/Upload Files.html-BlJJeg4z.js @@ -0,0 +1,28 @@ +import{_ as n}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as a,c as s,a as e}from"./app-DxD832dz.js";const t={},p=e(`

In this tutorial, we'll explore how to upload files to your Node.js server using the Formidable module.

The Formidable Module

The "Formidable" module is an excellent tool for handling file uploads in Node.js applications. To use Formidable, you can install it via NPM:

C:\\Users\\Your Name>npm install formidable
+

Once installed, you can include Formidable in your application:

var formidable = require('formidable');
+

Upload Files

Now, let's create a web page in Node.js that allows users to upload files to your server.

Step 1: Create an Upload Form

First, create a Node.js file that generates an HTML form with an upload field:

var http = require('http');
+
+http.createServer(function (req, res) {
+  res.writeHead(200, {'Content-Type': 'text/html'});
+  res.write('<form action="fileupload" method="post" enctype="multipart/form-data">');
+  res.write('<input type="file" name="filetoupload"><br>');
+  res.write('<input type="submit">');
+  res.write('</form>');
+  return res.end();
+}).listen(8080);
+

Step 2: Parse the Uploaded File

To handle the uploaded file, include the Formidable module:

var formidable = require('formidable');
+

Then, parse the uploaded file:

var form = new formidable.IncomingForm();
+form.parse(req, function (err, fields, files) {
+  res.write('File uploaded');
+  res.end();
+});
+

Step 3: Save the File

Once the file is uploaded and parsed, it's placed in a temporary folder on your server. To move it to a permanent location, you can use the File System module:

var fs = require('fs');
+
+var oldpath = files.filetoupload.path;
+var newpath = 'C:/Users/Your Name/' + files.filetoupload.name;
+fs.rename(oldpath, newpath, function (err) {
+  if (err) throw err;
+  res.write('File uploaded and moved!');
+  res.end();
+});
+
`,19),o=[p];function l(i,c){return a(),s("div",null,o)}const d=n(t,[["render",l],["__file","Upload Files.html.vue"]]),k=JSON.parse(`{"path":"/docs/Basics/Upload%20Files.html","title":"Upload Files","lang":"en-US","frontmatter":{"title":"Upload Files","index":true,"icon":"file-export","category":["Docs-Basics"],"footer":false,"description":"In this tutorial, we'll explore how to upload files to your Node.js server using the Formidable module. The Formidable Module The \\"Formidable\\" module is an excellent tool for ha...","head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/Basics/Upload%20Files.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Upload Files"}],["meta",{"property":"og:description","content":"In this tutorial, we'll explore how to upload files to your Node.js server using the Formidable module. The Formidable Module The \\"Formidable\\" module is an excellent tool for ha..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:12:27.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:12:27.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Upload Files\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:12:27.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[{"level":2,"title":"The Formidable Module","slug":"the-formidable-module","link":"#the-formidable-module","children":[{"level":3,"title":"Upload Files","slug":"upload-files","link":"#upload-files","children":[]}]}],"git":{"createdTime":1713263632000,"updatedTime":1713276747000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":2}]},"readingTime":{"minutes":0.88,"words":264},"filePathRelative":"docs/Basics/Upload Files.md","localizedDate":"April 16, 2024","autoDesc":true}`);export{d as comp,k as data}; diff --git a/docs/.vuepress/dist/assets/WebSocket.html-CAHD72tS.js b/docs/.vuepress/dist/assets/WebSocket.html-CAHD72tS.js new file mode 100644 index 0000000..8e81b3e --- /dev/null +++ b/docs/.vuepress/dist/assets/WebSocket.html-CAHD72tS.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-DxD832dz.js";const r={};function a(c,i){return t(),o("div")}const m=e(r,[["render",a],["__file","WebSocket.html.vue"]]),s=JSON.parse('{"path":"/docs/RaspberryPi/WebSocket.html","title":"WebSocket","lang":"en-US","frontmatter":{"title":"WebSocket","index":true,"icon":"network-wired","category":["Docs-Raspberry Pi"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/RaspberryPi/WebSocket.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"WebSocket"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:13:01.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:13:01.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"WebSocket\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:13:01.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713276781000,"updatedTime":1713276781000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.04,"words":13},"filePathRelative":"docs/RaspberryPi/WebSocket.md","localizedDate":"April 16, 2024"}');export{m as comp,s as data}; diff --git a/docs/.vuepress/dist/assets/Where.html-7G_mJdka.js b/docs/.vuepress/dist/assets/Where.html-7G_mJdka.js new file mode 100644 index 0000000..089c55b --- /dev/null +++ b/docs/.vuepress/dist/assets/Where.html-7G_mJdka.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-DxD832dz.js";const r={};function a(n,c){return t(),o("div")}const m=e(r,[["render",a],["__file","Where.html.vue"]]),l=JSON.parse('{"path":"/docs/MySQL/Where.html","title":"Where","lang":"en-US","frontmatter":{"title":"Where","index":true,"icon":"location-crosshairs","category":["Docs-MySQL"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/MySQL/Where.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Where"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T10:35:01.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T10:35:01.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Where\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T10:35:01.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713263701000,"updatedTime":1713263701000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.04,"words":12},"filePathRelative":"docs/MySQL/Where.md","localizedDate":"April 16, 2024"}');export{m as comp,l as data}; diff --git a/docs/.vuepress/dist/assets/app-DxD832dz.js b/docs/.vuepress/dist/assets/app-DxD832dz.js new file mode 100644 index 0000000..b518961 --- /dev/null +++ b/docs/.vuepress/dist/assets/app-DxD832dz.js @@ -0,0 +1,30 @@ +function __vite__mapDeps(indexes) { + if (!__vite__mapDeps.viteFileDeps) { + __vite__mapDeps.viteFileDeps = ["assets/index.html-CKiy40b5.js","assets/plugin-vue_export-helper-DlAUqK2U.js","assets/index.html-DCvzFz_U.js","assets/index.html-aaSN16OJ.js","assets/installation.html-7aBcAeD0.js","assets/quick-start.html-CX71ZwsX.js","assets/what-is-nodejs.html-Cm_cQes4.js","assets/Blinking_LED.html-XoGTRZiE.js","assets/Components.html-mzjZgoCQ.js","assets/Flowing_LED.html-yxxD0ouy.js","assets/GPIO_Introduction.html-D-NPgKme.js","assets/Install_RaspberryPi.html-Bq5OgObQ.js","assets/LED___Pushbutton.html-CmRkC5Za.js","assets/index.html-CSDDPORX.js","assets/RGB_LED_WebSocket.html-D6ZaiHLl.js","assets/WebSocket.html-CAHD72tS.js","assets/Collection.html-C8yjkV_J.js","assets/Create Database.html-Dk4ojBIe.js","assets/Delete.html-r2LkCo81.js","assets/Drop Collection.html-D7slu1cU.js","assets/Find.html-i8fnYBKQ.js","assets/Insert.html-DCepr2n7.js","assets/Join.html-CpGKlvem.js","assets/Limit.html-dcFZt02z.js","assets/Query.html-CLSatCzA.js","assets/index.html-DSXb5Es6.js","assets/Sort.html-EVorkOcD.js","assets/Update.html-BWs7THOB.js","assets/install_MongoDB.html-BthISxJl.js","assets/Email.html-OZtoihag.js","assets/Events.html-Bwplr5d5.js","assets/File System.html-Cyvo9sIZ.js","assets/HTTP Modules.html-kJ4VRSIz.js","assets/Modules.html-BLPyvUii.js","assets/NPM.html-Df7drL4u.js","assets/index.html-D2YYv4z_.js","assets/URL Module.html-DXhp6KuV.js","assets/Upload Files.html-BlJJeg4z.js","assets/Create Database.html-CVdT9oPv.js","assets/Create Table.html-yXFdAChD.js","assets/Delete.html-CdR3XArU.js","assets/Drop Table.html-CJklxQ0O.js","assets/Insert Into.html-CTcNepGb.js","assets/Join.html-CPC23AI2.js","assets/Limit.html-EWlXSVQe.js","assets/Order By.html-BS3Cahtv.js","assets/index.html-CHeeVoIb.js","assets/Select From.html-BXfc5VwS.js","assets/Update.html-DJhdAiGF.js","assets/Where.html-7G_mJdka.js","assets/install_MySQL.html-CyjyKr3R.js","assets/404.html-DKowkC1c.js"] + } + return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) +} +/** +* @vue/shared v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function nl(e,t){const n=new Set(e.split(","));return t?r=>n.has(r.toLowerCase()):r=>n.has(r)}const me={},pn=[],Ye=()=>{},eu=()=>!1,tr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),rl=e=>e.startsWith("onUpdate:"),Le=Object.assign,ol=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},tu=Object.prototype.hasOwnProperty,ae=(e,t)=>tu.call(e,t),Z=Array.isArray,On=e=>zr(e)==="[object Map]",nu=e=>zr(e)==="[object Set]",ne=e=>typeof e=="function",Pe=e=>typeof e=="string",Vr=e=>typeof e=="symbol",ge=e=>e!==null&&typeof e=="object",ya=e=>(ge(e)||ne(e))&&ne(e.then)&&ne(e.catch),ru=Object.prototype.toString,zr=e=>ru.call(e),ou=e=>zr(e).slice(8,-1),lu=e=>zr(e)==="[object Object]",ll=e=>Pe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,hn=nl(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ur=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},su=/-(\w)/g,Ze=Ur(e=>e.replace(su,(t,n)=>n?n.toUpperCase():"")),au=/\B([A-Z])/g,Ln=Ur(e=>e.replace(au,"-$1").toLowerCase()),nr=Ur(e=>e.charAt(0).toUpperCase()+e.slice(1)),so=Ur(e=>e?`on${nr(e)}`:""),Ft=(e,t)=>!Object.is(e,t),ao=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},iu=e=>{const t=parseFloat(e);return isNaN(t)?e:t},cu=e=>{const t=Pe(e)?Number(e):NaN;return isNaN(t)?e:t};let Wl;const ba=()=>Wl||(Wl=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function sl(e){if(Z(e)){const t={};for(let n=0;n{if(n){const r=n.split(fu);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function al(e){let t="";if(Pe(e))t=e;else if(Z(e))for(let n=0;n=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),Xt()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Ot,n=qt;try{return Ot=!0,qt=this,this._runnings++,Gl(this),this.fn()}finally{ql(this),this._runnings--,qt=n,Ot=t}}stop(){var t;this.active&&(Gl(this),ql(this),(t=this.onStop)==null||t.call(this),this.active=!1)}}function bu(e){return e.value}function Gl(e){e._trackId++,e._depsLength=0}function ql(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},Or=new WeakMap,Kt=Symbol(""),Mo=Symbol("");function Ve(e,t,n){if(Ot&&qt){let r=Or.get(e);r||Or.set(e,r=new Map);let o=r.get(n);o||r.set(n,o=ka(()=>r.delete(n))),La(qt,o)}}function bt(e,t,n,r,o,l){const s=Or.get(e);if(!s)return;let a=[];if(t==="clear")a=[...s.values()];else if(n==="length"&&Z(e)){const i=Number(r);s.forEach((c,f)=>{(f==="length"||!Vr(f)&&f>=i)&&a.push(c)})}else switch(n!==void 0&&a.push(s.get(n)),t){case"add":Z(e)?ll(n)&&a.push(s.get("length")):(a.push(s.get(Kt)),On(e)&&a.push(s.get(Mo)));break;case"delete":Z(e)||(a.push(s.get(Kt)),On(e)&&a.push(s.get(Mo)));break;case"set":On(e)&&a.push(s.get(Kt));break}cl();for(const i of a)i&&Sa(i,4);ul()}function _u(e,t){var n;return(n=Or.get(e))==null?void 0:n.get(t)}const wu=nl("__proto__,__v_isRef,__isVue"),Ta=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Vr)),Kl=Eu();function Eu(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=le(this);for(let l=0,s=this.length;l{e[t]=function(...n){Jt(),cl();const r=le(this)[t].apply(this,n);return ul(),Xt(),r}}),e}function Cu(e){const t=le(this);return Ve(t,"has",e),t.hasOwnProperty(e)}class xa{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){const o=this._isReadonly,l=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return l;if(n==="__v_raw")return r===(o?l?Fu:Ia:l?Ra:Pa).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const s=Z(t);if(!o){if(s&&ae(Kl,n))return Reflect.get(Kl,n,r);if(n==="hasOwnProperty")return Cu}const a=Reflect.get(t,n,r);return(Vr(n)?Ta.has(n):wu(n))||(o||Ve(t,"get",n),l)?a:Re(a)?s&&ll(n)?a:a.value:ge(a)?o?or(a):rr(a):a}}class Aa extends xa{constructor(t=!1){super(!1,t)}set(t,n,r,o){let l=t[n];if(!this._isShallow){const i=yn(l);if(!Dr(r)&&!yn(r)&&(l=le(l),r=le(r)),!Z(t)&&Re(l)&&!Re(r))return i?!1:(l.value=r,!0)}const s=Z(t)&&ll(n)?Number(n)e,Wr=e=>Reflect.getPrototypeOf(e);function vr(e,t,n=!1,r=!1){e=e.__v_raw;const o=le(e),l=le(t);n||(Ft(t,l)&&Ve(o,"get",t),Ve(o,"get",l));const{has:s}=Wr(o),a=r?fl:n?hl:zn;if(s.call(o,t))return a(e.get(t));if(s.call(o,l))return a(e.get(l));e!==o&&e.get(t)}function gr(e,t=!1){const n=this.__v_raw,r=le(n),o=le(e);return t||(Ft(e,o)&&Ve(r,"has",e),Ve(r,"has",o)),e===o?n.has(e):n.has(e)||n.has(o)}function yr(e,t=!1){return e=e.__v_raw,!t&&Ve(le(e),"iterate",Kt),Reflect.get(e,"size",e)}function Ql(e){e=le(e);const t=le(this);return Wr(t).has.call(t,e)||(t.add(e),bt(t,"add",e,e)),this}function Yl(e,t){t=le(t);const n=le(this),{has:r,get:o}=Wr(n);let l=r.call(n,e);l||(e=le(e),l=r.call(n,e));const s=o.call(n,e);return n.set(e,t),l?Ft(t,s)&&bt(n,"set",e,t):bt(n,"add",e,t),this}function Jl(e){const t=le(this),{has:n,get:r}=Wr(t);let o=n.call(t,e);o||(e=le(e),o=n.call(t,e)),r&&r.call(t,e);const l=t.delete(e);return o&&bt(t,"delete",e,void 0),l}function Xl(){const e=le(this),t=e.size!==0,n=e.clear();return t&&bt(e,"clear",void 0,void 0),n}function br(e,t){return function(r,o){const l=this,s=l.__v_raw,a=le(s),i=t?fl:e?hl:zn;return!e&&Ve(a,"iterate",Kt),s.forEach((c,f)=>r.call(o,i(c),i(f),l))}}function _r(e,t,n){return function(...r){const o=this.__v_raw,l=le(o),s=On(l),a=e==="entries"||e===Symbol.iterator&&s,i=e==="keys"&&s,c=o[e](...r),f=n?fl:t?hl:zn;return!t&&Ve(l,"iterate",i?Mo:Kt),{next(){const{value:d,done:p}=c.next();return p?{value:d,done:p}:{value:a?[f(d[0]),f(d[1])]:f(d),done:p}},[Symbol.iterator](){return this}}}}function Lt(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function xu(){const e={get(l){return vr(this,l)},get size(){return yr(this)},has:gr,add:Ql,set:Yl,delete:Jl,clear:Xl,forEach:br(!1,!1)},t={get(l){return vr(this,l,!1,!0)},get size(){return yr(this)},has:gr,add:Ql,set:Yl,delete:Jl,clear:Xl,forEach:br(!1,!0)},n={get(l){return vr(this,l,!0)},get size(){return yr(this,!0)},has(l){return gr.call(this,l,!0)},add:Lt("add"),set:Lt("set"),delete:Lt("delete"),clear:Lt("clear"),forEach:br(!0,!1)},r={get(l){return vr(this,l,!0,!0)},get size(){return yr(this,!0)},has(l){return gr.call(this,l,!0)},add:Lt("add"),set:Lt("set"),delete:Lt("delete"),clear:Lt("clear"),forEach:br(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(l=>{e[l]=_r(l,!1,!1),n[l]=_r(l,!0,!1),t[l]=_r(l,!1,!0),r[l]=_r(l,!0,!0)}),[e,n,t,r]}const[Au,Pu,Ru,Iu]=xu();function dl(e,t){const n=t?e?Iu:Ru:e?Pu:Au;return(r,o,l)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?r:Reflect.get(ae(n,o)&&o in r?n:r,o,l)}const Mu={get:dl(!1,!1)},Ou={get:dl(!1,!0)},Du={get:dl(!0,!1)},Pa=new WeakMap,Ra=new WeakMap,Ia=new WeakMap,Fu=new WeakMap;function Nu(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function $u(e){return e.__v_skip||!Object.isExtensible(e)?0:Nu(ou(e))}function rr(e){return yn(e)?e:pl(e,!1,Su,Mu,Pa)}function Ma(e){return pl(e,!1,Tu,Ou,Ra)}function or(e){return pl(e,!0,ku,Du,Ia)}function pl(e,t,n,r,o){if(!ge(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const l=o.get(e);if(l)return l;const s=$u(e);if(s===0)return e;const a=new Proxy(e,s===2?r:n);return o.set(e,a),a}function mn(e){return yn(e)?mn(e.__v_raw):!!(e&&e.__v_isReactive)}function yn(e){return!!(e&&e.__v_isReadonly)}function Dr(e){return!!(e&&e.__v_isShallow)}function Oa(e){return mn(e)||yn(e)}function le(e){const t=e&&e.__v_raw;return t?le(t):e}function Da(e){return Object.isExtensible(e)&&Mr(e,"__v_skip",!0),e}const zn=e=>ge(e)?rr(e):e,hl=e=>ge(e)?or(e):e;class Fa{constructor(t,n,r,o){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new il(()=>t(this._value),()=>Dn(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=r}get value(){const t=le(this);return(!t._cacheable||t.effect.dirty)&&Ft(t._value,t._value=t.effect.run())&&Dn(t,4),ml(t),t.effect._dirtyLevel>=2&&Dn(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function Bu(e,t,n=!1){let r,o;const l=ne(e);return l?(r=e,o=Ye):(r=e.get,o=e.set),new Fa(r,o,l||!o,n)}function ml(e){var t;Ot&&qt&&(e=le(e),La(qt,(t=e.dep)!=null?t:e.dep=ka(()=>e.dep=void 0,e instanceof Fa?e:void 0)))}function Dn(e,t=4,n){e=le(e);const r=e.dep;r&&Sa(r,t)}function Re(e){return!!(e&&e.__v_isRef===!0)}function X(e){return Na(e,!1)}function Ge(e){return Na(e,!0)}function Na(e,t){return Re(e)?e:new Hu(e,t)}class Hu{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:le(t),this._value=n?t:zn(t)}get value(){return ml(this),this._value}set value(t){const n=this.__v_isShallow||Dr(t)||yn(t);t=n?t:le(t),Ft(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:zn(t),Dn(this,4))}}function Qt(e){return Re(e)?e.value:e}const ju={get:(e,t,n)=>Qt(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return Re(o)&&!Re(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function $a(e){return mn(e)?e:new Proxy(e,ju)}class Vu{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:r}=t(()=>ml(this),()=>Dn(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}}function vl(e){return new Vu(e)}function zu(e){const t=Z(e)?new Array(e.length):{};for(const n in e)t[n]=Ba(e,n);return t}class Uu{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,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 _u(le(this._object),this._key)}}class Wu{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Gr(e,t,n){return Re(e)?e:ne(e)?new Wu(e):ge(e)&&arguments.length>1?Ba(e,t,n):X(e)}function Ba(e,t,n){const r=e[t];return Re(r)?r:new Uu(e,t,n)}/** +* @vue/runtime-core v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Dt(e,t,n,r){try{return r?e(...r):e()}catch(o){lr(o,t,n)}}function Xe(e,t,n,r){if(ne(e)){const l=Dt(e,t,n,r);return l&&ya(l)&&l.catch(s=>{lr(s,t,n)}),l}const o=[];for(let l=0;l>>1,o=Oe[r],l=Wn(o);lit&&Oe.splice(t,1)}function Qu(e){Z(e)?vn.push(...e):(!At||!At.includes(e,e.allowRecurse?Ut+1:Ut))&&vn.push(e),ja()}function Zl(e,t,n=Un?it+1:0){for(;nWn(n)-Wn(r));if(vn.length=0,At){At.push(...t);return}for(At=t,Ut=0;Ute.id==null?1/0:e.id,Yu=(e,t)=>{const n=Wn(e)-Wn(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Va(e){Oo=!1,Un=!0,Oe.sort(Yu);try{for(it=0;itPe(m)?m.trim():m)),d&&(o=n.map(iu))}let a,i=r[a=so(t)]||r[a=so(Ze(t))];!i&&l&&(i=r[a=so(Ln(t))]),i&&Xe(i,e,6,o);const c=r[a+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,Xe(c,e,6,o)}}function za(e,t,n=!1){const r=t.emitsCache,o=r.get(e);if(o!==void 0)return o;const l=e.emits;let s={},a=!1;if(!ne(e)){const i=c=>{const f=za(c,t,!0);f&&(a=!0,Le(s,f))};!n&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return!l&&!a?(ge(e)&&r.set(e,null),null):(Z(l)?l.forEach(i=>s[i]=null):Le(s,l),ge(e)&&r.set(e,s),s)}function Kr(e,t){return!e||!tr(t)?!1:(t=t.slice(2).replace(/Once$/,""),ae(e,t[0].toLowerCase()+t.slice(1))||ae(e,Ln(t))||ae(e,t))}let Je=null,Ua=null;function Nr(e){const t=Je;return Je=e,Ua=e&&e.type.__scopeId||null,t}function Xu(e,t=Je,n){if(!t||e._n)return e;const r=(...o)=>{r._d&&fs(-1);const l=Nr(t);let s;try{s=e(...o)}finally{Nr(l),r._d&&fs(1)}return s};return r._n=!0,r._c=!0,r._d=!0,r}function io(e){const{type:t,vnode:n,proxy:r,withProxy:o,props:l,propsOptions:[s],slots:a,attrs:i,emit:c,render:f,renderCache:d,data:p,setupState:m,ctx:g,inheritAttrs:E}=e;let _,b;const C=Nr(e);try{if(n.shapeFlag&4){const k=o||r,O=k;_=nt(f.call(O,k,d,l,m,p,g)),b=i}else{const k=t;_=nt(k.length>1?k(l,{attrs:i,slots:a,emit:c}):k(l,null)),b=t.props?i:Zu(i)}}catch(k){Hn.length=0,lr(k,e,1),_=Se(dt)}let y=_;if(b&&E!==!1){const k=Object.keys(b),{shapeFlag:O}=y;k.length&&O&7&&(s&&k.some(rl)&&(b=ef(b,s)),y=Nt(y,b))}return n.dirs&&(y=Nt(y),y.dirs=y.dirs?y.dirs.concat(n.dirs):n.dirs),n.transition&&(y.transition=n.transition),_=y,Nr(C),_}const Zu=e=>{let t;for(const n in e)(n==="class"||n==="style"||tr(n))&&((t||(t={}))[n]=e[n]);return t},ef=(e,t)=>{const n={};for(const r in e)(!rl(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function tf(e,t,n){const{props:r,children:o,component:l}=e,{props:s,children:a,patchFlag:i}=t,c=l.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&i>=0){if(i&1024)return!0;if(i&16)return r?es(r,s,c):!!s;if(i&8){const f=t.dynamicProps;for(let d=0;de.__isSuspense;function Ga(e,t){t&&t.pendingBranch?Z(e)?t.effects.push(...e):t.effects.push(e):Qu(e)}const sf=Symbol.for("v-scx"),af=()=>xe(sf);function qa(e,t){return yl(e,null,t)}const wr={};function ce(e,t,n){return yl(e,t,n)}function yl(e,t,{immediate:n,deep:r,flush:o,once:l,onTrack:s,onTrigger:a}=me){if(t&&l){const L=t;t=(...D)=>{L(...D),O()}}const i=Te,c=L=>r===!0?L:fn(L,r===!1?1:void 0);let f,d=!1,p=!1;if(Re(e)?(f=()=>e.value,d=Dr(e)):mn(e)?(f=()=>c(e),d=!0):Z(e)?(p=!0,d=e.some(L=>mn(L)||Dr(L)),f=()=>e.map(L=>{if(Re(L))return L.value;if(mn(L))return c(L);if(ne(L))return Dt(L,i,2)})):ne(e)?t?f=()=>Dt(e,i,2):f=()=>(m&&m(),Xe(e,i,3,[g])):f=Ye,t&&r){const L=f;f=()=>fn(L())}let m,g=L=>{m=y.onStop=()=>{Dt(L,i,4),m=y.onStop=void 0}},E;if(cr)if(g=Ye,t?n&&Xe(t,i,3,[f(),p?[]:void 0,g]):f(),o==="sync"){const L=af();E=L.__watcherHandles||(L.__watcherHandles=[])}else return Ye;let _=p?new Array(e.length).fill(wr):wr;const b=()=>{if(!(!y.active||!y.dirty))if(t){const L=y.run();(r||d||(p?L.some((D,I)=>Ft(D,_[I])):Ft(L,_)))&&(m&&m(),Xe(t,i,3,[L,_===wr?void 0:p&&_[0]===wr?[]:_,g]),_=L)}else y.run()};b.allowRecurse=!!t;let C;o==="sync"?C=b:o==="post"?C=()=>Be(b,i&&i.suspense):(b.pre=!0,i&&(b.id=i.uid),C=()=>qr(b));const y=new il(f,Ye,C),k=wa(),O=()=>{y.stop(),k&&ol(k.effects,y)};return t?n?b():_=y.run():o==="post"?Be(y.run.bind(y),i&&i.suspense):y.run(),E&&E.push(O),O}function cf(e,t,n){const r=this.proxy,o=Pe(e)?e.includes(".")?Ka(r,e):()=>r[e]:e.bind(r,r);let l;ne(t)?l=t:(l=t.handler,n=t);const s=ir(this),a=yl(o,l.bind(r),n);return s(),a}function Ka(e,t){const n=t.split(".");return()=>{let r=e;for(let o=0;o0){if(n>=t)return e;n++}if(r=r||new Set,r.has(e))return e;if(r.add(e),Re(e))fn(e.value,t,n,r);else if(Z(e))for(let o=0;o{fn(o,t,n,r)});else if(lu(e))for(const o in e)fn(e[o],t,n,r);return e}function at(e,t,n,r){const o=e.dirs,l=t&&t.dirs;for(let s=0;s{e.isMounted=!0}),_l(()=>{e.isUnmounting=!0}),e}const Ke=[Function,Array],Ya={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Ke,onEnter:Ke,onAfterEnter:Ke,onEnterCancelled:Ke,onBeforeLeave:Ke,onLeave:Ke,onAfterLeave:Ke,onLeaveCancelled:Ke,onBeforeAppear:Ke,onAppear:Ke,onAfterAppear:Ke,onAppearCancelled:Ke},uf={name:"BaseTransition",props:Ya,setup(e,{slots:t}){const n=ar(),r=Qa();return()=>{const o=t.default&&bl(t.default(),!0);if(!o||!o.length)return;let l=o[0];if(o.length>1){for(const p of o)if(p.type!==dt){l=p;break}}const s=le(e),{mode:a}=s;if(r.isLeaving)return co(l);const i=ns(l);if(!i)return co(l);const c=Gn(i,s,r,n);qn(i,c);const f=n.subTree,d=f&&ns(f);if(d&&d.type!==dt&&!Wt(i,d)){const p=Gn(d,s,r,n);if(qn(d,p),a==="out-in")return r.isLeaving=!0,p.afterLeave=()=>{r.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},co(l);a==="in-out"&&i.type!==dt&&(p.delayLeave=(m,g,E)=>{const _=Ja(r,d);_[String(d.key)]=d,m[Pt]=()=>{g(),m[Pt]=void 0,delete c.delayedLeave},c.delayedLeave=E})}return l}}},ff=uf;function Ja(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Gn(e,t,n,r){const{appear:o,mode:l,persisted:s=!1,onBeforeEnter:a,onEnter:i,onAfterEnter:c,onEnterCancelled:f,onBeforeLeave:d,onLeave:p,onAfterLeave:m,onLeaveCancelled:g,onBeforeAppear:E,onAppear:_,onAfterAppear:b,onAppearCancelled:C}=t,y=String(e.key),k=Ja(n,e),O=(I,K)=>{I&&Xe(I,r,9,K)},L=(I,K)=>{const R=K[1];O(I,K),Z(I)?I.every(Y=>Y.length<=1)&&R():I.length<=1&&R()},D={mode:l,persisted:s,beforeEnter(I){let K=a;if(!n.isMounted)if(o)K=E||a;else return;I[Pt]&&I[Pt](!0);const R=k[y];R&&Wt(e,R)&&R.el[Pt]&&R.el[Pt](),O(K,[I])},enter(I){let K=i,R=c,Y=f;if(!n.isMounted)if(o)K=_||i,R=b||c,Y=C||f;else return;let N=!1;const ee=I[Er]=Ee=>{N||(N=!0,Ee?O(Y,[I]):O(R,[I]),D.delayedLeave&&D.delayedLeave(),I[Er]=void 0)};K?L(K,[I,ee]):ee()},leave(I,K){const R=String(e.key);if(I[Er]&&I[Er](!0),n.isUnmounting)return K();O(d,[I]);let Y=!1;const N=I[Pt]=ee=>{Y||(Y=!0,K(),ee?O(g,[I]):O(m,[I]),I[Pt]=void 0,k[R]===e&&delete k[R])};k[R]=e,p?L(p,[I,N]):N()},clone(I){return Gn(I,t,n,r)}};return D}function co(e){if(sr(e))return e=Nt(e),e.children=null,e}function ns(e){return sr(e)?e.children?e.children[0]:void 0:e}function qn(e,t){e.shapeFlag&6&&e.component?qn(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 bl(e,t=!1,n){let r=[],o=0;for(let l=0;l1)for(let l=0;l!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function df(e){ne(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:o=200,timeout:l,suspensible:s=!0,onError:a}=e;let i=null,c,f=0;const d=()=>(f++,i=null,p()),p=()=>{let m;return i||(m=i=t().catch(g=>{if(g=g instanceof Error?g:new Error(String(g)),a)return new Promise((E,_)=>{a(g,()=>E(d()),()=>_(g),f+1)});throw g}).then(g=>m!==i&&i?i:(g&&(g.__esModule||g[Symbol.toStringTag]==="Module")&&(g=g.default),c=g,g)))};return z({name:"AsyncComponentWrapper",__asyncLoader:p,get __asyncResolved(){return c},setup(){const m=Te;if(c)return()=>uo(c,m);const g=C=>{i=null,lr(C,m,13,!r)};if(s&&m.suspense||cr)return p().then(C=>()=>uo(C,m)).catch(C=>(g(C),()=>r?Se(r,{error:C}):null));const E=X(!1),_=X(),b=X(!!o);return o&&setTimeout(()=>{b.value=!1},o),l!=null&&setTimeout(()=>{if(!E.value&&!_.value){const C=new Error(`Async component timed out after ${l}ms.`);g(C),_.value=C}},l),p().then(()=>{E.value=!0,m.parent&&sr(m.parent.vnode)&&(m.parent.effect.dirty=!0,qr(m.parent.update))}).catch(C=>{g(C),_.value=C}),()=>{if(E.value&&c)return uo(c,m);if(_.value&&r)return Se(r,{error:_.value});if(n&&!b.value)return Se(n)}}})}function uo(e,t){const{ref:n,props:r,children:o,ce:l}=t.vnode,s=Se(e,r,o);return s.ref=n,s.ce=l,delete t.vnode.ce,s}const sr=e=>e.type.__isKeepAlive;function pf(e,t){Xa(e,"a",t)}function hf(e,t){Xa(e,"da",t)}function Xa(e,t,n=Te){const r=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Qr(t,r,n),n){let o=n.parent;for(;o&&o.parent;)sr(o.parent.vnode)&&mf(r,t,n,o),o=o.parent}}function mf(e,t,n,r){const o=Qr(t,e,r,!0);Sn(()=>{ol(r[t],o)},n)}function Qr(e,t,n=Te,r=!1){if(n){const o=n[e]||(n[e]=[]),l=t.__weh||(t.__weh=(...s)=>{if(n.isUnmounted)return;Jt();const a=ir(n),i=Xe(t,n,e,s);return a(),Xt(),i});return r?o.unshift(l):o.push(l),l}}const _t=e=>(t,n=Te)=>(!cr||e==="sp")&&Qr(e,(...r)=>t(...r),n),vf=_t("bm"),ye=_t("m"),gf=_t("bu"),Za=_t("u"),_l=_t("bum"),Sn=_t("um"),yf=_t("sp"),bf=_t("rtg"),_f=_t("rtc");function wf(e,t=Te){Qr("ec",e,t)}const Do=e=>e?pi(e)?Ll(e)||e.proxy:Do(e.parent):null,Nn=Le(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=>Do(e.parent),$root:e=>Do(e.root),$emit:e=>e.emit,$options:e=>wl(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,qr(e.update)}),$nextTick:e=>e.n||(e.n=Ht.bind(e.proxy)),$watch:e=>cf.bind(e)}),fo=(e,t)=>e!==me&&!e.__isScriptSetup&&ae(e,t),Ef={get({_:e},t){const{ctx:n,setupState:r,data:o,props:l,accessCache:s,type:a,appContext:i}=e;let c;if(t[0]!=="$"){const m=s[t];if(m!==void 0)switch(m){case 1:return r[t];case 2:return o[t];case 4:return n[t];case 3:return l[t]}else{if(fo(r,t))return s[t]=1,r[t];if(o!==me&&ae(o,t))return s[t]=2,o[t];if((c=e.propsOptions[0])&&ae(c,t))return s[t]=3,l[t];if(n!==me&&ae(n,t))return s[t]=4,n[t];Fo&&(s[t]=0)}}const f=Nn[t];let d,p;if(f)return t==="$attrs"&&Ve(e,"get",t),f(e);if((d=a.__cssModules)&&(d=d[t]))return d;if(n!==me&&ae(n,t))return s[t]=4,n[t];if(p=i.config.globalProperties,ae(p,t))return p[t]},set({_:e},t,n){const{data:r,setupState:o,ctx:l}=e;return fo(o,t)?(o[t]=n,!0):r!==me&&ae(r,t)?(r[t]=n,!0):ae(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(l[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:o,propsOptions:l}},s){let a;return!!n[s]||e!==me&&ae(e,s)||fo(t,s)||(a=l[0])&&ae(a,s)||ae(r,s)||ae(Nn,s)||ae(o.config.globalProperties,s)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ae(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function rs(e){return Z(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Fo=!0;function Cf(e){const t=wl(e),n=e.proxy,r=e.ctx;Fo=!1,t.beforeCreate&&os(t.beforeCreate,e,"bc");const{data:o,computed:l,methods:s,watch:a,provide:i,inject:c,created:f,beforeMount:d,mounted:p,beforeUpdate:m,updated:g,activated:E,deactivated:_,beforeDestroy:b,beforeUnmount:C,destroyed:y,unmounted:k,render:O,renderTracked:L,renderTriggered:D,errorCaptured:I,serverPrefetch:K,expose:R,inheritAttrs:Y,components:N,directives:ee,filters:Ee}=t;if(c&&Lf(c,r,null),s)for(const re in s){const W=s[re];ne(W)&&(r[re]=W.bind(n))}if(o){const re=o.call(n,n);ge(re)&&(e.data=rr(re))}if(Fo=!0,l)for(const re in l){const W=l[re],et=ne(W)?W.bind(n,n):ne(W.get)?W.get.bind(n,n):Ye,Ct=!ne(W)&&ne(W.set)?W.set.bind(n):Ye,lt=S({get:et,set:Ct});Object.defineProperty(r,re,{enumerable:!0,configurable:!0,get:()=>lt.value,set:$e=>lt.value=$e})}if(a)for(const re in a)ei(a[re],r,n,re);if(i){const re=ne(i)?i.call(n):i;Reflect.ownKeys(re).forEach(W=>{gn(W,re[W])})}f&&os(f,e,"c");function G(re,W){Z(W)?W.forEach(et=>re(et.bind(n))):W&&re(W.bind(n))}if(G(vf,d),G(ye,p),G(gf,m),G(Za,g),G(pf,E),G(hf,_),G(wf,I),G(_f,L),G(bf,D),G(_l,C),G(Sn,k),G(yf,K),Z(R))if(R.length){const re=e.exposed||(e.exposed={});R.forEach(W=>{Object.defineProperty(re,W,{get:()=>n[W],set:et=>n[W]=et})})}else e.exposed||(e.exposed={});O&&e.render===Ye&&(e.render=O),Y!=null&&(e.inheritAttrs=Y),N&&(e.components=N),ee&&(e.directives=ee)}function Lf(e,t,n=Ye){Z(e)&&(e=No(e));for(const r in e){const o=e[r];let l;ge(o)?"default"in o?l=xe(o.from||r,o.default,!0):l=xe(o.from||r):l=xe(o),Re(l)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>l.value,set:s=>l.value=s}):t[r]=l}}function os(e,t,n){Xe(Z(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function ei(e,t,n,r){const o=r.includes(".")?Ka(n,r):()=>n[r];if(Pe(e)){const l=t[e];ne(l)&&ce(o,l)}else if(ne(e))ce(o,e.bind(n));else if(ge(e))if(Z(e))e.forEach(l=>ei(l,t,n,r));else{const l=ne(e.handler)?e.handler.bind(n):t[e.handler];ne(l)&&ce(o,l,e)}}function wl(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:l,config:{optionMergeStrategies:s}}=e.appContext,a=l.get(t);let i;return a?i=a:!o.length&&!n&&!r?i=t:(i={},o.length&&o.forEach(c=>$r(i,c,s,!0)),$r(i,t,s)),ge(t)&&l.set(t,i),i}function $r(e,t,n,r=!1){const{mixins:o,extends:l}=t;l&&$r(e,l,n,!0),o&&o.forEach(s=>$r(e,s,n,!0));for(const s in t)if(!(r&&s==="expose")){const a=Sf[s]||n&&n[s];e[s]=a?a(e[s],t[s]):t[s]}return e}const Sf={data:ls,props:ss,emits:ss,methods:In,computed:In,beforeCreate:De,created:De,beforeMount:De,mounted:De,beforeUpdate:De,updated:De,beforeDestroy:De,beforeUnmount:De,destroyed:De,unmounted:De,activated:De,deactivated:De,errorCaptured:De,serverPrefetch:De,components:In,directives:In,watch:Tf,provide:ls,inject:kf};function ls(e,t){return t?e?function(){return Le(ne(e)?e.call(this,this):e,ne(t)?t.call(this,this):t)}:t:e}function kf(e,t){return In(No(e),No(t))}function No(e){if(Z(e)){const t={};for(let n=0;n1)return n&&ne(t)?t.call(r&&r.proxy):t}}function Pf(e,t,n,r=!1){const o={},l={};Mr(l,Yr,1),e.propsDefaults=Object.create(null),ni(e,t,o,l);for(const s in e.propsOptions[0])s in o||(o[s]=void 0);n?e.props=r?o:Ma(o):e.type.props?e.props=o:e.props=l,e.attrs=l}function Rf(e,t,n,r){const{props:o,attrs:l,vnode:{patchFlag:s}}=e,a=le(o),[i]=e.propsOptions;let c=!1;if((r||s>0)&&!(s&16)){if(s&8){const f=e.vnode.dynamicProps;for(let d=0;d{i=!0;const[p,m]=ri(d,t,!0);Le(s,p),m&&a.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!l&&!i)return ge(e)&&r.set(e,pn),pn;if(Z(l))for(let f=0;f-1,m[1]=E<0||g-1||ae(m,"default"))&&a.push(d)}}}const c=[s,a];return ge(e)&&r.set(e,c),c}function as(e){return e[0]!=="$"&&!hn(e)}function is(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function cs(e,t){return is(e)===is(t)}function us(e,t){return Z(t)?t.findIndex(n=>cs(n,e)):ne(t)&&cs(t,e)?0:-1}const oi=e=>e[0]==="_"||e==="$stable",El=e=>Z(e)?e.map(nt):[nt(e)],If=(e,t,n)=>{if(t._n)return t;const r=Xu((...o)=>El(t(...o)),n);return r._c=!1,r},li=(e,t,n)=>{const r=e._ctx;for(const o in e){if(oi(o))continue;const l=e[o];if(ne(l))t[o]=If(o,l,r);else if(l!=null){const s=El(l);t[o]=()=>s}}},si=(e,t)=>{const n=El(t);e.slots.default=()=>n},Mf=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=le(t),Mr(t,"_",n)):li(t,e.slots={})}else e.slots={},t&&si(e,t);Mr(e.slots,Yr,1)},Of=(e,t,n)=>{const{vnode:r,slots:o}=e;let l=!0,s=me;if(r.shapeFlag&32){const a=t._;a?n&&a===1?l=!1:(Le(o,t),!n&&a===1&&delete o._):(l=!t.$stable,li(t,o)),s=t}else t&&(si(e,t),s={default:1});if(l)for(const a in o)!oi(a)&&s[a]==null&&delete o[a]};function Br(e,t,n,r,o=!1){if(Z(e)){e.forEach((p,m)=>Br(p,t&&(Z(t)?t[m]:t),n,r,o));return}if(Fn(r)&&!o)return;const l=r.shapeFlag&4?Ll(r.component)||r.component.proxy:r.el,s=o?null:l,{i:a,r:i}=e,c=t&&t.r,f=a.refs===me?a.refs={}:a.refs,d=a.setupState;if(c!=null&&c!==i&&(Pe(c)?(f[c]=null,ae(d,c)&&(d[c]=null)):Re(c)&&(c.value=null)),ne(i))Dt(i,a,12,[s,f]);else{const p=Pe(i),m=Re(i);if(p||m){const g=()=>{if(e.f){const E=p?ae(d,i)?d[i]:f[i]:i.value;o?Z(E)&&ol(E,l):Z(E)?E.includes(l)||E.push(l):p?(f[i]=[l],ae(d,i)&&(d[i]=f[i])):(i.value=[l],e.k&&(f[e.k]=i.value))}else p?(f[i]=s,ae(d,i)&&(d[i]=s)):m&&(i.value=s,e.k&&(f[e.k]=s))};s?(g.id=-1,Be(g,n)):g()}}}let St=!1;const Df=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",Ff=e=>e.namespaceURI.includes("MathML"),Cr=e=>{if(Df(e))return"svg";if(Ff(e))return"mathml"},Lr=e=>e.nodeType===8;function Nf(e){const{mt:t,p:n,o:{patchProp:r,createText:o,nextSibling:l,parentNode:s,remove:a,insert:i,createComment:c}}=e,f=(y,k)=>{if(!k.hasChildNodes()){n(null,y,k),Fr(),k._vnode=y;return}St=!1,d(k.firstChild,y,null,null,null),Fr(),k._vnode=y,St&&console.error("Hydration completed but contains mismatches.")},d=(y,k,O,L,D,I=!1)=>{const K=Lr(y)&&y.data==="[",R=()=>E(y,k,O,L,D,K),{type:Y,ref:N,shapeFlag:ee,patchFlag:Ee}=k;let Ce=y.nodeType;k.el=y,Ee===-2&&(I=!1,k.dynamicChildren=null);let G=null;switch(Y){case bn:Ce!==3?k.children===""?(i(k.el=o(""),s(y),y),G=y):G=R():(y.data!==k.children&&(St=!0,y.data=k.children),G=l(y));break;case dt:C(y)?(G=l(y),b(k.el=y.content.firstChild,y,O)):Ce!==8||K?G=R():G=l(y);break;case Bn:if(K&&(y=l(y),Ce=y.nodeType),Ce===1||Ce===3){G=y;const re=!k.children.length;for(let W=0;W{I=I||!!k.dynamicChildren;const{type:K,props:R,patchFlag:Y,shapeFlag:N,dirs:ee,transition:Ee}=k,Ce=K==="input"||K==="option";if(Ce||Y!==-1){ee&&at(k,null,O,"created");let G=!1;if(C(y)){G=ai(L,Ee)&&O&&O.vnode.props&&O.vnode.props.appear;const W=y.content.firstChild;G&&Ee.beforeEnter(W),b(W,y,O),k.el=y=W}if(N&16&&!(R&&(R.innerHTML||R.textContent))){let W=m(y.firstChild,k,y,O,L,D,I);for(;W;){St=!0;const et=W;W=W.nextSibling,a(et)}}else N&8&&y.textContent!==k.children&&(St=!0,y.textContent=k.children);if(R)if(Ce||!I||Y&48)for(const W in R)(Ce&&(W.endsWith("value")||W==="indeterminate")||tr(W)&&!hn(W)||W[0]===".")&&r(y,W,null,R[W],void 0,void 0,O);else R.onClick&&r(y,"onClick",null,R.onClick,void 0,void 0,O);let re;(re=R&&R.onVnodeBeforeMount)&&Qe(re,O,k),ee&&at(k,null,O,"beforeMount"),((re=R&&R.onVnodeMounted)||ee||G)&&Ga(()=>{re&&Qe(re,O,k),G&&Ee.enter(y),ee&&at(k,null,O,"mounted")},L)}return y.nextSibling},m=(y,k,O,L,D,I,K)=>{K=K||!!k.dynamicChildren;const R=k.children,Y=R.length;for(let N=0;N{const{slotScopeIds:K}=k;K&&(D=D?D.concat(K):K);const R=s(y),Y=m(l(y),k,R,O,L,D,I);return Y&&Lr(Y)&&Y.data==="]"?l(k.anchor=Y):(St=!0,i(k.anchor=c("]"),R,Y),Y)},E=(y,k,O,L,D,I)=>{if(St=!0,k.el=null,I){const Y=_(y);for(;;){const N=l(y);if(N&&N!==Y)a(N);else break}}const K=l(y),R=s(y);return a(y),n(null,k,R,K,O,L,Cr(R),D),K},_=(y,k="[",O="]")=>{let L=0;for(;y;)if(y=l(y),y&&Lr(y)&&(y.data===k&&L++,y.data===O)){if(L===0)return l(y);L--}return y},b=(y,k,O)=>{const L=k.parentNode;L&&L.replaceChild(y,k);let D=O;for(;D;)D.vnode.el===k&&(D.vnode.el=D.subTree.el=y),D=D.parent},C=y=>y.nodeType===1&&y.tagName.toLowerCase()==="template";return[f,d]}const Be=Ga;function $f(e){return Bf(e,Nf)}function Bf(e,t){const n=ba();n.__VUE__=!0;const{insert:r,remove:o,patchProp:l,createElement:s,createText:a,createComment:i,setText:c,setElementText:f,parentNode:d,nextSibling:p,setScopeId:m=Ye,insertStaticContent:g}=e,E=(h,v,w,A=null,T=null,F=null,H=void 0,M=null,$=!!v.dynamicChildren)=>{if(h===v)return;h&&!Wt(h,v)&&(A=x(h),$e(h,T,F,!0),h=null),v.patchFlag===-2&&($=!1,v.dynamicChildren=null);const{type:P,ref:V,shapeFlag:J}=v;switch(P){case bn:_(h,v,w,A);break;case dt:b(h,v,w,A);break;case Bn:h==null&&C(v,w,A,H);break;case We:N(h,v,w,A,T,F,H,M,$);break;default:J&1?O(h,v,w,A,T,F,H,M,$):J&6?ee(h,v,w,A,T,F,H,M,$):(J&64||J&128)&&P.process(h,v,w,A,T,F,H,M,$,U)}V!=null&&T&&Br(V,h&&h.ref,F,v||h,!v)},_=(h,v,w,A)=>{if(h==null)r(v.el=a(v.children),w,A);else{const T=v.el=h.el;v.children!==h.children&&c(T,v.children)}},b=(h,v,w,A)=>{h==null?r(v.el=i(v.children||""),w,A):v.el=h.el},C=(h,v,w,A)=>{[h.el,h.anchor]=g(h.children,v,w,A,h.el,h.anchor)},y=({el:h,anchor:v},w,A)=>{let T;for(;h&&h!==v;)T=p(h),r(h,w,A),h=T;r(v,w,A)},k=({el:h,anchor:v})=>{let w;for(;h&&h!==v;)w=p(h),o(h),h=w;o(v)},O=(h,v,w,A,T,F,H,M,$)=>{v.type==="svg"?H="svg":v.type==="math"&&(H="mathml"),h==null?L(v,w,A,T,F,H,M,$):K(h,v,T,F,H,M,$)},L=(h,v,w,A,T,F,H,M)=>{let $,P;const{props:V,shapeFlag:J,transition:q,dirs:te}=h;if($=h.el=s(h.type,F,V&&V.is,V),J&8?f($,h.children):J&16&&I(h.children,$,null,A,T,po(h,F),H,M),te&&at(h,null,A,"created"),D($,h,h.scopeId,H,A),V){for(const fe in V)fe!=="value"&&!hn(fe)&&l($,fe,null,V[fe],F,h.children,A,T,Me);"value"in V&&l($,"value",null,V.value,F),(P=V.onVnodeBeforeMount)&&Qe(P,A,h)}te&&at(h,null,A,"beforeMount");const oe=ai(T,q);oe&&q.beforeEnter($),r($,v,w),((P=V&&V.onVnodeMounted)||oe||te)&&Be(()=>{P&&Qe(P,A,h),oe&&q.enter($),te&&at(h,null,A,"mounted")},T)},D=(h,v,w,A,T)=>{if(w&&m(h,w),A)for(let F=0;F{for(let P=$;P{const M=v.el=h.el;let{patchFlag:$,dynamicChildren:P,dirs:V}=v;$|=h.patchFlag&16;const J=h.props||me,q=v.props||me;let te;if(w&&jt(w,!1),(te=q.onVnodeBeforeUpdate)&&Qe(te,w,v,h),V&&at(v,h,w,"beforeUpdate"),w&&jt(w,!0),P?R(h.dynamicChildren,P,M,w,A,po(v,T),F):H||W(h,v,M,null,w,A,po(v,T),F,!1),$>0){if($&16)Y(M,v,J,q,w,A,T);else if($&2&&J.class!==q.class&&l(M,"class",null,q.class,T),$&4&&l(M,"style",J.style,q.style,T),$&8){const oe=v.dynamicProps;for(let fe=0;fe{te&&Qe(te,w,v,h),V&&at(v,h,w,"updated")},A)},R=(h,v,w,A,T,F,H)=>{for(let M=0;M{if(w!==A){if(w!==me)for(const M in w)!hn(M)&&!(M in A)&&l(h,M,w[M],null,H,v.children,T,F,Me);for(const M in A){if(hn(M))continue;const $=A[M],P=w[M];$!==P&&M!=="value"&&l(h,M,P,$,H,v.children,T,F,Me)}"value"in A&&l(h,"value",w.value,A.value,H)}},N=(h,v,w,A,T,F,H,M,$)=>{const P=v.el=h?h.el:a(""),V=v.anchor=h?h.anchor:a("");let{patchFlag:J,dynamicChildren:q,slotScopeIds:te}=v;te&&(M=M?M.concat(te):te),h==null?(r(P,w,A),r(V,w,A),I(v.children||[],w,V,T,F,H,M,$)):J>0&&J&64&&q&&h.dynamicChildren?(R(h.dynamicChildren,q,w,T,F,H,M),(v.key!=null||T&&v===T.subTree)&&ii(h,v,!0)):W(h,v,w,V,T,F,H,M,$)},ee=(h,v,w,A,T,F,H,M,$)=>{v.slotScopeIds=M,h==null?v.shapeFlag&512?T.ctx.activate(v,w,A,H,$):Ee(v,w,A,T,F,H,$):Ce(h,v,$)},Ee=(h,v,w,A,T,F,H)=>{const M=h.component=Qf(h,A,T);if(sr(h)&&(M.ctx.renderer=U),Yf(M),M.asyncDep){if(T&&T.registerDep(M,G),!h.el){const $=M.subTree=Se(dt);b(null,$,v,w)}}else G(M,h,v,w,T,F,H)},Ce=(h,v,w)=>{const A=v.component=h.component;if(tf(h,v,w))if(A.asyncDep&&!A.asyncResolved){re(A,v,w);return}else A.next=v,Ku(A.update),A.effect.dirty=!0,A.update();else v.el=h.el,A.vnode=v},G=(h,v,w,A,T,F,H)=>{const M=()=>{if(h.isMounted){let{next:V,bu:J,u:q,parent:te,vnode:oe}=h;{const sn=ci(h);if(sn){V&&(V.el=oe.el,re(h,V,H)),sn.asyncDep.then(()=>{h.isUnmounted||M()});return}}let fe=V,he;jt(h,!1),V?(V.el=oe.el,re(h,V,H)):V=oe,J&&ao(J),(he=V.props&&V.props.onVnodeBeforeUpdate)&&Qe(he,te,V,oe),jt(h,!0);const ke=io(h),tt=h.subTree;h.subTree=ke,E(tt,ke,d(tt.el),x(tt),h,T,F),V.el=ke.el,fe===null&&nf(h,ke.el),q&&Be(q,T),(he=V.props&&V.props.onVnodeUpdated)&&Be(()=>Qe(he,te,V,oe),T)}else{let V;const{el:J,props:q}=v,{bm:te,m:oe,parent:fe}=h,he=Fn(v);if(jt(h,!1),te&&ao(te),!he&&(V=q&&q.onVnodeBeforeMount)&&Qe(V,fe,v),jt(h,!0),J&&pe){const ke=()=>{h.subTree=io(h),pe(J,h.subTree,h,T,null)};he?v.type.__asyncLoader().then(()=>!h.isUnmounted&&ke()):ke()}else{const ke=h.subTree=io(h);E(null,ke,w,A,h,T,F),v.el=ke.el}if(oe&&Be(oe,T),!he&&(V=q&&q.onVnodeMounted)){const ke=v;Be(()=>Qe(V,fe,ke),T)}(v.shapeFlag&256||fe&&Fn(fe.vnode)&&fe.vnode.shapeFlag&256)&&h.a&&Be(h.a,T),h.isMounted=!0,v=w=A=null}},$=h.effect=new il(M,Ye,()=>qr(P),h.scope),P=h.update=()=>{$.dirty&&$.run()};P.id=h.uid,jt(h,!0),P()},re=(h,v,w)=>{v.component=h;const A=h.vnode.props;h.vnode=v,h.next=null,Rf(h,v.props,A,w),Of(h,v.children,w),Jt(),Zl(h),Xt()},W=(h,v,w,A,T,F,H,M,$=!1)=>{const P=h&&h.children,V=h?h.shapeFlag:0,J=v.children,{patchFlag:q,shapeFlag:te}=v;if(q>0){if(q&128){Ct(P,J,w,A,T,F,H,M,$);return}else if(q&256){et(P,J,w,A,T,F,H,M,$);return}}te&8?(V&16&&Me(P,T,F),J!==P&&f(w,J)):V&16?te&16?Ct(P,J,w,A,T,F,H,M,$):Me(P,T,F,!0):(V&8&&f(w,""),te&16&&I(J,w,A,T,F,H,M,$))},et=(h,v,w,A,T,F,H,M,$)=>{h=h||pn,v=v||pn;const P=h.length,V=v.length,J=Math.min(P,V);let q;for(q=0;qV?Me(h,T,F,!0,!1,J):I(v,w,A,T,F,H,M,$,J)},Ct=(h,v,w,A,T,F,H,M,$)=>{let P=0;const V=v.length;let J=h.length-1,q=V-1;for(;P<=J&&P<=q;){const te=h[P],oe=v[P]=$?Rt(v[P]):nt(v[P]);if(Wt(te,oe))E(te,oe,w,null,T,F,H,M,$);else break;P++}for(;P<=J&&P<=q;){const te=h[J],oe=v[q]=$?Rt(v[q]):nt(v[q]);if(Wt(te,oe))E(te,oe,w,null,T,F,H,M,$);else break;J--,q--}if(P>J){if(P<=q){const te=q+1,oe=teq)for(;P<=J;)$e(h[P],T,F,!0),P++;else{const te=P,oe=P,fe=new Map;for(P=oe;P<=q;P++){const ze=v[P]=$?Rt(v[P]):nt(v[P]);ze.key!=null&&fe.set(ze.key,P)}let he,ke=0;const tt=q-oe+1;let sn=!1,Vl=0;const xn=new Array(tt);for(P=0;P=tt){$e(ze,T,F,!0);continue}let st;if(ze.key!=null)st=fe.get(ze.key);else for(he=oe;he<=q;he++)if(xn[he-oe]===0&&Wt(ze,v[he])){st=he;break}st===void 0?$e(ze,T,F,!0):(xn[st-oe]=P+1,st>=Vl?Vl=st:sn=!0,E(ze,v[st],w,null,T,F,H,M,$),ke++)}const zl=sn?Hf(xn):pn;for(he=zl.length-1,P=tt-1;P>=0;P--){const ze=oe+P,st=v[ze],Ul=ze+1{const{el:F,type:H,transition:M,children:$,shapeFlag:P}=h;if(P&6){lt(h.component.subTree,v,w,A);return}if(P&128){h.suspense.move(v,w,A);return}if(P&64){H.move(h,v,w,U);return}if(H===We){r(F,v,w);for(let J=0;J<$.length;J++)lt($[J],v,w,A);r(h.anchor,v,w);return}if(H===Bn){y(h,v,w);return}if(A!==2&&P&1&&M)if(A===0)M.beforeEnter(F),r(F,v,w),Be(()=>M.enter(F),T);else{const{leave:J,delayLeave:q,afterLeave:te}=M,oe=()=>r(F,v,w),fe=()=>{J(F,()=>{oe(),te&&te()})};q?q(F,oe,fe):fe()}else r(F,v,w)},$e=(h,v,w,A=!1,T=!1)=>{const{type:F,props:H,ref:M,children:$,dynamicChildren:P,shapeFlag:V,patchFlag:J,dirs:q}=h;if(M!=null&&Br(M,null,w,h,!0),V&256){v.ctx.deactivate(h);return}const te=V&1&&q,oe=!Fn(h);let fe;if(oe&&(fe=H&&H.onVnodeBeforeUnmount)&&Qe(fe,v,h),V&6)mr(h.component,w,A);else{if(V&128){h.suspense.unmount(w,A);return}te&&at(h,null,v,"beforeUnmount"),V&64?h.type.remove(h,v,w,T,U,A):P&&(F!==We||J>0&&J&64)?Me(P,v,w,!1,!0):(F===We&&J&384||!T&&V&16)&&Me($,v,w),A&&on(h)}(oe&&(fe=H&&H.onVnodeUnmounted)||te)&&Be(()=>{fe&&Qe(fe,v,h),te&&at(h,null,v,"unmounted")},w)},on=h=>{const{type:v,el:w,anchor:A,transition:T}=h;if(v===We){ln(w,A);return}if(v===Bn){k(h);return}const F=()=>{o(w),T&&!T.persisted&&T.afterLeave&&T.afterLeave()};if(h.shapeFlag&1&&T&&!T.persisted){const{leave:H,delayLeave:M}=T,$=()=>H(w,F);M?M(h.el,F,$):$()}else F()},ln=(h,v)=>{let w;for(;h!==v;)w=p(h),o(h),h=w;o(v)},mr=(h,v,w)=>{const{bum:A,scope:T,update:F,subTree:H,um:M}=h;A&&ao(A),T.stop(),F&&(F.active=!1,$e(H,h,v,w)),M&&Be(M,v),Be(()=>{h.isUnmounted=!0},v),v&&v.pendingBranch&&!v.isUnmounted&&h.asyncDep&&!h.asyncResolved&&h.suspenseId===v.pendingId&&(v.deps--,v.deps===0&&v.resolve())},Me=(h,v,w,A=!1,T=!1,F=0)=>{for(let H=F;Hh.shapeFlag&6?x(h.component.subTree):h.shapeFlag&128?h.suspense.next():p(h.anchor||h.el);let j=!1;const B=(h,v,w)=>{h==null?v._vnode&&$e(v._vnode,null,null,!0):E(v._vnode||null,h,v,null,null,null,w),j||(j=!0,Zl(),Fr(),j=!1),v._vnode=h},U={p:E,um:$e,m:lt,r:on,mt:Ee,mc:I,pc:W,pbc:R,n:x,o:e};let ie,pe;return t&&([ie,pe]=t(U)),{render:B,hydrate:ie,createApp:Af(B,ie)}}function po({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function jt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function ai(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ii(e,t,n=!1){const r=e.children,o=t.children;if(Z(r)&&Z(o))for(let l=0;l>1,e[n[a]]0&&(t[r]=n[l-1]),n[l]=r)}}for(l=n.length,s=n[l-1];l-- >0;)n[l]=s,s=t[s];return n}function ci(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ci(t)}const jf=e=>e.__isTeleport,We=Symbol.for("v-fgt"),bn=Symbol.for("v-txt"),dt=Symbol.for("v-cmt"),Bn=Symbol.for("v-stc"),Hn=[];let rt=null;function d3(e=!1){Hn.push(rt=e?null:[])}function Vf(){Hn.pop(),rt=Hn[Hn.length-1]||null}let Kn=1;function fs(e){Kn+=e}function zf(e){return e.dynamicChildren=Kn>0?rt||pn:null,Vf(),Kn>0&&rt&&rt.push(e),e}function p3(e,t,n,r,o,l){return zf(fi(e,t,n,r,o,l,!0))}function Bo(e){return e?e.__v_isVNode===!0:!1}function Wt(e,t){return e.type===t.type&&e.key===t.key}const Yr="__vInternal",ui=({key:e})=>e??null,Rr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Pe(e)||Re(e)||ne(e)?{i:Je,r:e,k:t,f:!!n}:e:null);function fi(e,t=null,n=null,r=0,o=null,l=e===We?0:1,s=!1,a=!1){const i={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ui(t),ref:t&&Rr(t),scopeId:Ua,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:l,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:Je};return a?(Cl(i,n),l&128&&e.normalize(i)):n&&(i.shapeFlag|=Pe(n)?8:16),Kn>0&&!s&&rt&&(i.patchFlag>0||l&6)&&i.patchFlag!==32&&rt.push(i),i}const Se=Uf;function Uf(e,t=null,n=null,r=0,o=null,l=!1){if((!e||e===rf)&&(e=dt),Bo(e)){const a=Nt(e,t,!0);return n&&Cl(a,n),Kn>0&&!l&&rt&&(a.shapeFlag&6?rt[rt.indexOf(e)]=a:rt.push(a)),a.patchFlag|=-2,a}if(td(e)&&(e=e.__vccOpts),t){t=Wf(t);let{class:a,style:i}=t;a&&!Pe(a)&&(t.class=al(a)),ge(i)&&(Oa(i)&&!Z(i)&&(i=Le({},i)),t.style=sl(i))}const s=Pe(e)?1:lf(e)?128:jf(e)?64:ge(e)?4:ne(e)?2:0;return fi(e,t,n,r,o,s,l,!0)}function Wf(e){return e?Oa(e)||Yr in e?Le({},e):e:null}function Nt(e,t,n=!1){const{props:r,ref:o,patchFlag:l,children:s}=e,a=t?Gf(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&ui(a),ref:t&&t.ref?n&&o?Z(o)?o.concat(Rr(t)):[o,Rr(t)]:Rr(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!==We?l===-1?16:l|16:l,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Nt(e.ssContent),ssFallback:e.ssFallback&&Nt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function di(e=" ",t=0){return Se(bn,null,e,t)}function h3(e,t){const n=Se(Bn,null,e);return n.staticCount=t,n}function nt(e){return e==null||typeof e=="boolean"?Se(dt):Z(e)?Se(We,null,e.slice()):typeof e=="object"?Rt(e):Se(bn,null,String(e))}function Rt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Nt(e)}function Cl(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(Z(t))n=16;else if(typeof t=="object")if(r&65){const o=t.default;o&&(o._c&&(o._d=!1),Cl(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!(Yr in t)?t._ctx=Je:o===3&&Je&&(Je.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ne(t)?(t={default:t,_ctx:Je},n=32):(t=String(t),r&64?(n=16,t=[di(t)]):n=8);e.children=t,e.shapeFlag|=n}function Gf(...e){const t={};for(let n=0;nTe||Je;let Hr,Ho;{const e=ba(),t=(n,r)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(r),l=>{o.length>1?o.forEach(s=>s(l)):o[0](l)}};Hr=t("__VUE_INSTANCE_SETTERS__",n=>Te=n),Ho=t("__VUE_SSR_SETTERS__",n=>cr=n)}const ir=e=>{const t=Te;return Hr(e),e.scope.on(),()=>{e.scope.off(),Hr(t)}},ds=()=>{Te&&Te.scope.off(),Hr(null)};function pi(e){return e.vnode.shapeFlag&4}let cr=!1;function Yf(e,t=!1){t&&Ho(t);const{props:n,children:r}=e.vnode,o=pi(e);Pf(e,n,o,t),Mf(e,r);const l=o?Jf(e,t):void 0;return t&&Ho(!1),l}function Jf(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Da(new Proxy(e.ctx,Ef));const{setup:r}=n;if(r){const o=e.setupContext=r.length>1?Zf(e):null,l=ir(e);Jt();const s=Dt(r,e,0,[e.props,o]);if(Xt(),l(),ya(s)){if(s.then(ds,ds),t)return s.then(a=>{ps(e,a,t)}).catch(a=>{lr(a,e,0)});e.asyncDep=s}else ps(e,s,t)}else hi(e,t)}function ps(e,t,n){ne(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ge(t)&&(e.setupState=$a(t)),hi(e,n)}let hs;function hi(e,t,n){const r=e.type;if(!e.render){if(!t&&hs&&!r.render){const o=r.template||wl(e).template;if(o){const{isCustomElement:l,compilerOptions:s}=e.appContext.config,{delimiters:a,compilerOptions:i}=r,c=Le(Le({isCustomElement:l,delimiters:a},s),i);r.render=hs(o,c)}}e.render=r.render||Ye}{const o=ir(e);Jt();try{Cf(e)}finally{Xt(),o()}}}function Xf(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return Ve(e,"get","$attrs"),t[n]}}))}function Zf(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return Xf(e)},slots:e.slots,emit:e.emit,expose:t}}function Ll(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy($a(Da(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Nn)return Nn[n](e)},has(t,n){return n in t||n in Nn}}))}function ed(e,t=!0){return ne(e)?e.displayName||e.name:e.name||t&&e.__name}function td(e){return ne(e)&&"__vccOpts"in e}const S=(e,t)=>Bu(e,t,cr);function u(e,t,n){const r=arguments.length;return r===2?ge(t)&&!Z(t)?Bo(t)?Se(e,null,[t]):Se(e,t):Se(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Bo(n)&&(n=[n]),Se(e,t,n))}const nd="3.4.21";/** +* @vue/runtime-dom v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const rd="http://www.w3.org/2000/svg",od="http://www.w3.org/1998/Math/MathML",It=typeof document<"u"?document:null,ms=It&&It.createElement("template"),ld={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const o=t==="svg"?It.createElementNS(rd,e):t==="mathml"?It.createElementNS(od,e):It.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>It.createTextNode(e),createComment:e=>It.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>It.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,o,l){const s=n?n.previousSibling:t.lastChild;if(o&&(o===l||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===l||!(o=o.nextSibling)););else{ms.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const a=ms.content;if(r==="svg"||r==="mathml"){const i=a.firstChild;for(;i.firstChild;)a.appendChild(i.firstChild);a.removeChild(i)}t.insertBefore(a,n)}return[s?s.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},kt="transition",An="animation",_n=Symbol("_vtc"),$t=(e,{slots:t})=>u(ff,vi(e),t);$t.displayName="Transition";const mi={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},sd=$t.props=Le({},Ya,mi),Vt=(e,t=[])=>{Z(e)?e.forEach(n=>n(...t)):e&&e(...t)},vs=e=>e?Z(e)?e.some(t=>t.length>1):e.length>1:!1;function vi(e){const t={};for(const N in e)N in mi||(t[N]=e[N]);if(e.css===!1)return t;const{name:n="v",type:r,duration:o,enterFromClass:l=`${n}-enter-from`,enterActiveClass:s=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:i=l,appearActiveClass:c=s,appearToClass:f=a,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,g=ad(o),E=g&&g[0],_=g&&g[1],{onBeforeEnter:b,onEnter:C,onEnterCancelled:y,onLeave:k,onLeaveCancelled:O,onBeforeAppear:L=b,onAppear:D=C,onAppearCancelled:I=y}=t,K=(N,ee,Ee)=>{xt(N,ee?f:a),xt(N,ee?c:s),Ee&&Ee()},R=(N,ee)=>{N._isLeaving=!1,xt(N,d),xt(N,m),xt(N,p),ee&&ee()},Y=N=>(ee,Ee)=>{const Ce=N?D:C,G=()=>K(ee,N,Ee);Vt(Ce,[ee,G]),gs(()=>{xt(ee,N?i:l),gt(ee,N?f:a),vs(Ce)||ys(ee,r,E,G)})};return Le(t,{onBeforeEnter(N){Vt(b,[N]),gt(N,l),gt(N,s)},onBeforeAppear(N){Vt(L,[N]),gt(N,i),gt(N,c)},onEnter:Y(!1),onAppear:Y(!0),onLeave(N,ee){N._isLeaving=!0;const Ee=()=>R(N,ee);gt(N,d),yi(),gt(N,p),gs(()=>{N._isLeaving&&(xt(N,d),gt(N,m),vs(k)||ys(N,r,_,Ee))}),Vt(k,[N,Ee])},onEnterCancelled(N){K(N,!1),Vt(y,[N])},onAppearCancelled(N){K(N,!0),Vt(I,[N])},onLeaveCancelled(N){R(N),Vt(O,[N])}})}function ad(e){if(e==null)return null;if(ge(e))return[ho(e.enter),ho(e.leave)];{const t=ho(e);return[t,t]}}function ho(e){return cu(e)}function gt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[_n]||(e[_n]=new Set)).add(t)}function xt(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[_n];n&&(n.delete(t),n.size||(e[_n]=void 0))}function gs(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let id=0;function ys(e,t,n,r){const o=e._endId=++id,l=()=>{o===e._endId&&r()};if(n)return setTimeout(l,n);const{type:s,timeout:a,propCount:i}=gi(e,t);if(!s)return r();const c=s+"end";let f=0;const d=()=>{e.removeEventListener(c,p),l()},p=m=>{m.target===e&&++f>=i&&d()};setTimeout(()=>{f(n[g]||"").split(", "),o=r(`${kt}Delay`),l=r(`${kt}Duration`),s=bs(o,l),a=r(`${An}Delay`),i=r(`${An}Duration`),c=bs(a,i);let f=null,d=0,p=0;t===kt?s>0&&(f=kt,d=s,p=l.length):t===An?c>0&&(f=An,d=c,p=i.length):(d=Math.max(s,c),f=d>0?s>c?kt:An:null,p=f?f===kt?l.length:i.length:0);const m=f===kt&&/\b(transform|all)(,|$)/.test(r(`${kt}Property`).toString());return{type:f,timeout:d,propCount:p,hasTransform:m}}function bs(e,t){for(;e.length_s(n)+_s(e[r])))}function _s(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function yi(){return document.body.offsetHeight}function cd(e,t,n){const r=e[_n];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const ws=Symbol("_vod"),ud=Symbol("_vsh"),fd=Symbol(""),dd=/(^|;)\s*display\s*:/;function pd(e,t,n){const r=e.style,o=Pe(n);let l=!1;if(n&&!o){if(t)if(Pe(t))for(const s of t.split(";")){const a=s.slice(0,s.indexOf(":")).trim();n[a]==null&&Ir(r,a,"")}else for(const s in t)n[s]==null&&Ir(r,s,"");for(const s in n)s==="display"&&(l=!0),Ir(r,s,n[s])}else if(o){if(t!==n){const s=r[fd];s&&(n+=";"+s),r.cssText=n,l=dd.test(n)}}else t&&e.removeAttribute("style");ws in e&&(e[ws]=l?r.display:"",e[ud]&&(r.display="none"))}const Es=/\s*!important$/;function Ir(e,t,n){if(Z(n))n.forEach(r=>Ir(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=hd(e,t);Es.test(n)?e.setProperty(Ln(r),n.replace(Es,""),"important"):e[r]=n}}const Cs=["Webkit","Moz","ms"],mo={};function hd(e,t){const n=mo[t];if(n)return n;let r=Ze(t);if(r!=="filter"&&r in e)return mo[t]=r;r=nr(r);for(let o=0;ovo||(wd.then(()=>vo=0),vo=Date.now());function Cd(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;Xe(Ld(r,n.value),t,5,[r])};return n.value=e,n.attached=Ed(),n}function Ld(e,t){if(Z(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>o=>!o._stopped&&r&&r(o))}else return t}const Ts=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Sd=(e,t,n,r,o,l,s,a,i)=>{const c=o==="svg";t==="class"?cd(e,r,c):t==="style"?pd(e,n,r):tr(t)?rl(t)||bd(e,t,n,r,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):kd(e,t,r,c))?vd(e,t,r,l,s,a,i):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),md(e,t,r,c))};function kd(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Ts(t)&&ne(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return Ts(t)&&Pe(n)?!1:t in e}const bi=new WeakMap,_i=new WeakMap,jr=Symbol("_moveCb"),xs=Symbol("_enterCb"),wi={name:"TransitionGroup",props:Le({},sd,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=ar(),r=Qa();let o,l;return Za(()=>{if(!o.length)return;const s=e.moveClass||`${e.name||"v"}-move`;if(!Id(o[0].el,n.vnode.el,s))return;o.forEach(Ad),o.forEach(Pd);const a=o.filter(Rd);yi(),a.forEach(i=>{const c=i.el,f=c.style;gt(c,s),f.transform=f.webkitTransform=f.transitionDuration="";const d=c[jr]=p=>{p&&p.target!==c||(!p||/transform$/.test(p.propertyName))&&(c.removeEventListener("transitionend",d),c[jr]=null,xt(c,s))};c.addEventListener("transitionend",d)})}),()=>{const s=le(e),a=vi(s);let i=s.tag||We;o=l,l=t.default?bl(t.default()):[];for(let c=0;cdelete e.mode;wi.props;const xd=wi;function Ad(e){const t=e.el;t[jr]&&t[jr](),t[xs]&&t[xs]()}function Pd(e){_i.set(e,e.el.getBoundingClientRect())}function Rd(e){const t=bi.get(e),n=_i.get(e),r=t.left-n.left,o=t.top-n.top;if(r||o){const l=e.el.style;return l.transform=l.webkitTransform=`translate(${r}px,${o}px)`,l.transitionDuration="0s",e}}function Id(e,t,n){const r=e.cloneNode(),o=e[_n];o&&o.forEach(a=>{a.split(/\s+/).forEach(i=>i&&r.classList.remove(i))}),n.split(/\s+/).forEach(a=>a&&r.classList.add(a)),r.style.display="none";const l=t.nodeType===1?t:t.parentNode;l.appendChild(r);const{hasTransform:s}=gi(r);return l.removeChild(r),s}const Md=Le({patchProp:Sd},ld);let go,As=!1;function Od(){return go=As?go:$f(Md),As=!0,go}const Dd=(...e)=>{const t=Od().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=Nd(r);if(o)return n(o,!0,Fd(o))},t};function Fd(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Nd(e){return Pe(e)?document.querySelector(e):e}var $d=["link","meta","script","style","noscript","template"],Bd=["title","base"],Hd=([e,t,n])=>Bd.includes(e)?e:$d.includes(e)?e==="meta"&&t.name?`${e}.${t.name}`:e==="template"&&t.id?`${e}.${t.id}`:JSON.stringify([e,Object.entries(t).map(([r,o])=>typeof o=="boolean"?o?[r,""]:null:[r,o]).filter(r=>r!=null).sort(([r],[o])=>r.localeCompare(o)),n]):null,jd=e=>{const t=new Set,n=[];return e.forEach(r=>{const o=Hd(r);o&&!t.has(o)&&(t.add(o),n.push(r))}),n},Vd=e=>e[0]==="/"?e:`/${e}`,Ei=e=>e[e.length-1]==="/"||e.endsWith(".html")?e:`${e}/`,Zt=e=>/^(https?:)?\/\//.test(e),zd=/.md((\?|#).*)?$/,Jr=(e,t="/")=>!!(Zt(e)||e.startsWith("/")&&!e.startsWith(t)&&!zd.test(e)),Xr=e=>/^[a-z][a-z0-9+.-]*:/.test(e),ur=e=>Object.prototype.toString.call(e)==="[object Object]",Ud=e=>{const[t,...n]=e.split(/(\?|#)/);if(!t||t.endsWith("/"))return e;let r=t.replace(/(^|\/)README.md$/i,"$1index.html");return r.endsWith(".md")?r=r.substring(0,r.length-3)+".html":r.endsWith(".html")||(r=r+".html"),r.endsWith("/index.html")&&(r=r.substring(0,r.length-10)),r+n.join("")},Sl=e=>e[e.length-1]==="/"?e.slice(0,-1):e,Ci=e=>e[0]==="/"?e.slice(1):e,Wd=(e,t)=>{const n=Object.keys(e).sort((r,o)=>{const l=o.split("/").length-r.split("/").length;return l!==0?l:o.length-r.length});for(const r of n)if(t.startsWith(r))return r;return"/"},ve=e=>typeof e=="string";const Gd="modulepreload",qd=function(e){return"/"+e},Ps={},Q=function(t,n,r){let o=Promise.resolve();if(n&&n.length>0){const l=document.getElementsByTagName("link"),s=document.querySelector("meta[property=csp-nonce]"),a=(s==null?void 0:s.nonce)||(s==null?void 0:s.getAttribute("nonce"));o=Promise.all(n.map(i=>{if(i=qd(i),i in Ps)return;Ps[i]=!0;const c=i.endsWith(".css"),f=c?'[rel="stylesheet"]':"";if(!!r)for(let m=l.length-1;m>=0;m--){const g=l[m];if(g.href===i&&(!c||g.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${f}`))return;const p=document.createElement("link");if(p.rel=c?"stylesheet":Gd,c||(p.as="script",p.crossOrigin=""),p.href=i,a&&p.setAttribute("nonce",a),document.head.appendChild(p),c)return new Promise((m,g)=>{p.addEventListener("load",m),p.addEventListener("error",()=>g(new Error(`Unable to preload CSS for ${i}`)))})}))}return o.then(()=>t()).catch(l=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=l,window.dispatchEvent(s),!s.defaultPrevented)throw l})},Kd=JSON.parse('{"/docs/RaspberryPi/LED_&_Pushbutton.html":"/docs/RaspberryPi/LED___Pushbutton.html"}'),Qd=Object.fromEntries([["/",{loader:()=>Q(()=>import("./index.html-CKiy40b5.js"),__vite__mapDeps([0,1])),meta:{t:"Home",i:"home"}}],["/docs/",{loader:()=>Q(()=>import("./index.html-DCvzFz_U.js"),__vite__mapDeps([2,1])),meta:{t:"Docs",i:"book"}}],["/get-started/",{loader:()=>Q(()=>import("./index.html-aaSN16OJ.js"),__vite__mapDeps([3,1])),meta:{t:"Get started",i:"lightbulb"}}],["/get-started/installation.html",{loader:()=>Q(()=>import("./installation.html-7aBcAeD0.js"),__vite__mapDeps([4,1])),meta:{t:"Installation guide",i:"screwdriver-wrench"}}],["/get-started/quick-start.html",{loader:()=>Q(()=>import("./quick-start.html-CX71ZwsX.js"),__vite__mapDeps([5,1])),meta:{t:"Quick start",i:"code"}}],["/get-started/what-is-nodejs.html",{loader:()=>Q(()=>import("./what-is-nodejs.html-Cm_cQes4.js"),__vite__mapDeps([6,1])),meta:{t:"What is Node.js?",i:"book-open"}}],["/docs/RaspberryPi/Blinking_LED.html",{loader:()=>Q(()=>import("./Blinking_LED.html-XoGTRZiE.js"),__vite__mapDeps([7,1])),meta:{t:"Blinking LED",i:"lightbulb"}}],["/docs/RaspberryPi/Components.html",{loader:()=>Q(()=>import("./Components.html-mzjZgoCQ.js"),__vite__mapDeps([8,1])),meta:{t:"Components",i:"people-group"}}],["/docs/RaspberryPi/Flowing_LED.html",{loader:()=>Q(()=>import("./Flowing_LED.html-yxxD0ouy.js"),__vite__mapDeps([9,1])),meta:{t:"Flowing LED",i:"water"}}],["/docs/RaspberryPi/GPIO_Introduction.html",{loader:()=>Q(()=>import("./GPIO_Introduction.html-D-NPgKme.js"),__vite__mapDeps([10,1])),meta:{t:"GPIO Introduction",i:"plug"}}],["/docs/RaspberryPi/Install_RaspberryPi.html",{loader:()=>Q(()=>import("./Install_RaspberryPi.html-Bq5OgObQ.js"),__vite__mapDeps([11,1])),meta:{t:"Install Raspberry Pi",i:"download",O:2}}],["/docs/RaspberryPi/LED___Pushbutton.html",{loader:()=>Q(()=>import("./LED___Pushbutton.html-CmRkC5Za.js"),__vite__mapDeps([12,1])),meta:{t:"LED & Pushbutton",i:"group-arrows-rotate"}}],["/docs/RaspberryPi/",{loader:()=>Q(()=>import("./index.html-CSDDPORX.js"),__vite__mapDeps([13,1])),meta:{t:"Raspberry Pi",i:"/assets/icon/raspberry-pi.svg"}}],["/docs/RaspberryPi/RGB_LED_WebSocket.html",{loader:()=>Q(()=>import("./RGB_LED_WebSocket.html-D6ZaiHLl.js"),__vite__mapDeps([14,1])),meta:{t:"RGB LED WebSocket",i:"circle-nodes"}}],["/docs/RaspberryPi/WebSocket.html",{loader:()=>Q(()=>import("./WebSocket.html-CAHD72tS.js"),__vite__mapDeps([15,1])),meta:{t:"WebSocket",i:"network-wired"}}],["/docs/MongoDB/Collection.html",{loader:()=>Q(()=>import("./Collection.html-C8yjkV_J.js"),__vite__mapDeps([16,1])),meta:{t:"Collection",i:"table"}}],["/docs/MongoDB/Create%20Database.html",{loader:()=>Q(()=>import("./Create Database.html-Dk4ojBIe.js"),__vite__mapDeps([17,1])),meta:{t:"Create Database",i:"layer-group"}}],["/docs/MongoDB/Delete.html",{loader:()=>Q(()=>import("./Delete.html-r2LkCo81.js"),__vite__mapDeps([18,1])),meta:{t:"Delete",i:"trash"}}],["/docs/MongoDB/Drop%20Collection.html",{loader:()=>Q(()=>import("./Drop Collection.html-D7slu1cU.js"),__vite__mapDeps([19,1])),meta:{t:"Drop Collection",i:"square-caret-down"}}],["/docs/MongoDB/Find.html",{loader:()=>Q(()=>import("./Find.html-i8fnYBKQ.js"),__vite__mapDeps([20,1])),meta:{t:"Find",i:"magnifying-glass"}}],["/docs/MongoDB/Insert.html",{loader:()=>Q(()=>import("./Insert.html-DCepr2n7.js"),__vite__mapDeps([21,1])),meta:{t:"Insert",i:"file-arrow-down"}}],["/docs/MongoDB/Join.html",{loader:()=>Q(()=>import("./Join.html-CpGKlvem.js"),__vite__mapDeps([22,1])),meta:{t:"Join",i:"object-ungroup"}}],["/docs/MongoDB/Limit.html",{loader:()=>Q(()=>import("./Limit.html-dcFZt02z.js"),__vite__mapDeps([23,1])),meta:{t:"Limit",i:"hourglass-half"}}],["/docs/MongoDB/Query.html",{loader:()=>Q(()=>import("./Query.html-CLSatCzA.js"),__vite__mapDeps([24,1])),meta:{t:"Query",i:"location-crosshairs"}}],["/docs/MongoDB/",{loader:()=>Q(()=>import("./index.html-DSXb5Es6.js"),__vite__mapDeps([25,1])),meta:{t:"MongoDB",i:"hard-drive"}}],["/docs/MongoDB/Sort.html",{loader:()=>Q(()=>import("./Sort.html-EVorkOcD.js"),__vite__mapDeps([26,1])),meta:{t:"Sort",i:"sort"}}],["/docs/MongoDB/Update.html",{loader:()=>Q(()=>import("./Update.html-BWs7THOB.js"),__vite__mapDeps([27,1])),meta:{t:"Update",i:"upload"}}],["/docs/MongoDB/install_MongoDB.html",{loader:()=>Q(()=>import("./install_MongoDB.html-BthISxJl.js"),__vite__mapDeps([28,1])),meta:{t:"Install MongoDB",i:"download",O:2}}],["/docs/Basics/Email.html",{loader:()=>Q(()=>import("./Email.html-OZtoihag.js"),__vite__mapDeps([29,1])),meta:{t:"Email",i:"envelope"}}],["/docs/Basics/Events.html",{loader:()=>Q(()=>import("./Events.html-Bwplr5d5.js"),__vite__mapDeps([30,1])),meta:{t:"Events",i:"bell"}}],["/docs/Basics/File%20System.html",{loader:()=>Q(()=>import("./File System.html-Cyvo9sIZ.js"),__vite__mapDeps([31,1])),meta:{t:"File System",i:"file"}}],["/docs/Basics/HTTP%20Modules.html",{loader:()=>Q(()=>import("./HTTP Modules.html-kJ4VRSIz.js"),__vite__mapDeps([32,1])),meta:{t:"HTTP Modules",i:"folder"}}],["/docs/Basics/Modules.html",{loader:()=>Q(()=>import("./Modules.html-BLPyvUii.js"),__vite__mapDeps([33,1])),meta:{t:"Modules",i:"server"}}],["/docs/Basics/NPM.html",{loader:()=>Q(()=>import("./NPM.html-Df7drL4u.js"),__vite__mapDeps([34,1])),meta:{t:"NPM",i:"/assets/icon/npm.svg"}}],["/docs/Basics/",{loader:()=>Q(()=>import("./index.html-D2YYv4z_.js"),__vite__mapDeps([35,1])),meta:{t:"Basics",i:"circle-info"}}],["/docs/Basics/URL%20Module.html",{loader:()=>Q(()=>import("./URL Module.html-DXhp6KuV.js"),__vite__mapDeps([36,1])),meta:{t:"URL Module",i:"file-code"}}],["/docs/Basics/Upload%20Files.html",{loader:()=>Q(()=>import("./Upload Files.html-BlJJeg4z.js"),__vite__mapDeps([37,1])),meta:{t:"Upload Files",i:"file-export"}}],["/docs/MySQL/Create%20Database.html",{loader:()=>Q(()=>import("./Create Database.html-CVdT9oPv.js"),__vite__mapDeps([38,1])),meta:{t:"Create Database",i:"layer-group"}}],["/docs/MySQL/Create%20Table.html",{loader:()=>Q(()=>import("./Create Table.html-yXFdAChD.js"),__vite__mapDeps([39,1])),meta:{t:"Create Table",i:"table"}}],["/docs/MySQL/Delete.html",{loader:()=>Q(()=>import("./Delete.html-CdR3XArU.js"),__vite__mapDeps([40,1])),meta:{t:"Delete",i:"trash"}}],["/docs/MySQL/Drop%20Table.html",{loader:()=>Q(()=>import("./Drop Table.html-CJklxQ0O.js"),__vite__mapDeps([41,1])),meta:{t:"Drop Table",i:"square-caret-down"}}],["/docs/MySQL/Insert%20Into.html",{loader:()=>Q(()=>import("./Insert Into.html-CTcNepGb.js"),__vite__mapDeps([42,1])),meta:{t:"Insert Into",i:"file-arrow-down"}}],["/docs/MySQL/Join.html",{loader:()=>Q(()=>import("./Join.html-CPC23AI2.js"),__vite__mapDeps([43,1])),meta:{t:"Join",i:"object-ungroup"}}],["/docs/MySQL/Limit.html",{loader:()=>Q(()=>import("./Limit.html-EWlXSVQe.js"),__vite__mapDeps([44,1])),meta:{t:"Limit",i:"hourglass-half"}}],["/docs/MySQL/Order%20By.html",{loader:()=>Q(()=>import("./Order By.html-BS3Cahtv.js"),__vite__mapDeps([45,1])),meta:{t:"Order By",i:"arrow-up-z-a"}}],["/docs/MySQL/",{loader:()=>Q(()=>import("./index.html-CHeeVoIb.js"),__vite__mapDeps([46,1])),meta:{t:"MySQL",i:"database"}}],["/docs/MySQL/Select%20From.html",{loader:()=>Q(()=>import("./Select From.html-BXfc5VwS.js"),__vite__mapDeps([47,1])),meta:{t:"Select From",i:"check-double"}}],["/docs/MySQL/Update.html",{loader:()=>Q(()=>import("./Update.html-DJhdAiGF.js"),__vite__mapDeps([48,1])),meta:{t:"Update",i:"upload"}}],["/docs/MySQL/Where.html",{loader:()=>Q(()=>import("./Where.html-7G_mJdka.js"),__vite__mapDeps([49,1])),meta:{t:"Where",i:"location-crosshairs"}}],["/docs/MySQL/install_MySQL.html",{loader:()=>Q(()=>import("./install_MySQL.html-CyjyKr3R.js"),__vite__mapDeps([50,1])),meta:{t:"Install MySQL",i:"download",O:2}}],["/404.html",{loader:()=>Q(()=>import("./404.html-DKowkC1c.js"),__vite__mapDeps([51,1])),meta:{t:""}}]]);/*! + * vue-router v4.3.0 + * (c) 2024 Eduardo San Martin Morote + * @license MIT + */const cn=typeof document<"u";function Yd(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const ue=Object.assign;function yo(e,t){const n={};for(const r in t){const o=t[r];n[r]=ot(o)?o.map(e):e(o)}return n}const jn=()=>{},ot=Array.isArray,Li=/#/g,Jd=/&/g,Xd=/\//g,Zd=/=/g,e1=/\?/g,Si=/\+/g,t1=/%5B/g,n1=/%5D/g,ki=/%5E/g,r1=/%60/g,Ti=/%7B/g,o1=/%7C/g,xi=/%7D/g,l1=/%20/g;function kl(e){return encodeURI(""+e).replace(o1,"|").replace(t1,"[").replace(n1,"]")}function s1(e){return kl(e).replace(Ti,"{").replace(xi,"}").replace(ki,"^")}function jo(e){return kl(e).replace(Si,"%2B").replace(l1,"+").replace(Li,"%23").replace(Jd,"%26").replace(r1,"`").replace(Ti,"{").replace(xi,"}").replace(ki,"^")}function a1(e){return jo(e).replace(Zd,"%3D")}function i1(e){return kl(e).replace(Li,"%23").replace(e1,"%3F")}function c1(e){return e==null?"":i1(e).replace(Xd,"%2F")}function Qn(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const u1=/\/$/,f1=e=>e.replace(u1,"");function bo(e,t,n="/"){let r,o={},l="",s="";const a=t.indexOf("#");let i=t.indexOf("?");return a=0&&(i=-1),i>-1&&(r=t.slice(0,i),l=t.slice(i+1,a>-1?a:t.length),o=e(l)),a>-1&&(r=r||t.slice(0,a),s=t.slice(a,t.length)),r=m1(r??t,n),{fullPath:r+(l&&"?")+l+s,path:r,query:o,hash:Qn(s)}}function d1(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Rs(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function p1(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&wn(t.matched[r],n.matched[o])&&Ai(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function wn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Ai(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!h1(e[n],t[n]))return!1;return!0}function h1(e,t){return ot(e)?Is(e,t):ot(t)?Is(t,e):e===t}function Is(e,t){return ot(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function m1(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),o=r[r.length-1];(o===".."||o===".")&&r.push("");let l=n.length-1,s,a;for(s=0;s1&&l--;else break;return n.slice(0,l).join("/")+"/"+r.slice(s).join("/")}var Yn;(function(e){e.pop="pop",e.push="push"})(Yn||(Yn={}));var Vn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Vn||(Vn={}));function v1(e){if(!e)if(cn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),f1(e)}const g1=/^[^#]+#/;function y1(e,t){return e.replace(g1,"#")+t}function b1(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const Zr=()=>({left:window.scrollX,top:window.scrollY});function _1(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=b1(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Ms(e,t){return(history.state?history.state.position-t:-1)+e}const Vo=new Map;function w1(e,t){Vo.set(e,t)}function E1(e){const t=Vo.get(e);return Vo.delete(e),t}let C1=()=>location.protocol+"//"+location.host;function Pi(e,t){const{pathname:n,search:r,hash:o}=t,l=e.indexOf("#");if(l>-1){let a=o.includes(e.slice(l))?e.slice(l).length:1,i=o.slice(a);return i[0]!=="/"&&(i="/"+i),Rs(i,"")}return Rs(n,e)+r+o}function L1(e,t,n,r){let o=[],l=[],s=null;const a=({state:p})=>{const m=Pi(e,location),g=n.value,E=t.value;let _=0;if(p){if(n.value=m,t.value=p,s&&s===g){s=null;return}_=E?p.position-E.position:0}else r(m);o.forEach(b=>{b(n.value,g,{delta:_,type:Yn.pop,direction:_?_>0?Vn.forward:Vn.back:Vn.unknown})})};function i(){s=n.value}function c(p){o.push(p);const m=()=>{const g=o.indexOf(p);g>-1&&o.splice(g,1)};return l.push(m),m}function f(){const{history:p}=window;p.state&&p.replaceState(ue({},p.state,{scroll:Zr()}),"")}function d(){for(const p of l)p();l=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",f)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",f,{passive:!0}),{pauseListeners:i,listen:c,destroy:d}}function Os(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?Zr():null}}function S1(e){const{history:t,location:n}=window,r={value:Pi(e,n)},o={value:t.state};o.value||l(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function l(i,c,f){const d=e.indexOf("#"),p=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+i:C1()+e+i;try{t[f?"replaceState":"pushState"](c,"",p),o.value=c}catch(m){console.error(m),n[f?"replace":"assign"](p)}}function s(i,c){const f=ue({},t.state,Os(o.value.back,i,o.value.forward,!0),c,{position:o.value.position});l(i,f,!0),r.value=i}function a(i,c){const f=ue({},o.value,t.state,{forward:i,scroll:Zr()});l(f.current,f,!0);const d=ue({},Os(r.value,i,null),{position:f.position+1},c);l(i,d,!1),r.value=i}return{location:r,state:o,push:a,replace:s}}function k1(e){e=v1(e);const t=S1(e),n=L1(e,t.state,t.location,t.replace);function r(l,s=!0){s||n.pauseListeners(),history.go(l)}const o=ue({location:"",base:e,go:r,createHref:y1.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function T1(e){return typeof e=="string"||e&&typeof e=="object"}function Ri(e){return typeof e=="string"||typeof e=="symbol"}const yt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Ii=Symbol("");var Ds;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Ds||(Ds={}));function En(e,t){return ue(new Error,{type:e,[Ii]:!0},t)}function vt(e,t){return e instanceof Error&&Ii in e&&(t==null||!!(e.type&t))}const Fs="[^/]+?",x1={sensitive:!1,strict:!1,start:!0,end:!0},A1=/[.+*?^${}()[\]/\\]/g;function P1(e,t){const n=ue({},x1,t),r=[];let o=n.start?"^":"";const l=[];for(const c of e){const f=c.length?[]:[90];n.strict&&!c.length&&(o+="/");for(let d=0;dt.length?t.length===1&&t[0]===80?1:-1:0}function I1(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const M1={type:0,value:""},O1=/[a-zA-Z0-9_]/;function D1(e){if(!e)return[[]];if(e==="/")return[[M1]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${c}": ${m}`)}let n=0,r=n;const o=[];let l;function s(){l&&o.push(l),l=[]}let a=0,i,c="",f="";function d(){c&&(n===0?l.push({type:0,value:c}):n===1||n===2||n===3?(l.length>1&&(i==="*"||i==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),l.push({type:1,value:c,regexp:f,repeatable:i==="*"||i==="+",optional:i==="*"||i==="?"})):t("Invalid state to consume buffer"),c="")}function p(){c+=i}for(;a{s(C)}:jn}function s(f){if(Ri(f)){const d=r.get(f);d&&(r.delete(f),n.splice(n.indexOf(d),1),d.children.forEach(s),d.alias.forEach(s))}else{const d=n.indexOf(f);d>-1&&(n.splice(d,1),f.record.name&&r.delete(f.record.name),f.children.forEach(s),f.alias.forEach(s))}}function a(){return n}function i(f){let d=0;for(;d=0&&(f.record.path!==n[d].record.path||!Mi(f,n[d]));)d++;n.splice(d,0,f),f.record.name&&!Bs(f)&&r.set(f.record.name,f)}function c(f,d){let p,m={},g,E;if("name"in f&&f.name){if(p=r.get(f.name),!p)throw En(1,{location:f});E=p.record.name,m=ue($s(d.params,p.keys.filter(C=>!C.optional).concat(p.parent?p.parent.keys.filter(C=>C.optional):[]).map(C=>C.name)),f.params&&$s(f.params,p.keys.map(C=>C.name))),g=p.stringify(m)}else if(f.path!=null)g=f.path,p=n.find(C=>C.re.test(g)),p&&(m=p.parse(g),E=p.record.name);else{if(p=d.name?r.get(d.name):n.find(C=>C.re.test(d.path)),!p)throw En(1,{location:f,currentLocation:d});E=p.record.name,m=ue({},d.params,f.params),g=p.stringify(m)}const _=[];let b=p;for(;b;)_.unshift(b.record),b=b.parent;return{name:E,path:g,params:m,matched:_,meta:H1(_)}}return e.forEach(f=>l(f)),{addRoute:l,resolve:c,removeRoute:s,getRoutes:a,getRecordMatcher:o}}function $s(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function $1(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:B1(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 B1(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Bs(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function H1(e){return e.reduce((t,n)=>ue(t,n.meta),{})}function Hs(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function Mi(e,t){return t.children.some(n=>n===e||Mi(e,n))}function j1(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;ol&&jo(l)):[r&&jo(r)]).forEach(l=>{l!==void 0&&(t+=(t.length?"&":"")+n,l!=null&&(t+="="+l))})}return t}function V1(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=ot(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const z1=Symbol(""),Vs=Symbol(""),eo=Symbol(""),Tl=Symbol(""),zo=Symbol("");function Pn(){let e=[];function t(r){return e.push(r),()=>{const o=e.indexOf(r);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Mt(e,t,n,r,o,l=s=>s()){const s=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((a,i)=>{const c=p=>{p===!1?i(En(4,{from:n,to:t})):p instanceof Error?i(p):T1(p)?i(En(2,{from:t,to:p})):(s&&r.enterCallbacks[o]===s&&typeof p=="function"&&s.push(p),a())},f=l(()=>e.call(r&&r.instances[o],t,n,c));let d=Promise.resolve(f);e.length<3&&(d=d.then(c)),d.catch(p=>i(p))})}function _o(e,t,n,r,o=l=>l()){const l=[];for(const s of e)for(const a in s.components){let i=s.components[a];if(!(t!=="beforeRouteEnter"&&!s.instances[a]))if(U1(i)){const f=(i.__vccOpts||i)[t];f&&l.push(Mt(f,n,r,s,a,o))}else{let c=i();l.push(()=>c.then(f=>{if(!f)return Promise.reject(new Error(`Couldn't resolve component "${a}" at "${s.path}"`));const d=Yd(f)?f.default:f;s.components[a]=d;const m=(d.__vccOpts||d)[t];return m&&Mt(m,n,r,s,a,o)()}))}}return l}function U1(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function zs(e){const t=xe(eo),n=xe(Tl),r=S(()=>t.resolve(Qt(e.to))),o=S(()=>{const{matched:i}=r.value,{length:c}=i,f=i[c-1],d=n.matched;if(!f||!d.length)return-1;const p=d.findIndex(wn.bind(null,f));if(p>-1)return p;const m=Us(i[c-2]);return c>1&&Us(f)===m&&d[d.length-1].path!==m?d.findIndex(wn.bind(null,i[c-2])):p}),l=S(()=>o.value>-1&&K1(n.params,r.value.params)),s=S(()=>o.value>-1&&o.value===n.matched.length-1&&Ai(n.params,r.value.params));function a(i={}){return q1(i)?t[Qt(e.replace)?"replace":"push"](Qt(e.to)).catch(jn):Promise.resolve()}return{route:r,href:S(()=>r.value.href),isActive:l,isExactActive:s,navigate:a}}const W1=z({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:zs,setup(e,{slots:t}){const n=rr(zs(e)),{options:r}=xe(eo),o=S(()=>({[Ws(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Ws(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const l=t.default&&t.default(n);return e.custom?l:u("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},l)}}}),G1=W1;function q1(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 K1(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(!ot(o)||o.length!==r.length||r.some((l,s)=>l!==o[s]))return!1}return!0}function Us(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Ws=(e,t,n)=>e??t??n,Q1=z({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=xe(zo),o=S(()=>e.route||r.value),l=xe(Vs,0),s=S(()=>{let c=Qt(l);const{matched:f}=o.value;let d;for(;(d=f[c])&&!d.components;)c++;return c}),a=S(()=>o.value.matched[s.value]);gn(Vs,S(()=>s.value+1)),gn(z1,a),gn(zo,o);const i=X();return ce(()=>[i.value,a.value,e.name],([c,f,d],[p,m,g])=>{f&&(f.instances[d]=c,m&&m!==f&&c&&c===p&&(f.leaveGuards.size||(f.leaveGuards=m.leaveGuards),f.updateGuards.size||(f.updateGuards=m.updateGuards))),c&&f&&(!m||!wn(f,m)||!p)&&(f.enterCallbacks[d]||[]).forEach(E=>E(c))},{flush:"post"}),()=>{const c=o.value,f=e.name,d=a.value,p=d&&d.components[f];if(!p)return Gs(n.default,{Component:p,route:c});const m=d.props[f],g=m?m===!0?c.params:typeof m=="function"?m(c):m:null,_=u(p,ue({},g,t,{onVnodeUnmounted:b=>{b.component.isUnmounted&&(d.instances[f]=null)},ref:i}));return Gs(n.default,{Component:_,route:c})||_}}});function Gs(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Y1=Q1;function J1(e){const t=N1(e.routes,e),n=e.parseQuery||j1,r=e.stringifyQuery||js,o=e.history,l=Pn(),s=Pn(),a=Pn(),i=Ge(yt);let c=yt;cn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=yo.bind(null,x=>""+x),d=yo.bind(null,c1),p=yo.bind(null,Qn);function m(x,j){let B,U;return Ri(x)?(B=t.getRecordMatcher(x),U=j):U=x,t.addRoute(U,B)}function g(x){const j=t.getRecordMatcher(x);j&&t.removeRoute(j)}function E(){return t.getRoutes().map(x=>x.record)}function _(x){return!!t.getRecordMatcher(x)}function b(x,j){if(j=ue({},j||i.value),typeof x=="string"){const v=bo(n,x,j.path),w=t.resolve({path:v.path},j),A=o.createHref(v.fullPath);return ue(v,w,{params:p(w.params),hash:Qn(v.hash),redirectedFrom:void 0,href:A})}let B;if(x.path!=null)B=ue({},x,{path:bo(n,x.path,j.path).path});else{const v=ue({},x.params);for(const w in v)v[w]==null&&delete v[w];B=ue({},x,{params:d(v)}),j.params=d(j.params)}const U=t.resolve(B,j),ie=x.hash||"";U.params=f(p(U.params));const pe=d1(r,ue({},x,{hash:s1(ie),path:U.path})),h=o.createHref(pe);return ue({fullPath:pe,hash:ie,query:r===js?V1(x.query):x.query||{}},U,{redirectedFrom:void 0,href:h})}function C(x){return typeof x=="string"?bo(n,x,i.value.path):ue({},x)}function y(x,j){if(c!==x)return En(8,{from:j,to:x})}function k(x){return D(x)}function O(x){return k(ue(C(x),{replace:!0}))}function L(x){const j=x.matched[x.matched.length-1];if(j&&j.redirect){const{redirect:B}=j;let U=typeof B=="function"?B(x):B;return typeof U=="string"&&(U=U.includes("?")||U.includes("#")?U=C(U):{path:U},U.params={}),ue({query:x.query,hash:x.hash,params:U.path!=null?{}:x.params},U)}}function D(x,j){const B=c=b(x),U=i.value,ie=x.state,pe=x.force,h=x.replace===!0,v=L(B);if(v)return D(ue(C(v),{state:typeof v=="object"?ue({},ie,v.state):ie,force:pe,replace:h}),j||B);const w=B;w.redirectedFrom=j;let A;return!pe&&p1(r,U,B)&&(A=En(16,{to:w,from:U}),lt(U,U,!0,!1)),(A?Promise.resolve(A):R(w,U)).catch(T=>vt(T)?vt(T,2)?T:Ct(T):W(T,w,U)).then(T=>{if(T){if(vt(T,2))return D(ue({replace:h},C(T.to),{state:typeof T.to=="object"?ue({},ie,T.to.state):ie,force:pe}),j||w)}else T=N(w,U,!0,h,ie);return Y(w,U,T),T})}function I(x,j){const B=y(x,j);return B?Promise.reject(B):Promise.resolve()}function K(x){const j=ln.values().next().value;return j&&typeof j.runWithContext=="function"?j.runWithContext(x):x()}function R(x,j){let B;const[U,ie,pe]=X1(x,j);B=_o(U.reverse(),"beforeRouteLeave",x,j);for(const v of U)v.leaveGuards.forEach(w=>{B.push(Mt(w,x,j))});const h=I.bind(null,x,j);return B.push(h),Me(B).then(()=>{B=[];for(const v of l.list())B.push(Mt(v,x,j));return B.push(h),Me(B)}).then(()=>{B=_o(ie,"beforeRouteUpdate",x,j);for(const v of ie)v.updateGuards.forEach(w=>{B.push(Mt(w,x,j))});return B.push(h),Me(B)}).then(()=>{B=[];for(const v of pe)if(v.beforeEnter)if(ot(v.beforeEnter))for(const w of v.beforeEnter)B.push(Mt(w,x,j));else B.push(Mt(v.beforeEnter,x,j));return B.push(h),Me(B)}).then(()=>(x.matched.forEach(v=>v.enterCallbacks={}),B=_o(pe,"beforeRouteEnter",x,j,K),B.push(h),Me(B))).then(()=>{B=[];for(const v of s.list())B.push(Mt(v,x,j));return B.push(h),Me(B)}).catch(v=>vt(v,8)?v:Promise.reject(v))}function Y(x,j,B){a.list().forEach(U=>K(()=>U(x,j,B)))}function N(x,j,B,U,ie){const pe=y(x,j);if(pe)return pe;const h=j===yt,v=cn?history.state:{};B&&(U||h?o.replace(x.fullPath,ue({scroll:h&&v&&v.scroll},ie)):o.push(x.fullPath,ie)),i.value=x,lt(x,j,B,h),Ct()}let ee;function Ee(){ee||(ee=o.listen((x,j,B)=>{if(!mr.listening)return;const U=b(x),ie=L(U);if(ie){D(ue(ie,{replace:!0}),U).catch(jn);return}c=U;const pe=i.value;cn&&w1(Ms(pe.fullPath,B.delta),Zr()),R(U,pe).catch(h=>vt(h,12)?h:vt(h,2)?(D(h.to,U).then(v=>{vt(v,20)&&!B.delta&&B.type===Yn.pop&&o.go(-1,!1)}).catch(jn),Promise.reject()):(B.delta&&o.go(-B.delta,!1),W(h,U,pe))).then(h=>{h=h||N(U,pe,!1),h&&(B.delta&&!vt(h,8)?o.go(-B.delta,!1):B.type===Yn.pop&&vt(h,20)&&o.go(-1,!1)),Y(U,pe,h)}).catch(jn)}))}let Ce=Pn(),G=Pn(),re;function W(x,j,B){Ct(x);const U=G.list();return U.length?U.forEach(ie=>ie(x,j,B)):console.error(x),Promise.reject(x)}function et(){return re&&i.value!==yt?Promise.resolve():new Promise((x,j)=>{Ce.add([x,j])})}function Ct(x){return re||(re=!x,Ee(),Ce.list().forEach(([j,B])=>x?B(x):j()),Ce.reset()),x}function lt(x,j,B,U){const{scrollBehavior:ie}=e;if(!cn||!ie)return Promise.resolve();const pe=!B&&E1(Ms(x.fullPath,0))||(U||!B)&&history.state&&history.state.scroll||null;return Ht().then(()=>ie(x,j,pe)).then(h=>h&&_1(h)).catch(h=>W(h,x,j))}const $e=x=>o.go(x);let on;const ln=new Set,mr={currentRoute:i,listening:!0,addRoute:m,removeRoute:g,hasRoute:_,getRoutes:E,resolve:b,options:e,push:k,replace:O,go:$e,back:()=>$e(-1),forward:()=>$e(1),beforeEach:l.add,beforeResolve:s.add,afterEach:a.add,onError:G.add,isReady:et,install(x){const j=this;x.component("RouterLink",G1),x.component("RouterView",Y1),x.config.globalProperties.$router=j,Object.defineProperty(x.config.globalProperties,"$route",{enumerable:!0,get:()=>Qt(i)}),cn&&!on&&i.value===yt&&(on=!0,k(o.location).catch(ie=>{}));const B={};for(const ie in yt)Object.defineProperty(B,ie,{get:()=>i.value[ie],enumerable:!0});x.provide(eo,j),x.provide(Tl,Ma(B)),x.provide(zo,i);const U=x.unmount;ln.add(x),x.unmount=function(){ln.delete(x),ln.size<1&&(c=yt,ee&&ee(),ee=null,i.value=yt,on=!1,re=!1),U()}}};function Me(x){return x.reduce((j,B)=>j.then(()=>K(B)),Promise.resolve())}return mr}function X1(e,t){const n=[],r=[],o=[],l=Math.max(t.matched.length,e.matched.length);for(let s=0;swn(c,a))?r.push(a):n.push(a));const i=e.matched[s];i&&(t.matched.find(c=>wn(c,i))||o.push(i))}return[n,r,o]}function en(){return xe(eo)}function wt(){return xe(Tl)}var xl=Symbol(""),mt=()=>{const e=xe(xl);if(!e)throw new Error("useClientData() is called without provider.");return e},Z1=()=>mt().pageComponent,be=()=>mt().pageData,_e=()=>mt().pageFrontmatter,ep=()=>mt().pageHead,Al=()=>mt().pageLang,tp=()=>mt().pageLayout,tn=()=>mt().routeLocale,np=()=>mt().routes,Oi=()=>mt().siteData,Pl=()=>mt().siteLocaleData,rp=Symbol(""),Uo=Ge(Kd),Jn=Ge(Qd),Di=e=>{const t=Ud(e);if(Jn.value[t])return t;const n=encodeURI(t);return Jn.value[n]?n:Uo.value[t]||Uo.value[n]||t},Bt=e=>{const t=Di(e),n=Jn.value[t]??{...Jn.value["/404.html"],notFound:!0};return{path:t,notFound:!1,...n}},to=z({name:"ClientOnly",setup(e,t){const n=X(!1);return ye(()=>{n.value=!0}),()=>{var r,o;return n.value?(o=(r=t.slots).default)==null?void 0:o.call(r):null}}}),Fi=z({name:"Content",props:{path:{type:String,required:!1,default:""}},setup(e){const t=Z1(),n=S(()=>{if(!e.path)return t.value;const r=Bt(e.path);return df(()=>r.loader().then(({comp:o})=>o))});return()=>u(n.value)}}),qe=(e={})=>e,Fe=e=>Zt(e)?e:`/${Ci(e)}`,op=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}},He=({active:e=!1,activeClass:t="route-link-active",to:n,...r},{slots:o})=>{var i;const l=en(),s=Di(n),a=s.startsWith("#")||s.startsWith("?")?s:Fe(s);return u("a",{...r,class:["route-link",{[t]:e}],href:a,onClick:(c={})=>{op(c)?l.push(n).catch():Promise.resolve()}},(i=o.default)==null?void 0:i.call(o))};He.displayName="RouteLink";He.props={active:Boolean,activeClass:String,to:String};var lp="Layout",sp="en-US",zt=rr({resolveLayouts:e=>e.reduce((t,n)=>({...t,...n.layouts}),{}),resolvePageHead:(e,t,n)=>{const r=ve(t.description)?t.description:n.description,o=[...Array.isArray(t.head)?t.head:[],...n.head,["title",{},e],["meta",{name:"description",content:r}]];return jd(o)},resolvePageHeadTitle:(e,t)=>[e.title,t.title].filter(n=>!!n).join(" | "),resolvePageLang:(e,t)=>e.lang||t.lang||sp,resolvePageLayout:(e,t)=>{const n=ve(e.frontmatter.layout)?e.frontmatter.layout:lp;if(!t[n])throw new Error(`[vuepress] Cannot resolve layout: ${n}`);return t[n]},resolveRouteLocale:(e,t)=>Wd(e,t),resolveSiteLocaleData:(e,t)=>{var n;return{...e,...e.locales[t],head:[...((n=e.locales[t])==null?void 0:n.head)??[],...e.head??[]]}}});const ap={},fr=e=>{const t=tn();return S(()=>e[t.value]??{})},pt=(e,t)=>{var r;const n=(r=(t==null?void 0:t._instance)||ar())==null?void 0:r.appContext.components;return n?e in n||Ze(e)in n||nr(Ze(e))in n:!1},ip=e=>typeof e<"u",wo=e=>typeof e=="number",Wo=Array.isArray,Cn=(e,t)=>ve(e)&&e.startsWith(t),cp=(e,t)=>ve(e)&&e.endsWith(t),Rl=Object.entries,up=Object.fromEntries,kn=Object.keys,fp=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},no=e=>Cn(e,"/"),dp="http://.",pp=(e,t)=>{if(no(e)||typeof t!="string")return Bt(e);const n=t.slice(0,t.lastIndexOf("/"));return Bt(new URL(`${n}/${encodeURI(e)}`,dp).pathname)},Ni=e=>new Promise(t=>setTimeout(t,e));function $i(e,t){let n,r,o;const l=X(!0),s=()=>{l.value=!0,o()};ce(e,s,{flush:"sync"});const a=typeof t=="function"?t:t.get,i=typeof t=="function"?void 0:t.set,c=vl((f,d)=>(r=f,o=d,{get(){return l.value&&(n=a(),l.value=!1),r(),n},set(p){i==null||i(p)}}));return Object.isExtensible(c)&&(c.trigger=s),c}function nn(e){return wa()?(yu(e),!0):!1}function Ae(e){return typeof e=="function"?e():Qt(e)}const dr=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const hp=e=>e!=null,mp=Object.prototype.toString,vp=e=>mp.call(e)==="[object Object]",Yt=()=>{},qs=gp();function gp(){var e,t;return dr&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function Il(e,t){function n(...r){return new Promise((o,l)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(o).catch(l)})}return n}const Bi=e=>e();function yp(e,t={}){let n,r,o=Yt;const l=a=>{clearTimeout(a),o(),o=Yt};return a=>{const i=Ae(e),c=Ae(t.maxWait);return n&&l(n),i<=0||c!==void 0&&c<=0?(r&&(l(r),r=null),Promise.resolve(a())):new Promise((f,d)=>{o=t.rejectOnCancel?d:f,c&&!r&&(r=setTimeout(()=>{n&&l(n),r=null,f(a())},c)),n=setTimeout(()=>{r&&l(r),r=null,f(a())},i)})}}function bp(...e){let t=0,n,r=!0,o=Yt,l,s,a,i,c;!Re(e[0])&&typeof e[0]=="object"?{delay:s,trailing:a=!0,leading:i=!0,rejectOnCancel:c=!1}=e[0]:[s,a=!0,i=!0,c=!1]=e;const f=()=>{n&&(clearTimeout(n),n=void 0,o(),o=Yt)};return p=>{const m=Ae(s),g=Date.now()-t,E=()=>l=p();return f(),m<=0?(t=Date.now(),E()):(g>m&&(i||!r)?(t=Date.now(),E()):a&&(l=new Promise((_,b)=>{o=c?b:_,n=setTimeout(()=>{t=Date.now(),r=!0,_(E()),f()},Math.max(0,m-g))})),!i&&!n&&(n=setTimeout(()=>r=!0,m)),r=!1,l)}}function _p(e=Bi){const t=X(!0);function n(){t.value=!1}function r(){t.value=!0}const o=(...l)=>{t.value&&e(...l)};return{isActive:or(t),pause:n,resume:r,eventFilter:o}}function wp(e){let t;function n(){return t||(t=e()),t}return n.reset=async()=>{const r=t;t=void 0,r&&await r},n}function Hi(e){return e||ar()}function Ep(...e){if(e.length!==1)return Gr(...e);const t=e[0];return typeof t=="function"?or(vl(()=>({get:t,set:Yt}))):X(t)}function Cp(e,t=200,n={}){return Il(yp(t,n),e)}function Lp(e,t=200,n=!1,r=!0,o=!1){return Il(bp(t,n,r,o),e)}function Sp(e,t,n={}){const{eventFilter:r=Bi,...o}=n;return ce(e,Il(r,t),o)}function kp(e,t,n={}){const{eventFilter:r,...o}=n,{eventFilter:l,pause:s,resume:a,isActive:i}=_p(r);return{stop:Sp(e,t,{...o,eventFilter:l}),pause:s,resume:a,isActive:i}}function ro(e,t=!0,n){Hi()?ye(e,n):t?e():Ht(e)}function Tp(e,t){Hi(t)&&Sn(e,t)}function xp(e,t,n={}){const{immediate:r=!0}=n,o=X(!1);let l=null;function s(){l&&(clearTimeout(l),l=null)}function a(){o.value=!1,s()}function i(...c){s(),o.value=!0,l=setTimeout(()=>{o.value=!1,l=null,e(...c)},Ae(t))}return r&&(o.value=!0,dr&&i()),nn(a),{isPending:or(o),start:i,stop:a}}function Go(e=!1,t={}){const{truthyValue:n=!0,falsyValue:r=!1}=t,o=Re(e),l=X(e);function s(a){if(arguments.length)return l.value=a,l.value;{const i=Ae(n);return l.value=l.value===i?Ae(r):i,l.value}}return o?s:[l,s]}function ut(e){var t;const n=Ae(e);return(t=n==null?void 0:n.$el)!=null?t:n}const ht=dr?window:void 0,ji=dr?window.document:void 0,Vi=dr?window.navigator:void 0;function Ie(...e){let t,n,r,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,o]=e,t=ht):[t,n,r,o]=e,!t)return Yt;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const l=[],s=()=>{l.forEach(f=>f()),l.length=0},a=(f,d,p,m)=>(f.addEventListener(d,p,m),()=>f.removeEventListener(d,p,m)),i=ce(()=>[ut(t),Ae(o)],([f,d])=>{if(s(),!f)return;const p=vp(d)?{...d}:d;l.push(...n.flatMap(m=>r.map(g=>a(f,m,g,p))))},{immediate:!0,flush:"post"}),c=()=>{i(),s()};return nn(c),c}function Ap(){const e=X(!1),t=ar();return t&&ye(()=>{e.value=!0},t),e}function Tn(e){const t=Ap();return S(()=>(t.value,!!e()))}function zi(e,t={}){const{window:n=ht}=t,r=Tn(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const l=X(!1),s=c=>{l.value=c.matches},a=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",s):o.removeListener(s))},i=qa(()=>{r.value&&(a(),o=n.matchMedia(Ae(e)),"addEventListener"in o?o.addEventListener("change",s):o.addListener(s),l.value=o.matches)});return nn(()=>{i(),a(),o=void 0}),l}function Ks(e,t={}){const{controls:n=!1,navigator:r=Vi}=t,o=Tn(()=>r&&"permissions"in r);let l;const s=typeof e=="string"?{name:e}:e,a=X(),i=()=>{l&&(a.value=l.state)},c=wp(async()=>{if(o.value){if(!l)try{l=await r.permissions.query(s),Ie(l,"change",i),i()}catch{a.value="prompt"}return l}});return c(),n?{state:a,isSupported:o,query:c}:a}function Pp(e={}){const{navigator:t=Vi,read:n=!1,source:r,copiedDuring:o=1500,legacy:l=!1}=e,s=Tn(()=>t&&"clipboard"in t),a=Ks("clipboard-read"),i=Ks("clipboard-write"),c=S(()=>s.value||l),f=X(""),d=X(!1),p=xp(()=>d.value=!1,o);function m(){s.value&&b(a.value)?t.clipboard.readText().then(C=>{f.value=C}):f.value=_()}c.value&&n&&Ie(["copy","cut"],m);async function g(C=Ae(r)){c.value&&C!=null&&(s.value&&b(i.value)?await t.clipboard.writeText(C):E(C),f.value=C,d.value=!0,p.start())}function E(C){const y=document.createElement("textarea");y.value=C??"",y.style.position="absolute",y.style.opacity="0",document.body.appendChild(y),y.select(),document.execCommand("copy"),y.remove()}function _(){var C,y,k;return(k=(y=(C=document==null?void 0:document.getSelection)==null?void 0:C.call(document))==null?void 0:y.toString())!=null?k:""}function b(C){return C==="granted"||C==="prompt"}return{isSupported:c,text:f,copied:d,copy:g}}const Sr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},kr="__vueuse_ssr_handlers__",Rp=Ip();function Ip(){return kr in Sr||(Sr[kr]=Sr[kr]||{}),Sr[kr]}function Mp(e,t){return Rp[e]||t}function Op(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 Dp={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()}},Qs="vueuse-storage";function oo(e,t,n,r={}){var o;const{flush:l="pre",deep:s=!0,listenToStorageChanges:a=!0,writeDefaults:i=!0,mergeDefaults:c=!1,shallow:f,window:d=ht,eventFilter:p,onError:m=R=>{console.error(R)},initOnMounted:g}=r,E=(f?Ge:X)(typeof t=="function"?t():t);if(!n)try{n=Mp("getDefaultStorage",()=>{var R;return(R=ht)==null?void 0:R.localStorage})()}catch(R){m(R)}if(!n)return E;const _=Ae(t),b=Op(_),C=(o=r.serializer)!=null?o:Dp[b],{pause:y,resume:k}=kp(E,()=>L(E.value),{flush:l,deep:s,eventFilter:p});d&&a&&ro(()=>{Ie(d,"storage",I),Ie(d,Qs,K),g&&I()}),g||I();function O(R,Y){d&&d.dispatchEvent(new CustomEvent(Qs,{detail:{key:e,oldValue:R,newValue:Y,storageArea:n}}))}function L(R){try{const Y=n.getItem(e);if(R==null)O(Y,null),n.removeItem(e);else{const N=C.write(R);Y!==N&&(n.setItem(e,N),O(Y,N))}}catch(Y){m(Y)}}function D(R){const Y=R?R.newValue:n.getItem(e);if(Y==null)return i&&_!=null&&n.setItem(e,C.write(_)),_;if(!R&&c){const N=C.read(Y);return typeof c=="function"?c(N,_):b==="object"&&!Array.isArray(N)?{..._,...N}:N}else return typeof Y!="string"?Y:C.read(Y)}function I(R){if(!(R&&R.storageArea!==n)){if(R&&R.key==null){E.value=_;return}if(!(R&&R.key!==e)){y();try{(R==null?void 0:R.newValue)!==C.write(E.value)&&(E.value=D(R))}catch(Y){m(Y)}finally{R?Ht(k):k()}}}}function K(R){I(R.detail)}return E}function Fp(e){return zi("(prefers-color-scheme: dark)",e)}function Np(e,t,n={}){const{window:r=ht,...o}=n;let l;const s=Tn(()=>r&&"MutationObserver"in r),a=()=>{l&&(l.disconnect(),l=void 0)},i=S(()=>{const p=Ae(e),m=(Array.isArray(p)?p:[p]).map(ut).filter(hp);return new Set(m)}),c=ce(()=>i.value,p=>{a(),s.value&&r&&p.size&&(l=new MutationObserver(t),p.forEach(m=>l.observe(m,o)))},{immediate:!0,flush:"post"}),f=()=>l==null?void 0:l.takeRecords(),d=()=>{a(),c()};return nn(d),{isSupported:s,stop:d,takeRecords:f}}function $p(e,t,n={}){const{window:r=ht,...o}=n;let l;const s=Tn(()=>r&&"ResizeObserver"in r),a=()=>{l&&(l.disconnect(),l=void 0)},i=S(()=>Array.isArray(e)?e.map(d=>ut(d)):[ut(e)]),c=ce(i,d=>{if(a(),s.value&&r){l=new ResizeObserver(t);for(const p of d)p&&l.observe(p,o)}},{immediate:!0,flush:"post"}),f=()=>{a(),c()};return nn(f),{isSupported:s,stop:f}}function Bp(e,t={width:0,height:0},n={}){const{window:r=ht,box:o="content-box"}=n,l=S(()=>{var d,p;return(p=(d=ut(e))==null?void 0:d.namespaceURI)==null?void 0:p.includes("svg")}),s=X(t.width),a=X(t.height),{stop:i}=$p(e,([d])=>{const p=o==="border-box"?d.borderBoxSize:o==="content-box"?d.contentBoxSize:d.devicePixelContentBoxSize;if(r&&l.value){const m=ut(e);if(m){const g=r.getComputedStyle(m);s.value=Number.parseFloat(g.width),a.value=Number.parseFloat(g.height)}}else if(p){const m=Array.isArray(p)?p:[p];s.value=m.reduce((g,{inlineSize:E})=>g+E,0),a.value=m.reduce((g,{blockSize:E})=>g+E,0)}else s.value=d.contentRect.width,a.value=d.contentRect.height},n);ro(()=>{const d=ut(e);d&&(s.value="offsetWidth"in d?d.offsetWidth:t.width,a.value="offsetHeight"in d?d.offsetHeight:t.height)});const c=ce(()=>ut(e),d=>{s.value=d?t.width:0,a.value=d?t.height:0});function f(){i(),c()}return{width:s,height:a,stop:f}}const Ys=["fullscreenchange","webkitfullscreenchange","webkitendfullscreen","mozfullscreenchange","MSFullscreenChange"];function Ml(e,t={}){const{document:n=ji,autoExit:r=!1}=t,o=S(()=>{var b;return(b=ut(e))!=null?b:n==null?void 0:n.querySelector("html")}),l=X(!1),s=S(()=>["requestFullscreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].find(b=>n&&b in n||o.value&&b in o.value)),a=S(()=>["exitFullscreen","webkitExitFullscreen","webkitExitFullScreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].find(b=>n&&b in n||o.value&&b in o.value)),i=S(()=>["fullScreen","webkitIsFullScreen","webkitDisplayingFullscreen","mozFullScreen","msFullscreenElement"].find(b=>n&&b in n||o.value&&b in o.value)),c=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"].find(b=>n&&b in n),f=Tn(()=>o.value&&n&&s.value!==void 0&&a.value!==void 0&&i.value!==void 0),d=()=>c?(n==null?void 0:n[c])===o.value:!1,p=()=>{if(i.value){if(n&&n[i.value]!=null)return n[i.value];{const b=o.value;if((b==null?void 0:b[i.value])!=null)return!!b[i.value]}}return!1};async function m(){if(!(!f.value||!l.value)){if(a.value)if((n==null?void 0:n[a.value])!=null)await n[a.value]();else{const b=o.value;(b==null?void 0:b[a.value])!=null&&await b[a.value]()}l.value=!1}}async function g(){if(!f.value||l.value)return;p()&&await m();const b=o.value;s.value&&(b==null?void 0:b[s.value])!=null&&(await b[s.value](),l.value=!0)}async function E(){await(l.value?m():g())}const _=()=>{const b=p();(!b||b&&d())&&(l.value=b)};return Ie(n,Ys,_,!1),Ie(()=>ut(o),Ys,_,!1),r&&nn(m),{isSupported:f,isFullscreen:l,enter:g,exit:m,toggle:E}}function Eo(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function Co(e,t=Yt,n={}){const{immediate:r=!0,manual:o=!1,type:l="text/javascript",async:s=!0,crossOrigin:a,referrerPolicy:i,noModule:c,defer:f,document:d=ji,attrs:p={}}=n,m=X(null);let g=null;const E=C=>new Promise((y,k)=>{const O=I=>(m.value=I,y(I),I);if(!d){y(!1);return}let L=!1,D=d.querySelector(`script[src="${Ae(e)}"]`);D?D.hasAttribute("data-loaded")&&O(D):(D=d.createElement("script"),D.type=l,D.async=s,D.src=Ae(e),f&&(D.defer=f),a&&(D.crossOrigin=a),c&&(D.noModule=c),i&&(D.referrerPolicy=i),Object.entries(p).forEach(([I,K])=>D==null?void 0:D.setAttribute(I,K)),L=!0),D.addEventListener("error",I=>k(I)),D.addEventListener("abort",I=>k(I)),D.addEventListener("load",()=>{D.setAttribute("data-loaded","true"),t(D),O(D)}),L&&(D=d.head.appendChild(D)),C||O(D)}),_=(C=!0)=>(g||(g=E(C)),g),b=()=>{if(!d)return;g=null,m.value&&(m.value=null);const C=d.querySelector(`script[src="${Ae(e)}"]`);C&&d.head.removeChild(C)};return r&&!o&&ro(_),o||Tp(b),{scriptTag:m,load:_,unload:b}}function Ui(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const Tr=new WeakMap;function Wi(e,t=!1){const n=X(t);let r=null;ce(Ep(e),s=>{const a=Eo(Ae(s));if(a){const i=a;Tr.get(i)||Tr.set(i,i.style.overflow),n.value&&(i.style.overflow="hidden")}},{immediate:!0});const o=()=>{const s=Eo(Ae(e));!s||n.value||(qs&&(r=Ie(s,"touchmove",a=>{Hp(a)},{passive:!1})),s.style.overflow="hidden",n.value=!0)},l=()=>{var s;const a=Eo(Ae(e));!a||!n.value||(qs&&(r==null||r()),a.style.overflow=(s=Tr.get(a))!=null?s:"",Tr.delete(a),n.value=!1)};return nn(l),S({get(){return n.value},set(s){s?o():l()}})}function Gi(e,t,n={}){const{window:r=ht}=n;return oo(e,t,r==null?void 0:r.sessionStorage,n)}function jp(e={}){const{window:t=ht,behavior:n="auto"}=e;if(!t)return{x:X(0),y:X(0)};const r=X(t.scrollX),o=X(t.scrollY),l=S({get(){return r.value},set(a){scrollTo({left:a,behavior:n})}}),s=S({get(){return o.value},set(a){scrollTo({top:a,behavior:n})}});return Ie(t,"scroll",()=>{r.value=t.scrollX,o.value=t.scrollY},{capture:!1,passive:!0}),{x:l,y:s}}function Vp(e={}){const{window:t=ht,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:o=!0,includeScrollbar:l=!0}=e,s=X(n),a=X(r),i=()=>{t&&(l?(s.value=t.innerWidth,a.value=t.innerHeight):(s.value=t.document.documentElement.clientWidth,a.value=t.document.documentElement.clientHeight))};if(i(),ro(i),Ie("resize",i,{passive:!0}),o){const c=zi("(orientation: portrait)");ce(c,()=>i())}return{width:s,height:a}}var zp=z({name:"FontIcon",props:{icon:{type:String,default:""},color:{type:String,default:""},size:{type:[String,Number],default:""}},setup(e){const t=S(()=>{const r=["font-icon icon"],o=`fas fa-${e.icon}`;return r.push("fa-fw fa-sm"),r.push(e.icon.includes(" ")?e.icon:o),r}),n=S(()=>{const r={};return e.color&&(r.color=e.color),e.size&&(r["font-size"]=Number.isNaN(Number(e.size))?e.size:`${e.size}px`),kn(r).length?r:null});return()=>e.icon?u("span",{key:e.icon,class:t.value,style:n.value}):null}});const qi=({type:e="info",text:t="",vertical:n,color:r},{slots:o})=>{var l;return u("span",{class:["vp-badge",e,{diy:r}],style:{verticalAlign:n??!1,backgroundColor:r??!1}},((l=o.default)==null?void 0:l.call(o))||t)};qi.displayName="Badge";const Ki=({title:e,desc:t="",logo:n,background:r,color:o,link:l})=>{const s=[n?u("img",{class:"vp-card-logo",src:Fe(n),loading:"lazy","no-view":""}):null,u("div",{class:"vp-card-content"},[u("div",{class:"vp-card-title",innerHTML:e}),u("hr"),u("div",{class:"vp-card-desc",innerHTML:t})])],a={};return r&&(a.background=r),o&&(a.color=o),l?Jr(l)?u("a",{class:"vp-card",href:l,target:"_blank",style:a},s):u(He,{to:l,class:"vp-card",style:a},()=>s):u("div",{class:"vp-card",style:a},s)};Ki.displayName="VPCard";const Up=qe({enhance:({app:e})=>{pt("FontIcon")||e.component("FontIcon",zp),pt("Badge")||e.component("Badge",qi),pt("VPCard")||e.component("VPCard",Ki)},setup:()=>{Co("https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6/js/brands.min.js",()=>{},{attrs:{"data-auto-replace-svg":"nest"}}),Co("https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6/js/solid.min.js",()=>{},{attrs:{"data-auto-replace-svg":"nest"}}),Co("https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6/js/fontawesome.min.js",()=>{},{attrs:{"data-auto-replace-svg":"nest"}})},rootComponents:[]}),Js=async(e,t)=>{const{path:n,query:r}=e.currentRoute.value,{scrollBehavior:o}=e.options;e.options.scrollBehavior=void 0,await e.replace({path:n,query:r,hash:t}),e.options.scrollBehavior=o},Wp=({headerLinkSelector:e,headerAnchorSelector:t,delay:n,offset:r=5})=>{const o=en();Ie("scroll",Cp(()=>{var g,E;const s=Math.max(window.scrollY,document.documentElement.scrollTop,document.body.scrollTop);if(Math.abs(s-0)d.some(b=>b.hash===_.hash));for(let _=0;_=(((g=b.parentElement)==null?void 0:g.offsetTop)??0)-r,k=!C||s<(((E=C.parentElement)==null?void 0:E.offsetTop)??0)-r;if(!(y&&k))continue;const L=decodeURIComponent(o.currentRoute.value.hash),D=decodeURIComponent(b.hash);if(L===D)return;if(f){for(let I=_+1;Ive(e.title)?{title:e.title}:null;const Yi=Symbol(""),Jp=e=>{Qi=e},Xp=()=>xe(Yi),Zp=e=>{e.provide(Yi,Qi)};var eh={"/":{title:"Catalog",empty:"No catalog"}};const th=z({name:"Catalog",props:{base:{type:String,default:""},level:{type:Number,default:3},index:Boolean,hideHeading:Boolean},setup(e){const t=Xp(),n=fr(eh),r=be(),o=np(),l=Oi(),a=Ge(Rl(o.value).map(([c,{meta:f}])=>{const d=t(f);if(!d)return null;const p=c.split("/").length;return{level:cp(c,"/")?p-2:p-1,base:c.replace(/\/[^/]+\/?$/,"/"),path:c,...d}}).filter(c=>ur(c)&&ve(c.title))),i=S(()=>{const c=e.base?Vd(Ei(e.base)):r.value.path.replace(/\/[^/]+$/,"/"),f=c.split("/").length-2,d=[];return a.value.filter(({level:p,path:m})=>{if(!Cn(m,c)||m===c)return!1;if(c==="/"){const g=kn(l.value.locales).filter(E=>E!=="/");if(m==="/404.html"||g.some(E=>Cn(m,E)))return!1}return p-f<=e.level}).sort(({title:p,level:m,order:g},{title:E,level:_,order:b})=>{const C=m-_;return C||(wo(g)?wo(b)?g>0?b>0?g-b:-1:b<0?g-b:1:g:wo(b)?b:p.localeCompare(E))}).forEach(p=>{var E;const{base:m,level:g}=p;switch(g-f){case 1:{d.push(p);break}case 2:{const _=d.find(b=>b.path===m);_&&(_.children??(_.children=[])).push(p);break}default:{const _=d.find(b=>b.path===m.replace(/\/[^/]+\/$/,"/"));if(_){const b=(E=_.children)==null?void 0:E.find(C=>C.path===m);b&&(b.children??(b.children=[])).push(p)}}}}),d});return()=>{const c=i.value.some(f=>f.children);return u("div",{class:["vp-catalog-wrapper",{index:e.index}]},[e.hideHeading?null:u("h2",{class:"vp-catalog-main-title"},n.value.title),i.value.length?u(e.index?"ol":"ul",{class:["vp-catalogs",{deep:c}]},i.value.map(({children:f=[],title:d,path:p,content:m})=>{const g=u(He,{class:"vp-catalog-title",to:p},()=>m?u(m):d);return u("li",{class:"vp-catalog"},c?[u("h3",{id:d,class:["vp-catalog-child-title",{"has-children":f.length}]},[u("a",{href:`#${d}`,class:"vp-catalog-header-anchor","aria-hidden":!0},"#"),g]),f.length?u(e.index?"ol":"ul",{class:"vp-child-catalogs"},f.map(({children:E=[],content:_,path:b,title:C})=>u("li",{class:"vp-child-catalog"},[u("div",{class:["vp-catalog-sub-title",{"has-children":E.length}]},[u("a",{href:`#${C}`,class:"vp-catalog-header-anchor"},"#"),u(He,{class:"vp-catalog-title",to:b},()=>_?u(_):C)]),E.length?u(e.index?"ol":"div",{class:e.index?"vp-sub-catalogs":"vp-sub-catalogs-wrapper"},E.map(({content:y,path:k,title:O})=>e.index?u("li",{class:"vp-sub-catalog"},u(He,{to:k},()=>y?u(y):O)):u(He,{class:"vp-sub-catalog-link",to:k},()=>y?u(y):O))):null]))):null]:u("div",{class:"vp-catalog-child-title"},g))})):u("p",{class:"vp-empty-catalog"},n.value.empty)])}}}),nh=qe({enhance:({app:e})=>{Zp(e),pt("Catalog",e)||e.component("Catalog",th)}});var rh={"/":{backToTop:"Back to top"}};const oh=z({name:"BackToTop",setup(){const e=_e(),t=fr(rh),n=Ge(),{height:r}=Bp(n),{height:o}=Vp(),{y:l}=jp(),s=S(()=>e.value.backToTop!==!1&&l.value>100),a=S(()=>l.value/(r.value-o.value)*100);return ye(()=>{n.value=document.body}),()=>u($t,{name:"back-to-top"},()=>s.value?u("button",{type:"button",class:"vp-back-to-top-button","aria-label":t.value.backToTop,onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})}},[u("span",{class:"vp-scroll-progress",role:"progressbar","aria-labelledby":"loadinglabel","aria-valuenow":a.value},u("svg",u("circle",{cx:"26",cy:"26",r:"24",fill:"none",stroke:"currentColor","stroke-width":"4","stroke-dasharray":`${Math.PI*a.value*.48} ${Math.PI*(100-a.value)*.48}`}))),u("div",{class:"back-to-top-icon"})]):null)}}),lh=qe({rootComponents:[oh]}),sh=u("svg",{class:"external-link-icon",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"},[u("path",{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"}),u("polygon",{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"})]),Ji=z({name:"ExternalLinkIcon",props:{locales:{type:Object,default:()=>({})}},setup(e){const t=tn(),n=S(()=>e.locales[t.value]??{openInNewWindow:"open in new window"});return()=>u("span",[sh,u("span",{class:"external-link-icon-sr-only"},n.value.openInNewWindow)])}});var ah={};const ih=ah,ch=qe({enhance({app:e}){e.component("ExternalLinkIcon",u(Ji,{locales:ih}))}});/** + * NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT + */const se={settings:{minimum:.08,easing:"ease",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,barSelector:'[role="bar"]',parent:"body",template:'
'},status:null,set:e=>{const t=se.isStarted();e=Lo(e,se.settings.minimum,1),se.status=e===1?null:e;const n=se.render(!t),r=n.querySelector(se.settings.barSelector),o=se.settings.speed,l=se.settings.easing;return n.offsetWidth,uh(s=>{xr(r,{transform:"translate3d("+Xs(e)+"%,0,0)",transition:"all "+o+"ms "+l}),e===1?(xr(n,{transition:"none",opacity:"1"}),n.offsetWidth,setTimeout(function(){xr(n,{transition:"all "+o+"ms linear",opacity:"0"}),setTimeout(function(){se.remove(),s()},o)},o)):setTimeout(()=>s(),o)}),se},isStarted:()=>typeof se.status=="number",start:()=>{se.status||se.set(0);const e=()=>{setTimeout(()=>{se.status&&(se.trickle(),e())},se.settings.trickleSpeed)};return se.settings.trickle&&e(),se},done:e=>!e&&!se.status?se:se.inc(.3+.5*Math.random()).set(1),inc:e=>{let t=se.status;return t?(typeof e!="number"&&(e=(1-t)*Lo(Math.random()*t,.1,.95)),t=Lo(t+e,0,.994),se.set(t)):se.start()},trickle:()=>se.inc(Math.random()*se.settings.trickleRate),render:e=>{if(se.isRendered())return document.getElementById("nprogress");Zs(document.documentElement,"nprogress-busy");const t=document.createElement("div");t.id="nprogress",t.innerHTML=se.settings.template;const n=t.querySelector(se.settings.barSelector),r=e?"-100":Xs(se.status||0),o=document.querySelector(se.settings.parent);return xr(n,{transition:"all 0 linear",transform:"translate3d("+r+"%,0,0)"}),o!==document.body&&Zs(o,"nprogress-custom-parent"),o==null||o.appendChild(t),t},remove:()=>{ea(document.documentElement,"nprogress-busy"),ea(document.querySelector(se.settings.parent),"nprogress-custom-parent");const e=document.getElementById("nprogress");e&&fh(e)},isRendered:()=>!!document.getElementById("nprogress")},Lo=(e,t,n)=>en?n:e,Xs=e=>(-1+e)*100,uh=function(){const e=[];function t(){const n=e.shift();n&&n(t)}return function(n){e.push(n),e.length===1&&t()}}(),xr=function(){const e=["Webkit","O","Moz","ms"],t={};function n(s){return s.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(a,i){return i.toUpperCase()})}function r(s){const a=document.body.style;if(s in a)return s;let i=e.length;const c=s.charAt(0).toUpperCase()+s.slice(1);let f;for(;i--;)if(f=e[i]+c,f in a)return f;return s}function o(s){return s=n(s),t[s]??(t[s]=r(s))}function l(s,a,i){a=o(a),s.style[a]=i}return function(s,a){for(const i in a){const c=a[i];c!==void 0&&Object.prototype.hasOwnProperty.call(a,i)&&l(s,i,c)}}}(),Xi=(e,t)=>(typeof e=="string"?e:Ol(e)).indexOf(" "+t+" ")>=0,Zs=(e,t)=>{const n=Ol(e),r=n+t;Xi(n,t)||(e.className=r.substring(1))},ea=(e,t)=>{const n=Ol(e);if(!Xi(e,t))return;const r=n.replace(" "+t+" "," ");e.className=r.substring(1,r.length-1)},Ol=e=>(" "+(e.className||"")+" ").replace(/\s+/gi," "),fh=e=>{e&&e.parentNode&&e.parentNode.removeChild(e)},dh=()=>{ye(()=>{const e=en(),t=new Set;t.add(e.currentRoute.value.path),e.beforeEach(n=>{t.has(n.path)||se.start()}),e.afterEach(n=>{t.add(n.path),se.done()})})},ph=qe({setup(){dh()}}),hh=JSON.parse(`{"encrypt":{"config":{"/demo/encrypt.html":["$2a$10$EZ4nA4fQRjVXEW/C0C8H3eEfKB6qfX2KXNwmF7BaVLFXMBQoqEQn2"]}},"author":{"name":"Aahil","url":"https://linktr.ee/thecr3ator"},"logo":"/assets/icon/node.png","repo":"Aahil13/Node-docs","docsDir":"src","footer":"Default footer","displayFooter":true,"fullscreen":true,"locales":{"/":{"lang":"en-US","navbarLocales":{"langName":"English","selectLangAriaLabel":"Select language"},"metaLocales":{"author":"Author","date":"Writing Date","origin":"Original","views":"Page views","category":"Category","tag":"Tag","readingTime":"Reading Time","words":"Words","toc":"On This Page","prev":"Prev","next":"Next","lastUpdated":"Last update","contributors":"Contributors","editLink":"Edit this page on GitHub","print":"Print"},"outlookLocales":{"themeColor":"Theme Color","darkmode":"Theme Mode","fullscreen":"Full Screen"},"encryptLocales":{"iconLabel":"Page Encrypted","placeholder":"Enter password","remember":"Remember password","errorHint":"Please enter the correct password!"},"routeLocales":{"skipToContent":"Skip to main content","notFoundTitle":"Page not found","notFoundMsg":["There’s nothing here.","How did we get here?","That’s a Four-Oh-Four.","Looks like we've got some broken links."],"back":"Go back","home":"Take me home","openInNewWindow":"Open in new window"},"navbar":["/","/get-started/","docs/"],"sidebar":{"/":["",{"text":"Get Started","icon":"lightbulb","prefix":"get-started/","link":"get-started/","children":["installation.md","quick-start.md","what-is-nodejs.md"]},{"text":"Docs","icon":"book","prefix":"docs/","link":"docs/","children":"structure"}]}}}}`),mh=X(hh),Zi=()=>mh,ec=Symbol(""),vh=()=>{const e=xe(ec);if(!e)throw new Error("useThemeLocaleData() is called without provider.");return e},gh=(e,t)=>{const{locales:n,...r}=e;return{...r,...n==null?void 0:n[t]}},yh=qe({enhance({app:e}){const t=Zi(),n=e._context.provides[xl],r=S(()=>gh(t.value,n.routeLocale.value));e.provide(ec,r),Object.defineProperties(e.config.globalProperties,{$theme:{get(){return t.value}},$themeLocale:{get(){return r.value}}})}});var bh={provider:"Giscus",lightTheme:"https://unpkg.com/vuepress-theme-hope@2.0.0-rc.36/templates/giscus/light.css",darkTheme:"https://unpkg.com/vuepress-theme-hope@2.0.0-rc.36/templates/giscus/dark.css",repo:"vuepress-theme-hope/giscus-discussions",repoId:"R_kgDOG_Pt2A",category:"Announcements",categoryId:"DIC_kwDOG_Pt2M4COD69"};const _h=bh;let wh=_h;const tc=Symbol(""),nc=()=>xe(tc),Eh=nc,Ch=e=>{e.provide(tc,wh)},rc=()=>u("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",preserveAspectRatio:"xMidYMid",viewBox:"0 0 100 100"},[u("circle",{cx:"28",cy:"75",r:"11",fill:"currentColor"},u("animate",{attributeName:"fill-opacity",begin:"0s",dur:"1s",keyTimes:"0;0.2;1",repeatCount:"indefinite",values:"0;1;1"})),u("path",{fill:"none",stroke:"#88baf0","stroke-width":"10",d:"M28 47a28 28 0 0 1 28 28"},u("animate",{attributeName:"stroke-opacity",begin:"0.1s",dur:"1s",keyTimes:"0;0.2;1",repeatCount:"indefinite",values:"0;1;1"})),u("path",{fill:"none",stroke:"#88baf0","stroke-width":"10",d:"M28 25a50 50 0 0 1 50 50"},u("animate",{attributeName:"stroke-opacity",begin:"0.2s",dur:"1s",keyTimes:"0;0.2;1",repeatCount:"indefinite",values:"0;1;1"}))]);rc.displayName="LoadingIcon";const ta=["ar","ca","da","de","en","eo","es","fa","fr","he","id","it","ja","ko","nl","pl","pt","ro","ru","th","tr","uk","uz","vi","zh-CN","zh-TW"],Lh=z({name:"GiscusComment",props:{identifier:{type:String,required:!0},darkmode:Boolean},setup(e){const t=Eh(),n=Al(),r=!!(t.repo&&t.repoId&&t.category&&t.categoryId),{repo:o,repoId:l,category:s,categoryId:a}=t,i=X(!1),c=S(()=>{if(ta.includes(n.value))return n.value;const d=n.value.split("-")[0];return ta.includes(d)?d:"en"}),f=S(()=>({repo:o,repoId:l,category:s,categoryId:a,lang:c.value,theme:e.darkmode?t.darkTheme||"dark":t.lightTheme||"light",mapping:t.mapping||"pathname",term:e.identifier,inputPosition:t.inputPosition||"top",reactionsEnabled:t.reactionsEnabled===!1?"0":"1",strict:t.strict===!1?"0":"1",loading:t.lazyLoading===!1?"eager":"lazy",emitMetadata:"0"}));return ye(async()=>{await Q(()=>import("./giscus-7BMGhbDA.js"),[]),i.value=!0}),()=>r?u("div",{id:"comment",class:["giscus-wrapper",{"input-top":t.inputPosition!=="bottom"}]},i.value?u("giscus-widget",f.value):u(rc)):null}}),Sh=z({name:"CommentService",props:{darkmode:Boolean},setup(e){const t=nc(),n=be(),r=_e(),o=t.comment!==!1,l=S(()=>r.value.comment||o&&r.value.comment!==!1);return()=>u(Lh,{id:"vp-comment",identifier:r.value.commentID||n.value.path,darkmode:e.darkmode,style:{display:l.value?"block":"none"}})}}),kh=qe({enhance:({app:e})=>{Ch(e),e.component("CommentService",Sh)}}),Th=/\b(?:Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini)/i,xh=()=>typeof window<"u"&&window.navigator&&"userAgent"in window.navigator&&Th.test(navigator.userAgent),Ah=({delay:e=500,duration:t=2e3,locales:n,selector:r,showInMobile:o})=>{const{copy:l,copied:s}=Pp({legacy:!0,copiedDuring:t}),a=fr(n),i=be(),c=p=>{if(!p.hasAttribute("copy-code-registered")){const m=document.createElement("button");m.type="button",m.classList.add("vp-copy-code-button"),m.innerHTML='
',m.setAttribute("aria-label",a.value.copy),m.setAttribute("data-copied",a.value.copied),p.parentElement&&p.parentElement.insertBefore(m,p),p.setAttribute("copy-code-registered","")}},f=()=>{Ht().then(()=>Ni(e)).then(()=>{r.forEach(p=>{document.querySelectorAll(p).forEach(c)})})},d=(p,m,g)=>{let{innerText:E=""}=m;/language-(shellscript|shell|bash|sh|zsh)/.test(p.classList.toString())&&(E=E.replace(/^ *(\$|>) /gm,"")),l(E).then(()=>{g.classList.add("copied"),ce(s,()=>{g.classList.remove("copied"),g.blur()},{once:!0})})};ye(()=>{const p=!xh()||o;p&&f(),Ie("click",m=>{const g=m.target;if(g.matches('div[class*="language-"] > button.copy')){const E=g.parentElement,_=g.nextElementSibling;_&&d(E,_,g)}else if(g.matches('div[class*="language-"] div.vp-copy-icon')){const E=g.parentElement,_=E.parentElement,b=E.nextElementSibling;b&&d(_,b,E)}}),ce(()=>i.value.path,()=>{p&&f()})})};var Ph={"/":{copy:"Copy code",copied:"Copied"}},Rh=['.theme-hope-content div[class*="language-"] pre'];const Ih=500,Mh=2e3,Oh=Ph,Dh=Rh,Fh=!1,Nh=qe({setup:()=>{Ah({selector:Dh,locales:Oh,duration:Mh,delay:Ih,showInMobile:Fh})}});let $h={};const oc=Symbol(""),Bh=()=>xe(oc),Hh=e=>{e.provide(oc,$h)},jh='
',Vh=e=>ve(e)?Array.from(document.querySelectorAll(e)):e.map(t=>Array.from(document.querySelectorAll(t))).flat(),lc=e=>new Promise((t,n)=>{e.complete?t({type:"image",element:e,src:e.src,width:e.naturalWidth,height:e.naturalHeight,alt:e.alt,msrc:e.src}):(e.onload=()=>t(lc(e)),e.onerror=r=>n(r))}),zh=e=>{const{isSupported:t,toggle:n}=Ml();e.on("uiRegister",()=>{t.value&&e.ui.registerElement({name:"fullscreen",order:7,isButton:!0,html:'',onClick:()=>{n()}}),e.ui.registerElement({name:"download",order:8,isButton:!0,tagName:"a",html:{isCustomSVG:!0,inner:'',outlineID:"pswp__icn-download"},onInit:(r,o)=>{r.setAttribute("download",""),r.setAttribute("target","_blank"),r.setAttribute("rel","noopener"),o.on("change",()=>{r.setAttribute("href",o.currSlide.data.src)})}}),e.ui.registerElement({name:"bulletsIndicator",className:"photo-swipe-bullets-indicator",appendTo:"wrapper",onInit:(r,o)=>{const l=[];let s=-1;for(let a=0;a{o.goTo(l.indexOf(c.target))},l.push(i),r.appendChild(i)}o.on("change",()=>{s>=0&&l[s].classList.remove("active"),l[o.currIndex].classList.add("active"),s=o.currIndex})}})})},Uh=(e,t,n=!0)=>Q(()=>import("./photoswipe.esm-SzV8tJDW.js"),[]).then(({default:r})=>{let o=null;const l=e.map(s=>({html:jh,element:s,msrc:s.src}));return e.forEach((s,a)=>{const i=()=>{o==null||o.destroy(),o=new r({preloaderDelay:0,showHideAnimationType:"zoom",...t,dataSource:l,index:a,...n?{closeOnVerticalDrag:!0,wheelToZoom:!1}:{}}),zh(o),o.addFilter("thumbEl",()=>s),o.addFilter("placeholderSrc",()=>s.src),o.init()};s.getAttribute("photo-swipe")||(s.style.cursor="zoom-in",s.addEventListener("click",()=>{i()}),s.addEventListener("keypress",({key:c})=>{c==="Enter"&&i()}),s.setAttribute("photo-swipe","")),lc(s).then(c=>{l.splice(a,1,c),o==null||o.refreshSlideContent(a)})}),n?Ie("wheel",()=>{o==null||o.close()}):()=>{}}),Wh=({selector:e,locales:t,delay:n=500,scrollToClose:r=!0})=>{const o=Bh(),l=fr(t),s=be(),a=_e();let i=null;const c=()=>{const{photoSwipe:f}=a.value;f!==!1&&Ht().then(()=>Ni(n)).then(async()=>{const d=ve(f)?f:e;i=await Uh(Vh(d),{...o,...l.value},r)})};ye(()=>{c(),ce(()=>s.value.path,()=>{i==null||i(),c()})}),Sn(()=>{i==null||i()})};var Gh={"/":{closeTitle:"Close",downloadTitle:"Download Image",fullscreenTitle:"Switch to full screen",zoomTitle:"Zoom in/out",arrowPrevTitle:"Prev (Arrow Left)",arrowNextTitle:"Next (Arrow Right)"}};const qh=".theme-hope-content :not(a) > img:not([no-view])",Kh=Gh,Qh=800,Yh=!0,Jh=qe({enhance:({app:e})=>{Hh(e)},setup:()=>{Wh({selector:qh,delay:Qh,locales:Kh,scrollToClose:Yh})}}),we=({name:e="",color:t="currentColor"},{slots:n})=>{var r;return u("svg",{xmlns:"http://www.w3.org/2000/svg",class:["icon",`${e}-icon`],viewBox:"0 0 1024 1024",fill:t,"aria-label":`${e} icon`},(r=n.default)==null?void 0:r.call(n))};we.displayName="IconBase";const sc=(e,{slots:t})=>{var n;return(n=t.default)==null?void 0:n.call(t)},Xh=e=>Zt(e)?e:`https://github.com/${e}`,Dl=(e="")=>!Zt(e)||/github\.com/.test(e)?"GitHub":/bitbucket\.org/.test(e)?"Bitbucket":/gitlab\.com/.test(e)?"GitLab":/gitee\.com/.test(e)?"Gitee":null,ac=()=>u(we,{name:"github"},()=>u("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"}));ac.displayName="GitHubIcon";const ic=()=>u(we,{name:"gitee"},()=>u("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"}));ic.displayName="GiteeIcon";const cc=()=>u(we,{name:"bitbucket"},()=>u("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"}));cc.displayName="BitbucketIcon";const uc=()=>u(we,{name:"source"},()=>u("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 Zh=({link:e,type:t=Dl(e??"")})=>{if(!t)return null;const n=t.toLowerCase();return u(n==="bitbucket"?cc:n==="github"?ac:n==="gitlab"?"GitLab":n==="gitee"?ic:uc)},e0=(e,t=0)=>{let n=3735928559^t,r=1103547991^t;for(let o=0,l;o>>16,2246822507),n^=Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(n^n>>>13,3266489909),4294967296*(2097151&r)+(n>>>0)},fc=(e,t)=>e0(e)%t,dc=/#.*$/u,t0=e=>{const t=dc.exec(e);return t?t[0]:""},na=e=>decodeURI(e).replace(dc,"").replace(/\/index\.html$/iu,"/").replace(/\.html$/iu,"").replace(/(README|index)?\.md$/iu,""),pc=(e,t)=>{if(!ip(t))return!1;const n=na(e.path),r=na(t),o=t0(t);return o?o===e.hash&&(!r||n===r):n===r};var n0=e=>Object.prototype.toString.call(e)==="[object Object]",Xn=e=>typeof e=="string";const hc=Array.isArray,ra=e=>n0(e)&&Xn(e.name),oa=(e,t=!1)=>e?hc(e)?e.map(n=>Xn(n)?{name:n}:ra(n)?n:null).filter(n=>n!==null):Xn(e)?[{name:e}]:ra(e)?[e]:(console.error(`Expect "author" to be \`AuthorInfo[] | AuthorInfo | string[] | string ${t?"":"| false"} | undefined\`, but got`,e),[]):[],mc=(e,t)=>{if(e){if(hc(e)&&e.every(Xn))return e;if(Xn(e))return[e];console.error(`Expect ${t||"value"} to be \`string[] | string | undefined\`, but got`,e)}return[]},r0=e=>mc(e,"category"),o0=e=>mc(e,"tag"),vc=()=>{const e=be();return S(()=>e.value.readingTime??null)},l0=(e,t)=>{const{minutes:n,words:r}=e,{less1Minute:o,word:l,time:s}=t;return{time:n<1?o:s.replace("$time",Math.round(n).toString()),words:l.replace("$word",r.toString())}};var la={"/":{word:"About $word words",less1Minute:"Less than 1 minute",time:"About $time min"}};const sa={words:"",time:""},qo=typeof la>"u"?null:la,s0=()=>qo?fr(qo):S(()=>null),a0=()=>{if(typeof qo>"u")return S(()=>sa);const e=vc(),t=s0();return S(()=>e.value&&t.value?l0(e.value,t.value):sa)},rn=()=>Zi(),de=()=>vh(),So=()=>null,i0="719px",c0="1440px",u0="true",Fl={mobileBreakPoint:i0,pcBreakPoint:c0,enableThemeColor:u0,"theme-1":"#2196f3","theme-2":"#f26d6d","theme-3":"#3eaf7c","theme-4":"#fb9b5f"},Nl={"/docs/":[{text:"Basics",prefix:"Basics/",collapsible:!0,icon:"circle-info",children:["Email","Events","File System","HTTP Modules","Modules","NPM","Upload Files","URL Module"]},{text:"MongoDB",prefix:"MongoDB/",collapsible:!0,icon:"hard-drive",children:["install_MongoDB","Collection","Create Database","Delete","Drop Collection","Find","Insert","Join","Limit","Query","Sort","Update"]},{text:"MySQL",prefix:"MySQL/",collapsible:!0,icon:"database",children:["install_MySQL","Create Database","Create Table","Delete","Drop Table","Insert Into","Join","Limit","Order By","Select From","Update","Where"]},{text:"Raspberry Pi",prefix:"RaspberryPi/",collapsible:!0,icon:"/assets/icon/raspberry-pi.svg",children:["Install_RaspberryPi","Blinking_LED","Components","Flowing_LED","GPIO_Introduction","/docs/RaspberryPi/LED___Pushbutton.html","RGB_LED_WebSocket","WebSocket"]}]},gc=e=>{const{icon:t="",color:n,size:r}=e,o=n||r?{}:null;return n&&(o.color=n),r&&(o.height=Number.isNaN(Number(r))?r:`${r}px`),Zt(t)?u("img",{class:"icon",src:t,alt:"","no-view":"",style:o}):no(t)?u("img",{class:"icon",src:Fe(t),alt:"","aria-hidden":"","no-view":"",style:o}):u(ft("FontIcon"),e)};gc.displayName="HopeIcon";var Ne=gc;const f0="http://.",$l=()=>{const e=en(),t=wt();return n=>{if(n)if(no(n))t.path!==n&&e.push(n);else if(Xr(n))window&&window.open(n);else{const r=t.path.slice(0,t.path.lastIndexOf("/"));e.push(new URL(`${r}/${encodeURI(n)}`,f0).pathname)}}},yc=()=>{const e=de(),t=_e();return S(()=>{const{author:n}=t.value;return n?oa(n):n===!1?[]:oa(e.value.author,!1)})},d0=()=>{const e=_e();return S(()=>r0(e.value.category).map(t=>({name:t,path:""})))},p0=()=>{const e=_e();return S(()=>o0(e.value.tag).map(t=>({name:t,path:""})))},h0=()=>{const e=_e(),t=be();return S(()=>{const n=fp(e.value.date);if(n)return n;const{createdTime:r}=t.value.git||{};return r?new Date(r):null})},m0=()=>{const e=de(),t=be(),n=_e(),r=yc(),o=d0(),l=p0(),s=h0(),a=vc(),i=a0(),c=S(()=>({author:r.value,category:o.value,date:s.value,localizedDate:t.value.localizedDate,tag:l.value,isOriginal:n.value.isOriginal||!1,readingTime:a.value,readingTimeLocale:i.value,pageview:"pageview"in n.value?n.value.pageview:!0})),f=S(()=>"pageInfo"in n.value?n.value.pageInfo:"pageInfo"in e.value?e.value.pageInfo:null);return{info:c,items:f}},pr=()=>{const e=rn();return S(()=>!!e.value.pure)},{mobileBreakPoint:v0,pcBreakPoint:g0}=Fl,aa=e=>e.endsWith("px")?Number(e.slice(0,-2)):null,lo=()=>{const e=X(!1),t=X(!1),n=()=>{e.value=window.innerWidth<=(aa(v0)??719),t.value=window.innerWidth>=(aa(g0)??1440)};return Ie("resize",n,!1),Ie("orientationchange",n,!1),ye(()=>{n()}),{isMobile:e,isPC:t}},bc=Symbol(""),hr=()=>{const e=xe(bc);if(!e)throw new Error("useDarkmode() is called without provider.");return e},y0=e=>{const t=rn(),n=Fp(),r=S(()=>t.value.darkmode||"switch"),o=oo("vuepress-theme-hope-scheme","auto"),l=S(()=>{const a=r.value;return a==="disable"?!1:a==="enable"?!0:a==="auto"?n.value:a==="toggle"?o.value==="dark":o.value==="dark"||o.value==="auto"&&n.value}),s=S(()=>{const a=r.value;return a==="switch"||a==="toggle"});e.provide(bc,{canToggle:s,config:r,isDarkmode:l,status:o}),Object.defineProperties(e.config.globalProperties,{$isDarkmode:{get:()=>l.value}})},b0=()=>{const{config:e,isDarkmode:t,status:n}=hr();qa(()=>{e.value==="disable"?n.value="light":e.value==="enable"?n.value="dark":e.value==="toggle"&&n.value==="auto"&&(n.value="light")}),ye(()=>{ce(t,r=>document.documentElement.setAttribute("data-theme",r?"dark":"light"),{immediate:!0})})},Zn=(e,t,n=!1)=>"activeMatch"in t?new RegExp(t.activeMatch,"u").test(e.path):pc(e,t.link)?!0:"children"in t&&!n?t.children.some(r=>Zn(e,r)):!1,_c=(e,t)=>t.type==="group"?t.children.some(n=>n.type==="group"?_c(e,n):n.type==="page"&&Zn(e,n,!0))||"prefix"in t&&pc(e,t.prefix):!1,Ko=e=>!Jr(e)&&!Xr(e);var ct=(e=>(e.title="t",e.shortTitle="s",e.icon="i",e.index="I",e.order="O",e.breadcrumbExclude="b",e))(ct||{}),_0=(e=>(e.type="y",e.author="a",e.date="d",e.localizedDate="l",e.category="c",e.tag="g",e.isEncrypted="n",e.isOriginal="o",e.readingTime="r",e.excerpt="e",e.sticky="u",e.cover="v",e))(_0||{}),w0=(e=>(e.article="a",e.home="h",e.slide="s",e.page="p",e))(w0||{});const Bl=(e,t=!1,n)=>{const{meta:r,path:o,notFound:l}=pp(e,n);return l?{text:o,link:o}:{text:!t&&r[ct.shortTitle]?r[ct.shortTitle]:r[ct.title]||o,link:o,...r[ct.icon]?{icon:r[ct.icon]}:{}}},Gt=(e="",t="")=>no(t)||Xr(t)?t:`${Ei(e)}${t}`,Qo=({config:e,prefix:t=""})=>{const n=(r,o=t)=>{const l=ve(r)?Bl(Gt(o,r)):r.link?{...r,...Ko(r.link)?{link:Bt(Gt(o,r.link)).path}:{}}:r;if("children"in l){const s=Gt(o,l.prefix),a=l.children==="structure"?Nl[s]:l.children;return{type:"group",...l,prefix:s,children:a.map(i=>n(i,s))}}return{type:"page",...l}};return e.map(r=>n(r))},E0=({config:e,page:t,headerDepth:n})=>{const r=kn(e).sort((o,l)=>l.length-o.length);for(const o of r)if(Cn(decodeURI(t.path),o)){const l=e[o];return l?Qo({config:l==="structure"?Nl[o]:l,page:t,headerDepth:n,prefix:o}):[]}return console.warn(`${t.path} is missing sidebar config.`),[]},C0=({config:e,routeLocale:t,page:n,headerDepth:r})=>e==="structure"?Qo({config:Nl[t],page:n,headerDepth:r,prefix:t}):Wo(e)?Qo({config:e,page:n,headerDepth:r}):ur(e)?E0({config:e,page:n,headerDepth:r}):[],wc=Symbol(""),L0=()=>{const e=_e(),t=de(),n=be(),r=tn(),o=S(()=>e.value.home?!1:e.value.sidebar??t.value.sidebar??"structure"),l=S(()=>e.value.headerDepth??t.value.headerDepth??2),s=$i(()=>[o.value,l.value,n.value.path,null],()=>C0({config:o.value,routeLocale:r.value,page:n.value,headerDepth:l.value}));gn(wc,s)},Hl=()=>{const e=xe(wc);if(!e)throw new Error("useSidebarItems() is called without provider.");return e};var S0=z({name:"PageFooter",setup(){const e=rn(),t=de(),n=_e(),r=yc(),o=S(()=>{const{copyright:c,footer:f}=n.value;return f!==!1&&!!(c||f||t.value.displayFooter)}),l=S(()=>{const{footer:c}=n.value;return c===!1?!1:ve(c)?c:t.value.footer||""}),s=S(()=>r.value.map(({name:c})=>c).join(", ")),a=c=>`Copyright © ${new Date().getFullYear()} ${s.value} ${c?`${c} Licensed`:""}`,i=S(()=>{const{copyright:c,license:f=""}=n.value,{license:d}=e.value,{copyright:p}=t.value;return c??(f?a(f):ve(p)?p:s.value||d?a(d):!1)});return()=>o.value?u("footer",{class:"vp-footer-wrapper"},[l.value?u("div",{class:"vp-footer",innerHTML:l.value}):null,i.value?u("div",{class:"vp-copyright",innerHTML:i.value}):null]):null}}),je=z({name:"AutoLink",inheritAttrs:!1,props:{config:{type:Object,required:!0},exact:Boolean,noExternalLinkIcon:Boolean},emits:["focusout"],slots:Object,setup(e,{attrs:t,emit:n,slots:r}){const o=wt(),l=Oi(),s=Gr(e,"config"),a=S(()=>Zt(s.value.link)),i=S(()=>!a.value&&Xr(s.value.link)),c=S(()=>s.value.target||(a.value?"_blank":void 0)),f=S(()=>c.value==="_blank"),d=S(()=>!a.value&&!i.value&&!f.value),p=S(()=>s.value.rel||(f.value?"noopener noreferrer":null)),m=S(()=>s.value.ariaLabel||s.value.text),g=S(()=>{if(e.exact)return!1;const _=kn(l.value.locales);return _.length?_.every(b=>b!==s.value.link):s.value.link!=="/"}),E=S(()=>d.value?s.value.activeMatch?new RegExp(s.value.activeMatch,"u").test(o.path):g.value?Cn(o.path,s.value.link):o.path===s.value.link:!1);return()=>{const{before:_,after:b,default:C}=r,{text:y,icon:k,link:O}=s.value;return d.value?u(He,{to:O,"aria-label":m.value,...t,class:["nav-link",{active:E.value},t.class],onFocusout:()=>n("focusout")},()=>C?C():[_?_():u(Ne,{icon:k}),y,b==null?void 0:b()]):u("a",{href:O,rel:p.value,target:c.value,"aria-label":m.value,...t,class:["nav-link",t.class],onFocusout:()=>n("focusout")},C?C():[_?_():u(Ne,{icon:k}),y,e.noExternalLinkIcon?null:u(Ji),b==null?void 0:b()])}}}),k0=z({name:"NavbarDropdownLink",props:{config:{type:Object,required:!0}},slots:Object,setup(e,{slots:t}){const n=be(),r=Gr(e,"config"),o=S(()=>r.value.ariaLabel||r.value.text),l=X(!1);ce(()=>n.value.path,()=>{l.value=!1});const s=a=>{a.detail===0&&(l.value=!l.value)};return()=>{var a;return u("div",{class:["dropdown-wrapper",{open:l.value}]},[u("button",{type:"button",class:"dropdown-title","aria-label":o.value,onClick:s},[((a=t.title)==null?void 0:a.call(t))||u("span",{class:"title"},[u(Ne,{icon:r.value.icon}),e.config.text]),u("span",{class:"arrow"}),u("ul",{class:"nav-dropdown"},r.value.children.map((i,c)=>{const f=c===r.value.children.length-1;return u("li",{class:"dropdown-item"},"children"in i?[u("h4",{class:"dropdown-subtitle"},i.link?u(je,{config:i,onFocusout:()=>{i.children.length===0&&f&&(l.value=!1)}}):u("span",i.text)),u("ul",{class:"dropdown-subitem-wrapper"},i.children.map((d,p)=>u("li",{class:"dropdown-subitem"},u(je,{config:d,onFocusout:()=>{p===i.children.length-1&&f&&(l.value=!1)}}))))]:u(je,{config:i,onFocusout:()=>{f&&(l.value=!1)}}))}))])])}}});const Ec=(e,t="")=>ve(e)?Bl(Gt(t,e)):"children"in e?{...e,...e.link&&Ko(e.link)?{link:Bt(Gt(t,e.link)).path}:{},children:e.children.map(n=>Ec(n,Gt(t,e.prefix)))}:{...e,link:Ko(e.link)?Bt(Gt(t,e.link)).path:e.link},Cc=()=>{const e=de(),t=()=>(e.value.navbar||[]).map(n=>Ec(n));return $i(()=>e.value.navbar,()=>t())},T0=()=>{const e=de(),t=S(()=>e.value.repo||null),n=S(()=>t.value?Xh(t.value):null),r=S(()=>t.value?Dl(t.value):null),o=S(()=>n.value?e.value.repoLabel??(r.value===null?"Source":r.value):null);return S(()=>!n.value||!o.value||e.value.repoDisplay===!1?null:{type:r.value||"Source",label:o.value,link:n.value})};var x0=z({name:"NavScreenDropdown",props:{config:{type:Object,required:!0}},setup(e){const t=be(),n=Gr(e,"config"),r=S(()=>n.value.ariaLabel||n.value.text),o=X(!1);ce(()=>t.value.path,()=>{o.value=!1});const l=(s,a)=>a[a.length-1]===s;return()=>[u("button",{type:"button",class:["nav-screen-dropdown-title",{active:o.value}],"aria-label":r.value,onClick:()=>{o.value=!o.value}},[u("span",{class:"title"},[u(Ne,{icon:n.value.icon}),e.config.text]),u("span",{class:["arrow",o.value?"down":"end"]})]),u("ul",{class:["nav-screen-dropdown",{hide:!o.value}]},n.value.children.map(s=>u("li",{class:"dropdown-item"},"children"in s?[u("h4",{class:"dropdown-subtitle"},s.link?u(je,{config:s,onFocusout:()=>{l(s,n.value.children)&&s.children.length===0&&(o.value=!1)}}):u("span",s.text)),u("ul",{class:"dropdown-subitem-wrapper"},s.children.map(a=>u("li",{class:"dropdown-subitem"},u(je,{config:a,onFocusout:()=>{l(a,s.children)&&l(s,n.value.children)&&(o.value=!1)}}))))]:u(je,{config:s,onFocusout:()=>{l(s,n.value.children)&&(o.value=!1)}}))))]}}),A0=z({name:"NavScreenLinks",setup(){const e=Cc();return()=>e.value.length?u("nav",{class:"nav-screen-links"},e.value.map(t=>u("div",{class:"navbar-links-item"},"children"in t?u(x0,{config:t}):u(je,{config:t})))):null}});const Lc=()=>u(we,{name:"dark"},()=>u("path",{d:"M524.8 938.667h-4.267a439.893 439.893 0 0 1-313.173-134.4 446.293 446.293 0 0 1-11.093-597.334A432.213 432.213 0 0 1 366.933 90.027a42.667 42.667 0 0 1 45.227 9.386 42.667 42.667 0 0 1 10.24 42.667 358.4 358.4 0 0 0 82.773 375.893 361.387 361.387 0 0 0 376.747 82.774 42.667 42.667 0 0 1 54.187 55.04 433.493 433.493 0 0 1-99.84 154.88 438.613 438.613 0 0 1-311.467 128z"}));Lc.displayName="DarkIcon";const Sc=()=>u(we,{name:"light"},()=>u("path",{d:"M952 552h-80a40 40 0 0 1 0-80h80a40 40 0 0 1 0 80zM801.88 280.08a41 41 0 0 1-57.96-57.96l57.96-58a41.04 41.04 0 0 1 58 58l-58 57.96zM512 752a240 240 0 1 1 0-480 240 240 0 0 1 0 480zm0-560a40 40 0 0 1-40-40V72a40 40 0 0 1 80 0v80a40 40 0 0 1-40 40zm-289.88 88.08-58-57.96a41.04 41.04 0 0 1 58-58l57.96 58a41 41 0 0 1-57.96 57.96zM192 512a40 40 0 0 1-40 40H72a40 40 0 0 1 0-80h80a40 40 0 0 1 40 40zm30.12 231.92a41 41 0 0 1 57.96 57.96l-57.96 58a41.04 41.04 0 0 1-58-58l58-57.96zM512 832a40 40 0 0 1 40 40v80a40 40 0 0 1-80 0v-80a40 40 0 0 1 40-40zm289.88-88.08 58 57.96a41.04 41.04 0 0 1-58 58l-57.96-58a41 41 0 0 1 57.96-57.96z"}));Sc.displayName="LightIcon";const kc=()=>u(we,{name:"auto"},()=>u("path",{d:"M512 992C246.92 992 32 777.08 32 512S246.92 32 512 32s480 214.92 480 480-214.92 480-480 480zm0-840c-198.78 0-360 161.22-360 360 0 198.84 161.22 360 360 360s360-161.16 360-360c0-198.78-161.22-360-360-360zm0 660V212c165.72 0 300 134.34 300 300 0 165.72-134.28 300-300 300z"}));kc.displayName="AutoIcon";const Tc=()=>u(we,{name:"enter-fullscreen"},()=>u("path",{d:"M762.773 90.24h-497.28c-96.106 0-174.4 78.293-174.4 174.4v497.28c0 96.107 78.294 174.4 174.4 174.4h497.28c96.107 0 175.04-78.293 174.4-174.4V264.64c0-96.213-78.186-174.4-174.4-174.4zm-387.2 761.173H215.04c-21.867 0-40.427-17.92-41.067-41.066V649.92c0-22.507 17.92-40.427 40.427-40.427 11.307 0 21.227 4.694 28.48 11.947 7.253 7.253 11.947 17.92 11.947 28.48v62.293l145.28-145.28c15.893-15.893 41.813-15.893 57.706 0 15.894 15.894 15.894 41.814 0 57.707l-145.28 145.28h62.294c22.506 0 40.426 17.92 40.426 40.427s-17.173 41.066-39.68 41.066zM650.24 165.76h160.427c21.866 0 40.426 17.92 41.066 41.067v160.426c0 22.507-17.92 40.427-40.426 40.427-11.307 0-21.227-4.693-28.48-11.947-7.254-7.253-11.947-17.92-11.947-28.48v-62.186L625.6 450.347c-15.893 15.893-41.813 15.893-57.707 0-15.893-15.894-15.893-41.814 0-57.707l145.28-145.28H650.88c-22.507 0-40.427-17.92-40.427-40.427s17.174-41.173 39.787-41.173z"}));Tc.displayName="EnterFullScreenIcon";const xc=()=>u(we,{name:"cancel-fullscreen"},()=>u("path",{d:"M778.468 78.62H247.922c-102.514 0-186.027 83.513-186.027 186.027V795.08c0 102.514 83.513 186.027 186.027 186.027h530.432c102.514 0 186.71-83.513 186.026-186.027V264.647C964.494 162.02 880.981 78.62 778.468 78.62zM250.88 574.35h171.122c23.324 0 43.122 19.115 43.804 43.805v171.121c0 24.008-19.114 43.122-43.122 43.122-12.06 0-22.641-5.006-30.378-12.743s-12.743-19.115-12.743-30.379V722.83L224.597 877.91c-16.953 16.952-44.6 16.952-61.553 0-16.953-16.954-16.953-44.602 0-61.554L318.009 661.39h-66.446c-24.007 0-43.122-19.114-43.122-43.122 0-24.12 18.432-43.918 42.439-43.918zm521.899-98.873H601.657c-23.325 0-43.122-19.114-43.805-43.804V260.55c0-24.007 19.115-43.122 43.122-43.122 12.06 0 22.642 5.007 30.379 12.743s12.743 19.115 12.743 30.38v66.445l154.965-154.965c16.953-16.953 44.601-16.953 61.554 0 16.953 16.953 16.953 44.6 0 61.554L705.536 388.55h66.446c24.007 0 43.122 19.115 43.122 43.122.114 24.007-18.318 43.804-42.325 43.804z"}));xc.displayName="CancelFullScreenIcon";const Ac=()=>u(we,{name:"outlook"},()=>[u("path",{d:"M224 800c0 9.6 3.2 44.8 6.4 54.4 6.4 48-48 76.8-48 76.8s80 41.6 147.2 0 134.4-134.4 38.4-195.2c-22.4-12.8-41.6-19.2-57.6-19.2C259.2 716.8 227.2 761.6 224 800zM560 675.2l-32 51.2c-51.2 51.2-83.2 32-83.2 32 25.6 67.2 0 112-12.8 128 25.6 6.4 51.2 9.6 80 9.6 54.4 0 102.4-9.6 150.4-32l0 0c3.2 0 3.2-3.2 3.2-3.2 22.4-16 12.8-35.2 6.4-44.8-9.6-12.8-12.8-25.6-12.8-41.6 0-54.4 60.8-99.2 137.6-99.2 6.4 0 12.8 0 22.4 0 12.8 0 38.4 9.6 48-25.6 0-3.2 0-3.2 3.2-6.4 0-3.2 3.2-6.4 3.2-6.4 6.4-16 6.4-16 6.4-19.2 9.6-35.2 16-73.6 16-115.2 0-105.6-41.6-198.4-108.8-268.8C704 396.8 560 675.2 560 675.2zM224 419.2c0-28.8 22.4-51.2 51.2-51.2 28.8 0 51.2 22.4 51.2 51.2 0 28.8-22.4 51.2-51.2 51.2C246.4 470.4 224 448 224 419.2zM320 284.8c0-22.4 19.2-41.6 41.6-41.6 22.4 0 41.6 19.2 41.6 41.6 0 22.4-19.2 41.6-41.6 41.6C339.2 326.4 320 307.2 320 284.8zM457.6 208c0-12.8 12.8-25.6 25.6-25.6 12.8 0 25.6 12.8 25.6 25.6 0 12.8-12.8 25.6-25.6 25.6C470.4 233.6 457.6 220.8 457.6 208zM128 505.6C128 592 153.6 672 201.6 736c28.8-60.8 112-60.8 124.8-60.8-16-51.2 16-99.2 16-99.2l316.8-422.4c-48-19.2-99.2-32-150.4-32C297.6 118.4 128 291.2 128 505.6zM764.8 86.4c-22.4 19.2-390.4 518.4-390.4 518.4-22.4 28.8-12.8 76.8 22.4 99.2l9.6 6.4c35.2 22.4 80 12.8 99.2-25.6 0 0 6.4-12.8 9.6-19.2 54.4-105.6 275.2-524.8 288-553.6 6.4-19.2-3.2-32-19.2-32C777.6 76.8 771.2 80 764.8 86.4z"})]);Ac.displayName="OutlookIcon";var Pc=z({name:"AppearanceSwitch",setup(){const{config:e,isDarkmode:t,status:n}=hr(),r=pr(),o=()=>{e.value==="switch"?n.value={light:"dark",dark:"auto",auto:"light"}[n.value]:n.value=n.value==="light"?"dark":"light"},l=async s=>{if(!(document.startViewTransition&&!window.matchMedia("(prefers-reduced-motion: reduce)").matches&&!r.value)||!s){o();return}const a=s.clientX,i=s.clientY,c=Math.hypot(Math.max(a,innerWidth-a),Math.max(i,innerHeight-i)),f=t.value;await document.startViewTransition(async()=>{o(),await Ht()}).ready,t.value!==f&&document.documentElement.animate({clipPath:t.value?[`circle(${c}px at ${a}px ${i}px)`,`circle(0px at ${a}px ${i}px)`]:[`circle(0px at ${a}px ${i}px)`,`circle(${c}px at ${a}px ${i}px)`]},{duration:400,pseudoElement:t.value?"::view-transition-old(root)":"::view-transition-new(root)"})};return()=>u("button",{type:"button",id:"appearance-switch",onClick:l},[u(kc,{style:{display:n.value==="auto"?"block":"none"}}),u(Lc,{style:{display:n.value==="dark"?"block":"none"}}),u(Sc,{style:{display:n.value==="light"?"block":"none"}})])}}),P0=z({name:"AppearanceMode",setup(){const e=de(),{canToggle:t}=hr(),n=S(()=>e.value.outlookLocales.darkmode);return()=>t.value?u("div",{class:"appearance-wrapper"},[u("label",{class:"appearance-title",for:"appearance-switch"},n.value),u(Pc)]):null}});const ko="VUEPRESS_THEME_COLOR";var R0=z({name:"ThemeColorPicker",props:{themeColor:{type:Object,required:!0}},setup(e){const t=(n="")=>{const r=document.documentElement.classList,o=kn(e.themeColor);if(!n){localStorage.removeItem(ko),r.remove(...o);return}r.remove(...o.filter(l=>l!==n)),r.add(n),localStorage.setItem(ko,n)};return ye(()=>{const n=localStorage.getItem(ko);n&&t(n)}),()=>u("ul",{id:"theme-color-picker"},[u("li",u("span",{class:"theme-color",onClick:()=>t()})),Rl(e.themeColor).map(([n,r])=>u("li",u("span",{style:{background:r},onClick:()=>t(n)})))])}});const To=Fl.enableThemeColor==="true",I0=up(Rl(Fl).filter(([e])=>e.startsWith("theme-")));var M0=z({name:"ThemeColor",setup(){const e=de(),t=S(()=>e.value.outlookLocales.themeColor);return()=>u("div",{class:"theme-color-wrapper"},[u("label",{class:"theme-color-title",for:"theme-color-picker"},t.value),u(R0,{themeColor:I0})])}}),Rc=z({name:"ToggleFullScreenButton",setup(){const e=de(),{isSupported:t,isFullscreen:n,toggle:r}=Ml(),o=S(()=>e.value.outlookLocales.fullscreen);return()=>t?u("div",{class:"full-screen-wrapper"},[u("label",{class:"full-screen-title",for:"full-screen-switch"},o.value),u("button",{type:"button",id:"full-screen-switch",class:"full-screen",ariaPressed:n.value,onClick:()=>r()},n.value?u(xc):u(Tc))]):null}}),Ic=z({name:"OutlookSettings",setup(){const e=rn(),t=pr(),n=S(()=>!t.value&&e.value.fullscreen);return()=>u(to,()=>[u(M0),u(P0),n.value?u(Rc):null])}}),O0=z({name:"NavScreen",props:{show:Boolean},emits:["close"],slots:Object,setup(e,{emit:t,slots:n}){const r=be(),{isMobile:o}=lo(),l=Ge(),s=Wi(l);return ye(()=>{l.value=document.body,ce(o,a=>{!a&&e.show&&(s.value=!1,t("close"))}),ce(()=>r.value.path,()=>{s.value=!1,t("close")})}),Sn(()=>{s.value=!1}),()=>u($t,{name:"fade",onEnter:()=>{s.value=!0},onAfterLeave:()=>{s.value=!1}},()=>{var a,i;return e.show?u("div",{id:"nav-screen"},u("div",{class:"vp-nav-screen-container"},[(a=n.before)==null?void 0:a.call(n),u(A0),u("div",{class:"vp-outlook-wrapper"},u(Ic)),(i=n.after)==null?void 0:i.call(n)])):null})}}),D0=z({name:"NavbarBrand",setup(){const e=tn(),t=Pl(),n=de(),r=S(()=>n.value.home||e.value),o=S(()=>t.value.title),l=S(()=>n.value.navTitle??o.value),s=S(()=>n.value.logo?Fe(n.value.logo):null),a=S(()=>n.value.logoDark?Fe(n.value.logoDark):null);return()=>u(He,{to:r.value,class:"vp-brand"},()=>[s.value?u("img",{class:["vp-nav-logo",{light:!!a.value}],src:s.value,alt:""}):null,a.value?u("img",{class:["vp-nav-logo dark"],src:a.value,alt:""}):null,l.value?u("span",{class:["vp-site-name",{"hide-in-pad":s.value&&n.value.hideSiteNameOnMobile!==!1}]},l.value):null])}}),F0=z({name:"NavbarLinks",setup(){const e=Cc();return()=>e.value.length?u("nav",{class:"vp-nav-links"},e.value.map(t=>u("div",{class:"vp-nav-item hide-in-mobile"},"children"in t?u(k0,{config:t}):u(je,{config:t})))):null}}),N0=z({name:"RepoLink",setup(){const e=T0();return()=>e.value?u("div",{class:"vp-nav-item vp-action"},u("a",{class:"vp-action-link",href:e.value.link,target:"_blank",rel:"noopener noreferrer","aria-label":e.value.label},u(Zh,{type:e.value.type,style:{width:"1.25rem",height:"1.25rem",verticalAlign:"middle"}}))):null}});const Mc=({active:e=!1},{emit:t})=>u("button",{type:"button",class:["vp-toggle-navbar-button",{"is-active":e}],"aria-label":"Toggle Navbar","aria-expanded":e,"aria-controls":"nav-screen",onClick:()=>t("toggle")},u("span",[u("span",{class:"vp-top"}),u("span",{class:"vp-middle"}),u("span",{class:"vp-bottom"})]));Mc.displayName="ToggleNavbarButton";var $0=Mc;const Yo=(e,{emit:t})=>u("button",{type:"button",class:"vp-toggle-sidebar-button",title:"Toggle Sidebar",onClick:()=>t("toggle")},u("span",{class:"icon"}));Yo.displayName="ToggleSidebarButton",Yo.emits=["toggle"];var B0=Yo,H0=z({name:"OutlookButton",setup(){const{isSupported:e}=Ml(),t=rn(),n=pr(),r=be(),{canToggle:o}=hr(),l=X(!1),s=S(()=>!n.value&&t.value.fullscreen&&e);return ce(()=>r.value.path,()=>{l.value=!1}),()=>o.value||s.value||To?u("div",{class:"vp-nav-item hide-in-mobile"},o.value&&!s.value&&!To?u(Pc):s.value&&!o.value&&!To?u(Rc):u("button",{type:"button",class:["outlook-button",{open:l.value}],tabindex:"-1","aria-hidden":!0},[u(Ac),u("div",{class:"outlook-dropdown"},u(Ic))])):null}}),j0=z({name:"NavBar",emits:["toggleSidebar"],slots:Object,setup(e,{emit:t,slots:n}){const r=de(),{isMobile:o}=lo(),l=X(!1),s=S(()=>{const{navbarAutoHide:f="mobile"}=r.value;return f!=="none"&&(f==="always"||o.value)}),a=S(()=>r.value.navbarLayout||{start:["Brand"],center:["Links"],end:["Language","Repo","Outlook","Search"]}),i={Brand:D0,Language:So,Links:F0,Repo:N0,Outlook:H0,Search:pt("Docsearch")?ft("Docsearch"):pt("SearchBox")?ft("SearchBox"):So},c=f=>i[f]??(pt(f)?ft(f):So);return()=>{var f,d,p,m,g,E;return[u("header",{key:"navbar",id:"navbar",class:["vp-navbar",{"auto-hide":s.value,"hide-icon":r.value.navbarIcon===!1}]},[u("div",{class:"vp-navbar-start"},[u(B0,{onToggle:()=>{l.value&&(l.value=!1),t("toggleSidebar")}}),(f=n.startBefore)==null?void 0:f.call(n),(a.value.start||[]).map(_=>u(c(_))),(d=n.startAfter)==null?void 0:d.call(n)]),u("div",{class:"vp-navbar-center"},[(p=n.centerBefore)==null?void 0:p.call(n),(a.value.center||[]).map(_=>u(c(_))),(m=n.centerAfter)==null?void 0:m.call(n)]),u("div",{class:"vp-navbar-end"},[(g=n.endBefore)==null?void 0:g.call(n),(a.value.end||[]).map(_=>u(c(_))),(E=n.endAfter)==null?void 0:E.call(n),u($0,{active:l.value,onToggle:()=>{l.value=!l.value}})])]),u(O0,{show:l.value,onClose:()=>{l.value=!1}},{before:()=>{var _;return(_=n.screenTop)==null?void 0:_.call(n)},after:()=>{var _;return(_=n.screenBottom)==null?void 0:_.call(n)}})]}}}),V0=z({name:"SidebarChild",props:{config:{type:Object,required:!0}},setup(e){const t=wt();return()=>ve(e.config.link)?u(je,{class:["vp-sidebar-link","vp-sidebar-page",{active:Zn(t,e.config,!0)}],exact:!0,config:e.config}):u("p",e,[u(Ne,{icon:e.config.icon}),e.config.text])}}),z0=z({name:"SidebarGroup",props:{config:{type:Object,required:!0},open:{type:Boolean,required:!0}},emits:["toggle"],setup(e,{emit:t}){const n=wt(),r=S(()=>Zn(n,e.config)),o=S(()=>Zn(n,e.config,!0));return()=>{const{collapsible:l,children:s=[],icon:a,prefix:i,link:c,text:f}=e.config;return u("section",{class:"vp-sidebar-group"},[u(l?"button":"p",{class:["vp-sidebar-header",{clickable:l||c,exact:o.value,active:r.value}],...l?{type:"button",onClick:()=>t("toggle"),onKeydown:d=>{d.key==="Enter"&&t("toggle")}}:{}},[u(Ne,{icon:a}),c?u(je,{class:"vp-sidebar-title",config:{text:f,link:c},noExternalLinkIcon:!0}):u("span",{class:"vp-sidebar-title"},f),l?u("span",{class:["vp-arrow",e.open?"down":"end"]}):null]),e.open||!l?u(Oc,{key:i,config:s}):null])}}}),Oc=z({name:"SidebarLinks",props:{config:{type:Array,required:!0}},setup(e){const t=wt(),n=X(-1),r=o=>{n.value=o===n.value?-1:o};return ce(()=>t.path,()=>{const o=e.config.findIndex(l=>_c(t,l));n.value=o},{immediate:!0,flush:"post"}),()=>u("ul",{class:"vp-sidebar-links"},e.config.map((o,l)=>u("li",o.type==="group"?u(z0,{config:o,open:l===n.value,onToggle:()=>r(l)}):u(V0,{config:o}))))}}),U0=z({name:"SideBar",slots:Object,setup(e,{slots:t}){const n=wt(),r=de(),o=Hl(),l=Ge();return ye(()=>{ce(()=>n.hash,s=>{const a=document.querySelector(`.vp-sidebar a.vp-sidebar-link[href="${n.path}${s}"]`);if(!a)return;const{top:i,height:c}=l.value.getBoundingClientRect(),{top:f,height:d}=a.getBoundingClientRect();fi+c&&a.scrollIntoView(!1)},{immediate:!0})}),()=>{var s,a,i;return u("aside",{ref:l,id:"sidebar",class:["vp-sidebar",{"hide-icon":r.value.sidebarIcon===!1}],key:"sidebar"},[(s=t.top)==null?void 0:s.call(t),((a=t.default)==null?void 0:a.call(t))||u(Oc,{config:o.value}),(i=t.bottom)==null?void 0:i.call(t)])}}}),Dc=z({name:"CommonWrapper",props:{containerClass:{type:String,default:""},noNavbar:Boolean,noSidebar:Boolean,noToc:Boolean},slots:Object,setup(e,{slots:t}){const n=en(),r=be(),o=_e(),l=de(),{isMobile:s,isPC:a}=lo(),[i,c]=Go(!1),[f,d]=Go(!1),p=Hl(),m=X(!1),g=S(()=>e.noNavbar||o.value.navbar===!1||l.value.navbar===!1?!1:!!(r.value.title||l.value.logo||l.value.repo||l.value.navbar)),E=S(()=>e.noSidebar?!1:o.value.sidebar!==!1&&p.value.length!==0&&!o.value.home),_=S(()=>e.noToc||o.value.home?!1:o.value.toc||l.value.toc!==!1&&o.value.toc!==!1),b={x:0,y:0},C=L=>{b.x=L.changedTouches[0].clientX,b.y=L.changedTouches[0].clientY},y=L=>{const D=L.changedTouches[0].clientX-b.x,I=L.changedTouches[0].clientY-b.y;Math.abs(D)>Math.abs(I)*1.5&&Math.abs(D)>40&&(D>0&&b.x<=80?c(!0):c(!1))},k=()=>window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;let O=0;return Ie("scroll",Lp(()=>{const L=k();L<=58||L{L||c(!1)}),ye(()=>{const L=Wi(document.body);ce(i,I=>{L.value=I});const D=n.afterEach(()=>{c(!1)});Sn(()=>{L.value=!1,D()})}),()=>u(pt("GlobalEncrypt")?ft("GlobalEncrypt"):sc,()=>u("div",{class:["theme-container",{"no-navbar":!g.value,"no-sidebar":!E.value&&!(t.sidebar||t.sidebarTop||t.sidebarBottom),"has-toc":_.value,"hide-navbar":m.value,"sidebar-collapsed":!s.value&&!a.value&&f.value,"sidebar-open":s.value&&i.value},e.containerClass,o.value.containerClass||""],onTouchStart:C,onTouchEnd:y},[g.value?u(j0,{onToggleSidebar:()=>c()},{startBefore:()=>{var L;return(L=t.navbarStartBefore)==null?void 0:L.call(t)},startAfter:()=>{var L;return(L=t.navbarStartAfter)==null?void 0:L.call(t)},centerBefore:()=>{var L;return(L=t.navbarCenterBefore)==null?void 0:L.call(t)},centerAfter:()=>{var L;return(L=t.navbarCenterAfter)==null?void 0:L.call(t)},endBefore:()=>{var L;return(L=t.navbarEndBefore)==null?void 0:L.call(t)},endAfter:()=>{var L;return(L=t.navbarEndAfter)==null?void 0:L.call(t)},screenTop:()=>{var L;return(L=t.navScreenTop)==null?void 0:L.call(t)},screenBottom:()=>{var L;return(L=t.navScreenBottom)==null?void 0:L.call(t)}}):null,u($t,{name:"fade"},()=>i.value?u("div",{class:"vp-sidebar-mask",onClick:()=>c(!1)}):null),u($t,{name:"fade"},()=>s.value?null:u("div",{class:"toggle-sidebar-wrapper",onClick:()=>d()},u("span",{class:["arrow",f.value?"end":"start"]}))),u(U0,{},{...t.sidebar?{default:()=>t.sidebar()}:{},top:()=>{var L;return(L=t.sidebarTop)==null?void 0:L.call(t)},bottom:()=>{var L;return(L=t.sidebarBottom)==null?void 0:L.call(t)}}),t.default(),u(S0)]))}});const dn=z({name:"DropTransition",props:{type:{type:String,default:"single"},delay:{type:Number,default:0},duration:{type:Number,default:.25},appear:Boolean},slots:Object,setup(e,{slots:t}){const n=o=>{o.style.transition=`transform ${e.duration}s ease-in-out ${e.delay}s, opacity ${e.duration}s ease-in-out ${e.delay}s`,o.style.transform="translateY(-20px)",o.style.opacity="0"},r=o=>{o.style.transform="translateY(0)",o.style.opacity="1"};return()=>u(e.type==="single"?$t:xd,{name:"drop",appear:e.appear,onAppear:n,onAfterAppear:r,onEnter:n,onAfterEnter:r,onBeforeLeave:n},()=>t.default())}}),Jo=({custom:e})=>u(Fi,{class:["theme-hope-content",{custom:e}]});Jo.displayName="MarkdownContent",Jo.props={custom:Boolean};var Fc=Jo;const Nc=()=>u(we,{name:"author"},()=>u("path",{d:"M649.6 633.6c86.4-48 147.2-144 147.2-249.6 0-160-128-288-288-288s-288 128-288 288c0 108.8 57.6 201.6 147.2 249.6-121.6 48-214.4 153.6-240 288-3.2 9.6 0 19.2 6.4 25.6 3.2 9.6 12.8 12.8 22.4 12.8h704c9.6 0 19.2-3.2 25.6-12.8 6.4-6.4 9.6-16 6.4-25.6-25.6-134.4-121.6-240-243.2-288z"}));Nc.displayName="AuthorIcon";const $c=()=>u(we,{name:"calendar"},()=>u("path",{d:"M716.4 110.137c0-18.753-14.72-33.473-33.472-33.473-18.753 0-33.473 14.72-33.473 33.473v33.473h66.993v-33.473zm-334.87 0c0-18.753-14.72-33.473-33.473-33.473s-33.52 14.72-33.52 33.473v33.473h66.993v-33.473zm468.81 33.52H716.4v100.465c0 18.753-14.72 33.473-33.472 33.473a33.145 33.145 0 01-33.473-33.473V143.657H381.53v100.465c0 18.753-14.72 33.473-33.473 33.473a33.145 33.145 0 01-33.473-33.473V143.657H180.6A134.314 134.314 0 0046.66 277.595v535.756A134.314 134.314 0 00180.6 947.289h669.74a134.36 134.36 0 00133.94-133.938V277.595a134.314 134.314 0 00-133.94-133.938zm33.473 267.877H147.126a33.145 33.145 0 01-33.473-33.473c0-18.752 14.72-33.473 33.473-33.473h736.687c18.752 0 33.472 14.72 33.472 33.473a33.145 33.145 0 01-33.472 33.473z"}));$c.displayName="CalendarIcon";const Bc=()=>u(we,{name:"category"},()=>u("path",{d:"M148.41 106.992h282.176c22.263 0 40.31 18.048 40.31 40.31V429.48c0 22.263-18.047 40.31-40.31 40.31H148.41c-22.263 0-40.311-18.047-40.311-40.31V147.302c0-22.263 18.048-40.31 40.311-40.31zM147.556 553.478H429.73c22.263 0 40.311 18.048 40.311 40.31v282.176c0 22.263-18.048 40.312-40.31 40.312H147.555c-22.263 0-40.311-18.049-40.311-40.312V593.79c0-22.263 18.048-40.311 40.31-40.311zM593.927 106.992h282.176c22.263 0 40.31 18.048 40.31 40.31V429.48c0 22.263-18.047 40.31-40.31 40.31H593.927c-22.263 0-40.311-18.047-40.311-40.31V147.302c0-22.263 18.048-40.31 40.31-40.31zM730.22 920.502H623.926c-40.925 0-74.22-33.388-74.22-74.425V623.992c0-41.038 33.387-74.424 74.425-74.424h222.085c41.038 0 74.424 33.226 74.424 74.067v114.233c0 10.244-8.304 18.548-18.547 18.548s-18.548-8.304-18.548-18.548V623.635c0-20.388-16.746-36.974-37.33-36.974H624.13c-20.585 0-37.331 16.747-37.331 37.33v222.086c0 20.585 16.654 37.331 37.126 37.331H730.22c10.243 0 18.547 8.304 18.547 18.547 0 10.244-8.304 18.547-18.547 18.547z"}));Bc.displayName="CategoryIcon";const Hc=()=>u(we,{name:"eye"},()=>u("path",{d:"M992 512.096c0-5.76-.992-10.592-1.28-11.136-.192-2.88-1.152-8.064-2.08-10.816-.256-.672-.544-1.376-.832-2.08-.48-1.568-1.024-3.104-1.6-4.32C897.664 290.112 707.104 160 512 160c-195.072 0-385.632 130.016-473.76 322.592-1.056 2.112-1.792 4.096-2.272 5.856a55.512 55.512 0 00-.64 1.6c-1.76 5.088-1.792 8.64-1.632 7.744-.832 3.744-1.568 11.168-1.568 11.168-.224 2.272-.224 4.032.032 6.304 0 0 .736 6.464 1.088 7.808.128 1.824.576 4.512 1.12 6.976h-.032c.448 2.08 1.12 4.096 1.984 6.08.48 1.536.992 2.976 1.472 4.032C126.432 733.856 316.992 864 512 864c195.136 0 385.696-130.048 473.216-321.696 1.376-2.496 2.24-4.832 2.848-6.912.256-.608.48-1.184.672-1.728 1.536-4.48 1.856-8.32 1.728-8.32l-.032.032c.608-3.104 1.568-7.744 1.568-13.28zM512 672c-88.224 0-160-71.776-160-160s71.776-160 160-160 160 71.776 160 160-71.776 160-160 160z"}));Hc.displayName="EyeIcon";const jc=()=>u(we,{name:"fire"},()=>u("path",{d:"M726.4 201.6c-12.8-9.6-28.8-6.4-38.4 0-9.6 9.6-16 25.6-9.6 38.4 6.4 12.8 9.6 28.8 12.8 44.8C604.8 83.2 460.8 38.4 454.4 35.2c-9.6-3.2-22.4 0-28.8 6.4-9.6 6.4-12.8 19.2-9.6 28.8 12.8 86.4-25.6 188.8-115.2 310.4-6.4-25.6-16-51.2-32-80-9.6-9.6-22.4-16-35.2-12.8-16 3.2-25.6 12.8-25.6 28.8-3.2 48-25.6 92.8-51.2 140.8C134.4 499.2 112 544 102.4 592c-32 150.4 99.2 329.6 233.6 380.8 9.6 3.2 19.2 6.4 32 9.6-25.6-19.2-41.6-51.2-48-96C294.4 691.2 505.6 640 515.2 460.8c153.6 105.6 224 336 137.6 505.6 3.2 0 6.4-3.2 9.6-3.2 0 0 3.2 0 3.2-3.2 163.2-89.6 252.8-208 259.2-345.6 16-211.2-163.2-390.4-198.4-412.8z"}));jc.displayName="FireIcon";const Vc=()=>u(we,{name:"print"},()=>u("path",{d:"M819.2 364.8h-44.8V128c0-17.067-14.933-32-32-32H281.6c-17.067 0-32 14.933-32 32v236.8h-44.8C145.067 364.8 96 413.867 96 473.6v192c0 59.733 49.067 108.8 108.8 108.8h44.8V896c0 17.067 14.933 32 32 32h460.8c17.067 0 32-14.933 32-32V774.4h44.8c59.733 0 108.8-49.067 108.8-108.8v-192c0-59.733-49.067-108.8-108.8-108.8zM313.6 160h396.8v204.8H313.6V160zm396.8 704H313.6V620.8h396.8V864zM864 665.6c0 25.6-19.2 44.8-44.8 44.8h-44.8V588.8c0-17.067-14.933-32-32-32H281.6c-17.067 0-32 14.933-32 32v121.6h-44.8c-25.6 0-44.8-19.2-44.8-44.8v-192c0-25.6 19.2-44.8 44.8-44.8h614.4c25.6 0 44.8 19.2 44.8 44.8v192z"}));Vc.displayName="PrintIcon";const zc=()=>u(we,{name:"tag"},()=>u("path",{d:"M939.902 458.563L910.17 144.567c-1.507-16.272-14.465-29.13-30.737-30.737L565.438 84.098h-.402c-3.215 0-5.726 1.005-7.634 2.913l-470.39 470.39a10.004 10.004 0 000 14.164l365.423 365.424c1.909 1.908 4.42 2.913 7.132 2.913s5.223-1.005 7.132-2.913l470.39-470.39c2.01-2.11 3.014-5.023 2.813-8.036zm-240.067-72.121c-35.458 0-64.286-28.828-64.286-64.286s28.828-64.285 64.286-64.285 64.286 28.828 64.286 64.285-28.829 64.286-64.286 64.286z"}));zc.displayName="TagIcon";const Uc=()=>u(we,{name:"timer"},()=>u("path",{d:"M799.387 122.15c4.402-2.978 7.38-7.897 7.38-13.463v-1.165c0-8.933-7.38-16.312-16.312-16.312H256.33c-8.933 0-16.311 7.38-16.311 16.312v1.165c0 5.825 2.977 10.874 7.637 13.592 4.143 194.44 97.22 354.963 220.201 392.763-122.204 37.542-214.893 196.511-220.2 389.397-4.661 5.049-7.638 11.651-7.638 19.03v5.825h566.49v-5.825c0-7.379-2.849-13.981-7.509-18.9-5.049-193.016-97.867-351.985-220.2-389.527 123.24-37.67 216.446-198.453 220.588-392.892zM531.16 450.445v352.632c117.674 1.553 211.787 40.778 211.787 88.676H304.097c0-48.286 95.149-87.382 213.728-88.676V450.445c-93.077-3.107-167.901-81.297-167.901-177.093 0-8.803 6.99-15.793 15.793-15.793 8.803 0 15.794 6.99 15.794 15.793 0 80.261 63.69 145.635 142.01 145.635s142.011-65.374 142.011-145.635c0-8.803 6.99-15.793 15.794-15.793s15.793 6.99 15.793 15.793c0 95.019-73.789 172.82-165.96 177.093z"}));Uc.displayName="TimerIcon";const Wc=()=>u(we,{name:"word"},()=>[u("path",{d:"M518.217 432.64V73.143A73.143 73.143 0 01603.43 1.097a512 512 0 01419.474 419.474 73.143 73.143 0 01-72.046 85.212H591.36a73.143 73.143 0 01-73.143-73.143z"}),u("path",{d:"M493.714 566.857h340.297a73.143 73.143 0 0173.143 85.577A457.143 457.143 0 11371.566 117.76a73.143 73.143 0 0185.577 73.143v339.383a36.571 36.571 0 0036.571 36.571z"})]);Wc.displayName="WordIcon";const Et=()=>{const e=de();return S(()=>e.value.metaLocales)};var W0=z({name:"AuthorInfo",inheritAttrs:!1,props:{author:{type:Array,required:!0},pure:Boolean},setup(e){const t=Et();return()=>e.author.length?u("span",{class:"page-author-info","aria-label":`${t.value.author}${e.pure?"":"🖊"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[u(Nc),u("span",e.author.map(n=>n.url?u("a",{class:"page-author-item",href:n.url,target:"_blank",rel:"noopener noreferrer"},n.name):u("span",{class:"page-author-item"},n.name))),u("span",{property:"author",content:e.author.map(n=>n.name).join(", ")})]):null}}),G0=z({name:"CategoryInfo",inheritAttrs:!1,props:{category:{type:Array,required:!0},pure:Boolean},setup(e){const t=Et(),n=$l();return()=>e.category.length?u("span",{class:"page-category-info","aria-label":`${t.value.category}${e.pure?"":"🌈"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[u(Bc),e.category.map(({name:r,path:o})=>u("span",{class:["page-category-item",{[`category${fc(r,9)}`]:!e.pure,clickable:o}],role:o?"navigation":"",onClick:()=>{o&&n(o)}},r)),u("meta",{property:"articleSection",content:e.category.map(({name:r})=>r).join(",")})]):null}}),q0=z({name:"DateInfo",inheritAttrs:!1,props:{date:{type:Object,default:null},localizedDate:{type:String,default:""},pure:Boolean},setup(e){const t=Al(),n=Et();return()=>e.date?u("span",{class:"page-date-info","aria-label":`${n.value.date}${e.pure?"":"📅"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[u($c),u("span",u(to,()=>e.localizedDate||e.date.toLocaleDateString(t.value))),u("meta",{property:"datePublished",content:e.date.toISOString()||""})]):null}}),K0=z({name:"OriginalInfo",inheritAttrs:!1,props:{isOriginal:Boolean},setup(e){const t=Et();return()=>e.isOriginal?u("span",{class:"page-original-info"},t.value.origin):null}}),Q0=z({name:"PageViewInfo",inheritAttrs:!1,props:{pageview:{type:[Boolean,String],default:!1},pure:Boolean},setup(e){const t=wt(),n=Et(),r=Ge(),o=X(0);return Np(r,()=>{},{childList:!0}),()=>e.pageview?u("span",{class:"page-pageview-info","aria-label":`${n.value.views}${e.pure?"":"🔢"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[u(o.value<1e3?Hc:jc),u("span",{ref:r,id:"ArtalkPV",class:"vp-pageview waline-pageview-count","data-path":ve(e.pageview)?e.pageview:t.path,"data-page-key":ve(e.pageview)?e.pageview:t.path},"...")]):null}}),Y0=z({name:"ReadingTimeInfo",inheritAttrs:!1,props:{readingTime:{type:Object,default:()=>null},readingTimeLocale:{type:Object,default:()=>null},pure:Boolean},setup(e){const t=Et(),n=S(()=>{if(!e.readingTime)return null;const{minutes:r}=e.readingTime;return r<1?"PT1M":`PT${Math.round(r)}M`});return()=>{var r,o;return(r=e.readingTimeLocale)!=null&&r.time?u("span",{class:"page-reading-time-info","aria-label":`${t.value.readingTime}${e.pure?"":"⌛"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[u(Uc),u("span",(o=e.readingTimeLocale)==null?void 0:o.time),u("meta",{property:"timeRequired",content:n.value})]):null}}}),J0=z({name:"TagInfo",inheritAttrs:!1,props:{tag:{type:Array,default:()=>[]},pure:Boolean},setup(e){const t=Et(),n=$l();return()=>e.tag.length?u("span",{class:"page-tag-info","aria-label":`${t.value.tag}${e.pure?"":"🏷"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[u(zc),e.tag.map(({name:r,path:o})=>u("span",{class:["page-tag-item",{[`tag${fc(r,9)}`]:!e.pure,clickable:o}],role:o?"navigation":"",onClick:()=>{o&&n(o)}},r)),u("meta",{property:"keywords",content:e.tag.map(({name:r})=>r).join(",")})]):null}}),X0=z({name:"ReadTimeInfo",inheritAttrs:!1,props:{readingTime:{type:Object,default:()=>null},readingTimeLocale:{type:Object,default:()=>null},pure:Boolean},setup(e){const t=Et();return()=>{var n,r,o;return(n=e.readingTimeLocale)!=null&&n.words?u("span",{class:"page-word-info","aria-label":`${t.value.words}${e.pure?"":"🔠"}`,...e.pure?{}:{"data-balloon-pos":"up"}},[u(Wc),u("span",(r=e.readingTimeLocale)==null?void 0:r.words),u("meta",{property:"wordCount",content:(o=e.readingTime)==null?void 0:o.words})]):null}}}),Z0=z({name:"PageInfo",components:{AuthorInfo:W0,CategoryInfo:G0,DateInfo:q0,OriginalInfo:K0,PageViewInfo:Q0,ReadingTimeInfo:Y0,TagInfo:J0,WordInfo:X0},props:{items:{type:[Array,Boolean],default:()=>["Author","Original","Date","PageView","ReadingTime","Category","Tag"]},info:{type:Object,required:!0}},setup(e){const t=pr();return()=>e.items?u("div",{class:"page-info"},e.items.map(n=>u(ft(`${n}Info`),{...e.info,pure:t.value}))):null}}),e2=z({name:"PrintButton",setup(){const e=rn(),t=de();return()=>e.value.print===!1?null:u("button",{type:"button",class:"print-button",title:t.value.metaLocales.print,onClick:()=>{window.print()}},u(Vc))}}),t2=z({name:"TOC",props:{items:{type:Array,default:()=>[]},headerDepth:{type:Number,default:2}},slots:Object,setup(e,{slots:t}){const n=wt(),r=be(),o=Et(),[l,s]=Go(),a=Ge(),i=X("-1.7rem"),c=d=>{var p;(p=a.value)==null||p.scrollTo({top:d,behavior:"smooth"})},f=()=>{if(a.value){const d=document.querySelector(".vp-toc-item.active");d?i.value=`${d.getBoundingClientRect().top-a.value.getBoundingClientRect().top+a.value.scrollTop}px`:i.value="-1.7rem"}else i.value="-1.7rem"};return ye(()=>{ce(()=>n.hash,d=>{if(a.value){const p=document.querySelector(`#toc a.toc-link[href$="${d}"]`);if(!p)return;const{top:m,height:g}=a.value.getBoundingClientRect(),{top:E,height:_}=p.getBoundingClientRect();Em+g&&c(a.value.scrollTop+E+_-m-g)}}),ce(()=>n.fullPath,f,{flush:"post",immediate:!0})}),()=>{var g,E;const d=({title:_,level:b,slug:C})=>u(He,{to:`#${C}`,class:["vp-toc-link",`level${b}`],onClick:()=>{s()}},()=>_),p=(_,b)=>_.length&&b>0?u("ul",{class:"vp-toc-list"},_.map(C=>{const y=p(C.children,b-1);return[u("li",{class:["vp-toc-item",{active:n.hash===`#${C.slug}`}]},d(C)),y?u("li",y):null]})):null,m=e.items.length?p(e.items,e.headerDepth):r.value.headers?p(r.value.headers,e.headerDepth):null;return m?u("div",{class:"vp-toc-placeholder"},[u("aside",{id:"toc"},[(g=t.before)==null?void 0:g.call(t),u("div",{class:"vp-toc-header",onClick:()=>{s()}},[o.value.toc,u(e2),u("div",{class:["arrow",l.value?"down":"end"]})]),u("div",{class:["vp-toc-wrapper",l.value?"open":""],ref:a},[m,u("div",{class:"vp-toc-marker",style:{top:i.value}})]),(E=t.after)==null?void 0:E.call(t)])]):null}}}),Gc=z({name:"SkipLink",props:{content:{type:String,default:"main-content"}},setup(e){const t=be(),n=de(),r=Ge(),o=({target:l})=>{const s=document.querySelector(l.hash);if(s){const a=()=>{s.removeAttribute("tabindex"),s.removeEventListener("blur",a)};s.setAttribute("tabindex","-1"),s.addEventListener("blur",a),s.focus(),window.scrollTo(0,0)}};return ye(()=>{ce(()=>t.value.path,()=>r.value.focus())}),()=>[u("span",{ref:r,tabindex:"-1"}),u("a",{href:`#${e.content}`,class:"vp-skip-link sr-only",onClick:o},n.value.routeLocales.skipToContent)]}});let xo=null,Rn=null;const Xo={wait:()=>xo,pending:()=>{xo=new Promise(e=>{Rn=e})},resolve:()=>{Rn==null||Rn(),xo=null,Rn=null}},jl=(e,{slots:t})=>u($t,{name:"fade-slide-y",mode:"out-in",onBeforeEnter:Xo.resolve,onBeforeLeave:Xo.pending},()=>{var n;return(n=t.default)==null?void 0:n.call(t)});jl.displayName="FadeSlideY";const n2=(e,t)=>{const n=e.replace(t,"/").split("/"),r=[];let o=Sl(t);return n.forEach((l,s)=>{s!==n.length-1?(o+=`${l}/`,r.push({link:o,name:l||"Home"})):l!==""&&(o+=l,r.push({link:o,name:l}))}),r},qc=(e,{slots:t})=>{var d,p;const{bgImage:n,bgImageDark:r,bgImageStyle:o,color:l,description:s,image:a,imageDark:i,header:c,features:f=[]}=e;return u("div",{class:"vp-feature-wrapper"},[n?u("div",{class:["vp-feature-bg",{light:r}],style:[{"background-image":`url(${n})`},o]}):null,r?u("div",{class:"vp-feature-bg dark",style:[{"background-image":`url(${r})`},o]}):null,u("div",{class:"vp-feature",style:l?{color:l}:{}},[((d=t.image)==null?void 0:d.call(t,e))||[a?u("img",{class:["vp-feature-image",{light:i}],src:Fe(a),alt:""}):null,i?u("img",{class:"vp-feature-image dark",src:Fe(i),alt:""}):null],((p=t.info)==null?void 0:p.call(t,e))||[c?u("h2",{class:"vp-feature-header"},c):null,s?u("p",{class:"vp-feature-description",innerHTML:s}):null],f.length?u("div",{class:"vp-features"},f.map(({icon:m,title:g,details:E,link:_})=>{const b=[u("h3",{class:"vp-feature-title"},[u(Ne,{icon:m}),u("span",{innerHTML:g})]),u("p",{class:"vp-feature-details",innerHTML:E})];return _?Jr(_)?u("a",{class:"vp-feature-item link",href:_,"aria-label":g,target:"_blank"},b):u(He,{class:"vp-feature-item link",to:_,"aria-label":g},()=>b):u("div",{class:"vp-feature-item"},b)})):null])])};qc.displayName="FeaturePanel";var ia=qc,r2=z({name:"HeroInfo",slots:Object,setup(e,{slots:t}){const n=_e(),r=Pl(),o=S(()=>n.value.heroFullScreen??!1),l=S(()=>{const{heroText:c,tagline:f}=n.value;return{text:c??r.value.title??"Hello",tagline:f??r.value.description??"",isFullScreen:o.value}}),s=S(()=>{const{heroText:c,heroImage:f,heroImageDark:d,heroAlt:p,heroImageStyle:m}=n.value;return{image:f?Fe(f):null,imageDark:d?Fe(d):null,style:m,alt:p||c||"",isFullScreen:o.value}}),a=S(()=>{const{bgImage:c,bgImageDark:f,bgImageStyle:d}=n.value;return{image:ve(c)?Fe(c):null,imageDark:ve(f)?Fe(f):null,bgStyle:d,isFullScreen:o.value}}),i=S(()=>n.value.actions??[]);return()=>{var c,f,d;return u("header",{class:["vp-hero-info-wrapper",{fullscreen:o.value}]},[((c=t.heroBg)==null?void 0:c.call(t,a.value))||[a.value.image?u("div",{class:["vp-hero-mask",{light:a.value.imageDark}],style:[{"background-image":`url(${a.value.image})`},a.value.bgStyle]}):null,a.value.imageDark?u("div",{class:"vp-hero-mask dark",style:[{"background-image":`url(${a.value.imageDark})`},a.value.bgStyle]}):null],u("div",{class:"vp-hero-info"},[((f=t.heroImage)==null?void 0:f.call(t,s.value))||u(dn,{appear:!0,type:"group"},()=>[s.value.image?u("img",{key:"light",class:["vp-hero-image",{light:s.value.imageDark}],style:s.value.style,src:s.value.image,alt:s.value.alt}):null,s.value.imageDark?u("img",{key:"dark",class:"vp-hero-image dark",style:s.value.style,src:s.value.imageDark,alt:s.value.alt}):null]),((d=t.heroInfo)==null?void 0:d.call(t,l.value))??u("div",{class:"vp-hero-infos"},[l.value.text?u(dn,{appear:!0,delay:.04},()=>u("h1",{id:"main-title"},l.value.text)):null,l.value.tagline?u(dn,{appear:!0,delay:.08},()=>u("p",{id:"main-description",innerHTML:l.value.tagline})):null,i.value.length?u(dn,{appear:!0,delay:.12},()=>u("p",{class:"vp-hero-actions"},i.value.map(p=>u(je,{class:["vp-hero-action",p.type||"default"],config:p,noExternalLinkIcon:!0},p.icon?{before:()=>u(Ne,{icon:p.icon})}:{})))):null])])])}}});const Kc=(e,{slots:t})=>{var p,m,g;const{bgImage:n,bgImageDark:r,bgImageStyle:o,color:l,description:s,image:a,imageDark:i,header:c,highlights:f=[],type:d="un-order"}=e;return u("div",{class:"vp-highlight-wrapper",style:l?{color:l}:{}},[n?u("div",{class:["vp-highlight-bg",{light:r}],style:[{"background-image":`url(${n})`},o]}):null,r?u("div",{class:"vp-highlight-bg dark",style:[{"background-image":`url(${r})`},o]}):null,u("div",{class:"vp-highlight"},[((p=t.image)==null?void 0:p.call(t,e))||[a?u("img",{class:["vp-highlight-image",{light:i}],src:Fe(a),alt:""}):null,i?u("img",{class:"vp-highlight-image dark",src:Fe(i),alt:""}):null],((m=t.info)==null?void 0:m.call(t,e))||[u("div",{class:"vp-highlight-info-wrapper"},u("div",{class:"vp-highlight-info"},[c?u("h2",{class:"vp-highlight-header",innerHTML:c}):null,s?u("p",{class:"vp-highlight-description",innerHTML:s}):null,((g=t.highlights)==null?void 0:g.call(t,f))||u(d==="order"?"ol":d==="no-order"?"dl":"ul",{class:"vp-highlights"},f.map(({icon:E,title:_,details:b,link:C})=>{const y=[u(d==="no-order"?"dt":"h3",{class:"vp-highlight-title"},[E?u(Ne,{class:"vp-highlight-icon",icon:E}):null,u("span",{innerHTML:_})]),b?u(d==="no-order"?"dd":"p",{class:"vp-highlight-details",innerHTML:b}):null];return u(d==="no-order"?"div":"li",{class:["vp-highlight-item-wrapper",{link:C}]},C?Jr(C)?u("a",{class:"vp-highlight-item link",href:C,"aria-label":_,target:"_blank"},y):u(He,{class:"vp-highlight-item link",to:C,"aria-label":_},()=>y):u("div",{class:"vp-highlight-item"},y))}))]))]])])};Kc.displayName="HighlightPanel";var o2=Kc,l2=z({name:"HomePage",slots:Object,setup(e,{slots:t}){const n=pr(),r=_e(),o=S(()=>{const{features:s}=r.value;return Wo(s)?s:null}),l=S(()=>{const{highlights:s}=r.value;return Wo(s)?s:null});return()=>{var s,a,i,c;return u("main",{id:"main-content",class:["vp-project-home ",{pure:n.value}],"aria-labelledby":r.value.heroText===null?"":"main-title"},[(s=t.top)==null?void 0:s.call(t),u(r2),((a=l.value)==null?void 0:a.map(f=>"features"in f?u(ia,f):u(o2,f)))||(o.value?u(dn,{appear:!0,delay:.24},()=>u(ia,{features:o.value})):null),(i=t.center)==null?void 0:i.call(t),u(dn,{appear:!0,delay:.32},()=>u(Fc)),(c=t.bottom)==null?void 0:c.call(t)])}}}),s2=z({name:"BreadCrumb",setup(){const e=be(),t=tn(),n=_e(),r=de(),o=Ge([]),l=S(()=>(n.value.breadcrumb||n.value.breadcrumb!==!1&&r.value.breadcrumb!==!1)&&o.value.length>1),s=S(()=>n.value.breadcrumbIcon||n.value.breadcrumbIcon!==!1&&r.value.breadcrumbIcon!==!1),a=()=>{const i=n2(e.value.path,t.value).map(({link:c,name:f})=>{const{path:d,meta:p,notFound:m}=Bt(c);return m||p[ct.breadcrumbExclude]?null:{title:p[ct.shortTitle]||p[ct.title]||f,icon:p[ct.icon],path:d}}).filter(c=>c!==null);i.length>1&&(o.value=i)};return ye(()=>{ce(()=>e.value.path,a,{immediate:!0})}),()=>u("nav",{class:["vp-breadcrumb",{disable:!l.value}]},l.value?u("ol",{vocab:"https://schema.org/",typeof:"BreadcrumbList"},o.value.map((i,c)=>u("li",{class:{"is-active":o.value.length-1===c},property:"itemListElement",typeof:"ListItem"},[u(He,{to:i.path,property:"item",typeof:"WebPage"},()=>[s.value?u(Ne,{icon:i.icon}):null,u("span",{property:"name"},i.title||"Unknown")]),u("meta",{property:"position",content:c+1})]))):[])}});const ca=(e,t)=>e===!1||ur(e)?e:ve(e)?Bl(e,!0,t):null,Zo=(e,t,n)=>{const r=e.findIndex(o=>o.link===t);if(r!==-1){const o=e[r+n];return o!=null&&o.link?o:null}for(const o of e)if("children"in o){const l=Zo(o.children,t,n);if(l)return l}return null};var a2=z({name:"PageNav",setup(){const e=de(),t=_e(),n=Hl(),r=be(),o=$l(),l=wt(),s=S(()=>{const i=ca(t.value.prev,l.path);return i===!1?null:i||(e.value.prevLink===!1?null:Zo(n.value,r.value.path,-1))}),a=S(()=>{const i=ca(t.value.next,l.path);return i===!1?null:i||(e.value.nextLink===!1?null:Zo(n.value,r.value.path,1))});return Ie("keydown",i=>{i.altKey&&(i.key==="ArrowRight"?a.value&&(o(a.value.link),i.preventDefault()):i.key==="ArrowLeft"&&s.value&&(o(s.value.link),i.preventDefault()))}),()=>s.value||a.value?u("nav",{class:"vp-page-nav"},[s.value?u(je,{class:"prev",config:s.value},()=>{var i,c;return[u("div",{class:"hint"},[u("span",{class:"arrow start"}),e.value.metaLocales.prev]),u("div",{class:"link"},[u(Ne,{icon:(i=s.value)==null?void 0:i.icon}),(c=s.value)==null?void 0:c.text])]}):null,a.value?u(je,{class:"next",config:a.value},()=>{var i,c;return[u("div",{class:"hint"},[e.value.metaLocales.next,u("span",{class:"arrow end"})]),u("div",{class:"link"},[(i=a.value)==null?void 0:i.text,u(Ne,{icon:(c=a.value)==null?void 0:c.icon})])]}):null]):null}});const i2=()=>{const e=de(),t=be(),n=_e();return S(()=>{var r;return n.value.contributors??e.value.contributors??!0?((r=t.value.git)==null?void 0:r.contributors)??null:null})},c2={GitHub:":repo/edit/:branch/:path",GitLab:":repo/-/edit/:branch/:path",Gitee:":repo/edit/:branch/:path",Bitbucket:":repo/src/:branch/:path?mode=edit&spa=0&at=:branch&fileviewer=file-view-default"},u2=({docsRepo:e,docsBranch:t,docsDir:n,filePathRelative:r,editLinkPattern:o})=>{if(!r)return null;const l=Dl(e);let s;return o?s=o:l!==null&&(s=c2[l]),s?s.replace(/:repo/u,Zt(e)?e:`https://github.com/${e}`).replace(/:branch/u,t).replace(/:path/u,Ci(`${Sl(n)}/${r}`)):null},f2=()=>{const e=de(),t=be(),n=_e();return S(()=>{const{repo:r,docsRepo:o=r,docsBranch:l="main",docsDir:s="",editLink:a,editLinkPattern:i=""}=e.value;if(!(n.value.editLink??a??!0)||!o)return null;const c=u2({docsRepo:o,docsBranch:l,docsDir:s,editLinkPattern:i,filePathRelative:t.value.filePathRelative});return c?{text:e.value.metaLocales.editLink,link:c}:null})},d2=()=>{const e=Pl(),t=de(),n=be(),r=_e();return S(()=>{var o,l;return!(r.value.lastUpdated??t.value.lastUpdated??!0)||!((o=n.value.git)!=null&&o.updatedTime)?null:new Date((l=n.value.git)==null?void 0:l.updatedTime).toLocaleString(e.value.lang)})};var p2=z({name:"PageTitle",setup(){const e=be(),t=_e(),n=de(),{info:r,items:o}=m0();return()=>u("div",{class:"vp-page-title"},[u("h1",[n.value.titleIcon===!1?null:u(Ne,{icon:t.value.icon}),e.value.title]),u(Z0,{info:r.value,...o.value===null?{}:{items:o.value}}),u("hr")])}});const Qc=()=>u(we,{name:"edit"},()=>[u("path",{d:"M430.818 653.65a60.46 60.46 0 0 1-50.96-93.281l71.69-114.012 7.773-10.365L816.038 80.138A60.46 60.46 0 0 1 859.225 62a60.46 60.46 0 0 1 43.186 18.138l43.186 43.186a60.46 60.46 0 0 1 0 86.373L588.879 565.55l-8.637 8.637-117.466 68.234a60.46 60.46 0 0 1-31.958 11.229z"}),u("path",{d:"M728.802 962H252.891A190.883 190.883 0 0 1 62.008 771.98V296.934a190.883 190.883 0 0 1 190.883-192.61h267.754a60.46 60.46 0 0 1 0 120.92H252.891a69.962 69.962 0 0 0-69.098 69.099V771.98a69.962 69.962 0 0 0 69.098 69.098h475.911A69.962 69.962 0 0 0 797.9 771.98V503.363a60.46 60.46 0 1 1 120.922 0V771.98A190.883 190.883 0 0 1 728.802 962z"})]);Qc.displayName="EditIcon";var h2=z({name:"PageMeta",setup(){const e=de(),t=f2(),n=d2(),r=i2();return()=>{const{metaLocales:o}=e.value;return u("footer",{class:"vp-page-meta"},[t.value?u("div",{class:"vp-meta-item edit-link"},u(je,{class:"vp-meta-label",config:t.value},{before:()=>u(Qc)})):null,u("div",{class:"vp-meta-item git-info"},[n.value?u("div",{class:"update-time"},[u("span",{class:"vp-meta-label"},`${o.lastUpdated}: `),u(to,()=>u("span",{class:"vp-meta-info"},n.value))]):null,r.value&&r.value.length?u("div",{class:"contributors"},[u("span",{class:"vp-meta-label"},`${o.contributors}: `),r.value.map(({email:l,name:s},a)=>[u("span",{class:"vp-meta-info",title:`email: ${l}`},s),a!==r.value.length-1?",":""])]):null])])}}}),m2=z({name:"NormalPage",slots:Object,setup(e,{slots:t}){const n=_e(),{isDarkmode:r}=hr(),o=de(),l=S(()=>n.value.toc||n.value.toc!==!1&&o.value.toc!==!1);return()=>u("main",{id:"main-content",class:"vp-page"},u(pt("LocalEncrypt")?ft("LocalEncrypt"):sc,()=>{var s,a,i,c;return[(s=t.top)==null?void 0:s.call(t),n.value.cover?u("div",{class:"page-cover"},u("img",{src:Fe(n.value.cover),alt:"","no-view":""})):null,u(s2),u(p2),l.value?u(t2,{headerDepth:n.value.headerDepth??o.value.headerDepth??2},{before:()=>{var f;return(f=t.tocBefore)==null?void 0:f.call(t)},after:()=>{var f;return(f=t.tocAfter)==null?void 0:f.call(t)}}):null,(a=t.contentBefore)==null?void 0:a.call(t),u(Fc),(i=t.contentAfter)==null?void 0:i.call(t),u(h2),u(a2),pt("CommentService")?u(ft("CommentService"),{darkmode:r.value}):null,(c=t.bottom)==null?void 0:c.call(t)]}))}}),v2=z({name:"Layout",slots:Object,setup(e,{slots:t}){de();const n=be(),r=_e(),{isMobile:o}=lo(),l=S(()=>"none");return()=>[u(Gc),u(Dc,{},{default:()=>{var s;return((s=t.default)==null?void 0:s.call(t))||(r.value.home?u(l2):u(jl,()=>u(m2,{key:n.value.path},{top:()=>{var a;return(a=t.top)==null?void 0:a.call(t)},bottom:()=>{var a;return(a=t.bottom)==null?void 0:a.call(t)},contentBefore:()=>{var a;return(a=t.contentBefore)==null?void 0:a.call(t)},contentAfter:()=>{var a;return(a=t.contentAfter)==null?void 0:a.call(t)},tocBefore:()=>{var a;return(a=t.tocBefore)==null?void 0:a.call(t)},tocAfter:()=>{var a;return(a=t.tocAfter)==null?void 0:a.call(t)}})))},...l.value==="none"?{}:{navScreenBottom:()=>u(ft("BloggerInfo"))},...!o.value&&l.value==="always"?{sidebar:()=>u(ft("BloggerInfo"))}:{}})]}}),g2=z({name:"NotFoundHint",setup(){const e=de(),t=()=>{const n=e.value.routeLocales.notFoundMsg;return n[Math.floor(Math.random()*n.length)]};return()=>u("div",{class:"not-found-hint"},[u("p",{class:"error-code"},"404"),u("h1",{class:"error-title"},e.value.routeLocales.notFoundTitle),u("p",{class:"error-hint"},t())])}}),y2=z({name:"NotFound",slots:Object,setup(e,{slots:t}){const n=en(),r=tn(),o=de();return()=>[u(Gc),u(Dc,{noSidebar:!0},()=>{var l;return u("main",{id:"main-content",class:"vp-page not-found"},((l=t.default)==null?void 0:l.call(t))||[u(g2),u("div",{class:"actions"},[u("button",{type:"button",class:"action-button",onClick:()=>{window.history.go(-1)}},o.value.routeLocales.back),u("button",{type:"button",class:"action-button",onClick:()=>{n.push(o.value.home??r.value)}},o.value.routeLocales.home)])])})]}});const Yc=()=>u(we,{name:"lock"},()=>u("path",{d:"M787.168 952.268H236.832c-30.395 0-55.033-24.638-55.033-55.033V429.45c0-30.395 24.638-55.034 55.033-55.034h82.55V264.35c0-106.38 86.238-192.618 192.618-192.618S704.618 157.97 704.618 264.35v110.066h82.55c30.395 0 55.033 24.639 55.033 55.034v467.785c0 30.395-24.639 55.033-55.033 55.033zM484.483 672.046v115.122h55.034V672.046c31.99-11.373 55.033-41.605 55.033-77.496 0-45.592-36.958-82.55-82.55-82.55s-82.55 36.958-82.55 82.55c0 35.89 23.042 66.123 55.033 77.496zM622.067 264.35c0-60.788-49.28-110.067-110.067-110.067s-110.067 49.28-110.067 110.067v110.066h220.135V264.35z"}));Yc.displayName="LockIcon";var b2={};const an="./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),Ao=Array.from({length:64},(e,t)=>t),Ar=e=>Array(e).fill(-1),Tt=[...Ar(46),0,1,...Ao.slice(54,64),...Ar(7),...Ao.slice(2,28),...Ar(6),...Ao.slice(28,54),...Ar(5)],ua=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],fa=[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946,1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055,3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504,976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462],Jc=[1332899944,1700884034,1701343084,1684370003,1668446532,1869963892],el=(e,t)=>{if(t<=0||t>e.length)throw Error(`Illegal len: ${t}`);let n=0,r,o;const l=[];for(;n>2&63]),r=(r&3)<<4,n>=t){l.push(an[r&63]);break}if(o=e[n++]&255,r|=o>>4&15,l.push(an[r&63]),r=(o&15)<<2,n>=t){l.push(an[r&63]);break}o=e[n++]&255,r|=o>>6&3,l.push(an[r&63]),l.push(an[o&63])}return l.join("")},_2=(e,t)=>{if(t<=0)throw Error(`Illegal len: ${t}`);const n=e.length;let r=0,o=0,l,s,a,i,c,f;const d=[];for(;r>>0,c|=(s&48)>>4,d.push(String.fromCharCode(c)),++o>=t||r>=n)||(f=e.charCodeAt(r++),a=f>>0,c|=(a&60)>>2,d.push(String.fromCharCode(c)),++o>=t||r>=n)));)f=e.charCodeAt(r++),i=f>>0,c|=i,d.push(String.fromCharCode(c)),++o;return d.map(p=>p.charCodeAt(0))},w2=(e,t)=>{let n=null;for(typeof e=="number"&&(n=e,e=()=>null);n!==null||(n=e())!==null;)n<128?t(n&127):n<2048?(t(n>>6&31|192),t(n&63|128)):n<65536?(t(n>>12&15|224),t(n>>6&63|128),t(n&63|128)):(t(n>>18&7|240),t(n>>12&63|128),t(n>>6&63|128),t(n&63|128)),n=null},E2=(e,t)=>{let n,r=null;for(;(n=r!==null?r:e())!==null;){if(n>=55296&&n<=57343&&(r=e())!==null&&r>=56320&&r<=57343){t((n-55296)*1024+r-56320+65536),r=null;continue}t(n)}r!==null&&t(r)},C2=(e,t)=>{E2(e,function(n){w2(n,t)})},L2=typeof process=="object"&&b2.NEXT_RUNTIME==="edge"?setTimeout:typeof setImmediate=="function"?setImmediate:typeof process=="object"&&typeof process.nextTick=="function"?process.nextTick:setTimeout,S2=e=>{const t=[];let n=0;return C2(()=>n>=e.length?null:e.charCodeAt(n++),r=>{t.push(r)}),t},er=(e,t,n,r)=>{let o,l=e[t],s=e[t+1];return l^=n[0],o=r[l>>>24],o+=r[256|l>>16&255],o^=r[512|l>>8&255],o+=r[768|l&255],s^=o^n[1],o=r[s>>>24],o+=r[256|s>>16&255],o^=r[512|s>>8&255],o+=r[768|s&255],l^=o^n[2],o=r[l>>>24],o+=r[256|l>>16&255],o^=r[512|l>>8&255],o+=r[768|l&255],s^=o^n[3],o=r[s>>>24],o+=r[256|s>>16&255],o^=r[512|s>>8&255],o+=r[768|s&255],l^=o^n[4],o=r[l>>>24],o+=r[256|l>>16&255],o^=r[512|l>>8&255],o+=r[768|l&255],s^=o^n[5],o=r[s>>>24],o+=r[256|s>>16&255],o^=r[512|s>>8&255],o+=r[768|s&255],l^=o^n[6],o=r[l>>>24],o+=r[256|l>>16&255],o^=r[512|l>>8&255],o+=r[768|l&255],s^=o^n[7],o=r[s>>>24],o+=r[256|s>>16&255],o^=r[512|s>>8&255],o+=r[768|s&255],l^=o^n[8],o=r[l>>>24],o+=r[256|l>>16&255],o^=r[512|l>>8&255],o+=r[768|l&255],s^=o^n[9],o=r[s>>>24],o+=r[256|s>>16&255],o^=r[512|s>>8&255],o+=r[768|s&255],l^=o^n[10],o=r[l>>>24],o+=r[256|l>>16&255],o^=r[512|l>>8&255],o+=r[768|l&255],s^=o^n[11],o=r[s>>>24],o+=r[256|s>>16&255],o^=r[512|s>>8&255],o+=r[768|s&255],l^=o^n[12],o=r[l>>>24],o+=r[256|l>>16&255],o^=r[512|l>>8&255],o+=r[768|l&255],s^=o^n[13],o=r[s>>>24],o+=r[256|s>>16&255],o^=r[512|s>>8&255],o+=r[768|s&255],l^=o^n[14],o=r[l>>>24],o+=r[256|l>>16&255],o^=r[512|l>>8&255],o+=r[768|l&255],s^=o^n[15],o=r[s>>>24],o+=r[256|s>>16&255],o^=r[512|s>>8&255],o+=r[768|s&255],l^=o^n[16],e[t]=s^n[17],e[t+1]=l,e},un=(e,t)=>{let n=0;for(let r=0;r<4;++r)n=n<<8|e[t]&255,t=(t+1)%e.length;return{key:n,offp:t}},da=(e,t,n)=>{const r=t.length,o=n.length;let l=0,s=[0,0],a;for(let i=0;i{const o=n.length,l=r.length;let s=0,a=[0,0],i;for(let c=0;c{const l=Jc.slice(),s=l.length;if(n<4||n>31){const p=new Error(`Illegal number of rounds (4-31): ${n}`);if(r===!1)return Promise.reject(p);throw p}if(t.length!==16){const p=new Error(`Illegal salt length: ${t.length} != 16`);if(r===!1)return Promise.reject(p);throw p}n=1<>>0;let a,i,c=0,f;Int32Array?(a=new Int32Array(ua),i=new Int32Array(fa)):(a=ua.slice(),i=fa.slice()),k2(t,e,a,i);const d=()=>{if(o&&o(c/n),c100)););}else{for(c=0;c<64;c++)for(f=0;f>1;f++)er(l,f<<1,a,i);const p=[];for(c=0;c>24&255)>>>0),p.push((l[c]>>16&255)>>>0),p.push((l[c]>>8&255)>>>0),p.push((l[c]&255)>>>0);return r===!1?Promise.resolve(p):p}if(r===!1)return new Promise(p=>L2(()=>{d().then(p)}))};if(r===!1)return d();{let p;for(;;)if(typeof(p=d())<"u")return p||[]}},T2=e=>{try{let t;typeof window<"u"?t=window.crypto??window.msCrypto:t=globalThis.crypto;const n=new Uint32Array(e);return t==null||t.getRandomValues(n),Array.from(n)}catch{throw Error("WebCryptoAPI is not available")}},x2=(e=10)=>{if(typeof e!="number")throw Error("Illegal arguments: "+typeof e);e<4?e=4:e>31&&(e=31);const t=[];return t.push("$2a$"),e<10&&t.push("0"),t.push(e.toString()),t.push("$"),t.push(el(T2(16),16)),t.join("")};function A2(e,t,n,r){if(typeof e!="string"||typeof t!="string"){const m=new Error("Invalid string / salt: Not a string");if(n===!1)return Promise.reject(m);throw m}let o,l;if(t.charAt(0)!=="$"||t.charAt(1)!=="2"){const m=new Error("Invalid salt version: "+t.substring(0,2));if(n===!1)return Promise.reject(m);throw m}if(t.charAt(2)==="$")o="\0",l=3;else{if(o=t.charAt(2),o!=="a"&&o!=="b"&&o!=="y"||t.charAt(3)!=="$"){const m=Error("Invalid salt revision: "+t.substring(2,4));if(n===!1)return Promise.reject(m);throw m}l=4}if(t.charAt(l+2)>"$"){const m=new Error("Missing salt rounds");if(n===!1)return Promise.reject(m);throw m}const s=parseInt(t.substring(l,l+1),10)*10,a=parseInt(t.substring(l+1,l+2),10),i=s+a,c=t.substring(l+3,l+25);e+=o>="a"?"\0":"";const f=S2(e),d=_2(c,16),p=m=>{const g=[];return g.push("$2"),o>="a"&&g.push(o),g.push("$"),i<10&&g.push("0"),g.push(i.toString()),g.push("$"),g.push(el(d,d.length)),g.push(el(m,Jc.length*4-1)),g.join("")};return n===!1?pa(f,d,i,!1,r).then(m=>p(m)):p(pa(f,d,i,!0,r))}const P2=(e,t=10)=>{if(typeof t=="number"&&(t=x2(t)),typeof e!="string"||typeof t!="string")throw Error("Illegal arguments: "+typeof e+", "+typeof t);return A2(e,t,!0)},tl=(e,t)=>{if(typeof e!="string"||typeof t!="string")throw Error("Illegal arguments: "+typeof e+", "+typeof t);return t.length!==60?!1:P2(e,t.substring(0,t.length-31))===t};var Xc=z({name:"PasswordModal",props:{full:Boolean},emits:["verify"],setup(e,{emit:t}){const n=_e(),r=de(),o=X(""),l=X(!1),s=X(!1),a=S(()=>r.value.encryptLocales);let i=null;const c=()=>{i&&clearTimeout(i),l.value=!1,t("verify",o.value,s.value),Ht().then(()=>{l.value=!0,i=setTimeout(()=>{l.value=!1},1e3)})};return()=>u("div",{class:["vp-decrypt-layer",{expand:e.full||n.value.home}]},u("div",{class:"vp-decrypt-modal"},[u("div",{class:["vp-decrypt-hint",{tried:l.value}]},l.value?a.value.errorHint:u(Yc,{"aria-label":a.value.iconLabel})),u("div",{class:"vp-decrypt-input"},[u("input",{type:"password",value:o.value,placeholder:a.value.placeholder,onInput:({target:f})=>{o.value=f.value},onKeydown:({key:f})=>{f==="Enter"&&c()}})]),u("div",{class:"vp-remember-password"},[u("input",{type:"checkbox",value:s.value,onChange:()=>s.value=!s.value}),a.value.remember]),u("button",{type:"button",class:"vp-decrypt-submit",onClick:()=>c()},"OK")]))}});const Zc=()=>{const e=rn();return S(()=>e.value.encrypt||{})},ha="VUEPRESS_HOPE_GLOBAL_TOKEN",R2=()=>{const e=Zc(),t=oo(ha,""),n=Gi(ha,""),r=S(()=>{const{global:l=!1,admin:s=[]}=e.value;return l&&s.length>0}),o=S(()=>{if(r.value){if(t.value)return e.value.admin.some(l=>tl(t.value,l));if(n.value)return e.value.admin.some(l=>tl(n.value,l))}return!1});return{isEncrypted:r,isDecrypted:o,validate:(l,s=!1)=>{(s?t:n).value=l}}},Po=(e="",t)=>!!e&&tl(e,t),ma="VUEPRESS_HOPE_PATH_TOKEN",I2=()=>{const e=be(),t=Zc(),n=oo(ma,{}),r=Gi(ma,{}),o=s=>ur(t.value.config)?kn(t.value.config).filter(a=>Cn(decodeURI(s),a)).sort((a,i)=>i.length-a.length):[],l=s=>{const a=o(s);if(a.length>0){const{config:i={}}=t.value;return{isEncrypted:!0,isDecrypted:a.some(c=>n.value[c]&&i[c].some(f=>Po(n.value[c],f))||r.value[c]&&i[c].some(f=>Po(r.value[c],f)))}}return{isDecrypted:!1,isEncrypted:!1}};return{status:S(()=>l(e.value.path)),getStatus:l,validate:(s,a=!1)=>{const{config:i={}}=t.value,c=o(e.value.path);for(const f of c)if(i[f].filter(d=>Po(s,d))){(a?n:r).value[f]=s;break}}}};var M2=z({name:"GlobalEncrypt",slots:Object,setup(e,{slots:t}){const{isDecrypted:n,isEncrypted:r,validate:o}=R2(),l=X(!1);return ye(()=>{l.value=!0}),()=>u(jl,()=>r.value?l.value?n.value?t.default():u(Xc,{full:!0,onVerify:o}):null:t.default())}}),O2=z({name:"LocalEncrypt",slots:Object,setup(e,{slots:t}){const{status:n,validate:r}=I2(),o=X(!1);return ye(()=>{o.value=!0}),()=>{const{isEncrypted:l,isDecrypted:s}=n.value;return l?o.value?s?t.default():u(Xc,{full:!0,onVerify:r}):null:t.default()}}});Jp(e=>{const t=e.t,n=e.I!==!1,r=e.i;return n?{title:t,content:r?()=>[u(Ne,{icon:r}),t]:null,order:e.O,index:e.I}:null});const D2=qe({enhance:({app:e,router:t})=>{const{scrollBehavior:n}=t.options;t.options.scrollBehavior=async(...r)=>(await Xo.wait(),n(...r)),y0(e),e.component("HopeIcon",Ne),e.component("GlobalEncrypt",M2),e.component("LocalEncrypt",O2)},setup:()=>{b0(),L0()},layouts:{Layout:v2,NotFound:y2}}),F2=e=>e instanceof Element?document.activeElement===e&&(["TEXTAREA","SELECT","INPUT"].includes(e.tagName)||e.hasAttribute("contenteditable")):!1,N2=(e,t)=>t.some(n=>{if(ve(n))return n===e.key;const{key:r,ctrl:o=!1,shift:l=!1,alt:s=!1}=n;return r===e.key&&o===e.ctrlKey&&l===e.shiftKey&&s===e.altKey}),$2=/[^\x00-\x7F]/,B2=e=>e.split(/\s+/g).map(t=>t.trim()).filter(t=>!!t),va=e=>e.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),ga=(e,t)=>{const n=t.join(" "),r=B2(e);if($2.test(e))return r.some(s=>n.toLowerCase().indexOf(s)>-1);const o=e.endsWith(" ");return new RegExp(r.map((s,a)=>r.length===a+1&&!o?`(?=.*\\b${va(s)})`:`(?=.*\\b${va(s)}\\b)`).join("")+".+","gi").test(n)},H2=({input:e,hotKeys:t})=>{if(t.value.length===0)return;const n=r=>{e.value&&N2(r,t.value)&&!F2(r.target)&&(r.preventDefault(),e.value.focus())};ye(()=>{document.addEventListener("keydown",n)}),_l(()=>{document.removeEventListener("keydown",n)})},j2=[{title:"Home",headers:[],path:"/",pathLocale:"/",extraFields:[]},{title:"Docs",headers:[{level:2,title:"Basics",slug:"basics",link:"#basics",children:[]},{level:2,title:"MongoDB",slug:"mongodb",link:"#mongodb",children:[]},{level:2,title:"MySQL",slug:"mysql",link:"#mysql",children:[]},{level:2,title:"Raspberry Pi",slug:"raspberry-pi",link:"#raspberry-pi",children:[]}],path:"/docs/",pathLocale:"/",extraFields:[]},{title:"Get started",headers:[{level:2,title:"How to Use This Guide",slug:"how-to-use-this-guide",link:"#how-to-use-this-guide",children:[{level:3,title:"Guides",slug:"guides",link:"#guides",children:[]},{level:3,title:"Docs",slug:"docs",link:"#docs",children:[]},{level:3,title:"Examples",slug:"examples",link:"#examples",children:[]}]}],path:"/get-started/",pathLocale:"/",extraFields:[]},{title:"Installation guide",headers:[{level:3,title:"Download Node.js",slug:"download-node-js",link:"#download-node-js",children:[]},{level:3,title:"Run the Installer",slug:"run-the-installer",link:"#run-the-installer",children:[]},{level:3,title:"Verify Installation",slug:"verify-installation",link:"#verify-installation",children:[]},{level:3,title:"Update npm (Optional)",slug:"update-npm-optional",link:"#update-npm-optional",children:[]}],path:"/get-started/installation.html",pathLocale:"/",extraFields:[]},{title:"Quick start",headers:[{level:2,title:"Prerequisites",slug:"prerequisites",link:"#prerequisites",children:[{level:3,title:"Create a New File",slug:"create-a-new-file",link:"#create-a-new-file",children:[]},{level:3,title:"Write Some Code",slug:"write-some-code",link:"#write-some-code",children:[]},{level:3,title:"Run the Program",slug:"run-the-program",link:"#run-the-program",children:[]},{level:3,title:"Access the Web Server",slug:"access-the-web-server",link:"#access-the-web-server",children:[]}]}],path:"/get-started/quick-start.html",pathLocale:"/",extraFields:[]},{title:"What is Node.js?",headers:[{level:2,title:"Understanding Node.js",slug:"understanding-node-js",link:"#understanding-node-js",children:[{level:3,title:"How Does Node.js Work?",slug:"how-does-node-js-work",link:"#how-does-node-js-work",children:[]},{level:3,title:"Why Node.js?",slug:"why-node-js",link:"#why-node-js",children:[]},{level:3,title:"Use Cases of Node.js",slug:"use-cases-of-node-js",link:"#use-cases-of-node-js",children:[]},{level:3,title:"Anatomy of a Node.js File",slug:"anatomy-of-a-node-js-file",link:"#anatomy-of-a-node-js-file",children:[]}]}],path:"/get-started/what-is-nodejs.html",pathLocale:"/",extraFields:[]},{title:"Blinking LED",headers:[],path:"/docs/RaspberryPi/Blinking_LED.html",pathLocale:"/",extraFields:[]},{title:"Components",headers:[],path:"/docs/RaspberryPi/Components.html",pathLocale:"/",extraFields:[]},{title:"Flowing LED",headers:[],path:"/docs/RaspberryPi/Flowing_LED.html",pathLocale:"/",extraFields:[]},{title:"GPIO Introduction",headers:[],path:"/docs/RaspberryPi/GPIO_Introduction.html",pathLocale:"/",extraFields:[]},{title:"Install Raspberry Pi",headers:[],path:"/docs/RaspberryPi/Install_RaspberryPi.html",pathLocale:"/",extraFields:[]},{title:"LED & Pushbutton",headers:[],path:"/docs/RaspberryPi/LED___Pushbutton.html",pathLocale:"/",extraFields:[]},{title:"Raspberry Pi",headers:[],path:"/docs/RaspberryPi/",pathLocale:"/",extraFields:[]},{title:"RGB LED WebSocket",headers:[],path:"/docs/RaspberryPi/RGB_LED_WebSocket.html",pathLocale:"/",extraFields:[]},{title:"WebSocket",headers:[],path:"/docs/RaspberryPi/WebSocket.html",pathLocale:"/",extraFields:[]},{title:"Collection",headers:[],path:"/docs/MongoDB/Collection.html",pathLocale:"/",extraFields:[]},{title:"Create Database",headers:[],path:"/docs/MongoDB/Create%20Database.html",pathLocale:"/",extraFields:[]},{title:"Delete",headers:[],path:"/docs/MongoDB/Delete.html",pathLocale:"/",extraFields:[]},{title:"Drop Collection",headers:[],path:"/docs/MongoDB/Drop%20Collection.html",pathLocale:"/",extraFields:[]},{title:"Find",headers:[],path:"/docs/MongoDB/Find.html",pathLocale:"/",extraFields:[]},{title:"Insert",headers:[],path:"/docs/MongoDB/Insert.html",pathLocale:"/",extraFields:[]},{title:"Join",headers:[],path:"/docs/MongoDB/Join.html",pathLocale:"/",extraFields:[]},{title:"Limit",headers:[],path:"/docs/MongoDB/Limit.html",pathLocale:"/",extraFields:[]},{title:"Query",headers:[],path:"/docs/MongoDB/Query.html",pathLocale:"/",extraFields:[]},{title:"MongoDB",headers:[],path:"/docs/MongoDB/",pathLocale:"/",extraFields:[]},{title:"Sort",headers:[],path:"/docs/MongoDB/Sort.html",pathLocale:"/",extraFields:[]},{title:"Update",headers:[],path:"/docs/MongoDB/Update.html",pathLocale:"/",extraFields:[]},{title:"Install MongoDB",headers:[],path:"/docs/MongoDB/install_MongoDB.html",pathLocale:"/",extraFields:[]},{title:"Email",headers:[{level:2,title:"The Nodemailer Module",slug:"the-nodemailer-module",link:"#the-nodemailer-module",children:[]},{level:2,title:"Sending an Email",slug:"sending-an-email",link:"#sending-an-email",children:[]},{level:2,title:"Multiple Receivers",slug:"multiple-receivers",link:"#multiple-receivers",children:[]},{level:2,title:"Send HTML",slug:"send-html",link:"#send-html",children:[]}],path:"/docs/Basics/Email.html",pathLocale:"/",extraFields:[]},{title:"Events",headers:[{level:2,title:"Events in Node.js",slug:"events-in-node-js",link:"#events-in-node-js",children:[]},{level:2,title:"Events Module",slug:"events-module",link:"#events-module",children:[]},{level:2,title:"The EventEmitter Object",slug:"the-eventemitter-object",link:"#the-eventemitter-object",children:[]}],path:"/docs/Basics/Events.html",pathLocale:"/",extraFields:[]},{title:"File System",headers:[{level:2,title:"Node.js as a File Server",slug:"node-js-as-a-file-server",link:"#node-js-as-a-file-server",children:[]},{level:2,title:"Read Files",slug:"read-files",link:"#read-files",children:[]},{level:2,title:"Create Files",slug:"create-files",link:"#create-files",children:[]},{level:2,title:"Update and Delete Files",slug:"update-and-delete-files",link:"#update-and-delete-files",children:[]},{level:2,title:"Rename Files",slug:"rename-files",link:"#rename-files",children:[]}],path:"/docs/Basics/File%20System.html",pathLocale:"/",extraFields:[]},{title:"HTTP Modules",headers:[{level:2,title:"The Built-in HTTP Module",slug:"the-built-in-http-module",link:"#the-built-in-http-module",children:[]},{level:2,title:"Node.js as a Web Server",slug:"node-js-as-a-web-server",link:"#node-js-as-a-web-server",children:[]},{level:2,title:"Add an HTTP Header",slug:"add-an-http-header",link:"#add-an-http-header",children:[]},{level:2,title:"Read the Query String",slug:"read-the-query-string",link:"#read-the-query-string",children:[]},{level:2,title:"Split the Query String",slug:"split-the-query-string",link:"#split-the-query-string",children:[]}],path:"/docs/Basics/HTTP%20Modules.html",pathLocale:"/",extraFields:[]},{title:"Modules",headers:[{level:2,title:"What is a Module in Node.js?",slug:"what-is-a-module-in-node-js",link:"#what-is-a-module-in-node-js",children:[]},{level:2,title:"Built-in Modules",slug:"built-in-modules",link:"#built-in-modules",children:[]},{level:2,title:"Create Your Own Modules",slug:"create-your-own-modules",link:"#create-your-own-modules",children:[]},{level:2,title:"Include Your Own Module",slug:"include-your-own-module",link:"#include-your-own-module",children:[]}],path:"/docs/Basics/Modules.html",pathLocale:"/",extraFields:[]},{title:"NPM",headers:[{level:2,title:"What is a Package?",slug:"what-is-a-package",link:"#what-is-a-package",children:[]},{level:2,title:"Download a Package",slug:"download-a-package",link:"#download-a-package",children:[]},{level:2,title:"Using a Package",slug:"using-a-package",link:"#using-a-package",children:[]}],path:"/docs/Basics/NPM.html",pathLocale:"/",extraFields:[]},{title:"Basics",headers:[],path:"/docs/Basics/",pathLocale:"/",extraFields:[]},{title:"URL Module",headers:[{level:2,title:"The Built-in URL Module",slug:"the-built-in-url-module",link:"#the-built-in-url-module",children:[{level:3,title:"Node.js File Server",slug:"node-js-file-server",link:"#node-js-file-server",children:[]}]}],path:"/docs/Basics/URL%20Module.html",pathLocale:"/",extraFields:[]},{title:"Upload Files",headers:[{level:2,title:"The Formidable Module",slug:"the-formidable-module",link:"#the-formidable-module",children:[{level:3,title:"Upload Files",slug:"upload-files",link:"#upload-files",children:[]}]}],path:"/docs/Basics/Upload%20Files.html",pathLocale:"/",extraFields:[]},{title:"Create Database",headers:[],path:"/docs/MySQL/Create%20Database.html",pathLocale:"/",extraFields:[]},{title:"Create Table",headers:[],path:"/docs/MySQL/Create%20Table.html",pathLocale:"/",extraFields:[]},{title:"Delete",headers:[],path:"/docs/MySQL/Delete.html",pathLocale:"/",extraFields:[]},{title:"Drop Table",headers:[],path:"/docs/MySQL/Drop%20Table.html",pathLocale:"/",extraFields:[]},{title:"Insert Into",headers:[],path:"/docs/MySQL/Insert%20Into.html",pathLocale:"/",extraFields:[]},{title:"Join",headers:[],path:"/docs/MySQL/Join.html",pathLocale:"/",extraFields:[]},{title:"Limit",headers:[],path:"/docs/MySQL/Limit.html",pathLocale:"/",extraFields:[]},{title:"Order By",headers:[],path:"/docs/MySQL/Order%20By.html",pathLocale:"/",extraFields:[]},{title:"MySQL",headers:[],path:"/docs/MySQL/",pathLocale:"/",extraFields:[]},{title:"Select From",headers:[],path:"/docs/MySQL/Select%20From.html",pathLocale:"/",extraFields:[]},{title:"Update",headers:[],path:"/docs/MySQL/Update.html",pathLocale:"/",extraFields:[]},{title:"Where",headers:[],path:"/docs/MySQL/Where.html",pathLocale:"/",extraFields:[]},{title:"Install MySQL",headers:[],path:"/docs/MySQL/install_MySQL.html",pathLocale:"/",extraFields:[]},{title:"",headers:[],path:"/404.html",pathLocale:"/",extraFields:[]}],V2=X(j2),z2=()=>V2,U2=({searchIndex:e,routeLocale:t,query:n,maxSuggestions:r})=>{const o=S(()=>e.value.filter(l=>l.pathLocale===t.value));return S(()=>{const l=n.value.trim().toLowerCase();if(!l)return[];const s=[],a=(i,c)=>{ga(l,[c.title])&&s.push({link:`${i.path}#${c.slug}`,title:i.title,header:c.title});for(const f of c.children){if(s.length>=r.value)return;a(i,f)}};for(const i of o.value){if(s.length>=r.value)break;if(ga(l,[i.title,...i.extraFields])){s.push({link:i.path,title:i.title});continue}for(const c of i.headers){if(s.length>=r.value)break;a(i,c)}}return s})},W2=e=>{const t=X(0);return{focusIndex:t,focusNext:()=>{t.value{t.value>0?t.value-=1:t.value=e.value.length-1}}},G2=z({name:"SearchBox",props:{locales:{type:Object,default:()=>({})},hotKeys:{type:Array,default:()=>[]},maxSuggestions:{type:Number,default:5}},setup(e){const{locales:t,hotKeys:n,maxSuggestions:r}=zu(e),o=en(),l=tn(),s=z2(),a=X(null),i=X(!1),c=X(""),f=S(()=>t.value[l.value]??{}),d=U2({searchIndex:s,routeLocale:l,query:c,maxSuggestions:r}),{focusIndex:p,focusNext:m,focusPrev:g}=W2(d);H2({input:a,hotKeys:n});const E=S(()=>i.value&&!!d.value.length),_=()=>{E.value&&g()},b=()=>{E.value&&m()},C=y=>{if(!E.value)return;const k=d.value[y];k&&o.push(k.link).then(()=>{c.value="",p.value=0})};return()=>u("form",{class:"search-box",role:"search"},[u("input",{ref:a,type:"search",placeholder:f.value.placeholder,autocomplete:"off",spellcheck:!1,value:c.value,onFocus:()=>i.value=!0,onBlur:()=>i.value=!1,onInput:y=>c.value=y.target.value,onKeydown:y=>{switch(y.key){case"ArrowUp":{_();break}case"ArrowDown":{b();break}case"Enter":{y.preventDefault(),C(p.value);break}}}}),E.value&&u("ul",{class:"suggestions",onMouseleave:()=>p.value=-1},d.value.map(({link:y,title:k,header:O},L)=>u("li",{class:["suggestion",{focus:p.value===L}],onMouseenter:()=>p.value=L,onMousedown:()=>C(L)},u("a",{href:y,onClick:D=>D.preventDefault()},[u("span",{class:"page-title"},k),O&&u("span",{class:"page-header"},`> ${O}`)]))))])}});var q2=["s","/"],K2={};const Q2=K2,Y2=q2,J2=5,X2=qe({enhance({app:e}){e.component("SearchBox",t=>u(G2,{locales:Q2,hotKeys:Y2,maxSuggestions:J2,...t}))}}),Z2=()=>{Ie("beforeprint",()=>{document.querySelectorAll("details").forEach(e=>{e.open=!0})})},e3=qe({enhance:({app:e})=>{},setup:()=>{Z2()}}),t3={},Pr=[ap,Up,Yp,nh,lh,ch,ph,yh,kh,Nh,Jh,D2,X2,e3,t3],n3=JSON.parse('{"base":"/","lang":"en-US","title":"Node.js Docs","description":"A docs demo for vuepress-theme-hope","head":[["link",{"rel":"icon","href":"/assets/icon/node.png"}]],"locales":{}}');var Mn=Ge(n3),r3=k1,o3=()=>{const e=J1({history:r3(Sl("/")),routes:[{name:"vuepress-route",path:"/:catchAll(.*)",components:{}}],scrollBehavior:(t,n,r)=>r||(t.hash?{el:t.hash}:{top:0})});return e.beforeResolve(async(t,n)=>{if(t.path!==n.path||n===yt){const r=Bt(t.path);if(r.path!==t.path)return r.path;const o=await r.loader();t.meta={...r.meta,_pageChunk:o}}else t.path===n.path&&(t.meta=n.meta)}),e},l3=e=>{e.component("ClientOnly",to),e.component("Content",Fi),e.component("RouteLink",He)},s3=(e,t,n)=>{const r=S(()=>t.currentRoute.value.path),o=vl((_,b)=>({get(){return _(),t.currentRoute.value.meta._pageChunk},set(C){t.currentRoute.value.meta._pageChunk=C,b()}})),l=S(()=>zt.resolveLayouts(n)),s=S(()=>zt.resolveRouteLocale(Mn.value.locales,r.value)),a=S(()=>zt.resolveSiteLocaleData(Mn.value,s.value)),i=S(()=>o.value.comp),c=S(()=>o.value.data),f=S(()=>c.value.frontmatter),d=S(()=>zt.resolvePageHeadTitle(c.value,a.value)),p=S(()=>zt.resolvePageHead(d.value,f.value,a.value)),m=S(()=>zt.resolvePageLang(c.value,a.value)),g=S(()=>zt.resolvePageLayout(c.value,l.value)),E={layouts:l,pageData:c,pageComponent:i,pageFrontmatter:f,pageHead:p,pageHeadTitle:d,pageLang:m,pageLayout:g,redirects:Uo,routeLocale:s,routePath:r,routes:Jn,siteData:Mn,siteLocaleData:a};return e.provide(xl,E),Object.defineProperties(e.config.globalProperties,{$frontmatter:{get:()=>f.value},$head:{get:()=>p.value},$headTitle:{get:()=>d.value},$lang:{get:()=>m.value},$page:{get:()=>c.value},$routeLocale:{get:()=>s.value},$site:{get:()=>Mn.value},$siteLocale:{get:()=>a.value},$withBase:{get:()=>Fe}}),E},a3=()=>{const e=ep(),t=Al();let n=[];const r=()=>{e.value.forEach(s=>{const a=i3(s);a&&n.push(a)})},o=()=>{const s=[];return e.value.forEach(a=>{const i=c3(a);i&&s.push(i)}),s},l=()=>{document.documentElement.lang=t.value;const s=o();n.forEach((a,i)=>{const c=s.findIndex(f=>a.isEqualNode(f));c===-1?(a.remove(),delete n[i]):s.splice(c,1)}),s.forEach(a=>document.head.appendChild(a)),n=[...n.filter(a=>!!a),...s]};gn(rp,l),ye(()=>{r(),ce(e,l,{immediate:!1})})},i3=([e,t,n=""])=>{const r=Object.entries(t).map(([a,i])=>ve(i)?`[${a}=${JSON.stringify(i)}]`:i===!0?`[${a}]`:"").join(""),o=`head > ${e}${r}`;return Array.from(document.querySelectorAll(o)).find(a=>a.innerText===n)||null},c3=([e,t,n])=>{if(!ve(e))return null;const r=document.createElement(e);return ur(t)&&Object.entries(t).forEach(([o,l])=>{ve(l)?r.setAttribute(o,l):l===!0&&r.setAttribute(o,"")}),ve(n)&&r.appendChild(document.createTextNode(n)),r},u3=Dd,f3=async()=>{var n;const e=u3({name:"Vuepress",setup(){var l;a3();for(const s of Pr)(l=s.setup)==null||l.call(s);const r=Pr.flatMap(({rootComponents:s=[]})=>s.map(a=>u(a))),o=tp();return()=>[u(o.value),r]}}),t=o3();l3(e),s3(e,t,Pr);for(const r of Pr)await((n=r.enhance)==null?void 0:n.call(r,{app:e,router:t,siteData:Mn}));return e.use(t),{app:e,router:t}};f3().then(({app:e,router:t})=>{t.isReady().then(()=>{e.mount("#app")})});export{h3 as a,fi as b,p3 as c,f3 as createVueApp,di as d,Se as e,d3 as o,ft as r,Xu as w}; diff --git a/docs/.vuepress/dist/assets/giscus-7BMGhbDA.js b/docs/.vuepress/dist/assets/giscus-7BMGhbDA.js new file mode 100644 index 0000000..db345b1 --- /dev/null +++ b/docs/.vuepress/dist/assets/giscus-7BMGhbDA.js @@ -0,0 +1,66 @@ +/** + * @license + * Copyright 2019 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const H=globalThis,V=H.ShadowRoot&&(H.ShadyCSS===void 0||H.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,q=Symbol(),J=new WeakMap;let ot=class{constructor(t,e,s){if(this._$cssResult$=!0,s!==q)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(V&&t===void 0){const s=e!==void 0&&e.length===1;s&&(t=J.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),s&&J.set(e,t))}return t}toString(){return this.cssText}};const ut=i=>new ot(typeof i=="string"?i:i+"",void 0,q),$t=(i,...t)=>{const e=i.length===1?i[0]:t.reduce((s,r,o)=>s+(n=>{if(n._$cssResult$===!0)return n.cssText;if(typeof n=="number")return n;throw Error("Value passed to 'css' function must be a 'css' function result: "+n+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(r)+i[o+1],i[0]);return new ot(e,i,q)},_t=(i,t)=>{if(V)i.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(const e of t){const s=document.createElement("style"),r=H.litNonce;r!==void 0&&s.setAttribute("nonce",r),s.textContent=e.cssText,i.appendChild(s)}},F=V?i=>i:i=>i instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return ut(e)})(i):i;/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const{is:gt,defineProperty:ft,getOwnPropertyDescriptor:mt,getOwnPropertyNames:At,getOwnPropertySymbols:yt,getPrototypeOf:St}=Object,A=globalThis,Q=A.trustedTypes,vt=Q?Q.emptyScript:"",Y=A.reactiveElementPolyfillSupport,U=(i,t)=>i,L={toAttribute(i,t){switch(t){case Boolean:i=i?vt:null;break;case Object:case Array:i=i==null?i:JSON.stringify(i)}return i},fromAttribute(i,t){let e=i;switch(t){case Boolean:e=i!==null;break;case Number:e=i===null?null:Number(i);break;case Object:case Array:try{e=JSON.parse(i)}catch{e=null}}return e}},K=(i,t)=>!gt(i,t),Z={attribute:!0,type:String,converter:L,reflect:!1,hasChanged:K};Symbol.metadata??(Symbol.metadata=Symbol("metadata")),A.litPropertyMetadata??(A.litPropertyMetadata=new WeakMap);class E extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??(this.l=[])).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=Z){if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(t,e),!e.noAccessor){const s=Symbol(),r=this.getPropertyDescriptor(t,s,e);r!==void 0&&ft(this.prototype,t,r)}}static getPropertyDescriptor(t,e,s){const{get:r,set:o}=mt(this.prototype,t)??{get(){return this[e]},set(n){this[e]=n}};return{get(){return r==null?void 0:r.call(this)},set(n){const a=r==null?void 0:r.call(this);o.call(this,n),this.requestUpdate(t,a,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??Z}static _$Ei(){if(this.hasOwnProperty(U("elementProperties")))return;const t=St(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(U("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(U("properties"))){const e=this.properties,s=[...At(e),...yt(e)];for(const r of s)this.createProperty(r,e[r])}const t=this[Symbol.metadata];if(t!==null){const e=litPropertyMetadata.get(t);if(e!==void 0)for(const[s,r]of e)this.elementProperties.set(s,r)}this._$Eh=new Map;for(const[e,s]of this.elementProperties){const r=this._$Eu(e,s);r!==void 0&&this._$Eh.set(r,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const s=new Set(t.flat(1/0).reverse());for(const r of s)e.unshift(F(r))}else t!==void 0&&e.push(F(t));return e}static _$Eu(t,e){const s=e.attribute;return s===!1?void 0:typeof s=="string"?s:typeof t=="string"?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){var t;this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),(t=this.constructor.l)==null||t.forEach(e=>e(this))}addController(t){var e;(this._$EO??(this._$EO=new Set)).add(t),this.renderRoot!==void 0&&this.isConnected&&((e=t.hostConnected)==null||e.call(t))}removeController(t){var e;(e=this._$EO)==null||e.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const s of e.keys())this.hasOwnProperty(s)&&(t.set(s,this[s]),delete this[s]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return _t(t,this.constructor.elementStyles),t}connectedCallback(){var t;this.renderRoot??(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(t=this._$EO)==null||t.forEach(e=>{var s;return(s=e.hostConnected)==null?void 0:s.call(e)})}enableUpdating(t){}disconnectedCallback(){var t;(t=this._$EO)==null||t.forEach(e=>{var s;return(s=e.hostDisconnected)==null?void 0:s.call(e)})}attributeChangedCallback(t,e,s){this._$AK(t,s)}_$EC(t,e){var o;const s=this.constructor.elementProperties.get(t),r=this.constructor._$Eu(t,s);if(r!==void 0&&s.reflect===!0){const n=(((o=s.converter)==null?void 0:o.toAttribute)!==void 0?s.converter:L).toAttribute(e,s.type);this._$Em=t,n==null?this.removeAttribute(r):this.setAttribute(r,n),this._$Em=null}}_$AK(t,e){var o;const s=this.constructor,r=s._$Eh.get(t);if(r!==void 0&&this._$Em!==r){const n=s.getPropertyOptions(r),a=typeof n.converter=="function"?{fromAttribute:n.converter}:((o=n.converter)==null?void 0:o.fromAttribute)!==void 0?n.converter:L;this._$Em=r,this[r]=a.fromAttribute(e,n.type),this._$Em=null}}requestUpdate(t,e,s){if(t!==void 0){if(s??(s=this.constructor.getPropertyOptions(t)),!(s.hasChanged??K)(this[t],e))return;this.P(t,e,s)}this.isUpdatePending===!1&&(this._$ES=this._$ET())}P(t,e,s){this._$AL.has(t)||this._$AL.set(t,e),s.reflect===!0&&this._$Em!==t&&(this._$Ej??(this._$Ej=new Set)).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}const t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var s;if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??(this.renderRoot=this.createRenderRoot()),this._$Ep){for(const[o,n]of this._$Ep)this[o]=n;this._$Ep=void 0}const r=this.constructor.elementProperties;if(r.size>0)for(const[o,n]of r)n.wrapped!==!0||this._$AL.has(o)||this[o]===void 0||this.P(o,this[o],n)}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),(s=this._$EO)==null||s.forEach(r=>{var o;return(o=r.hostUpdate)==null?void 0:o.call(r)}),this.update(e)):this._$EU()}catch(r){throw t=!1,this._$EU(),r}t&&this._$AE(e)}willUpdate(t){}_$AE(t){var e;(e=this._$EO)==null||e.forEach(s=>{var r;return(r=s.hostUpdated)==null?void 0:r.call(s)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&(this._$Ej=this._$Ej.forEach(e=>this._$EC(e,this[e]))),this._$EU()}updated(t){}firstUpdated(t){}}E.elementStyles=[],E.shadowRootOptions={mode:"open"},E[U("elementProperties")]=new Map,E[U("finalized")]=new Map,Y==null||Y({ReactiveElement:E}),(A.reactiveElementVersions??(A.reactiveElementVersions=[])).push("2.0.4");/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const P=globalThis,k=P.trustedTypes,X=k?k.createPolicy("lit-html",{createHTML:i=>i}):void 0,ht="$lit$",m=`lit$${(Math.random()+"").slice(9)}$`,at="?"+m,Et=`<${at}>`,v=document,N=()=>v.createComment(""),R=i=>i===null||typeof i!="object"&&typeof i!="function",ct=Array.isArray,bt=i=>ct(i)||typeof(i==null?void 0:i[Symbol.iterator])=="function",j=`[ +\f\r]`,w=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,tt=/-->/g,et=/>/g,y=RegExp(`>|${j}(?:([^\\s"'>=/]+)(${j}*=${j}*(?:[^ +\f\r"'\`<>=]|("|')|))|$)`,"g"),st=/'/g,it=/"/g,lt=/^(?:script|style|textarea|title)$/i,Ct=i=>(t,...e)=>({_$litType$:i,strings:t,values:e}),wt=Ct(1),b=Symbol.for("lit-noChange"),l=Symbol.for("lit-nothing"),rt=new WeakMap,S=v.createTreeWalker(v,129);function dt(i,t){if(!Array.isArray(i)||!i.hasOwnProperty("raw"))throw Error("invalid template strings array");return X!==void 0?X.createHTML(t):t}const Ut=(i,t)=>{const e=i.length-1,s=[];let r,o=t===2?"":"",n=w;for(let a=0;a"?(n=r??w,c=-1):u[1]===void 0?c=-2:(c=n.lastIndex-u[2].length,d=u[1],n=u[3]===void 0?y:u[3]==='"'?it:st):n===it||n===st?n=y:n===tt||n===et?n=w:(n=y,r=void 0);const f=n===y&&i[a+1].startsWith("/>")?" ":"";o+=n===w?h+Et:c>=0?(s.push(d),h.slice(0,c)+ht+h.slice(c)+m+f):h+m+(c===-2?a:f)}return[dt(i,o+(i[e]||"")+(t===2?"":"")),s]};class I{constructor({strings:t,_$litType$:e},s){let r;this.parts=[];let o=0,n=0;const a=t.length-1,h=this.parts,[d,u]=Ut(t,e);if(this.el=I.createElement(d,s),S.currentNode=this.el.content,e===2){const c=this.el.content.firstChild;c.replaceWith(...c.childNodes)}for(;(r=S.nextNode())!==null&&h.length0){r.textContent=k?k.emptyScript:"";for(let f=0;f2||s[0]!==""||s[1]!==""?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=l}_$AI(t,e=this,s,r){const o=this.strings;let n=!1;if(o===void 0)t=C(this,t,e,0),n=!R(t)||t!==this._$AH&&t!==b,n&&(this._$AH=t);else{const a=t;let h,d;for(t=o[0],h=0;h{const s=(e==null?void 0:e.renderBefore)??t;let r=s._$litPart$;if(r===void 0){const o=(e==null?void 0:e.renderBefore)??null;s._$litPart$=r=new M(t.insertBefore(N(),o),o,void 0,e??{})}return r._$AI(i),r};/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */let T=class extends E{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var e;const t=super.createRenderRoot();return(e=this.renderOptions).renderBefore??(e.renderBefore=t.firstChild),t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=It(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),(t=this._$Do)==null||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),(t=this._$Do)==null||t.setConnected(!1)}render(){return b}};var nt;T._$litElement$=!0,T.finalized=!0,(nt=globalThis.litElementHydrateSupport)==null||nt.call(globalThis,{LitElement:T});const G=globalThis.litElementPolyfillSupport;G==null||G({LitElement:T});(globalThis.litElementVersions??(globalThis.litElementVersions=[])).push("4.0.4");/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const Mt=i=>(t,e)=>{e!==void 0?e.addInitializer(()=>{customElements.define(i,t)}):customElements.define(i,t)};/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const xt={attribute:!0,type:String,converter:L,reflect:!1,hasChanged:K},Ht=(i=xt,t,e)=>{const{kind:s,metadata:r}=e;let o=globalThis.litPropertyMetadata.get(r);if(o===void 0&&globalThis.litPropertyMetadata.set(r,o=new Map),o.set(e.name,i),s==="accessor"){const{name:n}=e;return{set(a){const h=t.get.call(this);t.set.call(this,a),this.requestUpdate(n,h,i)},init(a){return a!==void 0&&this.P(n,void 0,i),a}}}if(s==="setter"){const{name:n}=e;return function(a){const h=this[n];t.call(this,a),this.requestUpdate(n,h,i)}}throw Error("Unsupported decorator location: "+s)};function _(i){return(t,e)=>typeof e=="object"?Ht(i,t,e):((s,r,o)=>{const n=r.hasOwnProperty(o);return r.constructor.createProperty(o,n?{...s,wrapped:!0}:s),n?Object.getOwnPropertyDescriptor(r,o):void 0})(i,t,e)}/** + * @license + * Copyright 2020 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const Lt=i=>i.strings===void 0;/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const kt={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},Dt=i=>(...t)=>({_$litDirective$:i,values:t});let zt=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,s){this._$Ct=t,this._$AM=e,this._$Ci=s}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const O=(i,t)=>{var s;const e=i._$AN;if(e===void 0)return!1;for(const r of e)(s=r._$AO)==null||s.call(r,t,!1),O(r,t);return!0},D=i=>{let t,e;do{if((t=i._$AM)===void 0)break;e=t._$AN,e.delete(i),i=t}while((e==null?void 0:e.size)===0)},pt=i=>{for(let t;t=i._$AM;i=t){let e=t._$AN;if(e===void 0)t._$AN=e=new Set;else if(e.has(i))break;e.add(i),Bt(t)}};function Yt(i){this._$AN!==void 0?(D(this),this._$AM=i,pt(this)):this._$AM=i}function jt(i,t=!1,e=0){const s=this._$AH,r=this._$AN;if(r!==void 0&&r.size!==0)if(t)if(Array.isArray(s))for(let o=e;o{i.type==kt.CHILD&&(i._$AP??(i._$AP=jt),i._$AQ??(i._$AQ=Yt))};class Gt extends zt{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,s){super._$AT(t,e,s),pt(this),this.isConnected=t._$AU}_$AO(t,e=!0){var s,r;t!==this.isConnected&&(this.isConnected=t,t?(s=this.reconnected)==null||s.call(this):(r=this.disconnected)==null||r.call(this)),e&&(O(this,t),D(this))}setValue(t){if(Lt(this._$Ct))this._$Ct._$AI(t,this);else{const e=[...this._$Ct._$AH];e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}disconnected(){}reconnected(){}}/** + * @license + * Copyright 2020 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const Wt=()=>new Vt;class Vt{}const W=new WeakMap,qt=Dt(class extends Gt{render(i){return l}update(i,[t]){var s;const e=t!==this.Y;return e&&this.Y!==void 0&&this.rt(void 0),(e||this.lt!==this.ct)&&(this.Y=t,this.ht=(s=i.options)==null?void 0:s.host,this.rt(this.ct=i.element)),l}rt(i){if(typeof this.Y=="function"){const t=this.ht??globalThis;let e=W.get(t);e===void 0&&(e=new WeakMap,W.set(t,e)),e.get(this.Y)!==void 0&&this.Y.call(this.ht,void 0),e.set(this.Y,i),i!==void 0&&this.Y.call(this.ht,i)}else this.Y.value=i}get lt(){var i,t;return typeof this.Y=="function"?(i=W.get(this.ht??globalThis))==null?void 0:i.get(this.Y):(t=this.Y)==null?void 0:t.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});var Kt=Object.defineProperty,Jt=Object.getOwnPropertyDescriptor,$=(i,t,e,s)=>{for(var r=s>1?void 0:s?Jt(t,e):t,o=i.length-1,n;o>=0;o--)(n=i[o])&&(r=(s?n(t,e,r):n(r))||r);return s&&r&&Kt(t,e,r),r};function Ft(i){return customElements.get(i)?t=>t:Mt(i)}let p=class extends T{constructor(){super(),this.GISCUS_SESSION_KEY="giscus-session",this.GISCUS_DEFAULT_HOST="https://giscus.app",this.ERROR_SUGGESTION="Please consider reporting this error at https://github.com/giscus/giscus/issues/new.",this.__session="",this._iframeRef=Wt(),this.messageEventHandler=this.handleMessageEvent.bind(this),this.hasLoaded=!1,this.host=this.GISCUS_DEFAULT_HOST,this.strict="0",this.reactionsEnabled="1",this.emitMetadata="0",this.inputPosition="bottom",this.theme="light",this.lang="en",this.loading="eager",this.setupSession(),window.addEventListener("message",this.messageEventHandler)}get iframeRef(){var i;return(i=this._iframeRef)==null?void 0:i.value}get _host(){try{return new URL(this.host),this.host}catch{return this.GISCUS_DEFAULT_HOST}}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("message",this.messageEventHandler)}_formatError(i){return`[giscus] An error occurred. Error message: "${i}".`}setupSession(){const i=location.href,t=new URL(i),e=localStorage.getItem(this.GISCUS_SESSION_KEY),s=t.searchParams.get("giscus")??"";if(this.__session="",s){localStorage.setItem(this.GISCUS_SESSION_KEY,JSON.stringify(s)),this.__session=s,t.searchParams.delete("giscus"),t.hash="",history.replaceState(void 0,document.title,t.toString());return}if(e)try{this.__session=JSON.parse(e)}catch(r){localStorage.removeItem(this.GISCUS_SESSION_KEY),console.warn(`${this._formatError(r==null?void 0:r.message)} Session has been cleared.`)}}signOut(){localStorage.removeItem(this.GISCUS_SESSION_KEY),this.__session="",this.update(new Map)}handleMessageEvent(i){if(i.origin!==this._host)return;const{data:t}=i;if(!(typeof t=="object"&&t.giscus))return;if(this.iframeRef&&t.giscus.resizeHeight&&(this.iframeRef.style.height=`${t.giscus.resizeHeight}px`),t.giscus.signOut){console.info("[giscus] User has logged out. Session has been cleared."),this.signOut();return}if(!t.giscus.error)return;const e=t.giscus.error;if(e.includes("Bad credentials")||e.includes("Invalid state value")||e.includes("State has expired")){if(localStorage.getItem(this.GISCUS_SESSION_KEY)!==null){console.warn(`${this._formatError(e)} Session has been cleared.`),this.signOut();return}console.error(`${this._formatError(e)} No session is stored initially. ${this.ERROR_SUGGESTION}`)}if(e.includes("Discussion not found")){console.warn(`[giscus] ${e}. A new discussion will be created if a comment/reaction is submitted.`);return}console.error(`${this._formatError(e)} ${this.ERROR_SUGGESTION}`)}sendMessage(i){var t;!((t=this.iframeRef)!=null&&t.contentWindow)||!this.hasLoaded||this.iframeRef.contentWindow.postMessage({giscus:i},this._host)}updateConfig(){const i={setConfig:{repo:this.repo,repoId:this.repoId,category:this.category,categoryId:this.categoryId,term:this.getTerm(),number:+this.getNumber(),strict:this.strict==="1",reactionsEnabled:this.reactionsEnabled==="1",emitMetadata:this.emitMetadata==="1",inputPosition:this.inputPosition,theme:this.theme,lang:this.lang}};this.sendMessage(i)}firstUpdated(){var i;(i=this.iframeRef)==null||i.addEventListener("load",()=>{var t;(t=this.iframeRef)==null||t.classList.remove("loading"),this.hasLoaded=!0,this.updateConfig()})}requestUpdate(i,t,e){if(!this.hasUpdated||i==="host"){super.requestUpdate(i,t,e);return}this.updateConfig()}getMetaContent(i,t=!1){const e=t?`meta[property='og:${i}'],`:"",s=document.querySelector(e+`meta[name='${i}']`);return s?s.content:""}_getCleanedUrl(){const i=new URL(location.href);return i.searchParams.delete("giscus"),i.hash="",i}getTerm(){switch(this.mapping){case"url":return this._getCleanedUrl().toString();case"title":return document.title;case"og:title":return this.getMetaContent("title",!0);case"specific":return this.term??"";case"number":return"";case"pathname":default:return location.pathname.length<2?"index":location.pathname.substring(1).replace(/\.\w+$/,"")}}getNumber(){return this.mapping==="number"?this.term??"":""}getIframeSrc(){const i=this._getCleanedUrl().toString(),t=`${i}${this.id?"#"+this.id:""}`,e=this.getMetaContent("description",!0),s=this.getMetaContent("giscus:backlink")||i,r={origin:t,session:this.__session,repo:this.repo,repoId:this.repoId??"",category:this.category??"",categoryId:this.categoryId??"",term:this.getTerm(),number:this.getNumber(),strict:this.strict,reactionsEnabled:this.reactionsEnabled,emitMetadata:this.emitMetadata,inputPosition:this.inputPosition,theme:this.theme,description:e,backLink:s},o=this._host,n=this.lang?`/${this.lang}`:"",a=new URLSearchParams(r);return`${o}${n}/widget?${a.toString()}`}render(){return wt` + + `}};p.styles=$t` + :host, + iframe { + width: 100%; + border: none; + min-height: 150px; + color-scheme: light dark; + } + + iframe.loading { + opacity: 0; + } + `;$([_({reflect:!0})],p.prototype,"host",2);$([_({reflect:!0})],p.prototype,"repo",2);$([_({reflect:!0})],p.prototype,"repoId",2);$([_({reflect:!0})],p.prototype,"category",2);$([_({reflect:!0})],p.prototype,"categoryId",2);$([_({reflect:!0})],p.prototype,"mapping",2);$([_({reflect:!0})],p.prototype,"term",2);$([_({reflect:!0})],p.prototype,"strict",2);$([_({reflect:!0})],p.prototype,"reactionsEnabled",2);$([_({reflect:!0})],p.prototype,"emitMetadata",2);$([_({reflect:!0})],p.prototype,"inputPosition",2);$([_({reflect:!0})],p.prototype,"theme",2);$([_({reflect:!0})],p.prototype,"lang",2);$([_({reflect:!0})],p.prototype,"loading",2);p=$([Ft("giscus-widget")],p);export{p as GiscusWidget}; diff --git a/docs/.vuepress/dist/assets/icon/apple-icon-152.png b/docs/.vuepress/dist/assets/icon/apple-icon-152.png new file mode 100644 index 0000000..434fcc3 Binary files /dev/null and b/docs/.vuepress/dist/assets/icon/apple-icon-152.png differ diff --git a/docs/.vuepress/dist/assets/icon/chrome-192.png b/docs/.vuepress/dist/assets/icon/chrome-192.png new file mode 100644 index 0000000..6645f52 Binary files /dev/null and b/docs/.vuepress/dist/assets/icon/chrome-192.png differ diff --git a/docs/.vuepress/dist/assets/icon/chrome-512.png b/docs/.vuepress/dist/assets/icon/chrome-512.png new file mode 100644 index 0000000..a146f00 Binary files /dev/null and b/docs/.vuepress/dist/assets/icon/chrome-512.png differ diff --git a/docs/.vuepress/dist/assets/icon/chrome-mask-192.png b/docs/.vuepress/dist/assets/icon/chrome-mask-192.png new file mode 100644 index 0000000..530977a Binary files /dev/null and b/docs/.vuepress/dist/assets/icon/chrome-mask-192.png differ diff --git a/docs/.vuepress/dist/assets/icon/chrome-mask-512.png b/docs/.vuepress/dist/assets/icon/chrome-mask-512.png new file mode 100644 index 0000000..a4f90ae Binary files /dev/null and b/docs/.vuepress/dist/assets/icon/chrome-mask-512.png differ diff --git a/docs/.vuepress/dist/assets/icon/guide-maskable.png b/docs/.vuepress/dist/assets/icon/guide-maskable.png new file mode 100644 index 0000000..75449b6 Binary files /dev/null and b/docs/.vuepress/dist/assets/icon/guide-maskable.png differ diff --git a/docs/.vuepress/dist/assets/icon/ms-icon-144.png b/docs/.vuepress/dist/assets/icon/ms-icon-144.png new file mode 100644 index 0000000..2464124 Binary files /dev/null and b/docs/.vuepress/dist/assets/icon/ms-icon-144.png differ diff --git a/docs/.vuepress/dist/assets/icon/node.png b/docs/.vuepress/dist/assets/icon/node.png new file mode 100644 index 0000000..ac63434 Binary files /dev/null and b/docs/.vuepress/dist/assets/icon/node.png differ diff --git a/docs/.vuepress/dist/assets/icon/npm.svg b/docs/.vuepress/dist/assets/icon/npm.svg new file mode 100644 index 0000000..bf4fa7a --- /dev/null +++ b/docs/.vuepress/dist/assets/icon/npm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/.vuepress/dist/assets/icon/raspberry-pi.svg b/docs/.vuepress/dist/assets/icon/raspberry-pi.svg new file mode 100644 index 0000000..29c47d5 --- /dev/null +++ b/docs/.vuepress/dist/assets/icon/raspberry-pi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/.vuepress/dist/assets/image/advanced.svg b/docs/.vuepress/dist/assets/image/advanced.svg new file mode 100644 index 0000000..c27ede5 --- /dev/null +++ b/docs/.vuepress/dist/assets/image/advanced.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/.vuepress/dist/assets/image/blog.svg b/docs/.vuepress/dist/assets/image/blog.svg new file mode 100644 index 0000000..00fc40d --- /dev/null +++ b/docs/.vuepress/dist/assets/image/blog.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/.vuepress/dist/assets/image/box.svg b/docs/.vuepress/dist/assets/image/box.svg new file mode 100644 index 0000000..9e6408e --- /dev/null +++ b/docs/.vuepress/dist/assets/image/box.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/.vuepress/dist/assets/image/features.svg b/docs/.vuepress/dist/assets/image/features.svg new file mode 100644 index 0000000..6d62739 --- /dev/null +++ b/docs/.vuepress/dist/assets/image/features.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/.vuepress/dist/assets/image/github-dark.svg b/docs/.vuepress/dist/assets/image/github-dark.svg new file mode 100644 index 0000000..37fa923 --- /dev/null +++ b/docs/.vuepress/dist/assets/image/github-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/.vuepress/dist/assets/image/github-light.svg b/docs/.vuepress/dist/assets/image/github-light.svg new file mode 100644 index 0000000..d5e6491 --- /dev/null +++ b/docs/.vuepress/dist/assets/image/github-light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/.vuepress/dist/assets/image/layout.svg b/docs/.vuepress/dist/assets/image/layout.svg new file mode 100644 index 0000000..da754b5 --- /dev/null +++ b/docs/.vuepress/dist/assets/image/layout.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/.vuepress/dist/assets/image/markdown.svg b/docs/.vuepress/dist/assets/image/markdown.svg new file mode 100644 index 0000000..72056c9 --- /dev/null +++ b/docs/.vuepress/dist/assets/image/markdown.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/.vuepress/dist/assets/index.html-CHeeVoIb.js b/docs/.vuepress/dist/assets/index.html-CHeeVoIb.js new file mode 100644 index 0000000..2017774 --- /dev/null +++ b/docs/.vuepress/dist/assets/index.html-CHeeVoIb.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-DxD832dz.js";const a={};function r(n,i){return t(),o("div")}const m=e(a,[["render",r],["__file","index.html.vue"]]),l=JSON.parse('{"path":"/docs/MySQL/","title":"MySQL","lang":"en-US","frontmatter":{"title":"MySQL","index":false,"icon":"database","category":["MySQL"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/MySQL/"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"MySQL"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T10:35:01.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T10:35:01.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"MySQL\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T10:35:01.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713263701000,"updatedTime":1713263701000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.03,"words":10},"filePathRelative":"docs/MySQL/README.md","localizedDate":"April 16, 2024"}');export{m as comp,l as data}; diff --git a/docs/.vuepress/dist/assets/index.html-CKiy40b5.js b/docs/.vuepress/dist/assets/index.html-CKiy40b5.js new file mode 100644 index 0000000..12e5427 --- /dev/null +++ b/docs/.vuepress/dist/assets/index.html-CKiy40b5.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-DxD832dz.js";const a={};function n(r,s){return t(),o("div")}const p=e(a,[["render",n],["__file","index.html.vue"]]),c=JSON.parse(`{"path":"/","title":"Home","lang":"en-US","frontmatter":{"home":true,"icon":"home","title":"Home","image":"/assets/image/layout.svg","bgImage":"https://theme-hope-assets.vuejs.press/bg/4-light.svg","bgImageDark":"https://theme-hope-assets.vuejs.press/bg/4-dark.svg","heroFullScreen":true,"heroImage":"/assets/icon/node.png","heroText":"Node.Js","tagline":"A comprehensive companion for understanding JavaScript's runtime environment ⚡️","actions":[{"text":"Get started","icon":"lightbulb","link":"./get-started/","type":"primary"},{"text":"Docs","link":"./docs/","icon":"book"}],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Home"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-15T15:45:15.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-15T15:45:15.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Home\\"}"]]},"headers":[],"git":{"createdTime":1713021032000,"updatedTime":1713195915000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":3}]},"readingTime":{"minutes":0.18,"words":55},"filePathRelative":"README.md","localizedDate":"April 13, 2024"}`);export{p as comp,c as data}; diff --git a/docs/.vuepress/dist/assets/index.html-CSDDPORX.js b/docs/.vuepress/dist/assets/index.html-CSDDPORX.js new file mode 100644 index 0000000..d960548 --- /dev/null +++ b/docs/.vuepress/dist/assets/index.html-CSDDPORX.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as r}from"./app-DxD832dz.js";const o={};function a(i,n){return t(),r("div")}const s=e(o,[["render",a],["__file","index.html.vue"]]),m=JSON.parse('{"path":"/docs/RaspberryPi/","title":"Raspberry Pi","lang":"en-US","frontmatter":{"title":"Raspberry Pi","index":false,"icon":"/assets/icon/raspberry-pi.svg","category":["Raspberry Pi"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/RaspberryPi/"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Raspberry Pi"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:13:01.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:13:01.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Raspberry Pi\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:13:01.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713276781000,"updatedTime":1713276781000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.04,"words":13},"filePathRelative":"docs/RaspberryPi/README.md","localizedDate":"April 16, 2024"}');export{s as comp,m as data}; diff --git a/docs/.vuepress/dist/assets/index.html-D2YYv4z_.js b/docs/.vuepress/dist/assets/index.html-D2YYv4z_.js new file mode 100644 index 0000000..68e5ca4 --- /dev/null +++ b/docs/.vuepress/dist/assets/index.html-D2YYv4z_.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-DxD832dz.js";const a={};function i(r,c){return t(),o("div")}const p=e(a,[["render",i],["__file","index.html.vue"]]),m=JSON.parse('{"path":"/docs/Basics/","title":"Basics","lang":"en-US","frontmatter":{"title":"Basics","index":false,"icon":"circle-info","category":["Basics"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/Basics/"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Basics"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T11:16:53.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T11:16:53.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Basics\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T11:16:53.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713263632000,"updatedTime":1713266213000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":2}]},"readingTime":{"minutes":0.04,"words":11},"filePathRelative":"docs/Basics/README.md","localizedDate":"April 16, 2024"}');export{p as comp,m as data}; diff --git a/docs/.vuepress/dist/assets/index.html-DCvzFz_U.js b/docs/.vuepress/dist/assets/index.html-DCvzFz_U.js new file mode 100644 index 0000000..a9ecf26 --- /dev/null +++ b/docs/.vuepress/dist/assets/index.html-DCvzFz_U.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o,c as t,a as i}from"./app-DxD832dz.js";const n={},s=i('

Welcome to the Node.js Documentation! In this comprehensive resource, you'll find detailed explanations of various Node.js concepts and functionalities. Let's explore the different sections together.

Basics

In the Basics section, you'll find essential topics that form the foundation of Node.js development. Here are some of the key topics covered:

  • File System: Learn how to perform file system operations such as reading, writing, and manipulating files using Node.js.
  • Modules: Understand how modules work in Node.js and how to create, import, and use them in your applications.
  • URL Module: Explore the URL module in Node.js, which provides utilities for URL resolution and parsing.

MongoDB

In the MongoDB section, you'll delve into MongoDB integration with Node.js. Topics include:

  • Querying: Learn how to query MongoDB databases using Node.js, including filtering, sorting, and limiting results.
  • Find Operations: Understand how to find documents in MongoDB collections using Node.js, along with advanced querying techniques.
  • Sort Operations: Explore how to sort query results in MongoDB using Node.js based on specific criteria.

MySQL

In the MySQL section, you'll find in-depth information about using MySQL with Node.js. Whether you're a beginner or an experienced developer, you'll find valuable insights into working with MySQL databases. Some of the topics covered include:

  • Creating a Database: Learn how to create a MySQL database using Node.js and set up tables to store your data.
  • Join: Understand how to perform join operations to combine data from multiple tables in MySQL using Node.js.
  • Delete: Explore how to delete records from a MySQL database using Node.js.

Raspberry Pi

In the Raspberry Pi section, you'll discover Node.js applications on Raspberry Pi. Topics include:

  • WebSockets: Learn about implementing WebSocket communication in Node.js on Raspberry Pi for real-time data exchange.
  • Blinking LED: Explore how to control GPIO pins on Raspberry Pi using Node.js to create simple hardware projects.

Get ready to level up your Node.js skills with our comprehensive documentation! 🚀

',14),a=[s];function r(l,c){return o(),t("div",null,a)}const h=e(n,[["render",r],["__file","index.html.vue"]]),u=JSON.parse(`{"path":"/docs/","title":"Docs","lang":"en-US","frontmatter":{"title":"Docs","icon":"book","index":false,"category":["Documentation"],"footer":false,"description":"Welcome to the Node.js Documentation! In this comprehensive resource, you'll find detailed explanations of various Node.js concepts and functionalities. Let's explore the differ...","head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Docs"}],["meta",{"property":"og:description","content":"Welcome to the Node.js Documentation! In this comprehensive resource, you'll find detailed explanations of various Node.js concepts and functionalities. Let's explore the differ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:14:04.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:14:04.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Docs\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:14:04.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[{"level":2,"title":"Basics","slug":"basics","link":"#basics","children":[]},{"level":2,"title":"MongoDB","slug":"mongodb","link":"#mongodb","children":[]},{"level":2,"title":"MySQL","slug":"mysql","link":"#mysql","children":[]},{"level":2,"title":"Raspberry Pi","slug":"raspberry-pi","link":"#raspberry-pi","children":[]}],"git":{"createdTime":1713192717000,"updatedTime":1713276844000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":4}]},"readingTime":{"minutes":1.12,"words":335},"filePathRelative":"docs/README.md","localizedDate":"April 15, 2024","autoDesc":true}`);export{h as comp,u as data}; diff --git a/docs/.vuepress/dist/assets/index.html-DSXb5Es6.js b/docs/.vuepress/dist/assets/index.html-DSXb5Es6.js new file mode 100644 index 0000000..2f3053d --- /dev/null +++ b/docs/.vuepress/dist/assets/index.html-DSXb5Es6.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as t,c as o}from"./app-DxD832dz.js";const n={};function a(r,i){return t(),o("div")}const m=e(n,[["render",a],["__file","index.html.vue"]]),l=JSON.parse('{"path":"/docs/MongoDB/","title":"MongoDB","lang":"en-US","frontmatter":{"title":"MongoDB","index":false,"icon":"hard-drive","category":["MongoDB"],"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/MongoDB/"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"MongoDB"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T11:16:53.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T11:16:53.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"MongoDB\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T11:16:53.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713263701000,"updatedTime":1713266213000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.04,"words":11},"filePathRelative":"docs/MongoDB/README.md","localizedDate":"April 16, 2024"}');export{m as comp,l as data}; diff --git a/docs/.vuepress/dist/assets/index.html-aaSN16OJ.js b/docs/.vuepress/dist/assets/index.html-aaSN16OJ.js new file mode 100644 index 0000000..bb51bb3 --- /dev/null +++ b/docs/.vuepress/dist/assets/index.html-aaSN16OJ.js @@ -0,0 +1,9 @@ +import{_ as l}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as i,o as p,c,b as e,d as t,e as n,w as a,a as r}from"./app-DxD832dz.js";const u={},d=e("p",null,"Hello there! 👋🏾 Welcome to the Node.js documentation! Let's get you started on how to navigate through this resource.",-1),h=e("h2",{id:"how-to-use-this-guide",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#how-to-use-this-guide"},[e("span",null,"How to Use This Guide")])],-1),m=e("h3",{id:"guides",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#guides"},[e("span",null,"Guides")])],-1),g=e("h3",{id:"docs",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#docs"},[e("span",null,"Docs")])],-1),k=e("h3",{id:"examples",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#examples"},[e("span",null,"Examples")])],-1),f=r(`
var http = require('http');
+
+http.createServer(function (req, res) {
+  res.writeHead(200, {'Content-Type': 'text/plain'});
+  res.end('Hello World!');
+}).listen(8080);
+

There are also some types of examples that you'll need to run via the command line. These examples will look like this:

console.log('This example is different!');
+console.log('The result is displayed in the Command Line Interface');
+
`,3),y={href:"https://twitter.com/nodejs",target:"_blank",rel:"noopener noreferrer"},v={href:"https://github.com/nodejs/help",target:"_blank",rel:"noopener noreferrer"};function _(w,b){const s=i("RouteLink"),o=i("ExternalLinkIcon");return p(),c("div",null,[d,h,m,e("p",null,[t("In the "),n(s,{to:"/get-started/"},{default:a(()=>[t("Get started")]),_:1}),t(" section, you'll find helpful guides to assist you in your Node.js journey. Whether you're looking to install Node.js, get started quickly with running your first application, or understand the core concepts of Node.js, you'll find everything you need here.")]),e("ul",null,[e("li",null,[e("strong",null,[n(s,{to:"/get-started/installation.html"},{default:a(()=>[t("Installation Guides")]),_:1})]),t(": Need help setting up Node.js on your system? This guide has got you covered with step-by-step instructions.")]),e("li",null,[e("strong",null,[n(s,{to:"/get-started/quick-start.html"},{default:a(()=>[t("Quick Start")]),_:1})]),t(": Dive right into coding with Node.js! This quick start guide will have you up and running with your first Node.js application in no time.")]),e("li",null,[e("strong",null,[n(s,{to:"/get-started/what-is-nodejs.html"},{default:a(()=>[t("Understanding Node.js")]),_:1})]),t(": Curious about what Node.js is and how it works? This guide provides a straightforward explanation of the core concepts behind Node.js.")])]),g,e("p",null,[t("In the "),n(s,{to:"/docs/"},{default:a(()=>[t("Docs")]),_:1}),t(" section, you'll find detailed explanations of the fundamental concepts of Node.js. Whether you're interested in learning about Node.js modules, file system operations, or events, you'll find everything you need here.")]),k,e("p",null,[t("This course is structured to help you learn Node.js by doing. Under each concept in the "),n(s,{to:"/docs/"},{default:a(()=>[t("Docs")]),_:1}),t(" section, you'll find examples that demonstrate how to apply the concepts in practice. The examples will look like this:")]),f,e("p",null,[t("And that's it! You're all set to start your Node.js journey. If you have any questions or need help, feel free to reach out to us on "),e("a",y,[t("Twitter"),n(o)]),t(" or "),e("a",v,[t("GitHub"),n(o)]),t(" - we're here to help! 🚀")])])}const N=l(u,[["render",_],["__file","index.html.vue"]]),T=JSON.parse(`{"path":"/get-started/","title":"Get started","lang":"en-US","frontmatter":{"title":"Get started","index":false,"icon":"lightbulb","category":["Getting started"],"footer":false,"description":"Hello there! 👋🏾 Welcome to the Node.js documentation! Let's get you started on how to navigate through this resource. How to Use This Guide Guides In the section, you'll find ...","head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/get-started/"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Get started"}],["meta",{"property":"og:description","content":"Hello there! 👋🏾 Welcome to the Node.js documentation! Let's get you started on how to navigate through this resource. How to Use This Guide Guides In the section, you'll find ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-15T20:12:13.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-15T20:12:13.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Get started\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-15T20:12:13.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[{"level":2,"title":"How to Use This Guide","slug":"how-to-use-this-guide","link":"#how-to-use-this-guide","children":[{"level":3,"title":"Guides","slug":"guides","link":"#guides","children":[]},{"level":3,"title":"Docs","slug":"docs","link":"#docs","children":[]},{"level":3,"title":"Examples","slug":"examples","link":"#examples","children":[]}]}],"git":{"createdTime":1713192717000,"updatedTime":1713211933000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":2}]},"readingTime":{"minutes":1.12,"words":337},"filePathRelative":"get-started/README.md","localizedDate":"April 15, 2024","autoDesc":true}`);export{N as comp,T as data}; diff --git a/docs/.vuepress/dist/assets/install_MongoDB.html-BthISxJl.js b/docs/.vuepress/dist/assets/install_MongoDB.html-BthISxJl.js new file mode 100644 index 0000000..8c9b545 --- /dev/null +++ b/docs/.vuepress/dist/assets/install_MongoDB.html-BthISxJl.js @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as e,c as o}from"./app-DxD832dz.js";const n={};function a(r,l){return e(),o("div")}const s=t(n,[["render",a],["__file","install_MongoDB.html.vue"]]),p=JSON.parse('{"path":"/docs/MongoDB/install_MongoDB.html","title":"Install MongoDB","lang":"en-US","frontmatter":{"title":"Install MongoDB","index":true,"icon":"download","category":["Docs-MongoDB"],"order":2,"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/MongoDB/install_MongoDB.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Install MongoDB"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:13:30.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:13:30.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Install MongoDB\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:13:30.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713276781000,"updatedTime":1713276810000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.05,"words":14},"filePathRelative":"docs/MongoDB/install_MongoDB.md","localizedDate":"April 16, 2024"}');export{s as comp,p as data}; diff --git a/docs/.vuepress/dist/assets/install_MySQL.html-CyjyKr3R.js b/docs/.vuepress/dist/assets/install_MySQL.html-CyjyKr3R.js new file mode 100644 index 0000000..0fdff31 --- /dev/null +++ b/docs/.vuepress/dist/assets/install_MySQL.html-CyjyKr3R.js @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{o as e,c as o}from"./app-DxD832dz.js";const a={};function n(r,l){return e(),o("div")}const s=t(a,[["render",n],["__file","install_MySQL.html.vue"]]),p=JSON.parse('{"path":"/docs/MySQL/install_MySQL.html","title":"Install MySQL","lang":"en-US","frontmatter":{"title":"Install MySQL","index":true,"icon":"download","category":["Docs-MySQL"],"order":2,"footer":false,"head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/docs/MySQL/install_MySQL.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Install MySQL"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-16T14:14:27.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-16T14:14:27.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Install MySQL\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-16T14:14:27.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[],"git":{"createdTime":1713276781000,"updatedTime":1713276867000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":1}]},"readingTime":{"minutes":0.05,"words":14},"filePathRelative":"docs/MySQL/install_MySQL.md","localizedDate":"April 16, 2024"}');export{s as comp,p as data}; diff --git a/docs/.vuepress/dist/assets/installation.html-7aBcAeD0.js b/docs/.vuepress/dist/assets/installation.html-7aBcAeD0.js new file mode 100644 index 0000000..9a999b8 --- /dev/null +++ b/docs/.vuepress/dist/assets/installation.html-7aBcAeD0.js @@ -0,0 +1,4 @@ +import{_ as o}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as s,o as i,c as l,b as e,d as t,e as a,a as r}from"./app-DxD832dz.js";const d={},p=e("p",null,"In this guide, we'll walk you through the process of installing Node.js on your system so you can start building awesome applications.",-1),c={href:"https://nodejs.org/en/download/package-manager",target:"_blank",rel:"noopener noreferrer"},h={href:"https://nodejs.org/en/download/prebuilt-binaries",target:"_blank",rel:"noopener noreferrer"},u={href:"https://nodejs.org/en/download/source-code",target:"_blank",rel:"noopener noreferrer"},m=e("h3",{id:"download-node-js",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#download-node-js"},[e("span",null,"Download Node.js")])],-1),g={href:"https://nodejs.org/en/download",target:"_blank",rel:"noopener noreferrer"},y=r(`

Run the Installer

Once the download is complete, run the installer and follow the on-screen instructions. The installer will guide you through the installation process, including selecting the installation directory and any additional options you may want to configure.

Verify Installation

After the installation is complete, you can verify that Node.js and npm (Node Package Manager) are installed correctly by opening a terminal or command prompt and typing the following commands:

node -v
+npm -v
+

These commands will display the versions of Node.js and npm installed on your system. If you see version numbers displayed, congratulations! You've successfully installed Node.js.

Update npm (Optional)

It's a good idea to keep npm up to date. You can do this by running the following command:

npm install npm@latest -g
+

This will update npm to the latest version available.

That's it! You've now installed Node.js on your system. You're ready to write your first Node.js program.

`,11),f={class:"hint-container note"},v=e("p",{class:"hint-container-title"},"Note",-1),_={href:"https://github.com/nodejs/node/issues/",target:"_blank",rel:"noopener noreferrer"};function b(w,k){const n=s("ExternalLinkIcon");return i(),l("div",null,[p,e("p",null,[t("There are several way to install Node.js, including using a "),e("a",c,[t("package manager"),a(n)]),t(", downloading "),e("a",h,[t("prebuilt binaries"),a(n)]),t(", or "),e("a",u,[t("building from source"),a(n)]),t(". In this guide, we'll cover the most common method of installing Node.js using the official installer.")]),m,e("p",null,[t("Visit "),e("a",g,[t("nodejs.org"),a(n)]),t(" and download the appropriate installer for your operating system (Windows, macOS, or Linux).")]),y,e("div",f,[v,e("p",null,[t("If you ran into any issues during the installation process, feel free to report them on the "),e("a",_,[t("Node.js GitHub repository"),a(n)])])])])}const I=o(d,[["render",b],["__file","installation.html.vue"]]),x=JSON.parse(`{"path":"/get-started/installation.html","title":"Installation guide","lang":"en-US","frontmatter":{"title":"Installation guide","index":true,"icon":"screwdriver-wrench","category":["Guides"],"footer":false,"description":"In this guide, we'll walk you through the process of installing Node.js on your system so you can start building awesome applications. There are several way to install Node.js, ...","head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/get-started/installation.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Installation guide"}],["meta",{"property":"og:description","content":"In this guide, we'll walk you through the process of installing Node.js on your system so you can start building awesome applications. There are several way to install Node.js, ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-15T20:12:13.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-15T20:12:13.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Installation guide\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-15T20:12:13.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[{"level":3,"title":"Download Node.js","slug":"download-node-js","link":"#download-node-js","children":[]},{"level":3,"title":"Run the Installer","slug":"run-the-installer","link":"#run-the-installer","children":[]},{"level":3,"title":"Verify Installation","slug":"verify-installation","link":"#verify-installation","children":[]},{"level":3,"title":"Update npm (Optional)","slug":"update-npm-optional","link":"#update-npm-optional","children":[]}],"git":{"createdTime":1713203996000,"updatedTime":1713211933000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":2}]},"readingTime":{"minutes":0.96,"words":287},"filePathRelative":"get-started/installation.md","localizedDate":"April 15, 2024","autoDesc":true}`);export{I as comp,x as data}; diff --git a/docs/.vuepress/dist/assets/photoswipe.esm-SzV8tJDW.js b/docs/.vuepress/dist/assets/photoswipe.esm-SzV8tJDW.js new file mode 100644 index 0000000..4048314 --- /dev/null +++ b/docs/.vuepress/dist/assets/photoswipe.esm-SzV8tJDW.js @@ -0,0 +1,4 @@ +/*! + * PhotoSwipe 5.4.3 - https://photoswipe.com + * (c) 2023 Dmytro Semenov + */function f(r,t,i){const e=document.createElement(t);return r&&(e.className=r),i&&i.appendChild(e),e}function p(r,t){return r.x=t.x,r.y=t.y,t.id!==void 0&&(r.id=t.id),r}function M(r){r.x=Math.round(r.x),r.y=Math.round(r.y)}function A(r,t){const i=Math.abs(r.x-t.x),e=Math.abs(r.y-t.y);return Math.sqrt(i*i+e*e)}function x(r,t){return r.x===t.x&&r.y===t.y}function I(r,t,i){return Math.min(Math.max(r,t),i)}function b(r,t,i){let e=`translate3d(${r}px,${t||0}px,0)`;return i!==void 0&&(e+=` scale3d(${i},${i},1)`),e}function y(r,t,i,e){r.style.transform=b(t,i,e)}const $="cubic-bezier(.4,0,.22,1)";function R(r,t,i,e){r.style.transition=t?`${t} ${i}ms ${e||$}`:"none"}function L(r,t,i){r.style.width=typeof t=="number"?`${t}px`:t,r.style.height=typeof i=="number"?`${i}px`:i}function U(r){R(r)}function q(r){return"decode"in r?r.decode().catch(()=>{}):r.complete?Promise.resolve(r):new Promise((t,i)=>{r.onload=()=>t(r),r.onerror=i})}const _={IDLE:"idle",LOADING:"loading",LOADED:"loaded",ERROR:"error"};function G(r){return"button"in r&&r.button===1||r.ctrlKey||r.metaKey||r.altKey||r.shiftKey}function K(r,t,i=document){let e=[];if(r instanceof Element)e=[r];else if(r instanceof NodeList||Array.isArray(r))e=Array.from(r);else{const s=typeof r=="string"?r:t;s&&(e=Array.from(i.querySelectorAll(s)))}return e}function C(){return!!(navigator.vendor&&navigator.vendor.match(/apple/i))}let F=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>{F=!0}}))}catch{}class X{constructor(){this._pool=[]}add(t,i,e,s){this._toggleListener(t,i,e,s)}remove(t,i,e,s){this._toggleListener(t,i,e,s,!0)}removeAll(){this._pool.forEach(t=>{this._toggleListener(t.target,t.type,t.listener,t.passive,!0,!0)}),this._pool=[]}_toggleListener(t,i,e,s,n,o){if(!t)return;const a=n?"removeEventListener":"addEventListener";i.split(" ").forEach(l=>{if(l){o||(n?this._pool=this._pool.filter(d=>d.type!==l||d.listener!==e||d.target!==t):this._pool.push({target:t,type:l,listener:e,passive:s}));const c=F?{passive:s||!1}:!1;t[a](l,e,c)}})}}function B(r,t){if(r.getViewportSizeFn){const i=r.getViewportSizeFn(r,t);if(i)return i}return{x:document.documentElement.clientWidth,y:window.innerHeight}}function S(r,t,i,e,s){let n=0;if(t.paddingFn)n=t.paddingFn(i,e,s)[r];else if(t.padding)n=t.padding[r];else{const o="padding"+r[0].toUpperCase()+r.slice(1);t[o]&&(n=t[o])}return Number(n)||0}function N(r,t,i,e){return{x:t.x-S("left",r,t,i,e)-S("right",r,t,i,e),y:t.y-S("top",r,t,i,e)-S("bottom",r,t,i,e)}}class Y{constructor(t){this.slide=t,this.currZoomLevel=1,this.center={x:0,y:0},this.max={x:0,y:0},this.min={x:0,y:0}}update(t){this.currZoomLevel=t,this.slide.width?(this._updateAxis("x"),this._updateAxis("y"),this.slide.pswp.dispatch("calcBounds",{slide:this.slide})):this.reset()}_updateAxis(t){const{pswp:i}=this.slide,e=this.slide[t==="x"?"width":"height"]*this.currZoomLevel,n=S(t==="x"?"left":"top",i.options,i.viewportSize,this.slide.data,this.slide.index),o=this.slide.panAreaSize[t];this.center[t]=Math.round((o-e)/2)+n,this.max[t]=e>o?Math.round(o-e)+n:this.center[t],this.min[t]=e>o?n:this.center[t]}reset(){this.center.x=0,this.center.y=0,this.max.x=0,this.max.y=0,this.min.x=0,this.min.y=0}correctPan(t,i){return I(i,this.max[t],this.min[t])}}const T=4e3;class k{constructor(t,i,e,s){this.pswp=s,this.options=t,this.itemData=i,this.index=e,this.panAreaSize=null,this.elementSize=null,this.fit=1,this.fill=1,this.vFill=1,this.initial=1,this.secondary=1,this.max=1,this.min=1}update(t,i,e){const s={x:t,y:i};this.elementSize=s,this.panAreaSize=e;const n=e.x/s.x,o=e.y/s.y;this.fit=Math.min(1,no?n:o),this.vFill=Math.min(1,o),this.initial=this._getInitial(),this.secondary=this._getSecondary(),this.max=Math.max(this.initial,this.secondary,this._getMax()),this.min=Math.min(this.fit,this.initial,this.secondary),this.pswp&&this.pswp.dispatch("zoomLevelsUpdate",{zoomLevels:this,slideData:this.itemData})}_parseZoomLevelOption(t){const i=t+"ZoomLevel",e=this.options[i];if(e)return typeof e=="function"?e(this):e==="fill"?this.fill:e==="fit"?this.fit:Number(e)}_getSecondary(){let t=this._parseZoomLevelOption("secondary");return t||(t=Math.min(1,this.fit*3),this.elementSize&&t*this.elementSize.x>T&&(t=T/this.elementSize.x),t)}_getInitial(){return this._parseZoomLevelOption("initial")||this.fit}_getMax(){return this._parseZoomLevelOption("max")||Math.max(1,this.fit*4)}}class j{constructor(t,i,e){this.data=t,this.index=i,this.pswp=e,this.isActive=i===e.currIndex,this.currentResolution=0,this.panAreaSize={x:0,y:0},this.pan={x:0,y:0},this.isFirstSlide=this.isActive&&!e.opener.isOpen,this.zoomLevels=new k(e.options,t,i,e),this.pswp.dispatch("gettingData",{slide:this,data:this.data,index:i}),this.content=this.pswp.contentLoader.getContentBySlide(this),this.container=f("pswp__zoom-wrap","div"),this.holderElement=null,this.currZoomLevel=1,this.width=this.content.width,this.height=this.content.height,this.heavyAppended=!1,this.bounds=new Y(this),this.prevDisplayedWidth=-1,this.prevDisplayedHeight=-1,this.pswp.dispatch("slideInit",{slide:this})}setIsActive(t){t&&!this.isActive?this.activate():!t&&this.isActive&&this.deactivate()}append(t){this.holderElement=t,this.container.style.transformOrigin="0 0",this.data&&(this.calculateSize(),this.load(),this.updateContentSize(),this.appendHeavy(),this.holderElement.appendChild(this.container),this.zoomAndPanToInitial(),this.pswp.dispatch("firstZoomPan",{slide:this}),this.applyCurrentZoomPan(),this.pswp.dispatch("afterSetContent",{slide:this}),this.isActive&&this.activate())}load(){this.content.load(!1),this.pswp.dispatch("slideLoad",{slide:this})}appendHeavy(){const{pswp:t}=this;this.heavyAppended||!t.opener.isOpen||t.mainScroll.isShifted()||!this.isActive&&!!0||this.pswp.dispatch("appendHeavy",{slide:this}).defaultPrevented||(this.heavyAppended=!0,this.content.append(),this.pswp.dispatch("appendHeavyContent",{slide:this}))}activate(){this.isActive=!0,this.appendHeavy(),this.content.activate(),this.pswp.dispatch("slideActivate",{slide:this})}deactivate(){this.isActive=!1,this.content.deactivate(),this.currZoomLevel!==this.zoomLevels.initial&&this.calculateSize(),this.currentResolution=0,this.zoomAndPanToInitial(),this.applyCurrentZoomPan(),this.updateContentSize(),this.pswp.dispatch("slideDeactivate",{slide:this})}destroy(){this.content.hasSlide=!1,this.content.remove(),this.container.remove(),this.pswp.dispatch("slideDestroy",{slide:this})}resize(){this.currZoomLevel===this.zoomLevels.initial||!this.isActive?(this.calculateSize(),this.currentResolution=0,this.zoomAndPanToInitial(),this.applyCurrentZoomPan(),this.updateContentSize()):(this.calculateSize(),this.bounds.update(this.currZoomLevel),this.panTo(this.pan.x,this.pan.y))}updateContentSize(t){const i=this.currentResolution||this.zoomLevels.initial;if(!i)return;const e=Math.round(this.width*i)||this.pswp.viewportSize.x,s=Math.round(this.height*i)||this.pswp.viewportSize.y;!this.sizeChanged(e,s)&&!t||this.content.setDisplayedSize(e,s)}sizeChanged(t,i){return t!==this.prevDisplayedWidth||i!==this.prevDisplayedHeight?(this.prevDisplayedWidth=t,this.prevDisplayedHeight=i,!0):!1}getPlaceholderElement(){var t;return(t=this.content.placeholder)===null||t===void 0?void 0:t.element}zoomTo(t,i,e,s){const{pswp:n}=this;if(!this.isZoomable()||n.mainScroll.isShifted())return;n.dispatch("beforeZoomTo",{destZoomLevel:t,centerPoint:i,transitionDuration:e}),n.animations.stopAllPan();const o=this.currZoomLevel;s||(t=I(t,this.zoomLevels.min,this.zoomLevels.max)),this.setZoomLevel(t),this.pan.x=this.calculateZoomToPanOffset("x",i,o),this.pan.y=this.calculateZoomToPanOffset("y",i,o),M(this.pan);const a=()=>{this._setResolution(t),this.applyCurrentZoomPan()};e?n.animations.startTransition({isPan:!0,name:"zoomTo",target:this.container,transform:this.getCurrentTransform(),onComplete:a,duration:e,easing:n.options.easing}):a()}toggleZoom(t){this.zoomTo(this.currZoomLevel===this.zoomLevels.initial?this.zoomLevels.secondary:this.zoomLevels.initial,t,this.pswp.options.zoomAnimationDuration)}setZoomLevel(t){this.currZoomLevel=t,this.bounds.update(this.currZoomLevel)}calculateZoomToPanOffset(t,i,e){if(this.bounds.max[t]-this.bounds.min[t]===0)return this.bounds.center[t];i||(i=this.pswp.getViewportCenterPoint()),e||(e=this.zoomLevels.initial);const n=this.currZoomLevel/e;return this.bounds.correctPan(t,(this.pan[t]-i[t])*n+i[t])}panTo(t,i){this.pan.x=this.bounds.correctPan("x",t),this.pan.y=this.bounds.correctPan("y",i),this.applyCurrentZoomPan()}isPannable(){return!!this.width&&this.currZoomLevel>this.zoomLevels.fit}isZoomable(){return!!this.width&&this.content.isZoomable()}applyCurrentZoomPan(){this._applyZoomTransform(this.pan.x,this.pan.y,this.currZoomLevel),this===this.pswp.currSlide&&this.pswp.dispatch("zoomPanUpdate",{slide:this})}zoomAndPanToInitial(){this.currZoomLevel=this.zoomLevels.initial,this.bounds.update(this.currZoomLevel),p(this.pan,this.bounds.center),this.pswp.dispatch("initialZoomPan",{slide:this})}_applyZoomTransform(t,i,e){e/=this.currentResolution||this.zoomLevels.initial,y(this.container,t,i,e)}calculateSize(){const{pswp:t}=this;p(this.panAreaSize,N(t.options,t.viewportSize,this.data,this.index)),this.zoomLevels.update(this.width,this.height,this.panAreaSize),t.dispatch("calcSlideSize",{slide:this})}getCurrentTransform(){const t=this.currZoomLevel/(this.currentResolution||this.zoomLevels.initial);return b(this.pan.x,this.pan.y,t)}_setResolution(t){t!==this.currentResolution&&(this.currentResolution=t,this.updateContentSize(),this.pswp.dispatch("resolutionChanged"))}}const Q=.35,J=.6,z=.4,E=.5;function tt(r,t){return r*t/(1-t)}class it{constructor(t){this.gestures=t,this.pswp=t.pswp,this.startPan={x:0,y:0}}start(){this.pswp.currSlide&&p(this.startPan,this.pswp.currSlide.pan),this.pswp.animations.stopAll()}change(){const{p1:t,prevP1:i,dragAxis:e}=this.gestures,{currSlide:s}=this.pswp;if(e==="y"&&this.pswp.options.closeOnVerticalDrag&&s&&s.currZoomLevel<=s.zoomLevels.fit&&!this.gestures.isMultitouch){const n=s.pan.y+(t.y-i.y);if(!this.pswp.dispatch("verticalDrag",{panY:n}).defaultPrevented){this._setPanWithFriction("y",n,J);const o=1-Math.abs(this._getVerticalDragRatio(s.pan.y));this.pswp.applyBgOpacity(o),s.applyCurrentZoomPan()}}else this._panOrMoveMainScroll("x")||(this._panOrMoveMainScroll("y"),s&&(M(s.pan),s.applyCurrentZoomPan()))}end(){const{velocity:t}=this.gestures,{mainScroll:i,currSlide:e}=this.pswp;let s=0;if(this.pswp.animations.stopAll(),i.isShifted()){const o=(i.x-i.getCurrSlideX())/this.pswp.viewportSize.x;t.x<-E&&o<0||t.x<.1&&o<-.5?(s=1,t.x=Math.min(t.x,0)):(t.x>E&&o>0||t.x>-.1&&o>.5)&&(s=-1,t.x=Math.max(t.x,0)),i.moveIndexBy(s,!0,t.x)}e&&e.currZoomLevel>e.zoomLevels.max||this.gestures.isMultitouch?this.gestures.zoomLevels.correctZoomPan(!0):(this._finishPanGestureForAxis("x"),this._finishPanGestureForAxis("y"))}_finishPanGestureForAxis(t){const{velocity:i}=this.gestures,{currSlide:e}=this.pswp;if(!e)return;const{pan:s,bounds:n}=e,o=s[t],a=this.pswp.bgOpacity<1&&t==="y",l=o+tt(i[t],.995);if(a){const v=this._getVerticalDragRatio(o),w=this._getVerticalDragRatio(l);if(v<0&&w<-z||v>0&&w>z){this.pswp.close();return}}const c=n.correctPan(t,l);if(o===c)return;const d=c===l?1:.82,u=this.pswp.bgOpacity,m=c-o;this.pswp.animations.startSpring({name:"panGesture"+t,isPan:!0,start:o,end:c,velocity:i[t],dampingRatio:d,onUpdate:v=>{if(a&&this.pswp.bgOpacity<1){const w=1-(c-v)/m;this.pswp.applyBgOpacity(I(u+(1-u)*w,0,1))}s[t]=Math.floor(v),e.applyCurrentZoomPan()}})}_panOrMoveMainScroll(t){const{p1:i,dragAxis:e,prevP1:s,isMultitouch:n}=this.gestures,{currSlide:o,mainScroll:a}=this.pswp,h=i[t]-s[t],l=a.x+h;if(!h||!o)return!1;if(t==="x"&&!o.isPannable()&&!n)return a.moveTo(l,!0),!0;const{bounds:c}=o,d=o.pan[t]+h;if(this.pswp.options.allowPanToNext&&e==="x"&&t==="x"&&!n){const u=a.getCurrSlideX(),m=a.x-u,v=h>0,w=!v;if(d>c.min[t]&&v){if(c.min[t]<=this.startPan[t])return a.moveTo(l,!0),!0;this._setPanWithFriction(t,d)}else if(d0)return a.moveTo(Math.max(l,u),!0),!0;if(m<0)return a.moveTo(Math.min(l,u),!0),!0}else this._setPanWithFriction(t,d)}else t==="y"?!a.isShifted()&&c.min.y!==c.max.y&&this._setPanWithFriction(t,d):this._setPanWithFriction(t,d);return!1}_getVerticalDragRatio(t){var i,e;return(t-((i=(e=this.pswp.currSlide)===null||e===void 0?void 0:e.bounds.center.y)!==null&&i!==void 0?i:0))/(this.pswp.viewportSize.y/3)}_setPanWithFriction(t,i,e){const{currSlide:s}=this.pswp;if(!s)return;const{pan:n,bounds:o}=s;if(o.correctPan(t,i)!==i||e){const h=Math.round(i-n[t]);n[t]+=h*(e||Q)}else n[t]=i}}const et=.05,st=.15;function O(r,t,i){return r.x=(t.x+i.x)/2,r.y=(t.y+i.y)/2,r}class nt{constructor(t){this.gestures=t,this._startPan={x:0,y:0},this._startZoomPoint={x:0,y:0},this._zoomPoint={x:0,y:0},this._wasOverFitZoomLevel=!1,this._startZoomLevel=1}start(){const{currSlide:t}=this.gestures.pswp;t&&(this._startZoomLevel=t.currZoomLevel,p(this._startPan,t.pan)),this.gestures.pswp.animations.stopAllPan(),this._wasOverFitZoomLevel=!1}change(){const{p1:t,startP1:i,p2:e,startP2:s,pswp:n}=this.gestures,{currSlide:o}=n;if(!o)return;const a=o.zoomLevels.min,h=o.zoomLevels.max;if(!o.isZoomable()||n.mainScroll.isShifted())return;O(this._startZoomPoint,i,s),O(this._zoomPoint,t,e);let l=1/A(i,s)*A(t,e)*this._startZoomLevel;if(l>o.zoomLevels.initial+o.zoomLevels.initial/15&&(this._wasOverFitZoomLevel=!0),lh&&(l=h+(l-h)*et);o.pan.x=this._calculatePanForZoomLevel("x",l),o.pan.y=this._calculatePanForZoomLevel("y",l),o.setZoomLevel(l),o.applyCurrentZoomPan()}end(){const{pswp:t}=this.gestures,{currSlide:i}=t;(!i||i.currZoomLevele.zoomLevels.max?n=e.zoomLevels.max:(o=!1,n=s);const a=i.bgOpacity,h=i.bgOpacity<1,l=p({x:0,y:0},e.pan);let c=p({x:0,y:0},l);t&&(this._zoomPoint.x=0,this._zoomPoint.y=0,this._startZoomPoint.x=0,this._startZoomPoint.y=0,this._startZoomLevel=s,p(this._startPan,l)),o&&(c={x:this._calculatePanForZoomLevel("x",n),y:this._calculatePanForZoomLevel("y",n)}),e.setZoomLevel(n),c={x:e.bounds.correctPan("x",c.x),y:e.bounds.correctPan("y",c.y)},e.setZoomLevel(s);const d=!x(c,l);if(!d&&!o&&!h){e._setResolution(n),e.applyCurrentZoomPan();return}i.animations.stopAllPan(),i.animations.startSpring({isPan:!0,start:0,end:1e3,velocity:0,dampingRatio:1,naturalFrequency:40,onUpdate:u=>{if(u/=1e3,d||o){if(d&&(e.pan.x=l.x+(c.x-l.x)*u,e.pan.y=l.y+(c.y-l.y)*u),o){const m=s+(n-s)*u;e.setZoomLevel(m)}e.applyCurrentZoomPan()}h&&i.bgOpacity<1&&i.applyBgOpacity(I(a+(1-a)*u,0,1))},onComplete:()=>{e._setResolution(n),e.applyCurrentZoomPan()}})}}function Z(r){return!!r.target.closest(".pswp__container")}class ot{constructor(t){this.gestures=t}click(t,i){const e=i.target.classList,s=e.contains("pswp__img"),n=e.contains("pswp__item")||e.contains("pswp__zoom-wrap");s?this._doClickOrTapAction("imageClick",t,i):n&&this._doClickOrTapAction("bgClick",t,i)}tap(t,i){Z(i)&&this._doClickOrTapAction("tap",t,i)}doubleTap(t,i){Z(i)&&this._doClickOrTapAction("doubleTap",t,i)}_doClickOrTapAction(t,i,e){var s;const{pswp:n}=this.gestures,{currSlide:o}=n,a=t+"Action",h=n.options[a];if(!n.dispatch(a,{point:i,originalEvent:e}).defaultPrevented){if(typeof h=="function"){h.call(n,i,e);return}switch(h){case"close":case"next":n[h]();break;case"zoom":o==null||o.toggleZoom(i);break;case"zoom-or-close":o!=null&&o.isZoomable()&&o.zoomLevels.secondary!==o.zoomLevels.initial?o.toggleZoom(i):n.options.clickToCloseNonZoomable&&n.close();break;case"toggle-controls":(s=this.gestures.pswp.element)===null||s===void 0||s.classList.toggle("pswp--ui-visible");break}}}}const rt=10,at=300,ht=25;class lt{constructor(t){this.pswp=t,this.dragAxis=null,this.p1={x:0,y:0},this.p2={x:0,y:0},this.prevP1={x:0,y:0},this.prevP2={x:0,y:0},this.startP1={x:0,y:0},this.startP2={x:0,y:0},this.velocity={x:0,y:0},this._lastStartP1={x:0,y:0},this._intervalP1={x:0,y:0},this._numActivePoints=0,this._ongoingPointers=[],this._touchEventEnabled="ontouchstart"in window,this._pointerEventEnabled=!!window.PointerEvent,this.supportsTouch=this._touchEventEnabled||this._pointerEventEnabled&&navigator.maxTouchPoints>1,this._numActivePoints=0,this._intervalTime=0,this._velocityCalculated=!1,this.isMultitouch=!1,this.isDragging=!1,this.isZooming=!1,this.raf=null,this._tapTimer=null,this.supportsTouch||(t.options.allowPanToNext=!1),this.drag=new it(this),this.zoomLevels=new nt(this),this.tapHandler=new ot(this),t.on("bindEvents",()=>{t.events.add(t.scrollWrap,"click",this._onClick.bind(this)),this._pointerEventEnabled?this._bindEvents("pointer","down","up","cancel"):this._touchEventEnabled?(this._bindEvents("touch","start","end","cancel"),t.scrollWrap&&(t.scrollWrap.ontouchmove=()=>{},t.scrollWrap.ontouchend=()=>{})):this._bindEvents("mouse","down","up")})}_bindEvents(t,i,e,s){const{pswp:n}=this,{events:o}=n,a=s?t+s:"";o.add(n.scrollWrap,t+i,this.onPointerDown.bind(this)),o.add(window,t+"move",this.onPointerMove.bind(this)),o.add(window,t+e,this.onPointerUp.bind(this)),a&&o.add(n.scrollWrap,a,this.onPointerUp.bind(this))}onPointerDown(t){const i=t.type==="mousedown"||t.pointerType==="mouse";if(i&&t.button>0)return;const{pswp:e}=this;if(!e.opener.isOpen){t.preventDefault();return}e.dispatch("pointerDown",{originalEvent:t}).defaultPrevented||(i&&(e.mouseDetected(),this._preventPointerEventBehaviour(t,"down")),e.animations.stopAll(),this._updatePoints(t,"down"),this._numActivePoints===1&&(this.dragAxis=null,p(this.startP1,this.p1)),this._numActivePoints>1?(this._clearTapTimer(),this.isMultitouch=!0):this.isMultitouch=!1)}onPointerMove(t){this._preventPointerEventBehaviour(t,"move"),this._numActivePoints&&(this._updatePoints(t,"move"),!this.pswp.dispatch("pointerMove",{originalEvent:t}).defaultPrevented&&(this._numActivePoints===1&&!this.isDragging?(this.dragAxis||this._calculateDragDirection(),this.dragAxis&&!this.isDragging&&(this.isZooming&&(this.isZooming=!1,this.zoomLevels.end()),this.isDragging=!0,this._clearTapTimer(),this._updateStartPoints(),this._intervalTime=Date.now(),this._velocityCalculated=!1,p(this._intervalP1,this.p1),this.velocity.x=0,this.velocity.y=0,this.drag.start(),this._rafStopLoop(),this._rafRenderLoop())):this._numActivePoints>1&&!this.isZooming&&(this._finishDrag(),this.isZooming=!0,this._updateStartPoints(),this.zoomLevels.start(),this._rafStopLoop(),this._rafRenderLoop())))}_finishDrag(){this.isDragging&&(this.isDragging=!1,this._velocityCalculated||this._updateVelocity(!0),this.drag.end(),this.dragAxis=null)}onPointerUp(t){this._numActivePoints&&(this._updatePoints(t,"up"),!this.pswp.dispatch("pointerUp",{originalEvent:t}).defaultPrevented&&(this._numActivePoints===0&&(this._rafStopLoop(),this.isDragging?this._finishDrag():!this.isZooming&&!this.isMultitouch&&this._finishTap(t)),this._numActivePoints<2&&this.isZooming&&(this.isZooming=!1,this.zoomLevels.end(),this._numActivePoints===1&&(this.dragAxis=null,this._updateStartPoints()))))}_rafRenderLoop(){(this.isDragging||this.isZooming)&&(this._updateVelocity(),this.isDragging?x(this.p1,this.prevP1)||this.drag.change():(!x(this.p1,this.prevP1)||!x(this.p2,this.prevP2))&&this.zoomLevels.change(),this._updatePrevPoints(),this.raf=requestAnimationFrame(this._rafRenderLoop.bind(this)))}_updateVelocity(t){const i=Date.now(),e=i-this._intervalTime;e<50&&!t||(this.velocity.x=this._getVelocity("x",e),this.velocity.y=this._getVelocity("y",e),this._intervalTime=i,p(this._intervalP1,this.p1),this._velocityCalculated=!0)}_finishTap(t){const{mainScroll:i}=this.pswp;if(i.isShifted()){i.moveIndexBy(0,!0);return}if(t.type.indexOf("cancel")>0)return;if(t.type==="mouseup"||t.pointerType==="mouse"){this.tapHandler.click(this.startP1,t);return}const e=this.pswp.options.doubleTapAction?at:0;this._tapTimer?(this._clearTapTimer(),A(this._lastStartP1,this.startP1){this.tapHandler.tap(this.startP1,t),this._clearTapTimer()},e))}_clearTapTimer(){this._tapTimer&&(clearTimeout(this._tapTimer),this._tapTimer=null)}_getVelocity(t,i){const e=this.p1[t]-this._intervalP1[t];return Math.abs(e)>1&&i>5?e/i:0}_rafStopLoop(){this.raf&&(cancelAnimationFrame(this.raf),this.raf=null)}_preventPointerEventBehaviour(t,i){this.pswp.applyFilters("preventPointerEvent",!0,t,i)&&t.preventDefault()}_updatePoints(t,i){if(this._pointerEventEnabled){const e=t,s=this._ongoingPointers.findIndex(n=>n.id===e.pointerId);i==="up"&&s>-1?this._ongoingPointers.splice(s,1):i==="down"&&s===-1?this._ongoingPointers.push(this._convertEventPosToPoint(e,{x:0,y:0})):s>-1&&this._convertEventPosToPoint(e,this._ongoingPointers[s]),this._numActivePoints=this._ongoingPointers.length,this._numActivePoints>0&&p(this.p1,this._ongoingPointers[0]),this._numActivePoints>1&&p(this.p2,this._ongoingPointers[1])}else{const e=t;this._numActivePoints=0,e.type.indexOf("touch")>-1?e.touches&&e.touches.length>0&&(this._convertEventPosToPoint(e.touches[0],this.p1),this._numActivePoints++,e.touches.length>1&&(this._convertEventPosToPoint(e.touches[1],this.p2),this._numActivePoints++)):(this._convertEventPosToPoint(t,this.p1),i==="up"?this._numActivePoints=0:this._numActivePoints++)}}_updatePrevPoints(){p(this.prevP1,this.p1),p(this.prevP2,this.p2)}_updateStartPoints(){p(this.startP1,this.p1),p(this.startP2,this.p2),this._updatePrevPoints()}_calculateDragDirection(){if(this.pswp.mainScroll.isShifted())this.dragAxis="x";else{const t=Math.abs(this.p1.x-this.startP1.x)-Math.abs(this.p1.y-this.startP1.y);if(t!==0){const i=t>0?"x":"y";Math.abs(this.p1[i]-this.startP1[i])>=rt&&(this.dragAxis=i)}}}_convertEventPosToPoint(t,i){return i.x=t.pageX-this.pswp.offset.x,i.y=t.pageY-this.pswp.offset.y,"pointerId"in t?i.id=t.pointerId:t.identifier!==void 0&&(i.id=t.identifier),i}_onClick(t){this.pswp.mainScroll.isShifted()&&(t.preventDefault(),t.stopPropagation())}}const ct=.35;class dt{constructor(t){this.pswp=t,this.x=0,this.slideWidth=0,this._currPositionIndex=0,this._prevPositionIndex=0,this._containerShiftIndex=-1,this.itemHolders=[]}resize(t){const{pswp:i}=this,e=Math.round(i.viewportSize.x+i.viewportSize.x*i.options.spacing),s=e!==this.slideWidth;s&&(this.slideWidth=e,this.moveTo(this.getCurrSlideX())),this.itemHolders.forEach((n,o)=>{s&&y(n.el,(o+this._containerShiftIndex)*this.slideWidth),t&&n.slide&&n.slide.resize()})}resetPosition(){this._currPositionIndex=0,this._prevPositionIndex=0,this.slideWidth=0,this._containerShiftIndex=-1}appendHolders(){this.itemHolders=[];for(let t=0;t<3;t++){const i=f("pswp__item","div",this.pswp.container);i.setAttribute("role","group"),i.setAttribute("aria-roledescription","slide"),i.setAttribute("aria-hidden","true"),i.style.display=t===1?"block":"none",this.itemHolders.push({el:i})}}canBeSwiped(){return this.pswp.getNumItems()>1}moveIndexBy(t,i,e){const{pswp:s}=this;let n=s.potentialIndex+t;const o=s.getNumItems();if(s.canLoop()){n=s.getLoopedIndex(n);const h=(t+o)%o;h<=o/2?t=h:t=h-o}else n<0?n=0:n>=o&&(n=o-1),t=n-s.potentialIndex;s.potentialIndex=n,this._currPositionIndex-=t,s.animations.stopMainScroll();const a=this.getCurrSlideX();if(!i)this.moveTo(a),this.updateCurrItem();else{s.animations.startSpring({isMainScroll:!0,start:this.x,end:a,velocity:e||0,naturalFrequency:30,dampingRatio:1,onUpdate:l=>{this.moveTo(l)},onComplete:()=>{this.updateCurrItem(),s.appendHeavy()}});let h=s.potentialIndex-s.currIndex;if(s.canLoop()){const l=(h+o)%o;l<=o/2?h=l:h=l-o}Math.abs(h)>1&&this.updateCurrItem()}return!!t}getCurrSlideX(){return this.slideWidth*this._currPositionIndex}isShifted(){return this.x!==this.getCurrSlideX()}updateCurrItem(){var t;const{pswp:i}=this,e=this._prevPositionIndex-this._currPositionIndex;if(!e)return;this._prevPositionIndex=this._currPositionIndex,i.currIndex=i.potentialIndex;let s=Math.abs(e),n;s>=3&&(this._containerShiftIndex+=e+(e>0?-3:3),s=3);for(let o=0;o0?(n=this.itemHolders.shift(),n&&(this.itemHolders[2]=n,this._containerShiftIndex++,y(n.el,(this._containerShiftIndex+2)*this.slideWidth),i.setContent(n,i.currIndex-s+o+2))):(n=this.itemHolders.pop(),n&&(this.itemHolders.unshift(n),this._containerShiftIndex--,y(n.el,this._containerShiftIndex*this.slideWidth),i.setContent(n,i.currIndex+s-o-2)));Math.abs(this._containerShiftIndex)>50&&!this.isShifted()&&(this.resetPosition(),this.resize()),i.animations.stopAllPan(),this.itemHolders.forEach((o,a)=>{o.slide&&o.slide.setIsActive(a===1)}),i.currSlide=(t=this.itemHolders[1])===null||t===void 0?void 0:t.slide,i.contentLoader.updateLazy(e),i.currSlide&&i.currSlide.applyCurrentZoomPan(),i.dispatch("change")}moveTo(t,i){if(!this.pswp.canLoop()&&i){let e=(this.slideWidth*this._currPositionIndex-t)/this.slideWidth;e+=this.pswp.currIndex;const s=Math.round(t-this.x);(e<0&&s>0||e>=this.pswp.getNumItems()-1&&s<0)&&(t=this.x+s*ct)}this.x=t,this.pswp.container&&y(this.pswp.container,t),this.pswp.dispatch("moveMainScroll",{x:t,dragging:i??!1})}}const pt={Escape:27,z:90,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,Tab:9},g=(r,t)=>t?r:pt[r];class ut{constructor(t){this.pswp=t,this._wasFocused=!1,t.on("bindEvents",()=>{t.options.trapFocus&&(t.options.initialPointerPos||this._focusRoot(),t.events.add(document,"focusin",this._onFocusIn.bind(this))),t.events.add(document,"keydown",this._onKeyDown.bind(this))});const i=document.activeElement;t.on("destroy",()=>{t.options.returnFocus&&i&&this._wasFocused&&i.focus()})}_focusRoot(){!this._wasFocused&&this.pswp.element&&(this.pswp.element.focus(),this._wasFocused=!0)}_onKeyDown(t){const{pswp:i}=this;if(i.dispatch("keydown",{originalEvent:t}).defaultPrevented||G(t))return;let e,s,n=!1;const o="key"in t;switch(o?t.key:t.keyCode){case g("Escape",o):i.options.escKey&&(e="close");break;case g("z",o):e="toggleZoom";break;case g("ArrowLeft",o):s="x";break;case g("ArrowUp",o):s="y";break;case g("ArrowRight",o):s="x",n=!0;break;case g("ArrowDown",o):n=!0,s="y";break;case g("Tab",o):this._focusRoot();break}if(s){t.preventDefault();const{currSlide:a}=i;i.options.arrowKeys&&s==="x"&&i.getNumItems()>1?e=n?"next":"prev":a&&a.currZoomLevel>a.zoomLevels.fit&&(a.pan[s]+=n?-80:80,a.panTo(a.pan.x,a.pan.y))}e&&(t.preventDefault(),i[e]())}_onFocusIn(t){const{template:i}=this.pswp;i&&document!==t.target&&i!==t.target&&!i.contains(t.target)&&i.focus()}}const mt="cubic-bezier(.4,0,.22,1)";class ft{constructor(t){var i;this.props=t;const{target:e,onComplete:s,transform:n,onFinish:o=()=>{},duration:a=333,easing:h=mt}=t;this.onFinish=o;const l=n?"transform":"opacity",c=(i=t[l])!==null&&i!==void 0?i:"";this._target=e,this._onComplete=s,this._finished=!1,this._onTransitionEnd=this._onTransitionEnd.bind(this),this._helperTimeout=setTimeout(()=>{R(e,l,a,h),this._helperTimeout=setTimeout(()=>{e.addEventListener("transitionend",this._onTransitionEnd,!1),e.addEventListener("transitioncancel",this._onTransitionEnd,!1),this._helperTimeout=setTimeout(()=>{this._finalizeAnimation()},a+500),e.style[l]=c},30)},0)}_onTransitionEnd(t){t.target===this._target&&this._finalizeAnimation()}_finalizeAnimation(){this._finished||(this._finished=!0,this.onFinish(),this._onComplete&&this._onComplete())}destroy(){this._helperTimeout&&clearTimeout(this._helperTimeout),U(this._target),this._target.removeEventListener("transitionend",this._onTransitionEnd,!1),this._target.removeEventListener("transitioncancel",this._onTransitionEnd,!1),this._finished||this._finalizeAnimation()}}const _t=12,vt=.75;class gt{constructor(t,i,e){this.velocity=t*1e3,this._dampingRatio=i||vt,this._naturalFrequency=e||_t,this._dampedFrequency=this._naturalFrequency,this._dampingRatio<1&&(this._dampedFrequency*=Math.sqrt(1-this._dampingRatio*this._dampingRatio))}easeFrame(t,i){let e=0,s;i/=1e3;const n=Math.E**(-this._dampingRatio*this._naturalFrequency*i);if(this._dampingRatio===1)s=this.velocity+this._naturalFrequency*t,e=(t+s*i)*n,this.velocity=e*-this._naturalFrequency+s*n;else if(this._dampingRatio<1){s=1/this._dampedFrequency*(this._dampingRatio*this._naturalFrequency*t+this.velocity);const o=Math.cos(this._dampedFrequency*i),a=Math.sin(this._dampedFrequency*i);e=n*(t*o+s*a),this.velocity=e*-this._naturalFrequency*this._dampingRatio+n*(-this._dampedFrequency*t*a+this._dampedFrequency*s*o)}return e}}class yt{constructor(t){this.props=t,this._raf=0;const{start:i,end:e,velocity:s,onUpdate:n,onComplete:o,onFinish:a=()=>{},dampingRatio:h,naturalFrequency:l}=t;this.onFinish=a;const c=new gt(s,h,l);let d=Date.now(),u=i-e;const m=()=>{this._raf&&(u=c.easeFrame(u,Date.now()-d),Math.abs(u)<1&&Math.abs(c.velocity)<50?(n(e),o&&o(),this.onFinish()):(d=Date.now(),n(u+e),this._raf=requestAnimationFrame(m)))};this._raf=requestAnimationFrame(m)}destroy(){this._raf>=0&&cancelAnimationFrame(this._raf),this._raf=0}}class wt{constructor(){this.activeAnimations=[]}startSpring(t){this._start(t,!0)}startTransition(t){this._start(t)}_start(t,i){const e=i?new yt(t):new ft(t);return this.activeAnimations.push(e),e.onFinish=()=>this.stop(e),e}stop(t){t.destroy();const i=this.activeAnimations.indexOf(t);i>-1&&this.activeAnimations.splice(i,1)}stopAll(){this.activeAnimations.forEach(t=>{t.destroy()}),this.activeAnimations=[]}stopAllPan(){this.activeAnimations=this.activeAnimations.filter(t=>t.props.isPan?(t.destroy(),!1):!0)}stopMainScroll(){this.activeAnimations=this.activeAnimations.filter(t=>t.props.isMainScroll?(t.destroy(),!1):!0)}isPanRunning(){return this.activeAnimations.some(t=>t.props.isPan)}}class Pt{constructor(t){this.pswp=t,t.events.add(t.element,"wheel",this._onWheel.bind(this))}_onWheel(t){t.preventDefault();const{currSlide:i}=this.pswp;let{deltaX:e,deltaY:s}=t;if(i&&!this.pswp.dispatch("wheel",{originalEvent:t}).defaultPrevented)if(t.ctrlKey||this.pswp.options.wheelToZoom){if(i.isZoomable()){let n=-s;t.deltaMode===1?n*=.05:n*=t.deltaMode?1:.002,n=2**n;const o=i.currZoomLevel*n;i.zoomTo(o,{x:t.clientX,y:t.clientY})}}else i.isPannable()&&(t.deltaMode===1&&(e*=18,s*=18),i.panTo(i.pan.x-e,i.pan.y-s))}}function St(r){if(typeof r=="string")return r;if(!r||!r.isCustomSVG)return"";const t=r;let i='",i}class xt{constructor(t,i){var e;const s=i.name||i.className;let n=i.html;if(t.options[s]===!1)return;typeof t.options[s+"SVG"]=="string"&&(n=t.options[s+"SVG"]),t.dispatch("uiElementCreate",{data:i});let o="";i.isButton?(o+="pswp__button ",o+=i.className||`pswp__button--${i.name}`):o+=i.className||`pswp__${i.name}`;let a=i.isButton?i.tagName||"button":i.tagName||"div";a=a.toLowerCase();const h=f(o,a);if(i.isButton){a==="button"&&(h.type="button");let{title:d}=i;const{ariaLabel:u}=i;typeof t.options[s+"Title"]=="string"&&(d=t.options[s+"Title"]),d&&(h.title=d);const m=u||d;m&&h.setAttribute("aria-label",m)}h.innerHTML=St(n),i.onInit&&i.onInit(h,t),i.onClick&&(h.onclick=d=>{typeof i.onClick=="string"?t[i.onClick]():typeof i.onClick=="function"&&i.onClick(d,h,t)});const l=i.appendTo||"bar";let c=t.element;l==="bar"?(t.topBar||(t.topBar=f("pswp__top-bar pswp__hide-on-close","div",t.scrollWrap)),c=t.topBar):(h.classList.add("pswp__hide-on-close"),l==="wrapper"&&(c=t.scrollWrap)),(e=c)===null||e===void 0||e.appendChild(t.applyFilters("uiElement",h,i))}}function H(r,t,i){r.classList.add("pswp__button--arrow"),r.setAttribute("aria-controls","pswp__items"),t.on("change",()=>{t.options.loop||(i?r.disabled=!(t.currIndex0))})}const bt={name:"arrowPrev",className:"pswp__button--arrow--prev",title:"Previous",order:10,isButton:!0,appendTo:"wrapper",html:{isCustomSVG:!0,size:60,inner:'',outlineID:"pswp__icn-arrow"},onClick:"prev",onInit:H},It={name:"arrowNext",className:"pswp__button--arrow--next",title:"Next",order:11,isButton:!0,appendTo:"wrapper",html:{isCustomSVG:!0,size:60,inner:'',outlineID:"pswp__icn-arrow"},onClick:"next",onInit:(r,t)=>{H(r,t,!0)}},At={name:"close",title:"Close",order:20,isButton:!0,html:{isCustomSVG:!0,inner:'',outlineID:"pswp__icn-close"},onClick:"close"},Lt={name:"zoom",title:"Zoom",order:10,isButton:!0,html:{isCustomSVG:!0,inner:'',outlineID:"pswp__icn-zoom"},onClick:"toggleZoom"},Ct={name:"preloader",appendTo:"bar",order:7,html:{isCustomSVG:!0,inner:'',outlineID:"pswp__icn-loading"},onInit:(r,t)=>{let i,e=null;const s=(a,h)=>{r.classList.toggle("pswp__preloader--"+a,h)},n=a=>{i!==a&&(i=a,s("active",a))},o=()=>{var a;if(!((a=t.currSlide)!==null&&a!==void 0&&a.content.isLoading())){n(!1),e&&(clearTimeout(e),e=null);return}e||(e=setTimeout(()=>{var h;n(!!(!((h=t.currSlide)===null||h===void 0)&&h.content.isLoading())),e=null},t.options.preloaderDelay))};t.on("change",o),t.on("loadComplete",a=>{t.currSlide===a.slide&&o()}),t.ui&&(t.ui.updatePreloaderVisibility=o)}},Tt={name:"counter",order:5,onInit:(r,t)=>{t.on("change",()=>{r.innerText=t.currIndex+1+t.options.indexIndicatorSep+t.getNumItems()})}};function D(r,t){r.classList.toggle("pswp--zoomed-in",t)}class zt{constructor(t){this.pswp=t,this.isRegistered=!1,this.uiElementsData=[],this.items=[],this.updatePreloaderVisibility=()=>{},this._lastUpdatedZoomLevel=void 0}init(){const{pswp:t}=this;this.isRegistered=!1,this.uiElementsData=[At,bt,It,Lt,Ct,Tt],t.dispatch("uiRegister"),this.uiElementsData.sort((i,e)=>(i.order||0)-(e.order||0)),this.items=[],this.isRegistered=!0,this.uiElementsData.forEach(i=>{this.registerElement(i)}),t.on("change",()=>{var i;(i=t.element)===null||i===void 0||i.classList.toggle("pswp--one-slide",t.getNumItems()===1)}),t.on("zoomPanUpdate",()=>this._onZoomPanUpdate())}registerElement(t){this.isRegistered?this.items.push(new xt(this.pswp,t)):this.uiElementsData.push(t)}_onZoomPanUpdate(){const{template:t,currSlide:i,options:e}=this.pswp;if(this.pswp.opener.isClosing||!t||!i)return;let{currZoomLevel:s}=i;if(this.pswp.opener.isOpen||(s=i.zoomLevels.initial),s===this._lastUpdatedZoomLevel)return;this._lastUpdatedZoomLevel=s;const n=i.zoomLevels.initial-i.zoomLevels.secondary;if(Math.abs(n)<.01||!i.isZoomable()){D(t,!1),t.classList.remove("pswp--zoom-allowed");return}t.classList.add("pswp--zoom-allowed");const o=s===i.zoomLevels.initial?i.zoomLevels.secondary:i.zoomLevels.initial;D(t,o<=s),(e.imageClickAction==="zoom"||e.imageClickAction==="zoom-or-close")&&t.classList.add("pswp--click-to-zoom")}}function Et(r){const t=r.getBoundingClientRect();return{x:t.left,y:t.top,w:t.width}}function Ot(r,t,i){const e=r.getBoundingClientRect(),s=e.width/t,n=e.height/i,o=s>n?s:n,a=(e.width-t*o)/2,h=(e.height-i*o)/2,l={x:e.left+a,y:e.top+h,w:t*o};return l.innerRect={w:e.width,h:e.height,x:a,y:h},l}function Zt(r,t,i){const e=i.dispatch("thumbBounds",{index:r,itemData:t,instance:i});if(e.thumbBounds)return e.thumbBounds;const{element:s}=t;let n,o;if(s&&i.options.thumbSelector!==!1){const a=i.options.thumbSelector||"img";o=s.matches(a)?s:s.querySelector(a)}return o=i.applyFilters("thumbEl",o,t,r),o&&(t.thumbCropped?n=Ot(o,t.width||t.w||0,t.height||t.h||0):n=Et(o)),i.applyFilters("thumbBounds",n,t,r)}class Dt{constructor(t,i){this.type=t,this.defaultPrevented=!1,i&&Object.assign(this,i)}preventDefault(){this.defaultPrevented=!0}}class Mt{constructor(){this._listeners={},this._filters={},this.pswp=void 0,this.options=void 0}addFilter(t,i,e=100){var s,n,o;this._filters[t]||(this._filters[t]=[]),(s=this._filters[t])===null||s===void 0||s.push({fn:i,priority:e}),(n=this._filters[t])===null||n===void 0||n.sort((a,h)=>a.priority-h.priority),(o=this.pswp)===null||o===void 0||o.addFilter(t,i,e)}removeFilter(t,i){this._filters[t]&&(this._filters[t]=this._filters[t].filter(e=>e.fn!==i)),this.pswp&&this.pswp.removeFilter(t,i)}applyFilters(t,...i){var e;return(e=this._filters[t])===null||e===void 0||e.forEach(s=>{i[0]=s.fn.apply(this,i)}),i[0]}on(t,i){var e,s;this._listeners[t]||(this._listeners[t]=[]),(e=this._listeners[t])===null||e===void 0||e.push(i),(s=this.pswp)===null||s===void 0||s.on(t,i)}off(t,i){var e;this._listeners[t]&&(this._listeners[t]=this._listeners[t].filter(s=>i!==s)),(e=this.pswp)===null||e===void 0||e.off(t,i)}dispatch(t,i){var e;if(this.pswp)return this.pswp.dispatch(t,i);const s=new Dt(t,i);return(e=this._listeners[t])===null||e===void 0||e.forEach(n=>{n.call(this,s)}),s}}class Rt{constructor(t,i){if(this.element=f("pswp__img pswp__img--placeholder",t?"img":"div",i),t){const e=this.element;e.decoding="async",e.alt="",e.src=t,e.setAttribute("role","presentation")}this.element.setAttribute("aria-hidden","true")}setDisplayedSize(t,i){this.element&&(this.element.tagName==="IMG"?(L(this.element,250,"auto"),this.element.style.transformOrigin="0 0",this.element.style.transform=b(0,0,t/250)):L(this.element,t,i))}destroy(){var t;(t=this.element)!==null&&t!==void 0&&t.parentNode&&this.element.remove(),this.element=null}}class Ft{constructor(t,i,e){this.instance=i,this.data=t,this.index=e,this.element=void 0,this.placeholder=void 0,this.slide=void 0,this.displayedImageWidth=0,this.displayedImageHeight=0,this.width=Number(this.data.w)||Number(this.data.width)||0,this.height=Number(this.data.h)||Number(this.data.height)||0,this.isAttached=!1,this.hasSlide=!1,this.isDecoding=!1,this.state=_.IDLE,this.data.type?this.type=this.data.type:this.data.src?this.type="image":this.type="html",this.instance.dispatch("contentInit",{content:this})}removePlaceholder(){this.placeholder&&!this.keepPlaceholder()&&setTimeout(()=>{this.placeholder&&(this.placeholder.destroy(),this.placeholder=void 0)},1e3)}load(t,i){if(this.slide&&this.usePlaceholder())if(this.placeholder){const e=this.placeholder.element;e&&!e.parentElement&&this.slide.container.prepend(e)}else{const e=this.instance.applyFilters("placeholderSrc",this.data.msrc&&this.slide.isFirstSlide?this.data.msrc:!1,this);this.placeholder=new Rt(e,this.slide.container)}this.element&&!i||this.instance.dispatch("contentLoad",{content:this,isLazy:t}).defaultPrevented||(this.isImageContent()?(this.element=f("pswp__img","img"),this.displayedImageWidth&&this.loadImage(t)):(this.element=f("pswp__content","div"),this.element.innerHTML=this.data.html||""),i&&this.slide&&this.slide.updateContentSize(!0))}loadImage(t){var i,e;if(!this.isImageContent()||!this.element||this.instance.dispatch("contentLoadImage",{content:this,isLazy:t}).defaultPrevented)return;const s=this.element;this.updateSrcsetSizes(),this.data.srcset&&(s.srcset=this.data.srcset),s.src=(i=this.data.src)!==null&&i!==void 0?i:"",s.alt=(e=this.data.alt)!==null&&e!==void 0?e:"",this.state=_.LOADING,s.complete?this.onLoaded():(s.onload=()=>{this.onLoaded()},s.onerror=()=>{this.onError()})}setSlide(t){this.slide=t,this.hasSlide=!0,this.instance=t.pswp}onLoaded(){this.state=_.LOADED,this.slide&&this.element&&(this.instance.dispatch("loadComplete",{slide:this.slide,content:this}),this.slide.isActive&&this.slide.heavyAppended&&!this.element.parentNode&&(this.append(),this.slide.updateContentSize(!0)),(this.state===_.LOADED||this.state===_.ERROR)&&this.removePlaceholder())}onError(){this.state=_.ERROR,this.slide&&(this.displayError(),this.instance.dispatch("loadComplete",{slide:this.slide,isError:!0,content:this}),this.instance.dispatch("loadError",{slide:this.slide,content:this}))}isLoading(){return this.instance.applyFilters("isContentLoading",this.state===_.LOADING,this)}isError(){return this.state===_.ERROR}isImageContent(){return this.type==="image"}setDisplayedSize(t,i){if(this.element&&(this.placeholder&&this.placeholder.setDisplayedSize(t,i),!this.instance.dispatch("contentResize",{content:this,width:t,height:i}).defaultPrevented&&(L(this.element,t,i),this.isImageContent()&&!this.isError()))){const e=!this.displayedImageWidth&&t;this.displayedImageWidth=t,this.displayedImageHeight=i,e?this.loadImage(!1):this.updateSrcsetSizes(),this.slide&&this.instance.dispatch("imageSizeChange",{slide:this.slide,width:t,height:i,content:this})}}isZoomable(){return this.instance.applyFilters("isContentZoomable",this.isImageContent()&&this.state!==_.ERROR,this)}updateSrcsetSizes(){if(!this.isImageContent()||!this.element||!this.data.srcset)return;const t=this.element,i=this.instance.applyFilters("srcsetSizesWidth",this.displayedImageWidth,this);(!t.dataset.largestUsedSize||i>parseInt(t.dataset.largestUsedSize,10))&&(t.sizes=i+"px",t.dataset.largestUsedSize=String(i))}usePlaceholder(){return this.instance.applyFilters("useContentPlaceholder",this.isImageContent(),this)}lazyLoad(){this.instance.dispatch("contentLazyLoad",{content:this}).defaultPrevented||this.load(!0)}keepPlaceholder(){return this.instance.applyFilters("isKeepingPlaceholder",this.isLoading(),this)}destroy(){this.hasSlide=!1,this.slide=void 0,!this.instance.dispatch("contentDestroy",{content:this}).defaultPrevented&&(this.remove(),this.placeholder&&(this.placeholder.destroy(),this.placeholder=void 0),this.isImageContent()&&this.element&&(this.element.onload=null,this.element.onerror=null,this.element=void 0))}displayError(){if(this.slide){var t,i;let e=f("pswp__error-msg","div");e.innerText=(t=(i=this.instance.options)===null||i===void 0?void 0:i.errorMsg)!==null&&t!==void 0?t:"",e=this.instance.applyFilters("contentErrorElement",e,this),this.element=f("pswp__content pswp__error-msg-container","div"),this.element.appendChild(e),this.slide.container.innerText="",this.slide.container.appendChild(this.element),this.slide.updateContentSize(!0),this.removePlaceholder()}}append(){if(this.isAttached||!this.element)return;if(this.isAttached=!0,this.state===_.ERROR){this.displayError();return}if(this.instance.dispatch("contentAppend",{content:this}).defaultPrevented)return;const t="decode"in this.element;this.isImageContent()?t&&this.slide&&(!this.slide.isActive||C())?(this.isDecoding=!0,this.element.decode().catch(()=>{}).finally(()=>{this.isDecoding=!1,this.appendImage()})):this.appendImage():this.slide&&!this.element.parentNode&&this.slide.container.appendChild(this.element)}activate(){this.instance.dispatch("contentActivate",{content:this}).defaultPrevented||!this.slide||(this.isImageContent()&&this.isDecoding&&!C()?this.appendImage():this.isError()&&this.load(!1,!0),this.slide.holderElement&&this.slide.holderElement.setAttribute("aria-hidden","false"))}deactivate(){this.instance.dispatch("contentDeactivate",{content:this}),this.slide&&this.slide.holderElement&&this.slide.holderElement.setAttribute("aria-hidden","true")}remove(){this.isAttached=!1,!this.instance.dispatch("contentRemove",{content:this}).defaultPrevented&&(this.element&&this.element.parentNode&&this.element.remove(),this.placeholder&&this.placeholder.element&&this.placeholder.element.remove())}appendImage(){this.isAttached&&(this.instance.dispatch("contentAppendImage",{content:this}).defaultPrevented||(this.slide&&this.element&&!this.element.parentNode&&this.slide.container.appendChild(this.element),(this.state===_.LOADED||this.state===_.ERROR)&&this.removePlaceholder()))}}const Bt=5;function W(r,t,i){const e=t.createContentFromData(r,i);let s;const{options:n}=t;if(n){s=new k(n,r,-1);let o;t.pswp?o=t.pswp.viewportSize:o=B(n,t);const a=N(n,o,r,i);s.update(e.width,e.height,a)}return e.lazyLoad(),s&&e.setDisplayedSize(Math.ceil(e.width*s.initial),Math.ceil(e.height*s.initial)),e}function Nt(r,t){const i=t.getItemData(r);if(!t.dispatch("lazyLoadSlide",{index:r,itemData:i}).defaultPrevented)return W(i,t,r)}class kt{constructor(t){this.pswp=t,this.limit=Math.max(t.options.preload[0]+t.options.preload[1]+1,Bt),this._cachedItems=[]}updateLazy(t){const{pswp:i}=this;if(i.dispatch("lazyLoad").defaultPrevented)return;const{preload:e}=i.options,s=t===void 0?!0:t>=0;let n;for(n=0;n<=e[1];n++)this.loadSlideByIndex(i.currIndex+(s?n:-n));for(n=1;n<=e[0];n++)this.loadSlideByIndex(i.currIndex+(s?-n:n))}loadSlideByIndex(t){const i=this.pswp.getLoopedIndex(t);let e=this.getContentByIndex(i);e||(e=Nt(i,this.pswp),e&&this.addToCache(e))}getContentBySlide(t){let i=this.getContentByIndex(t.index);return i||(i=this.pswp.createContentFromData(t.data,t.index),this.addToCache(i)),i.setSlide(t),i}addToCache(t){if(this.removeByIndex(t.index),this._cachedItems.push(t),this._cachedItems.length>this.limit){const i=this._cachedItems.findIndex(e=>!e.isAttached&&!e.hasSlide);i!==-1&&this._cachedItems.splice(i,1)[0].destroy()}}removeByIndex(t){const i=this._cachedItems.findIndex(e=>e.index===t);i!==-1&&this._cachedItems.splice(i,1)}getContentByIndex(t){return this._cachedItems.find(i=>i.index===t)}destroy(){this._cachedItems.forEach(t=>t.destroy()),this._cachedItems=[]}}class Ht extends Mt{getNumItems(){var t;let i=0;const e=(t=this.options)===null||t===void 0?void 0:t.dataSource;e&&"length"in e?i=e.length:e&&"gallery"in e&&(e.items||(e.items=this._getGalleryDOMElements(e.gallery)),e.items&&(i=e.items.length));const s=this.dispatch("numItems",{dataSource:e,numItems:i});return this.applyFilters("numItems",s.numItems,e)}createContentFromData(t,i){return new Ft(t,this,i)}getItemData(t){var i;const e=(i=this.options)===null||i===void 0?void 0:i.dataSource;let s={};Array.isArray(e)?s=e[t]:e&&"gallery"in e&&(e.items||(e.items=this._getGalleryDOMElements(e.gallery)),s=e.items[t]);let n=s;n instanceof Element&&(n=this._domElementToItemData(n));const o=this.dispatch("itemData",{itemData:n||{},index:t});return this.applyFilters("itemData",o.itemData,t)}_getGalleryDOMElements(t){var i,e;return(i=this.options)!==null&&i!==void 0&&i.children||(e=this.options)!==null&&e!==void 0&&e.childSelector?K(this.options.children,this.options.childSelector,t)||[]:[t]}_domElementToItemData(t){const i={element:t},e=t.tagName==="A"?t:t.querySelector("a");if(e){i.src=e.dataset.pswpSrc||e.href,e.dataset.pswpSrcset&&(i.srcset=e.dataset.pswpSrcset),i.width=e.dataset.pswpWidth?parseInt(e.dataset.pswpWidth,10):0,i.height=e.dataset.pswpHeight?parseInt(e.dataset.pswpHeight,10):0,i.w=i.width,i.h=i.height,e.dataset.pswpType&&(i.type=e.dataset.pswpType);const n=t.querySelector("img");if(n){var s;i.msrc=n.currentSrc||n.src,i.alt=(s=n.getAttribute("alt"))!==null&&s!==void 0?s:""}(e.dataset.pswpCropped||e.dataset.cropped)&&(i.thumbCropped=!0)}return this.applyFilters("domItemData",i,t,e)}lazyLoadData(t,i){return W(t,this,i)}}const P=.003;class Wt{constructor(t){this.pswp=t,this.isClosed=!0,this.isOpen=!1,this.isClosing=!1,this.isOpening=!1,this._duration=void 0,this._useAnimation=!1,this._croppedZoom=!1,this._animateRootOpacity=!1,this._animateBgOpacity=!1,this._placeholder=void 0,this._opacityElement=void 0,this._cropContainer1=void 0,this._cropContainer2=void 0,this._thumbBounds=void 0,this._prepareOpen=this._prepareOpen.bind(this),t.on("firstZoomPan",this._prepareOpen)}open(){this._prepareOpen(),this._start()}close(){if(this.isClosed||this.isClosing||this.isOpening)return;const t=this.pswp.currSlide;this.isOpen=!1,this.isOpening=!1,this.isClosing=!0,this._duration=this.pswp.options.hideAnimationDuration,t&&t.currZoomLevel*t.width>=this.pswp.options.maxWidthToAnimate&&(this._duration=0),this._applyStartProps(),setTimeout(()=>{this._start()},this._croppedZoom?30:0)}_prepareOpen(){if(this.pswp.off("firstZoomPan",this._prepareOpen),!this.isOpening){const t=this.pswp.currSlide;this.isOpening=!0,this.isClosing=!1,this._duration=this.pswp.options.showAnimationDuration,t&&t.zoomLevels.initial*t.width>=this.pswp.options.maxWidthToAnimate&&(this._duration=0),this._applyStartProps()}}_applyStartProps(){const{pswp:t}=this,i=this.pswp.currSlide,{options:e}=t;if(e.showHideAnimationType==="fade"?(e.showHideOpacity=!0,this._thumbBounds=void 0):e.showHideAnimationType==="none"?(e.showHideOpacity=!1,this._duration=0,this._thumbBounds=void 0):this.isOpening&&t._initialThumbBounds?this._thumbBounds=t._initialThumbBounds:this._thumbBounds=this.pswp.getThumbBounds(),this._placeholder=i==null?void 0:i.getPlaceholderElement(),t.animations.stopAll(),this._useAnimation=!!(this._duration&&this._duration>50),this._animateZoom=!!this._thumbBounds&&(i==null?void 0:i.content.usePlaceholder())&&(!this.isClosing||!t.mainScroll.isShifted()),!this._animateZoom)this._animateRootOpacity=!0,this.isOpening&&i&&(i.zoomAndPanToInitial(),i.applyCurrentZoomPan());else{var s;this._animateRootOpacity=(s=e.showHideOpacity)!==null&&s!==void 0?s:!1}if(this._animateBgOpacity=!this._animateRootOpacity&&this.pswp.options.bgOpacity>P,this._opacityElement=this._animateRootOpacity?t.element:t.bg,!this._useAnimation){this._duration=0,this._animateZoom=!1,this._animateBgOpacity=!1,this._animateRootOpacity=!0,this.isOpening&&(t.element&&(t.element.style.opacity=String(P)),t.applyBgOpacity(1));return}if(this._animateZoom&&this._thumbBounds&&this._thumbBounds.innerRect){var n;this._croppedZoom=!0,this._cropContainer1=this.pswp.container,this._cropContainer2=(n=this.pswp.currSlide)===null||n===void 0?void 0:n.holderElement,t.container&&(t.container.style.overflow="hidden",t.container.style.width=t.viewportSize.x+"px")}else this._croppedZoom=!1;this.isOpening?(this._animateRootOpacity?(t.element&&(t.element.style.opacity=String(P)),t.applyBgOpacity(1)):(this._animateBgOpacity&&t.bg&&(t.bg.style.opacity=String(P)),t.element&&(t.element.style.opacity="1")),this._animateZoom&&(this._setClosedStateZoomPan(),this._placeholder&&(this._placeholder.style.willChange="transform",this._placeholder.style.opacity=String(P)))):this.isClosing&&(t.mainScroll.itemHolders[0]&&(t.mainScroll.itemHolders[0].el.style.display="none"),t.mainScroll.itemHolders[2]&&(t.mainScroll.itemHolders[2].el.style.display="none"),this._croppedZoom&&t.mainScroll.x!==0&&(t.mainScroll.resetPosition(),t.mainScroll.resize()))}_start(){this.isOpening&&this._useAnimation&&this._placeholder&&this._placeholder.tagName==="IMG"?new Promise(t=>{let i=!1,e=!0;q(this._placeholder).finally(()=>{i=!0,e||t(!0)}),setTimeout(()=>{e=!1,i&&t(!0)},50),setTimeout(t,250)}).finally(()=>this._initiate()):this._initiate()}_initiate(){var t,i;(t=this.pswp.element)===null||t===void 0||t.style.setProperty("--pswp-transition-duration",this._duration+"ms"),this.pswp.dispatch(this.isOpening?"openingAnimationStart":"closingAnimationStart"),this.pswp.dispatch("initialZoom"+(this.isOpening?"In":"Out")),(i=this.pswp.element)===null||i===void 0||i.classList.toggle("pswp--ui-visible",this.isOpening),this.isOpening?(this._placeholder&&(this._placeholder.style.opacity="1"),this._animateToOpenState()):this.isClosing&&this._animateToClosedState(),this._useAnimation||this._onAnimationComplete()}_onAnimationComplete(){const{pswp:t}=this;if(this.isOpen=this.isOpening,this.isClosed=this.isClosing,this.isOpening=!1,this.isClosing=!1,t.dispatch(this.isOpen?"openingAnimationEnd":"closingAnimationEnd"),t.dispatch("initialZoom"+(this.isOpen?"InEnd":"OutEnd")),this.isClosed)t.destroy();else if(this.isOpen){var i;this._animateZoom&&t.container&&(t.container.style.overflow="visible",t.container.style.width="100%"),(i=t.currSlide)===null||i===void 0||i.applyCurrentZoomPan()}}_animateToOpenState(){const{pswp:t}=this;this._animateZoom&&(this._croppedZoom&&this._cropContainer1&&this._cropContainer2&&(this._animateTo(this._cropContainer1,"transform","translate3d(0,0,0)"),this._animateTo(this._cropContainer2,"transform","none")),t.currSlide&&(t.currSlide.zoomAndPanToInitial(),this._animateTo(t.currSlide.container,"transform",t.currSlide.getCurrentTransform()))),this._animateBgOpacity&&t.bg&&this._animateTo(t.bg,"opacity",String(t.options.bgOpacity)),this._animateRootOpacity&&t.element&&this._animateTo(t.element,"opacity","1")}_animateToClosedState(){const{pswp:t}=this;this._animateZoom&&this._setClosedStateZoomPan(!0),this._animateBgOpacity&&t.bgOpacity>.01&&t.bg&&this._animateTo(t.bg,"opacity","0"),this._animateRootOpacity&&t.element&&this._animateTo(t.element,"opacity","0")}_setClosedStateZoomPan(t){if(!this._thumbBounds)return;const{pswp:i}=this,{innerRect:e}=this._thumbBounds,{currSlide:s,viewportSize:n}=i;if(this._croppedZoom&&e&&this._cropContainer1&&this._cropContainer2){const o=-n.x+(this._thumbBounds.x-e.x)+e.w,a=-n.y+(this._thumbBounds.y-e.y)+e.h,h=n.x-e.w,l=n.y-e.h;t?(this._animateTo(this._cropContainer1,"transform",b(o,a)),this._animateTo(this._cropContainer2,"transform",b(h,l))):(y(this._cropContainer1,o,a),y(this._cropContainer2,h,l))}s&&(p(s.pan,e||this._thumbBounds),s.currZoomLevel=this._thumbBounds.w/s.width,t?this._animateTo(s.container,"transform",s.getCurrentTransform()):s.applyCurrentZoomPan())}_animateTo(t,i,e){if(!this._duration){t.style[i]=e;return}const{animations:s}=this.pswp,n={duration:this._duration,easing:this.pswp.options.easing,onComplete:()=>{s.activeAnimations.length||this._onAnimationComplete()},target:t};n[i]=e,s.startTransition(n)}}const Vt={allowPanToNext:!0,spacing:.1,loop:!0,pinchToClose:!0,closeOnVerticalDrag:!0,hideAnimationDuration:333,showAnimationDuration:333,zoomAnimationDuration:333,escKey:!0,arrowKeys:!0,trapFocus:!0,returnFocus:!0,maxWidthToAnimate:4e3,clickToCloseNonZoomable:!0,imageClickAction:"zoom-or-close",bgClickAction:"close",tapAction:"toggle-controls",doubleTapAction:"zoom",indexIndicatorSep:" / ",preloaderDelay:2e3,bgOpacity:.8,index:0,errorMsg:"The image cannot be loaded",preload:[1,2],easing:"cubic-bezier(.4,0,.22,1)"};class $t extends Ht{constructor(t){super(),this.options=this._prepareOptions(t||{}),this.offset={x:0,y:0},this._prevViewportSize={x:0,y:0},this.viewportSize={x:0,y:0},this.bgOpacity=1,this.currIndex=0,this.potentialIndex=0,this.isOpen=!1,this.isDestroying=!1,this.hasMouse=!1,this._initialItemData={},this._initialThumbBounds=void 0,this.topBar=void 0,this.element=void 0,this.template=void 0,this.container=void 0,this.scrollWrap=void 0,this.currSlide=void 0,this.events=new X,this.animations=new wt,this.mainScroll=new dt(this),this.gestures=new lt(this),this.opener=new Wt(this),this.keyboard=new ut(this),this.contentLoader=new kt(this)}init(){if(this.isOpen||this.isDestroying)return!1;this.isOpen=!0,this.dispatch("init"),this.dispatch("beforeOpen"),this._createMainStructure();let t="pswp--open";return this.gestures.supportsTouch&&(t+=" pswp--touch"),this.options.mainClass&&(t+=" "+this.options.mainClass),this.element&&(this.element.className+=" "+t),this.currIndex=this.options.index||0,this.potentialIndex=this.currIndex,this.dispatch("firstUpdate"),this.scrollWheel=new Pt(this),(Number.isNaN(this.currIndex)||this.currIndex<0||this.currIndex>=this.getNumItems())&&(this.currIndex=0),this.gestures.supportsTouch||this.mouseDetected(),this.updateSize(),this.offset.y=window.pageYOffset,this._initialItemData=this.getItemData(this.currIndex),this.dispatch("gettingData",{index:this.currIndex,data:this._initialItemData,slide:void 0}),this._initialThumbBounds=this.getThumbBounds(),this.dispatch("initialLayout"),this.on("openingAnimationEnd",()=>{const{itemHolders:i}=this.mainScroll;i[0]&&(i[0].el.style.display="block",this.setContent(i[0],this.currIndex-1)),i[2]&&(i[2].el.style.display="block",this.setContent(i[2],this.currIndex+1)),this.appendHeavy(),this.contentLoader.updateLazy(),this.events.add(window,"resize",this._handlePageResize.bind(this)),this.events.add(window,"scroll",this._updatePageScrollOffset.bind(this)),this.dispatch("bindEvents")}),this.mainScroll.itemHolders[1]&&this.setContent(this.mainScroll.itemHolders[1],this.currIndex),this.dispatch("change"),this.opener.open(),this.dispatch("afterInit"),!0}getLoopedIndex(t){const i=this.getNumItems();return this.options.loop&&(t>i-1&&(t-=i),t<0&&(t+=i)),I(t,0,i-1)}appendHeavy(){this.mainScroll.itemHolders.forEach(t=>{var i;(i=t.slide)===null||i===void 0||i.appendHeavy()})}goTo(t){this.mainScroll.moveIndexBy(this.getLoopedIndex(t)-this.potentialIndex)}next(){this.goTo(this.potentialIndex+1)}prev(){this.goTo(this.potentialIndex-1)}zoomTo(...t){var i;(i=this.currSlide)===null||i===void 0||i.zoomTo(...t)}toggleZoom(){var t;(t=this.currSlide)===null||t===void 0||t.toggleZoom()}close(){!this.opener.isOpen||this.isDestroying||(this.isDestroying=!0,this.dispatch("close"),this.events.removeAll(),this.opener.close())}destroy(){var t;if(!this.isDestroying){this.options.showHideAnimationType="none",this.close();return}this.dispatch("destroy"),this._listeners={},this.scrollWrap&&(this.scrollWrap.ontouchmove=null,this.scrollWrap.ontouchend=null),(t=this.element)===null||t===void 0||t.remove(),this.mainScroll.itemHolders.forEach(i=>{var e;(e=i.slide)===null||e===void 0||e.destroy()}),this.contentLoader.destroy(),this.events.removeAll()}refreshSlideContent(t){this.contentLoader.removeByIndex(t),this.mainScroll.itemHolders.forEach((i,e)=>{var s,n;let o=((s=(n=this.currSlide)===null||n===void 0?void 0:n.index)!==null&&s!==void 0?s:0)-1+e;if(this.canLoop()&&(o=this.getLoopedIndex(o)),o===t&&(this.setContent(i,t,!0),e===1)){var a;this.currSlide=i.slide,(a=i.slide)===null||a===void 0||a.setIsActive(!0)}}),this.dispatch("change")}setContent(t,i,e){if(this.canLoop()&&(i=this.getLoopedIndex(i)),t.slide){if(t.slide.index===i&&!e)return;t.slide.destroy(),t.slide=void 0}if(!this.canLoop()&&(i<0||i>=this.getNumItems()))return;const s=this.getItemData(i);t.slide=new j(s,i,this),i===this.currIndex&&(this.currSlide=t.slide),t.slide.append(t.el)}getViewportCenterPoint(){return{x:this.viewportSize.x/2,y:this.viewportSize.y/2}}updateSize(t){if(this.isDestroying)return;const i=B(this.options,this);!t&&x(i,this._prevViewportSize)||(p(this._prevViewportSize,i),this.dispatch("beforeResize"),p(this.viewportSize,this._prevViewportSize),this._updatePageScrollOffset(),this.dispatch("viewportSize"),this.mainScroll.resize(this.opener.isOpen),!this.hasMouse&&window.matchMedia("(any-hover: hover)").matches&&this.mouseDetected(),this.dispatch("resize"))}applyBgOpacity(t){this.bgOpacity=Math.max(t,0),this.bg&&(this.bg.style.opacity=String(this.bgOpacity*this.options.bgOpacity))}mouseDetected(){if(!this.hasMouse){var t;this.hasMouse=!0,(t=this.element)===null||t===void 0||t.classList.add("pswp--has_mouse")}}_handlePageResize(){this.updateSize(),/iPhone|iPad|iPod/i.test(window.navigator.userAgent)&&setTimeout(()=>{this.updateSize()},500)}_updatePageScrollOffset(){this.setScrollOffset(0,window.pageYOffset)}setScrollOffset(t,i){this.offset.x=t,this.offset.y=i,this.dispatch("updateScrollOffset")}_createMainStructure(){this.element=f("pswp","div"),this.element.setAttribute("tabindex","-1"),this.element.setAttribute("role","dialog"),this.template=this.element,this.bg=f("pswp__bg","div",this.element),this.scrollWrap=f("pswp__scroll-wrap","section",this.element),this.container=f("pswp__container","div",this.scrollWrap),this.scrollWrap.setAttribute("aria-roledescription","carousel"),this.container.setAttribute("aria-live","off"),this.container.setAttribute("id","pswp__items"),this.mainScroll.appendHolders(),this.ui=new zt(this),this.ui.init(),(this.options.appendToEl||document.body).appendChild(this.element)}getThumbBounds(){return Zt(this.currIndex,this.currSlide?this.currSlide.data:this._initialItemData,this)}canLoop(){return this.options.loop&&this.getNumItems()>2}_prepareOptions(t){return window.matchMedia("(prefers-reduced-motion), (update: slow)").matches&&(t.showHideAnimationType="none",t.zoomAnimationDuration=0),{...Vt,...t}}}export{$t as default}; diff --git a/docs/.vuepress/dist/assets/plugin-vue_export-helper-DlAUqK2U.js b/docs/.vuepress/dist/assets/plugin-vue_export-helper-DlAUqK2U.js new file mode 100644 index 0000000..718edd3 --- /dev/null +++ b/docs/.vuepress/dist/assets/plugin-vue_export-helper-DlAUqK2U.js @@ -0,0 +1 @@ +const s=(t,r)=>{const o=t.__vccOpts||t;for(const[c,e]of r)o[c]=e;return o};export{s as _}; diff --git a/docs/.vuepress/dist/assets/quick-start.html-CX71ZwsX.js b/docs/.vuepress/dist/assets/quick-start.html-CX71ZwsX.js new file mode 100644 index 0000000..504b00b --- /dev/null +++ b/docs/.vuepress/dist/assets/quick-start.html-CX71ZwsX.js @@ -0,0 +1,8 @@ +import{_ as a}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as n,o as s,c as o,b as r,d as e,e as i,w as p,a as l}from"./app-DxD832dz.js";const c={},u=l(`

In this guide, we'll help you write your first program in Node.js. You'll create a simple HTTP server that listens on port 8080 and responds with "Hello, World!" when you visit http://localhost:8080 in your browser.

Prerequisites

Before you begin, make sure you have Node.js installed on your machine. If you haven't installed Node.js yet, you can follow the steps in the installation guide.

Create a New File

Open your favorite text editor and create a new file. You can name it whatever you like, but for this example, let's call it hello.js.

Write Some Code

In your hello.js file, type the following code:

var http = require('http');
+
+http.createServer(function (req, res) {
+  res.writeHead(200, {'Content-Type': 'text/html'});
+  res.end('Hello World!');
+}).listen(8080);
+

After writing the code, save the file.

Run the Program

Open a terminal or command prompt and navigate to the directory where you saved hello.js. Then, type the following command:

node hello.js
+

Access the Web Server

After running the command, your web server will start listening on port 8080. Open a web browser and navigate to http://localhost:8080. You should see the text "Hello World!" displayed in the browser.

`,14);function d(h,m){const t=n("RouteLink");return s(),o("div",null,[u,r("p",null,[e("Congratulations! 🎉 You've just created and ran your first Node.js web server. Now get ready to understand "),i(t,{to:"/get-started/what-is-nodejs.html"},{default:p(()=>[e("how Node.js works")]),_:1})])])}const v=a(c,[["render",d],["__file","quick-start.html.vue"]]),w=JSON.parse(`{"path":"/get-started/quick-start.html","title":"Quick start","lang":"en-US","frontmatter":{"title":"Quick start","index":true,"icon":"code","category":["Getting started"],"footer":false,"description":"In this guide, we'll help you write your first program in Node.js. You'll create a simple HTTP server that listens on port 8080 and responds with \\"Hello, World!\\" when you visit ...","head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/get-started/quick-start.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"Quick start"}],["meta",{"property":"og:description","content":"In this guide, we'll help you write your first program in Node.js. You'll create a simple HTTP server that listens on port 8080 and responds with \\"Hello, World!\\" when you visit ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-15T20:12:13.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-15T20:12:13.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Quick start\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-15T20:12:13.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[{"level":2,"title":"Prerequisites","slug":"prerequisites","link":"#prerequisites","children":[{"level":3,"title":"Create a New File","slug":"create-a-new-file","link":"#create-a-new-file","children":[]},{"level":3,"title":"Write Some Code","slug":"write-some-code","link":"#write-some-code","children":[]},{"level":3,"title":"Run the Program","slug":"run-the-program","link":"#run-the-program","children":[]},{"level":3,"title":"Access the Web Server","slug":"access-the-web-server","link":"#access-the-web-server","children":[]}]}],"git":{"createdTime":1713203996000,"updatedTime":1713211933000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":2}]},"readingTime":{"minutes":0.8,"words":240},"filePathRelative":"get-started/quick-start.md","localizedDate":"April 15, 2024","autoDesc":true}`);export{v as comp,w as data}; diff --git a/docs/.vuepress/dist/assets/style-DsHdZtLP.css b/docs/.vuepress/dist/assets/style-DsHdZtLP.css new file mode 100644 index 0000000..dbc73f1 --- /dev/null +++ b/docs/.vuepress/dist/assets/style-DsHdZtLP.css @@ -0,0 +1 @@ +@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;--grey-dark: #999;--grey-light: #666;--white: #000;--grey-darker: #bbb;--grey-lighter: #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: #096dd9;--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;--grey-dark: #666;--grey-light: #999;--white: #fff;--grey-darker: #333;--grey-lighter: #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: 1160px;--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: #0862c3;--theme-color-light: #0a7bf4;--theme-color-mask: rgba(9, 109, 217, .15)}.font-icon{display:inline-block}.theme-hope-content .font-icon{vertical-align:middle}: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)}.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-inline-end: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-items:stretch;place-content:stretch 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}}@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}}.vp-catalog-wrapper{margin-top:8px;margin-bottom:8px}.vp-catalog-wrapper.index ol{padding-inline-start:0}.vp-catalog-wrapper.index li{list-style-type:none}.vp-catalog-wrapper.index .vp-catalogs{padding-inline-start:0}.vp-catalog-wrapper.index .vp-catalog{list-style-type:none}.vp-catalog-wrapper.index .vp-catalog-title:before{content:"§" counter(catalog-item,upper-roman) " "}.vp-catalog-wrapper.index .vp-child-catalogs{counter-reset:child-catalog}.vp-catalog-wrapper.index .vp-child-catalog{counter-increment:child-catalog}.vp-catalog-wrapper.index .vp-child-catalog .vp-catalog-title:before{content:counter(catalog-item) "." counter(child-catalog) " "}.vp-catalog-wrapper.index .vp-sub-catalogs{padding-inline-start:.5rem}.vp-catalogs{margin:0;counter-reset:catalog-item}.vp-catalogs.deep{padding-inline-start:0}.vp-catalogs.deep .vp-catalog{list-style-type:none}.vp-catalogs .font-icon{vertical-align:baseline;margin-inline-end:.25rem}.vp-catalog{counter-increment:catalog-item}.vp-catalog-main-title{margin-top:calc(.5rem - var(--navbar-height, 3.6rem));margin-bottom:.5rem;padding-top:var(--navbar-height, 3.6rem);font-weight:500;font-size:1.75rem}.vp-catalog-main-title:first-child{margin-bottom:.5rem!important}.vp-catalog-main-title:only-child{margin-bottom:0!important}.vp-catalog-main-title .vp-link{text-decoration:none!important}.vp-catalog-child-title{margin-bottom:.5rem!important}.vp-catalog-child-title.has-children{margin-top:calc(.5rem - var(--navbar-height, 3.6rem));padding-top:var(--navbar-height, 3.6rem);border-bottom:1px solid var(--catalog-border-color);font-weight:500;font-size:1.3rem;transition:border-color .3s}.vp-catalog-child-title.has-children:only-child{margin-bottom:0!important}.vp-catalog-child-title .vp-link{text-decoration:none!important}.vp-catalog-sub-title{font-weight:500;font-size:1.1rem}.vp-catalog-sub-title:only-child{margin-bottom:0!important}.vp-catalog-title{color:inherit;text-decoration:none}.vp-catalog-title:hover{color:var(--catalog-active-color)}.vp-child-catalogs{margin:0}.vp-child-catalog{list-style-type:disc}.vp-sub-catalogs{counter-reset:sub-catalog}.vp-sub-catalog{counter-increment:sub-catalog}.vp-sub-catalog .vp-link:before{content:counter(catalog-item) "." counter(child-catalog) "." counter(sub-catalog) " "}.vp-sub-catalogs-wrapper{display:flex;flex-wrap:wrap}.vp-sub-catalog-link{display:inline-block;margin:4px 8px;padding:4px 8px;border-radius:6px;background-color:var(--catalog-bg-secondary-color);line-height:1.5;overflow-wrap:break-word;transition:background-color .3s,color .3s}.vp-sub-catalog-link:hover{background-color:var(--catalog-hover-color);color:var(--catalog-bg-color);text-decoration:none!important}.vp-catalog-header-anchor{font-size:.85em;float:left;margin-left:-1em;padding-right:0;margin-top:.125em;opacity:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-decoration:none;content:"¶"}@media print{.vp-catalog-header-anchor{display:none}}h2:hover .vp-catalog-header-anchor,h3:hover .vp-catalog-header-anchor{opacity:1;text-decoration:none}.vp-catalog-header-anchor:focus-visible{opacity:1}.vp-empty-catalog{font-size:1.25rem;text-align:center}:root{--catalog-bg-color: #fff;--catalog-bg-secondary-color: #f8f8f8;--catalog-border-color: #e5e5e5;--catalog-active-color: #3eaf7c;--catalog-hover-color: #71cda3}.vp-back-to-top-button{position:fixed!important;bottom:4rem;inset-inline-end:1rem;z-index:100;width:48px;height:48px;padding:8px;border-width:0;border-radius:50%;background:var(--back-to-top-bg-color);color:var(--back-to-top-color);box-shadow:2px 2px 10px 4px var(--back-to-top-shadow);cursor:pointer}@media (max-width: 959px){.vp-back-to-top-button{transform:scale(.8);transform-origin:100% 100%}}@media print{.vp-back-to-top-button{display:none}}.vp-back-to-top-button:hover{color:var(--back-to-top-color-hover)}.vp-back-to-top-button .back-to-top-icon{overflow:hidden;width:100%;height:100%;background:currentcolor;border-radius:50%;-webkit-mask-image:var(--back-to-top-icon);mask-image:var(--back-to-top-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:cover;mask-size:cover}.vp-scroll-progress{position:absolute;right:-2px;bottom:-2px;width:52px;height:52px}.vp-scroll-progress svg{width:100%;height:100%}.vp-scroll-progress circle{opacity:.9;transform:rotate(-90deg);transform-origin:50% 50%}.back-to-top-enter-active,.back-to-top-leave-active{transition:opacity .3s}.back-to-top-enter-from,.back-to-top-leave-to{opacity:0}:root{--back-to-top-z-index: 5;--back-to-top-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201024%201024'%3e%3cpath%20d='M512%20843.2c-36.2%200-66.4-13.6-85.8-21.8-10.8-4.6-22.6%203.6-21.8%2015.2l7%20102c.4%206.2%207.6%209.4%2012.6%205.6l29-22c3.6-2.8%209-1.8%2011.4%202l41%2064.2c3%204.8%2010.2%204.8%2013.2%200l41-64.2c2.4-3.8%207.8-4.8%2011.4-2l29%2022c5%203.8%2012.2.6%2012.6-5.6l7-102c.8-11.6-11-20-21.8-15.2-19.6%208.2-49.6%2021.8-85.8%2021.8'/%3e%3cpath%20d='m795.4%20586.2-96-98.2C699.4%20172%20513%2032%20513%2032S324.8%20172%20324.8%20488l-96%2098.2c-3.6%203.6-5.2%209-4.4%2014.2L261.2%20824c1.8%2011.4%2014.2%2017%2023.6%2010.8L419%20744s41.4%2040%2094.2%2040%2092.2-40%2092.2-40l134.2%2090.8c9.2%206.2%2021.6.6%2023.6-10.8l37-223.8c.4-5.2-1.2-10.4-4.8-14M513%20384c-34%200-61.4-28.6-61.4-64s27.6-64%2061.4-64c34%200%2061.4%2028.6%2061.4%2064S547%20384%20513%20384'/%3e%3c/svg%3e");--back-to-top-bg-color: #fff;--back-to-top-color: #3eaf7c;--back-to-top-color-hover: #71cda3;--back-to-top-shadow: rgb(0 0 0 / 20%)}: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}.giscus-wrapper.input-top .giscus{margin-bottom:-3rem}@media print{#vp-comment{display:none!important}}div[class*=language-]:hover:before{display:none}div[class*=language-]:hover .vp-copy-code-button{opacity:1}.vp-copy-code-button{position:absolute;top:.5em;right:.5em;z-index:5;width:2.5rem;height:2.5rem;padding:0;border-width:0;border-radius:.5rem;background:transparent;outline:none;opacity:0;cursor:pointer;transition:opacity .4s}@media print{.vp-copy-code-button{display:none}}.vp-copy-code-button:focus,.vp-copy-code-button.copied{opacity:1}.vp-copy-code-button:hover,.vp-copy-code-button.copied{background:var(--copy-code-hover)}.vp-copy-code-button.copied .vp-copy-icon{-webkit-mask-image:var(--code-copied-icon);mask-image:var(--code-copied-icon)}.vp-copy-code-button.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(--copy-code-hover);color:var(--copy-code-color);font-weight:500;line-height:1.25rem;white-space:nowrap}.vp-copy-icon{width:1.25rem;height:1.25rem;padding:.625rem;background:currentcolor;color:var(--copy-code-color);font-size:1.25rem;-webkit-mask-image:var(--code-copy-icon);mask-image:var(--code-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}:root{--code-copy-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20height='20'%20width='20'%20stroke='rgba(128,128,128,1)'%20stroke-width='2'%3e%3cpath%20stroke-linecap='round'%20stroke-linejoin='round'%20d='M9%205H7a2%202%200%200%200-2%202v12a2%202%200%200%200%202%202h10a2%202%200%200%200%202-2V7a2%202%200%200%200-2-2h-2M9%205a2%202%200%200%200%202%202h2a2%202%200%200%200%202-2M9%205a2%202%200%200%201%202-2h2a2%202%200%200%201%202%202'%20/%3e%3c/svg%3e");--code-copied-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20height='20'%20width='20'%20stroke='rgba(128,128,128,1)'%20stroke-width='2'%3e%3cpath%20stroke-linecap='round'%20stroke-linejoin='round'%20d='M9%205H7a2%202%200%200%200-2%202v12a2%202%200%200%200%202%202h10a2%202%200%200%200%202-2V7a2%202%200%200%200-2-2h-2M9%205a2%202%200%200%200%202%202h2a2%202%200%200%200%202-2M9%205a2%202%200%200%201%202-2h2a2%202%200%200%201%202%202m-6%209%202%202%204-4'%20/%3e%3c/svg%3e");--copy-code-color: #9e9e9e;--copy-code-hover: rgb(0 0 0 / 50%)}/*! 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;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.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:var(--photo-swipe-bullet);transition:width .3s,color .3s}.photo-swipe-bullet.active{width:30px;background:var(--photo-swipe-bullet-active)}:root{--photo-swipe-bullet: #fff;--photo-swipe-bullet-active: #3eaf7c}: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 shake{0%,to{transform:translate(0)}10%{transform:translate(-9px)}20%{transform:translate(8px)}30%{transform:translate(-7px)}40%{transform:translate(6px)}50%{transform:translate(-5px)}60%{transform:translate(4px)}70%{transform:translate(-3px)}80%{transform:translate(2px)}90%{transform:translate(-1px)}}.vp-decrypt-layer{display:flex;flex-direction:column;align-items:center;justify-content:center;height:calc(80vh - var(--navbar-height));margin-top:var(--navbar-height);text-align:center}.vp-decrypt-layer.expand{margin-top:0}.vp-decrypt-modal{width:calc(100% - 8rem);max-width:420px;margin:2rem;padding:2rem;border-radius:1.5rem;box-shadow:2px 2px 10px 6px var(--card-shadow);transition:box-shadow var(--color-transition)}@media (max-width: 719px){.vp-decrypt-modal{width:calc(100% - 5rem);padding:1.5rem}}@media (max-width: 419px){.vp-decrypt-modal{width:calc(100% - 3rem);box-shadow:none}}.vp-decrypt-hint{margin-bottom:20px;font-weight:600;font-size:1.5rem;line-height:2}.vp-decrypt-hint.tried{color:red;animation-name:shake;animation-duration:.5s;animation-timing-function:ease-out;animation-fill-mode:both}.vp-decrypt-hint svg{width:1.25em;height:1.25em}.vp-decrypt-input input{width:calc(100% - 3rem);padding:0 1.5rem;border:2px solid var(--theme-color);border-radius:.5rem;background:var(--bg-color)!important;color:var(--black)!important;outline:none;font-size:1.25rem;line-height:2;transition:background var(--color-transition),color var(--color-transition)}.vp-remember-password{margin-top:.5rem;color:var(--grey-dark);font-size:14px;text-align:start}.vp-remember-password input[type=checkbox]{position:relative;vertical-align:text-bottom;width:0;margin-inline-end:18px;cursor:pointer}.vp-remember-password input[type=checkbox]:after{content:" ";position:absolute;top:0;display:inline-block;box-sizing:border-box;width:14px;height:14px;padding-inline-start:0;border:1px solid #ddd;border-radius:50%;background:#fff;text-align:center;visibility:visible}html[data-theme=dark] .vp-remember-password input[type=checkbox]:after{border-color:#666;background:#333}.vp-remember-password input[type=checkbox]:checked:after{content:"";border-color:var(--theme-color);background:var(--theme-color)}html[data-theme=dark] .vp-remember-password input[type=checkbox]:checked:after{border-color:var(--theme-color);background:var(--theme-color)}.vp-remember-password input[type=checkbox]:checked:before{content:"";position:absolute;top:2px;inset-inline-start:5px;z-index:1;width:2px;height:6px;border:solid var(--white);border-width:0 2px 2px 0;transform:rotate(45deg)}.vp-decrypt-submit{background:transparent;cursor:pointer;width:70px;margin-top:1.5rem;border-width:0;border-radius:.5rem;background:var(--theme-color);color:var(--bg-color);outline:none;font-size:1.2rem;line-height:2;transition:color var(--color-transition)}.vp-decrypt-submit:hover{background:var(--theme-color-light)}: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 )}}.vp-copy-code-button{--copy-code-color: var(--code-ln-color);--copy-code-hover: var(--code-hl-bg-color)}.DocSearch-Button,.DocSearch{--docsearch-primary-color: var(--theme-color);--docsearch-text-color: var(--text-color);--docsearch-highlight-color: var(--theme-color);--docsearch-muted-color: var(--grey-light);--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(--bg-color);--docsearch-searchbox-shadow: inset 0 0 0 2px var(--theme-color);--docsearch-hit-color: var(--text-color-light);--docsearch-hit-active-color: var(--bg-color);--docsearch-hit-background: var(--bg-color);--docsearch-hit-shadow: 0 1px 3px 0 var(--border-color);--docsearch-footer-background: var(--bg-color)}html[data-theme=dark] .DocSearch-Button,html[data-theme=dark] .DocSearch{--docsearch-logo-color: var(--text-color);--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%)}.vp-back-to-top-button{--back-to-top-color: var(--theme-color);--back-to-top-color-hover: var(--theme-color-light);--back-to-top-bg-color: var(--bg-color)}.vp-catalog-wrapper{--catalog-bg-color: var(--bg-color);--catalog-bg-secondary-color: var(--bg-color-light);--catalog-border-color: var(--border-color);--catalog-active-color: var(--theme-color);--catalog-hover-color: var(--theme-color-light)}.external-link-icon{--external-link-icon-color: var(--grey-light)}#nprogress{--nprogress-color: var(--theme-color)}body{--photo-swipe-bullet: var(--white);--photo-swipe-bullet-active: var(--theme-color);--pwa-text-color: var(--text-color);--pwa-bg-color: var(--bg-color);--pwa-border-color: var(--border-color);--pwa-btn-text-color: var(--bg-color);--pwa-btn-bg-color: var(--theme-color);--pwa-btn-hover-bg-color: var(--theme-color-light);--pwa-shadow-color: var(--card-shadow);--pwa-content-color: var(--grey-darker);--pwa-content-light-color: var(--grey-dark)}.language-modal-mask{--redirect-bg-color: var(--bg-color);--redirect-bg-color-light: var(--bg-color-light);--redirect-bg-color-lighter: var(--bg-color-tertiary);--redirect-text-color: var(--text-color);--redirect-primary-color: var(--theme-color);--redirect-primary-hover-color: var(--theme-color-light);--redirect-primary-text-color: var(--white)}.search-box{--search-bg-color: var(--bg-color);--search-accent-color: var(--theme-color);--search-text-color: var(--text-color);--search-border-color: var(--border-color);--search-item-text-color: var(--text-color-lighter);--search-item-focus-bg-color: var(--bg-color-secondary)}.waline-wrapper{--waline-bg-color: var(--bg-color);--waline-bg-color-light: var(--bg-color-secondary);--waline-text-color: var(--text-color);--waline-border: 1px solid var(--border-color);--waline-border-color: var(--border-color);--waline-theme-color: var(--theme-color);--waline-active-color: var(--theme-color-light)}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:#7f7f7f1f;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:focus-visible,h2:focus-visible,h3:focus-visible,h4:focus-visible,h5:focus-visible,h6:focus-visible{outline:none}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{position:relative;color:inherit}a.header-anchor:hover:before{content:"¶";position:absolute;bottom:0;left:-.75em;color:var(--c-brand);font-size:.75em}a.header-anchor:focus-visible{outline:none}a.header-anchor:focus-visible:before{content:"¶";position:absolute;left:-.75em;color:var(--c-brand);outline:auto}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(odd){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,AAEAAAANAIAAAwBQRkZUTYr5mwEAAAyMAAAAHEdERUYAKQATAAAMbAAAAB5PUy8yVsJ0MgAAAVgAAABgY21hcBiKDzgAAAHcAAABWGdhc3D//wADAAAMZAAAAAhnbHlmr+DBdQAAA1AAAAdsaGVhZBZwt+8AAADcAAAANmhoZWEFawEuAAABFAAAACRobXR4BksA9gAAAbgAAAAibG9jYQlsC24AAAM0AAAAHG1heHAAEQBZAAABOAAAACBuYW1lLaFDVAAACrwAAAFrcG9zdAC1AHoAAAwoAAAAPAABAAAAAQAAqBd2H18PPPUACwQAAAAAANqqufwAAAAA2qq5/AAb/9wB4QMeAAAACAACAAAAAAAAAAEAAAMs/ywAXAH9AAAAAAHhAAEAAAAAAAAAAAAAAAAAAAAEAAEAAAANAFkAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAH1AZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAIABgMAAAAAAAAAAAABEAAAAAAAAAAAAAAAUGZFZADAADAAOQMs/ywAXAMsANQAAAABAAAAAAMYAAAAAAAgAAEBpwAfAAAAAAFVAAAB/QAfAH0ALQA+ABsAPgAyACgAPgAxAAAAAAADAAAAAwAAABwAAQAAAAAAUgADAAEAAAAcAAQANgAAAAQABAABAAAAOf//AAAAL///AAAAAQAEAAAAAAADAAQABQAGAAcACAAJAAoACwAMAAABBgAAAQAAAAAAAAABAgAAAAIAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAwQFBgcICQoLDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYAJgAmAGIAwAEeAZIBzgJAApYC2gNiA7YAAQAf/9wBhwMeABIAAAEGBwYHATAXFjM2NzY3ASYnJjcBgxwLCgH+zgMECxIKCgIBLgEDAwMDHhQFBgP85wMEAQgJBgMOAwMDEwAAAAIAH//9Ad0CkAAQACEAABMWFxYXNjc2NzQnJicGBwYHNyY3NjcWFxYXFAcGByYnJjcfATo6amo7OQE5OmxrOjkBXQIlJEE5IyIBIyJEOSQjAgFOkV5eBAReXoqJXl4EBF5eggJ0UlEDA09Qe3xVVgMDU1OEAAAAAAEAff/9AYACkQA+AAA3FAcGBwYHBiMGFQYXNjc2MzIXFhc2JzQnIicmJyY1JjURNjc2MSYnJicjBgcGBwYVFBUUFxYXNjc2NzIXFhXkAQEEBRgYDAMBBB4ZGhweGxofBAEDDBgZBQQBAQMEAQIDBAIFNTZCAgMDBA0XFw0LBQV3GBMVDAgEBAUKCgUCAQICAQIFCgoFBAQIDBUTGAGnLxkbBAYFAQIZGh4BAgECBQUEAwUHBwEICRYAAAAAAQAtAAAB0QKRADoAADcGFxYXITY3NjcmJyYjIgcGBwYHBisBNjc2NzY3NjUmJyYnBgcGBxQXFhc2NzY3FhcWFxYHBgcGBwYHLgEEAwMBYwURERADBwYFBAMDAg8VEx/LJkBAOhsQDwIxMkxSMjIHCAYGCSYmPTIfHwEBCgoeLkJBQg8EBQQCETAwKQICAgEBBCgUEylJSUYhJicsRDIzAgY1NRoEBQYBEyEhAwEjIjYlJCQtQlBQSAAAAAABAD7/+wG+ApEASgAANwYXFhcWFxYzNjc2NyYnJic2NzY3JicmIwYHBgcUFxYXNjc2NxYXFhcGBwYHBgcUFRQXNjc2NxYXFhcGBwYnIicmJyYnJiciBwYXPwEIBwUaHB0VZU5NBAMvLi8eIB4DAywsKzwrKxgEAwUIHR4wLRscAQMvLz8BAQYKEhEQNSYmAgImJSsWExQPCw0NFREMDQE7DgsLBQwFBgE8PWpMKSoGECQkMkAiIQIdHyUHBwcBCRscAwEbGSpCIyUOAgMCAwwIAwUEAQEoKD9XJSQBBQYODg8PAQ0NFQAAAgAb//oB4QKTACIAJQAANxQXFhchFRQXFjMyNzYjNTM2NzY1NCcmJyMRNCcmIwYHBgcBExEbAgMFASEJCRIdCAkBRgIBAQUEBTwFAwgHCQkG/vjmxgUGBgOwBQIBAwKzAgQDCBAMDQEBlAYGBgEICQf+cwEs/tQAAQA+//sBvgKTAEoAADcGFxYXFhcWMzY3NjcmJyYnIgcGBzY3NjczMjc2NzY3NjU0JyYnBgcGByMGBwYHFBcWMzY3NjMWFxYHBgcGJyInJicmJyYnIgcGFz8BCAcFGhwdFWVOTQQBMjJbFx8gFwoJCQlWKB0dFQ4JCAQDBQMdHSKXCREQEgMCBA4bGhNYJyUBAiYlKxYTFA8LDQ0VEQwNATsOCwsFDAUGATw9akU2NwMFBggrMC8uAgICExcZBgQCAgMBAwQBMVNUWAUFBAYFBAMxMTNZIyQBBQYODg8PAQ0NFQAAAgAy//oBzQKXACAAMwAANxQXFhc2NzY3NicmJyIHBgc2NzY3NCcmJwYHBgcGBwYXNyY3Njc2FxYXFgcGBwYHJicmNzM1NV5aOTsCAioqahoiIRsnWFhFAwIHQ0tMOTAZGQFbBAQaGxkXRB8fAQEfIDE9Hh4E511FRwQDPT1ZPEJBBQwLF4Y9PRMGCwwBEiwsPDZFRkkTHyAbCAcBAjAwREYsLQEFREVQAAAAAAEAKP/7AdUCiwApAAATFhcWMzI3Njc2NzYzIQYHBgcWFxYzMjcBNjc2NzQnJiMiBwYjIQYHBgcoAwYHAwYDAwELEBEdAQUJYWJXAQ8PDgcDAQ4LCQgBAQEEBhUVFv7JBgsNDAH6DQMCAQEFKRITFMjHjQcFBgMCPxYSEwoEAgMBAhkrKiAAAAADAD7/9wG/ApIAKABBAFgAADcGFxYXNjc2NyYnJicmJzQ3Njc2NyYnJiMGBwYHFhcWFxYVFAcGBwYHNyY3Njc2MzIzMhcyFxYXFhcGBwYHIicmNxMmNzY3FhcWFRQHBgcGByIjIicmJyY3PwE1M1ZQODgDAykpMQIBAyYlJQMCMC9HRjExAgIiIiMCAiMvLwNTBBQTKgEBAQECAQIBEjU1CAEdHjMrISICGAMYGSYvGxoTEx8CAQIBBAMfJCQBoU8tLQECMjFPOC4uGwIBAgEWJiU7SCYoAjEwQzopKhMBAgECEykpQAQsIiEbAQEBBywsQjUeHQEiI0QBZSMhIAECJiYvKh8gFAEBAhAfIEYAAAIAMf/6AcsClwAgADMAABMGFxYXMjc2NwYHBgcUFxYXNjc2NzY3NjUmJyYnBgcGBzcmNzY3FhcWFRQHBgcGJyYnJjc0AyopahoiIRsoV1hFAwIHQ0tMODEZGQE2NF5ZOjoBWgMfHzE9Hh4EGhoaF0QeHwUBy0dBQgUMCxeFPj0SBwsLAREsLD01RkVPV0dFBQQ8PU8UPCwtAQVFRUklIRsHCAECMDBPAAAADACWAAEAAAAAAAEABwAQAAEAAAAAAAIABwAoAAEAAAAAAAMABwBAAAEAAAAAAAQABwBYAAEAAAAAAAUAHgCeAAEAAAAAAAYABwDNAAMAAQQJAAEADgAAAAMAAQQJAAIADgAYAAMAAQQJAAMADgAwAAMAAQQJAAQADgBIAAMAAQQJAAUAPABgAAMAAQQJAAYADgC9AEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAFYAZQByAHMAaQBvAG4AIAAxAC4AMAA7ACAARgBvAG4AdABFAGQAaQB0AG8AcgAgACgAdgAxAC4AMAApAABWZXJzaW9uIDEuMDsgRm9udEVkaXRvciAodjEuMCkAAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAABAAIAEwAUABUAFgAXABgAGQAaABsAHAAAAAH//wACAAEAAAAMAAAAFgAAAAIAAQADAAwAAQAEAAAAAgAAAAAAAAABAAAAANWkJwgAAAAA2qq5/AAAAADaqrn8) format("truetype")}html,body{background:var(--bg-color)}: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)}html[data-theme=dark] code{background:#333}p a code{color:var(--theme-color)}blockquote{border-color:#eee;color:#666}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,hr{border-color:var(--border-color)}tr:nth-child(odd){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:auto;padding-inline:2.5rem;position:relative;z-index:2;padding-top:1rem;font-size:15px}@media (max-width: 959px){.vp-breadcrumb{padding-inline: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;font-size:1em}.vp-breadcrumb img.icon{vertical-align:-.125em;height:1em}.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(--grey-light);cursor:default;pointer-events:none}.vp-breadcrumb li+li:before{content:"/";color:var(--grey-light)}.toggle-sidebar-wrapper{position:fixed;top:var(--navbar-height);bottom:0;inset-inline-start:var(--sidebar-space);z-index:100;display:flex;align-items:center;justify-content:center;font-size:2rem;transition:inset-inline-start var(--transform-transition)}@media (max-width: 719px){.toggle-sidebar-wrapper{display:none}}@media (min-width: 1440px){.toggle-sidebar-wrapper{display:none}}.toggle-sidebar-wrapper:hover{background:#7f7f7f0d;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");background-position:center;background-repeat:no-repeat;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: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{inset-inline-start:0}.theme-container.no-sidebar .vp-page{padding-inline: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-items:stretch;place-content:stretch center;margin:1rem 0;text-align:start}@media print{.vp-features{display:block}}.vp-features:first-child{border-top:1px solid var(--border-color)}.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;height: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-block:.75rem;padding-inline:calc(var(--sidebar-space) + 2rem) 2rem;border-top:1px solid var(--border-color);background:var(--bg-color);color:var(--grey-dark);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:auto}.vp-hero-info-wrapper.fullscreen{height:calc(100vh - var(--navbar-height))!important}.vp-hero-info{z-index:1;width:100%;padding-inline:2.5rem}@media (max-width: 959px){.vp-hero-info{padding-inline: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%,#7509d9 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}}#main-description,.vp-hero-actions{margin:1.8rem 0}@media (max-width: 719px){#main-description,.vp-hero-actions{margin:1.5rem 0}}@media (max-width: 959px){#main-description,.vp-hero-actions{margin:1.5rem auto;text-align:center}}@media (max-width: 419px){#main-description,.vp-hero-actions{margin:1.2rem 0}}#main-description{max-width:35rem;color:var(--text-color-light);font-weight:500;font-size:1.6rem;line-height:1.3}@media (max-width: 719px){#main-description{font-size:1.4rem}}@media (max-width: 419px){#main-description{font-size:1.2rem}}.vp-hero-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-hero-action{padding:.5rem 1rem;font-size:1.1rem}}@media (max-width: 419px){.vp-hero-action{font-size:1rem}}@media print{.vp-hero-action{text-decoration:none}}.vp-hero-action:hover{background:var(--bg-color-tertiary)}.vp-hero-action.primary{border-color:var(--theme-color);background:var(--theme-color);color:var(--white)}.vp-hero-action.primary:hover{border-color:var(--theme-color-light);background:var(--theme-color-light)}.vp-project-home:not(.pure) .vp-hero-action:active{transform:scale(.96)}.vp-hero-action .icon{margin-inline-end:.25em}.vp-highlight-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.vp-highlight-wrapper:nth-child(odd) .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: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;font-size:1em}.vp-highlight-title img.icon{vertical-align:-.125em;height:1em}.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 var(--color-transition)}.vp-page.not-found .action-button:hover{background:var(--theme-color-light);cursor:pointer}.vp-page-nav{display:flex;flex-wrap:wrap;max-width:var(--content-width, 740px);min-height:2rem;margin-inline:auto;margin-top:0;padding-block:.5rem;padding-inline:2rem;border-top:1px solid var(--border-color)}@media (max-width: 959px){.vp-page-nav{padding-inline: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(--grey-light);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");background-position:center;background-repeat:no-repeat;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;font-size:1em}.vp-page-nav .prev img.icon{vertical-align:-.125em;height:1em}.vp-page-nav .next{text-align:end}.vp-page-nav .next .icon{margin-inline-start:.25em;font-size:1em}.vp-page-nav .next img.icon{vertical-align:-.125em;height:1em}.vp-page-title{max-width:var(--content-width, 740px);margin-inline:auto;padding-inline:2.5rem;position:relative;z-index:1;padding-top:1rem;padding-bottom:0}@media (max-width: 959px){.vp-page-title{padding-inline:1.5rem}}@media print{.vp-page-title{max-width:unset}}@media print{.vp-page-title{padding-inline: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}.vp-page-title h1 img.icon{vertical-align:-.125em;height:1em}.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{width:var(--content-width);margin-inline:auto}@media (max-width: 719px){.page-cover{width:100%}}.page-cover img{-o-object-fit:cover;object-fit:cover;width:100%;max-height:25vh;border-radius:.5rem}@media (max-width: 719px){.page-cover img{border-radius:0}}#vp-comment{max-width:var(--content-width, 740px);margin:0 auto;padding:2rem 2.5rem}@media (max-width: 959px){#vp-comment{padding:1.5rem}}@media (max-width: 419px){#vp-comment{padding:1rem 1.5rem}}@media print{#vp-comment{max-width:unset}}.vp-skip-link{top:.25rem;inset-inline-start:.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;-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);font-size:16px}@media (max-width: 419px){.theme-hope-content>div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}div[class*=language-]:before{content:attr(data-title);position:absolute;top:0;right:1em;z-index:3;color:var(--code-line-color);font-size:.75rem}div[class*=language-] pre{position:relative;z-index:1;scrollbar-gutter:stable}div[class*=language-] .highlight-lines{position:absolute;top:0;bottom:0;left:0;width:100%;padding:1rem 0;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)}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;top:0;bottom:0;left:0;z-index:2;width:var(--line-numbers-width);border-right:1px solid var(--code-highlight-line-color);border-radius:6px 0 0 6px}@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;bottom:0;left:0;display:flex;flex-direction:column;width:var(--line-numbers-width);padding:1rem 0;color:var(--code-line-color);counter-reset:line-number;text-align:center}@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;display:flex;flex:1;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-number:before{content:counter(line-number);display:block;font-size:.8em;line-height:1;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: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:not(.header-anchor):hover{text-decoration:underline}.theme-hope-content img{max-width:100%}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}html[data-theme=light]::view-transition-old(root),html[data-theme=dark]::view-transition-new(root){z-index:1}html[data-theme=light]::view-transition-new(root),html[data-theme=dark]::view-transition-old(root){z-index:99999}@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:#0000001a}}html[dir=rtl] a.header-anchor:before{right:-.75em}#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}:root{scrollbar-width:thin}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track-piece{border-radius:6px;background:#0000001a}::-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(--grey-dark);border-radius:.75em;background:var(--bg-color);font-size:.75em;line-height:1.5!important}.page-info{display:flex;flex-wrap:wrap;align-items:center;place-content:stretch flex-start;color:var(--grey-dark);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)}.vp-page-meta{max-width:var(--content-width, 740px);margin-inline:auto;padding-inline:2.5rem;display:flex;flex-wrap:wrap;justify-content:space-between;overflow:auto;padding-top:.75rem;padding-bottom:.75rem}@media (max-width: 959px){.vp-page-meta{padding-inline:1.5rem}}@media print{.vp-page-meta{max-width:unset}}@media print{.vp-page-meta{margin:0!important;padding-inline:0!important}}@media (max-width: 719px){.vp-page-meta{display:block}}.vp-page-meta .vp-meta-item{flex-grow:1}.vp-page-meta .vp-meta-item .vp-meta-label{font-weight:500}.vp-page-meta .vp-meta-item .vp-meta-label:not(a){color:var(--text-color-lighter)}.vp-page-meta .vp-meta-item .vp-meta-info{color:var(--grey-dark);font-weight:400}.vp-page-meta .git-info{text-align:end}.vp-page-meta .edit-link{margin-top:.25rem;margin-bottom:.25rem;margin-inline-end:.5rem;font-size:14px}@media print{.vp-page-meta .edit-link{display:none}}.vp-page-meta .edit-link .icon{position:relative;bottom:-.125em;width:1em;height:1em;margin-inline-end:.25em}.vp-page-meta .update-time,.vp-page-meta .contributors{margin-top:.25rem;margin-bottom:.25rem;font-size:14px}@media (max-width: 719px){.vp-page-meta .update-time,.vp-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}.vp-toc-placeholder{margin-inline:auto;padding-inline:2.5rem;position:sticky;top:calc(var(--navbar-height) + .5rem);z-index:99;display:none;max-width:var(--content-width, 740px)}@media (max-width: 959px){.vp-toc-placeholder{padding-inline:1.5rem}}@media print{.vp-toc-placeholder{max-width:unset}}@media (max-width: 719px){.hide-navbar .vp-toc-placeholder{top:.5rem}}@media (min-width: 1440px){.vp-toc-placeholder{top:calc(var(--navbar-height) + 2rem)}}@media print{.vp-toc-placeholder{display:none!important}}.vp-toc-placeholder+.theme-hope-content:not(.custom){padding-top:0}.has-toc .vp-toc-placeholder{display:block}#toc{margin-bottom:1rem;border-radius:8px;background:var(--bg-color-secondary)}@media (min-width: 1440px){#toc{position:absolute;inset-inline-start:calc(100% + 1rem);min-width:10rem;max-width:15rem;margin-bottom:0;border-radius:0;background:transparent}}.vp-toc-header{padding:.5rem 1rem;font-weight:600}@media (min-width: 1440px){.vp-toc-header{padding-top:0;font-size:.875rem}}.vp-toc-header .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");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s}html[data-theme=dark] .vp-toc-header .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-toc-header .arrow.down{transform:rotate(180deg)}html[dir=rtl] .vp-toc-header .arrow.down{transform:rotate(-180deg)}.vp-toc-header .arrow.end{transform:rotate(90deg)}html[dir=rtl] .vp-toc-header .arrow.end,.vp-toc-header .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .vp-toc-header .arrow.start{transform:rotate(90deg)}@media (min-width: 1440px){.vp-toc-header .arrow{display:none}}.vp-toc-header .print-button{display:none}@media (min-width: 1440px){.vp-toc-header .print-button{display:inline-block}}.vp-toc-wrapper{position:relative;overflow:hidden auto;height:0;max-height:8rem;margin:0 .5rem;padding-inline-start:8px;text-overflow:ellipsis;white-space:nowrap;transition:height .5s;scroll-behavior:smooth}@media (min-width: 1440px){.vp-toc-wrapper{height:auto;max-height:75vh}}.vp-toc-wrapper.open{height:auto;margin-top:.5rem;padding-bottom:.5rem}.vp-toc-wrapper::-webkit-scrollbar-track-piece{background:transparent}.vp-toc-wrapper::-webkit-scrollbar{width:3px}.vp-toc-wrapper::-webkit-scrollbar-thumb:vertical{background:#ddd}html[data-theme=dark] .vp-toc-wrapper::-webkit-scrollbar-thumb:vertical{background:#333}.vp-toc-wrapper:before{content:" ";position:absolute;top:0;bottom:0;inset-inline-start:0;z-index:-1;width:2px;background:var(--border-color)}.vp-toc-list{position:relative;margin:0;padding:0}.vp-toc-marker{position:absolute;top:0;inset-inline-start:0;z-index:2;display:none;width:2px;height:1.7rem;background:var(--theme-color);transition:top var(--transform-transition)}@media (min-width: 1440px){.vp-toc-marker{display:block}}.vp-toc-link{position:relative;display:block;overflow:hidden;max-width:100%;color:var(--grey-light);line-height:inherit;text-overflow:ellipsis;white-space:nowrap}.vp-toc-link.level2{padding-inline-start:0px;font-size:14px}.vp-toc-link.level3{padding-inline-start:8px;font-size:13px}.vp-toc-link.level4{padding-inline-start:16px;font-size:12px}.vp-toc-link.level5{padding-inline-start:24px;font-size:11px}.vp-toc-link.level6{padding-inline-start:32px;font-size:10px}.vp-toc-item{position:relative;box-sizing:border-box;height:1.7rem;list-style:none;line-height:1.7rem}@media (min-width: 1440px){.vp-toc-item{padding:0 .5rem}}.vp-toc-item:hover>.vp-toc-link{color:var(--theme-color)}.vp-toc-item.active>.vp-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(--grey-dark);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");background-position:center;background-repeat:no-repeat;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%;inset-inline-end: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)}.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(--grey-dark);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(--grey-light);font-weight:600;font-size:.75rem;line-height:2;text-transform:uppercase}.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(--grey-dark);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");background-position:center;background-repeat:no-repeat;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(--grey-light);font-weight:600;font-size:.75rem;line-height:2;text-transform:uppercase}.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}.nav-screen-links .nav-link{display:inline-block;width:100%;color:var(--grey-dark);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;inset:var(--navbar-height) 0 0 0;z-index:150;display:none;overflow-y:auto;padding:0 2rem;background:var(--bg-color)}@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;font-size:1em}#nav-screen img.icon{vertical-align:-.125em;height:1em}.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 .vp-nav-item{position:relative;margin:0 .25rem;line-height:2rem}.vp-navbar .vp-nav-item:first-child{margin-inline-start:0}.vp-navbar .vp-nav-item:last-child{margin-inline-end:0}.vp-navbar .vp-nav-item>.nav-link{color:var(--grey-dark)}.vp-navbar .vp-nav-item>.nav-link:after{content:" ";position:absolute;inset:auto 50% 0;height:2px;border-radius:1px;background:var(--theme-color-light);visibility:hidden;transition:inset .2s ease-in-out}.vp-navbar .vp-nav-item>.nav-link.active{color:var(--theme-color)}.vp-navbar .vp-nav-item>.nav-link:hover:after,.vp-navbar .vp-nav-item>.nav-link.active:after{inset:auto 0 0;visibility:visible}.vp-navbar{--navbar-line-height: calc( var(--navbar-height) - var(--navbar-vertical-padding) * 2 );position:fixed;inset:0 0 auto;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 var(--transform-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(--grey-dark)}.vp-navbar .nav-link.active{color:var(--theme-color)}.vp-navbar .nav-link .icon{margin-inline-end:.25em;font-size:1em}.vp-navbar .nav-link img.icon{vertical-align:-.125em;height: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-action{margin:0!important}.vp-navbar .vp-action-link{display:inline-block;margin:auto;padding:6px;color:var(--grey-dark);line-height:1}.vp-navbar .vp-action-link:hover,.vp-navbar .vp-action-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(--grey-dark);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(--grey-dark);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(--grey-light);font-weight:600;font-size:.75rem;line-height:2}#appearance-switch{border-width:0;background:transparent;vertical-align:middle;padding:6px;color:var(--grey-dark);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(--grey-dark)}.outlook-button .icon{vertical-align:middle;width:1.25rem;height:1.25rem}.outlook-dropdown{position:absolute;top:100%;inset-inline-end: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)}.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(--grey-light);font-weight:600;font-size:.75rem;line-height:2}#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:#096dd9}:root.theme-1{--theme-colo: #2196f3;--theme-color-light: #37a1f4;--theme-color-dark: #0d89ec;--theme-color-mask: rgba(33, 150, 243, .15)}:root.theme-2{--theme-colo: #f26d6d;--theme-color-light: #f37c7c;--theme-color-dark: #ef4d4d;--theme-color-mask: rgba(242, 109, 109, .15)}:root.theme-3{--theme-colo: #3eaf7c;--theme-color-light: #4abf8a;--theme-color-dark: #389e70;--theme-color-mask: rgba(62, 175, 124, .15)}:root.theme-4{--theme-colo: #fb9b5f;--theme-color-light: #fba56f;--theme-color-dark: #fa863d;--theme-color-mask: rgba(251, 155, 95, .15)}@media print{.full-screen-wrapper{display:none}}.full-screen-title{display:block;margin:0;padding:0 .25rem;color:var(--grey-light);font-weight:600;font-size:.75rem;line-height:2}.full-screen,.cancel-full-screen{border-width:0;background:transparent;vertical-align:middle;padding:.375rem;color:var(--grey-dark);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(--grey-dark)}.vp-sidebar-header{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-header.open{color:inherit}.vp-sidebar-header.clickable:hover{background:var(--bg-color-secondary)}.vp-sidebar-header.clickable.exact{border-inline-start-color:var(--theme-color);color:var(--theme-color)}.vp-sidebar-header.clickable.exact a{color:inherit}.vp-sidebar-header .vp-sidebar-title{flex:1}.vp-sidebar-header .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");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s;font-size:1.5em}html[data-theme=dark] .vp-sidebar-header .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-header .vp-arrow.down{transform:rotate(180deg)}html[dir=rtl] .vp-sidebar-header .vp-arrow.down{transform:rotate(-180deg)}.vp-sidebar-header .vp-arrow.end{transform:rotate(90deg)}html[dir=rtl] .vp-sidebar-header .vp-arrow.end,.vp-sidebar-header .vp-arrow.start{transform:rotate(-90deg)}html[dir=rtl] .vp-sidebar-header .vp-arrow.start{transform:rotate(90deg)}button.vp-sidebar-header{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: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-group:not(.collapsible) .vp-sidebar-header:not(.clickable){color:inherit;cursor:auto}.vp-sidebar-group .vp-sidebar-group{padding-inline-start:.75rem}.vp-sidebar-group .vp-sidebar-group .vp-sidebar-header{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 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;inset-inline-start: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: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}}.vp-sidebar a{display:inline-block;color:var(--text-color);font-weight:400}.vp-sidebar .icon{margin-inline-end:.25em;font-size:1em}.vp-sidebar img.icon{vertical-align:-.125em;height:1em}.vp-sidebar.hide-icon .icon{display:none!important}.vp-sidebar-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9;background:#00000026}.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{--search-bg-color: #ffffff;--search-accent-color: #3eaf7c;--search-text-color: #2c3e50;--search-border-color: #eaecef;--search-item-text-color: #5d81a5;--search-item-focus-bg-color: #f3f4f5;--search-input-width: 8rem;--search-result-width: 20rem}.search-box{display:inline-block;position:relative;margin-left:1rem}@media print{.search-box{display:none}}.search-box input{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:text;width:var(--search-input-width);height:2rem;color:var(--search-text-color);display:inline-block;border:1px solid var(--search-border-color);border-radius:2rem;font-size:.9rem;line-height:2rem;padding:0 .5rem 0 2rem;outline:none;transition:all ease .3s;background:var(--search-bg-color) url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='12'%20height='13'%3e%3cg%20stroke-width='2'%20stroke='%23aaa'%20fill='none'%3e%3cpath%20d='M11.29%2011.71l-4-4'/%3e%3ccircle%20cx='5'%20cy='5'%20r='4'/%3e%3c/g%3e%3c/svg%3e") .6rem .5rem no-repeat;background-size:1rem}@media (max-width: 719px){.search-box input{cursor:pointer;width:0;border-color:transparent;position:relative}}.search-box input:focus{cursor:auto;border-color:var(--search-accent-color)}@media (max-width: 719px){.search-box input:focus{cursor:text;left:0;width:10rem}}@media (max-width: 419px){.search-box input:focus{width:8rem}}.search-box .suggestions{background:var(--search-bg-color);width:var(--search-result-width);position:absolute;top:2rem;right:0;border:1px solid var(--search-border-color);border-radius:6px;padding:.4rem;list-style-type:none}@media (max-width: 419px){.search-box .suggestions{width:calc(100vw - 4rem);right:-.5rem}}.search-box .suggestion{line-height:1.4;padding:.4rem .6rem;border-radius:4px;cursor:pointer}.search-box .suggestion a{white-space:normal;color:var(--search-item-text-color)}.search-box .suggestion.focus{background-color:var(--search-item-focus-bg-color)}.search-box .suggestion.focus a{color:var(--search-accent-color)}.search-box .suggestion .page-title{font-weight:600}.search-box .suggestion .page-header{font-size:.9em;margin-left:.25em}:root{--important-title-color: #230555;--important-bg-color: #f4eefe;--important-border-color: #a371f7;--important-code-bg-color: rgb(163 113 247 / 10%);--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%);--caution-title-color: #4b1113;--caution-bg-color: #ffebec;--caution-border-color: #e13238;--caution-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]{--important-title-color: #f4eefe;--important-bg-color: #230555;--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;--caution-title-color: #ffebec;--caution-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.important,.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.caution{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.important,.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.caution{margin-inline:-.75rem}}.hint-container.important .hint-container-title,.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.caution .hint-container-title{padding-inline-start:1.75rem}@media print{.hint-container.important .hint-container-title,.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.caution .hint-container-title{padding-inline-start:0}}.hint-container.important .hint-container-title:before,.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.caution .hint-container-title:before{content:" ";position:absolute;top:calc(50% - .6125em);inset-inline-start:0;width:1.25em;height:1.25em;background-position:left;background-repeat:no-repeat}@media print{.hint-container.important .hint-container-title:before,.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.caution .hint-container-title:before{display:none}}.hint-container.important p,.hint-container.info p,.hint-container.note p,.hint-container.tip p,.hint-container.warning p,.hint-container.caution p{line-height:1.5}.hint-container.important a,.hint-container.info a,.hint-container.note a,.hint-container.tip a,.hint-container.warning a,.hint-container.caution a{color:var(--vp-tc)}.hint-container.important{border-color:var(--important-border-color);background:var(--important-bg-color)}.hint-container.important>.hint-container-title{color:var(--important-title-color)}.hint-container.important>.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='M512 981.333a84.992 84.992 0 0 1-84.907-84.906h169.814A84.992 84.992 0 0 1 512 981.333zm384-128H128v-42.666l85.333-85.334v-256A298.325 298.325 0 0 1 448 177.92V128a64 64 0 0 1 128 0v49.92a298.325 298.325 0 0 1 234.667 291.413v256L896 810.667v42.666zm-426.667-256v85.334h85.334v-85.334h-85.334zm0-256V512h85.334V341.333h-85.334z' fill='%23a371f7'/%3E%3C/svg%3E")}.hint-container.important code{background:var(--important-code-bg-color)}.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.caution{border-color:var(--caution-border-color);background:var(--caution-bg-color)}.hint-container.caution>.hint-container-title{color:var(--caution-title-color)}.hint-container.caution>.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.caution code{background:var(--caution-code-bg-color)}.hint-container.details{position:relative;display:block;margin:1rem 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 (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-block:1.5rem;padding-inline:4rem 1.5rem;list-style:none;cursor:pointer}.hint-container.details summary::-webkit-details-marker{display:none}.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);inset-inline-start:1.5rem;width:1.5rem;height:1.5rem}.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)}@keyframes bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(1.1,.9) translateY(0)}30%{transform:scale(.9,1.1) translateY(-.5em)}50%{transform:scale(1.05,.95) translateY(0)}57%{transform:scale(1) translateY(-.125em)}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}.nav-link:hover .icon,.vp-project-card:hover .icon,.vp-page-title h1:hover .icon,.vp-project-home .vp-feature-item:hover .icon{animation-name:bounce;animation-duration:1s;animation-timing-function:cubic-bezier(.28,.84,.42,1);animation-delay:0s;animation-direction:normal}.vp-project-home .vp-feature-item{position:relative;overflow:hidden}.vp-project-home .vp-feature-item:before{content:" ";position:absolute;top:0;bottom:0;width:300%;height:300%;background:#ffffff80;transition:transform .6s;transform:scale3d(1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,-125%,0)}@media print{.vp-project-home .vp-feature-item:before{display:none}}html[data-theme=dark] .vp-project-home .vp-feature-item:before{background:#ffffff26}html[dir=rtl] .vp-project-home .vp-feature-item:before{transform:scale3d(-1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,-125%,0)}.vp-project-home .vp-feature-item:hover:before{transform:scale3d(1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,125%,0)}html[dir=rtl] .vp-project-home .vp-feature-item:hover:before{transform:scale3d(-1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,125%,0)} diff --git a/docs/.vuepress/dist/assets/what-is-nodejs.html-Cm_cQes4.js b/docs/.vuepress/dist/assets/what-is-nodejs.html-Cm_cQes4.js new file mode 100644 index 0000000..86eaa37 --- /dev/null +++ b/docs/.vuepress/dist/assets/what-is-nodejs.html-Cm_cQes4.js @@ -0,0 +1 @@ +import{_ as o}from"./plugin-vue_export-helper-DlAUqK2U.js";import{r as s,o as n,c as a,b as i,d as e,e as r,w as d,a as l}from"./app-DxD832dz.js";const c={},h=l('

In this guide, we'll explore what Node.js is, how it works, and its various use cases.

Understanding Node.js

Node.js is an open-source server environment that enables the execution of JavaScript code outside of a web browser. It's free, versatile, and runs seamlessly on various platforms including Windows, Linux, Unix, and macOS.

Unlike traditional web development, where JavaScript is mainly used for client-side scripting, Node.js enables you to execute JavaScript on the server-side.

How Does Node.js Work?

At its core, Node.js is built on Chrome's V8 JavaScript engine, which makes it fast and efficient. It uses an event-driven, non-blocking I/O model, which means that it can handle thousands of simultaneous connections without getting bogged down by blocking operations.

Why Node.js?

One of the key reasons Node.js stands out is its asynchronous programming model. Traditionally, web servers would wait while performing tasks like opening files.

Node.js, however, sends tasks to the computer's file system and proceeds to handle the next request without waiting. This non-blocking, asynchronous approach enhances efficiency and responsiveness, making Node.js an excellent choice for handling concurrent operations.

Use Cases of Node.js

  • Generate Dynamic Page Content: Node.js can dynamically generate web page content, making it a powerful tool for building dynamic web applications.
  • File System Operations: With Node.js, you can perform various file system operations such as creating, opening, reading, writing, and deleting files on the server.
  • Handle Form Data: Node.js can collect form data submitted by users on web forms.
  • Database Operations: Node.js facilitates database operations, allowing you to add, delete, and modify data in your database.

Anatomy of a Node.js File

Node.js files contain tasks that execute in response to specific events, such as a user attempting to access a port on the server. These files, typically denoted with a ".js" extension, must be initiated on the server to take effect.

',13);function p(u,m){const t=s("RouteLink");return n(),a("div",null,[h,i("p",null,[e("With this foundational understanding of Node.js, you're ready to dive deeper into its capabilities and explore "),r(t,{to:"/docs/"},{default:d(()=>[e("server-side JavaScript development")]),_:1}),e(".")])])}const j=o(c,[["render",p],["__file","what-is-nodejs.html.vue"]]),w=JSON.parse(`{"path":"/get-started/what-is-nodejs.html","title":"What is Node.js?","lang":"en-US","frontmatter":{"title":"What is Node.js?","index":true,"icon":"book-open","category":["Getting started"],"footer":false,"description":"In this guide, we'll explore what Node.js is, how it works, and its various use cases. Understanding Node.js Node.js is an open-source server environment that enables the execut...","head":[["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/get-started/what-is-nodejs.html"}],["meta",{"property":"og:site_name","content":"Node.js Docs"}],["meta",{"property":"og:title","content":"What is Node.js?"}],["meta",{"property":"og:description","content":"In this guide, we'll explore what Node.js is, how it works, and its various use cases. Understanding Node.js Node.js is an open-source server environment that enables the execut..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-04-15T20:12:13.000Z"}],["meta",{"property":"article:author","content":"Aahil"}],["meta",{"property":"article:modified_time","content":"2024-04-15T20:12:13.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"What is Node.js?\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-04-15T20:12:13.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Aahil\\",\\"url\\":\\"https://linktr.ee/thecr3ator\\"}]}"]]},"headers":[{"level":2,"title":"Understanding Node.js","slug":"understanding-node-js","link":"#understanding-node-js","children":[{"level":3,"title":"How Does Node.js Work?","slug":"how-does-node-js-work","link":"#how-does-node-js-work","children":[]},{"level":3,"title":"Why Node.js?","slug":"why-node-js","link":"#why-node-js","children":[]},{"level":3,"title":"Use Cases of Node.js","slug":"use-cases-of-node-js","link":"#use-cases-of-node-js","children":[]},{"level":3,"title":"Anatomy of a Node.js File","slug":"anatomy-of-a-node-js-file","link":"#anatomy-of-a-node-js-file","children":[]}]}],"git":{"createdTime":1713203996000,"updatedTime":1713211933000,"contributors":[{"name":"Aahil","email":"onyeanunaprince@gmail.com","commits":2}]},"readingTime":{"minutes":1.17,"words":350},"filePathRelative":"get-started/what-is-nodejs.md","localizedDate":"April 15, 2024","autoDesc":true}`);export{j as comp,w as data}; diff --git a/docs/.vuepress/dist/docs/Basics/Email.html b/docs/.vuepress/dist/docs/Basics/Email.html new file mode 100644 index 0000000..ed04f40 --- /dev/null +++ b/docs/.vuepress/dist/docs/Basics/Email.html @@ -0,0 +1,78 @@ + + + + + + + + + + Email | Node.js Docs + + + + + +
Skip to main content

Email

Aahil...Less than 1 minuteDocs-Basics

In this tutorial, we'll explore how to use the Nodemailer module to send emails from your Node.js server.

The Nodemailer Module

The Nodemailer module simplifies the process of sending emails from your computer. You can easily download and install the Nodemailer module using npm:

npm install nodemailer
+

After installing the Nodemailer module, you can include it in any application:

var nodemailer = require('nodemailer');
+

Sending an Email

Now that you've installed the Nodemailer module, you're ready to send emails from your server. Let's walk through an example of sending an email using your Gmail account:

var nodemailer = require('nodemailer');
+
+var transporter = nodemailer.createTransport({
+  service: 'gmail',
+  auth: {
+    user: 'youremail@gmail.com',
+    pass: 'yourpassword'
+  }
+});
+
+var mailOptions = {
+  from: 'youremail@gmail.com',
+  to: 'myfriend@yahoo.com',
+  subject: 'Sending Email using Node.js',
+  text: 'That was easy!'
+};
+
+transporter.sendMail(mailOptions, function(error, info){
+  if (error) {
+    console.log(error);
+  } else {
+    console.log('Email sent: ' + info.response);
+  }
+});
+

And that's it! Your server is now capable of sending emails.

Multiple Receivers

To send an email to multiple receivers, simply add them to the to property of the mailOptions object, separated by commas:

var mailOptions = {
+  from: 'youremail@gmail.com',
+  to: 'myfriend@yahoo.com, myotherfriend@yahoo.com',
+  subject: 'Sending Email using Node.js',
+  text: 'That was easy!'
+}
+

Send HTML

If you want to send HTML-formatted text in your email, use the html property instead of the text property:

var mailOptions = {
+  from: 'youremail@gmail.com',
+  to: 'myfriend@yahoo.com',
+  subject: 'Sending Email using Node.js',
+  html: '<h1>Welcome</h1><p>That was easy!</p>'
+}
+

That's all you need to know to start sending emails from your Node.js server using the Nodemailer module.

+ + + diff --git a/docs/.vuepress/dist/docs/Basics/Events.html b/docs/.vuepress/dist/docs/Basics/Events.html new file mode 100644 index 0000000..3794a37 --- /dev/null +++ b/docs/.vuepress/dist/docs/Basics/Events.html @@ -0,0 +1,60 @@ + + + + + + + + + + Events | Node.js Docs + + + + + +
Skip to main content

Events

Aahil...Less than 1 minuteDocs-Basics

In this tutorial, we'll explore how Node.js is ideal for building event-driven applications.

Events in Node.js

Node.js is well-suited for event-driven applications, where every action on a computer is treated as an event. For example, when a connection is made or a file is opened, these are considered events.

Objects in Node.js can fire events, such as the readStream object which fires events when opening and closing a file. Let's see an example:

var fs = require('fs');
+var rs = fs.createReadStream('./demofile.txt');
+rs.on('open', function () {
+  console.log('The file is open');
+});
+

Events Module

Node.js provides a built-in module called "Events" that allows you to create, fire, and listen for your own events.

To include the built-in Events module, use the require() method. Additionally, all event properties and methods are instances of an EventEmitter object. To access these properties and methods, create an EventEmitter object:

var events = require('events');
+var eventEmitter = new events.EventEmitter();
+

The EventEmitter Object

You can assign event handlers to your own events using the EventEmitter object. In the following example, we've created a function that will be executed when a "scream" event is fired. To fire an event, use the emit() method.

var events = require('events');
+var eventEmitter = new events.EventEmitter();
+
+// Create an event handler:
+var myEventHandler = function () {
+  console.log('I hear a scream!');
+}
+
+// Assign the event handler to an event:
+eventEmitter.on('scream', myEventHandler);
+
+// Fire the 'scream' event:
+eventEmitter.emit('scream');
+
+ + + diff --git a/docs/.vuepress/dist/docs/Basics/File System.html b/docs/.vuepress/dist/docs/Basics/File System.html new file mode 100644 index 0000000..ac070d4 --- /dev/null +++ b/docs/.vuepress/dist/docs/Basics/File System.html @@ -0,0 +1,93 @@ + + + + + + + + + + File System | Node.js Docs + + + + + +
Skip to main content

File System

Aahil...About 1 minDocs-Basics

In this tutorial, we'll explore how to work with the file system on your computer using Node.js.

Node.js as a File Server

The Node.js file system module allows you to perform various operations on files, such as reading, creating, updating, deleting, and renaming files. To include the File System module, use the require() method:

var fs = require('fs');
+

Read Files

The fs.readFile() method is used to read files on your computer. Let's see an example of reading an HTML file:

var http = require('http');
+var fs = require('fs');
+
+http.createServer(function (req, res) {
+  fs.readFile('demofile1.html', function(err, data) {
+    res.writeHead(200, {'Content-Type': 'text/html'});
+    res.write(data);
+    return res.end();
+  });
+}).listen(8080);
+

Create Files

The File System module provides methods for creating new files, such as fs.appendFile(), fs.open(), and fs.writeFile(). Let's see examples of creating new files:

var fs = require('fs');
+
+fs.appendFile('mynewfile1.txt', 'Hello content!', function (err) {
+  if (err) throw err;
+  console.log('Saved!');
+});
+
var fs = require('fs');
+
+fs.open('mynewfile2.txt', 'w', function (err, file) {
+  if (err) throw err;
+  console.log('Saved!');
+});
+
var fs = require('fs');
+
+fs.writeFile('mynewfile3.txt', 'Hello content!', function (err) {
+  if (err) throw err;
+  console.log('Saved!');
+});
+

Update and Delete Files

The File System module also provides methods for updating and deleting files, such as fs.appendFile(), fs.writeFile(), and fs.unlink(). Let's see examples of updating and deleting files:

var fs = require('fs');
+
+fs.appendFile('mynewfile1.txt', ' This is my text.', function (err) {
+  if (err) throw err;
+  console.log('Updated!');
+});
+
var fs = require('fs');
+
+fs.writeFile('mynewfile3.txt', 'This is my text', function (err) {
+  if (err) throw err;
+  console.log('Replaced!');
+});
+
var fs = require('fs');
+
+fs.unlink('mynewfile2.txt', function (err) {
+  if (err) throw err;
+  console.log('File deleted!');
+});
+

Rename Files

To rename a file, use the fs.rename() method:

var fs = require('fs');
+
+fs.rename('mynewfile1.txt', 'myrenamedfile.txt', function (err) {
+  if (err) throw err;
+  console.log('File Renamed!');
+});
+

You can perform various file operations easily using these methods 📁

+ + + diff --git a/docs/.vuepress/dist/docs/Basics/HTTP Modules.html b/docs/.vuepress/dist/docs/Basics/HTTP Modules.html new file mode 100644 index 0000000..cb89f1a --- /dev/null +++ b/docs/.vuepress/dist/docs/Basics/HTTP Modules.html @@ -0,0 +1,71 @@ + + + + + + + + + + HTTP Modules | Node.js Docs + + + + + +
Skip to main content

HTTP Modules

Aahil...About 1 minDocs-Basics

Let's explore how Node.js utilizes the built-in HTTP module to transfer data over the Hyper Text Transfer Protocol (HTTP).

The Built-in HTTP Module

Node.js provides a built-in module called HTTP, which allows you to create HTTP servers and handle HTTP requests and responses. To include the HTTP module, use the require() method:

var http = require('http');
+

Node.js as a Web Server

With the HTTP module, Node.js can act as a web server by creating an HTTP server that listens to server ports and responds to client requests. Use the createServer() method to create an HTTP server:

var http = require('http');
+
+// Create a server object:
+http.createServer(function (req, res) {
+  res.write('Hello World!'); // Write a response to the client
+  res.end(); // End the response
+}).listen(8080); // The server object listens on port 8080
+

The function passed into the http.createServer() method will be executed when someone tries to access the computer on port 8080.

Add an HTTP Header

To display the response from the HTTP server as HTML, include an HTTP header with the correct content type:

var http = require('http');
+
+http.createServer(function (req, res) {
+  res.writeHead(200, {'Content-Type': 'text/html'});
+  res.write('Hello World!');
+  res.end();
+}).listen(8080);
+

The first argument of the res.writeHead() method is the status code, where 200 means that all is OK, and the second argument is an object containing the response headers.

Read the Query String

The req argument of the function passed into http.createServer() represents the request from the client as an object (http.IncomingMessage object). It has a property called "url" which holds the part of the URL that comes after the domain name:

var http = require('http');
+
+http.createServer(function (req, res) {
+  res.writeHead(200, {'Content-Type': 'text/html'});
+  res.write(req.url);
+  res.end();
+}).listen(8080);
+

Split the Query String

You can easily split the query string into readable parts using the built-in URL module:

var http = require('http');
+var url = require('url');
+
+http.createServer(function (req, res) {
+  res.writeHead(200, {'Content-Type': 'text/html'});
+  var q = url.parse(req.url, true).query;
+  var txt = q.year + " " + q.month;
+  res.end(txt);
+}).listen(8080);
+
+ + + diff --git a/docs/.vuepress/dist/docs/Basics/Modules.html b/docs/.vuepress/dist/docs/Basics/Modules.html new file mode 100644 index 0000000..d9f6f52 --- /dev/null +++ b/docs/.vuepress/dist/docs/Basics/Modules.html @@ -0,0 +1,59 @@ + + + + + + + + + + Modules | Node.js Docs + + + + + +
Skip to main content

Modules

Aahil...About 2 minDocs-Basics

In this tutorial, we'll explore how modules work in Node.js, including built-in modules and how to create and include your own modules.

What is a Module in Node.js?

In Node.js, modules are similar to JavaScript libraries. They consist of a set of functions or pieces of code that you can include in your application.

Built-in Modules

Node.js comes with a rich set of built-in modules that you can use right out of the box, without any additional installation. These modules provide essential functionalities for various tasks.

Here's a list of some built-in modules available in Node.js version 6.10.3:

ModuleDescription
assertProvides a set of assertion tests
bufferHandles binary data
child_processRuns a child process
clusterSplits a single Node process into multiple processes
cryptoHandles OpenSSL cryptographic functions
dgramProvides implementation of UDP datagram sockets
dnsPerforms DNS lookups and name resolution functions
domainDeprecated. Handles unhandled errors
eventsHandles events
fsHandles the file system
httpMakes Node.js act as an HTTP server
httpsMakes Node.js act as an HTTPS server
netCreates servers and clients
osProvides information about the operating system
pathHandles file paths
punycodeDeprecated. A character encoding scheme
querystringHandles URL query strings
readlineHandles readable streams one line at a time
streamHandles streaming data
string_decoderDecodes buffer objects into strings
timersExecutes a function after a given number of milliseconds
tlsImplements TLS and SSL protocols
ttyProvides classes used by a text terminal
urlParses URL strings
utilAccesses utility functions
v8Accesses information about V8 (the JavaScript engine)
vmCompiles JavaScript code in a virtual machine
zlibCompresses or decompresses files

To include a built-in module, use the require() function with the name of the module:

var http = require('http');
+

Now your application has access to the HTTP module, allowing you to create a server like this:

http.createServer(function (req, res) {
+  res.writeHead(200, {'Content-Type': 'text/html'});
+  res.end('Hello World!');
+}).listen(8080);
+

Create Your Own Modules

You can also create your own modules and easily include them in your applications. Let's create an example module that returns the current date and time:

// myfirstmodule.js
+
+exports.myDateTime = function () {
+  return Date();
+};
+

Use the exports keyword to make properties and methods available outside the module file.

Include Your Own Module

Now that you've created your own module, you can include and use it in any of your Node.js files. Here's how to use the "myfirstmodule" module in a Node.js file:

var http = require('http');
+var dt = require('./myfirstmodule');
+
+http.createServer(function (req, res) {
+  res.writeHead(200, {'Content-Type': 'text/html'});
+  res.write("The date and time are currently: " + dt.myDateTime());
+  res.end();
+}).listen(8080);
+

Notice that we use ./ to locate the module, indicating that the module is located in the same folder as the Node.js file.

Save the code above in a file called "demo_module.js", and initiate the file:

C:\Users\Your Name>node demo_module.js
+
+ + + diff --git a/docs/.vuepress/dist/docs/Basics/NPM.html b/docs/.vuepress/dist/docs/Basics/NPM.html new file mode 100644 index 0000000..4973d93 --- /dev/null +++ b/docs/.vuepress/dist/docs/Basics/NPM.html @@ -0,0 +1,53 @@ + + + + + + + + + + NPM | Node.js Docs + + + + + +
Skip to main content

NPM

Aahil...About 1 minDocs-Basics

NPM, short for Node Package Manager, is a package manager designed specifically for Node.js packages or modules. It serves as a central repository where you can find and download thousands of free packages to use in your Node.js projects. You can explore available packages at www.npmjs.comopen in new window.

The NPM program comes pre-installed on your computer when you install Node.js, making it readily available for use without any additional setup.

What is a Package?

In the context of Node.js, a package contains all the files necessary for a module. Modules are JavaScript libraries that you can include and utilize within your projects.

Download a Package

Downloading a package using NPM is straightforward. Simply open your command line interface and instruct NPM to download the desired package. For example, to download a package named "upper-case", you would use the following command:

C:\Users\Your Name>npm install upper-case
+

This command will download and install the "upper-case" package onto your system. NPM creates a folder named "node_modules" where the downloaded package is placed. Any future packages you install will also be stored in this folder.

Using a Package

Once the package is installed, you can easily include it in your Node.js files just like any other module. For instance, to use the "upper-case" package, you would include it in your file as follows:

var uc = require('upper-case');
+

Now, you can utilize the functionalities provided by the "upper-case" package in your code. Here's an example of creating a Node.js file that converts the output "Hello World!" into uppercase letters using the "upper-case" package:

// demo_uppercase.js
+
+var http = require('http');
+var uc = require('upper-case');
+
+http.createServer(function (req, res) {
+  res.writeHead(200, {'Content-Type': 'text/html'});
+  res.write(uc.upperCase("Hello World!"));
+  res.end();
+}).listen(8080);
+

Save the above code in a file named "demo_uppercase.js" and execute it in your command line interface:

C:\Users\Your Name>node demo_uppercase.js
+
+ + + diff --git a/docs/.vuepress/dist/docs/Basics/URL Module.html b/docs/.vuepress/dist/docs/Basics/URL Module.html new file mode 100644 index 0000000..d9af306 --- /dev/null +++ b/docs/.vuepress/dist/docs/Basics/URL Module.html @@ -0,0 +1,86 @@ + + + + + + + + + + URL Module | Node.js Docs + + + + + +
Skip to main content

URL Module

Aahil...About 1 minDocs-Basics

In this tutorial, we'll explore how Node.js uses the built-in URL module to parse web addresses.

The Built-in URL Module

The URL module in Node.js helps split a web address into readable parts. To include the URL module, use the require() method:

var url = require('url');
+

You can parse a web address using the url.parse() method, which returns a URL object with each part of the address as properties:

var adr = 'http://localhost:8080/default.htm?year=2017&month=february';
+var q = url.parse(adr, true);
+
+console.log(q.host); // returns 'localhost:8080'
+console.log(q.pathname); // returns '/default.htm'
+console.log(q.search); // returns '?year=2017&month=february'
+
+var qdata = q.query; // returns an object: { year: 2017, month: 'february' }
+console.log(qdata.month); // returns 'february'
+

Node.js File Server

Now, let's combine our knowledge of parsing query strings with serving files using Node.js as a file server.

Step 1: Create HTML Files

Create two HTML files, summer.html and winter.html, and save them in the same folder as your Node.js files.

summer.html
<!DOCTYPE html>
+<html>
+<body>
+<h1>Summer</h1>
+<p>I love the sun!</p>
+</body>
+</html>
+
winter.html
<!DOCTYPE html>
+<html>
+<body>
+<h1>Winter</h1>
+<p>I love the snow!</p>
+</body>
+</html>
+

Step 2: Create the File Server

Now, create a Node.js file, demo_fileserver.js, that opens the requested file and returns its content to the client. If anything goes wrong, throw a 404 error:

var http = require('http');
+var url = require('url');
+var fs = require('fs');
+
+http.createServer(function (req, res) {
+  var q = url.parse(req.url, true);
+  var filename = "." + q.pathname;
+  fs.readFile(filename, function(err, data) {
+    if (err) {
+      res.writeHead(404, {'Content-Type': 'text/html'});
+      return res.end("404 Not Found");
+    } 
+    res.writeHead(200, {'Content-Type': 'text/html'});
+    res.write(data);
+    return res.end();
+  });
+}).listen(8080);
+

Remember to initiate the file:

C:\Users\Your Name>node demo_fileserver.js
+

If you have followed the same steps on your computer, you should see two different results when opening these two addresses:

+ + + diff --git a/docs/.vuepress/dist/docs/Basics/Upload Files.html b/docs/.vuepress/dist/docs/Basics/Upload Files.html new file mode 100644 index 0000000..ef7970c --- /dev/null +++ b/docs/.vuepress/dist/docs/Basics/Upload Files.html @@ -0,0 +1,67 @@ + + + + + + + + + + Upload Files | Node.js Docs + + + + + +
Skip to main content

Upload Files

Aahil...Less than 1 minuteDocs-Basics

In this tutorial, we'll explore how to upload files to your Node.js server using the Formidable module.

The Formidable Module

The "Formidable" module is an excellent tool for handling file uploads in Node.js applications. To use Formidable, you can install it via NPM:

C:\Users\Your Name>npm install formidable
+

Once installed, you can include Formidable in your application:

var formidable = require('formidable');
+

Upload Files

Now, let's create a web page in Node.js that allows users to upload files to your server.

Step 1: Create an Upload Form

First, create a Node.js file that generates an HTML form with an upload field:

var http = require('http');
+
+http.createServer(function (req, res) {
+  res.writeHead(200, {'Content-Type': 'text/html'});
+  res.write('<form action="fileupload" method="post" enctype="multipart/form-data">');
+  res.write('<input type="file" name="filetoupload"><br>');
+  res.write('<input type="submit">');
+  res.write('</form>');
+  return res.end();
+}).listen(8080);
+

Step 2: Parse the Uploaded File

To handle the uploaded file, include the Formidable module:

var formidable = require('formidable');
+

Then, parse the uploaded file:

var form = new formidable.IncomingForm();
+form.parse(req, function (err, fields, files) {
+  res.write('File uploaded');
+  res.end();
+});
+

Step 3: Save the File

Once the file is uploaded and parsed, it's placed in a temporary folder on your server. To move it to a permanent location, you can use the File System module:

var fs = require('fs');
+
+var oldpath = files.filetoupload.path;
+var newpath = 'C:/Users/Your Name/' + files.filetoupload.name;
+fs.rename(oldpath, newpath, function (err) {
+  if (err) throw err;
+  res.write('File uploaded and moved!');
+  res.end();
+});
+
+ + + diff --git a/docs/.vuepress/dist/docs/Basics/index.html b/docs/.vuepress/dist/docs/Basics/index.html new file mode 100644 index 0000000..e8ccb38 --- /dev/null +++ b/docs/.vuepress/dist/docs/Basics/index.html @@ -0,0 +1,40 @@ + + + + + + + + + + Basics | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/MongoDB/Collection.html b/docs/.vuepress/dist/docs/MongoDB/Collection.html new file mode 100644 index 0000000..9d6db9f --- /dev/null +++ b/docs/.vuepress/dist/docs/MongoDB/Collection.html @@ -0,0 +1,40 @@ + + + + + + + + + + Collection | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/MongoDB/Create Database.html b/docs/.vuepress/dist/docs/MongoDB/Create Database.html new file mode 100644 index 0000000..8217167 --- /dev/null +++ b/docs/.vuepress/dist/docs/MongoDB/Create Database.html @@ -0,0 +1,40 @@ + + + + + + + + + + Create Database | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/MongoDB/Delete.html b/docs/.vuepress/dist/docs/MongoDB/Delete.html new file mode 100644 index 0000000..bc17d04 --- /dev/null +++ b/docs/.vuepress/dist/docs/MongoDB/Delete.html @@ -0,0 +1,40 @@ + + + + + + + + + + Delete | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/MongoDB/Drop Collection.html b/docs/.vuepress/dist/docs/MongoDB/Drop Collection.html new file mode 100644 index 0000000..f77b08b --- /dev/null +++ b/docs/.vuepress/dist/docs/MongoDB/Drop Collection.html @@ -0,0 +1,40 @@ + + + + + + + + + + Drop Collection | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/MongoDB/Find.html b/docs/.vuepress/dist/docs/MongoDB/Find.html new file mode 100644 index 0000000..a22ba6a --- /dev/null +++ b/docs/.vuepress/dist/docs/MongoDB/Find.html @@ -0,0 +1,40 @@ + + + + + + + + + + Find | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/MongoDB/Insert.html b/docs/.vuepress/dist/docs/MongoDB/Insert.html new file mode 100644 index 0000000..59320a2 --- /dev/null +++ b/docs/.vuepress/dist/docs/MongoDB/Insert.html @@ -0,0 +1,40 @@ + + + + + + + + + + Insert | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/MongoDB/Join.html b/docs/.vuepress/dist/docs/MongoDB/Join.html new file mode 100644 index 0000000..447b793 --- /dev/null +++ b/docs/.vuepress/dist/docs/MongoDB/Join.html @@ -0,0 +1,40 @@ + + + + + + + + + + Join | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/MongoDB/Limit.html b/docs/.vuepress/dist/docs/MongoDB/Limit.html new file mode 100644 index 0000000..8117120 --- /dev/null +++ b/docs/.vuepress/dist/docs/MongoDB/Limit.html @@ -0,0 +1,40 @@ + + + + + + + + + + Limit | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/MongoDB/Query.html b/docs/.vuepress/dist/docs/MongoDB/Query.html new file mode 100644 index 0000000..f0db3d7 --- /dev/null +++ b/docs/.vuepress/dist/docs/MongoDB/Query.html @@ -0,0 +1,40 @@ + + + + + + + + + + Query | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/MongoDB/Sort.html b/docs/.vuepress/dist/docs/MongoDB/Sort.html new file mode 100644 index 0000000..053482a --- /dev/null +++ b/docs/.vuepress/dist/docs/MongoDB/Sort.html @@ -0,0 +1,40 @@ + + + + + + + + + + Sort | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/MongoDB/Update.html b/docs/.vuepress/dist/docs/MongoDB/Update.html new file mode 100644 index 0000000..a9624c7 --- /dev/null +++ b/docs/.vuepress/dist/docs/MongoDB/Update.html @@ -0,0 +1,40 @@ + + + + + + + + + + Update | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/MongoDB/index.html b/docs/.vuepress/dist/docs/MongoDB/index.html new file mode 100644 index 0000000..d35aef7 --- /dev/null +++ b/docs/.vuepress/dist/docs/MongoDB/index.html @@ -0,0 +1,40 @@ + + + + + + + + + + MongoDB | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/MongoDB/install_MongoDB.html b/docs/.vuepress/dist/docs/MongoDB/install_MongoDB.html new file mode 100644 index 0000000..e0eed5a --- /dev/null +++ b/docs/.vuepress/dist/docs/MongoDB/install_MongoDB.html @@ -0,0 +1,40 @@ + + + + + + + + + + Install MongoDB | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/MySQL/Create Database.html b/docs/.vuepress/dist/docs/MySQL/Create Database.html new file mode 100644 index 0000000..d7a59c8 --- /dev/null +++ b/docs/.vuepress/dist/docs/MySQL/Create Database.html @@ -0,0 +1,40 @@ + + + + + + + + + + Create Database | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/MySQL/Create Table.html b/docs/.vuepress/dist/docs/MySQL/Create Table.html new file mode 100644 index 0000000..28e980f --- /dev/null +++ b/docs/.vuepress/dist/docs/MySQL/Create Table.html @@ -0,0 +1,40 @@ + + + + + + + + + + Create Table | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/MySQL/Delete.html b/docs/.vuepress/dist/docs/MySQL/Delete.html new file mode 100644 index 0000000..24087c0 --- /dev/null +++ b/docs/.vuepress/dist/docs/MySQL/Delete.html @@ -0,0 +1,40 @@ + + + + + + + + + + Delete | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/MySQL/Drop Table.html b/docs/.vuepress/dist/docs/MySQL/Drop Table.html new file mode 100644 index 0000000..a0250dc --- /dev/null +++ b/docs/.vuepress/dist/docs/MySQL/Drop Table.html @@ -0,0 +1,40 @@ + + + + + + + + + + Drop Table | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/MySQL/Insert Into.html b/docs/.vuepress/dist/docs/MySQL/Insert Into.html new file mode 100644 index 0000000..5cfb169 --- /dev/null +++ b/docs/.vuepress/dist/docs/MySQL/Insert Into.html @@ -0,0 +1,40 @@ + + + + + + + + + + Insert Into | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/MySQL/Join.html b/docs/.vuepress/dist/docs/MySQL/Join.html new file mode 100644 index 0000000..f9b77a7 --- /dev/null +++ b/docs/.vuepress/dist/docs/MySQL/Join.html @@ -0,0 +1,40 @@ + + + + + + + + + + Join | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/MySQL/Limit.html b/docs/.vuepress/dist/docs/MySQL/Limit.html new file mode 100644 index 0000000..1801c82 --- /dev/null +++ b/docs/.vuepress/dist/docs/MySQL/Limit.html @@ -0,0 +1,40 @@ + + + + + + + + + + Limit | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/MySQL/Order By.html b/docs/.vuepress/dist/docs/MySQL/Order By.html new file mode 100644 index 0000000..dadd221 --- /dev/null +++ b/docs/.vuepress/dist/docs/MySQL/Order By.html @@ -0,0 +1,40 @@ + + + + + + + + + + Order By | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/MySQL/Select From.html b/docs/.vuepress/dist/docs/MySQL/Select From.html new file mode 100644 index 0000000..6a00a33 --- /dev/null +++ b/docs/.vuepress/dist/docs/MySQL/Select From.html @@ -0,0 +1,40 @@ + + + + + + + + + + Select From | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/MySQL/Update.html b/docs/.vuepress/dist/docs/MySQL/Update.html new file mode 100644 index 0000000..29a8bf2 --- /dev/null +++ b/docs/.vuepress/dist/docs/MySQL/Update.html @@ -0,0 +1,40 @@ + + + + + + + + + + Update | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/MySQL/Where.html b/docs/.vuepress/dist/docs/MySQL/Where.html new file mode 100644 index 0000000..6d4573a --- /dev/null +++ b/docs/.vuepress/dist/docs/MySQL/Where.html @@ -0,0 +1,40 @@ + + + + + + + + + + Where | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/MySQL/index.html b/docs/.vuepress/dist/docs/MySQL/index.html new file mode 100644 index 0000000..0576f3a --- /dev/null +++ b/docs/.vuepress/dist/docs/MySQL/index.html @@ -0,0 +1,40 @@ + + + + + + + + + + MySQL | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/MySQL/install_MySQL.html b/docs/.vuepress/dist/docs/MySQL/install_MySQL.html new file mode 100644 index 0000000..bffb0f0 --- /dev/null +++ b/docs/.vuepress/dist/docs/MySQL/install_MySQL.html @@ -0,0 +1,40 @@ + + + + + + + + + + Install MySQL | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/RaspberryPi/Blinking_LED.html b/docs/.vuepress/dist/docs/RaspberryPi/Blinking_LED.html new file mode 100644 index 0000000..7a8acf6 --- /dev/null +++ b/docs/.vuepress/dist/docs/RaspberryPi/Blinking_LED.html @@ -0,0 +1,40 @@ + + + + + + + + + + Blinking LED | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/RaspberryPi/Components.html b/docs/.vuepress/dist/docs/RaspberryPi/Components.html new file mode 100644 index 0000000..449f961 --- /dev/null +++ b/docs/.vuepress/dist/docs/RaspberryPi/Components.html @@ -0,0 +1,40 @@ + + + + + + + + + + Components | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/RaspberryPi/Flowing_LED.html b/docs/.vuepress/dist/docs/RaspberryPi/Flowing_LED.html new file mode 100644 index 0000000..f0512aa --- /dev/null +++ b/docs/.vuepress/dist/docs/RaspberryPi/Flowing_LED.html @@ -0,0 +1,40 @@ + + + + + + + + + + Flowing LED | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/RaspberryPi/GPIO_Introduction.html b/docs/.vuepress/dist/docs/RaspberryPi/GPIO_Introduction.html new file mode 100644 index 0000000..24df9ef --- /dev/null +++ b/docs/.vuepress/dist/docs/RaspberryPi/GPIO_Introduction.html @@ -0,0 +1,40 @@ + + + + + + + + + + GPIO Introduction | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/RaspberryPi/Install_RaspberryPi.html b/docs/.vuepress/dist/docs/RaspberryPi/Install_RaspberryPi.html new file mode 100644 index 0000000..5180aa4 --- /dev/null +++ b/docs/.vuepress/dist/docs/RaspberryPi/Install_RaspberryPi.html @@ -0,0 +1,40 @@ + + + + + + + + + + Install Raspberry Pi | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/RaspberryPi/LED___Pushbutton.html b/docs/.vuepress/dist/docs/RaspberryPi/LED___Pushbutton.html new file mode 100644 index 0000000..e1ef7da --- /dev/null +++ b/docs/.vuepress/dist/docs/RaspberryPi/LED___Pushbutton.html @@ -0,0 +1,40 @@ + + + + + + + + + + LED & Pushbutton | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/RaspberryPi/RGB_LED_WebSocket.html b/docs/.vuepress/dist/docs/RaspberryPi/RGB_LED_WebSocket.html new file mode 100644 index 0000000..080e311 --- /dev/null +++ b/docs/.vuepress/dist/docs/RaspberryPi/RGB_LED_WebSocket.html @@ -0,0 +1,40 @@ + + + + + + + + + + RGB LED WebSocket | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/RaspberryPi/WebSocket.html b/docs/.vuepress/dist/docs/RaspberryPi/WebSocket.html new file mode 100644 index 0000000..1f93e26 --- /dev/null +++ b/docs/.vuepress/dist/docs/RaspberryPi/WebSocket.html @@ -0,0 +1,40 @@ + + + + + + + + + + WebSocket | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/RaspberryPi/index.html b/docs/.vuepress/dist/docs/RaspberryPi/index.html new file mode 100644 index 0000000..934e1b0 --- /dev/null +++ b/docs/.vuepress/dist/docs/RaspberryPi/index.html @@ -0,0 +1,40 @@ + + + + + + + + + + Raspberry Pi | Node.js Docs + + + + + + + + + diff --git a/docs/.vuepress/dist/docs/index.html b/docs/.vuepress/dist/docs/index.html new file mode 100644 index 0000000..1f3b0dd --- /dev/null +++ b/docs/.vuepress/dist/docs/index.html @@ -0,0 +1,40 @@ + + + + + + + + + + Docs | Node.js Docs + + + + + +
Skip to main content

Docs

Aahil...About 1 minDocumentation

Welcome to the Node.js Documentation! In this comprehensive resource, you'll find detailed explanations of various Node.js concepts and functionalities. Let's explore the different sections together.

Basics

In the Basics section, you'll find essential topics that form the foundation of Node.js development. Here are some of the key topics covered:

  • File System: Learn how to perform file system operations such as reading, writing, and manipulating files using Node.js.
  • Modules: Understand how modules work in Node.js and how to create, import, and use them in your applications.
  • URL Module: Explore the URL module in Node.js, which provides utilities for URL resolution and parsing.

MongoDB

In the MongoDB section, you'll delve into MongoDB integration with Node.js. Topics include:

  • Querying: Learn how to query MongoDB databases using Node.js, including filtering, sorting, and limiting results.
  • Find Operations: Understand how to find documents in MongoDB collections using Node.js, along with advanced querying techniques.
  • Sort Operations: Explore how to sort query results in MongoDB using Node.js based on specific criteria.

MySQL

In the MySQL section, you'll find in-depth information about using MySQL with Node.js. Whether you're a beginner or an experienced developer, you'll find valuable insights into working with MySQL databases. Some of the topics covered include:

  • Creating a Database: Learn how to create a MySQL database using Node.js and set up tables to store your data.
  • Join: Understand how to perform join operations to combine data from multiple tables in MySQL using Node.js.
  • Delete: Explore how to delete records from a MySQL database using Node.js.

Raspberry Pi

In the Raspberry Pi section, you'll discover Node.js applications on Raspberry Pi. Topics include:

  • WebSockets: Learn about implementing WebSocket communication in Node.js on Raspberry Pi for real-time data exchange.
  • Blinking LED: Explore how to control GPIO pins on Raspberry Pi using Node.js to create simple hardware projects.

Get ready to level up your Node.js skills with our comprehensive documentation! 🚀

+ + + diff --git a/docs/.vuepress/dist/favicon.ico b/docs/.vuepress/dist/favicon.ico new file mode 100644 index 0000000..b411f79 Binary files /dev/null and b/docs/.vuepress/dist/favicon.ico differ diff --git a/docs/.vuepress/dist/get-started/index.html b/docs/.vuepress/dist/get-started/index.html new file mode 100644 index 0000000..2a68554 --- /dev/null +++ b/docs/.vuepress/dist/get-started/index.html @@ -0,0 +1,48 @@ + + + + + + + + + + Get started | Node.js Docs + + + + + +
Skip to main content

Get started

Aahil...About 1 minGetting started

Hello there! 👋🏾 Welcome to the Node.js documentation! Let's get you started on how to navigate through this resource.

How to Use This Guide

Guides

In the Get started section, you'll find helpful guides to assist you in your Node.js journey. Whether you're looking to install Node.js, get started quickly with running your first application, or understand the core concepts of Node.js, you'll find everything you need here.

  • Installation Guides: Need help setting up Node.js on your system? This guide has got you covered with step-by-step instructions.
  • Quick Start: Dive right into coding with Node.js! This quick start guide will have you up and running with your first Node.js application in no time.
  • Understanding Node.js: Curious about what Node.js is and how it works? This guide provides a straightforward explanation of the core concepts behind Node.js.

Docs

In the Docs section, you'll find detailed explanations of the fundamental concepts of Node.js. Whether you're interested in learning about Node.js modules, file system operations, or events, you'll find everything you need here.

Examples

This course is structured to help you learn Node.js by doing. Under each concept in the Docs section, you'll find examples that demonstrate how to apply the concepts in practice. The examples will look like this:

var http = require('http');
+
+http.createServer(function (req, res) {
+  res.writeHead(200, {'Content-Type': 'text/plain'});
+  res.end('Hello World!');
+}).listen(8080);
+

There are also some types of examples that you'll need to run via the command line. These examples will look like this:

console.log('This example is different!');
+console.log('The result is displayed in the Command Line Interface');
+

And that's it! You're all set to start your Node.js journey. If you have any questions or need help, feel free to reach out to us on Twitteropen in new window or GitHubopen in new window - we're here to help! 🚀

+ + + diff --git a/docs/.vuepress/dist/get-started/installation.html b/docs/.vuepress/dist/get-started/installation.html new file mode 100644 index 0000000..7145269 --- /dev/null +++ b/docs/.vuepress/dist/get-started/installation.html @@ -0,0 +1,43 @@ + + + + + + + + + + Installation guide | Node.js Docs + + + + + +
Skip to main content

Installation guide

Aahil...Less than 1 minuteGuides

In this guide, we'll walk you through the process of installing Node.js on your system so you can start building awesome applications.

There are several way to install Node.js, including using a package manageropen in new window, downloading prebuilt binariesopen in new window, or building from sourceopen in new window. In this guide, we'll cover the most common method of installing Node.js using the official installer.

Download Node.js

Visit nodejs.orgopen in new window and download the appropriate installer for your operating system (Windows, macOS, or Linux).

Run the Installer

Once the download is complete, run the installer and follow the on-screen instructions. The installer will guide you through the installation process, including selecting the installation directory and any additional options you may want to configure.

Verify Installation

After the installation is complete, you can verify that Node.js and npm (Node Package Manager) are installed correctly by opening a terminal or command prompt and typing the following commands:

node -v
+npm -v
+

These commands will display the versions of Node.js and npm installed on your system. If you see version numbers displayed, congratulations! You've successfully installed Node.js.

Update npm (Optional)

It's a good idea to keep npm up to date. You can do this by running the following command:

npm install npm@latest -g
+

This will update npm to the latest version available.

That's it! You've now installed Node.js on your system. You're ready to write your first Node.js program.

Note

If you ran into any issues during the installation process, feel free to report them on the Node.js GitHub repositoryopen in new window

+ + + diff --git a/docs/.vuepress/dist/get-started/quick-start.html b/docs/.vuepress/dist/get-started/quick-start.html new file mode 100644 index 0000000..4bdb8c7 --- /dev/null +++ b/docs/.vuepress/dist/get-started/quick-start.html @@ -0,0 +1,47 @@ + + + + + + + + + + Quick start | Node.js Docs + + + + + +
Skip to main content

Quick start

Aahil...Less than 1 minuteGetting started

In this guide, we'll help you write your first program in Node.js. You'll create a simple HTTP server that listens on port 8080 and responds with "Hello, World!" when you visit http://localhost:8080 in your browser.

Prerequisites

Before you begin, make sure you have Node.js installed on your machine. If you haven't installed Node.js yet, you can follow the steps in the installation guide.

Create a New File

Open your favorite text editor and create a new file. You can name it whatever you like, but for this example, let's call it hello.js.

Write Some Code

In your hello.js file, type the following code:

var http = require('http');
+
+http.createServer(function (req, res) {
+  res.writeHead(200, {'Content-Type': 'text/html'});
+  res.end('Hello World!');
+}).listen(8080);
+

After writing the code, save the file.

Run the Program

Open a terminal or command prompt and navigate to the directory where you saved hello.js. Then, type the following command:

node hello.js
+

Access the Web Server

After running the command, your web server will start listening on port 8080. Open a web browser and navigate to http://localhost:8080. You should see the text "Hello World!" displayed in the browser.

Congratulations! 🎉 You've just created and ran your first Node.js web server. Now get ready to understand how Node.js works

+ + + diff --git a/docs/.vuepress/dist/get-started/what-is-nodejs.html b/docs/.vuepress/dist/get-started/what-is-nodejs.html new file mode 100644 index 0000000..f9dc8cf --- /dev/null +++ b/docs/.vuepress/dist/get-started/what-is-nodejs.html @@ -0,0 +1,40 @@ + + + + + + + + + + What is Node.js? | Node.js Docs + + + + + +
Skip to main content

What is Node.js?

Aahil...About 1 minGetting started

In this guide, we'll explore what Node.js is, how it works, and its various use cases.

Understanding Node.js

Node.js is an open-source server environment that enables the execution of JavaScript code outside of a web browser. It's free, versatile, and runs seamlessly on various platforms including Windows, Linux, Unix, and macOS.

Unlike traditional web development, where JavaScript is mainly used for client-side scripting, Node.js enables you to execute JavaScript on the server-side.

How Does Node.js Work?

At its core, Node.js is built on Chrome's V8 JavaScript engine, which makes it fast and efficient. It uses an event-driven, non-blocking I/O model, which means that it can handle thousands of simultaneous connections without getting bogged down by blocking operations.

Why Node.js?

One of the key reasons Node.js stands out is its asynchronous programming model. Traditionally, web servers would wait while performing tasks like opening files.

Node.js, however, sends tasks to the computer's file system and proceeds to handle the next request without waiting. This non-blocking, asynchronous approach enhances efficiency and responsiveness, making Node.js an excellent choice for handling concurrent operations.

Use Cases of Node.js

  • Generate Dynamic Page Content: Node.js can dynamically generate web page content, making it a powerful tool for building dynamic web applications.
  • File System Operations: With Node.js, you can perform various file system operations such as creating, opening, reading, writing, and deleting files on the server.
  • Handle Form Data: Node.js can collect form data submitted by users on web forms.
  • Database Operations: Node.js facilitates database operations, allowing you to add, delete, and modify data in your database.

Anatomy of a Node.js File

Node.js files contain tasks that execute in response to specific events, such as a user attempting to access a port on the server. These files, typically denoted with a ".js" extension, must be initiated on the server to take effect.

With this foundational understanding of Node.js, you're ready to dive deeper into its capabilities and explore server-side JavaScript development.

+ + + diff --git a/docs/.vuepress/dist/index.html b/docs/.vuepress/dist/index.html new file mode 100644 index 0000000..1fb2da4 --- /dev/null +++ b/docs/.vuepress/dist/index.html @@ -0,0 +1,40 @@ + + + + + + + + + + Home | Node.js Docs + + + + + +
Skip to main content
Node.Js

Node.Js

A comprehensive companion for understanding JavaScript's runtime environment ⚡️

Get startedDocs

+ + + diff --git a/docs/.vuepress/dist/logo.png b/docs/.vuepress/dist/logo.png new file mode 100644 index 0000000..ccd732e Binary files /dev/null and b/docs/.vuepress/dist/logo.png differ diff --git a/docs/.vuepress/dist/logo.svg b/docs/.vuepress/dist/logo.svg new file mode 100644 index 0000000..364d184 --- /dev/null +++ b/docs/.vuepress/dist/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/.vuepress/dist/robots.txt b/docs/.vuepress/dist/robots.txt new file mode 100644 index 0000000..15f61f2 --- /dev/null +++ b/docs/.vuepress/dist/robots.txt @@ -0,0 +1,5 @@ + +User-agent:* +Disallow: + +Sitemap: https://vuepress-theme-hope-docs-demo.netlify.app/sitemap.xml diff --git a/docs/.vuepress/dist/sitemap.xml b/docs/.vuepress/dist/sitemap.xml new file mode 100644 index 0000000..0171307 --- /dev/null +++ b/docs/.vuepress/dist/sitemap.xml @@ -0,0 +1,3 @@ + + +https://vuepress-theme-hope-docs-demo.netlify.app/2024-04-15T15:45:15.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/2024-04-16T14:14:04.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/get-started/2024-04-15T20:12:13.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/get-started/installation.html2024-04-15T20:12:13.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/get-started/quick-start.html2024-04-15T20:12:13.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/get-started/what-is-nodejs.html2024-04-15T20:12:13.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/RaspberryPi/Blinking_LED.html2024-04-16T14:13:01.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/RaspberryPi/Components.html2024-04-16T14:13:01.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/RaspberryPi/Flowing_LED.html2024-04-16T14:13:01.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/RaspberryPi/GPIO_Introduction.html2024-04-16T14:13:01.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/RaspberryPi/Install_RaspberryPi.html2024-04-16T14:13:01.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/RaspberryPi/LED___Pushbutton.html2024-04-16T14:13:01.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/RaspberryPi/2024-04-16T14:13:01.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/RaspberryPi/RGB_LED_WebSocket.html2024-04-16T14:13:01.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/RaspberryPi/WebSocket.html2024-04-16T14:13:01.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/MongoDB/Collection.html2024-04-16T14:13:30.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/MongoDB/Create%20Database.html2024-04-16T14:13:30.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/MongoDB/Delete.html2024-04-16T14:13:30.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/MongoDB/Drop%20Collection.html2024-04-16T14:13:30.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/MongoDB/Find.html2024-04-16T14:13:30.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/MongoDB/Insert.html2024-04-16T14:13:30.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/MongoDB/Join.html2024-04-16T14:13:30.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/MongoDB/Limit.html2024-04-16T14:13:30.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/MongoDB/Query.html2024-04-16T14:13:30.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/MongoDB/2024-04-16T11:16:53.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/MongoDB/Sort.html2024-04-16T14:13:30.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/MongoDB/Update.html2024-04-16T14:13:30.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/MongoDB/install_MongoDB.html2024-04-16T14:13:30.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/Basics/Email.html2024-04-16T14:12:27.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/Basics/Events.html2024-04-16T14:12:27.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/Basics/File%20System.html2024-04-16T14:12:27.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/Basics/HTTP%20Modules.html2024-04-16T14:12:27.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/Basics/Modules.html2024-04-16T14:12:27.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/Basics/NPM.html2024-04-16T14:12:27.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/Basics/2024-04-16T11:16:53.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/Basics/URL%20Module.html2024-04-16T14:12:27.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/Basics/Upload%20Files.html2024-04-16T14:12:27.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/MySQL/Create%20Database.html2024-04-16T10:35:01.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/MySQL/Create%20Table.html2024-04-16T10:35:01.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/MySQL/Delete.html2024-04-16T10:35:01.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/MySQL/Drop%20Table.html2024-04-16T10:35:01.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/MySQL/Insert%20Into.html2024-04-16T10:35:01.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/MySQL/Join.html2024-04-16T10:35:01.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/MySQL/Limit.html2024-04-16T10:35:01.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/MySQL/Order%20By.html2024-04-16T10:35:01.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/MySQL/2024-04-16T10:35:01.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/MySQL/Select%20From.html2024-04-16T10:35:01.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/MySQL/Update.html2024-04-16T10:35:01.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/MySQL/Where.html2024-04-16T10:35:01.000Zdailyhttps://vuepress-theme-hope-docs-demo.netlify.app/docs/MySQL/install_MySQL.html2024-04-16T14:14:27.000Zdaily \ No newline at end of file diff --git a/docs/.vuepress/dist/sitemap.xsl b/docs/.vuepress/dist/sitemap.xsl new file mode 100644 index 0000000..a76881a --- /dev/null +++ b/docs/.vuepress/dist/sitemap.xsl @@ -0,0 +1,207 @@ + + + + + + + XML Sitemap + + + + + +
+

Sitemap

+ + + + + + + + + + + + + + + + + + + + + +
+ + PriorityChange FrequencyLast Updated Time
+ + + + + + + + + + + + + 0.5 + + + + + + + + + - + + + + +
+
+ + + +
+