diff --git a/assets/About-mRTFtRH1.js b/assets/About-D5XW4RYo.js similarity index 95% rename from assets/About-mRTFtRH1.js rename to assets/About-D5XW4RYo.js index ed5b701..cd9261d 100644 --- a/assets/About-mRTFtRH1.js +++ b/assets/About-D5XW4RYo.js @@ -1 +1 @@ -import{j as e}from"./index-DfWhpEFV.js";const o="/Blog/assets/aboutme-8K8j3Edo.jpg",i=()=>e.jsxs("div",{children:[e.jsx("h1",{children:"About"}),e.jsx("br",{}),e.jsx("p",{children:e.jsx("img",{src:o,alt:"About",style:{width:"80%",borderRadius:"25px"}})}),e.jsx("br",{}),e.jsx("p",{children:"Oh hey there! Fancy seeing you here. If you’re on this page, you probably know me already. But just in case, allow me to reintroduce myself. I’m Levick, your friendly neighborhood software developer from India. When I'm not coding, you’ll find me tickling the ivories on my piano or conquering virtual worlds in video games. That’s the lowdown on me!"}),e.jsx("p",{children:"Now, about this blog page—let me spill the beans. I was inspired by a GitHub whiz named Urara. They had this super cool GitHub Pages template, but Svelte and Markdown were just too much for my lazy bones. So, I whipped up this page in ReactJS, which, by the way, I’ve been learning for a whole week now. Oh, and the main page is in Russian because I’ve been learning the language for six months. No practice partners, though, so I’m just sprinkling Russian wherever I can!"}),e.jsxs("p",{children:["I know this page isn’t going to win any speed or efficiency awards, but hey, it’s a work in progress. If you spot anything that needs a tweak, head over to my ",e.jsx("a",{href:"https://github.com/1Levick3",children:"GitHub"})," and raise a PR. I’d love to hear from you!"]})]});export{i as default}; +import{j as e}from"./index-CdFEB0_j.js";const o="/Blog/assets/aboutme-8K8j3Edo.jpg",i=()=>e.jsxs("div",{children:[e.jsx("h1",{children:"About"}),e.jsx("br",{}),e.jsx("p",{children:e.jsx("img",{src:o,alt:"About",style:{width:"80%",borderRadius:"25px"}})}),e.jsx("br",{}),e.jsx("p",{children:"Oh hey there! Fancy seeing you here. If you’re on this page, you probably know me already. But just in case, allow me to reintroduce myself. I’m Levick, your friendly neighborhood software developer from India. When I'm not coding, you’ll find me tickling the ivories on my piano or conquering virtual worlds in video games. That’s the lowdown on me!"}),e.jsx("p",{children:"Now, about this blog page—let me spill the beans. I was inspired by a GitHub whiz named Urara. They had this super cool GitHub Pages template, but Svelte and Markdown were just too much for my lazy bones. So, I whipped up this page in ReactJS, which, by the way, I’ve been learning for a whole week now. Oh, and the main page is in Russian because I’ve been learning the language for six months. No practice partners, though, so I’m just sprinkling Russian wherever I can!"}),e.jsxs("p",{children:["I know this page isn’t going to win any speed or efficiency awards, but hey, it’s a work in progress. If you spot anything that needs a tweak, head over to my ",e.jsx("a",{href:"https://github.com/1Levick3",children:"GitHub"})," and raise a PR. I’d love to hear from you!"]})]});export{i as default}; diff --git a/assets/Astrophotography-BKsRvlVM.js b/assets/Astrophotography-BjKTjIUH.js similarity index 97% rename from assets/Astrophotography-BKsRvlVM.js rename to assets/Astrophotography-BjKTjIUH.js index 9e3a3d6..46c2563 100644 --- a/assets/Astrophotography-BKsRvlVM.js +++ b/assets/Astrophotography-BjKTjIUH.js @@ -1 +1 @@ -import{j as s}from"./index-DfWhpEFV.js";const t="/Blog/assets/full-moon-ByOlmzqJ.jpg",e="/Blog/assets/half-moon-D2ZPtAmC.jpg",r="/Blog/assets/jupiter-2-mAtSXeAq.jpg",o="/Blog/assets/jupiter-saturn-conjunction-processed-Cnmvs-Of.jpg",i="/Blog/assets/jupiter-saturn-conjunction-UULOl9Ka.jpg",n="/Blog/assets/jupiter-BHxpYxEO.jpg",l="/Blog/assets/m7-ptolemy-p1pKvETA.jpg",d="/Blog/assets/mars-JWjzoxoW.jpg",p="/Blog/assets/moon-bottom-B1yYduGd.jpg",a="/Blog/assets/moon-side-CUGk07RO.jpg",j="/Blog/assets/moon-top-BSMX-bGX.jpg",c="/Blog/assets/pleiades-Cu-h0gAp.jpg",h="/Blog/assets/quarter-moon-BLS4xgdW.jpg",x="/Blog/assets/saturn-Cf4VxBt0.jpg",m=()=>s.jsxs("div",{children:[s.jsx("h5",{children:"31 December 2023"}),s.jsx("h1",{children:"Astrophotography"}),s.jsx("p",{children:"All these photos are taken using the camera Canon 400d + 300mm lens with no auto focus with long exposure(282*2.5 second exposures) and processed with deep sky stacker for crisp imaging."}),s.jsxs("p",{children:[s.jsx("img",{src:t,alt:"fullmoon",style:{width:"100%",borderRadius:"25px"}}),s.jsx("h5",{children:"Fullmoon"})]}),s.jsxs("p",{children:[s.jsx("img",{src:e,alt:"halfmoon",style:{width:"100%",borderRadius:"25px"}}),s.jsx("h5",{children:"Halfmoon"})]}),s.jsxs("p",{children:[s.jsx("img",{src:h,alt:"quarterm",style:{width:"100%",borderRadius:"25px"}}),s.jsx("h5",{children:"quartermoon"})]}),s.jsxs("p",{children:[s.jsx("img",{src:p,alt:"moonb",style:{width:"100%",borderRadius:"25px"}}),s.jsx("h5",{children:"Moon(Bottom)"})]}),s.jsxs("p",{children:[s.jsx("img",{src:a,alt:"moons",style:{width:"100%",borderRadius:"25px"}}),s.jsx("h5",{children:"Moon(Side)"})]}),s.jsxs("p",{children:[s.jsx("img",{src:j,alt:"moont",style:{width:"100%",borderRadius:"25px"}}),s.jsx("h5",{children:"Moon(Top)"})]}),s.jsxs("p",{children:[s.jsx("img",{src:d,alt:"mars",style:{width:"100%",borderRadius:"25px"}}),s.jsx("h5",{children:"Mars"})]}),s.jsxs("p",{children:[s.jsx("img",{src:n,alt:"jupiter",style:{width:"100%",borderRadius:"25px"}}),s.jsx("h5",{children:"Jupiter (The prominent black dot is one of the 4 major moons of jupiter)"})]}),s.jsxs("p",{children:[s.jsx("img",{src:r,alt:"jupiter2",style:{width:"100%",borderRadius:"25px"}}),s.jsx("h5",{children:"Jupiter(Other angle)"})]}),s.jsxs("p",{children:[s.jsx("img",{src:i,alt:"jupitersaturn",style:{width:"100%",borderRadius:"25px"}}),s.jsx("h5",{children:"Jupiter Saturn conjunction"})]}),s.jsxs("p",{children:[s.jsx("img",{src:o,alt:"jupitersaturnp",style:{width:"100%",borderRadius:"25px"}}),s.jsx("h5",{children:"Jupiter Saturn conjunction processed"})]}),s.jsxs("p",{children:[s.jsx("img",{src:x,alt:"saturn",style:{width:"100%",borderRadius:"25px"}}),s.jsx("h5",{children:"Saturn"})]}),s.jsxs("p",{children:[s.jsx("img",{src:l,alt:"ptolemy",style:{width:"100%",borderRadius:"25px"}}),s.jsx("h5",{children:"Ptolemy M7 cluster"})]}),s.jsxs("p",{children:[s.jsx("img",{src:c,alt:"pleiades",style:{width:"100%",borderRadius:"25px"}}),s.jsx("h5",{children:"Pleiades star cluster"})]}),s.jsx("p",{})]});export{m as default}; +import{j as s}from"./index-CdFEB0_j.js";const t="/Blog/assets/full-moon-ByOlmzqJ.jpg",e="/Blog/assets/half-moon-D2ZPtAmC.jpg",r="/Blog/assets/jupiter-2-mAtSXeAq.jpg",o="/Blog/assets/jupiter-saturn-conjunction-processed-Cnmvs-Of.jpg",i="/Blog/assets/jupiter-saturn-conjunction-UULOl9Ka.jpg",n="/Blog/assets/jupiter-BHxpYxEO.jpg",l="/Blog/assets/m7-ptolemy-p1pKvETA.jpg",d="/Blog/assets/mars-JWjzoxoW.jpg",p="/Blog/assets/moon-bottom-B1yYduGd.jpg",a="/Blog/assets/moon-side-CUGk07RO.jpg",j="/Blog/assets/moon-top-BSMX-bGX.jpg",c="/Blog/assets/pleiades-Cu-h0gAp.jpg",h="/Blog/assets/quarter-moon-BLS4xgdW.jpg",x="/Blog/assets/saturn-Cf4VxBt0.jpg",m=()=>s.jsxs("div",{children:[s.jsx("h5",{children:"31 December 2023"}),s.jsx("h1",{children:"Astrophotography"}),s.jsx("p",{children:"All these photos are taken using the camera Canon 400d + 300mm lens with no auto focus with long exposure(282*2.5 second exposures) and processed with deep sky stacker for crisp imaging."}),s.jsxs("p",{children:[s.jsx("img",{src:t,alt:"fullmoon",style:{width:"100%",borderRadius:"25px"}}),s.jsx("h5",{children:"Fullmoon"})]}),s.jsxs("p",{children:[s.jsx("img",{src:e,alt:"halfmoon",style:{width:"100%",borderRadius:"25px"}}),s.jsx("h5",{children:"Halfmoon"})]}),s.jsxs("p",{children:[s.jsx("img",{src:h,alt:"quarterm",style:{width:"100%",borderRadius:"25px"}}),s.jsx("h5",{children:"quartermoon"})]}),s.jsxs("p",{children:[s.jsx("img",{src:p,alt:"moonb",style:{width:"100%",borderRadius:"25px"}}),s.jsx("h5",{children:"Moon(Bottom)"})]}),s.jsxs("p",{children:[s.jsx("img",{src:a,alt:"moons",style:{width:"100%",borderRadius:"25px"}}),s.jsx("h5",{children:"Moon(Side)"})]}),s.jsxs("p",{children:[s.jsx("img",{src:j,alt:"moont",style:{width:"100%",borderRadius:"25px"}}),s.jsx("h5",{children:"Moon(Top)"})]}),s.jsxs("p",{children:[s.jsx("img",{src:d,alt:"mars",style:{width:"100%",borderRadius:"25px"}}),s.jsx("h5",{children:"Mars"})]}),s.jsxs("p",{children:[s.jsx("img",{src:n,alt:"jupiter",style:{width:"100%",borderRadius:"25px"}}),s.jsx("h5",{children:"Jupiter (The prominent black dot is one of the 4 major moons of jupiter)"})]}),s.jsxs("p",{children:[s.jsx("img",{src:r,alt:"jupiter2",style:{width:"100%",borderRadius:"25px"}}),s.jsx("h5",{children:"Jupiter(Other angle)"})]}),s.jsxs("p",{children:[s.jsx("img",{src:i,alt:"jupitersaturn",style:{width:"100%",borderRadius:"25px"}}),s.jsx("h5",{children:"Jupiter Saturn conjunction"})]}),s.jsxs("p",{children:[s.jsx("img",{src:o,alt:"jupitersaturnp",style:{width:"100%",borderRadius:"25px"}}),s.jsx("h5",{children:"Jupiter Saturn conjunction processed"})]}),s.jsxs("p",{children:[s.jsx("img",{src:x,alt:"saturn",style:{width:"100%",borderRadius:"25px"}}),s.jsx("h5",{children:"Saturn"})]}),s.jsxs("p",{children:[s.jsx("img",{src:l,alt:"ptolemy",style:{width:"100%",borderRadius:"25px"}}),s.jsx("h5",{children:"Ptolemy M7 cluster"})]}),s.jsxs("p",{children:[s.jsx("img",{src:c,alt:"pleiades",style:{width:"100%",borderRadius:"25px"}}),s.jsx("h5",{children:"Pleiades star cluster"})]}),s.jsx("p",{})]});export{m as default}; diff --git a/assets/DockerT-C5B8LZJu.js b/assets/DockerT-CC-qfVG-.js similarity index 99% rename from assets/DockerT-C5B8LZJu.js rename to assets/DockerT-CC-qfVG-.js index df89ec1..9f6dc12 100644 --- a/assets/DockerT-C5B8LZJu.js +++ b/assets/DockerT-CC-qfVG-.js @@ -1 +1 @@ -import{j as e}from"./index-DfWhpEFV.js";const n="/Blog/assets/dock1-Bmm9eOSa.png",i="/Blog/assets/dock2-CEPCOAY2.png",s="/Blog/assets/dock3-CKo5266C.png",o="/Blog/assets/dock4-rUM03Wyb.png",a="/Blog/assets/dock5-BZTnvmKd.png",t="/Blog/assets/image-2-BcNIrUle.png",c=()=>e.jsxs("div",{children:[e.jsx("h5",{children:"22 February 2024"}),e.jsx("h1",{children:"Docker Essentials"}),e.jsx("p",{children:e.jsx("img",{src:t,alt:"dock0",style:{width:"100%",borderRadius:"25px"}})}),e.jsx("p",{}),e.jsx("p",{children:"Docker is one of those services that you always hear about but may have never used. I never used Docker in college, and I actually never heard of it until I began researching the field of DevOps. Knowing how to use Docker is a quite essential element of becoming a part of a modern development team. My goal of this post is to help the reader gain an understanding of what Docker is"}),e.jsx("h5",{children:"What is Docker?"}),e.jsx("p",{children:"Docker is a set of platform as a service products that use OS-level virtualisation to deliver software in packages called containers. Containers are isolated from one another and bundle their own software, libraries and configuration files; they can communicate with each other through well-defined channels. All containers are run by a single operating-system kernel and are thus more lightweight than virtual machines."}),e.jsx("br",{}),e.jsx("h5",{children:e.jsx("i",{children:"What is Container?"})}),e.jsx("p",{children:"Docker Container is a standardised unit which can be created on the fly to deploy a particular application or environment. It could be an Ubuntu container, CentOs container, etc. to full-fill the requirement from an operating system point of view. Also, it could be an application oriented container like CakePHP container or a Tomcat-Ubuntu container etc."}),e.jsx("br",{}),e.jsx("h5",{children:"Docker Concepts"}),e.jsx("p",{children:"Docker is a platform for developers and sysadmins to build, share, and run applications with containers. The use of containers to deploy applications is called containerisation. Containers are not new, but their use for easily deploying applications is."}),e.jsx("p",{children:"Containerisation is increasingly popular because containers are:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Flexible: Even the most complex applications can be containerised."}),e.jsx("li",{children:"Lightweight: Containers leverage and share the host kernel, making them much more efficient in terms of system resources than virtual machines."}),e.jsx("li",{children:"Portable: You can build locally, deploy to the cloud, and run anywhere."}),e.jsx("li",{children:"Loosely coupled: Containers are highly self sufficient and encapsulated, allowing you to replace or upgrade one without disrupting others."}),e.jsx("li",{children:"Scalable: You can increase and automatically distribute container replicas across a datacenter."}),e.jsx("li",{children:"Secure: Containers apply aggressive constraints and isolations to processes without any configuration required on the part of the user."})]}),e.jsx("br",{}),e.jsx("h5",{children:"Images and Containers"}),e.jsx("p",{children:"Fundamentally, a container is nothing but a running process, with some added encapsulation features applied to it in order to keep it isolated from the host and from other containers. One of the most important aspects of container isolation is that each container interacts with its own, private filesystem; this filesystem is provided by a Docker image. An image includes everything needed to run an application — the code or binary, runtimes, dependencies, and any other filesystem objects required."}),e.jsx("br",{}),e.jsx("h5",{children:"Containers and virtual machines"}),e.jsx("p",{children:"A container runs natively on Linux and shares the kernel of the host machine with other containers. It runs a discrete process, taking no more memory than any other executable, making it lightweight."}),e.jsx("p",{}),e.jsx("p",{children:"By contrast, a virtual machine (VM) runs a full-blown “guest” operating system with virtual access to host resources through a hypervisor. In general, VMs incur a lot of overhead beyond what is being consumed by your application logic."}),e.jsx("p",{children:e.jsx("img",{src:n,alt:"dock1",style:{width:"100%",borderRadius:"25px"}})}),e.jsx("p",{}),e.jsx("p",{children:"lets me summarise the learning till now:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Virtual Machines are slow and take a lot of time to boot."}),e.jsx("li",{children:"Containers are fast and boots quickly as it uses host operating system and shares the relevant libraries."}),e.jsx("li",{children:"Containers do not waste or block host resources unlike virtual machines."}),e.jsx("li",{children:"Containers have isolated libraries and binaries specific to the application they are running."}),e.jsx("li",{children:"Containers are handled by Containerisation engine."}),e.jsx("li",{children:"Docker is one of the containerisation platforms which can be used to create and run containers."})]}),e.jsx("h5",{children:"Why do we use docker?"}),e.jsx("p",{children:"So we have discussed what Docker is. However, what is the need for the Docker? Well, Docker containers are lightweight and they are super easy to create and deploy."}),e.jsx("p",{children:"Docker provides us with containers. And containerization consists of an entire runtime environment, an application, all its dependencies, libraries, binaries and configuration files needed to run it, bundled into one package. Each application runs separately from the other. Docker solves the dependency problem by keeping the dependency contained inside the containers. It unites developers against dependency of their project."}),e.jsx("br",{}),e.jsx("h5",{children:"Benefits of using Containers over Virtual Machines"}),e.jsx("p",{children:"Now let’s discuss what is the benefit of Docker over VMs."}),e.jsxs("ul",{children:[e.jsx("li",{children:"Unlike VMs( Virtual Machines ) that run on a Guest OS, using a hypervisor, Docker containers run directly on a host server (for Linux), using a Docker engine, making it faster and lightweight."}),e.jsx("p",{children:e.jsx("img",{src:i,alt:"dock2",style:{width:"100%",borderRadius:"25px"}})}),e.jsx("li",{children:"Docker containers can be easily integrated compared to VMs."}),e.jsx("li",{children:"With a fully virtualized system, you get more isolation. However, it requires more resources. With Docker, you get less isolation. However, as it requires fewer resources, you can run thousands of container on a host."}),e.jsx("li",{children:"A VM can take a minimum of one minute to start, while a Docker container usually starts in a fraction of seconds."}),e.jsx("li",{children:"Containers are easier to break out of than a Virtual Machine."}),e.jsx("li",{children:"Unlike VMs there is no need to preallocate the RAM. Hence docker containers utilize less RAM compared to VMs. So only the amount of RAM that is required is used."}),e.jsx("p",{children:e.jsx("img",{src:s,alt:"dock3",style:{width:"100%",borderRadius:"25px"}})})]}),e.jsx("br",{}),e.jsx("h5",{children:"How does Docker work?"}),e.jsx("p",{children:"Since we now understand the benefits of using Docker. Let’s talk above the functioning of Docker. Docker has a docker engine, which is the heart of Docker system. It is a client-server application. It has three main components:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"A server which is a type of long-running process called a daemon process."}),e.jsx("li",{children:"A client which is Docker CLI( Command Line Interface), and"}),e.jsx("li",{children:"A REST API which is used to communicate between the client( Docker CLI ) and the server ( Docker Daemon )"})]}),e.jsx("p",{children:"The Docker daemon receives the command from the client and manages Docker objects, such as images, containers, networks, and volumes. The Docker client and daemon can either run on the same system, or you can connect a Docker client to a remote Docker daemon. They can communicate using a REST API, over UNIX sockets or a network interface."}),e.jsx("p",{children:e.jsx("img",{src:o,alt:"dock4",style:{width:"100%",borderRadius:"25px"}})}),e.jsx("p",{children:"In Linux, Docker host runs docker daemon and docker client can be accessed from the terminal."}),e.jsx("p",{children:"In Windows/OS X, there is an additional tool called Docker toolbox. This toolbox installs the docker environment on Win/OS system. This toolbox installs the following: Docker Client, Compose, Kitematic, Machine, and Virtual Box"}),e.jsx("p",{children:e.jsx("img",{src:a,alt:"dock5",style:{width:"100%",borderRadius:"25px"}})}),e.jsx("br",{}),e.jsx("h5",{children:"Technology used in Docker"}),e.jsx("p",{children:"The programming language used in Docker is GO. Docker takes advantage of various features of Linux kernel like namespaces and cgroups."}),e.jsx("p",{children:"namespaces: Docker uses namespaces to provide isolated workspace called containers. When a container is run, docker creates a set of namespaces for it, providing a layer of isolation. Each aspect of a container runs in a separate namespace and its access is limited to that namespace."}),e.jsx("p",{children:"cgroups( control groups ): croups are used to limit and isolate the resource usage( CPU, memory, Disk I/O, network etc ) of a collection of processes. cgroups allow Docker engine to share the available hardware resources to containers and optionally enforce limit and constraints."}),e.jsx("p",{children:"UnionFS( Union file systems ): are file systems that operate by creating layers, making them very lightweight and fast.It is used by Docker engine to provide the building blocks for containers."}),e.jsx("p",{children:"Docker Engine combines the namespaces, cgroups, and UnionFS into a wrapper called a container format. The default container format is libcontainer."}),e.jsx("p",{children:"This is it for now I guess I am a bit tired and will make a second part continuing about docker how to set it up and create our first docker application."})]});export{c as default}; +import{j as e}from"./index-CdFEB0_j.js";const n="/Blog/assets/dock1-Bmm9eOSa.png",i="/Blog/assets/dock2-CEPCOAY2.png",s="/Blog/assets/dock3-CKo5266C.png",o="/Blog/assets/dock4-rUM03Wyb.png",a="/Blog/assets/dock5-BZTnvmKd.png",t="/Blog/assets/image-2-BcNIrUle.png",c=()=>e.jsxs("div",{children:[e.jsx("h5",{children:"22 February 2024"}),e.jsx("h1",{children:"Docker Essentials"}),e.jsx("p",{children:e.jsx("img",{src:t,alt:"dock0",style:{width:"100%",borderRadius:"25px"}})}),e.jsx("p",{}),e.jsx("p",{children:"Docker is one of those services that you always hear about but may have never used. I never used Docker in college, and I actually never heard of it until I began researching the field of DevOps. Knowing how to use Docker is a quite essential element of becoming a part of a modern development team. My goal of this post is to help the reader gain an understanding of what Docker is"}),e.jsx("h5",{children:"What is Docker?"}),e.jsx("p",{children:"Docker is a set of platform as a service products that use OS-level virtualisation to deliver software in packages called containers. Containers are isolated from one another and bundle their own software, libraries and configuration files; they can communicate with each other through well-defined channels. All containers are run by a single operating-system kernel and are thus more lightweight than virtual machines."}),e.jsx("br",{}),e.jsx("h5",{children:e.jsx("i",{children:"What is Container?"})}),e.jsx("p",{children:"Docker Container is a standardised unit which can be created on the fly to deploy a particular application or environment. It could be an Ubuntu container, CentOs container, etc. to full-fill the requirement from an operating system point of view. Also, it could be an application oriented container like CakePHP container or a Tomcat-Ubuntu container etc."}),e.jsx("br",{}),e.jsx("h5",{children:"Docker Concepts"}),e.jsx("p",{children:"Docker is a platform for developers and sysadmins to build, share, and run applications with containers. The use of containers to deploy applications is called containerisation. Containers are not new, but their use for easily deploying applications is."}),e.jsx("p",{children:"Containerisation is increasingly popular because containers are:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Flexible: Even the most complex applications can be containerised."}),e.jsx("li",{children:"Lightweight: Containers leverage and share the host kernel, making them much more efficient in terms of system resources than virtual machines."}),e.jsx("li",{children:"Portable: You can build locally, deploy to the cloud, and run anywhere."}),e.jsx("li",{children:"Loosely coupled: Containers are highly self sufficient and encapsulated, allowing you to replace or upgrade one without disrupting others."}),e.jsx("li",{children:"Scalable: You can increase and automatically distribute container replicas across a datacenter."}),e.jsx("li",{children:"Secure: Containers apply aggressive constraints and isolations to processes without any configuration required on the part of the user."})]}),e.jsx("br",{}),e.jsx("h5",{children:"Images and Containers"}),e.jsx("p",{children:"Fundamentally, a container is nothing but a running process, with some added encapsulation features applied to it in order to keep it isolated from the host and from other containers. One of the most important aspects of container isolation is that each container interacts with its own, private filesystem; this filesystem is provided by a Docker image. An image includes everything needed to run an application — the code or binary, runtimes, dependencies, and any other filesystem objects required."}),e.jsx("br",{}),e.jsx("h5",{children:"Containers and virtual machines"}),e.jsx("p",{children:"A container runs natively on Linux and shares the kernel of the host machine with other containers. It runs a discrete process, taking no more memory than any other executable, making it lightweight."}),e.jsx("p",{}),e.jsx("p",{children:"By contrast, a virtual machine (VM) runs a full-blown “guest” operating system with virtual access to host resources through a hypervisor. In general, VMs incur a lot of overhead beyond what is being consumed by your application logic."}),e.jsx("p",{children:e.jsx("img",{src:n,alt:"dock1",style:{width:"100%",borderRadius:"25px"}})}),e.jsx("p",{}),e.jsx("p",{children:"lets me summarise the learning till now:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Virtual Machines are slow and take a lot of time to boot."}),e.jsx("li",{children:"Containers are fast and boots quickly as it uses host operating system and shares the relevant libraries."}),e.jsx("li",{children:"Containers do not waste or block host resources unlike virtual machines."}),e.jsx("li",{children:"Containers have isolated libraries and binaries specific to the application they are running."}),e.jsx("li",{children:"Containers are handled by Containerisation engine."}),e.jsx("li",{children:"Docker is one of the containerisation platforms which can be used to create and run containers."})]}),e.jsx("h5",{children:"Why do we use docker?"}),e.jsx("p",{children:"So we have discussed what Docker is. However, what is the need for the Docker? Well, Docker containers are lightweight and they are super easy to create and deploy."}),e.jsx("p",{children:"Docker provides us with containers. And containerization consists of an entire runtime environment, an application, all its dependencies, libraries, binaries and configuration files needed to run it, bundled into one package. Each application runs separately from the other. Docker solves the dependency problem by keeping the dependency contained inside the containers. It unites developers against dependency of their project."}),e.jsx("br",{}),e.jsx("h5",{children:"Benefits of using Containers over Virtual Machines"}),e.jsx("p",{children:"Now let’s discuss what is the benefit of Docker over VMs."}),e.jsxs("ul",{children:[e.jsx("li",{children:"Unlike VMs( Virtual Machines ) that run on a Guest OS, using a hypervisor, Docker containers run directly on a host server (for Linux), using a Docker engine, making it faster and lightweight."}),e.jsx("p",{children:e.jsx("img",{src:i,alt:"dock2",style:{width:"100%",borderRadius:"25px"}})}),e.jsx("li",{children:"Docker containers can be easily integrated compared to VMs."}),e.jsx("li",{children:"With a fully virtualized system, you get more isolation. However, it requires more resources. With Docker, you get less isolation. However, as it requires fewer resources, you can run thousands of container on a host."}),e.jsx("li",{children:"A VM can take a minimum of one minute to start, while a Docker container usually starts in a fraction of seconds."}),e.jsx("li",{children:"Containers are easier to break out of than a Virtual Machine."}),e.jsx("li",{children:"Unlike VMs there is no need to preallocate the RAM. Hence docker containers utilize less RAM compared to VMs. So only the amount of RAM that is required is used."}),e.jsx("p",{children:e.jsx("img",{src:s,alt:"dock3",style:{width:"100%",borderRadius:"25px"}})})]}),e.jsx("br",{}),e.jsx("h5",{children:"How does Docker work?"}),e.jsx("p",{children:"Since we now understand the benefits of using Docker. Let’s talk above the functioning of Docker. Docker has a docker engine, which is the heart of Docker system. It is a client-server application. It has three main components:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"A server which is a type of long-running process called a daemon process."}),e.jsx("li",{children:"A client which is Docker CLI( Command Line Interface), and"}),e.jsx("li",{children:"A REST API which is used to communicate between the client( Docker CLI ) and the server ( Docker Daemon )"})]}),e.jsx("p",{children:"The Docker daemon receives the command from the client and manages Docker objects, such as images, containers, networks, and volumes. The Docker client and daemon can either run on the same system, or you can connect a Docker client to a remote Docker daemon. They can communicate using a REST API, over UNIX sockets or a network interface."}),e.jsx("p",{children:e.jsx("img",{src:o,alt:"dock4",style:{width:"100%",borderRadius:"25px"}})}),e.jsx("p",{children:"In Linux, Docker host runs docker daemon and docker client can be accessed from the terminal."}),e.jsx("p",{children:"In Windows/OS X, there is an additional tool called Docker toolbox. This toolbox installs the docker environment on Win/OS system. This toolbox installs the following: Docker Client, Compose, Kitematic, Machine, and Virtual Box"}),e.jsx("p",{children:e.jsx("img",{src:a,alt:"dock5",style:{width:"100%",borderRadius:"25px"}})}),e.jsx("br",{}),e.jsx("h5",{children:"Technology used in Docker"}),e.jsx("p",{children:"The programming language used in Docker is GO. Docker takes advantage of various features of Linux kernel like namespaces and cgroups."}),e.jsx("p",{children:"namespaces: Docker uses namespaces to provide isolated workspace called containers. When a container is run, docker creates a set of namespaces for it, providing a layer of isolation. Each aspect of a container runs in a separate namespace and its access is limited to that namespace."}),e.jsx("p",{children:"cgroups( control groups ): croups are used to limit and isolate the resource usage( CPU, memory, Disk I/O, network etc ) of a collection of processes. cgroups allow Docker engine to share the available hardware resources to containers and optionally enforce limit and constraints."}),e.jsx("p",{children:"UnionFS( Union file systems ): are file systems that operate by creating layers, making them very lightweight and fast.It is used by Docker engine to provide the building blocks for containers."}),e.jsx("p",{children:"Docker Engine combines the namespaces, cgroups, and UnionFS into a wrapper called a container format. The default container format is libcontainer."}),e.jsx("p",{children:"This is it for now I guess I am a bit tired and will make a second part continuing about docker how to set it up and create our first docker application."})]});export{c as default}; diff --git a/assets/Example-HVjn8GOl.js b/assets/Example-DO4rMWGi.js similarity index 54% rename from assets/Example-HVjn8GOl.js rename to assets/Example-DO4rMWGi.js index 85d84a4..181dea7 100644 --- a/assets/Example-HVjn8GOl.js +++ b/assets/Example-DO4rMWGi.js @@ -1 +1 @@ -import{j as e}from"./index-DfWhpEFV.js";const r=()=>e.jsx("div",{children:e.jsx("h1",{children:"Under Development"})});export{r as default}; +import{j as e}from"./index-CdFEB0_j.js";const r=()=>e.jsx("div",{children:e.jsx("h1",{children:"Under Development"})});export{r as default}; diff --git a/assets/LearnVim-DgFT6k4m.js b/assets/LearnVim-DHSZDXis.js similarity index 99% rename from assets/LearnVim-DgFT6k4m.js rename to assets/LearnVim-DHSZDXis.js index 53bf127..5eed868 100644 --- a/assets/LearnVim-DgFT6k4m.js +++ b/assets/LearnVim-DHSZDXis.js @@ -1 +1 @@ -import{j as d}from"./index-DfWhpEFV.js";const o="/Blog/assets/word_moves-DHgcqSsN.jpg",p="/Blog/assets/line_moves-FYuyebIf.jpg",i="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPIAAAB+CAIAAACReNtQAAAIS0lEQVR4AeydAYfryhvG/59vAAYwwB0QcAMCCgKBQCAoFIUgCIIhCEoQghDmMLyf5b+d05Nt17t375DbbNfzA/Xazsza38nJZh9P/yd+HABAawCtAYDWAEBrAKA1ANAaQGsAoDUA0BoAaA0AtAY3pNYSWr8EIDo2/WIdEdn5UsSfiqvzjt5YhlOqoTX43uhycVNd5ml2Gh3R3CjxKSpKzURvVAcJrcFrUF6IXBeJfybu7Go/tAY7o+rRDlUqbuh6WvpjIt6JjCXXl8Ij47yfLL3h3DzUWrwjDxURNamC1mB/kvNANKXSO561REv+bqZuJiK63G4uVD4RuaE+RDq9vuvDJVw1C1mTQ+vvADiMRFN1EEI+ehm1M5HtEil+Ex8Hokt8M7wj6rR4IDfW9QW0/haAQzURXbKsJrLlTVV1nS1tJN4pOkvWqNs1fiT3UevTuN6u7A60BjKb6IrtytvgUPsnG1pFv7nKnNYT0VREKilb/9WtflgknYiGYwyt34kOaXZPnsVabjvEUHxO1kxE9hitT6MN3eO6yMveW/JMdWWI5kKtC6hqIKI+wZOQD7+Pk7Mrjlyb/73pEEMtNkBGUSQfBipJy34hIntK8Nz69QHrdX0e2iwSIUBrAKA1ANAaAGgNpFISwVRo/aOCqfI8EjmjEUyF1j8pmBoXVX08IJgKrb8rCKZCawRTVVpbcou1Q5OJFQRTXxsEU6WO4+uX38f0EEwNJi7NLYFT5UqIvB27IvowxPA5wdSVvLtPnyKYGoxq5qVOoyg9DZY88zH+63GIoXxOMHWl+FxrBFODUdzTUQyfF0y9v1pfjkpIvzuCqd8LEB5M9eRmJo8ptBAIpoIfCYKpAMFUaA3Ay2oNiEMAaA2twffXWmqtxDPgN+IjlxsfXuoo0koGaB12znUI9tdaFXXviHwHxXaEbxQeuWTWzM1CS5OkNZE9xVKsROVEN/oyCtCaWZM5JzMEO2pddAsRXapcSbEl4RuFRy6ZNXNjyRmtcku21HfpoplobmMppI60CrhaM2ty52SGYDeto5MjGqtUbE34RuGRS25NXfQ0nYXMHbl7rY2jPlfh99bMmvw5mSHYSevjxZE10cMfrqauaReiuavqiyVayojv7VRZM49NcTLOT9siDtnohkyOfXdWX0QuA9bUWTM0qRDZZWyj21o6K04j0dSe8qLMD9cxEQ11LoVHHczsfmt9OHWOPHYoIsmvyZ+TG4I9tE4uRJcyurfCWCKyTd0Tkeubi6O+jLjezvWPvWN5SI5mJpoy+fVG96x1iSo8csmuyaOyfpotkVumcZr6KnubLT6JUbajc3OVSiHSkUjnLRG1ZSJldL44oksiWPhzMkOwg9aqsEQm1x+0ns6xTFuiMRayddQXEdvbqa8v5kL7YWZ8Eu3rjVaSvDyWxdn/eziX5fFYppEMiFxya36ONI66u5sQk0t/D+NZWilENbqiczTXUnh06YjOiRQc7DmZIdhBax8i6x617tzbRMqsI2ekUMZrzfV2eq2d0e+uz5n69xupoxnGYZh8sOHtxTiNVaoCIpf3a36N7vw38qB1fHbk+XX91s6D13qq5PrPhv/Nj4+G8kOwg9b+/0rXHz/++HN11Zo69UdrrrfTa+3jYyouBiJ3OYZsdMNvZLzOfOQyZM0AracmE0LVwy8iMuXbPBmI4mNPZE+H63GKdiYaD4KHOSc/BDtoLVTWEJF5/3nr1vonBqkhZ5SQrfU2cL2d90HK5VJHQRut89ysj5z5yGXomjzaPGpN5Ey5aqery0JEQsiinejGcuYfP3Pn5Idgv+fWuf9Bju3pEKmQ3s7b1TqWQsrgjQIilwFrBkAe92uZ5/kX3fhzBL1m+IPOyQ/BDlp7kqIabfBfGXVxIeojITbaiI9cBqz5xEwId05+CF4s6iR1kmeJRNQJIMEHALQGAFr/+MbU1wdaA6Yxlc/KvhDQGjCNqXxW9vWB1oDPykJr8BI1qnxjKp+VhdbgVWpUHxtTwao10M1onV3esM4NdRY43P3z/bnGVGgNouSwEmsZOtzt8/2ZxlRoDV7/8/35xlRoDV66RpVvTIXWAEBrAKA1ANAaAGgNALQG3yJAG1QhC63Bs4KpbB1AQIA2oEIWWoNnBVN14Yu7tgjQchWy0BrsEExd++i2YosKWWi9trBuP3x6MJXtqg0JpjJvV2l9rbo9to6udOv1VWdmXOg31ugtArSbVchC67WFdfvh84OpXFdtAP9UdTud0qRs59uaMh2uszb9/ZWu01sEaDeokIXWbAvrfzF8WjCV66oNgH2713opow/D7irr1xsFBWg3qJCF1mwLa/QfDNXTgqlcV20AX1bd6j8GZ81MtlV+GJ/4q3VggHaDCllozbSwbj98ejCV66oNgH37/YOO9bV/sRwTHecNf28dFKAN6L+F1oGPXbcfPj+YynXVBsBX3a7fy/3rxMzkmY0Zea3DA7RchSy0BmtX7VPerqPA5tnwXtnX1hoAvkIWWgMArQG0BgBag71hAp+vD7QGbODz1YHWgA98vgLQGuwQ+ITWYO9gKh/4fH2gtYri5BEt9x3uEExlAp+vDLRW58tsl3llsUuT/b3rUO8QTGUCny8MtJbp8VzdU1d5rHYdyh2CqUzg85WB1nnVGtOumM6UyV+7DtUOwdQNAp/QGnyrYOp74PMHAK0RTP0Q+ITWAIHP/7dbBxgAwmAAhXe+P1uBJUSmJN0fgOgOkfm+Mzw8WYOsQdYga5A1sv4UyBpkjaxB1iBrkDXIGmSNrEHWIGuQNcgaWYOsQdYga5A1pLbWHFG3o81jQBfSft2vc5mGoBsmJJfy66LBW8MDgU87POSfvREAAAAASUVORK5CYII=",n="/Blog/assets/rectangular-blocks-BHNjOwmY.gif",e="/Blog/assets/completion-DD0NWIv2.gif",t="/Blog/assets/macros-mMNgDhhD.gif",a="/Blog/assets/autoindent-DhVDTpBI.gif",r="/Blog/assets/append-bLtrWXM_.gif",l="/Blog/assets/split-rLCT0gnQ.gif",g="/Blog/assets/vimB-BL5kJk3r.png",x=()=>d.jsxs("div",{children:[d.jsx("h5",{children:"24 December 2023"}),d.jsx("h1",{children:"Beginner guide to vim"}),d.jsx("p",{}),d.jsx("p",{children:d.jsx("img",{src:g,alt:"vimb",style:{width:"100%",borderRadius:"25px"}})}),d.jsx("p",{children:"tl;dr: You want to teach yourself vim (the best text editor known to human kind) in the fastest way possible. This is my way of doing it. You start by learning the minimal to survive, then you integrate all the tricks slowly."}),d.jsx("p",{}),d.jsx("p",{children:"Learn vim and it will be your last text editor. There isn’t any better text editor that I know of. It is hard to learn, but incredible to use."}),d.jsx("p",{children:"I suggest you teach yourself Vim in 4 steps:"}),d.jsxs("ol",{children:[d.jsx("li",{children:"Survive"}),d.jsx("li",{children:"Feel comfortable"}),d.jsx("li",{children:"Feel Better, Stronger, Faster"}),d.jsx("li",{children:"Use superpowers of vim"})]}),d.jsx("p",{children:"By the end of this journey, you will become a vim superstar."}),d.jsx("p",{children:"But before we start, just a warning. Learning vim will be painful at first. It will take time. It will be a lot like playing a musical instrument. Don’t expect to be more efficient with vim than with another editor in less than 3 days. In fact it will certainly take 2 weeks instead of 3 days. I was introduced to vim by my ex collegue at Cambium Networks and boy it took me a month to get fluid with this editor."}),d.jsx("h3",{children:"1st level - Survive"}),d.jsx("p",{}),d.jsxs("ol",{children:[d.jsxs("li",{children:["Install ",d.jsx("a",{href:"https://www.vim.org/",target:"_blank",children:"vim"})]}),d.jsx("li",{children:"Launch vim"}),d.jsx("li",{children:"DO NOTHING! Read"})]}),d.jsxs("p",{children:["In a standard editor, typing on the keyboard is enough to write something and see it on the screen. Not this time. Vim is in ",d.jsx("i",{children:"Normal"})," mode. Let’s go to ",d.jsx("i",{children:"Insert"})," mode. Type the letter ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:" i"}),"."]}),d.jsxs("p",{children:["You should feel a bit better. You can type letters like in a standard editor. To get back to ",d.jsx("i",{children:"Normal"})," mode just press the ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"ESC"})," key."]}),d.jsxs("p",{children:["You now know how to switch between ",d.jsx("i",{children:"Insert"})," and ",d.jsx("i",{children:"Normal"})," mode. And now, here are the commands that you need in order to survive in ",d.jsx("i",{children:"Normal"})," mode:",d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"i"})," → Insert mode. Type ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"ESC"})," to return to Normal mode."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"x"})," → Delete the char under the cursor"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":wq"})," → Save and Quit (",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":w"})," save, ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":q"})," quit)"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"dd"})," → Delete (and copy) the current line"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"p"})," → Paste"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"hjkl"})," → basic cursor move (←↓↑→). Hint: j looks like a down arrow."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":help "})," → Show help about ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""}),". You can use ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":help"})," without a ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""})," to get general help."]})]})]}),d.jsx("p",{children:"Only 5 commands. That is all you need to get started. Once these command start to become natural (maybe after a day or so), you should move on to level 2."}),d.jsxs("p",{children:["But first, just a little remark about ",d.jsx("i",{children:"Normal mode"}),". In standard editors, to copy you have to use the ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"Ctrl"})," key (",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"Ctrl-c"})," generally). In fact, when you press ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"Ctrl"}),", it is as if all of your keys change meaning. Using vim in normal mode is a bit like having the editor automatically press the ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"Ctrl"})," key for you."]}),d.jsxs("p",{children:["A last word about notations:",d.jsxs("ul",{children:[d.jsxs("li",{children:["instead of writing ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"Ctrl-λ"}),", I’ll write ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""}),"."]}),d.jsxs("li",{children:["commands starting with ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":"})," end with ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""}),". For example, when I write ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":q"}),", I mean ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":q"}),"."]})]})]}),d.jsx("h3",{children:"2nd Level – Feel comfortable"}),d.jsx("p",{}),d.jsx("p",{children:"You know the commands required for survival. It’s time to learn a few more commands. These are my suggestions:"}),d.jsxs("ol",{children:[d.jsx("li",{children:"Insert mode variations:"}),d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"a"})," → insert after the cursor"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"o"})," → insert a new line after the current one"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"O"})," → insert a new line before the current one"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"cw"})," → replace from the cursor to the end of the word"]})]}),d.jsx("li",{children:"Basic moves"}),d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"0"})," → go to the first column"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"^"})," → go to the first non-blank character of the line"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"$"})," → go to the end of line"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"g_"})," → go to the last non-blank character of line"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"/pattern"})," → search for ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"pattern"})]})]}),d.jsx("li",{children:"Copy/Paste"}),d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"P"})," → paste before, remember ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"p"})," is paste after current position."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"yy"})," → copy the current line, easier but equivalent to ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"ddP"})]})]}),d.jsx("li",{children:"Undo/Redo"}),d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"u"})," → undo"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""})," → redo"]})]}),d.jsx("li",{children:"Load/Save/Quit/Change File (Buffer)"}),d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":e "})," → open"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":w"})," → save"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":saveas "})," → save to "]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":x"}),", ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"ZZ"})," or ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":wq"})," → save and quit (",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":x"})," only save if necessary)"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":q!"})," → quit without saving, also: ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":qa!"})," to quit even if there are modified hidden buffers."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":bn"})," (resp. ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":bp"}),") → show next (resp. previous) file (buffer)"]})]})]}),d.jsx("p",{children:"Take the time to learn all of these command. Once done, you should be able to do every thing you are able to do in other editors. You may still feel a bit awkward. But follow me to the next level and you’ll see why vim is worth the extra work."}),d.jsx("h3",{children:"3rd Level – Better. Stronger. Faster."}),d.jsx("p",{}),d.jsx("p",{children:"Congratulation for reaching this far! Now we can start with the interesting stuff. At level 3, we’ll only talk about commands which are compatible with the old vi editor."}),d.jsx("p",{}),d.jsx("h4",{children:"Better"}),d.jsx("p",{children:"Let’s look at how vim could help you to repeat yourself:"}),d.jsxs("ol",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"."})," → (dot) will repeat the last command,"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"N"})," → will repeat the command N times."]})]}),d.jsxs("p",{children:["Some examples, open a file and type:",d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"2dd"})," → will delete 2 lines"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"3p"})," → will paste the text 3 times"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"100idesu [ESC]"})," → will write “desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu”"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"."})," → Just after the last command will write again the 100 “desu”."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"3."})," → Will write 3 “desu” (and not 300, how clever)."]})]})]}),d.jsx("h4",{children:"Stronger"}),d.jsx("p",{children:"Knowing how to move efficiently with vim is very important. Don’t skip this section."}),d.jsxs("ol",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"NG "})," → Go to line N"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"gg "})," → shortcut for 1G - go to the start of the file"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"G "})," → Go to last line"]}),d.jsx("li",{children:"Word moves:"}),d.jsxs("ol",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"w "})," → go to the start of the following word,"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"e "})," → go to the end of this word."]})]}),d.jsx("p",{children:"By default, words are composed of letters and the underscore character. Let’s call a WORD a group of letter separated by blank characters. If you want to consider WORDS, then just use uppercase characters:"}),d.jsxs("ol",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"W "})," → go to the start of the following WORD,"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"E "})," → go to the end of this WORD."]})]}),d.jsx("p",{children:d.jsx("img",{src:o,alt:"wordmoves",style:{width:"60%"}})})]}),d.jsx("p",{children:"Now let’s talk about very efficient moves:"}),d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"% "})," :Go to the corresponding ( , { , [ ."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"* "}),"(resp. #) : go to next (resp. previous) occurrence of the word under the cursor"]})]}),d.jsx("p",{children:"Believe me, the last three commands are gold."}),d.jsx("h4",{children:"Faster"}),d.jsx("p",{children:"Remember about the importance of vi moves? Here is the reason. Most commands can be used using the following general format:"}),d.jsx("p",{children:d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""})}),d.jsxs("p",{children:["For example : ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"0y$"})," means"]}),d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"0"})," → go to the beginning of this line"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"y"})," → yank from here"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"$"})," → up to the end of this line"]})]}),d.jsxs("p",{children:["We also can do things like ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"ye"}),", yank from here to the end of the word. But also ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"y2/foo"})," yank up to the second occurrence of “foo”."]}),d.jsxs("p",{children:["But what was true for ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"y"})," (yank), is also true for ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"d"})," (delete), ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"v"})," (visual select), ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"gU"})," (uppercase), ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"gu"})," (lowercase), etc…"]}),d.jsx("h3",{children:"4th Level – Vim Superpowers"}),d.jsx("p",{children:"With all preceding commands you should be comfortable using vim. But now, here are the killer features. Some of these features were the reason I started to use vim."}),d.jsxs("h5",{children:["Move on current line: ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"0"})," ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"^"})," ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"$"})," ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"g_"})," ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"f"})," ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"F"})," ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"t"})," ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"T"})," ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:","})," ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:";"})]}),d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"0 "})," → go to column 0"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"^ "})," → go to first character on the line"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"$ "})," → go to the last column"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"g_ "})," → go to the last character on the line"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"fa "})," → go to next occurrence of the letter ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"a"})," on the line. ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:","})," (resp. ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:";"}),") will find the next (resp. previous) occurrence."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"t, "})," → go to just before the character ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:","}),"."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"3fa "})," → find the 3rd occurrence of ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"a"})," on this line."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"F"})," and ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"T"})," → like ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"f"})," and ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"t"})," but backward."]}),d.jsx("p",{children:d.jsx("img",{src:p,alt:"linemoves",style:{width:"60%"}})})]}),d.jsxs("p",{children:["A useful tip is: ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"dt”"})," → remove everything until the ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"”"}),"."]}),d.jsxs("h5",{children:["Zone selection ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"a"})," or ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"i"})]}),d.jsx("p",{children:"These command can only be used after an operator in visual mode. But they are very powerful. Their main pattern is:"}),d.jsxs("p",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"a"})," or ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"i"})]}),d.jsxs("p",{children:["Where action can be any action, for example, ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"d"})," (delete), ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"y"})," (yank), ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"v"})," (select in visual mode). The object can be: ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"w"})," a word, ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"W"})," a WORD (extended word), ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"s"})," a sentence, ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"p"})," a paragraph. But also, natural character such as ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:'"'}),", ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"'"}),", ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:")"}),", ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"}"}),", ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"]"}),"."]}),d.jsxs("p",{children:["Suppose the cursor is on the first ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"o"})," of ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:'(map (+) ("foo"))'}),"."]}),d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:'vi"'})," → will select foo."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:'va"'}),' → will select "foo".']}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"vi)"}),' → will select "foo".']}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"va)"}),' → will select ("foo").']}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"v2i)"}),' → will select map (+) ("foo")']}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"v2a)"}),' → will select (map (+) ("foo"))']})]}),d.jsx("p",{children:d.jsx("img",{src:i,alt:"textobjexts",style:{width:"60%"}})}),d.jsxs("h5",{children:["Select rectangular blocks: ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""}),"."]}),d.jsxs("p",{children:["Rectangular blocks are very useful for commenting many lines of code. Typically: ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"0"})," ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"I-- [ESC]"})]}),d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"^"})," → go to the first non-blank character of the line."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""})," → Start block selection."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""})," → move down (could also be jjj or %, etc…)."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"I--[ESC]"})," → write -- to comment each line."]})]}),d.jsx("p",{children:d.jsx("img",{src:n,alt:"rectb",style:{width:"60%"}})}),d.jsxs("p",{children:["Note: in Windows you might have to use ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""})," instead of ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""})," if your clipboard is not empty."]}),d.jsxs("h5",{children:["Completion: ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""})," and ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""}),"."]}),d.jsxs("p",{children:["In Insert mode, just type the start of a word, then type ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""}),", magic…"]}),d.jsx("p",{children:d.jsx("img",{src:e,alt:"completion",style:{width:"60%"}})}),d.jsxs("h5",{children:["Macros : ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"qa"})," do something ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"q"}),", ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"@a"}),", ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"@@"})]}),d.jsxs("p",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"qa"})," record your actions in the register ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"a"}),". Then ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"@a"})," will replay the macro saved into the register ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"a"})," as if you typed it. ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"@@"})," is a shortcut to replay the last executed macro."]}),d.jsx("p",{children:d.jsx("i",{children:"Example"})}),d.jsx("p",{children:"On a line containing only the number 1, type this:"}),d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"qaYpq"})," →"]}),d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"qa"}),"start recording."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"Yp"}),"duplicate this line."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""}),"increment the number."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"q"}),"stop recording."]})]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"@a"})," → write 2 under the 1"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"@@"})," →write 3 under the 2"]}),d.jsxs("li",{children:["Now do ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"100@@"})," will create a list of increasing numbers until 103."]})]}),d.jsx("p",{children:d.jsx("img",{src:t,alt:"macros",style:{width:"60%"}})}),d.jsxs("h5",{children:["Visual selection: ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"v"}),", ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"V"}),", ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""})]}),d.jsxs("p",{children:["We saw an example with ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""}),". There is also ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"v"})," and ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"V"}),". Once the selection has been made, you can:"]}),d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"J"}),"→ join all the lines together."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"<"}),"(resp. ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:">"}),") → indent to the left (resp. to the right)."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"="})," → auto indent"]})]}),d.jsx("p",{children:d.jsx("img",{src:a,alt:"autoindent",style:{width:"60%"}})}),d.jsx("p",{children:"Add something at the end of all visually selected lines:"}),d.jsxs("ul",{children:[d.jsx("li",{children:d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""})}),d.jsxs("li",{children:["go to desired line (",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"jjj"})," or ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""})," or ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"/pattern"})," or ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"%"})," etc...)"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"$"})," go to the end of the line"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"A"}),"write text, ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"ESC"}),"."]})]}),d.jsx("p",{children:d.jsx("img",{src:r,alt:"append",style:{width:"60%"}})}),d.jsxs("h5",{children:["Splits: ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":split"})," and ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"vsplit"}),"."]}),d.jsxs("p",{children:["These are the most important commands, but you should look at ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":help split"}),"."]}),d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":split"}),"→ create a split (",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":vsplit"}),"create a vertical split)"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""})," : where dir is any of",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"hjkl"}),") or ←↓↑→ to change the split."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"_"})," (resp. ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"|"}),") : maximise the size of the split (resp. vertical split)"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"+"})," (resp. ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"-"}),") : Grow (resp. shrink) split"]})]}),d.jsx("p",{children:d.jsx("img",{src:l,alt:"split",style:{width:"60%"}})}),d.jsx("h3",{children:"Conclusion"}),d.jsx("p",{children:"That was 90% of the commands I use every day. I suggest that you learn no more than one or two new commands per day. After two to three weeks you’ll start to feel the power of vim in your hands."}),d.jsxs("p",{children:["Learning Vim is more a matter of training than plain memorization. Fortunately vim comes with some very good tools and excellent documentation. Run vimtutor until you are familiar with most basic commands. Also, you should read this page carefully: ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":help usr_02.txt"}),"."]}),d.jsxs("p",{children:["Then, you will learn about ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"!"}),", folds, registers, plugins and many other features. Learn vim like you’d learn piano and all should be fine."]})]});export{x as default}; +import{j as d}from"./index-CdFEB0_j.js";const o="/Blog/assets/word_moves-DHgcqSsN.jpg",p="/Blog/assets/line_moves-FYuyebIf.jpg",i="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPIAAAB+CAIAAACReNtQAAAIS0lEQVR4AeydAYfryhvG/59vAAYwwB0QcAMCCgKBQCAoFIUgCIIhCEoQghDmMLyf5b+d05Nt17t375DbbNfzA/Xazsza38nJZh9P/yd+HABAawCtAYDWAEBrAKA1ANAaQGsAoDUA0BoAaA0AtAY3pNYSWr8EIDo2/WIdEdn5UsSfiqvzjt5YhlOqoTX43uhycVNd5ml2Gh3R3CjxKSpKzURvVAcJrcFrUF6IXBeJfybu7Go/tAY7o+rRDlUqbuh6WvpjIt6JjCXXl8Ij47yfLL3h3DzUWrwjDxURNamC1mB/kvNANKXSO561REv+bqZuJiK63G4uVD4RuaE+RDq9vuvDJVw1C1mTQ+vvADiMRFN1EEI+ehm1M5HtEil+Ex8Hokt8M7wj6rR4IDfW9QW0/haAQzURXbKsJrLlTVV1nS1tJN4pOkvWqNs1fiT3UevTuN6u7A60BjKb6IrtytvgUPsnG1pFv7nKnNYT0VREKilb/9WtflgknYiGYwyt34kOaXZPnsVabjvEUHxO1kxE9hitT6MN3eO6yMveW/JMdWWI5kKtC6hqIKI+wZOQD7+Pk7Mrjlyb/73pEEMtNkBGUSQfBipJy34hIntK8Nz69QHrdX0e2iwSIUBrAKA1ANAaAGgNpFISwVRo/aOCqfI8EjmjEUyF1j8pmBoXVX08IJgKrb8rCKZCawRTVVpbcou1Q5OJFQRTXxsEU6WO4+uX38f0EEwNJi7NLYFT5UqIvB27IvowxPA5wdSVvLtPnyKYGoxq5qVOoyg9DZY88zH+63GIoXxOMHWl+FxrBFODUdzTUQyfF0y9v1pfjkpIvzuCqd8LEB5M9eRmJo8ptBAIpoIfCYKpAMFUaA3Ay2oNiEMAaA2twffXWmqtxDPgN+IjlxsfXuoo0koGaB12znUI9tdaFXXviHwHxXaEbxQeuWTWzM1CS5OkNZE9xVKsROVEN/oyCtCaWZM5JzMEO2pddAsRXapcSbEl4RuFRy6ZNXNjyRmtcku21HfpoplobmMppI60CrhaM2ty52SGYDeto5MjGqtUbE34RuGRS25NXfQ0nYXMHbl7rY2jPlfh99bMmvw5mSHYSevjxZE10cMfrqauaReiuavqiyVayojv7VRZM49NcTLOT9siDtnohkyOfXdWX0QuA9bUWTM0qRDZZWyj21o6K04j0dSe8qLMD9cxEQ11LoVHHczsfmt9OHWOPHYoIsmvyZ+TG4I9tE4uRJcyurfCWCKyTd0Tkeubi6O+jLjezvWPvWN5SI5mJpoy+fVG96x1iSo8csmuyaOyfpotkVumcZr6KnubLT6JUbajc3OVSiHSkUjnLRG1ZSJldL44oksiWPhzMkOwg9aqsEQm1x+0ns6xTFuiMRayddQXEdvbqa8v5kL7YWZ8Eu3rjVaSvDyWxdn/eziX5fFYppEMiFxya36ONI66u5sQk0t/D+NZWilENbqiczTXUnh06YjOiRQc7DmZIdhBax8i6x617tzbRMqsI2ekUMZrzfV2eq2d0e+uz5n69xupoxnGYZh8sOHtxTiNVaoCIpf3a36N7vw38qB1fHbk+XX91s6D13qq5PrPhv/Nj4+G8kOwg9b+/0rXHz/++HN11Zo69UdrrrfTa+3jYyouBiJ3OYZsdMNvZLzOfOQyZM0AracmE0LVwy8iMuXbPBmI4mNPZE+H63GKdiYaD4KHOSc/BDtoLVTWEJF5/3nr1vonBqkhZ5SQrfU2cL2d90HK5VJHQRut89ysj5z5yGXomjzaPGpN5Ey5aqery0JEQsiinejGcuYfP3Pn5Idgv+fWuf9Bju3pEKmQ3s7b1TqWQsrgjQIilwFrBkAe92uZ5/kX3fhzBL1m+IPOyQ/BDlp7kqIabfBfGXVxIeojITbaiI9cBqz5xEwId05+CF4s6iR1kmeJRNQJIMEHALQGAFr/+MbU1wdaA6Yxlc/KvhDQGjCNqXxW9vWB1oDPykJr8BI1qnxjKp+VhdbgVWpUHxtTwao10M1onV3esM4NdRY43P3z/bnGVGgNouSwEmsZOtzt8/2ZxlRoDV7/8/35xlRoDV66RpVvTIXWAEBrAKA1ANAaAGgNALQG3yJAG1QhC63Bs4KpbB1AQIA2oEIWWoNnBVN14Yu7tgjQchWy0BrsEExd++i2YosKWWi9trBuP3x6MJXtqg0JpjJvV2l9rbo9to6udOv1VWdmXOg31ugtArSbVchC67WFdfvh84OpXFdtAP9UdTud0qRs59uaMh2uszb9/ZWu01sEaDeokIXWbAvrfzF8WjCV66oNgH2713opow/D7irr1xsFBWg3qJCF1mwLa/QfDNXTgqlcV20AX1bd6j8GZ81MtlV+GJ/4q3VggHaDCllozbSwbj98ejCV66oNgH37/YOO9bV/sRwTHecNf28dFKAN6L+F1oGPXbcfPj+YynXVBsBX3a7fy/3rxMzkmY0Zea3DA7RchSy0BmtX7VPerqPA5tnwXtnX1hoAvkIWWgMArQG0BgBag71hAp+vD7QGbODz1YHWgA98vgLQGuwQ+ITWYO9gKh/4fH2gtYri5BEt9x3uEExlAp+vDLRW58tsl3llsUuT/b3rUO8QTGUCny8MtJbp8VzdU1d5rHYdyh2CqUzg85WB1nnVGtOumM6UyV+7DtUOwdQNAp/QGnyrYOp74PMHAK0RTP0Q+ITWAIHP/7dbBxgAwmAAhXe+P1uBJUSmJN0fgOgOkfm+Mzw8WYOsQdYga5A1sv4UyBpkjaxB1iBrkDXIGmSNrEHWIGuQNcgaWYOsQdYga5A1pLbWHFG3o81jQBfSft2vc5mGoBsmJJfy66LBW8MDgU87POSfvREAAAAASUVORK5CYII=",n="/Blog/assets/rectangular-blocks-BHNjOwmY.gif",e="/Blog/assets/completion-DD0NWIv2.gif",t="/Blog/assets/macros-mMNgDhhD.gif",a="/Blog/assets/autoindent-DhVDTpBI.gif",r="/Blog/assets/append-bLtrWXM_.gif",l="/Blog/assets/split-rLCT0gnQ.gif",g="/Blog/assets/vimB-BL5kJk3r.png",x=()=>d.jsxs("div",{children:[d.jsx("h5",{children:"24 December 2023"}),d.jsx("h1",{children:"Beginner guide to vim"}),d.jsx("p",{}),d.jsx("p",{children:d.jsx("img",{src:g,alt:"vimb",style:{width:"100%",borderRadius:"25px"}})}),d.jsx("p",{children:"tl;dr: You want to teach yourself vim (the best text editor known to human kind) in the fastest way possible. This is my way of doing it. You start by learning the minimal to survive, then you integrate all the tricks slowly."}),d.jsx("p",{}),d.jsx("p",{children:"Learn vim and it will be your last text editor. There isn’t any better text editor that I know of. It is hard to learn, but incredible to use."}),d.jsx("p",{children:"I suggest you teach yourself Vim in 4 steps:"}),d.jsxs("ol",{children:[d.jsx("li",{children:"Survive"}),d.jsx("li",{children:"Feel comfortable"}),d.jsx("li",{children:"Feel Better, Stronger, Faster"}),d.jsx("li",{children:"Use superpowers of vim"})]}),d.jsx("p",{children:"By the end of this journey, you will become a vim superstar."}),d.jsx("p",{children:"But before we start, just a warning. Learning vim will be painful at first. It will take time. It will be a lot like playing a musical instrument. Don’t expect to be more efficient with vim than with another editor in less than 3 days. In fact it will certainly take 2 weeks instead of 3 days. I was introduced to vim by my ex collegue at Cambium Networks and boy it took me a month to get fluid with this editor."}),d.jsx("h3",{children:"1st level - Survive"}),d.jsx("p",{}),d.jsxs("ol",{children:[d.jsxs("li",{children:["Install ",d.jsx("a",{href:"https://www.vim.org/",target:"_blank",children:"vim"})]}),d.jsx("li",{children:"Launch vim"}),d.jsx("li",{children:"DO NOTHING! Read"})]}),d.jsxs("p",{children:["In a standard editor, typing on the keyboard is enough to write something and see it on the screen. Not this time. Vim is in ",d.jsx("i",{children:"Normal"})," mode. Let’s go to ",d.jsx("i",{children:"Insert"})," mode. Type the letter ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:" i"}),"."]}),d.jsxs("p",{children:["You should feel a bit better. You can type letters like in a standard editor. To get back to ",d.jsx("i",{children:"Normal"})," mode just press the ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"ESC"})," key."]}),d.jsxs("p",{children:["You now know how to switch between ",d.jsx("i",{children:"Insert"})," and ",d.jsx("i",{children:"Normal"})," mode. And now, here are the commands that you need in order to survive in ",d.jsx("i",{children:"Normal"})," mode:",d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"i"})," → Insert mode. Type ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"ESC"})," to return to Normal mode."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"x"})," → Delete the char under the cursor"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":wq"})," → Save and Quit (",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":w"})," save, ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":q"})," quit)"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"dd"})," → Delete (and copy) the current line"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"p"})," → Paste"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"hjkl"})," → basic cursor move (←↓↑→). Hint: j looks like a down arrow."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":help "})," → Show help about ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""}),". You can use ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":help"})," without a ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""})," to get general help."]})]})]}),d.jsx("p",{children:"Only 5 commands. That is all you need to get started. Once these command start to become natural (maybe after a day or so), you should move on to level 2."}),d.jsxs("p",{children:["But first, just a little remark about ",d.jsx("i",{children:"Normal mode"}),". In standard editors, to copy you have to use the ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"Ctrl"})," key (",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"Ctrl-c"})," generally). In fact, when you press ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"Ctrl"}),", it is as if all of your keys change meaning. Using vim in normal mode is a bit like having the editor automatically press the ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"Ctrl"})," key for you."]}),d.jsxs("p",{children:["A last word about notations:",d.jsxs("ul",{children:[d.jsxs("li",{children:["instead of writing ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"Ctrl-λ"}),", I’ll write ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""}),"."]}),d.jsxs("li",{children:["commands starting with ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":"})," end with ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""}),". For example, when I write ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":q"}),", I mean ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":q"}),"."]})]})]}),d.jsx("h3",{children:"2nd Level – Feel comfortable"}),d.jsx("p",{}),d.jsx("p",{children:"You know the commands required for survival. It’s time to learn a few more commands. These are my suggestions:"}),d.jsxs("ol",{children:[d.jsx("li",{children:"Insert mode variations:"}),d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"a"})," → insert after the cursor"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"o"})," → insert a new line after the current one"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"O"})," → insert a new line before the current one"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"cw"})," → replace from the cursor to the end of the word"]})]}),d.jsx("li",{children:"Basic moves"}),d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"0"})," → go to the first column"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"^"})," → go to the first non-blank character of the line"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"$"})," → go to the end of line"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"g_"})," → go to the last non-blank character of line"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"/pattern"})," → search for ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"pattern"})]})]}),d.jsx("li",{children:"Copy/Paste"}),d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"P"})," → paste before, remember ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"p"})," is paste after current position."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"yy"})," → copy the current line, easier but equivalent to ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"ddP"})]})]}),d.jsx("li",{children:"Undo/Redo"}),d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"u"})," → undo"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""})," → redo"]})]}),d.jsx("li",{children:"Load/Save/Quit/Change File (Buffer)"}),d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":e "})," → open"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":w"})," → save"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":saveas "})," → save to "]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":x"}),", ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"ZZ"})," or ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":wq"})," → save and quit (",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":x"})," only save if necessary)"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":q!"})," → quit without saving, also: ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":qa!"})," to quit even if there are modified hidden buffers."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":bn"})," (resp. ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":bp"}),") → show next (resp. previous) file (buffer)"]})]})]}),d.jsx("p",{children:"Take the time to learn all of these command. Once done, you should be able to do every thing you are able to do in other editors. You may still feel a bit awkward. But follow me to the next level and you’ll see why vim is worth the extra work."}),d.jsx("h3",{children:"3rd Level – Better. Stronger. Faster."}),d.jsx("p",{}),d.jsx("p",{children:"Congratulation for reaching this far! Now we can start with the interesting stuff. At level 3, we’ll only talk about commands which are compatible with the old vi editor."}),d.jsx("p",{}),d.jsx("h4",{children:"Better"}),d.jsx("p",{children:"Let’s look at how vim could help you to repeat yourself:"}),d.jsxs("ol",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"."})," → (dot) will repeat the last command,"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"N"})," → will repeat the command N times."]})]}),d.jsxs("p",{children:["Some examples, open a file and type:",d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"2dd"})," → will delete 2 lines"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"3p"})," → will paste the text 3 times"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"100idesu [ESC]"})," → will write “desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu”"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"."})," → Just after the last command will write again the 100 “desu”."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"3."})," → Will write 3 “desu” (and not 300, how clever)."]})]})]}),d.jsx("h4",{children:"Stronger"}),d.jsx("p",{children:"Knowing how to move efficiently with vim is very important. Don’t skip this section."}),d.jsxs("ol",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"NG "})," → Go to line N"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"gg "})," → shortcut for 1G - go to the start of the file"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"G "})," → Go to last line"]}),d.jsx("li",{children:"Word moves:"}),d.jsxs("ol",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"w "})," → go to the start of the following word,"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"e "})," → go to the end of this word."]})]}),d.jsx("p",{children:"By default, words are composed of letters and the underscore character. Let’s call a WORD a group of letter separated by blank characters. If you want to consider WORDS, then just use uppercase characters:"}),d.jsxs("ol",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"W "})," → go to the start of the following WORD,"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"E "})," → go to the end of this WORD."]})]}),d.jsx("p",{children:d.jsx("img",{src:o,alt:"wordmoves",style:{width:"60%"}})})]}),d.jsx("p",{children:"Now let’s talk about very efficient moves:"}),d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"% "})," :Go to the corresponding ( , { , [ ."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"* "}),"(resp. #) : go to next (resp. previous) occurrence of the word under the cursor"]})]}),d.jsx("p",{children:"Believe me, the last three commands are gold."}),d.jsx("h4",{children:"Faster"}),d.jsx("p",{children:"Remember about the importance of vi moves? Here is the reason. Most commands can be used using the following general format:"}),d.jsx("p",{children:d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""})}),d.jsxs("p",{children:["For example : ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"0y$"})," means"]}),d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"0"})," → go to the beginning of this line"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"y"})," → yank from here"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"$"})," → up to the end of this line"]})]}),d.jsxs("p",{children:["We also can do things like ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"ye"}),", yank from here to the end of the word. But also ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"y2/foo"})," yank up to the second occurrence of “foo”."]}),d.jsxs("p",{children:["But what was true for ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"y"})," (yank), is also true for ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"d"})," (delete), ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"v"})," (visual select), ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"gU"})," (uppercase), ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"gu"})," (lowercase), etc…"]}),d.jsx("h3",{children:"4th Level – Vim Superpowers"}),d.jsx("p",{children:"With all preceding commands you should be comfortable using vim. But now, here are the killer features. Some of these features were the reason I started to use vim."}),d.jsxs("h5",{children:["Move on current line: ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"0"})," ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"^"})," ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"$"})," ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"g_"})," ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"f"})," ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"F"})," ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"t"})," ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"T"})," ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:","})," ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:";"})]}),d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"0 "})," → go to column 0"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"^ "})," → go to first character on the line"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"$ "})," → go to the last column"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"g_ "})," → go to the last character on the line"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"fa "})," → go to next occurrence of the letter ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"a"})," on the line. ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:","})," (resp. ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:";"}),") will find the next (resp. previous) occurrence."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"t, "})," → go to just before the character ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:","}),"."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"3fa "})," → find the 3rd occurrence of ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"a"})," on this line."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"F"})," and ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"T"})," → like ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"f"})," and ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"t"})," but backward."]}),d.jsx("p",{children:d.jsx("img",{src:p,alt:"linemoves",style:{width:"60%"}})})]}),d.jsxs("p",{children:["A useful tip is: ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"dt”"})," → remove everything until the ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"”"}),"."]}),d.jsxs("h5",{children:["Zone selection ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"a"})," or ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"i"})]}),d.jsx("p",{children:"These command can only be used after an operator in visual mode. But they are very powerful. Their main pattern is:"}),d.jsxs("p",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"a"})," or ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"i"})]}),d.jsxs("p",{children:["Where action can be any action, for example, ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"d"})," (delete), ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"y"})," (yank), ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"v"})," (select in visual mode). The object can be: ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"w"})," a word, ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"W"})," a WORD (extended word), ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"s"})," a sentence, ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"p"})," a paragraph. But also, natural character such as ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:'"'}),", ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"'"}),", ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:")"}),", ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"}"}),", ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"]"}),"."]}),d.jsxs("p",{children:["Suppose the cursor is on the first ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"o"})," of ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:'(map (+) ("foo"))'}),"."]}),d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:'vi"'})," → will select foo."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:'va"'}),' → will select "foo".']}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"vi)"}),' → will select "foo".']}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"va)"}),' → will select ("foo").']}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"v2i)"}),' → will select map (+) ("foo")']}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"v2a)"}),' → will select (map (+) ("foo"))']})]}),d.jsx("p",{children:d.jsx("img",{src:i,alt:"textobjexts",style:{width:"60%"}})}),d.jsxs("h5",{children:["Select rectangular blocks: ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""}),"."]}),d.jsxs("p",{children:["Rectangular blocks are very useful for commenting many lines of code. Typically: ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"0"})," ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"I-- [ESC]"})]}),d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"^"})," → go to the first non-blank character of the line."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""})," → Start block selection."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""})," → move down (could also be jjj or %, etc…)."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"I--[ESC]"})," → write -- to comment each line."]})]}),d.jsx("p",{children:d.jsx("img",{src:n,alt:"rectb",style:{width:"60%"}})}),d.jsxs("p",{children:["Note: in Windows you might have to use ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""})," instead of ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""})," if your clipboard is not empty."]}),d.jsxs("h5",{children:["Completion: ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""})," and ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""}),"."]}),d.jsxs("p",{children:["In Insert mode, just type the start of a word, then type ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""}),", magic…"]}),d.jsx("p",{children:d.jsx("img",{src:e,alt:"completion",style:{width:"60%"}})}),d.jsxs("h5",{children:["Macros : ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"qa"})," do something ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"q"}),", ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"@a"}),", ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"@@"})]}),d.jsxs("p",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"qa"})," record your actions in the register ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"a"}),". Then ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"@a"})," will replay the macro saved into the register ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"a"})," as if you typed it. ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"@@"})," is a shortcut to replay the last executed macro."]}),d.jsx("p",{children:d.jsx("i",{children:"Example"})}),d.jsx("p",{children:"On a line containing only the number 1, type this:"}),d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"qaYpq"})," →"]}),d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"qa"}),"start recording."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"Yp"}),"duplicate this line."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""}),"increment the number."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"q"}),"stop recording."]})]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"@a"})," → write 2 under the 1"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"@@"})," →write 3 under the 2"]}),d.jsxs("li",{children:["Now do ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"100@@"})," will create a list of increasing numbers until 103."]})]}),d.jsx("p",{children:d.jsx("img",{src:t,alt:"macros",style:{width:"60%"}})}),d.jsxs("h5",{children:["Visual selection: ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"v"}),", ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"V"}),", ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""})]}),d.jsxs("p",{children:["We saw an example with ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""}),". There is also ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"v"})," and ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"V"}),". Once the selection has been made, you can:"]}),d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"J"}),"→ join all the lines together."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"<"}),"(resp. ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:">"}),") → indent to the left (resp. to the right)."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"="})," → auto indent"]})]}),d.jsx("p",{children:d.jsx("img",{src:a,alt:"autoindent",style:{width:"60%"}})}),d.jsx("p",{children:"Add something at the end of all visually selected lines:"}),d.jsxs("ul",{children:[d.jsx("li",{children:d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""})}),d.jsxs("li",{children:["go to desired line (",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"jjj"})," or ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""})," or ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"/pattern"})," or ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"%"})," etc...)"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"$"})," go to the end of the line"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"A"}),"write text, ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"ESC"}),"."]})]}),d.jsx("p",{children:d.jsx("img",{src:r,alt:"append",style:{width:"60%"}})}),d.jsxs("h5",{children:["Splits: ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":split"})," and ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"vsplit"}),"."]}),d.jsxs("p",{children:["These are the most important commands, but you should look at ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":help split"}),"."]}),d.jsxs("ul",{children:[d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":split"}),"→ create a split (",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":vsplit"}),"create a vertical split)"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:""})," : where dir is any of",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"hjkl"}),") or ←↓↑→ to change the split."]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"_"})," (resp. ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"|"}),") : maximise the size of the split (resp. vertical split)"]}),d.jsxs("li",{children:[d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"+"})," (resp. ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"-"}),") : Grow (resp. shrink) split"]})]}),d.jsx("p",{children:d.jsx("img",{src:l,alt:"split",style:{width:"60%"}})}),d.jsx("h3",{children:"Conclusion"}),d.jsx("p",{children:"That was 90% of the commands I use every day. I suggest that you learn no more than one or two new commands per day. After two to three weeks you’ll start to feel the power of vim in your hands."}),d.jsxs("p",{children:["Learning Vim is more a matter of training than plain memorization. Fortunately vim comes with some very good tools and excellent documentation. Run vimtutor until you are familiar with most basic commands. Also, you should read this page carefully: ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:":help usr_02.txt"}),"."]}),d.jsxs("p",{children:["Then, you will learn about ",d.jsx("mark",{style:{color:"#B3B9C5",backgroundColor:"#3B4252",paddingLeft:"8px",paddingRight:"8px",paddingTop:"0px",paddingBottom:"0px"},children:"!"}),", folds, registers, plugins and many other features. Learn vim like you’d learn piano and all should be fine."]})]});export{x as default}; diff --git a/assets/index-CdFEB0_j.js b/assets/index-CdFEB0_j.js new file mode 100644 index 0000000..2f93dfe --- /dev/null +++ b/assets/index-CdFEB0_j.js @@ -0,0 +1,71 @@ +function l0(e,t){for(var n=0;nr[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const l of i)if(l.type==="childList")for(const s of l.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(i){const l={};return i.integrity&&(l.integrity=i.integrity),i.referrerPolicy&&(l.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?l.credentials="include":i.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function r(i){if(i.ep)return;i.ep=!0;const l=n(i);fetch(i.href,l)}})();var s0=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function mp(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var gp={exports:{}},Vl={},vp={exports:{}},q={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var oo=Symbol.for("react.element"),a0=Symbol.for("react.portal"),u0=Symbol.for("react.fragment"),c0=Symbol.for("react.strict_mode"),f0=Symbol.for("react.profiler"),d0=Symbol.for("react.provider"),p0=Symbol.for("react.context"),h0=Symbol.for("react.forward_ref"),m0=Symbol.for("react.suspense"),g0=Symbol.for("react.memo"),v0=Symbol.for("react.lazy"),Kf=Symbol.iterator;function y0(e){return e===null||typeof e!="object"?null:(e=Kf&&e[Kf]||e["@@iterator"],typeof e=="function"?e:null)}var yp={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_p=Object.assign,wp={};function ei(e,t,n){this.props=e,this.context=t,this.refs=wp,this.updater=n||yp}ei.prototype.isReactComponent={};ei.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};ei.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Ep(){}Ep.prototype=ei.prototype;function pu(e,t,n){this.props=e,this.context=t,this.refs=wp,this.updater=n||yp}var hu=pu.prototype=new Ep;hu.constructor=pu;_p(hu,ei.prototype);hu.isPureReactComponent=!0;var Yf=Array.isArray,xp=Object.prototype.hasOwnProperty,mu={current:null},Sp={key:!0,ref:!0,__self:!0,__source:!0};function kp(e,t,n){var r,i={},l=null,s=null;if(t!=null)for(r in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(l=""+t.key),t)xp.call(t,r)&&!Sp.hasOwnProperty(r)&&(i[r]=t[r]);var u=arguments.length-2;if(u===1)i.children=n;else if(1>>1,xe=b[de];if(0>>1;dei(Bt,x))Tei(sn,Bt)?(b[de]=sn,b[Te]=x,de=Te):(b[de]=Bt,b[De]=x,de=De);else if(Tei(sn,x))b[de]=sn,b[Te]=x,de=Te;else break e}}return Q}function i(b,Q){var x=b.sortIndex-Q.sortIndex;return x!==0?x:b.id-Q.id}if(typeof performance=="object"&&typeof performance.now=="function"){var l=performance;e.unstable_now=function(){return l.now()}}else{var s=Date,u=s.now();e.unstable_now=function(){return s.now()-u}}var f=[],p=[],v=1,g=null,E=3,N=!1,O=!1,P=!1,A=typeof setTimeout=="function"?setTimeout:null,m=typeof clearTimeout=="function"?clearTimeout:null,h=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function _(b){for(var Q=n(p);Q!==null;){if(Q.callback===null)r(p);else if(Q.startTime<=b)r(p),Q.sortIndex=Q.expirationTime,t(f,Q);else break;Q=n(p)}}function C(b){if(P=!1,_(b),!O)if(n(f)!==null)O=!0,ur(D);else{var Q=n(p);Q!==null&&Rn(C,Q.startTime-b)}}function D(b,Q){O=!1,P&&(P=!1,m(B),B=-1),N=!0;var x=E;try{for(_(Q),g=n(f);g!==null&&(!(g.expirationTime>Q)||b&&!et());){var de=g.callback;if(typeof de=="function"){g.callback=null,E=g.priorityLevel;var xe=de(g.expirationTime<=Q);Q=e.unstable_now(),typeof xe=="function"?g.callback=xe:g===n(f)&&r(f),_(Q)}else r(f);g=n(f)}if(g!==null)var ln=!0;else{var De=n(p);De!==null&&Rn(C,De.startTime-Q),ln=!1}return ln}finally{g=null,E=x,N=!1}}var F=!1,U=null,B=-1,me=5,Z=-1;function et(){return!(e.unstable_now()-Zb||125de?(b.sortIndex=x,t(p,b),n(f)===null&&b===n(p)&&(P?(m(B),B=-1):P=!0,Rn(C,x-de))):(b.sortIndex=xe,t(f,b),O||N||(O=!0,ur(D))),b},e.unstable_shouldYield=et,e.unstable_wrapCallback=function(b){var Q=E;return function(){var x=E;E=Q;try{return b.apply(this,arguments)}finally{E=x}}}})(Op);Pp.exports=Op;var L0=Pp.exports;/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var j0=R,at=L0;function L(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ga=Object.prototype.hasOwnProperty,A0=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Gf={},Zf={};function D0(e){return ga.call(Zf,e)?!0:ga.call(Gf,e)?!1:A0.test(e)?Zf[e]=!0:(Gf[e]=!0,!1)}function I0(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function R0(e,t,n,r){if(t===null||typeof t>"u"||I0(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Ye(e,t,n,r,i,l,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=l,this.removeEmptyString=s}var be={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){be[e]=new Ye(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];be[t]=new Ye(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){be[e]=new Ye(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){be[e]=new Ye(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){be[e]=new Ye(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){be[e]=new Ye(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){be[e]=new Ye(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){be[e]=new Ye(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){be[e]=new Ye(e,5,!1,e.toLowerCase(),null,!1,!1)});var vu=/[\-:]([a-z])/g;function yu(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(vu,yu);be[t]=new Ye(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(vu,yu);be[t]=new Ye(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(vu,yu);be[t]=new Ye(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){be[e]=new Ye(e,1,!1,e.toLowerCase(),null,!1,!1)});be.xlinkHref=new Ye("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){be[e]=new Ye(e,1,!1,e.toLowerCase(),null,!0,!0)});function _u(e,t,n,r){var i=be.hasOwnProperty(t)?be[t]:null;(i!==null?i.type!==0:r||!(2u||i[s]!==l[u]){var f=` +`+i[s].replace(" at new "," at ");return e.displayName&&f.includes("")&&(f=f.replace("",e.displayName)),f}while(1<=s&&0<=u);break}}}finally{Ws=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ci(e):""}function b0(e){switch(e.tag){case 5:return Ci(e.type);case 16:return Ci("Lazy");case 13:return Ci("Suspense");case 19:return Ci("SuspenseList");case 0:case 2:case 15:return e=Vs(e.type,!1),e;case 11:return e=Vs(e.type.render,!1),e;case 1:return e=Vs(e.type,!0),e;default:return""}}function wa(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Or:return"Fragment";case Pr:return"Portal";case va:return"Profiler";case wu:return"StrictMode";case ya:return"Suspense";case _a:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Ap:return(e.displayName||"Context")+".Consumer";case jp:return(e._context.displayName||"Context")+".Provider";case Eu:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case xu:return t=e.displayName||null,t!==null?t:wa(e.type)||"Memo";case pn:t=e._payload,e=e._init;try{return wa(e(t))}catch{}}return null}function M0(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return wa(t);case 8:return t===wu?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function On(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Ip(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function z0(e){var t=Ip(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,l=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(s){r=""+s,l.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(s){r=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Mo(e){e._valueTracker||(e._valueTracker=z0(e))}function Rp(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Ip(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function hl(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Ea(e,t){var n=t.checked;return _e({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function qf(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=On(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function bp(e,t){t=t.checked,t!=null&&_u(e,"checked",t,!1)}function xa(e,t){bp(e,t);var n=On(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Sa(e,t.type,n):t.hasOwnProperty("defaultValue")&&Sa(e,t.type,On(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function ed(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function Sa(e,t,n){(t!=="number"||hl(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Ni=Array.isArray;function Fr(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=zo.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Fi(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Li={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},$0=["Webkit","ms","Moz","O"];Object.keys(Li).forEach(function(e){$0.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Li[t]=Li[e]})});function Fp(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Li.hasOwnProperty(e)&&Li[e]?(""+t).trim():t+"px"}function Up(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=Fp(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var F0=_e({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Na(e,t){if(t){if(F0[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(L(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(L(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(L(61))}if(t.style!=null&&typeof t.style!="object")throw Error(L(62))}}function Ta(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Pa=null;function Su(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Oa=null,Ur=null,Br=null;function rd(e){if(e=ao(e)){if(typeof Oa!="function")throw Error(L(280));var t=e.stateNode;t&&(t=Xl(t),Oa(e.stateNode,e.type,t))}}function Bp(e){Ur?Br?Br.push(e):Br=[e]:Ur=e}function Wp(){if(Ur){var e=Ur,t=Br;if(Br=Ur=null,rd(e),t)for(e=0;e>>=0,e===0?32:31-(Z0(e)/J0|0)|0}var $o=64,Fo=4194304;function Ti(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function yl(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,l=e.pingedLanes,s=n&268435455;if(s!==0){var u=s&~i;u!==0?r=Ti(u):(l&=s,l!==0&&(r=Ti(l)))}else s=n&~i,s!==0?r=Ti(s):l!==0&&(r=Ti(l));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,l=t&-t,i>=l||i===16&&(l&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function lo(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ot(t),e[t]=n}function ny(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Ai),dd=" ",pd=!1;function uh(e,t){switch(e){case"keyup":return Ly.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function ch(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Lr=!1;function Ay(e,t){switch(e){case"compositionend":return ch(t);case"keypress":return t.which!==32?null:(pd=!0,dd);case"textInput":return e=t.data,e===dd&&pd?null:e;default:return null}}function Dy(e,t){if(Lr)return e==="compositionend"||!ju&&uh(e,t)?(e=sh(),ol=Pu=vn=null,Lr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=vd(n)}}function hh(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?hh(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function mh(){for(var e=window,t=hl();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=hl(e.document)}return t}function Au(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function By(e){var t=mh(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&hh(n.ownerDocument.documentElement,n)){if(r!==null&&Au(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,l=Math.min(r.start,i);r=r.end===void 0?l:Math.min(r.end,i),!e.extend&&l>r&&(i=r,r=l,l=i),i=yd(n,l);var s=yd(n,r);i&&s&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),l>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,jr=null,Ra=null,Ii=null,ba=!1;function _d(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;ba||jr==null||jr!==hl(r)||(r=jr,"selectionStart"in r&&Au(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Ii&&Qi(Ii,r)||(Ii=r,r=El(Ra,"onSelect"),0Ir||(e.current=Ba[Ir],Ba[Ir]=null,Ir--)}function fe(e,t){Ir++,Ba[Ir]=e.current,e.current=t}var Ln={},Fe=An(Ln),Ze=An(!1),tr=Ln;function Kr(e,t){var n=e.type.contextTypes;if(!n)return Ln;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},l;for(l in n)i[l]=t[l];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Je(e){return e=e.childContextTypes,e!=null}function Sl(){he(Ze),he(Fe)}function Nd(e,t,n){if(Fe.current!==Ln)throw Error(L(168));fe(Fe,t),fe(Ze,n)}function kh(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(L(108,M0(e)||"Unknown",i));return _e({},n,r)}function kl(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ln,tr=Fe.current,fe(Fe,e),fe(Ze,Ze.current),!0}function Td(e,t,n){var r=e.stateNode;if(!r)throw Error(L(169));n?(e=kh(e,t,tr),r.__reactInternalMemoizedMergedChildContext=e,he(Ze),he(Fe),fe(Fe,e)):he(Ze),fe(Ze,n)}var Kt=null,Gl=!1,ia=!1;function Ch(e){Kt===null?Kt=[e]:Kt.push(e)}function e1(e){Gl=!0,Ch(e)}function Dn(){if(!ia&&Kt!==null){ia=!0;var e=0,t=le;try{var n=Kt;for(le=1;e>=s,i-=s,Yt=1<<32-Ot(t)+i|n<B?(me=U,U=null):me=U.sibling;var Z=E(m,U,_[B],C);if(Z===null){U===null&&(U=me);break}e&&U&&Z.alternate===null&&t(m,U),h=l(Z,h,B),F===null?D=Z:F.sibling=Z,F=Z,U=me}if(B===_.length)return n(m,U),ge&&Kn(m,B),D;if(U===null){for(;B<_.length;B++)U=g(m,_[B],C),U!==null&&(h=l(U,h,B),F===null?D=U:F.sibling=U,F=U);return ge&&Kn(m,B),D}for(U=r(m,U);B<_.length;B++)me=N(U,m,B,_[B],C),me!==null&&(e&&me.alternate!==null&&U.delete(me.key===null?B:me.key),h=l(me,h,B),F===null?D=me:F.sibling=me,F=me);return e&&U.forEach(function(et){return t(m,et)}),ge&&Kn(m,B),D}function P(m,h,_,C){var D=mi(_);if(typeof D!="function")throw Error(L(150));if(_=D.call(_),_==null)throw Error(L(151));for(var F=D=null,U=h,B=h=0,me=null,Z=_.next();U!==null&&!Z.done;B++,Z=_.next()){U.index>B?(me=U,U=null):me=U.sibling;var et=E(m,U,Z.value,C);if(et===null){U===null&&(U=me);break}e&&U&&et.alternate===null&&t(m,U),h=l(et,h,B),F===null?D=et:F.sibling=et,F=et,U=me}if(Z.done)return n(m,U),ge&&Kn(m,B),D;if(U===null){for(;!Z.done;B++,Z=_.next())Z=g(m,Z.value,C),Z!==null&&(h=l(Z,h,B),F===null?D=Z:F.sibling=Z,F=Z);return ge&&Kn(m,B),D}for(U=r(m,U);!Z.done;B++,Z=_.next())Z=N(U,m,B,Z.value,C),Z!==null&&(e&&Z.alternate!==null&&U.delete(Z.key===null?B:Z.key),h=l(Z,h,B),F===null?D=Z:F.sibling=Z,F=Z);return e&&U.forEach(function(rn){return t(m,rn)}),ge&&Kn(m,B),D}function A(m,h,_,C){if(typeof _=="object"&&_!==null&&_.type===Or&&_.key===null&&(_=_.props.children),typeof _=="object"&&_!==null){switch(_.$$typeof){case bo:e:{for(var D=_.key,F=h;F!==null;){if(F.key===D){if(D=_.type,D===Or){if(F.tag===7){n(m,F.sibling),h=i(F,_.props.children),h.return=m,m=h;break e}}else if(F.elementType===D||typeof D=="object"&&D!==null&&D.$$typeof===pn&&Ld(D)===F.type){n(m,F.sibling),h=i(F,_.props),h.ref=wi(m,F,_),h.return=m,m=h;break e}n(m,F);break}else t(m,F);F=F.sibling}_.type===Or?(h=er(_.props.children,m.mode,C,_.key),h.return=m,m=h):(C=pl(_.type,_.key,_.props,null,m.mode,C),C.ref=wi(m,h,_),C.return=m,m=C)}return s(m);case Pr:e:{for(F=_.key;h!==null;){if(h.key===F)if(h.tag===4&&h.stateNode.containerInfo===_.containerInfo&&h.stateNode.implementation===_.implementation){n(m,h.sibling),h=i(h,_.children||[]),h.return=m,m=h;break e}else{n(m,h);break}else t(m,h);h=h.sibling}h=da(_,m.mode,C),h.return=m,m=h}return s(m);case pn:return F=_._init,A(m,h,F(_._payload),C)}if(Ni(_))return O(m,h,_,C);if(mi(_))return P(m,h,_,C);Ko(m,_)}return typeof _=="string"&&_!==""||typeof _=="number"?(_=""+_,h!==null&&h.tag===6?(n(m,h.sibling),h=i(h,_),h.return=m,m=h):(n(m,h),h=fa(_,m.mode,C),h.return=m,m=h),s(m)):n(m,h)}return A}var Xr=Oh(!0),Lh=Oh(!1),Tl=An(null),Pl=null,Mr=null,bu=null;function Mu(){bu=Mr=Pl=null}function zu(e){var t=Tl.current;he(Tl),e._currentValue=t}function Ha(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Vr(e,t){Pl=e,bu=Mr=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Ge=!0),e.firstContext=null)}function Et(e){var t=e._currentValue;if(bu!==e)if(e={context:e,memoizedValue:t,next:null},Mr===null){if(Pl===null)throw Error(L(308));Mr=e,Pl.dependencies={lanes:0,firstContext:e}}else Mr=Mr.next=e;return t}var Zn=null;function $u(e){Zn===null?Zn=[e]:Zn.push(e)}function jh(e,t,n,r){var i=t.interleaved;return i===null?(n.next=n,$u(t)):(n.next=i.next,i.next=n),t.interleaved=n,qt(e,r)}function qt(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var hn=!1;function Fu(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Ah(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Gt(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function kn(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,te&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,qt(e,n)}return i=r.interleaved,i===null?(t.next=t,$u(r)):(t.next=i.next,i.next=t),r.interleaved=t,qt(e,n)}function sl(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Cu(e,n)}}function jd(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,l=null;if(n=n.firstBaseUpdate,n!==null){do{var s={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};l===null?i=l=s:l=l.next=s,n=n.next}while(n!==null);l===null?i=l=t:l=l.next=t}else i=l=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:l,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Ol(e,t,n,r){var i=e.updateQueue;hn=!1;var l=i.firstBaseUpdate,s=i.lastBaseUpdate,u=i.shared.pending;if(u!==null){i.shared.pending=null;var f=u,p=f.next;f.next=null,s===null?l=p:s.next=p,s=f;var v=e.alternate;v!==null&&(v=v.updateQueue,u=v.lastBaseUpdate,u!==s&&(u===null?v.firstBaseUpdate=p:u.next=p,v.lastBaseUpdate=f))}if(l!==null){var g=i.baseState;s=0,v=p=f=null,u=l;do{var E=u.lane,N=u.eventTime;if((r&E)===E){v!==null&&(v=v.next={eventTime:N,lane:0,tag:u.tag,payload:u.payload,callback:u.callback,next:null});e:{var O=e,P=u;switch(E=t,N=n,P.tag){case 1:if(O=P.payload,typeof O=="function"){g=O.call(N,g,E);break e}g=O;break e;case 3:O.flags=O.flags&-65537|128;case 0:if(O=P.payload,E=typeof O=="function"?O.call(N,g,E):O,E==null)break e;g=_e({},g,E);break e;case 2:hn=!0}}u.callback!==null&&u.lane!==0&&(e.flags|=64,E=i.effects,E===null?i.effects=[u]:E.push(u))}else N={eventTime:N,lane:E,tag:u.tag,payload:u.payload,callback:u.callback,next:null},v===null?(p=v=N,f=g):v=v.next=N,s|=E;if(u=u.next,u===null){if(u=i.shared.pending,u===null)break;E=u,u=E.next,E.next=null,i.lastBaseUpdate=E,i.shared.pending=null}}while(!0);if(v===null&&(f=g),i.baseState=f,i.firstBaseUpdate=p,i.lastBaseUpdate=v,t=i.shared.interleaved,t!==null){i=t;do s|=i.lane,i=i.next;while(i!==t)}else l===null&&(i.shared.lanes=0);ir|=s,e.lanes=s,e.memoizedState=g}}function Ad(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=la.transition;la.transition={};try{e(!1),t()}finally{le=n,la.transition=r}}function Xh(){return xt().memoizedState}function i1(e,t,n){var r=Nn(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Gh(e))Zh(t,n);else if(n=jh(e,t,n,r),n!==null){var i=Qe();Lt(n,e,r,i),Jh(n,t,r)}}function o1(e,t,n){var r=Nn(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Gh(e))Zh(t,i);else{var l=e.alternate;if(e.lanes===0&&(l===null||l.lanes===0)&&(l=t.lastRenderedReducer,l!==null))try{var s=t.lastRenderedState,u=l(s,n);if(i.hasEagerState=!0,i.eagerState=u,jt(u,s)){var f=t.interleaved;f===null?(i.next=i,$u(t)):(i.next=f.next,f.next=i),t.interleaved=i;return}}catch{}finally{}n=jh(e,t,i,r),n!==null&&(i=Qe(),Lt(n,e,r,i),Jh(n,t,r))}}function Gh(e){var t=e.alternate;return e===ye||t!==null&&t===ye}function Zh(e,t){Ri=jl=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Jh(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Cu(e,n)}}var Al={readContext:Et,useCallback:Me,useContext:Me,useEffect:Me,useImperativeHandle:Me,useInsertionEffect:Me,useLayoutEffect:Me,useMemo:Me,useReducer:Me,useRef:Me,useState:Me,useDebugValue:Me,useDeferredValue:Me,useTransition:Me,useMutableSource:Me,useSyncExternalStore:Me,useId:Me,unstable_isNewReconciler:!1},l1={readContext:Et,useCallback:function(e,t){return Mt().memoizedState=[e,t===void 0?null:t],e},useContext:Et,useEffect:Id,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,ul(4194308,4,Vh.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ul(4194308,4,e,t)},useInsertionEffect:function(e,t){return ul(4,2,e,t)},useMemo:function(e,t){var n=Mt();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Mt();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=i1.bind(null,ye,e),[r.memoizedState,e]},useRef:function(e){var t=Mt();return e={current:e},t.memoizedState=e},useState:Dd,useDebugValue:Yu,useDeferredValue:function(e){return Mt().memoizedState=e},useTransition:function(){var e=Dd(!1),t=e[0];return e=r1.bind(null,e[1]),Mt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=ye,i=Mt();if(ge){if(n===void 0)throw Error(L(407));n=n()}else{if(n=t(),Ae===null)throw Error(L(349));rr&30||bh(r,t,n)}i.memoizedState=n;var l={value:n,getSnapshot:t};return i.queue=l,Id(zh.bind(null,r,l,e),[e]),r.flags|=2048,eo(9,Mh.bind(null,r,l,n,t),void 0,null),n},useId:function(){var e=Mt(),t=Ae.identifierPrefix;if(ge){var n=Xt,r=Yt;n=(r&~(1<<32-Ot(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Ji++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[zt]=t,e[Xi]=r,am(e,t,!1,!1),t.stateNode=e;e:{switch(s=Ta(n,r),n){case"dialog":pe("cancel",e),pe("close",e),i=r;break;case"iframe":case"object":case"embed":pe("load",e),i=r;break;case"video":case"audio":for(i=0;iJr&&(t.flags|=128,r=!0,Ei(l,!1),t.lanes=4194304)}else{if(!r)if(e=Ll(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Ei(l,!0),l.tail===null&&l.tailMode==="hidden"&&!s.alternate&&!ge)return ze(t),null}else 2*ke()-l.renderingStartTime>Jr&&n!==1073741824&&(t.flags|=128,r=!0,Ei(l,!1),t.lanes=4194304);l.isBackwards?(s.sibling=t.child,t.child=s):(n=l.last,n!==null?n.sibling=s:t.child=s,l.last=s)}return l.tail!==null?(t=l.tail,l.rendering=t,l.tail=t.sibling,l.renderingStartTime=ke(),t.sibling=null,n=ve.current,fe(ve,r?n&1|2:n&1),t):(ze(t),null);case 22:case 23:return ec(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?ot&1073741824&&(ze(t),t.subtreeFlags&6&&(t.flags|=8192)):ze(t),null;case 24:return null;case 25:return null}throw Error(L(156,t.tag))}function h1(e,t){switch(Iu(t),t.tag){case 1:return Je(t.type)&&Sl(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Gr(),he(Ze),he(Fe),Wu(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Bu(t),null;case 13:if(he(ve),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(L(340));Yr()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return he(ve),null;case 4:return Gr(),null;case 10:return zu(t.type._context),null;case 22:case 23:return ec(),null;case 24:return null;default:return null}}var Xo=!1,$e=!1,m1=typeof WeakSet=="function"?WeakSet:Set,z=null;function zr(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Ee(e,t,r)}else n.current=null}function eu(e,t,n){try{n()}catch(r){Ee(e,t,r)}}var Hd=!1;function g1(e,t){if(Ma=_l,e=mh(),Au(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,l=r.focusNode;r=r.focusOffset;try{n.nodeType,l.nodeType}catch{n=null;break e}var s=0,u=-1,f=-1,p=0,v=0,g=e,E=null;t:for(;;){for(var N;g!==n||i!==0&&g.nodeType!==3||(u=s+i),g!==l||r!==0&&g.nodeType!==3||(f=s+r),g.nodeType===3&&(s+=g.nodeValue.length),(N=g.firstChild)!==null;)E=g,g=N;for(;;){if(g===e)break t;if(E===n&&++p===i&&(u=s),E===l&&++v===r&&(f=s),(N=g.nextSibling)!==null)break;g=E,E=g.parentNode}g=N}n=u===-1||f===-1?null:{start:u,end:f}}else n=null}n=n||{start:0,end:0}}else n=null;for(za={focusedElem:e,selectionRange:n},_l=!1,z=t;z!==null;)if(t=z,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,z=e;else for(;z!==null;){t=z;try{var O=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(O!==null){var P=O.memoizedProps,A=O.memoizedState,m=t.stateNode,h=m.getSnapshotBeforeUpdate(t.elementType===t.type?P:Nt(t.type,P),A);m.__reactInternalSnapshotBeforeUpdate=h}break;case 3:var _=t.stateNode.containerInfo;_.nodeType===1?_.textContent="":_.nodeType===9&&_.documentElement&&_.removeChild(_.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(L(163))}}catch(C){Ee(t,t.return,C)}if(e=t.sibling,e!==null){e.return=t.return,z=e;break}z=t.return}return O=Hd,Hd=!1,O}function bi(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var l=i.destroy;i.destroy=void 0,l!==void 0&&eu(t,n,l)}i=i.next}while(i!==r)}}function ql(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function tu(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function fm(e){var t=e.alternate;t!==null&&(e.alternate=null,fm(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[zt],delete t[Xi],delete t[Ua],delete t[Jy],delete t[qy])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function dm(e){return e.tag===5||e.tag===3||e.tag===4}function Qd(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||dm(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function nu(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=xl));else if(r!==4&&(e=e.child,e!==null))for(nu(e,t,n),e=e.sibling;e!==null;)nu(e,t,n),e=e.sibling}function ru(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(ru(e,t,n),e=e.sibling;e!==null;)ru(e,t,n),e=e.sibling}var Ie=null,Tt=!1;function dn(e,t,n){for(n=n.child;n!==null;)pm(e,t,n),n=n.sibling}function pm(e,t,n){if(Ft&&typeof Ft.onCommitFiberUnmount=="function")try{Ft.onCommitFiberUnmount(Hl,n)}catch{}switch(n.tag){case 5:$e||zr(n,t);case 6:var r=Ie,i=Tt;Ie=null,dn(e,t,n),Ie=r,Tt=i,Ie!==null&&(Tt?(e=Ie,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Ie.removeChild(n.stateNode));break;case 18:Ie!==null&&(Tt?(e=Ie,n=n.stateNode,e.nodeType===8?ra(e.parentNode,n):e.nodeType===1&&ra(e,n),Vi(e)):ra(Ie,n.stateNode));break;case 4:r=Ie,i=Tt,Ie=n.stateNode.containerInfo,Tt=!0,dn(e,t,n),Ie=r,Tt=i;break;case 0:case 11:case 14:case 15:if(!$e&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var l=i,s=l.destroy;l=l.tag,s!==void 0&&(l&2||l&4)&&eu(n,t,s),i=i.next}while(i!==r)}dn(e,t,n);break;case 1:if(!$e&&(zr(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(u){Ee(n,t,u)}dn(e,t,n);break;case 21:dn(e,t,n);break;case 22:n.mode&1?($e=(r=$e)||n.memoizedState!==null,dn(e,t,n),$e=r):dn(e,t,n);break;default:dn(e,t,n)}}function Kd(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new m1),t.forEach(function(r){var i=C1.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function Ct(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=s),r&=~l}if(r=i,r=ke()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*y1(r/1960))-r,10e?16:e,yn===null)var r=!1;else{if(e=yn,yn=null,Rl=0,te&6)throw Error(L(331));var i=te;for(te|=4,z=e.current;z!==null;){var l=z,s=l.child;if(z.flags&16){var u=l.deletions;if(u!==null){for(var f=0;fke()-Ju?qn(e,0):Zu|=n),qe(e,t)}function Em(e,t){t===0&&(e.mode&1?(t=Fo,Fo<<=1,!(Fo&130023424)&&(Fo=4194304)):t=1);var n=Qe();e=qt(e,t),e!==null&&(lo(e,t,n),qe(e,n))}function k1(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Em(e,n)}function C1(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(L(314))}r!==null&&r.delete(t),Em(e,n)}var xm;xm=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Ze.current)Ge=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Ge=!1,d1(e,t,n);Ge=!!(e.flags&131072)}else Ge=!1,ge&&t.flags&1048576&&Nh(t,Nl,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;cl(e,t),e=t.pendingProps;var i=Kr(t,Fe.current);Vr(t,n),i=Hu(null,t,r,e,i,n);var l=Qu();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Je(r)?(l=!0,kl(t)):l=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Fu(t),i.updater=Jl,t.stateNode=i,i._reactInternals=t,Ka(t,r,e,n),t=Ga(null,t,r,!0,l,n)):(t.tag=0,ge&&l&&Du(t),He(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(cl(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=T1(r),e=Nt(r,e),i){case 0:t=Xa(null,t,r,e,n);break e;case 1:t=Bd(null,t,r,e,n);break e;case 11:t=Fd(null,t,r,e,n);break e;case 14:t=Ud(null,t,r,Nt(r.type,e),n);break e}throw Error(L(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Nt(r,i),Xa(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Nt(r,i),Bd(e,t,r,i,n);case 3:e:{if(om(t),e===null)throw Error(L(387));r=t.pendingProps,l=t.memoizedState,i=l.element,Ah(e,t),Ol(t,r,null,n);var s=t.memoizedState;if(r=s.element,l.isDehydrated)if(l={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=l,t.memoizedState=l,t.flags&256){i=Zr(Error(L(423)),t),t=Wd(e,t,r,n,i);break e}else if(r!==i){i=Zr(Error(L(424)),t),t=Wd(e,t,r,n,i);break e}else for(lt=Sn(t.stateNode.containerInfo.firstChild),st=t,ge=!0,Pt=null,n=Lh(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Yr(),r===i){t=en(e,t,n);break e}He(e,t,r,n)}t=t.child}return t;case 5:return Dh(t),e===null&&Va(t),r=t.type,i=t.pendingProps,l=e!==null?e.memoizedProps:null,s=i.children,$a(r,i)?s=null:l!==null&&$a(r,l)&&(t.flags|=32),im(e,t),He(e,t,s,n),t.child;case 6:return e===null&&Va(t),null;case 13:return lm(e,t,n);case 4:return Uu(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Xr(t,null,r,n):He(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Nt(r,i),Fd(e,t,r,i,n);case 7:return He(e,t,t.pendingProps,n),t.child;case 8:return He(e,t,t.pendingProps.children,n),t.child;case 12:return He(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,l=t.memoizedProps,s=i.value,fe(Tl,r._currentValue),r._currentValue=s,l!==null)if(jt(l.value,s)){if(l.children===i.children&&!Ze.current){t=en(e,t,n);break e}}else for(l=t.child,l!==null&&(l.return=t);l!==null;){var u=l.dependencies;if(u!==null){s=l.child;for(var f=u.firstContext;f!==null;){if(f.context===r){if(l.tag===1){f=Gt(-1,n&-n),f.tag=2;var p=l.updateQueue;if(p!==null){p=p.shared;var v=p.pending;v===null?f.next=f:(f.next=v.next,v.next=f),p.pending=f}}l.lanes|=n,f=l.alternate,f!==null&&(f.lanes|=n),Ha(l.return,n,t),u.lanes|=n;break}f=f.next}}else if(l.tag===10)s=l.type===t.type?null:l.child;else if(l.tag===18){if(s=l.return,s===null)throw Error(L(341));s.lanes|=n,u=s.alternate,u!==null&&(u.lanes|=n),Ha(s,n,t),s=l.sibling}else s=l.child;if(s!==null)s.return=l;else for(s=l;s!==null;){if(s===t){s=null;break}if(l=s.sibling,l!==null){l.return=s.return,s=l;break}s=s.return}l=s}He(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,Vr(t,n),i=Et(i),r=r(i),t.flags|=1,He(e,t,r,n),t.child;case 14:return r=t.type,i=Nt(r,t.pendingProps),i=Nt(r.type,i),Ud(e,t,r,i,n);case 15:return nm(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Nt(r,i),cl(e,t),t.tag=1,Je(r)?(e=!0,kl(t)):e=!1,Vr(t,n),qh(t,r,i),Ka(t,r,i,n),Ga(null,t,r,!0,e,n);case 19:return sm(e,t,n);case 22:return rm(e,t,n)}throw Error(L(156,t.tag))};function Sm(e,t){return Gp(e,t)}function N1(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function _t(e,t,n,r){return new N1(e,t,n,r)}function nc(e){return e=e.prototype,!(!e||!e.isReactComponent)}function T1(e){if(typeof e=="function")return nc(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Eu)return 11;if(e===xu)return 14}return 2}function Tn(e,t){var n=e.alternate;return n===null?(n=_t(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function pl(e,t,n,r,i,l){var s=2;if(r=e,typeof e=="function")nc(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case Or:return er(n.children,i,l,t);case wu:s=8,i|=8;break;case va:return e=_t(12,n,t,i|2),e.elementType=va,e.lanes=l,e;case ya:return e=_t(13,n,t,i),e.elementType=ya,e.lanes=l,e;case _a:return e=_t(19,n,t,i),e.elementType=_a,e.lanes=l,e;case Dp:return ts(n,i,l,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case jp:s=10;break e;case Ap:s=9;break e;case Eu:s=11;break e;case xu:s=14;break e;case pn:s=16,r=null;break e}throw Error(L(130,e==null?e:typeof e,""))}return t=_t(s,n,t,i),t.elementType=e,t.type=r,t.lanes=l,t}function er(e,t,n,r){return e=_t(7,e,r,t),e.lanes=n,e}function ts(e,t,n,r){return e=_t(22,e,r,t),e.elementType=Dp,e.lanes=n,e.stateNode={isHidden:!1},e}function fa(e,t,n){return e=_t(6,e,null,t),e.lanes=n,e}function da(e,t,n){return t=_t(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function P1(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Qs(0),this.expirationTimes=Qs(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Qs(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function rc(e,t,n,r,i,l,s,u,f){return e=new P1(e,t,n,u,f),t===1?(t=1,l===!0&&(t|=8)):t=0,l=_t(3,null,null,t),e.current=l,l.stateNode=e,l.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Fu(l),e}function O1(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Tm)}catch(e){console.error(e)}}Tm(),Tp.exports=ut;var Pm=Tp.exports;const Jo=mp(Pm);var tp=Pm;ma.createRoot=tp.createRoot,ma.hydrateRoot=tp.hydrateRoot;var I1={exports:{}};/*! + * Bootstrap v5.3.3 (https://getbootstrap.com/) + * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */(function(e,t){(function(n,r){e.exports=r()})(s0,function(){const n=new Map,r={set(c,o,a){n.has(c)||n.set(c,new Map);const d=n.get(c);d.has(o)||d.size===0?d.set(o,a):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(d.keys())[0]}.`)},get:(c,o)=>n.has(c)&&n.get(c).get(o)||null,remove(c,o){if(!n.has(c))return;const a=n.get(c);a.delete(o),a.size===0&&n.delete(c)}},i="transitionend",l=c=>(c&&window.CSS&&window.CSS.escape&&(c=c.replace(/#([^\s"#']+)/g,(o,a)=>`#${CSS.escape(a)}`)),c),s=c=>{c.dispatchEvent(new Event(i))},u=c=>!(!c||typeof c!="object")&&(c.jquery!==void 0&&(c=c[0]),c.nodeType!==void 0),f=c=>u(c)?c.jquery?c[0]:c:typeof c=="string"&&c.length>0?document.querySelector(l(c)):null,p=c=>{if(!u(c)||c.getClientRects().length===0)return!1;const o=getComputedStyle(c).getPropertyValue("visibility")==="visible",a=c.closest("details:not([open])");if(!a)return o;if(a!==c){const d=c.closest("summary");if(d&&d.parentNode!==a||d===null)return!1}return o},v=c=>!c||c.nodeType!==Node.ELEMENT_NODE||!!c.classList.contains("disabled")||(c.disabled!==void 0?c.disabled:c.hasAttribute("disabled")&&c.getAttribute("disabled")!=="false"),g=c=>{if(!document.documentElement.attachShadow)return null;if(typeof c.getRootNode=="function"){const o=c.getRootNode();return o instanceof ShadowRoot?o:null}return c instanceof ShadowRoot?c:c.parentNode?g(c.parentNode):null},E=()=>{},N=c=>{c.offsetHeight},O=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,P=[],A=()=>document.documentElement.dir==="rtl",m=c=>{var o;o=()=>{const a=O();if(a){const d=c.NAME,y=a.fn[d];a.fn[d]=c.jQueryInterface,a.fn[d].Constructor=c,a.fn[d].noConflict=()=>(a.fn[d]=y,c.jQueryInterface)}},document.readyState==="loading"?(P.length||document.addEventListener("DOMContentLoaded",()=>{for(const a of P)a()}),P.push(o)):o()},h=(c,o=[],a=c)=>typeof c=="function"?c(...o):a,_=(c,o,a=!0)=>{if(!a)return void h(c);const d=(S=>{if(!S)return 0;let{transitionDuration:k,transitionDelay:j}=window.getComputedStyle(S);const M=Number.parseFloat(k),$=Number.parseFloat(j);return M||$?(k=k.split(",")[0],j=j.split(",")[0],1e3*(Number.parseFloat(k)+Number.parseFloat(j))):0})(o)+5;let y=!1;const w=({target:S})=>{S===o&&(y=!0,o.removeEventListener(i,w),h(c))};o.addEventListener(i,w),setTimeout(()=>{y||s(o)},d)},C=(c,o,a,d)=>{const y=c.length;let w=c.indexOf(o);return w===-1?!a&&d?c[y-1]:c[0]:(w+=a?1:-1,d&&(w=(w+y)%y),c[Math.max(0,Math.min(w,y-1))])},D=/[^.]*(?=\..*)\.|.*/,F=/\..*/,U=/::\d+$/,B={};let me=1;const Z={mouseenter:"mouseover",mouseleave:"mouseout"},et=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function rn(c,o){return o&&`${o}::${me++}`||c.uidEvent||me++}function on(c){const o=rn(c);return c.uidEvent=o,B[o]=B[o]||{},B[o]}function ii(c,o,a=null){return Object.values(c).find(d=>d.callable===o&&d.delegationSelector===a)}function po(c,o,a){const d=typeof o=="string",y=d?a:o||a;let w=Q(c);return et.has(w)||(w=c),[d,y,w]}function ur(c,o,a,d,y){if(typeof o!="string"||!c)return;let[w,S,k]=po(o,a,d);o in Z&&(S=(K=>function(H){if(!H.relatedTarget||H.relatedTarget!==H.delegateTarget&&!H.delegateTarget.contains(H.relatedTarget))return K.call(this,H)})(S));const j=on(c),M=j[k]||(j[k]={}),$=ii(M,S,w?a:null);if($)return void($.oneOff=$.oneOff&&y);const I=rn(S,o.replace(D,"")),X=w?function(V,K,H){return function Y(se){const ce=V.querySelectorAll(K);for(let{target:J}=se;J&&J!==this;J=J.parentNode)for(const ne of ce)if(ne===J)return de(se,{delegateTarget:J}),Y.oneOff&&x.off(V,se.type,K,H),H.apply(J,[se])}}(c,a,S):function(V,K){return function H(Y){return de(Y,{delegateTarget:V}),H.oneOff&&x.off(V,Y.type,K),K.apply(V,[Y])}}(c,S);X.delegationSelector=w?a:null,X.callable=S,X.oneOff=y,X.uidEvent=I,M[I]=X,c.addEventListener(k,X,w)}function Rn(c,o,a,d,y){const w=ii(o[a],d,y);w&&(c.removeEventListener(a,w,!!y),delete o[a][w.uidEvent])}function b(c,o,a,d){const y=o[a]||{};for(const[w,S]of Object.entries(y))w.includes(d)&&Rn(c,o,a,S.callable,S.delegationSelector)}function Q(c){return c=c.replace(F,""),Z[c]||c}const x={on(c,o,a,d){ur(c,o,a,d,!1)},one(c,o,a,d){ur(c,o,a,d,!0)},off(c,o,a,d){if(typeof o!="string"||!c)return;const[y,w,S]=po(o,a,d),k=S!==o,j=on(c),M=j[S]||{},$=o.startsWith(".");if(w===void 0){if($)for(const I of Object.keys(j))b(c,j,I,o.slice(1));for(const[I,X]of Object.entries(M)){const V=I.replace(U,"");k&&!o.includes(V)||Rn(c,j,S,X.callable,X.delegationSelector)}}else{if(!Object.keys(M).length)return;Rn(c,j,S,w,y?a:null)}},trigger(c,o,a){if(typeof o!="string"||!c)return null;const d=O();let y=null,w=!0,S=!0,k=!1;o!==Q(o)&&d&&(y=d.Event(o,a),d(c).trigger(y),w=!y.isPropagationStopped(),S=!y.isImmediatePropagationStopped(),k=y.isDefaultPrevented());const j=de(new Event(o,{bubbles:w,cancelable:!0}),a);return k&&j.preventDefault(),S&&c.dispatchEvent(j),j.defaultPrevented&&y&&y.preventDefault(),j}};function de(c,o={}){for(const[a,d]of Object.entries(o))try{c[a]=d}catch{Object.defineProperty(c,a,{configurable:!0,get:()=>d})}return c}function xe(c){if(c==="true")return!0;if(c==="false")return!1;if(c===Number(c).toString())return Number(c);if(c===""||c==="null")return null;if(typeof c!="string")return c;try{return JSON.parse(decodeURIComponent(c))}catch{return c}}function ln(c){return c.replace(/[A-Z]/g,o=>`-${o.toLowerCase()}`)}const De={setDataAttribute(c,o,a){c.setAttribute(`data-bs-${ln(o)}`,a)},removeDataAttribute(c,o){c.removeAttribute(`data-bs-${ln(o)}`)},getDataAttributes(c){if(!c)return{};const o={},a=Object.keys(c.dataset).filter(d=>d.startsWith("bs")&&!d.startsWith("bsConfig"));for(const d of a){let y=d.replace(/^bs/,"");y=y.charAt(0).toLowerCase()+y.slice(1,y.length),o[y]=xe(c.dataset[d])}return o},getDataAttribute:(c,o)=>xe(c.getAttribute(`data-bs-${ln(o)}`))};class Bt{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(o){return o=this._mergeConfigObj(o),o=this._configAfterMerge(o),this._typeCheckConfig(o),o}_configAfterMerge(o){return o}_mergeConfigObj(o,a){const d=u(a)?De.getDataAttribute(a,"config"):{};return{...this.constructor.Default,...typeof d=="object"?d:{},...u(a)?De.getDataAttributes(a):{},...typeof o=="object"?o:{}}}_typeCheckConfig(o,a=this.constructor.DefaultType){for(const[y,w]of Object.entries(a)){const S=o[y],k=u(S)?"element":(d=S)==null?`${d}`:Object.prototype.toString.call(d).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(w).test(k))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${y}" provided type "${k}" but expected type "${w}".`)}var d}}class Te extends Bt{constructor(o,a){super(),(o=f(o))&&(this._element=o,this._config=this._getConfig(a),r.set(this._element,this.constructor.DATA_KEY,this))}dispose(){r.remove(this._element,this.constructor.DATA_KEY),x.off(this._element,this.constructor.EVENT_KEY);for(const o of Object.getOwnPropertyNames(this))this[o]=null}_queueCallback(o,a,d=!0){_(o,a,d)}_getConfig(o){return o=this._mergeConfigObj(o,this._element),o=this._configAfterMerge(o),this._typeCheckConfig(o),o}static getInstance(o){return r.get(f(o),this.DATA_KEY)}static getOrCreateInstance(o,a={}){return this.getInstance(o)||new this(o,typeof a=="object"?a:null)}static get VERSION(){return"5.3.3"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(o){return`${o}${this.EVENT_KEY}`}}const sn=c=>{let o=c.getAttribute("data-bs-target");if(!o||o==="#"){let a=c.getAttribute("href");if(!a||!a.includes("#")&&!a.startsWith("."))return null;a.includes("#")&&!a.startsWith("#")&&(a=`#${a.split("#")[1]}`),o=a&&a!=="#"?a.trim():null}return o?o.split(",").map(a=>l(a)).join(","):null},W={find:(c,o=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(o,c)),findOne:(c,o=document.documentElement)=>Element.prototype.querySelector.call(o,c),children:(c,o)=>[].concat(...c.children).filter(a=>a.matches(o)),parents(c,o){const a=[];let d=c.parentNode.closest(o);for(;d;)a.push(d),d=d.parentNode.closest(o);return a},prev(c,o){let a=c.previousElementSibling;for(;a;){if(a.matches(o))return[a];a=a.previousElementSibling}return[]},next(c,o){let a=c.nextElementSibling;for(;a;){if(a.matches(o))return[a];a=a.nextElementSibling}return[]},focusableChildren(c){const o=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(a=>`${a}:not([tabindex^="-"])`).join(",");return this.find(o,c).filter(a=>!v(a)&&p(a))},getSelectorFromElement(c){const o=sn(c);return o&&W.findOne(o)?o:null},getElementFromSelector(c){const o=sn(c);return o?W.findOne(o):null},getMultipleElementsFromSelector(c){const o=sn(c);return o?W.find(o):[]}},ho=(c,o="hide")=>{const a=`click.dismiss${c.EVENT_KEY}`,d=c.NAME;x.on(document,a,`[data-bs-dismiss="${d}"]`,function(y){if(["A","AREA"].includes(this.tagName)&&y.preventDefault(),v(this))return;const w=W.getElementFromSelector(this)||this.closest(`.${d}`);c.getOrCreateInstance(w)[o]()})},hc=".bs.alert",Hm=`close${hc}`,Qm=`closed${hc}`;class oi extends Te{static get NAME(){return"alert"}close(){if(x.trigger(this._element,Hm).defaultPrevented)return;this._element.classList.remove("show");const o=this._element.classList.contains("fade");this._queueCallback(()=>this._destroyElement(),this._element,o)}_destroyElement(){this._element.remove(),x.trigger(this._element,Qm),this.dispose()}static jQueryInterface(o){return this.each(function(){const a=oi.getOrCreateInstance(this);if(typeof o=="string"){if(a[o]===void 0||o.startsWith("_")||o==="constructor")throw new TypeError(`No method named "${o}"`);a[o](this)}})}}ho(oi,"close"),m(oi);const mc='[data-bs-toggle="button"]';class li extends Te{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(o){return this.each(function(){const a=li.getOrCreateInstance(this);o==="toggle"&&a[o]()})}}x.on(document,"click.bs.button.data-api",mc,c=>{c.preventDefault();const o=c.target.closest(mc);li.getOrCreateInstance(o).toggle()}),m(li);const cr=".bs.swipe",Km=`touchstart${cr}`,Ym=`touchmove${cr}`,Xm=`touchend${cr}`,Gm=`pointerdown${cr}`,Zm=`pointerup${cr}`,Jm={endCallback:null,leftCallback:null,rightCallback:null},qm={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class mo extends Bt{constructor(o,a){super(),this._element=o,o&&mo.isSupported()&&(this._config=this._getConfig(a),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return Jm}static get DefaultType(){return qm}static get NAME(){return"swipe"}dispose(){x.off(this._element,cr)}_start(o){this._supportPointerEvents?this._eventIsPointerPenTouch(o)&&(this._deltaX=o.clientX):this._deltaX=o.touches[0].clientX}_end(o){this._eventIsPointerPenTouch(o)&&(this._deltaX=o.clientX-this._deltaX),this._handleSwipe(),h(this._config.endCallback)}_move(o){this._deltaX=o.touches&&o.touches.length>1?0:o.touches[0].clientX-this._deltaX}_handleSwipe(){const o=Math.abs(this._deltaX);if(o<=40)return;const a=o/this._deltaX;this._deltaX=0,a&&h(a>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(x.on(this._element,Gm,o=>this._start(o)),x.on(this._element,Zm,o=>this._end(o)),this._element.classList.add("pointer-event")):(x.on(this._element,Km,o=>this._start(o)),x.on(this._element,Ym,o=>this._move(o)),x.on(this._element,Xm,o=>this._end(o)))}_eventIsPointerPenTouch(o){return this._supportPointerEvents&&(o.pointerType==="pen"||o.pointerType==="touch")}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const an=".bs.carousel",gc=".data-api",si="next",fr="prev",dr="left",go="right",eg=`slide${an}`,as=`slid${an}`,tg=`keydown${an}`,ng=`mouseenter${an}`,rg=`mouseleave${an}`,ig=`dragstart${an}`,og=`load${an}${gc}`,lg=`click${an}${gc}`,vc="carousel",vo="active",yc=".active",_c=".carousel-item",sg=yc+_c,ag={ArrowLeft:go,ArrowRight:dr},ug={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},cg={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class pr extends Te{constructor(o,a){super(o,a),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=W.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===vc&&this.cycle()}static get Default(){return ug}static get DefaultType(){return cg}static get NAME(){return"carousel"}next(){this._slide(si)}nextWhenVisible(){!document.hidden&&p(this._element)&&this.next()}prev(){this._slide(fr)}pause(){this._isSliding&&s(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?x.one(this._element,as,()=>this.cycle()):this.cycle())}to(o){const a=this._getItems();if(o>a.length-1||o<0)return;if(this._isSliding)return void x.one(this._element,as,()=>this.to(o));const d=this._getItemIndex(this._getActive());if(d===o)return;const y=o>d?si:fr;this._slide(y,a[o])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(o){return o.defaultInterval=o.interval,o}_addEventListeners(){this._config.keyboard&&x.on(this._element,tg,o=>this._keydown(o)),this._config.pause==="hover"&&(x.on(this._element,ng,()=>this.pause()),x.on(this._element,rg,()=>this._maybeEnableCycle())),this._config.touch&&mo.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const a of W.find(".carousel-item img",this._element))x.on(a,ig,d=>d.preventDefault());const o={leftCallback:()=>this._slide(this._directionToOrder(dr)),rightCallback:()=>this._slide(this._directionToOrder(go)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),500+this._config.interval))}};this._swipeHelper=new mo(this._element,o)}_keydown(o){if(/input|textarea/i.test(o.target.tagName))return;const a=ag[o.key];a&&(o.preventDefault(),this._slide(this._directionToOrder(a)))}_getItemIndex(o){return this._getItems().indexOf(o)}_setActiveIndicatorElement(o){if(!this._indicatorsElement)return;const a=W.findOne(yc,this._indicatorsElement);a.classList.remove(vo),a.removeAttribute("aria-current");const d=W.findOne(`[data-bs-slide-to="${o}"]`,this._indicatorsElement);d&&(d.classList.add(vo),d.setAttribute("aria-current","true"))}_updateInterval(){const o=this._activeElement||this._getActive();if(!o)return;const a=Number.parseInt(o.getAttribute("data-bs-interval"),10);this._config.interval=a||this._config.defaultInterval}_slide(o,a=null){if(this._isSliding)return;const d=this._getActive(),y=o===si,w=a||C(this._getItems(),d,y,this._config.wrap);if(w===d)return;const S=this._getItemIndex(w),k=I=>x.trigger(this._element,I,{relatedTarget:w,direction:this._orderToDirection(o),from:this._getItemIndex(d),to:S});if(k(eg).defaultPrevented||!d||!w)return;const j=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(S),this._activeElement=w;const M=y?"carousel-item-start":"carousel-item-end",$=y?"carousel-item-next":"carousel-item-prev";w.classList.add($),N(w),d.classList.add(M),w.classList.add(M),this._queueCallback(()=>{w.classList.remove(M,$),w.classList.add(vo),d.classList.remove(vo,$,M),this._isSliding=!1,k(as)},d,this._isAnimated()),j&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return W.findOne(sg,this._element)}_getItems(){return W.find(_c,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(o){return A()?o===dr?fr:si:o===dr?si:fr}_orderToDirection(o){return A()?o===fr?dr:go:o===fr?go:dr}static jQueryInterface(o){return this.each(function(){const a=pr.getOrCreateInstance(this,o);if(typeof o!="number"){if(typeof o=="string"){if(a[o]===void 0||o.startsWith("_")||o==="constructor")throw new TypeError(`No method named "${o}"`);a[o]()}}else a.to(o)})}}x.on(document,lg,"[data-bs-slide], [data-bs-slide-to]",function(c){const o=W.getElementFromSelector(this);if(!o||!o.classList.contains(vc))return;c.preventDefault();const a=pr.getOrCreateInstance(o),d=this.getAttribute("data-bs-slide-to");return d?(a.to(d),void a._maybeEnableCycle()):De.getDataAttribute(this,"slide")==="next"?(a.next(),void a._maybeEnableCycle()):(a.prev(),void a._maybeEnableCycle())}),x.on(window,og,()=>{const c=W.find('[data-bs-ride="carousel"]');for(const o of c)pr.getOrCreateInstance(o)}),m(pr);const ai=".bs.collapse",fg=`show${ai}`,dg=`shown${ai}`,pg=`hide${ai}`,hg=`hidden${ai}`,mg=`click${ai}.data-api`,us="show",hr="collapse",yo="collapsing",gg=`:scope .${hr} .${hr}`,cs='[data-bs-toggle="collapse"]',vg={parent:null,toggle:!0},yg={parent:"(null|element)",toggle:"boolean"};class mr extends Te{constructor(o,a){super(o,a),this._isTransitioning=!1,this._triggerArray=[];const d=W.find(cs);for(const y of d){const w=W.getSelectorFromElement(y),S=W.find(w).filter(k=>k===this._element);w!==null&&S.length&&this._triggerArray.push(y)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return vg}static get DefaultType(){return yg}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let o=[];if(this._config.parent&&(o=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter(y=>y!==this._element).map(y=>mr.getOrCreateInstance(y,{toggle:!1}))),o.length&&o[0]._isTransitioning||x.trigger(this._element,fg).defaultPrevented)return;for(const y of o)y.hide();const a=this._getDimension();this._element.classList.remove(hr),this._element.classList.add(yo),this._element.style[a]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const d=`scroll${a[0].toUpperCase()+a.slice(1)}`;this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove(yo),this._element.classList.add(hr,us),this._element.style[a]="",x.trigger(this._element,dg)},this._element,!0),this._element.style[a]=`${this._element[d]}px`}hide(){if(this._isTransitioning||!this._isShown()||x.trigger(this._element,pg).defaultPrevented)return;const o=this._getDimension();this._element.style[o]=`${this._element.getBoundingClientRect()[o]}px`,N(this._element),this._element.classList.add(yo),this._element.classList.remove(hr,us);for(const a of this._triggerArray){const d=W.getElementFromSelector(a);d&&!this._isShown(d)&&this._addAriaAndCollapsedClass([a],!1)}this._isTransitioning=!0,this._element.style[o]="",this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove(yo),this._element.classList.add(hr),x.trigger(this._element,hg)},this._element,!0)}_isShown(o=this._element){return o.classList.contains(us)}_configAfterMerge(o){return o.toggle=!!o.toggle,o.parent=f(o.parent),o}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const o=this._getFirstLevelChildren(cs);for(const a of o){const d=W.getElementFromSelector(a);d&&this._addAriaAndCollapsedClass([a],this._isShown(d))}}_getFirstLevelChildren(o){const a=W.find(gg,this._config.parent);return W.find(o,this._config.parent).filter(d=>!a.includes(d))}_addAriaAndCollapsedClass(o,a){if(o.length)for(const d of o)d.classList.toggle("collapsed",!a),d.setAttribute("aria-expanded",a)}static jQueryInterface(o){const a={};return typeof o=="string"&&/show|hide/.test(o)&&(a.toggle=!1),this.each(function(){const d=mr.getOrCreateInstance(this,a);if(typeof o=="string"){if(d[o]===void 0)throw new TypeError(`No method named "${o}"`);d[o]()}})}}x.on(document,mg,cs,function(c){(c.target.tagName==="A"||c.delegateTarget&&c.delegateTarget.tagName==="A")&&c.preventDefault();for(const o of W.getMultipleElementsFromSelector(this))mr.getOrCreateInstance(o,{toggle:!1}).toggle()}),m(mr);var Ue="top",tt="bottom",nt="right",Be="left",_o="auto",gr=[Ue,tt,nt,Be],bn="start",vr="end",wc="clippingParents",fs="viewport",yr="popper",Ec="reference",ds=gr.reduce(function(c,o){return c.concat([o+"-"+bn,o+"-"+vr])},[]),ps=[].concat(gr,[_o]).reduce(function(c,o){return c.concat([o,o+"-"+bn,o+"-"+vr])},[]),xc="beforeRead",Sc="read",kc="afterRead",Cc="beforeMain",Nc="main",Tc="afterMain",Pc="beforeWrite",Oc="write",Lc="afterWrite",jc=[xc,Sc,kc,Cc,Nc,Tc,Pc,Oc,Lc];function At(c){return c?(c.nodeName||"").toLowerCase():null}function rt(c){if(c==null)return window;if(c.toString()!=="[object Window]"){var o=c.ownerDocument;return o&&o.defaultView||window}return c}function Mn(c){return c instanceof rt(c).Element||c instanceof Element}function ft(c){return c instanceof rt(c).HTMLElement||c instanceof HTMLElement}function hs(c){return typeof ShadowRoot<"u"&&(c instanceof rt(c).ShadowRoot||c instanceof ShadowRoot)}const ms={name:"applyStyles",enabled:!0,phase:"write",fn:function(c){var o=c.state;Object.keys(o.elements).forEach(function(a){var d=o.styles[a]||{},y=o.attributes[a]||{},w=o.elements[a];ft(w)&&At(w)&&(Object.assign(w.style,d),Object.keys(y).forEach(function(S){var k=y[S];k===!1?w.removeAttribute(S):w.setAttribute(S,k===!0?"":k)}))})},effect:function(c){var o=c.state,a={popper:{position:o.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(o.elements.popper.style,a.popper),o.styles=a,o.elements.arrow&&Object.assign(o.elements.arrow.style,a.arrow),function(){Object.keys(o.elements).forEach(function(d){var y=o.elements[d],w=o.attributes[d]||{},S=Object.keys(o.styles.hasOwnProperty(d)?o.styles[d]:a[d]).reduce(function(k,j){return k[j]="",k},{});ft(y)&&At(y)&&(Object.assign(y.style,S),Object.keys(w).forEach(function(k){y.removeAttribute(k)}))})}},requires:["computeStyles"]};function Dt(c){return c.split("-")[0]}var zn=Math.max,wo=Math.min,_r=Math.round;function gs(){var c=navigator.userAgentData;return c!=null&&c.brands&&Array.isArray(c.brands)?c.brands.map(function(o){return o.brand+"/"+o.version}).join(" "):navigator.userAgent}function Ac(){return!/^((?!chrome|android).)*safari/i.test(gs())}function wr(c,o,a){o===void 0&&(o=!1),a===void 0&&(a=!1);var d=c.getBoundingClientRect(),y=1,w=1;o&&ft(c)&&(y=c.offsetWidth>0&&_r(d.width)/c.offsetWidth||1,w=c.offsetHeight>0&&_r(d.height)/c.offsetHeight||1);var S=(Mn(c)?rt(c):window).visualViewport,k=!Ac()&&a,j=(d.left+(k&&S?S.offsetLeft:0))/y,M=(d.top+(k&&S?S.offsetTop:0))/w,$=d.width/y,I=d.height/w;return{width:$,height:I,top:M,right:j+$,bottom:M+I,left:j,x:j,y:M}}function vs(c){var o=wr(c),a=c.offsetWidth,d=c.offsetHeight;return Math.abs(o.width-a)<=1&&(a=o.width),Math.abs(o.height-d)<=1&&(d=o.height),{x:c.offsetLeft,y:c.offsetTop,width:a,height:d}}function Dc(c,o){var a=o.getRootNode&&o.getRootNode();if(c.contains(o))return!0;if(a&&hs(a)){var d=o;do{if(d&&c.isSameNode(d))return!0;d=d.parentNode||d.host}while(d)}return!1}function Wt(c){return rt(c).getComputedStyle(c)}function _g(c){return["table","td","th"].indexOf(At(c))>=0}function un(c){return((Mn(c)?c.ownerDocument:c.document)||window.document).documentElement}function Eo(c){return At(c)==="html"?c:c.assignedSlot||c.parentNode||(hs(c)?c.host:null)||un(c)}function Ic(c){return ft(c)&&Wt(c).position!=="fixed"?c.offsetParent:null}function ui(c){for(var o=rt(c),a=Ic(c);a&&_g(a)&&Wt(a).position==="static";)a=Ic(a);return a&&(At(a)==="html"||At(a)==="body"&&Wt(a).position==="static")?o:a||function(d){var y=/firefox/i.test(gs());if(/Trident/i.test(gs())&&ft(d)&&Wt(d).position==="fixed")return null;var w=Eo(d);for(hs(w)&&(w=w.host);ft(w)&&["html","body"].indexOf(At(w))<0;){var S=Wt(w);if(S.transform!=="none"||S.perspective!=="none"||S.contain==="paint"||["transform","perspective"].indexOf(S.willChange)!==-1||y&&S.willChange==="filter"||y&&S.filter&&S.filter!=="none")return w;w=w.parentNode}return null}(c)||o}function ys(c){return["top","bottom"].indexOf(c)>=0?"x":"y"}function ci(c,o,a){return zn(c,wo(o,a))}function Rc(c){return Object.assign({},{top:0,right:0,bottom:0,left:0},c)}function bc(c,o){return o.reduce(function(a,d){return a[d]=c,a},{})}const Mc={name:"arrow",enabled:!0,phase:"main",fn:function(c){var o,a=c.state,d=c.name,y=c.options,w=a.elements.arrow,S=a.modifiersData.popperOffsets,k=Dt(a.placement),j=ys(k),M=[Be,nt].indexOf(k)>=0?"height":"width";if(w&&S){var $=function(ae,ie){return Rc(typeof(ae=typeof ae=="function"?ae(Object.assign({},ie.rects,{placement:ie.placement})):ae)!="number"?ae:bc(ae,gr))}(y.padding,a),I=vs(w),X=j==="y"?Ue:Be,V=j==="y"?tt:nt,K=a.rects.reference[M]+a.rects.reference[j]-S[j]-a.rects.popper[M],H=S[j]-a.rects.reference[j],Y=ui(w),se=Y?j==="y"?Y.clientHeight||0:Y.clientWidth||0:0,ce=K/2-H/2,J=$[X],ne=se-I[M]-$[V],G=se/2-I[M]/2+ce,ee=ci(J,G,ne),re=j;a.modifiersData[d]=((o={})[re]=ee,o.centerOffset=ee-G,o)}},effect:function(c){var o=c.state,a=c.options.element,d=a===void 0?"[data-popper-arrow]":a;d!=null&&(typeof d!="string"||(d=o.elements.popper.querySelector(d)))&&Dc(o.elements.popper,d)&&(o.elements.arrow=d)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Er(c){return c.split("-")[1]}var wg={top:"auto",right:"auto",bottom:"auto",left:"auto"};function zc(c){var o,a=c.popper,d=c.popperRect,y=c.placement,w=c.variation,S=c.offsets,k=c.position,j=c.gpuAcceleration,M=c.adaptive,$=c.roundOffsets,I=c.isFixed,X=S.x,V=X===void 0?0:X,K=S.y,H=K===void 0?0:K,Y=typeof $=="function"?$({x:V,y:H}):{x:V,y:H};V=Y.x,H=Y.y;var se=S.hasOwnProperty("x"),ce=S.hasOwnProperty("y"),J=Be,ne=Ue,G=window;if(M){var ee=ui(a),re="clientHeight",ae="clientWidth";ee===rt(a)&&Wt(ee=un(a)).position!=="static"&&k==="absolute"&&(re="scrollHeight",ae="scrollWidth"),(y===Ue||(y===Be||y===nt)&&w===vr)&&(ne=tt,H-=(I&&ee===G&&G.visualViewport?G.visualViewport.height:ee[re])-d.height,H*=j?1:-1),y!==Be&&(y!==Ue&&y!==tt||w!==vr)||(J=nt,V-=(I&&ee===G&&G.visualViewport?G.visualViewport.width:ee[ae])-d.width,V*=j?1:-1)}var ie,Se=Object.assign({position:k},M&&wg),it=$===!0?function(kt,We){var pt=kt.x,ht=kt.y,we=We.devicePixelRatio||1;return{x:_r(pt*we)/we||0,y:_r(ht*we)/we||0}}({x:V,y:H},rt(a)):{x:V,y:H};return V=it.x,H=it.y,j?Object.assign({},Se,((ie={})[ne]=ce?"0":"",ie[J]=se?"0":"",ie.transform=(G.devicePixelRatio||1)<=1?"translate("+V+"px, "+H+"px)":"translate3d("+V+"px, "+H+"px, 0)",ie)):Object.assign({},Se,((o={})[ne]=ce?H+"px":"",o[J]=se?V+"px":"",o.transform="",o))}const _s={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(c){var o=c.state,a=c.options,d=a.gpuAcceleration,y=d===void 0||d,w=a.adaptive,S=w===void 0||w,k=a.roundOffsets,j=k===void 0||k,M={placement:Dt(o.placement),variation:Er(o.placement),popper:o.elements.popper,popperRect:o.rects.popper,gpuAcceleration:y,isFixed:o.options.strategy==="fixed"};o.modifiersData.popperOffsets!=null&&(o.styles.popper=Object.assign({},o.styles.popper,zc(Object.assign({},M,{offsets:o.modifiersData.popperOffsets,position:o.options.strategy,adaptive:S,roundOffsets:j})))),o.modifiersData.arrow!=null&&(o.styles.arrow=Object.assign({},o.styles.arrow,zc(Object.assign({},M,{offsets:o.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:j})))),o.attributes.popper=Object.assign({},o.attributes.popper,{"data-popper-placement":o.placement})},data:{}};var xo={passive:!0};const ws={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(c){var o=c.state,a=c.instance,d=c.options,y=d.scroll,w=y===void 0||y,S=d.resize,k=S===void 0||S,j=rt(o.elements.popper),M=[].concat(o.scrollParents.reference,o.scrollParents.popper);return w&&M.forEach(function($){$.addEventListener("scroll",a.update,xo)}),k&&j.addEventListener("resize",a.update,xo),function(){w&&M.forEach(function($){$.removeEventListener("scroll",a.update,xo)}),k&&j.removeEventListener("resize",a.update,xo)}},data:{}};var Eg={left:"right",right:"left",bottom:"top",top:"bottom"};function So(c){return c.replace(/left|right|bottom|top/g,function(o){return Eg[o]})}var xg={start:"end",end:"start"};function $c(c){return c.replace(/start|end/g,function(o){return xg[o]})}function Es(c){var o=rt(c);return{scrollLeft:o.pageXOffset,scrollTop:o.pageYOffset}}function xs(c){return wr(un(c)).left+Es(c).scrollLeft}function Ss(c){var o=Wt(c),a=o.overflow,d=o.overflowX,y=o.overflowY;return/auto|scroll|overlay|hidden/.test(a+y+d)}function Fc(c){return["html","body","#document"].indexOf(At(c))>=0?c.ownerDocument.body:ft(c)&&Ss(c)?c:Fc(Eo(c))}function fi(c,o){var a;o===void 0&&(o=[]);var d=Fc(c),y=d===((a=c.ownerDocument)==null?void 0:a.body),w=rt(d),S=y?[w].concat(w.visualViewport||[],Ss(d)?d:[]):d,k=o.concat(S);return y?k:k.concat(fi(Eo(S)))}function ks(c){return Object.assign({},c,{left:c.x,top:c.y,right:c.x+c.width,bottom:c.y+c.height})}function Uc(c,o,a){return o===fs?ks(function(d,y){var w=rt(d),S=un(d),k=w.visualViewport,j=S.clientWidth,M=S.clientHeight,$=0,I=0;if(k){j=k.width,M=k.height;var X=Ac();(X||!X&&y==="fixed")&&($=k.offsetLeft,I=k.offsetTop)}return{width:j,height:M,x:$+xs(d),y:I}}(c,a)):Mn(o)?function(d,y){var w=wr(d,!1,y==="fixed");return w.top=w.top+d.clientTop,w.left=w.left+d.clientLeft,w.bottom=w.top+d.clientHeight,w.right=w.left+d.clientWidth,w.width=d.clientWidth,w.height=d.clientHeight,w.x=w.left,w.y=w.top,w}(o,a):ks(function(d){var y,w=un(d),S=Es(d),k=(y=d.ownerDocument)==null?void 0:y.body,j=zn(w.scrollWidth,w.clientWidth,k?k.scrollWidth:0,k?k.clientWidth:0),M=zn(w.scrollHeight,w.clientHeight,k?k.scrollHeight:0,k?k.clientHeight:0),$=-S.scrollLeft+xs(d),I=-S.scrollTop;return Wt(k||w).direction==="rtl"&&($+=zn(w.clientWidth,k?k.clientWidth:0)-j),{width:j,height:M,x:$,y:I}}(un(c)))}function Bc(c){var o,a=c.reference,d=c.element,y=c.placement,w=y?Dt(y):null,S=y?Er(y):null,k=a.x+a.width/2-d.width/2,j=a.y+a.height/2-d.height/2;switch(w){case Ue:o={x:k,y:a.y-d.height};break;case tt:o={x:k,y:a.y+a.height};break;case nt:o={x:a.x+a.width,y:j};break;case Be:o={x:a.x-d.width,y:j};break;default:o={x:a.x,y:a.y}}var M=w?ys(w):null;if(M!=null){var $=M==="y"?"height":"width";switch(S){case bn:o[M]=o[M]-(a[$]/2-d[$]/2);break;case vr:o[M]=o[M]+(a[$]/2-d[$]/2)}}return o}function xr(c,o){o===void 0&&(o={});var a=o,d=a.placement,y=d===void 0?c.placement:d,w=a.strategy,S=w===void 0?c.strategy:w,k=a.boundary,j=k===void 0?wc:k,M=a.rootBoundary,$=M===void 0?fs:M,I=a.elementContext,X=I===void 0?yr:I,V=a.altBoundary,K=V!==void 0&&V,H=a.padding,Y=H===void 0?0:H,se=Rc(typeof Y!="number"?Y:bc(Y,gr)),ce=X===yr?Ec:yr,J=c.rects.popper,ne=c.elements[K?ce:X],G=function(We,pt,ht,we){var It=pt==="clippingParents"?function(ue){var Ve=fi(Eo(ue)),mt=["absolute","fixed"].indexOf(Wt(ue).position)>=0&&ft(ue)?ui(ue):ue;return Mn(mt)?Ve.filter(function(fn){return Mn(fn)&&Dc(fn,mt)&&At(fn)!=="body"}):[]}(We):[].concat(pt),Rt=[].concat(It,[ht]),Cr=Rt[0],Le=Rt.reduce(function(ue,Ve){var mt=Uc(We,Ve,we);return ue.top=zn(mt.top,ue.top),ue.right=wo(mt.right,ue.right),ue.bottom=wo(mt.bottom,ue.bottom),ue.left=zn(mt.left,ue.left),ue},Uc(We,Cr,we));return Le.width=Le.right-Le.left,Le.height=Le.bottom-Le.top,Le.x=Le.left,Le.y=Le.top,Le}(Mn(ne)?ne:ne.contextElement||un(c.elements.popper),j,$,S),ee=wr(c.elements.reference),re=Bc({reference:ee,element:J,strategy:"absolute",placement:y}),ae=ks(Object.assign({},J,re)),ie=X===yr?ae:ee,Se={top:G.top-ie.top+se.top,bottom:ie.bottom-G.bottom+se.bottom,left:G.left-ie.left+se.left,right:ie.right-G.right+se.right},it=c.modifiersData.offset;if(X===yr&&it){var kt=it[y];Object.keys(Se).forEach(function(We){var pt=[nt,tt].indexOf(We)>=0?1:-1,ht=[Ue,tt].indexOf(We)>=0?"y":"x";Se[We]+=kt[ht]*pt})}return Se}function Sg(c,o){o===void 0&&(o={});var a=o,d=a.placement,y=a.boundary,w=a.rootBoundary,S=a.padding,k=a.flipVariations,j=a.allowedAutoPlacements,M=j===void 0?ps:j,$=Er(d),I=$?k?ds:ds.filter(function(K){return Er(K)===$}):gr,X=I.filter(function(K){return M.indexOf(K)>=0});X.length===0&&(X=I);var V=X.reduce(function(K,H){return K[H]=xr(c,{placement:H,boundary:y,rootBoundary:w,padding:S})[Dt(H)],K},{});return Object.keys(V).sort(function(K,H){return V[K]-V[H]})}const Wc={name:"flip",enabled:!0,phase:"main",fn:function(c){var o=c.state,a=c.options,d=c.name;if(!o.modifiersData[d]._skip){for(var y=a.mainAxis,w=y===void 0||y,S=a.altAxis,k=S===void 0||S,j=a.fallbackPlacements,M=a.padding,$=a.boundary,I=a.rootBoundary,X=a.altBoundary,V=a.flipVariations,K=V===void 0||V,H=a.allowedAutoPlacements,Y=o.options.placement,se=Dt(Y),ce=j||(se!==Y&&K?function(ue){if(Dt(ue)===_o)return[];var Ve=So(ue);return[$c(ue),Ve,$c(Ve)]}(Y):[So(Y)]),J=[Y].concat(ce).reduce(function(ue,Ve){return ue.concat(Dt(Ve)===_o?Sg(o,{placement:Ve,boundary:$,rootBoundary:I,padding:M,flipVariations:K,allowedAutoPlacements:H}):Ve)},[]),ne=o.rects.reference,G=o.rects.popper,ee=new Map,re=!0,ae=J[0],ie=0;ie=0,pt=We?"width":"height",ht=xr(o,{placement:Se,boundary:$,rootBoundary:I,altBoundary:X,padding:M}),we=We?kt?nt:Be:kt?tt:Ue;ne[pt]>G[pt]&&(we=So(we));var It=So(we),Rt=[];if(w&&Rt.push(ht[it]<=0),k&&Rt.push(ht[we]<=0,ht[It]<=0),Rt.every(function(ue){return ue})){ae=Se,re=!1;break}ee.set(Se,Rt)}if(re)for(var Cr=function(ue){var Ve=J.find(function(mt){var fn=ee.get(mt);if(fn)return fn.slice(0,ue).every(function(Ao){return Ao})});if(Ve)return ae=Ve,"break"},Le=K?3:1;Le>0&&Cr(Le)!=="break";Le--);o.placement!==ae&&(o.modifiersData[d]._skip=!0,o.placement=ae,o.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Vc(c,o,a){return a===void 0&&(a={x:0,y:0}),{top:c.top-o.height-a.y,right:c.right-o.width+a.x,bottom:c.bottom-o.height+a.y,left:c.left-o.width-a.x}}function Hc(c){return[Ue,nt,tt,Be].some(function(o){return c[o]>=0})}const Qc={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(c){var o=c.state,a=c.name,d=o.rects.reference,y=o.rects.popper,w=o.modifiersData.preventOverflow,S=xr(o,{elementContext:"reference"}),k=xr(o,{altBoundary:!0}),j=Vc(S,d),M=Vc(k,y,w),$=Hc(j),I=Hc(M);o.modifiersData[a]={referenceClippingOffsets:j,popperEscapeOffsets:M,isReferenceHidden:$,hasPopperEscaped:I},o.attributes.popper=Object.assign({},o.attributes.popper,{"data-popper-reference-hidden":$,"data-popper-escaped":I})}},Kc={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(c){var o=c.state,a=c.options,d=c.name,y=a.offset,w=y===void 0?[0,0]:y,S=ps.reduce(function($,I){return $[I]=function(X,V,K){var H=Dt(X),Y=[Be,Ue].indexOf(H)>=0?-1:1,se=typeof K=="function"?K(Object.assign({},V,{placement:X})):K,ce=se[0],J=se[1];return ce=ce||0,J=(J||0)*Y,[Be,nt].indexOf(H)>=0?{x:J,y:ce}:{x:ce,y:J}}(I,o.rects,w),$},{}),k=S[o.placement],j=k.x,M=k.y;o.modifiersData.popperOffsets!=null&&(o.modifiersData.popperOffsets.x+=j,o.modifiersData.popperOffsets.y+=M),o.modifiersData[d]=S}},Cs={name:"popperOffsets",enabled:!0,phase:"read",fn:function(c){var o=c.state,a=c.name;o.modifiersData[a]=Bc({reference:o.rects.reference,element:o.rects.popper,strategy:"absolute",placement:o.placement})},data:{}},Yc={name:"preventOverflow",enabled:!0,phase:"main",fn:function(c){var o=c.state,a=c.options,d=c.name,y=a.mainAxis,w=y===void 0||y,S=a.altAxis,k=S!==void 0&&S,j=a.boundary,M=a.rootBoundary,$=a.altBoundary,I=a.padding,X=a.tether,V=X===void 0||X,K=a.tetherOffset,H=K===void 0?0:K,Y=xr(o,{boundary:j,rootBoundary:M,padding:I,altBoundary:$}),se=Dt(o.placement),ce=Er(o.placement),J=!ce,ne=ys(se),G=ne==="x"?"y":"x",ee=o.modifiersData.popperOffsets,re=o.rects.reference,ae=o.rects.popper,ie=typeof H=="function"?H(Object.assign({},o.rects,{placement:o.placement})):H,Se=typeof ie=="number"?{mainAxis:ie,altAxis:ie}:Object.assign({mainAxis:0,altAxis:0},ie),it=o.modifiersData.offset?o.modifiersData.offset[o.placement]:null,kt={x:0,y:0};if(ee){if(w){var We,pt=ne==="y"?Ue:Be,ht=ne==="y"?tt:nt,we=ne==="y"?"height":"width",It=ee[ne],Rt=It+Y[pt],Cr=It-Y[ht],Le=V?-ae[we]/2:0,ue=ce===bn?re[we]:ae[we],Ve=ce===bn?-ae[we]:-re[we],mt=o.elements.arrow,fn=V&&mt?vs(mt):{width:0,height:0},Ao=o.modifiersData["arrow#persistent"]?o.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Rf=Ao[pt],bf=Ao[ht],Do=ci(0,re[we],fn[we]),Jv=J?re[we]/2-Le-Do-Rf-Se.mainAxis:ue-Do-Rf-Se.mainAxis,qv=J?-re[we]/2+Le+Do+bf+Se.mainAxis:Ve+Do+bf+Se.mainAxis,zs=o.elements.arrow&&ui(o.elements.arrow),e0=zs?ne==="y"?zs.clientTop||0:zs.clientLeft||0:0,Mf=(We=it==null?void 0:it[ne])!=null?We:0,t0=It+qv-Mf,zf=ci(V?wo(Rt,It+Jv-Mf-e0):Rt,It,V?zn(Cr,t0):Cr);ee[ne]=zf,kt[ne]=zf-It}if(k){var $f,n0=ne==="x"?Ue:Be,r0=ne==="x"?tt:nt,Qn=ee[G],Io=G==="y"?"height":"width",Ff=Qn+Y[n0],Uf=Qn-Y[r0],$s=[Ue,Be].indexOf(se)!==-1,Bf=($f=it==null?void 0:it[G])!=null?$f:0,Wf=$s?Ff:Qn-re[Io]-ae[Io]-Bf+Se.altAxis,Vf=$s?Qn+re[Io]+ae[Io]-Bf-Se.altAxis:Uf,Hf=V&&$s?function(i0,o0,Fs){var Qf=ci(i0,o0,Fs);return Qf>Fs?Fs:Qf}(Wf,Qn,Vf):ci(V?Wf:Ff,Qn,V?Vf:Uf);ee[G]=Hf,kt[G]=Hf-Qn}o.modifiersData[d]=kt}},requiresIfExists:["offset"]};function kg(c,o,a){a===void 0&&(a=!1);var d,y,w=ft(o),S=ft(o)&&function(I){var X=I.getBoundingClientRect(),V=_r(X.width)/I.offsetWidth||1,K=_r(X.height)/I.offsetHeight||1;return V!==1||K!==1}(o),k=un(o),j=wr(c,S,a),M={scrollLeft:0,scrollTop:0},$={x:0,y:0};return(w||!w&&!a)&&((At(o)!=="body"||Ss(k))&&(M=(d=o)!==rt(d)&&ft(d)?{scrollLeft:(y=d).scrollLeft,scrollTop:y.scrollTop}:Es(d)),ft(o)?(($=wr(o,!0)).x+=o.clientLeft,$.y+=o.clientTop):k&&($.x=xs(k))),{x:j.left+M.scrollLeft-$.x,y:j.top+M.scrollTop-$.y,width:j.width,height:j.height}}function Cg(c){var o=new Map,a=new Set,d=[];function y(w){a.add(w.name),[].concat(w.requires||[],w.requiresIfExists||[]).forEach(function(S){if(!a.has(S)){var k=o.get(S);k&&y(k)}}),d.push(w)}return c.forEach(function(w){o.set(w.name,w)}),c.forEach(function(w){a.has(w.name)||y(w)}),d}var Xc={placement:"bottom",modifiers:[],strategy:"absolute"};function Gc(){for(var c=arguments.length,o=new Array(c),a=0;aNumber.parseInt(a,10)):typeof o=="function"?a=>o(a,this._element):o}_getPopperConfig(){const o={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&(De.setDataAttribute(this._menu,"popper","static"),o.modifiers=[{name:"applyStyles",enabled:!1}]),{...o,...h(this._config.popperConfig,[o])}}_selectMenuItem({key:o,target:a}){const d=W.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(y=>p(y));d.length&&C(d,a,o===qc,!d.includes(a)).focus()}static jQueryInterface(o){return this.each(function(){const a=St.getOrCreateInstance(this,o);if(typeof o=="string"){if(a[o]===void 0)throw new TypeError(`No method named "${o}"`);a[o]()}})}static clearMenus(o){if(o.button===2||o.type==="keyup"&&o.key!=="Tab")return;const a=W.find(Ig);for(const d of a){const y=St.getInstance(d);if(!y||y._config.autoClose===!1)continue;const w=o.composedPath(),S=w.includes(y._menu);if(w.includes(y._element)||y._config.autoClose==="inside"&&!S||y._config.autoClose==="outside"&&S||y._menu.contains(o.target)&&(o.type==="keyup"&&o.key==="Tab"||/input|select|option|textarea|form/i.test(o.target.tagName)))continue;const k={relatedTarget:y._element};o.type==="click"&&(k.clickEvent=o),y._completeHide(k)}}static dataApiKeydownHandler(o){const a=/input|textarea/i.test(o.target.tagName),d=o.key==="Escape",y=[Pg,qc].includes(o.key);if(!y&&!d||a&&!d)return;o.preventDefault();const w=this.matches(Fn)?this:W.prev(this,Fn)[0]||W.next(this,Fn)[0]||W.findOne(Fn,o.delegateTarget.parentNode),S=St.getOrCreateInstance(w);if(y)return o.stopPropagation(),S.show(),void S._selectMenuItem(o);S._isShown()&&(o.stopPropagation(),S.hide(),w.focus())}}x.on(document,tf,Fn,St.dataApiKeydownHandler),x.on(document,tf,Co,St.dataApiKeydownHandler),x.on(document,ef,St.clearMenus),x.on(document,Dg,St.clearMenus),x.on(document,ef,Fn,function(c){c.preventDefault(),St.getOrCreateInstance(this).toggle()}),m(St);const nf="backdrop",rf="show",of=`mousedown.bs.${nf}`,Wg={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Vg={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class lf extends Bt{constructor(o){super(),this._config=this._getConfig(o),this._isAppended=!1,this._element=null}static get Default(){return Wg}static get DefaultType(){return Vg}static get NAME(){return nf}show(o){if(!this._config.isVisible)return void h(o);this._append();const a=this._getElement();this._config.isAnimated&&N(a),a.classList.add(rf),this._emulateAnimation(()=>{h(o)})}hide(o){this._config.isVisible?(this._getElement().classList.remove(rf),this._emulateAnimation(()=>{this.dispose(),h(o)})):h(o)}dispose(){this._isAppended&&(x.off(this._element,of),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const o=document.createElement("div");o.className=this._config.className,this._config.isAnimated&&o.classList.add("fade"),this._element=o}return this._element}_configAfterMerge(o){return o.rootElement=f(o.rootElement),o}_append(){if(this._isAppended)return;const o=this._getElement();this._config.rootElement.append(o),x.on(o,of,()=>{h(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(o){_(o,this._getElement(),this._config.isAnimated)}}const No=".bs.focustrap",Hg=`focusin${No}`,Qg=`keydown.tab${No}`,sf="backward",Kg={autofocus:!0,trapElement:null},Yg={autofocus:"boolean",trapElement:"element"};class af extends Bt{constructor(o){super(),this._config=this._getConfig(o),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Kg}static get DefaultType(){return Yg}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),x.off(document,No),x.on(document,Hg,o=>this._handleFocusin(o)),x.on(document,Qg,o=>this._handleKeydown(o)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,x.off(document,No))}_handleFocusin(o){const{trapElement:a}=this._config;if(o.target===document||o.target===a||a.contains(o.target))return;const d=W.focusableChildren(a);d.length===0?a.focus():this._lastTabNavDirection===sf?d[d.length-1].focus():d[0].focus()}_handleKeydown(o){o.key==="Tab"&&(this._lastTabNavDirection=o.shiftKey?sf:"forward")}}const uf=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",cf=".sticky-top",To="padding-right",ff="margin-right";class Ps{constructor(){this._element=document.body}getWidth(){const o=document.documentElement.clientWidth;return Math.abs(window.innerWidth-o)}hide(){const o=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,To,a=>a+o),this._setElementAttributes(uf,To,a=>a+o),this._setElementAttributes(cf,ff,a=>a-o)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,To),this._resetElementAttributes(uf,To),this._resetElementAttributes(cf,ff)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(o,a,d){const y=this.getWidth();this._applyManipulationCallback(o,w=>{if(w!==this._element&&window.innerWidth>w.clientWidth+y)return;this._saveInitialAttribute(w,a);const S=window.getComputedStyle(w).getPropertyValue(a);w.style.setProperty(a,`${d(Number.parseFloat(S))}px`)})}_saveInitialAttribute(o,a){const d=o.style.getPropertyValue(a);d&&De.setDataAttribute(o,a,d)}_resetElementAttributes(o,a){this._applyManipulationCallback(o,d=>{const y=De.getDataAttribute(d,a);y!==null?(De.removeDataAttribute(d,a),d.style.setProperty(a,y)):d.style.removeProperty(a)})}_applyManipulationCallback(o,a){if(u(o))a(o);else for(const d of W.find(o,this._element))a(d)}}const dt=".bs.modal",Xg=`hide${dt}`,Gg=`hidePrevented${dt}`,df=`hidden${dt}`,pf=`show${dt}`,Zg=`shown${dt}`,Jg=`resize${dt}`,qg=`click.dismiss${dt}`,ev=`mousedown.dismiss${dt}`,tv=`keydown.dismiss${dt}`,nv=`click${dt}.data-api`,hf="modal-open",mf="show",Os="modal-static",rv={backdrop:!0,focus:!0,keyboard:!0},iv={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Un extends Te{constructor(o,a){super(o,a),this._dialog=W.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Ps,this._addEventListeners()}static get Default(){return rv}static get DefaultType(){return iv}static get NAME(){return"modal"}toggle(o){return this._isShown?this.hide():this.show(o)}show(o){this._isShown||this._isTransitioning||x.trigger(this._element,pf,{relatedTarget:o}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(hf),this._adjustDialog(),this._backdrop.show(()=>this._showElement(o)))}hide(){this._isShown&&!this._isTransitioning&&(x.trigger(this._element,Xg).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(mf),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated())))}dispose(){x.off(window,dt),x.off(this._dialog,dt),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new lf({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new af({trapElement:this._element})}_showElement(o){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const a=W.findOne(".modal-body",this._dialog);a&&(a.scrollTop=0),N(this._element),this._element.classList.add(mf),this._queueCallback(()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,x.trigger(this._element,Zg,{relatedTarget:o})},this._dialog,this._isAnimated())}_addEventListeners(){x.on(this._element,tv,o=>{o.key==="Escape"&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())}),x.on(window,Jg,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),x.on(this._element,ev,o=>{x.one(this._element,qg,a=>{this._element===o.target&&this._element===a.target&&(this._config.backdrop!=="static"?this._config.backdrop&&this.hide():this._triggerBackdropTransition())})})}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove(hf),this._resetAdjustments(),this._scrollBar.reset(),x.trigger(this._element,df)})}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(x.trigger(this._element,Gg).defaultPrevented)return;const o=this._element.scrollHeight>document.documentElement.clientHeight,a=this._element.style.overflowY;a==="hidden"||this._element.classList.contains(Os)||(o||(this._element.style.overflowY="hidden"),this._element.classList.add(Os),this._queueCallback(()=>{this._element.classList.remove(Os),this._queueCallback(()=>{this._element.style.overflowY=a},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const o=this._element.scrollHeight>document.documentElement.clientHeight,a=this._scrollBar.getWidth(),d=a>0;if(d&&!o){const y=A()?"paddingLeft":"paddingRight";this._element.style[y]=`${a}px`}if(!d&&o){const y=A()?"paddingRight":"paddingLeft";this._element.style[y]=`${a}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(o,a){return this.each(function(){const d=Un.getOrCreateInstance(this,o);if(typeof o=="string"){if(d[o]===void 0)throw new TypeError(`No method named "${o}"`);d[o](a)}})}}x.on(document,nv,'[data-bs-toggle="modal"]',function(c){const o=W.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&c.preventDefault(),x.one(o,pf,d=>{d.defaultPrevented||x.one(o,df,()=>{p(this)&&this.focus()})});const a=W.findOne(".modal.show");a&&Un.getInstance(a).hide(),Un.getOrCreateInstance(o).toggle(this)}),ho(Un),m(Un);const Vt=".bs.offcanvas",gf=".data-api",ov=`load${Vt}${gf}`,vf="show",yf="showing",_f="hiding",wf=".offcanvas.show",lv=`show${Vt}`,sv=`shown${Vt}`,av=`hide${Vt}`,Ef=`hidePrevented${Vt}`,xf=`hidden${Vt}`,uv=`resize${Vt}`,cv=`click${Vt}${gf}`,fv=`keydown.dismiss${Vt}`,dv={backdrop:!0,keyboard:!0,scroll:!1},pv={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Ht extends Te{constructor(o,a){super(o,a),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return dv}static get DefaultType(){return pv}static get NAME(){return"offcanvas"}toggle(o){return this._isShown?this.hide():this.show(o)}show(o){this._isShown||x.trigger(this._element,lv,{relatedTarget:o}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||new Ps().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(yf),this._queueCallback(()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(vf),this._element.classList.remove(yf),x.trigger(this._element,sv,{relatedTarget:o})},this._element,!0))}hide(){this._isShown&&(x.trigger(this._element,av).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(_f),this._backdrop.hide(),this._queueCallback(()=>{this._element.classList.remove(vf,_f),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new Ps().reset(),x.trigger(this._element,xf)},this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const o=!!this._config.backdrop;return new lf({className:"offcanvas-backdrop",isVisible:o,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:o?()=>{this._config.backdrop!=="static"?this.hide():x.trigger(this._element,Ef)}:null})}_initializeFocusTrap(){return new af({trapElement:this._element})}_addEventListeners(){x.on(this._element,fv,o=>{o.key==="Escape"&&(this._config.keyboard?this.hide():x.trigger(this._element,Ef))})}static jQueryInterface(o){return this.each(function(){const a=Ht.getOrCreateInstance(this,o);if(typeof o=="string"){if(a[o]===void 0||o.startsWith("_")||o==="constructor")throw new TypeError(`No method named "${o}"`);a[o](this)}})}}x.on(document,cv,'[data-bs-toggle="offcanvas"]',function(c){const o=W.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&c.preventDefault(),v(this))return;x.one(o,xf,()=>{p(this)&&this.focus()});const a=W.findOne(wf);a&&a!==o&&Ht.getInstance(a).hide(),Ht.getOrCreateInstance(o).toggle(this)}),x.on(window,ov,()=>{for(const c of W.find(wf))Ht.getOrCreateInstance(c).show()}),x.on(window,uv,()=>{for(const c of W.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(c).position!=="fixed"&&Ht.getOrCreateInstance(c).hide()}),ho(Ht),m(Ht);const Sf={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},hv=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),mv=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,gv=(c,o)=>{const a=c.nodeName.toLowerCase();return o.includes(a)?!hv.has(a)||!!mv.test(c.nodeValue):o.filter(d=>d instanceof RegExp).some(d=>d.test(a))},vv={allowList:Sf,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},yv={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},_v={entry:"(string|element|function|null)",selector:"(string|element)"};class wv extends Bt{constructor(o){super(),this._config=this._getConfig(o)}static get Default(){return vv}static get DefaultType(){return yv}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map(o=>this._resolvePossibleFunction(o)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(o){return this._checkContent(o),this._config.content={...this._config.content,...o},this}toHtml(){const o=document.createElement("div");o.innerHTML=this._maybeSanitize(this._config.template);for(const[y,w]of Object.entries(this._config.content))this._setContent(o,w,y);const a=o.children[0],d=this._resolvePossibleFunction(this._config.extraClass);return d&&a.classList.add(...d.split(" ")),a}_typeCheckConfig(o){super._typeCheckConfig(o),this._checkContent(o.content)}_checkContent(o){for(const[a,d]of Object.entries(o))super._typeCheckConfig({selector:a,entry:d},_v)}_setContent(o,a,d){const y=W.findOne(d,o);y&&((a=this._resolvePossibleFunction(a))?u(a)?this._putElementInTemplate(f(a),y):this._config.html?y.innerHTML=this._maybeSanitize(a):y.textContent=a:y.remove())}_maybeSanitize(o){return this._config.sanitize?function(a,d,y){if(!a.length)return a;if(y&&typeof y=="function")return y(a);const w=new window.DOMParser().parseFromString(a,"text/html"),S=[].concat(...w.body.querySelectorAll("*"));for(const k of S){const j=k.nodeName.toLowerCase();if(!Object.keys(d).includes(j)){k.remove();continue}const M=[].concat(...k.attributes),$=[].concat(d["*"]||[],d[j]||[]);for(const I of M)gv(I,$)||k.removeAttribute(I.nodeName)}return w.body.innerHTML}(o,this._config.allowList,this._config.sanitizeFn):o}_resolvePossibleFunction(o){return h(o,[this])}_putElementInTemplate(o,a){if(this._config.html)return a.innerHTML="",void a.append(o);a.textContent=o.textContent}}const Ev=new Set(["sanitize","allowList","sanitizeFn"]),Ls="fade",Po="show",kf=".modal",Cf="hide.bs.modal",di="hover",js="focus",xv={AUTO:"auto",TOP:"top",RIGHT:A()?"left":"right",BOTTOM:"bottom",LEFT:A()?"right":"left"},Sv={allowList:Sf,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},kv={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class Bn extends Te{constructor(o,a){if(Zc===void 0)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(o,a),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Sv}static get DefaultType(){return kv}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),x.off(this._element.closest(kf),Cf,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const o=x.trigger(this._element,this.constructor.eventName("show")),a=(g(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(o.defaultPrevented||!a)return;this._disposePopper();const d=this._getTipElement();this._element.setAttribute("aria-describedby",d.getAttribute("id"));const{container:y}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(y.append(d),x.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(d),d.classList.add(Po),"ontouchstart"in document.documentElement)for(const w of[].concat(...document.body.children))x.on(w,"mouseover",E);this._queueCallback(()=>{x.trigger(this._element,this.constructor.eventName("shown")),this._isHovered===!1&&this._leave(),this._isHovered=!1},this.tip,this._isAnimated())}hide(){if(this._isShown()&&!x.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(Po),"ontouchstart"in document.documentElement)for(const o of[].concat(...document.body.children))x.off(o,"mouseover",E);this._activeTrigger.click=!1,this._activeTrigger[js]=!1,this._activeTrigger[di]=!1,this._isHovered=null,this._queueCallback(()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),x.trigger(this._element,this.constructor.eventName("hidden")))},this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return!!this._getTitle()}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(o){const a=this._getTemplateFactory(o).toHtml();if(!a)return null;a.classList.remove(Ls,Po),a.classList.add(`bs-${this.constructor.NAME}-auto`);const d=(y=>{do y+=Math.floor(1e6*Math.random());while(document.getElementById(y));return y})(this.constructor.NAME).toString();return a.setAttribute("id",d),this._isAnimated()&&a.classList.add(Ls),a}setContent(o){this._newContent=o,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(o){return this._templateFactory?this._templateFactory.changeContent(o):this._templateFactory=new wv({...this._config,content:o,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(o){return this.constructor.getOrCreateInstance(o.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Ls)}_isShown(){return this.tip&&this.tip.classList.contains(Po)}_createPopper(o){const a=h(this._config.placement,[this,o,this._element]),d=xv[a.toUpperCase()];return Ns(this._element,o,this._getPopperConfig(d))}_getOffset(){const{offset:o}=this._config;return typeof o=="string"?o.split(",").map(a=>Number.parseInt(a,10)):typeof o=="function"?a=>o(a,this._element):o}_resolvePossibleFunction(o){return h(o,[this._element])}_getPopperConfig(o){const a={placement:o,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:d=>{this._getTipElement().setAttribute("data-popper-placement",d.state.placement)}}]};return{...a,...h(this._config.popperConfig,[a])}}_setListeners(){const o=this._config.trigger.split(" ");for(const a of o)if(a==="click")x.on(this._element,this.constructor.eventName("click"),this._config.selector,d=>{this._initializeOnDelegatedTarget(d).toggle()});else if(a!=="manual"){const d=a===di?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),y=a===di?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");x.on(this._element,d,this._config.selector,w=>{const S=this._initializeOnDelegatedTarget(w);S._activeTrigger[w.type==="focusin"?js:di]=!0,S._enter()}),x.on(this._element,y,this._config.selector,w=>{const S=this._initializeOnDelegatedTarget(w);S._activeTrigger[w.type==="focusout"?js:di]=S._element.contains(w.relatedTarget),S._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},x.on(this._element.closest(kf),Cf,this._hideModalHandler)}_fixTitle(){const o=this._element.getAttribute("title");o&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",o),this._element.setAttribute("data-bs-original-title",o),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(o,a){clearTimeout(this._timeout),this._timeout=setTimeout(o,a)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(o){const a=De.getDataAttributes(this._element);for(const d of Object.keys(a))Ev.has(d)&&delete a[d];return o={...a,...typeof o=="object"&&o?o:{}},o=this._mergeConfigObj(o),o=this._configAfterMerge(o),this._typeCheckConfig(o),o}_configAfterMerge(o){return o.container=o.container===!1?document.body:f(o.container),typeof o.delay=="number"&&(o.delay={show:o.delay,hide:o.delay}),typeof o.title=="number"&&(o.title=o.title.toString()),typeof o.content=="number"&&(o.content=o.content.toString()),o}_getDelegateConfig(){const o={};for(const[a,d]of Object.entries(this._config))this.constructor.Default[a]!==d&&(o[a]=d);return o.selector=!1,o.trigger="manual",o}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(o){return this.each(function(){const a=Bn.getOrCreateInstance(this,o);if(typeof o=="string"){if(a[o]===void 0)throw new TypeError(`No method named "${o}"`);a[o]()}})}}m(Bn);const Cv={...Bn.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},Nv={...Bn.DefaultType,content:"(null|string|element|function)"};class Oo extends Bn{static get Default(){return Cv}static get DefaultType(){return Nv}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(o){return this.each(function(){const a=Oo.getOrCreateInstance(this,o);if(typeof o=="string"){if(a[o]===void 0)throw new TypeError(`No method named "${o}"`);a[o]()}})}}m(Oo);const As=".bs.scrollspy",Tv=`activate${As}`,Nf=`click${As}`,Pv=`load${As}.data-api`,kr="active",Ds="[href]",Tf=".nav-link",Ov=`${Tf}, .nav-item > ${Tf}, .list-group-item`,Lv={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},jv={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class pi extends Te{constructor(o,a){super(o,a),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement=getComputedStyle(this._element).overflowY==="visible"?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Lv}static get DefaultType(){return jv}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const o of this._observableSections.values())this._observer.observe(o)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(o){return o.target=f(o.target)||document.body,o.rootMargin=o.offset?`${o.offset}px 0px -30%`:o.rootMargin,typeof o.threshold=="string"&&(o.threshold=o.threshold.split(",").map(a=>Number.parseFloat(a))),o}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(x.off(this._config.target,Nf),x.on(this._config.target,Nf,Ds,o=>{const a=this._observableSections.get(o.target.hash);if(a){o.preventDefault();const d=this._rootElement||window,y=a.offsetTop-this._element.offsetTop;if(d.scrollTo)return void d.scrollTo({top:y,behavior:"smooth"});d.scrollTop=y}}))}_getNewObserver(){const o={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(a=>this._observerCallback(a),o)}_observerCallback(o){const a=S=>this._targetLinks.get(`#${S.target.id}`),d=S=>{this._previousScrollData.visibleEntryTop=S.target.offsetTop,this._process(a(S))},y=(this._rootElement||document.documentElement).scrollTop,w=y>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=y;for(const S of o){if(!S.isIntersecting){this._activeTarget=null,this._clearActiveClass(a(S));continue}const k=S.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(w&&k){if(d(S),!y)return}else w||k||d(S)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const o=W.find(Ds,this._config.target);for(const a of o){if(!a.hash||v(a))continue;const d=W.findOne(decodeURI(a.hash),this._element);p(d)&&(this._targetLinks.set(decodeURI(a.hash),a),this._observableSections.set(a.hash,d))}}_process(o){this._activeTarget!==o&&(this._clearActiveClass(this._config.target),this._activeTarget=o,o.classList.add(kr),this._activateParents(o),x.trigger(this._element,Tv,{relatedTarget:o}))}_activateParents(o){if(o.classList.contains("dropdown-item"))W.findOne(".dropdown-toggle",o.closest(".dropdown")).classList.add(kr);else for(const a of W.parents(o,".nav, .list-group"))for(const d of W.prev(a,Ov))d.classList.add(kr)}_clearActiveClass(o){o.classList.remove(kr);const a=W.find(`${Ds}.${kr}`,o);for(const d of a)d.classList.remove(kr)}static jQueryInterface(o){return this.each(function(){const a=pi.getOrCreateInstance(this,o);if(typeof o=="string"){if(a[o]===void 0||o.startsWith("_")||o==="constructor")throw new TypeError(`No method named "${o}"`);a[o]()}})}}x.on(window,Pv,()=>{for(const c of W.find('[data-bs-spy="scroll"]'))pi.getOrCreateInstance(c)}),m(pi);const Wn=".bs.tab",Av=`hide${Wn}`,Dv=`hidden${Wn}`,Iv=`show${Wn}`,Rv=`shown${Wn}`,bv=`click${Wn}`,Mv=`keydown${Wn}`,zv=`load${Wn}`,$v="ArrowLeft",Pf="ArrowRight",Fv="ArrowUp",Of="ArrowDown",Is="Home",Lf="End",Vn="active",jf="fade",Rs="show",Af=".dropdown-toggle",bs=`:not(${Af})`,Df='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Ms=`.nav-link${bs}, .list-group-item${bs}, [role="tab"]${bs}, ${Df}`,Uv=`.${Vn}[data-bs-toggle="tab"], .${Vn}[data-bs-toggle="pill"], .${Vn}[data-bs-toggle="list"]`;class Hn extends Te{constructor(o){super(o),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),x.on(this._element,Mv,a=>this._keydown(a)))}static get NAME(){return"tab"}show(){const o=this._element;if(this._elemIsActive(o))return;const a=this._getActiveElem(),d=a?x.trigger(a,Av,{relatedTarget:o}):null;x.trigger(o,Iv,{relatedTarget:a}).defaultPrevented||d&&d.defaultPrevented||(this._deactivate(a,o),this._activate(o,a))}_activate(o,a){o&&(o.classList.add(Vn),this._activate(W.getElementFromSelector(o)),this._queueCallback(()=>{o.getAttribute("role")==="tab"?(o.removeAttribute("tabindex"),o.setAttribute("aria-selected",!0),this._toggleDropDown(o,!0),x.trigger(o,Rv,{relatedTarget:a})):o.classList.add(Rs)},o,o.classList.contains(jf)))}_deactivate(o,a){o&&(o.classList.remove(Vn),o.blur(),this._deactivate(W.getElementFromSelector(o)),this._queueCallback(()=>{o.getAttribute("role")==="tab"?(o.setAttribute("aria-selected",!1),o.setAttribute("tabindex","-1"),this._toggleDropDown(o,!1),x.trigger(o,Dv,{relatedTarget:a})):o.classList.remove(Rs)},o,o.classList.contains(jf)))}_keydown(o){if(![$v,Pf,Fv,Of,Is,Lf].includes(o.key))return;o.stopPropagation(),o.preventDefault();const a=this._getChildren().filter(y=>!v(y));let d;if([Is,Lf].includes(o.key))d=a[o.key===Is?0:a.length-1];else{const y=[Pf,Of].includes(o.key);d=C(a,o.target,y,!0)}d&&(d.focus({preventScroll:!0}),Hn.getOrCreateInstance(d).show())}_getChildren(){return W.find(Ms,this._parent)}_getActiveElem(){return this._getChildren().find(o=>this._elemIsActive(o))||null}_setInitialAttributes(o,a){this._setAttributeIfNotExists(o,"role","tablist");for(const d of a)this._setInitialAttributesOnChild(d)}_setInitialAttributesOnChild(o){o=this._getInnerElement(o);const a=this._elemIsActive(o),d=this._getOuterElement(o);o.setAttribute("aria-selected",a),d!==o&&this._setAttributeIfNotExists(d,"role","presentation"),a||o.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(o,"role","tab"),this._setInitialAttributesOnTargetPanel(o)}_setInitialAttributesOnTargetPanel(o){const a=W.getElementFromSelector(o);a&&(this._setAttributeIfNotExists(a,"role","tabpanel"),o.id&&this._setAttributeIfNotExists(a,"aria-labelledby",`${o.id}`))}_toggleDropDown(o,a){const d=this._getOuterElement(o);if(!d.classList.contains("dropdown"))return;const y=(w,S)=>{const k=W.findOne(w,d);k&&k.classList.toggle(S,a)};y(Af,Vn),y(".dropdown-menu",Rs),d.setAttribute("aria-expanded",a)}_setAttributeIfNotExists(o,a,d){o.hasAttribute(a)||o.setAttribute(a,d)}_elemIsActive(o){return o.classList.contains(Vn)}_getInnerElement(o){return o.matches(Ms)?o:W.findOne(Ms,o)}_getOuterElement(o){return o.closest(".nav-item, .list-group-item")||o}static jQueryInterface(o){return this.each(function(){const a=Hn.getOrCreateInstance(this);if(typeof o=="string"){if(a[o]===void 0||o.startsWith("_")||o==="constructor")throw new TypeError(`No method named "${o}"`);a[o]()}})}}x.on(document,bv,Df,function(c){["A","AREA"].includes(this.tagName)&&c.preventDefault(),v(this)||Hn.getOrCreateInstance(this).show()}),x.on(window,zv,()=>{for(const c of W.find(Uv))Hn.getOrCreateInstance(c)}),m(Hn);const cn=".bs.toast",Bv=`mouseover${cn}`,Wv=`mouseout${cn}`,Vv=`focusin${cn}`,Hv=`focusout${cn}`,Qv=`hide${cn}`,Kv=`hidden${cn}`,Yv=`show${cn}`,Xv=`shown${cn}`,If="hide",Lo="show",jo="showing",Gv={animation:"boolean",autohide:"boolean",delay:"number"},Zv={animation:!0,autohide:!0,delay:5e3};class hi extends Te{constructor(o,a){super(o,a),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Zv}static get DefaultType(){return Gv}static get NAME(){return"toast"}show(){x.trigger(this._element,Yv).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(If),N(this._element),this._element.classList.add(Lo,jo),this._queueCallback(()=>{this._element.classList.remove(jo),x.trigger(this._element,Xv),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this.isShown()&&(x.trigger(this._element,Qv).defaultPrevented||(this._element.classList.add(jo),this._queueCallback(()=>{this._element.classList.add(If),this._element.classList.remove(jo,Lo),x.trigger(this._element,Kv)},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Lo),super.dispose()}isShown(){return this._element.classList.contains(Lo)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(o,a){switch(o.type){case"mouseover":case"mouseout":this._hasMouseInteraction=a;break;case"focusin":case"focusout":this._hasKeyboardInteraction=a}if(a)return void this._clearTimeout();const d=o.relatedTarget;this._element===d||this._element.contains(d)||this._maybeScheduleHide()}_setListeners(){x.on(this._element,Bv,o=>this._onInteraction(o,!0)),x.on(this._element,Wv,o=>this._onInteraction(o,!1)),x.on(this._element,Vv,o=>this._onInteraction(o,!0)),x.on(this._element,Hv,o=>this._onInteraction(o,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(o){return this.each(function(){const a=hi.getOrCreateInstance(this,o);if(typeof o=="string"){if(a[o]===void 0)throw new TypeError(`No method named "${o}"`);a[o](this)}})}}return ho(hi),m(hi),{Alert:oi,Button:li,Carousel:pr,Collapse:mr,Dropdown:St,Modal:Un,Offcanvas:Ht,Popover:Oo,ScrollSpy:pi,Tab:Hn,Toast:hi,Tooltip:Bn}})})(I1);const R1=()=>T.jsx("footer",{className:"footer bg-light py-3",children:T.jsxs("div",{className:"container d-flex justify-content-between",children:[T.jsx("span",{children:T.jsx("a",{className:"linka",target:"_blank",title:"Legal",href:"https://creativecommons.org/licenses/by-nc-sa/4.0/",children:"Авторские права © 2024 Левик"})}),T.jsxs("span",{children:["Вдохновлено ",T.jsx("a",{className:"linka",target:"_blank",title:"🌸 [δ] - Based on MDsveX & SvelteKit 🌸",href:"https://github.com/importantimport/urara",children:T.jsx("b",{children:"Урарой"})})]})]})});/** + * @remix-run/router v1.18.0 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function no(){return no=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u")throw new Error(t)}function Om(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function M1(){return Math.random().toString(36).substr(2,8)}function rp(e,t){return{usr:e.state,key:e.key,idx:t}}function au(e,t,n,r){return n===void 0&&(n=null),no({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?ri(t):t,{state:n,key:t&&t.key||r||M1()})}function zl(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function ri(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function z1(e,t,n,r){r===void 0&&(r={});let{window:i=document.defaultView,v5Compat:l=!1}=r,s=i.history,u=_n.Pop,f=null,p=v();p==null&&(p=0,s.replaceState(no({},s.state,{idx:p}),""));function v(){return(s.state||{idx:null}).idx}function g(){u=_n.Pop;let A=v(),m=A==null?null:A-p;p=A,f&&f({action:u,location:P.location,delta:m})}function E(A,m){u=_n.Push;let h=au(P.location,A,m);p=v()+1;let _=rp(h,p),C=P.createHref(h);try{s.pushState(_,"",C)}catch(D){if(D instanceof DOMException&&D.name==="DataCloneError")throw D;i.location.assign(C)}l&&f&&f({action:u,location:P.location,delta:1})}function N(A,m){u=_n.Replace;let h=au(P.location,A,m);p=v();let _=rp(h,p),C=P.createHref(h);s.replaceState(_,"",C),l&&f&&f({action:u,location:P.location,delta:0})}function O(A){let m=i.location.origin!=="null"?i.location.origin:i.location.href,h=typeof A=="string"?A:zl(A);return h=h.replace(/ $/,"%20"),Ne(m,"No window.location.(origin|href) available to create URL for href: "+h),new URL(h,m)}let P={get action(){return u},get location(){return e(i,s)},listen(A){if(f)throw new Error("A history only accepts one active listener");return i.addEventListener(np,g),f=A,()=>{i.removeEventListener(np,g),f=null}},createHref(A){return t(i,A)},createURL:O,encodeLocation(A){let m=O(A);return{pathname:m.pathname,search:m.search,hash:m.hash}},push:E,replace:N,go(A){return s.go(A)}};return P}var ip;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(ip||(ip={}));function $1(e,t,n){return n===void 0&&(n="/"),F1(e,t,n,!1)}function F1(e,t,n,r){let i=typeof t=="string"?ri(t):t,l=sc(i.pathname||"/",n);if(l==null)return null;let s=Lm(e);U1(s);let u=null;for(let f=0;u==null&&f{let f={relativePath:u===void 0?l.path||"":u,caseSensitive:l.caseSensitive===!0,childrenIndex:s,route:l};f.relativePath.startsWith("/")&&(Ne(f.relativePath.startsWith(r),'Absolute route path "'+f.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),f.relativePath=f.relativePath.slice(r.length));let p=Pn([r,f.relativePath]),v=n.concat(f);l.children&&l.children.length>0&&(Ne(l.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+p+'".')),Lm(l.children,t,v,p)),!(l.path==null&&!l.index)&&t.push({path:p,score:Y1(p,l.index),routesMeta:v})};return e.forEach((l,s)=>{var u;if(l.path===""||!((u=l.path)!=null&&u.includes("?")))i(l,s);else for(let f of jm(l.path))i(l,s,f)}),t}function jm(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,i=n.endsWith("?"),l=n.replace(/\?$/,"");if(r.length===0)return i?[l,""]:[l];let s=jm(r.join("/")),u=[];return u.push(...s.map(f=>f===""?l:[l,f].join("/"))),i&&u.push(...s),u.map(f=>e.startsWith("/")&&f===""?"/":f)}function U1(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:X1(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const B1=/^:[\w-]+$/,W1=3,V1=2,H1=1,Q1=10,K1=-2,op=e=>e==="*";function Y1(e,t){let n=e.split("/"),r=n.length;return n.some(op)&&(r+=K1),t&&(r+=V1),n.filter(i=>!op(i)).reduce((i,l)=>i+(B1.test(l)?W1:l===""?H1:Q1),r)}function X1(e,t){return e.length===t.length&&e.slice(0,-1).every((r,i)=>r===t[i])?e[e.length-1]-t[t.length-1]:0}function G1(e,t,n){let{routesMeta:r}=e,i={},l="/",s=[];for(let u=0;u{let{paramName:E,isOptional:N}=v;if(E==="*"){let P=u[g]||"";s=l.slice(0,l.length-P.length).replace(/(.)\/+$/,"$1")}const O=u[g];return N&&!O?p[E]=void 0:p[E]=(O||"").replace(/%2F/g,"/"),p},{}),pathname:l,pathnameBase:s,pattern:e}}function Z1(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),Om(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],i="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(s,u,f)=>(r.push({paramName:u,isOptional:f!=null}),f?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),i+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?i+="\\/*$":e!==""&&e!=="/"&&(i+="(?:(?=\\/|$))"),[new RegExp(i,t?void 0:"i"),r]}function J1(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return Om(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function sc(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}function q1(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:i=""}=typeof e=="string"?ri(e):e;return{pathname:n?n.startsWith("/")?n:e_(n,t):t,search:r_(r),hash:i_(i)}}function e_(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(i=>{i===".."?n.length>1&&n.pop():i!=="."&&n.push(i)}),n.length>1?n.join("/"):"/"}function pa(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function t_(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function Am(e,t){let n=t_(e);return t?n.map((r,i)=>i===n.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function Dm(e,t,n,r){r===void 0&&(r=!1);let i;typeof e=="string"?i=ri(e):(i=no({},e),Ne(!i.pathname||!i.pathname.includes("?"),pa("?","pathname","search",i)),Ne(!i.pathname||!i.pathname.includes("#"),pa("#","pathname","hash",i)),Ne(!i.search||!i.search.includes("#"),pa("#","search","hash",i)));let l=e===""||i.pathname==="",s=l?"/":i.pathname,u;if(s==null)u=n;else{let g=t.length-1;if(!r&&s.startsWith("..")){let E=s.split("/");for(;E[0]==="..";)E.shift(),g-=1;i.pathname=E.join("/")}u=g>=0?t[g]:"/"}let f=q1(i,u),p=s&&s!=="/"&&s.endsWith("/"),v=(l||s===".")&&n.endsWith("/");return!f.pathname.endsWith("/")&&(p||v)&&(f.pathname+="/"),f}const Pn=e=>e.join("/").replace(/\/\/+/g,"/"),n_=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),r_=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,i_=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function o_(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const Im=["post","put","patch","delete"];new Set(Im);const l_=["get",...Im];new Set(l_);/** + * React Router v6.25.1 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function ro(){return ro=Object.assign?Object.assign.bind():function(e){for(var t=1;t{u.current=!0}),R.useCallback(function(p,v){if(v===void 0&&(v={}),!u.current)return;if(typeof p=="number"){r.go(p);return}let g=Dm(p,JSON.parse(s),l,v.relative==="path");e==null&&t!=="/"&&(g.pathname=g.pathname==="/"?t:Pn([t,g.pathname])),(v.replace?r.replace:r.push)(g,v.state,v)},[t,r,s,l,e])}function c_(){let{matches:e}=R.useContext(In),t=e[e.length-1];return t?t.params:{}}function Mm(e,t){let{relative:n}=t===void 0?{}:t,{future:r}=R.useContext(ar),{matches:i}=R.useContext(In),{pathname:l}=fo(),s=JSON.stringify(Am(i,r.v7_relativeSplatPath));return R.useMemo(()=>Dm(e,JSON.parse(s),l,n==="path"),[e,s,l,n])}function f_(e,t){return d_(e,t)}function d_(e,t,n,r){co()||Ne(!1);let{navigator:i}=R.useContext(ar),{matches:l}=R.useContext(In),s=l[l.length-1],u=s?s.params:{};s&&s.pathname;let f=s?s.pathnameBase:"/";s&&s.route;let p=fo(),v;if(t){var g;let A=typeof t=="string"?ri(t):t;f==="/"||(g=A.pathname)!=null&&g.startsWith(f)||Ne(!1),v=A}else v=p;let E=v.pathname||"/",N=E;if(f!=="/"){let A=f.replace(/^\//,"").split("/");N="/"+E.replace(/^\//,"").split("/").slice(A.length).join("/")}let O=$1(e,{pathname:N}),P=v_(O&&O.map(A=>Object.assign({},A,{params:Object.assign({},u,A.params),pathname:Pn([f,i.encodeLocation?i.encodeLocation(A.pathname).pathname:A.pathname]),pathnameBase:A.pathnameBase==="/"?f:Pn([f,i.encodeLocation?i.encodeLocation(A.pathnameBase).pathname:A.pathnameBase])})),l,n,r);return t&&P?R.createElement(ls.Provider,{value:{location:ro({pathname:"/",search:"",hash:"",state:null,key:"default"},v),navigationType:_n.Pop}},P):P}function p_(){let e=E_(),t=o_(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,i={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return R.createElement(R.Fragment,null,R.createElement("h2",null,"Unexpected Application Error!"),R.createElement("h3",{style:{fontStyle:"italic"}},t),n?R.createElement("pre",{style:i},n):null,null)}const h_=R.createElement(p_,null);class m_ extends R.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location||n.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:n.error,location:n.location,revalidation:t.revalidation||n.revalidation}}componentDidCatch(t,n){console.error("React Router caught the following error during render",t,n)}render(){return this.state.error!==void 0?R.createElement(In.Provider,{value:this.props.routeContext},R.createElement(Rm.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function g_(e){let{routeContext:t,match:n,children:r}=e,i=R.useContext(ac);return i&&i.static&&i.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=n.route.id),R.createElement(In.Provider,{value:t},r)}function v_(e,t,n,r){var i;if(t===void 0&&(t=[]),n===void 0&&(n=null),r===void 0&&(r=null),e==null){var l;if((l=n)!=null&&l.errors)e=n.matches;else return null}let s=e,u=(i=n)==null?void 0:i.errors;if(u!=null){let v=s.findIndex(g=>g.route.id&&(u==null?void 0:u[g.route.id])!==void 0);v>=0||Ne(!1),s=s.slice(0,Math.min(s.length,v+1))}let f=!1,p=-1;if(n&&r&&r.v7_partialHydration)for(let v=0;v=0?s=s.slice(0,p+1):s=[s[0]];break}}}return s.reduceRight((v,g,E)=>{let N,O=!1,P=null,A=null;n&&(N=u&&g.route.id?u[g.route.id]:void 0,P=g.route.errorElement||h_,f&&(p<0&&E===0?(O=!0,A=null):p===E&&(O=!0,A=g.route.hydrateFallbackElement||null)));let m=t.concat(s.slice(0,E+1)),h=()=>{let _;return N?_=P:O?_=A:g.route.Component?_=R.createElement(g.route.Component,null):g.route.element?_=g.route.element:_=v,R.createElement(g_,{match:g,routeContext:{outlet:v,matches:m,isDataRoute:n!=null},children:_})};return n&&(g.route.ErrorBoundary||g.route.errorElement||E===0)?R.createElement(m_,{location:n.location,revalidation:n.revalidation,component:P,error:N,children:h(),routeContext:{outlet:null,matches:m,isDataRoute:!0}}):h()},null)}var zm=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(zm||{}),$l=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}($l||{});function y_(e){let t=R.useContext(ac);return t||Ne(!1),t}function __(e){let t=R.useContext(s_);return t||Ne(!1),t}function w_(e){let t=R.useContext(In);return t||Ne(!1),t}function $m(e){let t=w_(),n=t.matches[t.matches.length-1];return n.route.id||Ne(!1),n.route.id}function E_(){var e;let t=R.useContext(Rm),n=__($l.UseRouteError),r=$m($l.UseRouteError);return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}function x_(){let{router:e}=y_(zm.UseNavigateStable),t=$m($l.UseNavigateStable),n=R.useRef(!1);return bm(()=>{n.current=!0}),R.useCallback(function(i,l){l===void 0&&(l={}),n.current&&(typeof i=="number"?e.navigate(i):e.navigate(i,ro({fromRouteId:t},l)))},[e,t])}function Fl(e){Ne(!1)}function S_(e){let{basename:t="/",children:n=null,location:r,navigationType:i=_n.Pop,navigator:l,static:s=!1,future:u}=e;co()&&Ne(!1);let f=t.replace(/^\/*/,"/"),p=R.useMemo(()=>({basename:f,navigator:l,static:s,future:ro({v7_relativeSplatPath:!1},u)}),[f,u,l,s]);typeof r=="string"&&(r=ri(r));let{pathname:v="/",search:g="",hash:E="",state:N=null,key:O="default"}=r,P=R.useMemo(()=>{let A=sc(v,f);return A==null?null:{location:{pathname:A,search:g,hash:E,state:N,key:O},navigationType:i}},[f,v,g,E,N,O,i]);return P==null?null:R.createElement(ar.Provider,{value:p},R.createElement(ls.Provider,{children:n,value:P}))}function Fm(e){let{children:t,location:n}=e;return f_(uu(t),n)}new Promise(()=>{});function uu(e,t){t===void 0&&(t=[]);let n=[];return R.Children.forEach(e,(r,i)=>{if(!R.isValidElement(r))return;let l=[...t,i];if(r.type===R.Fragment){n.push.apply(n,uu(r.props.children,l));return}r.type!==Fl&&Ne(!1),!r.props.index||!r.props.children||Ne(!1);let s={id:r.props.id||l.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,loader:r.props.loader,action:r.props.action,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(s.children=uu(r.props.children,l)),n.push(s)}),n}/** + * React Router DOM v6.25.1 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function cu(){return cu=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&(n[i]=e[i]);return n}function C_(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function N_(e,t){return e.button===0&&(!t||t==="_self")&&!C_(e)}const T_=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],P_="6";try{window.__reactRouterVersion=P_}catch{}const O_="startTransition",sp=S0[O_];function L_(e){let{basename:t,children:n,future:r,window:i}=e,l=R.useRef();l.current==null&&(l.current=b1({window:i,v5Compat:!0}));let s=l.current,[u,f]=R.useState({action:s.action,location:s.location}),{v7_startTransition:p}=r||{},v=R.useCallback(g=>{p&&sp?sp(()=>f(g)):f(g)},[f,p]);return R.useLayoutEffect(()=>s.listen(v),[s,v]),R.createElement(S_,{basename:t,children:n,location:u.location,navigationType:u.action,navigator:s,future:r})}const j_=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",A_=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Si=R.forwardRef(function(t,n){let{onClick:r,relative:i,reloadDocument:l,replace:s,state:u,target:f,to:p,preventScrollReset:v,unstable_viewTransition:g}=t,E=k_(t,T_),{basename:N}=R.useContext(ar),O,P=!1;if(typeof p=="string"&&A_.test(p)&&(O=p,j_))try{let _=new URL(window.location.href),C=p.startsWith("//")?new URL(_.protocol+p):new URL(p),D=sc(C.pathname,N);C.origin===_.origin&&D!=null?p=D+C.search+C.hash:P=!0}catch{}let A=a_(p,{relative:i}),m=D_(p,{replace:s,state:u,target:f,preventScrollReset:v,relative:i,unstable_viewTransition:g});function h(_){r&&r(_),_.defaultPrevented||m(_)}return R.createElement("a",cu({},E,{href:O||A,onClick:P||l?r:h,ref:n,target:f}))});var ap;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(ap||(ap={}));var up;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(up||(up={}));function D_(e,t){let{target:n,replace:r,state:i,preventScrollReset:l,relative:s,unstable_viewTransition:u}=t===void 0?{}:t,f=uc(),p=fo(),v=Mm(e,{relative:s});return R.useCallback(g=>{if(N_(g,n)){g.preventDefault();let E=r!==void 0?r:zl(p)===zl(v);f(e,{replace:E,state:i,preventScrollReset:l,relative:s,unstable_viewTransition:u})}},[p,f,v,r,i,n,e,l,s,u])}const I_=()=>T.jsx("nav",{className:"navbar navbar-expand-lg",children:T.jsxs("div",{className:"container-fluid",children:[T.jsx(Si,{className:"navbar-brand",to:"/",children:T.jsx("b",{children:"./levick.sh"})}),T.jsx("button",{className:"navbar-toggler",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false",children:T.jsx("span",{className:"navbar-toggler-icon"})}),T.jsxs("div",{className:"dropdown-menu dropdown-menu-end",children:[T.jsx(Si,{className:"dropdown-item",title:"About",to:"/post/post2",children:"О"}),T.jsx(Si,{className:"dropdown-item",title:"Projects",to:"/post/post1",children:"Проекты"}),T.jsx("a",{className:"dropdown-item",title:"Booksmarks",target:"_blank",href:"https://airtable.com/appUVHB29NzA8Tysi/shrpftxf6JgRomP2X/tblEvtThXHNBMQ8lW/viw85qtohQ98gVHN8",children:"Закладки"})]}),T.jsx("div",{className:"collapse navbar-collapse",id:"navbarNav",children:T.jsxs("ul",{className:"navbar-nav ms-auto d-none d-lg-flex",children:[T.jsx("li",{className:"nav-item",children:T.jsx(Si,{className:"nav-link",title:"About",to:"/post/post2",children:"О"})}),T.jsx("li",{className:"nav-item",children:T.jsx(Si,{className:"nav-link",title:"Projects",to:"/post/post1",children:"Проекты"})}),T.jsx("li",{className:"nav-item",children:T.jsx("a",{className:"nav-link",target:"_blank",title:"Bookmarks",href:"https://airtable.com/appUVHB29NzA8Tysi/shrpftxf6JgRomP2X/tblEvtThXHNBMQ8lW/viw85qtohQ98gVHN8",children:"Закладки"})})]})})]})});var Um={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},cp=oe.createContext&&oe.createContext(Um),R_=["attr","size","title"];function b_(e,t){if(e==null)return{};var n=M_(e,t),r,i;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function M_(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Ul(){return Ul=Object.assign?Object.assign.bind():function(e){for(var t=1;toe.createElement(t.tag,Bl({key:n},t.attr),Bm(t.child)))}function ss(e){return t=>oe.createElement(U_,Ul({attr:Bl({},e.attr)},t),Bm(e.child))}function U_(e){var t=n=>{var{attr:r,size:i,title:l}=e,s=b_(e,R_),u=i||n.size||"1em",f;return n.className&&(f=n.className),e.className&&(f=(f?f+" ":"")+e.className),oe.createElement("svg",Ul({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},n.attr,r,s,{className:f,style:Bl(Bl({color:e.color||n.color},n.style),e.style),height:u,width:u,xmlns:"http://www.w3.org/2000/svg"}),l&&oe.createElement("title",null,l),e.children)};return cp!==void 0?oe.createElement(cp.Consumer,null,n=>t(n)):t(Um)}function B_(e){return ss({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z"},child:[]}]})(e)}function W_(e){return ss({tag:"svg",attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"},child:[]}]})(e)}function V_(e){return ss({tag:"svg",attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M496 256c0 137-111.2 248-248.4 248-113.8 0-209.6-76.3-239-180.4l95.2 39.3c6.4 32.1 34.9 56.4 68.9 56.4 39.2 0 71.9-32.4 70.2-73.5l84.5-60.2c52.1 1.3 95.8-40.9 95.8-93.5 0-51.6-42-93.5-93.7-93.5s-93.7 42-93.7 93.5v1.2L176.6 279c-15.5-.9-30.7 3.4-43.5 12.1L0 236.1C10.2 108.4 117.1 8 247.6 8 384.8 8 496 119 496 256zM155.7 384.3l-30.5-12.6a52.79 52.79 0 0 0 27.2 25.8c26.9 11.2 57.8-1.6 69-28.4 5.4-13 5.5-27.3.1-40.3-5.4-13-15.5-23.2-28.5-28.6-12.9-5.4-26.7-5.2-38.9-.6l31.5 13c19.8 8.2 29.2 30.9 20.9 50.7-8.3 19.9-31 29.2-50.8 21zm173.8-129.9c-34.4 0-62.4-28-62.4-62.3s28-62.3 62.4-62.3 62.4 28 62.4 62.3-27.9 62.3-62.4 62.3zm.1-15.6c25.9 0 46.9-21 46.9-46.8 0-25.9-21-46.8-46.9-46.8s-46.9 21-46.9 46.8c.1 25.8 21.1 46.8 46.9 46.8z"},child:[]}]})(e)}function H_(e){return ss({tag:"svg",attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm121.8 169.9l-40.7 191.8c-3 13.6-11.1 16.9-22.4 10.5l-62-45.7-29.9 28.8c-3.3 3.3-6.1 6.1-12.5 6.1l4.4-63.1 114.9-103.8c5-4.4-1.1-6.9-7.7-2.5l-142 89.4-61.2-19.1c-13.3-4.2-13.6-13.3 2.8-19.7l239.1-92.2c11.1-4 20.8 2.7 17.2 19.5z"},child:[]}]})(e)}const Q_="/Blog/assets/boredapelevi200-jE2U4SrA.png",K_=()=>T.jsx("div",{className:"left-container",children:T.jsxs("div",{className:"profile-card card",children:[T.jsx("img",{src:Q_,className:"card-img-top profile-image",alt:"Profile"}),T.jsxs("div",{className:"card-body text-center",children:[T.jsx("h3",{className:"card-title",children:"Левик"}),T.jsx("p",{children:" "}),T.jsx("p",{className:"card-text",children:"Я продолжал мечтать о мире, который думал, что никогда не увижу. И потом, однажды..."}),T.jsxs("div",{className:"social-icons",children:[T.jsx("a",{href:"https://github.com/1Levick3",target:"_blank",className:"btn btn-outline-secondary",children:T.jsx(W_,{})}),T.jsx("a",{href:"#",className:"btn btn-outline-secondary",children:T.jsx(B_,{})}),T.jsx("a",{href:"#",className:"btn btn-outline-secondary",children:T.jsx(H_,{})}),T.jsx("a",{href:"https://steamcommunity.com/profiles/76561199443614169",target:"_blank",className:"btn btn-outline-secondary",children:T.jsx(V_,{})})]})]})]})}),Y_=[{date:"July 31, 2024",title:"About",description:"💙..About..em..what?",link:"post2",year:2024,bgImage:"src/Markdownjsx/aboutme.jpg"},{date:"February 22, 2024",title:"Docker Essentials: Navigating the Container Seas",description:"Docker and its Best Practices 🐳",link:"post3",year:2024,bgImage:"src/Markdownjsx/image-2.png"},{date:"December 31, 2023",title:"Astrophotography",description:"Various photos taken through my camera this year",link:"post4",year:2023,bgImage:"src/Markdownjsx/full-moon.jpg"},{date:"December 24, 2023",title:"Learning Vim...?",description:"Beginner guide to get started with vim",link:"post5",year:2023,bgImage:"src/Markdownjsx/vimB.png"}],X_=()=>{const e=uc();let t=null;return T.jsxs("div",{className:"mid-container",children:[T.jsx("div",{className:"year-separator",children:T.jsx("span",{className:"year-label",children:"Posts"})}),Y_.map((n,r)=>{const i=t&&t!==n.year,l=n.year;return t=n.year,T.jsxs(oe.Fragment,{children:[i&&T.jsx("div",{className:"year-separator",children:T.jsx("span",{className:"year-label",children:l})}),T.jsxs("div",{className:"blog-post",onClick:()=>e(`/post/${n.link}`),style:{backgroundImage:`url(${n.bgImage})`},children:[T.jsx("div",{className:"post-date",children:n.date}),T.jsx("div",{className:"post-title",children:n.title}),T.jsx("div",{className:"post-description",children:n.description})]})]},r)})]})},G_=()=>(R.useEffect(()=>{const e=()=>{new window.YT.Player("player",{height:"390",width:"640",playerVars:{listType:"playlist",list:"PLIkYl2ksw5irYkAUbBJp2OG28k3LPdQUB"}})};window.YT&&window.YT.Player?e():window.onYouTubeIframeAPIReady=e},[]),T.jsx("div",{id:"player"})),Z_=()=>T.jsx("div",{className:"right-container",children:T.jsx("div",{className:"card right-card",children:T.jsxs("div",{className:"card-body",children:[T.jsx("h5",{className:"card-title",children:"музыка"}),T.jsx("p",{className:"card-text"}),T.jsx(G_,{})]})})}),J_=()=>T.jsx(T.Fragment,{children:T.jsxs("div",{className:"container-fluid p-0",children:[T.jsxs("div",{className:"row m-0",children:[T.jsx("div",{className:"col-md-3 col-12 bleft p-0",children:T.jsx(K_,{})}),T.jsx("div",{className:"col-md-6 col-12 bmid p-0",children:T.jsx(X_,{})}),T.jsx("div",{className:"col-md-3 col-12 bright p-0",children:T.jsx(Z_,{})})]}),T.jsx("div",{className:"row m-0"})]})}),q_="modulepreload",ew=function(e){return"/Blog/"+e},dp={},ki=function(t,n,r){let i=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const l=document.querySelector("meta[property=csp-nonce]"),s=(l==null?void 0:l.nonce)||(l==null?void 0:l.getAttribute("nonce"));i=Promise.all(n.map(u=>{if(u=ew(u),u in dp)return;dp[u]=!0;const f=u.endsWith(".css"),p=f?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${u}"]${p}`))return;const v=document.createElement("link");if(v.rel=f?"stylesheet":q_,f||(v.as="script",v.crossOrigin=""),v.href=u,s&&v.setAttribute("nonce",s),document.head.appendChild(v),f)return new Promise((g,E)=>{v.addEventListener("load",g),v.addEventListener("error",()=>E(new Error(`Unable to preload CSS for ${u}`)))})}))}return i.then(()=>t()).catch(l=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=l,window.dispatchEvent(s),!s.defaultPrevented)throw l})},tw={post1:R.lazy(()=>ki(()=>import("./Example-DO4rMWGi.js"),[])),post2:R.lazy(()=>ki(()=>import("./About-D5XW4RYo.js"),[])),post3:R.lazy(()=>ki(()=>import("./DockerT-CC-qfVG-.js"),[])),post4:R.lazy(()=>ki(()=>import("./Astrophotography-BjKTjIUH.js"),[])),post5:R.lazy(()=>ki(()=>import("./LearnVim-DHSZDXis.js"),[]))},qo=[{date:"July 31, 2024",title:"About",description:"💙..About..em..what?",link:"post2",year:2024},{date:"February 22, 2024",title:"Docker Essentials: Navigating the Container Seas",description:"Docker and its Best Practices 🐳",link:"post3",year:2024},{date:"December 31, 2023",title:"Astrophotography",description:"Various photos taken through my camera this year",link:"post4",year:2023},{date:"December 24, 2023",title:"Learning Vim...?",description:"Beginner guide to get started with vim",link:"post5",year:2023}],nw=()=>{const{id:e}=c_(),t=uc(),n=tw[e];if(!n)return T.jsx("div",{children:"Post not found"});const r=qo.findIndex(s=>s.link===e),i=r>0?qo[r-1]:null,l=rt(`/post/${i.link}`),children:T.jsxs("span",{children:["< ",i.title]})}),l&&T.jsx("div",{className:"next-post",onClick:()=>t(`/post/${l.link}`),children:T.jsxs("span",{children:[l.title," >"]})})]})]})})})};function fu(){return fu=Object.assign?Object.assign.bind():function(e){for(var t=1;tr[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const l of i)if(l.type==="childList")for(const s of l.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(i){const l={};return i.integrity&&(l.integrity=i.integrity),i.referrerPolicy&&(l.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?l.credentials="include":i.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function r(i){if(i.ep)return;i.ep=!0;const l=n(i);fetch(i.href,l)}})();var u0=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function gp(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var vp={exports:{}},Ql={},yp={exports:{}},q={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var lo=Symbol.for("react.element"),c0=Symbol.for("react.portal"),f0=Symbol.for("react.fragment"),d0=Symbol.for("react.strict_mode"),p0=Symbol.for("react.profiler"),h0=Symbol.for("react.provider"),m0=Symbol.for("react.context"),g0=Symbol.for("react.forward_ref"),v0=Symbol.for("react.suspense"),y0=Symbol.for("react.memo"),_0=Symbol.for("react.lazy"),Xf=Symbol.iterator;function w0(e){return e===null||typeof e!="object"?null:(e=Xf&&e[Xf]||e["@@iterator"],typeof e=="function"?e:null)}var _p={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},wp=Object.assign,Ep={};function ti(e,t,n){this.props=e,this.context=t,this.refs=Ep,this.updater=n||_p}ti.prototype.isReactComponent={};ti.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};ti.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function xp(){}xp.prototype=ti.prototype;function hu(e,t,n){this.props=e,this.context=t,this.refs=Ep,this.updater=n||_p}var mu=hu.prototype=new xp;mu.constructor=hu;wp(mu,ti.prototype);mu.isPureReactComponent=!0;var Gf=Array.isArray,Sp=Object.prototype.hasOwnProperty,gu={current:null},kp={key:!0,ref:!0,__self:!0,__source:!0};function Cp(e,t,n){var r,i={},l=null,s=null;if(t!=null)for(r in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(l=""+t.key),t)Sp.call(t,r)&&!kp.hasOwnProperty(r)&&(i[r]=t[r]);var u=arguments.length-2;if(u===1)i.children=n;else if(1>>1,xe=b[de];if(0>>1;dei(Bt,x))Tei(sn,Bt)?(b[de]=sn,b[Te]=x,de=Te):(b[de]=Bt,b[De]=x,de=De);else if(Tei(sn,x))b[de]=sn,b[Te]=x,de=Te;else break e}}return Q}function i(b,Q){var x=b.sortIndex-Q.sortIndex;return x!==0?x:b.id-Q.id}if(typeof performance=="object"&&typeof performance.now=="function"){var l=performance;e.unstable_now=function(){return l.now()}}else{var s=Date,u=s.now();e.unstable_now=function(){return s.now()-u}}var f=[],p=[],v=1,g=null,E=3,N=!1,O=!1,P=!1,j=typeof setTimeout=="function"?setTimeout:null,m=typeof clearTimeout=="function"?clearTimeout:null,h=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function _(b){for(var Q=n(p);Q!==null;){if(Q.callback===null)r(p);else if(Q.startTime<=b)r(p),Q.sortIndex=Q.expirationTime,t(f,Q);else break;Q=n(p)}}function C(b){if(P=!1,_(b),!O)if(n(f)!==null)O=!0,cr(I);else{var Q=n(p);Q!==null&&Rn(C,Q.startTime-b)}}function I(b,Q){O=!1,P&&(P=!1,m(B),B=-1),N=!0;var x=E;try{for(_(Q),g=n(f);g!==null&&(!(g.expirationTime>Q)||b&&!et());){var de=g.callback;if(typeof de=="function"){g.callback=null,E=g.priorityLevel;var xe=de(g.expirationTime<=Q);Q=e.unstable_now(),typeof xe=="function"?g.callback=xe:g===n(f)&&r(f),_(Q)}else r(f);g=n(f)}if(g!==null)var ln=!0;else{var De=n(p);De!==null&&Rn(C,De.startTime-Q),ln=!1}return ln}finally{g=null,E=x,N=!1}}var F=!1,U=null,B=-1,me=5,J=-1;function et(){return!(e.unstable_now()-Jb||125de?(b.sortIndex=x,t(p,b),n(f)===null&&b===n(p)&&(P?(m(B),B=-1):P=!0,Rn(C,x-de))):(b.sortIndex=xe,t(f,b),O||N||(O=!0,cr(I))),b},e.unstable_shouldYield=et,e.unstable_wrapCallback=function(b){var Q=E;return function(){var x=E;E=Q;try{return b.apply(this,arguments)}finally{E=x}}}})(Lp);Op.exports=Lp;var A0=Op.exports;/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var D0=D,at=A0;function L(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ya=Object.prototype.hasOwnProperty,I0=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Zf={},qf={};function R0(e){return ya.call(qf,e)?!0:ya.call(Zf,e)?!1:I0.test(e)?qf[e]=!0:(Zf[e]=!0,!1)}function b0(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function M0(e,t,n,r){if(t===null||typeof t>"u"||b0(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Ye(e,t,n,r,i,l,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=l,this.removeEmptyString=s}var be={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){be[e]=new Ye(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];be[t]=new Ye(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){be[e]=new Ye(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){be[e]=new Ye(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){be[e]=new Ye(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){be[e]=new Ye(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){be[e]=new Ye(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){be[e]=new Ye(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){be[e]=new Ye(e,5,!1,e.toLowerCase(),null,!1,!1)});var yu=/[\-:]([a-z])/g;function _u(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(yu,_u);be[t]=new Ye(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(yu,_u);be[t]=new Ye(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(yu,_u);be[t]=new Ye(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){be[e]=new Ye(e,1,!1,e.toLowerCase(),null,!1,!1)});be.xlinkHref=new Ye("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){be[e]=new Ye(e,1,!1,e.toLowerCase(),null,!0,!0)});function wu(e,t,n,r){var i=be.hasOwnProperty(t)?be[t]:null;(i!==null?i.type!==0:r||!(2u||i[s]!==l[u]){var f=` -`+i[s].replace(" at new "," at ");return e.displayName&&f.includes("")&&(f=f.replace("",e.displayName)),f}while(1<=s&&0<=u);break}}}finally{Hs=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ci(e):""}function z0(e){switch(e.tag){case 5:return Ci(e.type);case 16:return Ci("Lazy");case 13:return Ci("Suspense");case 19:return Ci("SuspenseList");case 0:case 2:case 15:return e=Qs(e.type,!1),e;case 11:return e=Qs(e.type.render,!1),e;case 1:return e=Qs(e.type,!0),e;default:return""}}function xa(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Lr:return"Fragment";case Or:return"Portal";case _a:return"Profiler";case Eu:return"StrictMode";case wa:return"Suspense";case Ea:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Dp:return(e.displayName||"Context")+".Consumer";case Ap:return(e._context.displayName||"Context")+".Provider";case xu:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Su:return t=e.displayName||null,t!==null?t:xa(e.type)||"Memo";case pn:t=e._payload,e=e._init;try{return xa(e(t))}catch{}}return null}function $0(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return xa(t);case 8:return t===Eu?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function On(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Rp(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function F0(e){var t=Rp(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,l=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(s){r=""+s,l.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(s){r=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function zo(e){e._valueTracker||(e._valueTracker=F0(e))}function bp(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Rp(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function ml(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Sa(e,t){var n=t.checked;return _e({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function td(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=On(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Mp(e,t){t=t.checked,t!=null&&wu(e,"checked",t,!1)}function ka(e,t){Mp(e,t);var n=On(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Ca(e,t.type,n):t.hasOwnProperty("defaultValue")&&Ca(e,t.type,On(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function nd(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function Ca(e,t,n){(t!=="number"||ml(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Ni=Array.isArray;function Ur(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=$o.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Fi(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Li={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},U0=["Webkit","ms","Moz","O"];Object.keys(Li).forEach(function(e){U0.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Li[t]=Li[e]})});function Up(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Li.hasOwnProperty(e)&&Li[e]?(""+t).trim():t+"px"}function Bp(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=Up(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var B0=_e({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Pa(e,t){if(t){if(B0[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(L(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(L(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(L(61))}if(t.style!=null&&typeof t.style!="object")throw Error(L(62))}}function Oa(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var La=null;function ku(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ja=null,Br=null,Wr=null;function od(e){if(e=uo(e)){if(typeof ja!="function")throw Error(L(280));var t=e.stateNode;t&&(t=Jl(t),ja(e.stateNode,e.type,t))}}function Wp(e){Br?Wr?Wr.push(e):Wr=[e]:Br=e}function Vp(){if(Br){var e=Br,t=Wr;if(Wr=Br=null,od(e),t)for(e=0;e>>=0,e===0?32:31-(q0(e)/ey|0)|0}var Fo=64,Uo=4194304;function Ti(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function _l(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,l=e.pingedLanes,s=n&268435455;if(s!==0){var u=s&~i;u!==0?r=Ti(u):(l&=s,l!==0&&(r=Ti(l)))}else s=n&~i,s!==0?r=Ti(s):l!==0&&(r=Ti(l));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,l=t&-t,i>=l||i===16&&(l&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function so(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ot(t),e[t]=n}function iy(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Ai),hd=" ",md=!1;function ch(e,t){switch(e){case"keyup":return Ay.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function fh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var jr=!1;function Iy(e,t){switch(e){case"compositionend":return fh(t);case"keypress":return t.which!==32?null:(md=!0,hd);case"textInput":return e=t.data,e===hd&&md?null:e;default:return null}}function Ry(e,t){if(jr)return e==="compositionend"||!Au&&ch(e,t)?(e=ah(),ll=Ou=vn=null,jr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=_d(n)}}function mh(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?mh(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function gh(){for(var e=window,t=ml();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=ml(e.document)}return t}function Du(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Vy(e){var t=gh(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&mh(n.ownerDocument.documentElement,n)){if(r!==null&&Du(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,l=Math.min(r.start,i);r=r.end===void 0?l:Math.min(r.end,i),!e.extend&&l>r&&(i=r,r=l,l=i),i=wd(n,l);var s=wd(n,r);i&&s&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),l>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Ar=null,Ma=null,Ii=null,za=!1;function Ed(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;za||Ar==null||Ar!==ml(r)||(r=Ar,"selectionStart"in r&&Du(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Ii&&Qi(Ii,r)||(Ii=r,r=xl(Ma,"onSelect"),0Rr||(e.current=Va[Rr],Va[Rr]=null,Rr--)}function fe(e,t){Rr++,Va[Rr]=e.current,e.current=t}var Ln={},Fe=An(Ln),Je=An(!1),tr=Ln;function Yr(e,t){var n=e.type.contextTypes;if(!n)return Ln;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},l;for(l in n)i[l]=t[l];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Ze(e){return e=e.childContextTypes,e!=null}function kl(){he(Je),he(Fe)}function Pd(e,t,n){if(Fe.current!==Ln)throw Error(L(168));fe(Fe,t),fe(Je,n)}function Ch(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(L(108,$0(e)||"Unknown",i));return _e({},n,r)}function Cl(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ln,tr=Fe.current,fe(Fe,e),fe(Je,Je.current),!0}function Od(e,t,n){var r=e.stateNode;if(!r)throw Error(L(169));n?(e=Ch(e,t,tr),r.__reactInternalMemoizedMergedChildContext=e,he(Je),he(Fe),fe(Fe,e)):he(Je),fe(Je,n)}var Kt=null,Zl=!1,la=!1;function Nh(e){Kt===null?Kt=[e]:Kt.push(e)}function n1(e){Zl=!0,Nh(e)}function Dn(){if(!la&&Kt!==null){la=!0;var e=0,t=le;try{var n=Kt;for(le=1;e>=s,i-=s,Yt=1<<32-Ot(t)+i|n<B?(me=U,U=null):me=U.sibling;var J=E(m,U,_[B],C);if(J===null){U===null&&(U=me);break}e&&U&&J.alternate===null&&t(m,U),h=l(J,h,B),F===null?I=J:F.sibling=J,F=J,U=me}if(B===_.length)return n(m,U),ge&&Kn(m,B),I;if(U===null){for(;B<_.length;B++)U=g(m,_[B],C),U!==null&&(h=l(U,h,B),F===null?I=U:F.sibling=U,F=U);return ge&&Kn(m,B),I}for(U=r(m,U);B<_.length;B++)me=N(U,m,B,_[B],C),me!==null&&(e&&me.alternate!==null&&U.delete(me.key===null?B:me.key),h=l(me,h,B),F===null?I=me:F.sibling=me,F=me);return e&&U.forEach(function(et){return t(m,et)}),ge&&Kn(m,B),I}function P(m,h,_,C){var I=mi(_);if(typeof I!="function")throw Error(L(150));if(_=I.call(_),_==null)throw Error(L(151));for(var F=I=null,U=h,B=h=0,me=null,J=_.next();U!==null&&!J.done;B++,J=_.next()){U.index>B?(me=U,U=null):me=U.sibling;var et=E(m,U,J.value,C);if(et===null){U===null&&(U=me);break}e&&U&&et.alternate===null&&t(m,U),h=l(et,h,B),F===null?I=et:F.sibling=et,F=et,U=me}if(J.done)return n(m,U),ge&&Kn(m,B),I;if(U===null){for(;!J.done;B++,J=_.next())J=g(m,J.value,C),J!==null&&(h=l(J,h,B),F===null?I=J:F.sibling=J,F=J);return ge&&Kn(m,B),I}for(U=r(m,U);!J.done;B++,J=_.next())J=N(U,m,B,J.value,C),J!==null&&(e&&J.alternate!==null&&U.delete(J.key===null?B:J.key),h=l(J,h,B),F===null?I=J:F.sibling=J,F=J);return e&&U.forEach(function(rn){return t(m,rn)}),ge&&Kn(m,B),I}function j(m,h,_,C){if(typeof _=="object"&&_!==null&&_.type===Lr&&_.key===null&&(_=_.props.children),typeof _=="object"&&_!==null){switch(_.$$typeof){case Mo:e:{for(var I=_.key,F=h;F!==null;){if(F.key===I){if(I=_.type,I===Lr){if(F.tag===7){n(m,F.sibling),h=i(F,_.props.children),h.return=m,m=h;break e}}else if(F.elementType===I||typeof I=="object"&&I!==null&&I.$$typeof===pn&&Ad(I)===F.type){n(m,F.sibling),h=i(F,_.props),h.ref=wi(m,F,_),h.return=m,m=h;break e}n(m,F);break}else t(m,F);F=F.sibling}_.type===Lr?(h=er(_.props.children,m.mode,C,_.key),h.return=m,m=h):(C=hl(_.type,_.key,_.props,null,m.mode,C),C.ref=wi(m,h,_),C.return=m,m=C)}return s(m);case Or:e:{for(F=_.key;h!==null;){if(h.key===F)if(h.tag===4&&h.stateNode.containerInfo===_.containerInfo&&h.stateNode.implementation===_.implementation){n(m,h.sibling),h=i(h,_.children||[]),h.return=m,m=h;break e}else{n(m,h);break}else t(m,h);h=h.sibling}h=ha(_,m.mode,C),h.return=m,m=h}return s(m);case pn:return F=_._init,j(m,h,F(_._payload),C)}if(Ni(_))return O(m,h,_,C);if(mi(_))return P(m,h,_,C);Yo(m,_)}return typeof _=="string"&&_!==""||typeof _=="number"?(_=""+_,h!==null&&h.tag===6?(n(m,h.sibling),h=i(h,_),h.return=m,m=h):(n(m,h),h=pa(_,m.mode,C),h.return=m,m=h),s(m)):n(m,h)}return j}var Gr=Lh(!0),jh=Lh(!1),Pl=An(null),Ol=null,zr=null,Mu=null;function zu(){Mu=zr=Ol=null}function $u(e){var t=Pl.current;he(Pl),e._currentValue=t}function Ka(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Hr(e,t){Ol=e,Mu=zr=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Ge=!0),e.firstContext=null)}function Et(e){var t=e._currentValue;if(Mu!==e)if(e={context:e,memoizedValue:t,next:null},zr===null){if(Ol===null)throw Error(L(308));zr=e,Ol.dependencies={lanes:0,firstContext:e}}else zr=zr.next=e;return t}var Jn=null;function Fu(e){Jn===null?Jn=[e]:Jn.push(e)}function Ah(e,t,n,r){var i=t.interleaved;return i===null?(n.next=n,Fu(t)):(n.next=i.next,i.next=n),t.interleaved=n,qt(e,r)}function qt(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var hn=!1;function Uu(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Dh(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Gt(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function kn(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,te&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,qt(e,n)}return i=r.interleaved,i===null?(t.next=t,Fu(r)):(t.next=i.next,i.next=t),r.interleaved=t,qt(e,n)}function al(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Nu(e,n)}}function Dd(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,l=null;if(n=n.firstBaseUpdate,n!==null){do{var s={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};l===null?i=l=s:l=l.next=s,n=n.next}while(n!==null);l===null?i=l=t:l=l.next=t}else i=l=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:l,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Ll(e,t,n,r){var i=e.updateQueue;hn=!1;var l=i.firstBaseUpdate,s=i.lastBaseUpdate,u=i.shared.pending;if(u!==null){i.shared.pending=null;var f=u,p=f.next;f.next=null,s===null?l=p:s.next=p,s=f;var v=e.alternate;v!==null&&(v=v.updateQueue,u=v.lastBaseUpdate,u!==s&&(u===null?v.firstBaseUpdate=p:u.next=p,v.lastBaseUpdate=f))}if(l!==null){var g=i.baseState;s=0,v=p=f=null,u=l;do{var E=u.lane,N=u.eventTime;if((r&E)===E){v!==null&&(v=v.next={eventTime:N,lane:0,tag:u.tag,payload:u.payload,callback:u.callback,next:null});e:{var O=e,P=u;switch(E=t,N=n,P.tag){case 1:if(O=P.payload,typeof O=="function"){g=O.call(N,g,E);break e}g=O;break e;case 3:O.flags=O.flags&-65537|128;case 0:if(O=P.payload,E=typeof O=="function"?O.call(N,g,E):O,E==null)break e;g=_e({},g,E);break e;case 2:hn=!0}}u.callback!==null&&u.lane!==0&&(e.flags|=64,E=i.effects,E===null?i.effects=[u]:E.push(u))}else N={eventTime:N,lane:E,tag:u.tag,payload:u.payload,callback:u.callback,next:null},v===null?(p=v=N,f=g):v=v.next=N,s|=E;if(u=u.next,u===null){if(u=i.shared.pending,u===null)break;E=u,u=E.next,E.next=null,i.lastBaseUpdate=E,i.shared.pending=null}}while(!0);if(v===null&&(f=g),i.baseState=f,i.firstBaseUpdate=p,i.lastBaseUpdate=v,t=i.shared.interleaved,t!==null){i=t;do s|=i.lane,i=i.next;while(i!==t)}else l===null&&(i.shared.lanes=0);ir|=s,e.lanes=s,e.memoizedState=g}}function Id(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=aa.transition;aa.transition={};try{e(!1),t()}finally{le=n,aa.transition=r}}function Gh(){return xt().memoizedState}function l1(e,t,n){var r=Nn(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Jh(e))Zh(t,n);else if(n=Ah(e,t,n,r),n!==null){var i=Qe();Lt(n,e,r,i),qh(n,t,r)}}function s1(e,t,n){var r=Nn(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Jh(e))Zh(t,i);else{var l=e.alternate;if(e.lanes===0&&(l===null||l.lanes===0)&&(l=t.lastRenderedReducer,l!==null))try{var s=t.lastRenderedState,u=l(s,n);if(i.hasEagerState=!0,i.eagerState=u,jt(u,s)){var f=t.interleaved;f===null?(i.next=i,Fu(t)):(i.next=f.next,f.next=i),t.interleaved=i;return}}catch{}finally{}n=Ah(e,t,i,r),n!==null&&(i=Qe(),Lt(n,e,r,i),qh(n,t,r))}}function Jh(e){var t=e.alternate;return e===ye||t!==null&&t===ye}function Zh(e,t){Ri=Al=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function qh(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Nu(e,n)}}var Dl={readContext:Et,useCallback:Me,useContext:Me,useEffect:Me,useImperativeHandle:Me,useInsertionEffect:Me,useLayoutEffect:Me,useMemo:Me,useReducer:Me,useRef:Me,useState:Me,useDebugValue:Me,useDeferredValue:Me,useTransition:Me,useMutableSource:Me,useSyncExternalStore:Me,useId:Me,unstable_isNewReconciler:!1},a1={readContext:Et,useCallback:function(e,t){return Mt().memoizedState=[e,t===void 0?null:t],e},useContext:Et,useEffect:bd,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,cl(4194308,4,Hh.bind(null,t,e),n)},useLayoutEffect:function(e,t){return cl(4194308,4,e,t)},useInsertionEffect:function(e,t){return cl(4,2,e,t)},useMemo:function(e,t){var n=Mt();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Mt();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=l1.bind(null,ye,e),[r.memoizedState,e]},useRef:function(e){var t=Mt();return e={current:e},t.memoizedState=e},useState:Rd,useDebugValue:Xu,useDeferredValue:function(e){return Mt().memoizedState=e},useTransition:function(){var e=Rd(!1),t=e[0];return e=o1.bind(null,e[1]),Mt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=ye,i=Mt();if(ge){if(n===void 0)throw Error(L(407));n=n()}else{if(n=t(),Ae===null)throw Error(L(349));rr&30||Mh(r,t,n)}i.memoizedState=n;var l={value:n,getSnapshot:t};return i.queue=l,bd($h.bind(null,r,l,e),[e]),r.flags|=2048,eo(9,zh.bind(null,r,l,n,t),void 0,null),n},useId:function(){var e=Mt(),t=Ae.identifierPrefix;if(ge){var n=Xt,r=Yt;n=(r&~(1<<32-Ot(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Zi++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[zt]=t,e[Xi]=r,um(e,t,!1,!1),t.stateNode=e;e:{switch(s=Oa(n,r),n){case"dialog":pe("cancel",e),pe("close",e),i=r;break;case"iframe":case"object":case"embed":pe("load",e),i=r;break;case"video":case"audio":for(i=0;iqr&&(t.flags|=128,r=!0,Ei(l,!1),t.lanes=4194304)}else{if(!r)if(e=jl(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Ei(l,!0),l.tail===null&&l.tailMode==="hidden"&&!s.alternate&&!ge)return ze(t),null}else 2*ke()-l.renderingStartTime>qr&&n!==1073741824&&(t.flags|=128,r=!0,Ei(l,!1),t.lanes=4194304);l.isBackwards?(s.sibling=t.child,t.child=s):(n=l.last,n!==null?n.sibling=s:t.child=s,l.last=s)}return l.tail!==null?(t=l.tail,l.rendering=t,l.tail=t.sibling,l.renderingStartTime=ke(),t.sibling=null,n=ve.current,fe(ve,r?n&1|2:n&1),t):(ze(t),null);case 22:case 23:return tc(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?ot&1073741824&&(ze(t),t.subtreeFlags&6&&(t.flags|=8192)):ze(t),null;case 24:return null;case 25:return null}throw Error(L(156,t.tag))}function g1(e,t){switch(Ru(t),t.tag){case 1:return Ze(t.type)&&kl(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Jr(),he(Je),he(Fe),Vu(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Wu(t),null;case 13:if(he(ve),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(L(340));Xr()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return he(ve),null;case 4:return Jr(),null;case 10:return $u(t.type._context),null;case 22:case 23:return tc(),null;case 24:return null;default:return null}}var Go=!1,$e=!1,v1=typeof WeakSet=="function"?WeakSet:Set,z=null;function $r(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Ee(e,t,r)}else n.current=null}function nu(e,t,n){try{n()}catch(r){Ee(e,t,r)}}var Kd=!1;function y1(e,t){if($a=wl,e=gh(),Du(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,l=r.focusNode;r=r.focusOffset;try{n.nodeType,l.nodeType}catch{n=null;break e}var s=0,u=-1,f=-1,p=0,v=0,g=e,E=null;t:for(;;){for(var N;g!==n||i!==0&&g.nodeType!==3||(u=s+i),g!==l||r!==0&&g.nodeType!==3||(f=s+r),g.nodeType===3&&(s+=g.nodeValue.length),(N=g.firstChild)!==null;)E=g,g=N;for(;;){if(g===e)break t;if(E===n&&++p===i&&(u=s),E===l&&++v===r&&(f=s),(N=g.nextSibling)!==null)break;g=E,E=g.parentNode}g=N}n=u===-1||f===-1?null:{start:u,end:f}}else n=null}n=n||{start:0,end:0}}else n=null;for(Fa={focusedElem:e,selectionRange:n},wl=!1,z=t;z!==null;)if(t=z,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,z=e;else for(;z!==null;){t=z;try{var O=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(O!==null){var P=O.memoizedProps,j=O.memoizedState,m=t.stateNode,h=m.getSnapshotBeforeUpdate(t.elementType===t.type?P:Nt(t.type,P),j);m.__reactInternalSnapshotBeforeUpdate=h}break;case 3:var _=t.stateNode.containerInfo;_.nodeType===1?_.textContent="":_.nodeType===9&&_.documentElement&&_.removeChild(_.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(L(163))}}catch(C){Ee(t,t.return,C)}if(e=t.sibling,e!==null){e.return=t.return,z=e;break}z=t.return}return O=Kd,Kd=!1,O}function bi(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var l=i.destroy;i.destroy=void 0,l!==void 0&&nu(t,n,l)}i=i.next}while(i!==r)}}function ts(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function ru(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function dm(e){var t=e.alternate;t!==null&&(e.alternate=null,dm(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[zt],delete t[Xi],delete t[Wa],delete t[e1],delete t[t1])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function pm(e){return e.tag===5||e.tag===3||e.tag===4}function Yd(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||pm(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function iu(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Sl));else if(r!==4&&(e=e.child,e!==null))for(iu(e,t,n),e=e.sibling;e!==null;)iu(e,t,n),e=e.sibling}function ou(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(ou(e,t,n),e=e.sibling;e!==null;)ou(e,t,n),e=e.sibling}var Ie=null,Tt=!1;function dn(e,t,n){for(n=n.child;n!==null;)hm(e,t,n),n=n.sibling}function hm(e,t,n){if(Ft&&typeof Ft.onCommitFiberUnmount=="function")try{Ft.onCommitFiberUnmount(Kl,n)}catch{}switch(n.tag){case 5:$e||$r(n,t);case 6:var r=Ie,i=Tt;Ie=null,dn(e,t,n),Ie=r,Tt=i,Ie!==null&&(Tt?(e=Ie,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Ie.removeChild(n.stateNode));break;case 18:Ie!==null&&(Tt?(e=Ie,n=n.stateNode,e.nodeType===8?oa(e.parentNode,n):e.nodeType===1&&oa(e,n),Vi(e)):oa(Ie,n.stateNode));break;case 4:r=Ie,i=Tt,Ie=n.stateNode.containerInfo,Tt=!0,dn(e,t,n),Ie=r,Tt=i;break;case 0:case 11:case 14:case 15:if(!$e&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var l=i,s=l.destroy;l=l.tag,s!==void 0&&(l&2||l&4)&&nu(n,t,s),i=i.next}while(i!==r)}dn(e,t,n);break;case 1:if(!$e&&($r(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(u){Ee(n,t,u)}dn(e,t,n);break;case 21:dn(e,t,n);break;case 22:n.mode&1?($e=(r=$e)||n.memoizedState!==null,dn(e,t,n),$e=r):dn(e,t,n);break;default:dn(e,t,n)}}function Xd(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new v1),t.forEach(function(r){var i=T1.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function Ct(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=s),r&=~l}if(r=i,r=ke()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*w1(r/1960))-r,10e?16:e,yn===null)var r=!1;else{if(e=yn,yn=null,bl=0,te&6)throw Error(L(331));var i=te;for(te|=4,z=e.current;z!==null;){var l=z,s=l.child;if(z.flags&16){var u=l.deletions;if(u!==null){for(var f=0;fke()-qu?qn(e,0):Zu|=n),qe(e,t)}function xm(e,t){t===0&&(e.mode&1?(t=Uo,Uo<<=1,!(Uo&130023424)&&(Uo=4194304)):t=1);var n=Qe();e=qt(e,t),e!==null&&(so(e,t,n),qe(e,n))}function N1(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),xm(e,n)}function T1(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(L(314))}r!==null&&r.delete(t),xm(e,n)}var Sm;Sm=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Je.current)Ge=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Ge=!1,h1(e,t,n);Ge=!!(e.flags&131072)}else Ge=!1,ge&&t.flags&1048576&&Th(t,Tl,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;fl(e,t),e=t.pendingProps;var i=Yr(t,Fe.current);Hr(t,n),i=Qu(null,t,r,e,i,n);var l=Ku();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ze(r)?(l=!0,Cl(t)):l=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Uu(t),i.updater=es,t.stateNode=i,i._reactInternals=t,Xa(t,r,e,n),t=Za(null,t,r,!0,l,n)):(t.tag=0,ge&&l&&Iu(t),He(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(fl(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=O1(r),e=Nt(r,e),i){case 0:t=Ja(null,t,r,e,n);break e;case 1:t=Vd(null,t,r,e,n);break e;case 11:t=Bd(null,t,r,e,n);break e;case 14:t=Wd(null,t,r,Nt(r.type,e),n);break e}throw Error(L(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Nt(r,i),Ja(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Nt(r,i),Vd(e,t,r,i,n);case 3:e:{if(lm(t),e===null)throw Error(L(387));r=t.pendingProps,l=t.memoizedState,i=l.element,Dh(e,t),Ll(t,r,null,n);var s=t.memoizedState;if(r=s.element,l.isDehydrated)if(l={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=l,t.memoizedState=l,t.flags&256){i=Zr(Error(L(423)),t),t=Hd(e,t,r,n,i);break e}else if(r!==i){i=Zr(Error(L(424)),t),t=Hd(e,t,r,n,i);break e}else for(lt=Sn(t.stateNode.containerInfo.firstChild),st=t,ge=!0,Pt=null,n=jh(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Xr(),r===i){t=en(e,t,n);break e}He(e,t,r,n)}t=t.child}return t;case 5:return Ih(t),e===null&&Qa(t),r=t.type,i=t.pendingProps,l=e!==null?e.memoizedProps:null,s=i.children,Ua(r,i)?s=null:l!==null&&Ua(r,l)&&(t.flags|=32),om(e,t),He(e,t,s,n),t.child;case 6:return e===null&&Qa(t),null;case 13:return sm(e,t,n);case 4:return Bu(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Gr(t,null,r,n):He(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Nt(r,i),Bd(e,t,r,i,n);case 7:return He(e,t,t.pendingProps,n),t.child;case 8:return He(e,t,t.pendingProps.children,n),t.child;case 12:return He(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,l=t.memoizedProps,s=i.value,fe(Pl,r._currentValue),r._currentValue=s,l!==null)if(jt(l.value,s)){if(l.children===i.children&&!Je.current){t=en(e,t,n);break e}}else for(l=t.child,l!==null&&(l.return=t);l!==null;){var u=l.dependencies;if(u!==null){s=l.child;for(var f=u.firstContext;f!==null;){if(f.context===r){if(l.tag===1){f=Gt(-1,n&-n),f.tag=2;var p=l.updateQueue;if(p!==null){p=p.shared;var v=p.pending;v===null?f.next=f:(f.next=v.next,v.next=f),p.pending=f}}l.lanes|=n,f=l.alternate,f!==null&&(f.lanes|=n),Ka(l.return,n,t),u.lanes|=n;break}f=f.next}}else if(l.tag===10)s=l.type===t.type?null:l.child;else if(l.tag===18){if(s=l.return,s===null)throw Error(L(341));s.lanes|=n,u=s.alternate,u!==null&&(u.lanes|=n),Ka(s,n,t),s=l.sibling}else s=l.child;if(s!==null)s.return=l;else for(s=l;s!==null;){if(s===t){s=null;break}if(l=s.sibling,l!==null){l.return=s.return,s=l;break}s=s.return}l=s}He(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,Hr(t,n),i=Et(i),r=r(i),t.flags|=1,He(e,t,r,n),t.child;case 14:return r=t.type,i=Nt(r,t.pendingProps),i=Nt(r.type,i),Wd(e,t,r,i,n);case 15:return rm(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Nt(r,i),fl(e,t),t.tag=1,Ze(r)?(e=!0,Cl(t)):e=!1,Hr(t,n),em(t,r,i),Xa(t,r,i,n),Za(null,t,r,!0,e,n);case 19:return am(e,t,n);case 22:return im(e,t,n)}throw Error(L(156,t.tag))};function km(e,t){return Jp(e,t)}function P1(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function _t(e,t,n,r){return new P1(e,t,n,r)}function rc(e){return e=e.prototype,!(!e||!e.isReactComponent)}function O1(e){if(typeof e=="function")return rc(e)?1:0;if(e!=null){if(e=e.$$typeof,e===xu)return 11;if(e===Su)return 14}return 2}function Tn(e,t){var n=e.alternate;return n===null?(n=_t(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function hl(e,t,n,r,i,l){var s=2;if(r=e,typeof e=="function")rc(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case Lr:return er(n.children,i,l,t);case Eu:s=8,i|=8;break;case _a:return e=_t(12,n,t,i|2),e.elementType=_a,e.lanes=l,e;case wa:return e=_t(13,n,t,i),e.elementType=wa,e.lanes=l,e;case Ea:return e=_t(19,n,t,i),e.elementType=Ea,e.lanes=l,e;case Ip:return rs(n,i,l,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Ap:s=10;break e;case Dp:s=9;break e;case xu:s=11;break e;case Su:s=14;break e;case pn:s=16,r=null;break e}throw Error(L(130,e==null?e:typeof e,""))}return t=_t(s,n,t,i),t.elementType=e,t.type=r,t.lanes=l,t}function er(e,t,n,r){return e=_t(7,e,r,t),e.lanes=n,e}function rs(e,t,n,r){return e=_t(22,e,r,t),e.elementType=Ip,e.lanes=n,e.stateNode={isHidden:!1},e}function pa(e,t,n){return e=_t(6,e,null,t),e.lanes=n,e}function ha(e,t,n){return t=_t(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function L1(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Ys(0),this.expirationTimes=Ys(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ys(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function ic(e,t,n,r,i,l,s,u,f){return e=new L1(e,t,n,u,f),t===1?(t=1,l===!0&&(t|=8)):t=0,l=_t(3,null,null,t),e.current=l,l.stateNode=e,l.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Uu(l),e}function j1(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Pm)}catch(e){console.error(e)}}Pm(),Pp.exports=ut;var Om=Pp.exports;const qo=gp(Om);var rp=Om;va.createRoot=rp.createRoot,va.hydrateRoot=rp.hydrateRoot;var b1={exports:{}};/*! - * Bootstrap v5.3.3 (https://getbootstrap.com/) - * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */(function(e,t){(function(n,r){e.exports=r()})(u0,function(){const n=new Map,r={set(c,o,a){n.has(c)||n.set(c,new Map);const d=n.get(c);d.has(o)||d.size===0?d.set(o,a):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(d.keys())[0]}.`)},get:(c,o)=>n.has(c)&&n.get(c).get(o)||null,remove(c,o){if(!n.has(c))return;const a=n.get(c);a.delete(o),a.size===0&&n.delete(c)}},i="transitionend",l=c=>(c&&window.CSS&&window.CSS.escape&&(c=c.replace(/#([^\s"#']+)/g,(o,a)=>`#${CSS.escape(a)}`)),c),s=c=>{c.dispatchEvent(new Event(i))},u=c=>!(!c||typeof c!="object")&&(c.jquery!==void 0&&(c=c[0]),c.nodeType!==void 0),f=c=>u(c)?c.jquery?c[0]:c:typeof c=="string"&&c.length>0?document.querySelector(l(c)):null,p=c=>{if(!u(c)||c.getClientRects().length===0)return!1;const o=getComputedStyle(c).getPropertyValue("visibility")==="visible",a=c.closest("details:not([open])");if(!a)return o;if(a!==c){const d=c.closest("summary");if(d&&d.parentNode!==a||d===null)return!1}return o},v=c=>!c||c.nodeType!==Node.ELEMENT_NODE||!!c.classList.contains("disabled")||(c.disabled!==void 0?c.disabled:c.hasAttribute("disabled")&&c.getAttribute("disabled")!=="false"),g=c=>{if(!document.documentElement.attachShadow)return null;if(typeof c.getRootNode=="function"){const o=c.getRootNode();return o instanceof ShadowRoot?o:null}return c instanceof ShadowRoot?c:c.parentNode?g(c.parentNode):null},E=()=>{},N=c=>{c.offsetHeight},O=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,P=[],j=()=>document.documentElement.dir==="rtl",m=c=>{var o;o=()=>{const a=O();if(a){const d=c.NAME,y=a.fn[d];a.fn[d]=c.jQueryInterface,a.fn[d].Constructor=c,a.fn[d].noConflict=()=>(a.fn[d]=y,c.jQueryInterface)}},document.readyState==="loading"?(P.length||document.addEventListener("DOMContentLoaded",()=>{for(const a of P)a()}),P.push(o)):o()},h=(c,o=[],a=c)=>typeof c=="function"?c(...o):a,_=(c,o,a=!0)=>{if(!a)return void h(c);const d=(S=>{if(!S)return 0;let{transitionDuration:k,transitionDelay:A}=window.getComputedStyle(S);const M=Number.parseFloat(k),$=Number.parseFloat(A);return M||$?(k=k.split(",")[0],A=A.split(",")[0],1e3*(Number.parseFloat(k)+Number.parseFloat(A))):0})(o)+5;let y=!1;const w=({target:S})=>{S===o&&(y=!0,o.removeEventListener(i,w),h(c))};o.addEventListener(i,w),setTimeout(()=>{y||s(o)},d)},C=(c,o,a,d)=>{const y=c.length;let w=c.indexOf(o);return w===-1?!a&&d?c[y-1]:c[0]:(w+=a?1:-1,d&&(w=(w+y)%y),c[Math.max(0,Math.min(w,y-1))])},I=/[^.]*(?=\..*)\.|.*/,F=/\..*/,U=/::\d+$/,B={};let me=1;const J={mouseenter:"mouseover",mouseleave:"mouseout"},et=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function rn(c,o){return o&&`${o}::${me++}`||c.uidEvent||me++}function on(c){const o=rn(c);return c.uidEvent=o,B[o]=B[o]||{},B[o]}function ii(c,o,a=null){return Object.values(c).find(d=>d.callable===o&&d.delegationSelector===a)}function ho(c,o,a){const d=typeof o=="string",y=d?a:o||a;let w=Q(c);return et.has(w)||(w=c),[d,y,w]}function cr(c,o,a,d,y){if(typeof o!="string"||!c)return;let[w,S,k]=ho(o,a,d);o in J&&(S=(K=>function(H){if(!H.relatedTarget||H.relatedTarget!==H.delegateTarget&&!H.delegateTarget.contains(H.relatedTarget))return K.call(this,H)})(S));const A=on(c),M=A[k]||(A[k]={}),$=ii(M,S,w?a:null);if($)return void($.oneOff=$.oneOff&&y);const R=rn(S,o.replace(I,"")),X=w?function(V,K,H){return function Y(se){const ce=V.querySelectorAll(K);for(let{target:Z}=se;Z&&Z!==this;Z=Z.parentNode)for(const ne of ce)if(ne===Z)return de(se,{delegateTarget:Z}),Y.oneOff&&x.off(V,se.type,K,H),H.apply(Z,[se])}}(c,a,S):function(V,K){return function H(Y){return de(Y,{delegateTarget:V}),H.oneOff&&x.off(V,Y.type,K),K.apply(V,[Y])}}(c,S);X.delegationSelector=w?a:null,X.callable=S,X.oneOff=y,X.uidEvent=R,M[R]=X,c.addEventListener(k,X,w)}function Rn(c,o,a,d,y){const w=ii(o[a],d,y);w&&(c.removeEventListener(a,w,!!y),delete o[a][w.uidEvent])}function b(c,o,a,d){const y=o[a]||{};for(const[w,S]of Object.entries(y))w.includes(d)&&Rn(c,o,a,S.callable,S.delegationSelector)}function Q(c){return c=c.replace(F,""),J[c]||c}const x={on(c,o,a,d){cr(c,o,a,d,!1)},one(c,o,a,d){cr(c,o,a,d,!0)},off(c,o,a,d){if(typeof o!="string"||!c)return;const[y,w,S]=ho(o,a,d),k=S!==o,A=on(c),M=A[S]||{},$=o.startsWith(".");if(w===void 0){if($)for(const R of Object.keys(A))b(c,A,R,o.slice(1));for(const[R,X]of Object.entries(M)){const V=R.replace(U,"");k&&!o.includes(V)||Rn(c,A,S,X.callable,X.delegationSelector)}}else{if(!Object.keys(M).length)return;Rn(c,A,S,w,y?a:null)}},trigger(c,o,a){if(typeof o!="string"||!c)return null;const d=O();let y=null,w=!0,S=!0,k=!1;o!==Q(o)&&d&&(y=d.Event(o,a),d(c).trigger(y),w=!y.isPropagationStopped(),S=!y.isImmediatePropagationStopped(),k=y.isDefaultPrevented());const A=de(new Event(o,{bubbles:w,cancelable:!0}),a);return k&&A.preventDefault(),S&&c.dispatchEvent(A),A.defaultPrevented&&y&&y.preventDefault(),A}};function de(c,o={}){for(const[a,d]of Object.entries(o))try{c[a]=d}catch{Object.defineProperty(c,a,{configurable:!0,get:()=>d})}return c}function xe(c){if(c==="true")return!0;if(c==="false")return!1;if(c===Number(c).toString())return Number(c);if(c===""||c==="null")return null;if(typeof c!="string")return c;try{return JSON.parse(decodeURIComponent(c))}catch{return c}}function ln(c){return c.replace(/[A-Z]/g,o=>`-${o.toLowerCase()}`)}const De={setDataAttribute(c,o,a){c.setAttribute(`data-bs-${ln(o)}`,a)},removeDataAttribute(c,o){c.removeAttribute(`data-bs-${ln(o)}`)},getDataAttributes(c){if(!c)return{};const o={},a=Object.keys(c.dataset).filter(d=>d.startsWith("bs")&&!d.startsWith("bsConfig"));for(const d of a){let y=d.replace(/^bs/,"");y=y.charAt(0).toLowerCase()+y.slice(1,y.length),o[y]=xe(c.dataset[d])}return o},getDataAttribute:(c,o)=>xe(c.getAttribute(`data-bs-${ln(o)}`))};class Bt{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(o){return o=this._mergeConfigObj(o),o=this._configAfterMerge(o),this._typeCheckConfig(o),o}_configAfterMerge(o){return o}_mergeConfigObj(o,a){const d=u(a)?De.getDataAttribute(a,"config"):{};return{...this.constructor.Default,...typeof d=="object"?d:{},...u(a)?De.getDataAttributes(a):{},...typeof o=="object"?o:{}}}_typeCheckConfig(o,a=this.constructor.DefaultType){for(const[y,w]of Object.entries(a)){const S=o[y],k=u(S)?"element":(d=S)==null?`${d}`:Object.prototype.toString.call(d).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(w).test(k))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${y}" provided type "${k}" but expected type "${w}".`)}var d}}class Te extends Bt{constructor(o,a){super(),(o=f(o))&&(this._element=o,this._config=this._getConfig(a),r.set(this._element,this.constructor.DATA_KEY,this))}dispose(){r.remove(this._element,this.constructor.DATA_KEY),x.off(this._element,this.constructor.EVENT_KEY);for(const o of Object.getOwnPropertyNames(this))this[o]=null}_queueCallback(o,a,d=!0){_(o,a,d)}_getConfig(o){return o=this._mergeConfigObj(o,this._element),o=this._configAfterMerge(o),this._typeCheckConfig(o),o}static getInstance(o){return r.get(f(o),this.DATA_KEY)}static getOrCreateInstance(o,a={}){return this.getInstance(o)||new this(o,typeof a=="object"?a:null)}static get VERSION(){return"5.3.3"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(o){return`${o}${this.EVENT_KEY}`}}const sn=c=>{let o=c.getAttribute("data-bs-target");if(!o||o==="#"){let a=c.getAttribute("href");if(!a||!a.includes("#")&&!a.startsWith("."))return null;a.includes("#")&&!a.startsWith("#")&&(a=`#${a.split("#")[1]}`),o=a&&a!=="#"?a.trim():null}return o?o.split(",").map(a=>l(a)).join(","):null},W={find:(c,o=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(o,c)),findOne:(c,o=document.documentElement)=>Element.prototype.querySelector.call(o,c),children:(c,o)=>[].concat(...c.children).filter(a=>a.matches(o)),parents(c,o){const a=[];let d=c.parentNode.closest(o);for(;d;)a.push(d),d=d.parentNode.closest(o);return a},prev(c,o){let a=c.previousElementSibling;for(;a;){if(a.matches(o))return[a];a=a.previousElementSibling}return[]},next(c,o){let a=c.nextElementSibling;for(;a;){if(a.matches(o))return[a];a=a.nextElementSibling}return[]},focusableChildren(c){const o=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(a=>`${a}:not([tabindex^="-"])`).join(",");return this.find(o,c).filter(a=>!v(a)&&p(a))},getSelectorFromElement(c){const o=sn(c);return o&&W.findOne(o)?o:null},getElementFromSelector(c){const o=sn(c);return o?W.findOne(o):null},getMultipleElementsFromSelector(c){const o=sn(c);return o?W.find(o):[]}},mo=(c,o="hide")=>{const a=`click.dismiss${c.EVENT_KEY}`,d=c.NAME;x.on(document,a,`[data-bs-dismiss="${d}"]`,function(y){if(["A","AREA"].includes(this.tagName)&&y.preventDefault(),v(this))return;const w=W.getElementFromSelector(this)||this.closest(`.${d}`);c.getOrCreateInstance(w)[o]()})},gc=".bs.alert",Km=`close${gc}`,Ym=`closed${gc}`;class oi extends Te{static get NAME(){return"alert"}close(){if(x.trigger(this._element,Km).defaultPrevented)return;this._element.classList.remove("show");const o=this._element.classList.contains("fade");this._queueCallback(()=>this._destroyElement(),this._element,o)}_destroyElement(){this._element.remove(),x.trigger(this._element,Ym),this.dispose()}static jQueryInterface(o){return this.each(function(){const a=oi.getOrCreateInstance(this);if(typeof o=="string"){if(a[o]===void 0||o.startsWith("_")||o==="constructor")throw new TypeError(`No method named "${o}"`);a[o](this)}})}}mo(oi,"close"),m(oi);const vc='[data-bs-toggle="button"]';class li extends Te{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(o){return this.each(function(){const a=li.getOrCreateInstance(this);o==="toggle"&&a[o]()})}}x.on(document,"click.bs.button.data-api",vc,c=>{c.preventDefault();const o=c.target.closest(vc);li.getOrCreateInstance(o).toggle()}),m(li);const fr=".bs.swipe",Xm=`touchstart${fr}`,Gm=`touchmove${fr}`,Jm=`touchend${fr}`,Zm=`pointerdown${fr}`,qm=`pointerup${fr}`,eg={endCallback:null,leftCallback:null,rightCallback:null},tg={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class go extends Bt{constructor(o,a){super(),this._element=o,o&&go.isSupported()&&(this._config=this._getConfig(a),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return eg}static get DefaultType(){return tg}static get NAME(){return"swipe"}dispose(){x.off(this._element,fr)}_start(o){this._supportPointerEvents?this._eventIsPointerPenTouch(o)&&(this._deltaX=o.clientX):this._deltaX=o.touches[0].clientX}_end(o){this._eventIsPointerPenTouch(o)&&(this._deltaX=o.clientX-this._deltaX),this._handleSwipe(),h(this._config.endCallback)}_move(o){this._deltaX=o.touches&&o.touches.length>1?0:o.touches[0].clientX-this._deltaX}_handleSwipe(){const o=Math.abs(this._deltaX);if(o<=40)return;const a=o/this._deltaX;this._deltaX=0,a&&h(a>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(x.on(this._element,Zm,o=>this._start(o)),x.on(this._element,qm,o=>this._end(o)),this._element.classList.add("pointer-event")):(x.on(this._element,Xm,o=>this._start(o)),x.on(this._element,Gm,o=>this._move(o)),x.on(this._element,Jm,o=>this._end(o)))}_eventIsPointerPenTouch(o){return this._supportPointerEvents&&(o.pointerType==="pen"||o.pointerType==="touch")}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const an=".bs.carousel",yc=".data-api",si="next",dr="prev",pr="left",vo="right",ng=`slide${an}`,cs=`slid${an}`,rg=`keydown${an}`,ig=`mouseenter${an}`,og=`mouseleave${an}`,lg=`dragstart${an}`,sg=`load${an}${yc}`,ag=`click${an}${yc}`,_c="carousel",yo="active",wc=".active",Ec=".carousel-item",ug=wc+Ec,cg={ArrowLeft:vo,ArrowRight:pr},fg={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},dg={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class hr extends Te{constructor(o,a){super(o,a),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=W.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===_c&&this.cycle()}static get Default(){return fg}static get DefaultType(){return dg}static get NAME(){return"carousel"}next(){this._slide(si)}nextWhenVisible(){!document.hidden&&p(this._element)&&this.next()}prev(){this._slide(dr)}pause(){this._isSliding&&s(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?x.one(this._element,cs,()=>this.cycle()):this.cycle())}to(o){const a=this._getItems();if(o>a.length-1||o<0)return;if(this._isSliding)return void x.one(this._element,cs,()=>this.to(o));const d=this._getItemIndex(this._getActive());if(d===o)return;const y=o>d?si:dr;this._slide(y,a[o])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(o){return o.defaultInterval=o.interval,o}_addEventListeners(){this._config.keyboard&&x.on(this._element,rg,o=>this._keydown(o)),this._config.pause==="hover"&&(x.on(this._element,ig,()=>this.pause()),x.on(this._element,og,()=>this._maybeEnableCycle())),this._config.touch&&go.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const a of W.find(".carousel-item img",this._element))x.on(a,lg,d=>d.preventDefault());const o={leftCallback:()=>this._slide(this._directionToOrder(pr)),rightCallback:()=>this._slide(this._directionToOrder(vo)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),500+this._config.interval))}};this._swipeHelper=new go(this._element,o)}_keydown(o){if(/input|textarea/i.test(o.target.tagName))return;const a=cg[o.key];a&&(o.preventDefault(),this._slide(this._directionToOrder(a)))}_getItemIndex(o){return this._getItems().indexOf(o)}_setActiveIndicatorElement(o){if(!this._indicatorsElement)return;const a=W.findOne(wc,this._indicatorsElement);a.classList.remove(yo),a.removeAttribute("aria-current");const d=W.findOne(`[data-bs-slide-to="${o}"]`,this._indicatorsElement);d&&(d.classList.add(yo),d.setAttribute("aria-current","true"))}_updateInterval(){const o=this._activeElement||this._getActive();if(!o)return;const a=Number.parseInt(o.getAttribute("data-bs-interval"),10);this._config.interval=a||this._config.defaultInterval}_slide(o,a=null){if(this._isSliding)return;const d=this._getActive(),y=o===si,w=a||C(this._getItems(),d,y,this._config.wrap);if(w===d)return;const S=this._getItemIndex(w),k=R=>x.trigger(this._element,R,{relatedTarget:w,direction:this._orderToDirection(o),from:this._getItemIndex(d),to:S});if(k(ng).defaultPrevented||!d||!w)return;const A=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(S),this._activeElement=w;const M=y?"carousel-item-start":"carousel-item-end",$=y?"carousel-item-next":"carousel-item-prev";w.classList.add($),N(w),d.classList.add(M),w.classList.add(M),this._queueCallback(()=>{w.classList.remove(M,$),w.classList.add(yo),d.classList.remove(yo,$,M),this._isSliding=!1,k(cs)},d,this._isAnimated()),A&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return W.findOne(ug,this._element)}_getItems(){return W.find(Ec,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(o){return j()?o===pr?dr:si:o===pr?si:dr}_orderToDirection(o){return j()?o===dr?pr:vo:o===dr?vo:pr}static jQueryInterface(o){return this.each(function(){const a=hr.getOrCreateInstance(this,o);if(typeof o!="number"){if(typeof o=="string"){if(a[o]===void 0||o.startsWith("_")||o==="constructor")throw new TypeError(`No method named "${o}"`);a[o]()}}else a.to(o)})}}x.on(document,ag,"[data-bs-slide], [data-bs-slide-to]",function(c){const o=W.getElementFromSelector(this);if(!o||!o.classList.contains(_c))return;c.preventDefault();const a=hr.getOrCreateInstance(o),d=this.getAttribute("data-bs-slide-to");return d?(a.to(d),void a._maybeEnableCycle()):De.getDataAttribute(this,"slide")==="next"?(a.next(),void a._maybeEnableCycle()):(a.prev(),void a._maybeEnableCycle())}),x.on(window,sg,()=>{const c=W.find('[data-bs-ride="carousel"]');for(const o of c)hr.getOrCreateInstance(o)}),m(hr);const ai=".bs.collapse",pg=`show${ai}`,hg=`shown${ai}`,mg=`hide${ai}`,gg=`hidden${ai}`,vg=`click${ai}.data-api`,fs="show",mr="collapse",_o="collapsing",yg=`:scope .${mr} .${mr}`,ds='[data-bs-toggle="collapse"]',_g={parent:null,toggle:!0},wg={parent:"(null|element)",toggle:"boolean"};class gr extends Te{constructor(o,a){super(o,a),this._isTransitioning=!1,this._triggerArray=[];const d=W.find(ds);for(const y of d){const w=W.getSelectorFromElement(y),S=W.find(w).filter(k=>k===this._element);w!==null&&S.length&&this._triggerArray.push(y)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return _g}static get DefaultType(){return wg}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let o=[];if(this._config.parent&&(o=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter(y=>y!==this._element).map(y=>gr.getOrCreateInstance(y,{toggle:!1}))),o.length&&o[0]._isTransitioning||x.trigger(this._element,pg).defaultPrevented)return;for(const y of o)y.hide();const a=this._getDimension();this._element.classList.remove(mr),this._element.classList.add(_o),this._element.style[a]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const d=`scroll${a[0].toUpperCase()+a.slice(1)}`;this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove(_o),this._element.classList.add(mr,fs),this._element.style[a]="",x.trigger(this._element,hg)},this._element,!0),this._element.style[a]=`${this._element[d]}px`}hide(){if(this._isTransitioning||!this._isShown()||x.trigger(this._element,mg).defaultPrevented)return;const o=this._getDimension();this._element.style[o]=`${this._element.getBoundingClientRect()[o]}px`,N(this._element),this._element.classList.add(_o),this._element.classList.remove(mr,fs);for(const a of this._triggerArray){const d=W.getElementFromSelector(a);d&&!this._isShown(d)&&this._addAriaAndCollapsedClass([a],!1)}this._isTransitioning=!0,this._element.style[o]="",this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove(_o),this._element.classList.add(mr),x.trigger(this._element,gg)},this._element,!0)}_isShown(o=this._element){return o.classList.contains(fs)}_configAfterMerge(o){return o.toggle=!!o.toggle,o.parent=f(o.parent),o}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const o=this._getFirstLevelChildren(ds);for(const a of o){const d=W.getElementFromSelector(a);d&&this._addAriaAndCollapsedClass([a],this._isShown(d))}}_getFirstLevelChildren(o){const a=W.find(yg,this._config.parent);return W.find(o,this._config.parent).filter(d=>!a.includes(d))}_addAriaAndCollapsedClass(o,a){if(o.length)for(const d of o)d.classList.toggle("collapsed",!a),d.setAttribute("aria-expanded",a)}static jQueryInterface(o){const a={};return typeof o=="string"&&/show|hide/.test(o)&&(a.toggle=!1),this.each(function(){const d=gr.getOrCreateInstance(this,a);if(typeof o=="string"){if(d[o]===void 0)throw new TypeError(`No method named "${o}"`);d[o]()}})}}x.on(document,vg,ds,function(c){(c.target.tagName==="A"||c.delegateTarget&&c.delegateTarget.tagName==="A")&&c.preventDefault();for(const o of W.getMultipleElementsFromSelector(this))gr.getOrCreateInstance(o,{toggle:!1}).toggle()}),m(gr);var Ue="top",tt="bottom",nt="right",Be="left",wo="auto",vr=[Ue,tt,nt,Be],bn="start",yr="end",xc="clippingParents",ps="viewport",_r="popper",Sc="reference",hs=vr.reduce(function(c,o){return c.concat([o+"-"+bn,o+"-"+yr])},[]),ms=[].concat(vr,[wo]).reduce(function(c,o){return c.concat([o,o+"-"+bn,o+"-"+yr])},[]),kc="beforeRead",Cc="read",Nc="afterRead",Tc="beforeMain",Pc="main",Oc="afterMain",Lc="beforeWrite",jc="write",Ac="afterWrite",Dc=[kc,Cc,Nc,Tc,Pc,Oc,Lc,jc,Ac];function At(c){return c?(c.nodeName||"").toLowerCase():null}function rt(c){if(c==null)return window;if(c.toString()!=="[object Window]"){var o=c.ownerDocument;return o&&o.defaultView||window}return c}function Mn(c){return c instanceof rt(c).Element||c instanceof Element}function ft(c){return c instanceof rt(c).HTMLElement||c instanceof HTMLElement}function gs(c){return typeof ShadowRoot<"u"&&(c instanceof rt(c).ShadowRoot||c instanceof ShadowRoot)}const vs={name:"applyStyles",enabled:!0,phase:"write",fn:function(c){var o=c.state;Object.keys(o.elements).forEach(function(a){var d=o.styles[a]||{},y=o.attributes[a]||{},w=o.elements[a];ft(w)&&At(w)&&(Object.assign(w.style,d),Object.keys(y).forEach(function(S){var k=y[S];k===!1?w.removeAttribute(S):w.setAttribute(S,k===!0?"":k)}))})},effect:function(c){var o=c.state,a={popper:{position:o.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(o.elements.popper.style,a.popper),o.styles=a,o.elements.arrow&&Object.assign(o.elements.arrow.style,a.arrow),function(){Object.keys(o.elements).forEach(function(d){var y=o.elements[d],w=o.attributes[d]||{},S=Object.keys(o.styles.hasOwnProperty(d)?o.styles[d]:a[d]).reduce(function(k,A){return k[A]="",k},{});ft(y)&&At(y)&&(Object.assign(y.style,S),Object.keys(w).forEach(function(k){y.removeAttribute(k)}))})}},requires:["computeStyles"]};function Dt(c){return c.split("-")[0]}var zn=Math.max,Eo=Math.min,wr=Math.round;function ys(){var c=navigator.userAgentData;return c!=null&&c.brands&&Array.isArray(c.brands)?c.brands.map(function(o){return o.brand+"/"+o.version}).join(" "):navigator.userAgent}function Ic(){return!/^((?!chrome|android).)*safari/i.test(ys())}function Er(c,o,a){o===void 0&&(o=!1),a===void 0&&(a=!1);var d=c.getBoundingClientRect(),y=1,w=1;o&&ft(c)&&(y=c.offsetWidth>0&&wr(d.width)/c.offsetWidth||1,w=c.offsetHeight>0&&wr(d.height)/c.offsetHeight||1);var S=(Mn(c)?rt(c):window).visualViewport,k=!Ic()&&a,A=(d.left+(k&&S?S.offsetLeft:0))/y,M=(d.top+(k&&S?S.offsetTop:0))/w,$=d.width/y,R=d.height/w;return{width:$,height:R,top:M,right:A+$,bottom:M+R,left:A,x:A,y:M}}function _s(c){var o=Er(c),a=c.offsetWidth,d=c.offsetHeight;return Math.abs(o.width-a)<=1&&(a=o.width),Math.abs(o.height-d)<=1&&(d=o.height),{x:c.offsetLeft,y:c.offsetTop,width:a,height:d}}function Rc(c,o){var a=o.getRootNode&&o.getRootNode();if(c.contains(o))return!0;if(a&&gs(a)){var d=o;do{if(d&&c.isSameNode(d))return!0;d=d.parentNode||d.host}while(d)}return!1}function Wt(c){return rt(c).getComputedStyle(c)}function Eg(c){return["table","td","th"].indexOf(At(c))>=0}function un(c){return((Mn(c)?c.ownerDocument:c.document)||window.document).documentElement}function xo(c){return At(c)==="html"?c:c.assignedSlot||c.parentNode||(gs(c)?c.host:null)||un(c)}function bc(c){return ft(c)&&Wt(c).position!=="fixed"?c.offsetParent:null}function ui(c){for(var o=rt(c),a=bc(c);a&&Eg(a)&&Wt(a).position==="static";)a=bc(a);return a&&(At(a)==="html"||At(a)==="body"&&Wt(a).position==="static")?o:a||function(d){var y=/firefox/i.test(ys());if(/Trident/i.test(ys())&&ft(d)&&Wt(d).position==="fixed")return null;var w=xo(d);for(gs(w)&&(w=w.host);ft(w)&&["html","body"].indexOf(At(w))<0;){var S=Wt(w);if(S.transform!=="none"||S.perspective!=="none"||S.contain==="paint"||["transform","perspective"].indexOf(S.willChange)!==-1||y&&S.willChange==="filter"||y&&S.filter&&S.filter!=="none")return w;w=w.parentNode}return null}(c)||o}function ws(c){return["top","bottom"].indexOf(c)>=0?"x":"y"}function ci(c,o,a){return zn(c,Eo(o,a))}function Mc(c){return Object.assign({},{top:0,right:0,bottom:0,left:0},c)}function zc(c,o){return o.reduce(function(a,d){return a[d]=c,a},{})}const $c={name:"arrow",enabled:!0,phase:"main",fn:function(c){var o,a=c.state,d=c.name,y=c.options,w=a.elements.arrow,S=a.modifiersData.popperOffsets,k=Dt(a.placement),A=ws(k),M=[Be,nt].indexOf(k)>=0?"height":"width";if(w&&S){var $=function(ae,ie){return Mc(typeof(ae=typeof ae=="function"?ae(Object.assign({},ie.rects,{placement:ie.placement})):ae)!="number"?ae:zc(ae,vr))}(y.padding,a),R=_s(w),X=A==="y"?Ue:Be,V=A==="y"?tt:nt,K=a.rects.reference[M]+a.rects.reference[A]-S[A]-a.rects.popper[M],H=S[A]-a.rects.reference[A],Y=ui(w),se=Y?A==="y"?Y.clientHeight||0:Y.clientWidth||0:0,ce=K/2-H/2,Z=$[X],ne=se-R[M]-$[V],G=se/2-R[M]/2+ce,ee=ci(Z,G,ne),re=A;a.modifiersData[d]=((o={})[re]=ee,o.centerOffset=ee-G,o)}},effect:function(c){var o=c.state,a=c.options.element,d=a===void 0?"[data-popper-arrow]":a;d!=null&&(typeof d!="string"||(d=o.elements.popper.querySelector(d)))&&Rc(o.elements.popper,d)&&(o.elements.arrow=d)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function xr(c){return c.split("-")[1]}var xg={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Fc(c){var o,a=c.popper,d=c.popperRect,y=c.placement,w=c.variation,S=c.offsets,k=c.position,A=c.gpuAcceleration,M=c.adaptive,$=c.roundOffsets,R=c.isFixed,X=S.x,V=X===void 0?0:X,K=S.y,H=K===void 0?0:K,Y=typeof $=="function"?$({x:V,y:H}):{x:V,y:H};V=Y.x,H=Y.y;var se=S.hasOwnProperty("x"),ce=S.hasOwnProperty("y"),Z=Be,ne=Ue,G=window;if(M){var ee=ui(a),re="clientHeight",ae="clientWidth";ee===rt(a)&&Wt(ee=un(a)).position!=="static"&&k==="absolute"&&(re="scrollHeight",ae="scrollWidth"),(y===Ue||(y===Be||y===nt)&&w===yr)&&(ne=tt,H-=(R&&ee===G&&G.visualViewport?G.visualViewport.height:ee[re])-d.height,H*=A?1:-1),y!==Be&&(y!==Ue&&y!==tt||w!==yr)||(Z=nt,V-=(R&&ee===G&&G.visualViewport?G.visualViewport.width:ee[ae])-d.width,V*=A?1:-1)}var ie,Se=Object.assign({position:k},M&&xg),it=$===!0?function(kt,We){var pt=kt.x,ht=kt.y,we=We.devicePixelRatio||1;return{x:wr(pt*we)/we||0,y:wr(ht*we)/we||0}}({x:V,y:H},rt(a)):{x:V,y:H};return V=it.x,H=it.y,A?Object.assign({},Se,((ie={})[ne]=ce?"0":"",ie[Z]=se?"0":"",ie.transform=(G.devicePixelRatio||1)<=1?"translate("+V+"px, "+H+"px)":"translate3d("+V+"px, "+H+"px, 0)",ie)):Object.assign({},Se,((o={})[ne]=ce?H+"px":"",o[Z]=se?V+"px":"",o.transform="",o))}const Es={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(c){var o=c.state,a=c.options,d=a.gpuAcceleration,y=d===void 0||d,w=a.adaptive,S=w===void 0||w,k=a.roundOffsets,A=k===void 0||k,M={placement:Dt(o.placement),variation:xr(o.placement),popper:o.elements.popper,popperRect:o.rects.popper,gpuAcceleration:y,isFixed:o.options.strategy==="fixed"};o.modifiersData.popperOffsets!=null&&(o.styles.popper=Object.assign({},o.styles.popper,Fc(Object.assign({},M,{offsets:o.modifiersData.popperOffsets,position:o.options.strategy,adaptive:S,roundOffsets:A})))),o.modifiersData.arrow!=null&&(o.styles.arrow=Object.assign({},o.styles.arrow,Fc(Object.assign({},M,{offsets:o.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:A})))),o.attributes.popper=Object.assign({},o.attributes.popper,{"data-popper-placement":o.placement})},data:{}};var So={passive:!0};const xs={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(c){var o=c.state,a=c.instance,d=c.options,y=d.scroll,w=y===void 0||y,S=d.resize,k=S===void 0||S,A=rt(o.elements.popper),M=[].concat(o.scrollParents.reference,o.scrollParents.popper);return w&&M.forEach(function($){$.addEventListener("scroll",a.update,So)}),k&&A.addEventListener("resize",a.update,So),function(){w&&M.forEach(function($){$.removeEventListener("scroll",a.update,So)}),k&&A.removeEventListener("resize",a.update,So)}},data:{}};var Sg={left:"right",right:"left",bottom:"top",top:"bottom"};function ko(c){return c.replace(/left|right|bottom|top/g,function(o){return Sg[o]})}var kg={start:"end",end:"start"};function Uc(c){return c.replace(/start|end/g,function(o){return kg[o]})}function Ss(c){var o=rt(c);return{scrollLeft:o.pageXOffset,scrollTop:o.pageYOffset}}function ks(c){return Er(un(c)).left+Ss(c).scrollLeft}function Cs(c){var o=Wt(c),a=o.overflow,d=o.overflowX,y=o.overflowY;return/auto|scroll|overlay|hidden/.test(a+y+d)}function Bc(c){return["html","body","#document"].indexOf(At(c))>=0?c.ownerDocument.body:ft(c)&&Cs(c)?c:Bc(xo(c))}function fi(c,o){var a;o===void 0&&(o=[]);var d=Bc(c),y=d===((a=c.ownerDocument)==null?void 0:a.body),w=rt(d),S=y?[w].concat(w.visualViewport||[],Cs(d)?d:[]):d,k=o.concat(S);return y?k:k.concat(fi(xo(S)))}function Ns(c){return Object.assign({},c,{left:c.x,top:c.y,right:c.x+c.width,bottom:c.y+c.height})}function Wc(c,o,a){return o===ps?Ns(function(d,y){var w=rt(d),S=un(d),k=w.visualViewport,A=S.clientWidth,M=S.clientHeight,$=0,R=0;if(k){A=k.width,M=k.height;var X=Ic();(X||!X&&y==="fixed")&&($=k.offsetLeft,R=k.offsetTop)}return{width:A,height:M,x:$+ks(d),y:R}}(c,a)):Mn(o)?function(d,y){var w=Er(d,!1,y==="fixed");return w.top=w.top+d.clientTop,w.left=w.left+d.clientLeft,w.bottom=w.top+d.clientHeight,w.right=w.left+d.clientWidth,w.width=d.clientWidth,w.height=d.clientHeight,w.x=w.left,w.y=w.top,w}(o,a):Ns(function(d){var y,w=un(d),S=Ss(d),k=(y=d.ownerDocument)==null?void 0:y.body,A=zn(w.scrollWidth,w.clientWidth,k?k.scrollWidth:0,k?k.clientWidth:0),M=zn(w.scrollHeight,w.clientHeight,k?k.scrollHeight:0,k?k.clientHeight:0),$=-S.scrollLeft+ks(d),R=-S.scrollTop;return Wt(k||w).direction==="rtl"&&($+=zn(w.clientWidth,k?k.clientWidth:0)-A),{width:A,height:M,x:$,y:R}}(un(c)))}function Vc(c){var o,a=c.reference,d=c.element,y=c.placement,w=y?Dt(y):null,S=y?xr(y):null,k=a.x+a.width/2-d.width/2,A=a.y+a.height/2-d.height/2;switch(w){case Ue:o={x:k,y:a.y-d.height};break;case tt:o={x:k,y:a.y+a.height};break;case nt:o={x:a.x+a.width,y:A};break;case Be:o={x:a.x-d.width,y:A};break;default:o={x:a.x,y:a.y}}var M=w?ws(w):null;if(M!=null){var $=M==="y"?"height":"width";switch(S){case bn:o[M]=o[M]-(a[$]/2-d[$]/2);break;case yr:o[M]=o[M]+(a[$]/2-d[$]/2)}}return o}function Sr(c,o){o===void 0&&(o={});var a=o,d=a.placement,y=d===void 0?c.placement:d,w=a.strategy,S=w===void 0?c.strategy:w,k=a.boundary,A=k===void 0?xc:k,M=a.rootBoundary,$=M===void 0?ps:M,R=a.elementContext,X=R===void 0?_r:R,V=a.altBoundary,K=V!==void 0&&V,H=a.padding,Y=H===void 0?0:H,se=Mc(typeof Y!="number"?Y:zc(Y,vr)),ce=X===_r?Sc:_r,Z=c.rects.popper,ne=c.elements[K?ce:X],G=function(We,pt,ht,we){var It=pt==="clippingParents"?function(ue){var Ve=fi(xo(ue)),mt=["absolute","fixed"].indexOf(Wt(ue).position)>=0&&ft(ue)?ui(ue):ue;return Mn(mt)?Ve.filter(function(fn){return Mn(fn)&&Rc(fn,mt)&&At(fn)!=="body"}):[]}(We):[].concat(pt),Rt=[].concat(It,[ht]),Nr=Rt[0],Le=Rt.reduce(function(ue,Ve){var mt=Wc(We,Ve,we);return ue.top=zn(mt.top,ue.top),ue.right=Eo(mt.right,ue.right),ue.bottom=Eo(mt.bottom,ue.bottom),ue.left=zn(mt.left,ue.left),ue},Wc(We,Nr,we));return Le.width=Le.right-Le.left,Le.height=Le.bottom-Le.top,Le.x=Le.left,Le.y=Le.top,Le}(Mn(ne)?ne:ne.contextElement||un(c.elements.popper),A,$,S),ee=Er(c.elements.reference),re=Vc({reference:ee,element:Z,strategy:"absolute",placement:y}),ae=Ns(Object.assign({},Z,re)),ie=X===_r?ae:ee,Se={top:G.top-ie.top+se.top,bottom:ie.bottom-G.bottom+se.bottom,left:G.left-ie.left+se.left,right:ie.right-G.right+se.right},it=c.modifiersData.offset;if(X===_r&&it){var kt=it[y];Object.keys(Se).forEach(function(We){var pt=[nt,tt].indexOf(We)>=0?1:-1,ht=[Ue,tt].indexOf(We)>=0?"y":"x";Se[We]+=kt[ht]*pt})}return Se}function Cg(c,o){o===void 0&&(o={});var a=o,d=a.placement,y=a.boundary,w=a.rootBoundary,S=a.padding,k=a.flipVariations,A=a.allowedAutoPlacements,M=A===void 0?ms:A,$=xr(d),R=$?k?hs:hs.filter(function(K){return xr(K)===$}):vr,X=R.filter(function(K){return M.indexOf(K)>=0});X.length===0&&(X=R);var V=X.reduce(function(K,H){return K[H]=Sr(c,{placement:H,boundary:y,rootBoundary:w,padding:S})[Dt(H)],K},{});return Object.keys(V).sort(function(K,H){return V[K]-V[H]})}const Hc={name:"flip",enabled:!0,phase:"main",fn:function(c){var o=c.state,a=c.options,d=c.name;if(!o.modifiersData[d]._skip){for(var y=a.mainAxis,w=y===void 0||y,S=a.altAxis,k=S===void 0||S,A=a.fallbackPlacements,M=a.padding,$=a.boundary,R=a.rootBoundary,X=a.altBoundary,V=a.flipVariations,K=V===void 0||V,H=a.allowedAutoPlacements,Y=o.options.placement,se=Dt(Y),ce=A||(se!==Y&&K?function(ue){if(Dt(ue)===wo)return[];var Ve=ko(ue);return[Uc(ue),Ve,Uc(Ve)]}(Y):[ko(Y)]),Z=[Y].concat(ce).reduce(function(ue,Ve){return ue.concat(Dt(Ve)===wo?Cg(o,{placement:Ve,boundary:$,rootBoundary:R,padding:M,flipVariations:K,allowedAutoPlacements:H}):Ve)},[]),ne=o.rects.reference,G=o.rects.popper,ee=new Map,re=!0,ae=Z[0],ie=0;ie=0,pt=We?"width":"height",ht=Sr(o,{placement:Se,boundary:$,rootBoundary:R,altBoundary:X,padding:M}),we=We?kt?nt:Be:kt?tt:Ue;ne[pt]>G[pt]&&(we=ko(we));var It=ko(we),Rt=[];if(w&&Rt.push(ht[it]<=0),k&&Rt.push(ht[we]<=0,ht[It]<=0),Rt.every(function(ue){return ue})){ae=Se,re=!1;break}ee.set(Se,Rt)}if(re)for(var Nr=function(ue){var Ve=Z.find(function(mt){var fn=ee.get(mt);if(fn)return fn.slice(0,ue).every(function(Do){return Do})});if(Ve)return ae=Ve,"break"},Le=K?3:1;Le>0&&Nr(Le)!=="break";Le--);o.placement!==ae&&(o.modifiersData[d]._skip=!0,o.placement=ae,o.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Qc(c,o,a){return a===void 0&&(a={x:0,y:0}),{top:c.top-o.height-a.y,right:c.right-o.width+a.x,bottom:c.bottom-o.height+a.y,left:c.left-o.width-a.x}}function Kc(c){return[Ue,nt,tt,Be].some(function(o){return c[o]>=0})}const Yc={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(c){var o=c.state,a=c.name,d=o.rects.reference,y=o.rects.popper,w=o.modifiersData.preventOverflow,S=Sr(o,{elementContext:"reference"}),k=Sr(o,{altBoundary:!0}),A=Qc(S,d),M=Qc(k,y,w),$=Kc(A),R=Kc(M);o.modifiersData[a]={referenceClippingOffsets:A,popperEscapeOffsets:M,isReferenceHidden:$,hasPopperEscaped:R},o.attributes.popper=Object.assign({},o.attributes.popper,{"data-popper-reference-hidden":$,"data-popper-escaped":R})}},Xc={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(c){var o=c.state,a=c.options,d=c.name,y=a.offset,w=y===void 0?[0,0]:y,S=ms.reduce(function($,R){return $[R]=function(X,V,K){var H=Dt(X),Y=[Be,Ue].indexOf(H)>=0?-1:1,se=typeof K=="function"?K(Object.assign({},V,{placement:X})):K,ce=se[0],Z=se[1];return ce=ce||0,Z=(Z||0)*Y,[Be,nt].indexOf(H)>=0?{x:Z,y:ce}:{x:ce,y:Z}}(R,o.rects,w),$},{}),k=S[o.placement],A=k.x,M=k.y;o.modifiersData.popperOffsets!=null&&(o.modifiersData.popperOffsets.x+=A,o.modifiersData.popperOffsets.y+=M),o.modifiersData[d]=S}},Ts={name:"popperOffsets",enabled:!0,phase:"read",fn:function(c){var o=c.state,a=c.name;o.modifiersData[a]=Vc({reference:o.rects.reference,element:o.rects.popper,strategy:"absolute",placement:o.placement})},data:{}},Gc={name:"preventOverflow",enabled:!0,phase:"main",fn:function(c){var o=c.state,a=c.options,d=c.name,y=a.mainAxis,w=y===void 0||y,S=a.altAxis,k=S!==void 0&&S,A=a.boundary,M=a.rootBoundary,$=a.altBoundary,R=a.padding,X=a.tether,V=X===void 0||X,K=a.tetherOffset,H=K===void 0?0:K,Y=Sr(o,{boundary:A,rootBoundary:M,padding:R,altBoundary:$}),se=Dt(o.placement),ce=xr(o.placement),Z=!ce,ne=ws(se),G=ne==="x"?"y":"x",ee=o.modifiersData.popperOffsets,re=o.rects.reference,ae=o.rects.popper,ie=typeof H=="function"?H(Object.assign({},o.rects,{placement:o.placement})):H,Se=typeof ie=="number"?{mainAxis:ie,altAxis:ie}:Object.assign({mainAxis:0,altAxis:0},ie),it=o.modifiersData.offset?o.modifiersData.offset[o.placement]:null,kt={x:0,y:0};if(ee){if(w){var We,pt=ne==="y"?Ue:Be,ht=ne==="y"?tt:nt,we=ne==="y"?"height":"width",It=ee[ne],Rt=It+Y[pt],Nr=It-Y[ht],Le=V?-ae[we]/2:0,ue=ce===bn?re[we]:ae[we],Ve=ce===bn?-ae[we]:-re[we],mt=o.elements.arrow,fn=V&&mt?_s(mt):{width:0,height:0},Do=o.modifiersData["arrow#persistent"]?o.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Mf=Do[pt],zf=Do[ht],Io=ci(0,re[we],fn[we]),e0=Z?re[we]/2-Le-Io-Mf-Se.mainAxis:ue-Io-Mf-Se.mainAxis,t0=Z?-re[we]/2+Le+Io+zf+Se.mainAxis:Ve+Io+zf+Se.mainAxis,Fs=o.elements.arrow&&ui(o.elements.arrow),n0=Fs?ne==="y"?Fs.clientTop||0:Fs.clientLeft||0:0,$f=(We=it==null?void 0:it[ne])!=null?We:0,r0=It+t0-$f,Ff=ci(V?Eo(Rt,It+e0-$f-n0):Rt,It,V?zn(Nr,r0):Nr);ee[ne]=Ff,kt[ne]=Ff-It}if(k){var Uf,i0=ne==="x"?Ue:Be,o0=ne==="x"?tt:nt,Qn=ee[G],Ro=G==="y"?"height":"width",Bf=Qn+Y[i0],Wf=Qn-Y[o0],Us=[Ue,Be].indexOf(se)!==-1,Vf=(Uf=it==null?void 0:it[G])!=null?Uf:0,Hf=Us?Bf:Qn-re[Ro]-ae[Ro]-Vf+Se.altAxis,Qf=Us?Qn+re[Ro]+ae[Ro]-Vf-Se.altAxis:Wf,Kf=V&&Us?function(l0,s0,Bs){var Yf=ci(l0,s0,Bs);return Yf>Bs?Bs:Yf}(Hf,Qn,Qf):ci(V?Hf:Bf,Qn,V?Qf:Wf);ee[G]=Kf,kt[G]=Kf-Qn}o.modifiersData[d]=kt}},requiresIfExists:["offset"]};function Ng(c,o,a){a===void 0&&(a=!1);var d,y,w=ft(o),S=ft(o)&&function(R){var X=R.getBoundingClientRect(),V=wr(X.width)/R.offsetWidth||1,K=wr(X.height)/R.offsetHeight||1;return V!==1||K!==1}(o),k=un(o),A=Er(c,S,a),M={scrollLeft:0,scrollTop:0},$={x:0,y:0};return(w||!w&&!a)&&((At(o)!=="body"||Cs(k))&&(M=(d=o)!==rt(d)&&ft(d)?{scrollLeft:(y=d).scrollLeft,scrollTop:y.scrollTop}:Ss(d)),ft(o)?(($=Er(o,!0)).x+=o.clientLeft,$.y+=o.clientTop):k&&($.x=ks(k))),{x:A.left+M.scrollLeft-$.x,y:A.top+M.scrollTop-$.y,width:A.width,height:A.height}}function Tg(c){var o=new Map,a=new Set,d=[];function y(w){a.add(w.name),[].concat(w.requires||[],w.requiresIfExists||[]).forEach(function(S){if(!a.has(S)){var k=o.get(S);k&&y(k)}}),d.push(w)}return c.forEach(function(w){o.set(w.name,w)}),c.forEach(function(w){a.has(w.name)||y(w)}),d}var Jc={placement:"bottom",modifiers:[],strategy:"absolute"};function Zc(){for(var c=arguments.length,o=new Array(c),a=0;aNumber.parseInt(a,10)):typeof o=="function"?a=>o(a,this._element):o}_getPopperConfig(){const o={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&(De.setDataAttribute(this._menu,"popper","static"),o.modifiers=[{name:"applyStyles",enabled:!1}]),{...o,...h(this._config.popperConfig,[o])}}_selectMenuItem({key:o,target:a}){const d=W.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(y=>p(y));d.length&&C(d,a,o===tf,!d.includes(a)).focus()}static jQueryInterface(o){return this.each(function(){const a=St.getOrCreateInstance(this,o);if(typeof o=="string"){if(a[o]===void 0)throw new TypeError(`No method named "${o}"`);a[o]()}})}static clearMenus(o){if(o.button===2||o.type==="keyup"&&o.key!=="Tab")return;const a=W.find(bg);for(const d of a){const y=St.getInstance(d);if(!y||y._config.autoClose===!1)continue;const w=o.composedPath(),S=w.includes(y._menu);if(w.includes(y._element)||y._config.autoClose==="inside"&&!S||y._config.autoClose==="outside"&&S||y._menu.contains(o.target)&&(o.type==="keyup"&&o.key==="Tab"||/input|select|option|textarea|form/i.test(o.target.tagName)))continue;const k={relatedTarget:y._element};o.type==="click"&&(k.clickEvent=o),y._completeHide(k)}}static dataApiKeydownHandler(o){const a=/input|textarea/i.test(o.target.tagName),d=o.key==="Escape",y=[Lg,tf].includes(o.key);if(!y&&!d||a&&!d)return;o.preventDefault();const w=this.matches(Fn)?this:W.prev(this,Fn)[0]||W.next(this,Fn)[0]||W.findOne(Fn,o.delegateTarget.parentNode),S=St.getOrCreateInstance(w);if(y)return o.stopPropagation(),S.show(),void S._selectMenuItem(o);S._isShown()&&(o.stopPropagation(),S.hide(),w.focus())}}x.on(document,rf,Fn,St.dataApiKeydownHandler),x.on(document,rf,No,St.dataApiKeydownHandler),x.on(document,nf,St.clearMenus),x.on(document,Rg,St.clearMenus),x.on(document,nf,Fn,function(c){c.preventDefault(),St.getOrCreateInstance(this).toggle()}),m(St);const of="backdrop",lf="show",sf=`mousedown.bs.${of}`,Hg={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Qg={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class af extends Bt{constructor(o){super(),this._config=this._getConfig(o),this._isAppended=!1,this._element=null}static get Default(){return Hg}static get DefaultType(){return Qg}static get NAME(){return of}show(o){if(!this._config.isVisible)return void h(o);this._append();const a=this._getElement();this._config.isAnimated&&N(a),a.classList.add(lf),this._emulateAnimation(()=>{h(o)})}hide(o){this._config.isVisible?(this._getElement().classList.remove(lf),this._emulateAnimation(()=>{this.dispose(),h(o)})):h(o)}dispose(){this._isAppended&&(x.off(this._element,sf),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const o=document.createElement("div");o.className=this._config.className,this._config.isAnimated&&o.classList.add("fade"),this._element=o}return this._element}_configAfterMerge(o){return o.rootElement=f(o.rootElement),o}_append(){if(this._isAppended)return;const o=this._getElement();this._config.rootElement.append(o),x.on(o,sf,()=>{h(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(o){_(o,this._getElement(),this._config.isAnimated)}}const To=".bs.focustrap",Kg=`focusin${To}`,Yg=`keydown.tab${To}`,uf="backward",Xg={autofocus:!0,trapElement:null},Gg={autofocus:"boolean",trapElement:"element"};class cf extends Bt{constructor(o){super(),this._config=this._getConfig(o),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Xg}static get DefaultType(){return Gg}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),x.off(document,To),x.on(document,Kg,o=>this._handleFocusin(o)),x.on(document,Yg,o=>this._handleKeydown(o)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,x.off(document,To))}_handleFocusin(o){const{trapElement:a}=this._config;if(o.target===document||o.target===a||a.contains(o.target))return;const d=W.focusableChildren(a);d.length===0?a.focus():this._lastTabNavDirection===uf?d[d.length-1].focus():d[0].focus()}_handleKeydown(o){o.key==="Tab"&&(this._lastTabNavDirection=o.shiftKey?uf:"forward")}}const ff=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",df=".sticky-top",Po="padding-right",pf="margin-right";class Ls{constructor(){this._element=document.body}getWidth(){const o=document.documentElement.clientWidth;return Math.abs(window.innerWidth-o)}hide(){const o=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,Po,a=>a+o),this._setElementAttributes(ff,Po,a=>a+o),this._setElementAttributes(df,pf,a=>a-o)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,Po),this._resetElementAttributes(ff,Po),this._resetElementAttributes(df,pf)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(o,a,d){const y=this.getWidth();this._applyManipulationCallback(o,w=>{if(w!==this._element&&window.innerWidth>w.clientWidth+y)return;this._saveInitialAttribute(w,a);const S=window.getComputedStyle(w).getPropertyValue(a);w.style.setProperty(a,`${d(Number.parseFloat(S))}px`)})}_saveInitialAttribute(o,a){const d=o.style.getPropertyValue(a);d&&De.setDataAttribute(o,a,d)}_resetElementAttributes(o,a){this._applyManipulationCallback(o,d=>{const y=De.getDataAttribute(d,a);y!==null?(De.removeDataAttribute(d,a),d.style.setProperty(a,y)):d.style.removeProperty(a)})}_applyManipulationCallback(o,a){if(u(o))a(o);else for(const d of W.find(o,this._element))a(d)}}const dt=".bs.modal",Jg=`hide${dt}`,Zg=`hidePrevented${dt}`,hf=`hidden${dt}`,mf=`show${dt}`,qg=`shown${dt}`,ev=`resize${dt}`,tv=`click.dismiss${dt}`,nv=`mousedown.dismiss${dt}`,rv=`keydown.dismiss${dt}`,iv=`click${dt}.data-api`,gf="modal-open",vf="show",js="modal-static",ov={backdrop:!0,focus:!0,keyboard:!0},lv={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Un extends Te{constructor(o,a){super(o,a),this._dialog=W.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Ls,this._addEventListeners()}static get Default(){return ov}static get DefaultType(){return lv}static get NAME(){return"modal"}toggle(o){return this._isShown?this.hide():this.show(o)}show(o){this._isShown||this._isTransitioning||x.trigger(this._element,mf,{relatedTarget:o}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(gf),this._adjustDialog(),this._backdrop.show(()=>this._showElement(o)))}hide(){this._isShown&&!this._isTransitioning&&(x.trigger(this._element,Jg).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(vf),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated())))}dispose(){x.off(window,dt),x.off(this._dialog,dt),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new af({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new cf({trapElement:this._element})}_showElement(o){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const a=W.findOne(".modal-body",this._dialog);a&&(a.scrollTop=0),N(this._element),this._element.classList.add(vf),this._queueCallback(()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,x.trigger(this._element,qg,{relatedTarget:o})},this._dialog,this._isAnimated())}_addEventListeners(){x.on(this._element,rv,o=>{o.key==="Escape"&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())}),x.on(window,ev,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),x.on(this._element,nv,o=>{x.one(this._element,tv,a=>{this._element===o.target&&this._element===a.target&&(this._config.backdrop!=="static"?this._config.backdrop&&this.hide():this._triggerBackdropTransition())})})}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove(gf),this._resetAdjustments(),this._scrollBar.reset(),x.trigger(this._element,hf)})}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(x.trigger(this._element,Zg).defaultPrevented)return;const o=this._element.scrollHeight>document.documentElement.clientHeight,a=this._element.style.overflowY;a==="hidden"||this._element.classList.contains(js)||(o||(this._element.style.overflowY="hidden"),this._element.classList.add(js),this._queueCallback(()=>{this._element.classList.remove(js),this._queueCallback(()=>{this._element.style.overflowY=a},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const o=this._element.scrollHeight>document.documentElement.clientHeight,a=this._scrollBar.getWidth(),d=a>0;if(d&&!o){const y=j()?"paddingLeft":"paddingRight";this._element.style[y]=`${a}px`}if(!d&&o){const y=j()?"paddingRight":"paddingLeft";this._element.style[y]=`${a}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(o,a){return this.each(function(){const d=Un.getOrCreateInstance(this,o);if(typeof o=="string"){if(d[o]===void 0)throw new TypeError(`No method named "${o}"`);d[o](a)}})}}x.on(document,iv,'[data-bs-toggle="modal"]',function(c){const o=W.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&c.preventDefault(),x.one(o,mf,d=>{d.defaultPrevented||x.one(o,hf,()=>{p(this)&&this.focus()})});const a=W.findOne(".modal.show");a&&Un.getInstance(a).hide(),Un.getOrCreateInstance(o).toggle(this)}),mo(Un),m(Un);const Vt=".bs.offcanvas",yf=".data-api",sv=`load${Vt}${yf}`,_f="show",wf="showing",Ef="hiding",xf=".offcanvas.show",av=`show${Vt}`,uv=`shown${Vt}`,cv=`hide${Vt}`,Sf=`hidePrevented${Vt}`,kf=`hidden${Vt}`,fv=`resize${Vt}`,dv=`click${Vt}${yf}`,pv=`keydown.dismiss${Vt}`,hv={backdrop:!0,keyboard:!0,scroll:!1},mv={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Ht extends Te{constructor(o,a){super(o,a),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return hv}static get DefaultType(){return mv}static get NAME(){return"offcanvas"}toggle(o){return this._isShown?this.hide():this.show(o)}show(o){this._isShown||x.trigger(this._element,av,{relatedTarget:o}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||new Ls().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(wf),this._queueCallback(()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(_f),this._element.classList.remove(wf),x.trigger(this._element,uv,{relatedTarget:o})},this._element,!0))}hide(){this._isShown&&(x.trigger(this._element,cv).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Ef),this._backdrop.hide(),this._queueCallback(()=>{this._element.classList.remove(_f,Ef),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new Ls().reset(),x.trigger(this._element,kf)},this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const o=!!this._config.backdrop;return new af({className:"offcanvas-backdrop",isVisible:o,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:o?()=>{this._config.backdrop!=="static"?this.hide():x.trigger(this._element,Sf)}:null})}_initializeFocusTrap(){return new cf({trapElement:this._element})}_addEventListeners(){x.on(this._element,pv,o=>{o.key==="Escape"&&(this._config.keyboard?this.hide():x.trigger(this._element,Sf))})}static jQueryInterface(o){return this.each(function(){const a=Ht.getOrCreateInstance(this,o);if(typeof o=="string"){if(a[o]===void 0||o.startsWith("_")||o==="constructor")throw new TypeError(`No method named "${o}"`);a[o](this)}})}}x.on(document,dv,'[data-bs-toggle="offcanvas"]',function(c){const o=W.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&c.preventDefault(),v(this))return;x.one(o,kf,()=>{p(this)&&this.focus()});const a=W.findOne(xf);a&&a!==o&&Ht.getInstance(a).hide(),Ht.getOrCreateInstance(o).toggle(this)}),x.on(window,sv,()=>{for(const c of W.find(xf))Ht.getOrCreateInstance(c).show()}),x.on(window,fv,()=>{for(const c of W.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(c).position!=="fixed"&&Ht.getOrCreateInstance(c).hide()}),mo(Ht),m(Ht);const Cf={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},gv=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),vv=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,yv=(c,o)=>{const a=c.nodeName.toLowerCase();return o.includes(a)?!gv.has(a)||!!vv.test(c.nodeValue):o.filter(d=>d instanceof RegExp).some(d=>d.test(a))},_v={allowList:Cf,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},wv={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Ev={entry:"(string|element|function|null)",selector:"(string|element)"};class xv extends Bt{constructor(o){super(),this._config=this._getConfig(o)}static get Default(){return _v}static get DefaultType(){return wv}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map(o=>this._resolvePossibleFunction(o)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(o){return this._checkContent(o),this._config.content={...this._config.content,...o},this}toHtml(){const o=document.createElement("div");o.innerHTML=this._maybeSanitize(this._config.template);for(const[y,w]of Object.entries(this._config.content))this._setContent(o,w,y);const a=o.children[0],d=this._resolvePossibleFunction(this._config.extraClass);return d&&a.classList.add(...d.split(" ")),a}_typeCheckConfig(o){super._typeCheckConfig(o),this._checkContent(o.content)}_checkContent(o){for(const[a,d]of Object.entries(o))super._typeCheckConfig({selector:a,entry:d},Ev)}_setContent(o,a,d){const y=W.findOne(d,o);y&&((a=this._resolvePossibleFunction(a))?u(a)?this._putElementInTemplate(f(a),y):this._config.html?y.innerHTML=this._maybeSanitize(a):y.textContent=a:y.remove())}_maybeSanitize(o){return this._config.sanitize?function(a,d,y){if(!a.length)return a;if(y&&typeof y=="function")return y(a);const w=new window.DOMParser().parseFromString(a,"text/html"),S=[].concat(...w.body.querySelectorAll("*"));for(const k of S){const A=k.nodeName.toLowerCase();if(!Object.keys(d).includes(A)){k.remove();continue}const M=[].concat(...k.attributes),$=[].concat(d["*"]||[],d[A]||[]);for(const R of M)yv(R,$)||k.removeAttribute(R.nodeName)}return w.body.innerHTML}(o,this._config.allowList,this._config.sanitizeFn):o}_resolvePossibleFunction(o){return h(o,[this])}_putElementInTemplate(o,a){if(this._config.html)return a.innerHTML="",void a.append(o);a.textContent=o.textContent}}const Sv=new Set(["sanitize","allowList","sanitizeFn"]),As="fade",Oo="show",Nf=".modal",Tf="hide.bs.modal",di="hover",Ds="focus",kv={AUTO:"auto",TOP:"top",RIGHT:j()?"left":"right",BOTTOM:"bottom",LEFT:j()?"right":"left"},Cv={allowList:Cf,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},Nv={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class Bn extends Te{constructor(o,a){if(qc===void 0)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(o,a),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Cv}static get DefaultType(){return Nv}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),x.off(this._element.closest(Nf),Tf,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const o=x.trigger(this._element,this.constructor.eventName("show")),a=(g(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(o.defaultPrevented||!a)return;this._disposePopper();const d=this._getTipElement();this._element.setAttribute("aria-describedby",d.getAttribute("id"));const{container:y}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(y.append(d),x.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(d),d.classList.add(Oo),"ontouchstart"in document.documentElement)for(const w of[].concat(...document.body.children))x.on(w,"mouseover",E);this._queueCallback(()=>{x.trigger(this._element,this.constructor.eventName("shown")),this._isHovered===!1&&this._leave(),this._isHovered=!1},this.tip,this._isAnimated())}hide(){if(this._isShown()&&!x.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(Oo),"ontouchstart"in document.documentElement)for(const o of[].concat(...document.body.children))x.off(o,"mouseover",E);this._activeTrigger.click=!1,this._activeTrigger[Ds]=!1,this._activeTrigger[di]=!1,this._isHovered=null,this._queueCallback(()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),x.trigger(this._element,this.constructor.eventName("hidden")))},this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return!!this._getTitle()}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(o){const a=this._getTemplateFactory(o).toHtml();if(!a)return null;a.classList.remove(As,Oo),a.classList.add(`bs-${this.constructor.NAME}-auto`);const d=(y=>{do y+=Math.floor(1e6*Math.random());while(document.getElementById(y));return y})(this.constructor.NAME).toString();return a.setAttribute("id",d),this._isAnimated()&&a.classList.add(As),a}setContent(o){this._newContent=o,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(o){return this._templateFactory?this._templateFactory.changeContent(o):this._templateFactory=new xv({...this._config,content:o,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(o){return this.constructor.getOrCreateInstance(o.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(As)}_isShown(){return this.tip&&this.tip.classList.contains(Oo)}_createPopper(o){const a=h(this._config.placement,[this,o,this._element]),d=kv[a.toUpperCase()];return Ps(this._element,o,this._getPopperConfig(d))}_getOffset(){const{offset:o}=this._config;return typeof o=="string"?o.split(",").map(a=>Number.parseInt(a,10)):typeof o=="function"?a=>o(a,this._element):o}_resolvePossibleFunction(o){return h(o,[this._element])}_getPopperConfig(o){const a={placement:o,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:d=>{this._getTipElement().setAttribute("data-popper-placement",d.state.placement)}}]};return{...a,...h(this._config.popperConfig,[a])}}_setListeners(){const o=this._config.trigger.split(" ");for(const a of o)if(a==="click")x.on(this._element,this.constructor.eventName("click"),this._config.selector,d=>{this._initializeOnDelegatedTarget(d).toggle()});else if(a!=="manual"){const d=a===di?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),y=a===di?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");x.on(this._element,d,this._config.selector,w=>{const S=this._initializeOnDelegatedTarget(w);S._activeTrigger[w.type==="focusin"?Ds:di]=!0,S._enter()}),x.on(this._element,y,this._config.selector,w=>{const S=this._initializeOnDelegatedTarget(w);S._activeTrigger[w.type==="focusout"?Ds:di]=S._element.contains(w.relatedTarget),S._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},x.on(this._element.closest(Nf),Tf,this._hideModalHandler)}_fixTitle(){const o=this._element.getAttribute("title");o&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",o),this._element.setAttribute("data-bs-original-title",o),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(o,a){clearTimeout(this._timeout),this._timeout=setTimeout(o,a)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(o){const a=De.getDataAttributes(this._element);for(const d of Object.keys(a))Sv.has(d)&&delete a[d];return o={...a,...typeof o=="object"&&o?o:{}},o=this._mergeConfigObj(o),o=this._configAfterMerge(o),this._typeCheckConfig(o),o}_configAfterMerge(o){return o.container=o.container===!1?document.body:f(o.container),typeof o.delay=="number"&&(o.delay={show:o.delay,hide:o.delay}),typeof o.title=="number"&&(o.title=o.title.toString()),typeof o.content=="number"&&(o.content=o.content.toString()),o}_getDelegateConfig(){const o={};for(const[a,d]of Object.entries(this._config))this.constructor.Default[a]!==d&&(o[a]=d);return o.selector=!1,o.trigger="manual",o}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(o){return this.each(function(){const a=Bn.getOrCreateInstance(this,o);if(typeof o=="string"){if(a[o]===void 0)throw new TypeError(`No method named "${o}"`);a[o]()}})}}m(Bn);const Tv={...Bn.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},Pv={...Bn.DefaultType,content:"(null|string|element|function)"};class Lo extends Bn{static get Default(){return Tv}static get DefaultType(){return Pv}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(o){return this.each(function(){const a=Lo.getOrCreateInstance(this,o);if(typeof o=="string"){if(a[o]===void 0)throw new TypeError(`No method named "${o}"`);a[o]()}})}}m(Lo);const Is=".bs.scrollspy",Ov=`activate${Is}`,Pf=`click${Is}`,Lv=`load${Is}.data-api`,Cr="active",Rs="[href]",Of=".nav-link",jv=`${Of}, .nav-item > ${Of}, .list-group-item`,Av={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Dv={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class pi extends Te{constructor(o,a){super(o,a),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement=getComputedStyle(this._element).overflowY==="visible"?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Av}static get DefaultType(){return Dv}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const o of this._observableSections.values())this._observer.observe(o)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(o){return o.target=f(o.target)||document.body,o.rootMargin=o.offset?`${o.offset}px 0px -30%`:o.rootMargin,typeof o.threshold=="string"&&(o.threshold=o.threshold.split(",").map(a=>Number.parseFloat(a))),o}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(x.off(this._config.target,Pf),x.on(this._config.target,Pf,Rs,o=>{const a=this._observableSections.get(o.target.hash);if(a){o.preventDefault();const d=this._rootElement||window,y=a.offsetTop-this._element.offsetTop;if(d.scrollTo)return void d.scrollTo({top:y,behavior:"smooth"});d.scrollTop=y}}))}_getNewObserver(){const o={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(a=>this._observerCallback(a),o)}_observerCallback(o){const a=S=>this._targetLinks.get(`#${S.target.id}`),d=S=>{this._previousScrollData.visibleEntryTop=S.target.offsetTop,this._process(a(S))},y=(this._rootElement||document.documentElement).scrollTop,w=y>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=y;for(const S of o){if(!S.isIntersecting){this._activeTarget=null,this._clearActiveClass(a(S));continue}const k=S.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(w&&k){if(d(S),!y)return}else w||k||d(S)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const o=W.find(Rs,this._config.target);for(const a of o){if(!a.hash||v(a))continue;const d=W.findOne(decodeURI(a.hash),this._element);p(d)&&(this._targetLinks.set(decodeURI(a.hash),a),this._observableSections.set(a.hash,d))}}_process(o){this._activeTarget!==o&&(this._clearActiveClass(this._config.target),this._activeTarget=o,o.classList.add(Cr),this._activateParents(o),x.trigger(this._element,Ov,{relatedTarget:o}))}_activateParents(o){if(o.classList.contains("dropdown-item"))W.findOne(".dropdown-toggle",o.closest(".dropdown")).classList.add(Cr);else for(const a of W.parents(o,".nav, .list-group"))for(const d of W.prev(a,jv))d.classList.add(Cr)}_clearActiveClass(o){o.classList.remove(Cr);const a=W.find(`${Rs}.${Cr}`,o);for(const d of a)d.classList.remove(Cr)}static jQueryInterface(o){return this.each(function(){const a=pi.getOrCreateInstance(this,o);if(typeof o=="string"){if(a[o]===void 0||o.startsWith("_")||o==="constructor")throw new TypeError(`No method named "${o}"`);a[o]()}})}}x.on(window,Lv,()=>{for(const c of W.find('[data-bs-spy="scroll"]'))pi.getOrCreateInstance(c)}),m(pi);const Wn=".bs.tab",Iv=`hide${Wn}`,Rv=`hidden${Wn}`,bv=`show${Wn}`,Mv=`shown${Wn}`,zv=`click${Wn}`,$v=`keydown${Wn}`,Fv=`load${Wn}`,Uv="ArrowLeft",Lf="ArrowRight",Bv="ArrowUp",jf="ArrowDown",bs="Home",Af="End",Vn="active",Df="fade",Ms="show",If=".dropdown-toggle",zs=`:not(${If})`,Rf='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',$s=`.nav-link${zs}, .list-group-item${zs}, [role="tab"]${zs}, ${Rf}`,Wv=`.${Vn}[data-bs-toggle="tab"], .${Vn}[data-bs-toggle="pill"], .${Vn}[data-bs-toggle="list"]`;class Hn extends Te{constructor(o){super(o),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),x.on(this._element,$v,a=>this._keydown(a)))}static get NAME(){return"tab"}show(){const o=this._element;if(this._elemIsActive(o))return;const a=this._getActiveElem(),d=a?x.trigger(a,Iv,{relatedTarget:o}):null;x.trigger(o,bv,{relatedTarget:a}).defaultPrevented||d&&d.defaultPrevented||(this._deactivate(a,o),this._activate(o,a))}_activate(o,a){o&&(o.classList.add(Vn),this._activate(W.getElementFromSelector(o)),this._queueCallback(()=>{o.getAttribute("role")==="tab"?(o.removeAttribute("tabindex"),o.setAttribute("aria-selected",!0),this._toggleDropDown(o,!0),x.trigger(o,Mv,{relatedTarget:a})):o.classList.add(Ms)},o,o.classList.contains(Df)))}_deactivate(o,a){o&&(o.classList.remove(Vn),o.blur(),this._deactivate(W.getElementFromSelector(o)),this._queueCallback(()=>{o.getAttribute("role")==="tab"?(o.setAttribute("aria-selected",!1),o.setAttribute("tabindex","-1"),this._toggleDropDown(o,!1),x.trigger(o,Rv,{relatedTarget:a})):o.classList.remove(Ms)},o,o.classList.contains(Df)))}_keydown(o){if(![Uv,Lf,Bv,jf,bs,Af].includes(o.key))return;o.stopPropagation(),o.preventDefault();const a=this._getChildren().filter(y=>!v(y));let d;if([bs,Af].includes(o.key))d=a[o.key===bs?0:a.length-1];else{const y=[Lf,jf].includes(o.key);d=C(a,o.target,y,!0)}d&&(d.focus({preventScroll:!0}),Hn.getOrCreateInstance(d).show())}_getChildren(){return W.find($s,this._parent)}_getActiveElem(){return this._getChildren().find(o=>this._elemIsActive(o))||null}_setInitialAttributes(o,a){this._setAttributeIfNotExists(o,"role","tablist");for(const d of a)this._setInitialAttributesOnChild(d)}_setInitialAttributesOnChild(o){o=this._getInnerElement(o);const a=this._elemIsActive(o),d=this._getOuterElement(o);o.setAttribute("aria-selected",a),d!==o&&this._setAttributeIfNotExists(d,"role","presentation"),a||o.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(o,"role","tab"),this._setInitialAttributesOnTargetPanel(o)}_setInitialAttributesOnTargetPanel(o){const a=W.getElementFromSelector(o);a&&(this._setAttributeIfNotExists(a,"role","tabpanel"),o.id&&this._setAttributeIfNotExists(a,"aria-labelledby",`${o.id}`))}_toggleDropDown(o,a){const d=this._getOuterElement(o);if(!d.classList.contains("dropdown"))return;const y=(w,S)=>{const k=W.findOne(w,d);k&&k.classList.toggle(S,a)};y(If,Vn),y(".dropdown-menu",Ms),d.setAttribute("aria-expanded",a)}_setAttributeIfNotExists(o,a,d){o.hasAttribute(a)||o.setAttribute(a,d)}_elemIsActive(o){return o.classList.contains(Vn)}_getInnerElement(o){return o.matches($s)?o:W.findOne($s,o)}_getOuterElement(o){return o.closest(".nav-item, .list-group-item")||o}static jQueryInterface(o){return this.each(function(){const a=Hn.getOrCreateInstance(this);if(typeof o=="string"){if(a[o]===void 0||o.startsWith("_")||o==="constructor")throw new TypeError(`No method named "${o}"`);a[o]()}})}}x.on(document,zv,Rf,function(c){["A","AREA"].includes(this.tagName)&&c.preventDefault(),v(this)||Hn.getOrCreateInstance(this).show()}),x.on(window,Fv,()=>{for(const c of W.find(Wv))Hn.getOrCreateInstance(c)}),m(Hn);const cn=".bs.toast",Vv=`mouseover${cn}`,Hv=`mouseout${cn}`,Qv=`focusin${cn}`,Kv=`focusout${cn}`,Yv=`hide${cn}`,Xv=`hidden${cn}`,Gv=`show${cn}`,Jv=`shown${cn}`,bf="hide",jo="show",Ao="showing",Zv={animation:"boolean",autohide:"boolean",delay:"number"},qv={animation:!0,autohide:!0,delay:5e3};class hi extends Te{constructor(o,a){super(o,a),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return qv}static get DefaultType(){return Zv}static get NAME(){return"toast"}show(){x.trigger(this._element,Gv).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(bf),N(this._element),this._element.classList.add(jo,Ao),this._queueCallback(()=>{this._element.classList.remove(Ao),x.trigger(this._element,Jv),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this.isShown()&&(x.trigger(this._element,Yv).defaultPrevented||(this._element.classList.add(Ao),this._queueCallback(()=>{this._element.classList.add(bf),this._element.classList.remove(Ao,jo),x.trigger(this._element,Xv)},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(jo),super.dispose()}isShown(){return this._element.classList.contains(jo)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(o,a){switch(o.type){case"mouseover":case"mouseout":this._hasMouseInteraction=a;break;case"focusin":case"focusout":this._hasKeyboardInteraction=a}if(a)return void this._clearTimeout();const d=o.relatedTarget;this._element===d||this._element.contains(d)||this._maybeScheduleHide()}_setListeners(){x.on(this._element,Vv,o=>this._onInteraction(o,!0)),x.on(this._element,Hv,o=>this._onInteraction(o,!1)),x.on(this._element,Qv,o=>this._onInteraction(o,!0)),x.on(this._element,Kv,o=>this._onInteraction(o,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(o){return this.each(function(){const a=hi.getOrCreateInstance(this,o);if(typeof o=="string"){if(a[o]===void 0)throw new TypeError(`No method named "${o}"`);a[o](this)}})}}return mo(hi),m(hi),{Alert:oi,Button:li,Carousel:hr,Collapse:gr,Dropdown:St,Modal:Un,Offcanvas:Ht,Popover:Lo,ScrollSpy:pi,Tab:Hn,Toast:hi,Tooltip:Bn}})})(b1);const M1=()=>T.jsx("footer",{className:"footer bg-light py-3",children:T.jsxs("div",{className:"container d-flex justify-content-between",children:[T.jsx("span",{children:T.jsx("a",{className:"linka",target:"_blank",title:"Legal",href:"https://creativecommons.org/licenses/by-nc-sa/4.0/",children:"Авторские права © 2024 Левик"})}),T.jsxs("span",{children:["Вдохновлено ",T.jsx("a",{className:"linka",target:"_blank",title:"🌸 [δ] - Based on MDsveX & SvelteKit 🌸",href:"https://github.com/importantimport/urara",children:T.jsx("b",{children:"Урарой"})})]})]})});/** - * @remix-run/router v1.18.0 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function no(){return no=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u")throw new Error(t)}function ac(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function F1(){return Math.random().toString(36).substr(2,8)}function op(e,t){return{usr:e.state,key:e.key,idx:t}}function $l(e,t,n,r){return n===void 0&&(n=null),no({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?ar(t):t,{state:n,key:t&&t.key||r||F1()})}function ro(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function ar(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function Lm(e,t,n,r){r===void 0&&(r={});let{window:i=document.defaultView,v5Compat:l=!1}=r,s=i.history,u=_n.Pop,f=null,p=v();p==null&&(p=0,s.replaceState(no({},s.state,{idx:p}),""));function v(){return(s.state||{idx:null}).idx}function g(){u=_n.Pop;let j=v(),m=j==null?null:j-p;p=j,f&&f({action:u,location:P.location,delta:m})}function E(j,m){u=_n.Push;let h=$l(P.location,j,m);n&&n(h,j),p=v()+1;let _=op(h,p),C=P.createHref(h);try{s.pushState(_,"",C)}catch(I){if(I instanceof DOMException&&I.name==="DataCloneError")throw I;i.location.assign(C)}l&&f&&f({action:u,location:P.location,delta:1})}function N(j,m){u=_n.Replace;let h=$l(P.location,j,m);n&&n(h,j),p=v();let _=op(h,p),C=P.createHref(h);s.replaceState(_,"",C),l&&f&&f({action:u,location:P.location,delta:0})}function O(j){let m=i.location.origin!=="null"?i.location.origin:i.location.href,h=typeof j=="string"?j:ro(j);return h=h.replace(/ $/,"%20"),Ne(m,"No window.location.(origin|href) available to create URL for href: "+h),new URL(h,m)}let P={get action(){return u},get location(){return e(i,s)},listen(j){if(f)throw new Error("A history only accepts one active listener");return i.addEventListener(ip,g),f=j,()=>{i.removeEventListener(ip,g),f=null}},createHref(j){return t(i,j)},createURL:O,encodeLocation(j){let m=O(j);return{pathname:m.pathname,search:m.search,hash:m.hash}},push:E,replace:N,go(j){return s.go(j)}};return P}var lp;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(lp||(lp={}));function U1(e,t,n){return n===void 0&&(n="/"),B1(e,t,n,!1)}function B1(e,t,n,r){let i=typeof t=="string"?ar(t):t,l=uc(i.pathname||"/",n);if(l==null)return null;let s=jm(e);W1(s);let u=null;for(let f=0;u==null&&f{let f={relativePath:u===void 0?l.path||"":u,caseSensitive:l.caseSensitive===!0,childrenIndex:s,route:l};f.relativePath.startsWith("/")&&(Ne(f.relativePath.startsWith(r),'Absolute route path "'+f.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),f.relativePath=f.relativePath.slice(r.length));let p=Pn([r,f.relativePath]),v=n.concat(f);l.children&&l.children.length>0&&(Ne(l.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+p+'".')),jm(l.children,t,v,p)),!(l.path==null&&!l.index)&&t.push({path:p,score:G1(p,l.index),routesMeta:v})};return e.forEach((l,s)=>{var u;if(l.path===""||!((u=l.path)!=null&&u.includes("?")))i(l,s);else for(let f of Am(l.path))i(l,s,f)}),t}function Am(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,i=n.endsWith("?"),l=n.replace(/\?$/,"");if(r.length===0)return i?[l,""]:[l];let s=Am(r.join("/")),u=[];return u.push(...s.map(f=>f===""?l:[l,f].join("/"))),i&&u.push(...s),u.map(f=>e.startsWith("/")&&f===""?"/":f)}function W1(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:J1(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const V1=/^:[\w-]+$/,H1=3,Q1=2,K1=1,Y1=10,X1=-2,sp=e=>e==="*";function G1(e,t){let n=e.split("/"),r=n.length;return n.some(sp)&&(r+=X1),t&&(r+=Q1),n.filter(i=>!sp(i)).reduce((i,l)=>i+(V1.test(l)?H1:l===""?K1:Y1),r)}function J1(e,t){return e.length===t.length&&e.slice(0,-1).every((r,i)=>r===t[i])?e[e.length-1]-t[t.length-1]:0}function Z1(e,t,n){let{routesMeta:r}=e,i={},l="/",s=[];for(let u=0;u{let{paramName:E,isOptional:N}=v;if(E==="*"){let P=u[g]||"";s=l.slice(0,l.length-P.length).replace(/(.)\/+$/,"$1")}const O=u[g];return N&&!O?p[E]=void 0:p[E]=(O||"").replace(/%2F/g,"/"),p},{}),pathname:l,pathnameBase:s,pattern:e}}function q1(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),ac(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],i="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(s,u,f)=>(r.push({paramName:u,isOptional:f!=null}),f?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),i+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?i+="\\/*$":e!==""&&e!=="/"&&(i+="(?:(?=\\/|$))"),[new RegExp(i,t?void 0:"i"),r]}function e_(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return ac(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function uc(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}function t_(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:i=""}=typeof e=="string"?ar(e):e;return{pathname:n?n.startsWith("/")?n:n_(n,t):t,search:o_(r),hash:l_(i)}}function n_(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(i=>{i===".."?n.length>1&&n.pop():i!=="."&&n.push(i)}),n.length>1?n.join("/"):"/"}function ma(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function r_(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function Dm(e,t){let n=r_(e);return t?n.map((r,i)=>i===n.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function Im(e,t,n,r){r===void 0&&(r=!1);let i;typeof e=="string"?i=ar(e):(i=no({},e),Ne(!i.pathname||!i.pathname.includes("?"),ma("?","pathname","search",i)),Ne(!i.pathname||!i.pathname.includes("#"),ma("#","pathname","hash",i)),Ne(!i.search||!i.search.includes("#"),ma("#","search","hash",i)));let l=e===""||i.pathname==="",s=l?"/":i.pathname,u;if(s==null)u=n;else{let g=t.length-1;if(!r&&s.startsWith("..")){let E=s.split("/");for(;E[0]==="..";)E.shift(),g-=1;i.pathname=E.join("/")}u=g>=0?t[g]:"/"}let f=t_(i,u),p=s&&s!=="/"&&s.endsWith("/"),v=(l||s===".")&&n.endsWith("/");return!f.pathname.endsWith("/")&&(p||v)&&(f.pathname+="/"),f}const Pn=e=>e.join("/").replace(/\/\/+/g,"/"),i_=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),o_=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,l_=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function s_(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const Rm=["post","put","patch","delete"];new Set(Rm);const a_=["get",...Rm];new Set(a_);/** - * React Router v6.25.1 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function io(){return io=Object.assign?Object.assign.bind():function(e){for(var t=1;t{u.current=!0}),D.useCallback(function(p,v){if(v===void 0&&(v={}),!u.current)return;if(typeof p=="number"){r.go(p);return}let g=Im(p,JSON.parse(s),l,v.relative==="path");e==null&&t!=="/"&&(g.pathname=g.pathname==="/"?t:Pn([t,g.pathname])),(v.replace?r.replace:r.push)(g,v.state,v)},[t,r,s,l,e])}function d_(){let{matches:e}=D.useContext(In),t=e[e.length-1];return t?t.params:{}}function zm(e,t){let{relative:n}=t===void 0?{}:t,{future:r}=D.useContext(ur),{matches:i}=D.useContext(In),{pathname:l}=po(),s=JSON.stringify(Dm(i,r.v7_relativeSplatPath));return D.useMemo(()=>Im(e,JSON.parse(s),l,n==="path"),[e,s,l,n])}function p_(e,t){return h_(e,t)}function h_(e,t,n,r){fo()||Ne(!1);let{navigator:i}=D.useContext(ur),{matches:l}=D.useContext(In),s=l[l.length-1],u=s?s.params:{};s&&s.pathname;let f=s?s.pathnameBase:"/";s&&s.route;let p=po(),v;if(t){var g;let j=typeof t=="string"?ar(t):t;f==="/"||(g=j.pathname)!=null&&g.startsWith(f)||Ne(!1),v=j}else v=p;let E=v.pathname||"/",N=E;if(f!=="/"){let j=f.replace(/^\//,"").split("/");N="/"+E.replace(/^\//,"").split("/").slice(j.length).join("/")}let O=U1(e,{pathname:N}),P=__(O&&O.map(j=>Object.assign({},j,{params:Object.assign({},u,j.params),pathname:Pn([f,i.encodeLocation?i.encodeLocation(j.pathname).pathname:j.pathname]),pathnameBase:j.pathnameBase==="/"?f:Pn([f,i.encodeLocation?i.encodeLocation(j.pathnameBase).pathname:j.pathnameBase])})),l,n,r);return t&&P?D.createElement(as.Provider,{value:{location:io({pathname:"/",search:"",hash:"",state:null,key:"default"},v),navigationType:_n.Pop}},P):P}function m_(){let e=S_(),t=s_(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,i={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return D.createElement(D.Fragment,null,D.createElement("h2",null,"Unexpected Application Error!"),D.createElement("h3",{style:{fontStyle:"italic"}},t),n?D.createElement("pre",{style:i},n):null,null)}const g_=D.createElement(m_,null);class v_ extends D.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location||n.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:n.error,location:n.location,revalidation:t.revalidation||n.revalidation}}componentDidCatch(t,n){console.error("React Router caught the following error during render",t,n)}render(){return this.state.error!==void 0?D.createElement(In.Provider,{value:this.props.routeContext},D.createElement(bm.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function y_(e){let{routeContext:t,match:n,children:r}=e,i=D.useContext(cc);return i&&i.static&&i.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=n.route.id),D.createElement(In.Provider,{value:t},r)}function __(e,t,n,r){var i;if(t===void 0&&(t=[]),n===void 0&&(n=null),r===void 0&&(r=null),e==null){var l;if((l=n)!=null&&l.errors)e=n.matches;else return null}let s=e,u=(i=n)==null?void 0:i.errors;if(u!=null){let v=s.findIndex(g=>g.route.id&&(u==null?void 0:u[g.route.id])!==void 0);v>=0||Ne(!1),s=s.slice(0,Math.min(s.length,v+1))}let f=!1,p=-1;if(n&&r&&r.v7_partialHydration)for(let v=0;v=0?s=s.slice(0,p+1):s=[s[0]];break}}}return s.reduceRight((v,g,E)=>{let N,O=!1,P=null,j=null;n&&(N=u&&g.route.id?u[g.route.id]:void 0,P=g.route.errorElement||g_,f&&(p<0&&E===0?(O=!0,j=null):p===E&&(O=!0,j=g.route.hydrateFallbackElement||null)));let m=t.concat(s.slice(0,E+1)),h=()=>{let _;return N?_=P:O?_=j:g.route.Component?_=D.createElement(g.route.Component,null):g.route.element?_=g.route.element:_=v,D.createElement(y_,{match:g,routeContext:{outlet:v,matches:m,isDataRoute:n!=null},children:_})};return n&&(g.route.ErrorBoundary||g.route.errorElement||E===0)?D.createElement(v_,{location:n.location,revalidation:n.revalidation,component:P,error:N,children:h(),routeContext:{outlet:null,matches:m,isDataRoute:!0}}):h()},null)}var $m=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}($m||{}),Fl=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(Fl||{});function w_(e){let t=D.useContext(cc);return t||Ne(!1),t}function E_(e){let t=D.useContext(u_);return t||Ne(!1),t}function x_(e){let t=D.useContext(In);return t||Ne(!1),t}function Fm(e){let t=x_(),n=t.matches[t.matches.length-1];return n.route.id||Ne(!1),n.route.id}function S_(){var e;let t=D.useContext(bm),n=E_(Fl.UseRouteError),r=Fm(Fl.UseRouteError);return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}function k_(){let{router:e}=w_($m.UseNavigateStable),t=Fm(Fl.UseNavigateStable),n=D.useRef(!1);return Mm(()=>{n.current=!0}),D.useCallback(function(i,l){l===void 0&&(l={}),n.current&&(typeof i=="number"?e.navigate(i):e.navigate(i,io({fromRouteId:t},l)))},[e,t])}function Ul(e){Ne(!1)}function Um(e){let{basename:t="/",children:n=null,location:r,navigationType:i=_n.Pop,navigator:l,static:s=!1,future:u}=e;fo()&&Ne(!1);let f=t.replace(/^\/*/,"/"),p=D.useMemo(()=>({basename:f,navigator:l,static:s,future:io({v7_relativeSplatPath:!1},u)}),[f,u,l,s]);typeof r=="string"&&(r=ar(r));let{pathname:v="/",search:g="",hash:E="",state:N=null,key:O="default"}=r,P=D.useMemo(()=>{let j=uc(v,f);return j==null?null:{location:{pathname:j,search:g,hash:E,state:N,key:O},navigationType:i}},[f,v,g,E,N,O,i]);return P==null?null:D.createElement(ur.Provider,{value:p},D.createElement(as.Provider,{children:n,value:P}))}function Bm(e){let{children:t,location:n}=e;return p_(cu(t),n)}new Promise(()=>{});function cu(e,t){t===void 0&&(t=[]);let n=[];return D.Children.forEach(e,(r,i)=>{if(!D.isValidElement(r))return;let l=[...t,i];if(r.type===D.Fragment){n.push.apply(n,cu(r.props.children,l));return}r.type!==Ul&&Ne(!1),!r.props.index||!r.props.children||Ne(!1);let s={id:r.props.id||l.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,loader:r.props.loader,action:r.props.action,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(s.children=cu(r.props.children,l)),n.push(s)}),n}/** - * React Router DOM v6.25.1 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function fu(){return fu=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&(n[i]=e[i]);return n}function N_(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function T_(e,t){return e.button===0&&(!t||t==="_self")&&!N_(e)}const P_=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],O_="6";try{window.__reactRouterVersion=O_}catch{}const L_="startTransition",Bl=C0[L_];function j_(e){let{basename:t,children:n,future:r,window:i}=e,l=D.useRef();l.current==null&&(l.current=z1({window:i,v5Compat:!0}));let s=l.current,[u,f]=D.useState({action:s.action,location:s.location}),{v7_startTransition:p}=r||{},v=D.useCallback(g=>{p&&Bl?Bl(()=>f(g)):f(g)},[f,p]);return D.useLayoutEffect(()=>s.listen(v),[s,v]),D.createElement(Um,{basename:t,children:n,location:u.location,navigationType:u.action,navigator:s,future:r})}function A_(e){let{basename:t,children:n,future:r,window:i}=e,l=D.useRef();l.current==null&&(l.current=$1({window:i,v5Compat:!0}));let s=l.current,[u,f]=D.useState({action:s.action,location:s.location}),{v7_startTransition:p}=r||{},v=D.useCallback(g=>{p&&Bl?Bl(()=>f(g)):f(g)},[f,p]);return D.useLayoutEffect(()=>s.listen(v),[s,v]),D.createElement(Um,{basename:t,children:n,location:u.location,navigationType:u.action,navigator:s,future:r})}const D_=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",I_=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Si=D.forwardRef(function(t,n){let{onClick:r,relative:i,reloadDocument:l,replace:s,state:u,target:f,to:p,preventScrollReset:v,unstable_viewTransition:g}=t,E=C_(t,P_),{basename:N}=D.useContext(ur),O,P=!1;if(typeof p=="string"&&I_.test(p)&&(O=p,D_))try{let _=new URL(window.location.href),C=p.startsWith("//")?new URL(_.protocol+p):new URL(p),I=uc(C.pathname,N);C.origin===_.origin&&I!=null?p=I+C.search+C.hash:P=!0}catch{}let j=c_(p,{relative:i}),m=R_(p,{replace:s,state:u,target:f,preventScrollReset:v,relative:i,unstable_viewTransition:g});function h(_){r&&r(_),_.defaultPrevented||m(_)}return D.createElement("a",fu({},E,{href:O||j,onClick:P||l?r:h,ref:n,target:f}))});var up;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(up||(up={}));var cp;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(cp||(cp={}));function R_(e,t){let{target:n,replace:r,state:i,preventScrollReset:l,relative:s,unstable_viewTransition:u}=t===void 0?{}:t,f=fc(),p=po(),v=zm(e,{relative:s});return D.useCallback(g=>{if(T_(g,n)){g.preventDefault();let E=r!==void 0?r:ro(p)===ro(v);f(e,{replace:E,state:i,preventScrollReset:l,relative:s,unstable_viewTransition:u})}},[p,f,v,r,i,n,e,l,s,u])}const b_=()=>T.jsx("nav",{className:"navbar navbar-expand-lg",children:T.jsxs("div",{className:"container-fluid",children:[T.jsx(Si,{className:"navbar-brand",to:"/",children:T.jsx("b",{children:"./levick.sh"})}),T.jsx("button",{className:"navbar-toggler",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false",children:T.jsx("span",{className:"navbar-toggler-icon"})}),T.jsxs("div",{className:"dropdown-menu dropdown-menu-end",children:[T.jsx(Si,{className:"dropdown-item",title:"About",to:"/post/post2",children:"О"}),T.jsx(Si,{className:"dropdown-item",title:"Projects",to:"/post/post1",children:"Проекты"}),T.jsx("a",{className:"dropdown-item",title:"Booksmarks",target:"_blank",href:"https://airtable.com/appUVHB29NzA8Tysi/shrpftxf6JgRomP2X/tblEvtThXHNBMQ8lW/viw85qtohQ98gVHN8",children:"Закладки"})]}),T.jsx("div",{className:"collapse navbar-collapse",id:"navbarNav",children:T.jsxs("ul",{className:"navbar-nav ms-auto d-none d-lg-flex",children:[T.jsx("li",{className:"nav-item",children:T.jsx(Si,{className:"nav-link",title:"About",to:"/post/post2",children:"О"})}),T.jsx("li",{className:"nav-item",children:T.jsx(Si,{className:"nav-link",title:"Projects",to:"/post/post1",children:"Проекты"})}),T.jsx("li",{className:"nav-item",children:T.jsx("a",{className:"nav-link",target:"_blank",title:"Bookmarks",href:"https://airtable.com/appUVHB29NzA8Tysi/shrpftxf6JgRomP2X/tblEvtThXHNBMQ8lW/viw85qtohQ98gVHN8",children:"Закладки"})})]})})]})});var Wm={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},fp=oe.createContext&&oe.createContext(Wm),M_=["attr","size","title"];function z_(e,t){if(e==null)return{};var n=$_(e,t),r,i;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function $_(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Wl(){return Wl=Object.assign?Object.assign.bind():function(e){for(var t=1;toe.createElement(t.tag,Vl({key:n},t.attr),Vm(t.child)))}function us(e){return t=>oe.createElement(W_,Wl({attr:Vl({},e.attr)},t),Vm(e.child))}function W_(e){var t=n=>{var{attr:r,size:i,title:l}=e,s=z_(e,M_),u=i||n.size||"1em",f;return n.className&&(f=n.className),e.className&&(f=(f?f+" ":"")+e.className),oe.createElement("svg",Wl({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},n.attr,r,s,{className:f,style:Vl(Vl({color:e.color||n.color},n.style),e.style),height:u,width:u,xmlns:"http://www.w3.org/2000/svg"}),l&&oe.createElement("title",null,l),e.children)};return fp!==void 0?oe.createElement(fp.Consumer,null,n=>t(n)):t(Wm)}function V_(e){return us({tag:"svg",attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z"},child:[]}]})(e)}function H_(e){return us({tag:"svg",attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"},child:[]}]})(e)}function Q_(e){return us({tag:"svg",attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M496 256c0 137-111.2 248-248.4 248-113.8 0-209.6-76.3-239-180.4l95.2 39.3c6.4 32.1 34.9 56.4 68.9 56.4 39.2 0 71.9-32.4 70.2-73.5l84.5-60.2c52.1 1.3 95.8-40.9 95.8-93.5 0-51.6-42-93.5-93.7-93.5s-93.7 42-93.7 93.5v1.2L176.6 279c-15.5-.9-30.7 3.4-43.5 12.1L0 236.1C10.2 108.4 117.1 8 247.6 8 384.8 8 496 119 496 256zM155.7 384.3l-30.5-12.6a52.79 52.79 0 0 0 27.2 25.8c26.9 11.2 57.8-1.6 69-28.4 5.4-13 5.5-27.3.1-40.3-5.4-13-15.5-23.2-28.5-28.6-12.9-5.4-26.7-5.2-38.9-.6l31.5 13c19.8 8.2 29.2 30.9 20.9 50.7-8.3 19.9-31 29.2-50.8 21zm173.8-129.9c-34.4 0-62.4-28-62.4-62.3s28-62.3 62.4-62.3 62.4 28 62.4 62.3-27.9 62.3-62.4 62.3zm.1-15.6c25.9 0 46.9-21 46.9-46.8 0-25.9-21-46.8-46.9-46.8s-46.9 21-46.9 46.8c.1 25.8 21.1 46.8 46.9 46.8z"},child:[]}]})(e)}function K_(e){return us({tag:"svg",attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm121.8 169.9l-40.7 191.8c-3 13.6-11.1 16.9-22.4 10.5l-62-45.7-29.9 28.8c-3.3 3.3-6.1 6.1-12.5 6.1l4.4-63.1 114.9-103.8c5-4.4-1.1-6.9-7.7-2.5l-142 89.4-61.2-19.1c-13.3-4.2-13.6-13.3 2.8-19.7l239.1-92.2c11.1-4 20.8 2.7 17.2 19.5z"},child:[]}]})(e)}const Y_="/Blog/assets/boredapelevi200-jE2U4SrA.png",X_=()=>T.jsx("div",{className:"left-container",children:T.jsxs("div",{className:"profile-card card",children:[T.jsx("img",{src:Y_,className:"card-img-top profile-image",alt:"Profile"}),T.jsxs("div",{className:"card-body text-center",children:[T.jsx("h3",{className:"card-title",children:"Левик"}),T.jsx("p",{children:" "}),T.jsx("p",{className:"card-text",children:"Я продолжал мечтать о мире, который думал, что никогда не увижу. И потом, однажды..."}),T.jsxs("div",{className:"social-icons",children:[T.jsx("a",{href:"https://github.com/1Levick3",target:"_blank",className:"btn btn-outline-secondary",children:T.jsx(H_,{})}),T.jsx("a",{href:"#",className:"btn btn-outline-secondary",children:T.jsx(V_,{})}),T.jsx("a",{href:"#",className:"btn btn-outline-secondary",children:T.jsx(K_,{})}),T.jsx("a",{href:"https://steamcommunity.com/profiles/76561199443614169",target:"_blank",className:"btn btn-outline-secondary",children:T.jsx(Q_,{})})]})]})]})}),G_=[{date:"July 31, 2024",title:"About",description:"💙..About..em..what?",link:"post2",year:2024,bgImage:"src/Markdownjsx/aboutme.jpg"},{date:"February 22, 2024",title:"Docker Essentials: Navigating the Container Seas",description:"Docker and its Best Practices 🐳",link:"post3",year:2024,bgImage:"src/Markdownjsx/image-2.png"},{date:"December 31, 2023",title:"Astrophotography",description:"Various photos taken through my camera this year",link:"post4",year:2023,bgImage:"src/Markdownjsx/full-moon.jpg"},{date:"December 24, 2023",title:"Learning Vim...?",description:"Beginner guide to get started with vim",link:"post5",year:2023,bgImage:"src/Markdownjsx/vimB.png"}],J_=()=>{const e=fc();let t=null;return T.jsxs("div",{className:"mid-container",children:[T.jsx("div",{className:"year-separator",children:T.jsx("span",{className:"year-label",children:"Posts"})}),G_.map((n,r)=>{const i=t&&t!==n.year,l=n.year;return t=n.year,T.jsxs(oe.Fragment,{children:[i&&T.jsx("div",{className:"year-separator",children:T.jsx("span",{className:"year-label",children:l})}),T.jsxs("div",{className:"blog-post",onClick:()=>e(`/post/${n.link}`),style:{backgroundImage:`url(${n.bgImage})`},children:[T.jsx("div",{className:"post-date",children:n.date}),T.jsx("div",{className:"post-title",children:n.title}),T.jsx("div",{className:"post-description",children:n.description})]})]},r)})]})},Z_=()=>(D.useEffect(()=>{const e=()=>{new window.YT.Player("player",{height:"390",width:"640",playerVars:{listType:"playlist",list:"PLIkYl2ksw5irYkAUbBJp2OG28k3LPdQUB"}})};window.YT&&window.YT.Player?e():window.onYouTubeIframeAPIReady=e},[]),T.jsx("div",{id:"player"})),q_=()=>T.jsx("div",{className:"right-container",children:T.jsx("div",{className:"card right-card",children:T.jsxs("div",{className:"card-body",children:[T.jsx("h5",{className:"card-title",children:"музыка"}),T.jsx("p",{className:"card-text"}),T.jsx(Z_,{})]})})}),ew=()=>T.jsx(T.Fragment,{children:T.jsxs("div",{className:"container-fluid p-0",children:[T.jsxs("div",{className:"row m-0",children:[T.jsx("div",{className:"col-md-3 col-12 bleft p-0",children:T.jsx(X_,{})}),T.jsx("div",{className:"col-md-6 col-12 bmid p-0",children:T.jsx(J_,{})}),T.jsx("div",{className:"col-md-3 col-12 bright p-0",children:T.jsx(q_,{})})]}),T.jsx("div",{className:"row m-0"})]})}),tw="modulepreload",nw=function(e){return"/Blog/"+e},pp={},ki=function(t,n,r){let i=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const l=document.querySelector("meta[property=csp-nonce]"),s=(l==null?void 0:l.nonce)||(l==null?void 0:l.getAttribute("nonce"));i=Promise.all(n.map(u=>{if(u=nw(u),u in pp)return;pp[u]=!0;const f=u.endsWith(".css"),p=f?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${u}"]${p}`))return;const v=document.createElement("link");if(v.rel=f?"stylesheet":tw,f||(v.as="script",v.crossOrigin=""),v.href=u,s&&v.setAttribute("nonce",s),document.head.appendChild(v),f)return new Promise((g,E)=>{v.addEventListener("load",g),v.addEventListener("error",()=>E(new Error(`Unable to preload CSS for ${u}`)))})}))}return i.then(()=>t()).catch(l=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=l,window.dispatchEvent(s),!s.defaultPrevented)throw l})},rw={post1:D.lazy(()=>ki(()=>import("./Example-HVjn8GOl.js"),[])),post2:D.lazy(()=>ki(()=>import("./About-mRTFtRH1.js"),[])),post3:D.lazy(()=>ki(()=>import("./DockerT-C5B8LZJu.js"),[])),post4:D.lazy(()=>ki(()=>import("./Astrophotography-BKsRvlVM.js"),[])),post5:D.lazy(()=>ki(()=>import("./LearnVim-DgFT6k4m.js"),[]))},el=[{date:"July 31, 2024",title:"About",description:"💙..About..em..what?",link:"post2",year:2024},{date:"February 22, 2024",title:"Docker Essentials: Navigating the Container Seas",description:"Docker and its Best Practices 🐳",link:"post3",year:2024},{date:"December 31, 2023",title:"Astrophotography",description:"Various photos taken through my camera this year",link:"post4",year:2023},{date:"December 24, 2023",title:"Learning Vim...?",description:"Beginner guide to get started with vim",link:"post5",year:2023}],iw=()=>{const{id:e}=d_(),t=fc(),n=rw[e];if(!n)return T.jsx("div",{children:"Post not found"});const r=el.findIndex(s=>s.link===e),i=r>0?el[r-1]:null,l=rt(`/post/${i.link}`),children:T.jsxs("span",{children:["< ",i.title]})}),l&&T.jsx("div",{className:"next-post",onClick:()=>t(`/post/${l.link}`),children:T.jsxs("span",{children:[l.title," >"]})})]})]})})})};function du(){return du=Object.assign?Object.assign.bind():function(e){for(var t=1;t